溫度上報到騰訊云物聯網通信
- 前言
- 一、使用MQTT.fx進行測驗
- 二、編程中遇到的問題
- 1.ini.檔案
- 2.mosquitto_loop_forever and mosquitto_loop_start
前言
之前我們動手編程實作了溫度上報到阿里云物聯網平臺,現在我們上報報道騰訊云,二者原理與流程大致相同,我就只簡單的說一下不同點和我遇到的問題,原始碼:https://gitee.com/lastbreath/apue/tree/master/tencent_mqtt
一、使用MQTT.fx進行測驗
1.注冊登錄騰訊云,

2.創建產品


認證方式 在我們測驗程序中用哪個都沒問題,不過我們編程用的是第二種,因為我們阿里云用的就是密鑰認證,證書認證如何編程實作可自行百度,
然后就是資料型別,第二種自定義我沒試過,第一種和阿里云一樣是json,不過在測驗中發現不必你自己生成json格式,騰訊云會自動轉換,我們在接下來的測驗中可以看到,
由于我們編程是使用的密鑰認證,接下來測驗密鑰認證,所以請讀者自行測驗證書認證,一定要看官方檔案,

確定后

點擊產品,



為了省事兒選第一個自動生成,最終結果沒有區別,

我沒有發現這個設備密鑰有什么用,所以直接管理設備,

很熟悉吧,打開MQTT.fx 填入組態檔,

其中 brokeraddress

建議自己翻官方檔案,

連接成功,

騰訊云我感覺是要比阿里云簡單一些的,我們就不需要配置物模型,
直接訂閱或發布后進行除錯,





不需要我們自己動手實作json格式,

到這里就測驗完了,建議根據官方檔案把不會的點弄懂,
二、編程中遇到的問題
原始碼已給出,下面僅僅說一下我遇到的問題,
1.ini.檔案

建議在ini檔案中字串用雙引號括起來,否則使用iniparser_getstring()遇到分號(;)會停止,導致用戶名和密碼讀取不完整,原因我也不知道,可以自行嘗試一下,
2.mosquitto_loop_forever and mosquitto_loop_start

在主函式的這個回圈里,我用不阻塞的mosquitto_loop_start代替了mosquitto_loop_forever,另外,將資料處理打包成一個函式,同時棄用connect的回呼函式,
至于原因,讀者可以先使用之前阿里云的模式再改用這種模式,就可以發現其中的差別,以及mosquitto_loop_forever and mosquitto_loop_start的區別,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/339261.html
標籤:其他
