自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

在鴻蒙開發(fā)板上使用MQTT協(xié)議、OneNET實現(xiàn)第一個物聯(lián)網(wǎng)項目

系統(tǒng)
通常來說,一個物聯(lián)網(wǎng)產(chǎn)品應(yīng)當包括設(shè)備、云平臺、手機APP。我將在鴻蒙系統(tǒng)上移植MQTT協(xié)議、OneNET接入?yún)f(xié)議,實現(xiàn)手機APP、網(wǎng)頁兩者都可以遠程(跨網(wǎng)絡(luò),不是局域網(wǎng)的)訪問開發(fā)板數(shù)據(jù),并控制開發(fā)板的功能。

[[352893]]

想了解更多內(nèi)容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)

https://harmonyos.51cto.com/#zz

通常來說,一個物聯(lián)網(wǎng)產(chǎn)品應(yīng)當包括設(shè)備、云平臺、手機APP。我將在鴻蒙系統(tǒng)上移植MQTT協(xié)議、OneNET接入?yún)f(xié)議,實現(xiàn)手機APP、網(wǎng)頁兩者都可以遠程(跨網(wǎng)絡(luò),不是局域網(wǎng)的)訪問開發(fā)板數(shù)據(jù),并控制開發(fā)板的功能。

理論上來說,任何以MQTT協(xié)議為基礎(chǔ)的物聯(lián)網(wǎng)云平臺都可以支持接入。

關(guān)于phomqtt 和onenet軟件包,已提供下載,聲明:所有源碼均遵守開源協(xié)議。

支持鴻蒙系統(tǒng)的 harmony_mqtt 代碼倉庫:

https://gitee.com/qidiyun/harmony_mqtt

支持鴻蒙系統(tǒng)的 onenet接入軟件包倉庫:

https://gitee.com/qidiyun/harmony_onenet

3.11.1 效果

先看下效果,我這邊使用的是OneNET物聯(lián)云平臺,進入應(yīng)用,可以看到如下網(wǎng)頁界面。該網(wǎng)頁的溫度、濕度數(shù)據(jù)由 鴻蒙開發(fā)板(Hi3861)上傳,同時有一個開關(guān)按鈕,可以控制開發(fā)板的LED燈。

 

另外,也提供一個手機APP,


以上界面比較簡陋,但不妨礙我們使用,另外選擇OneNET云平臺的主要是原因是接入方式比較簡單方便,易于學(xué)習(xí),另外一個是OneNET提供了物聯(lián)網(wǎng)云平臺、手機APP,不需要大家自己再去實現(xiàn),可以更多地將注意力放在鴻蒙系統(tǒng)開發(fā)上。

當我們按下開關(guān)按鈕時,可以看到開發(fā)板打印信息如下:

 云平臺發(fā)送過來的時一串json字符串,key為“ledSwitch”,值為1時,可以看到開發(fā)板的LED燈亮,值為0時,開發(fā)板LED燈滅。

3.11.2 軟件包

我這邊已經(jīng)將mqtt 和 onenet 以軟件包的形式發(fā)布,兩個軟件包分別是:

(1)onenet——實現(xiàn)onenet 接入能力

(2)pahomqtt——實現(xiàn)MQTT協(xié)議功能

 只需要將這兩個軟件包放到 third_party 文件夾下即可。然后修改code-1.0\vendor\hisi\hi3861\hi3861\BUILD.gn 文件,將pahomqtt和onenet加入到編譯中。

 我們來看下onenet 文件夾: 

 其中 onenet.h 是頭文件

onenet_mqtt.c 是全部源碼,它基于paho mqtt的MQTTClient編程模型。

另外 samples文件夾下是一個示例代碼,代碼內(nèi)容如下:

  1. #include <stdio.h> 
  2. #include <unistd.h> 
  3. #include "MQTTClient.h" 
  4. #include "onenet.h" 
  5.  
  6. #define ONENET_INFO_DEVID "597952816" 
  7. #define ONENET_INFO_AUTH "202005160951" 
  8. #define ONENET_INFO_APIKEY "zgQdlB5y3Bi9pNd2bUYmS8TJHIY=" 
  9. #define ONENET_INFO_PROID "345377" 
  10. #define ONENET_MASTER_APIKEY "gwaK2wJT5wgnSbJYz67CVRGvwkI=" 
  11.  
  12. extern int rand(void); 
  13.  
  14.  
  15. void onenet_cmd_rsp_cb(uint8_t *recv_data, size_t recv_size, uint8_t **resp_data, size_t *resp_size) 
  16.     printf("recv data is %.*s\n", recv_size, recv_data); 
  17.  
  18.     *resp_data = NULL
  19.     *resp_size = 0; 
  20.  
  21. int mqtt_test(void) 
  22.      
  23.     device_info_init(ONENET_INFO_DEVID, ONENET_INFO_PROID, ONENET_INFO_AUTH, ONENET_INFO_APIKEY, ONENET_MASTER_APIKEY); 
  24.     onenet_mqtt_init(); 
  25.  
  26.     onenet_set_cmd_rsp_cb(onenet_cmd_rsp_cb); 
  27.  
  28.     while (1) 
  29.     { 
  30.         int value = 0; 
  31.          
  32.         value = rand() % 100; 
  33.  
  34.         if (onenet_mqtt_upload_digit("temperature", value) < 0) 
  35.         { 
  36.             printf("upload has an error, stop uploading"); 
  37.             //break; 
  38.         } 
  39.         else 
  40.         { 
  41.             printf("buffer : {\"temperature\":%d} \r\n", value); 
  42.         } 
  43.         sleep(1); 
  44.     } 
  45.     return 0; 

手機APP下載:https://open.iot.10086.cn/doc/art656.html#118

由于本節(jié)內(nèi)容較多,將分成多個文章,陸續(xù)放出,目前規(guī)劃如下:

(1)paho mqtt client移植。其實我之前已經(jīng)有一篇文章講了paho mqtt的移植,但是那篇文章只是簡單的移植,并不支持多任務(wù),這一次mqtt移植將支持多任務(wù)。

(2)onenet協(xié)議的移植與實現(xiàn)。主要講如何在mqtt的基礎(chǔ)上實現(xiàn)onenet接入。

(3)如何使用onenet云平臺

(4)設(shè)備(鴻蒙開發(fā)板)如何接入到onenet,實現(xiàn)數(shù)據(jù)互傳。

想了解更多內(nèi)容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)

https://harmonyos.51cto.com/#zz

 

 

責(zé)任編輯:jianghua 來源: 鴻蒙社區(qū)
相關(guān)推薦

2020-10-27 10:00:26

鴻蒙開發(fā)板物聯(lián)網(wǎng)

2020-12-16 10:05:48

鴻蒙開發(fā)板Onenet平臺

2020-10-30 17:12:05

Hi3861

2020-10-30 09:48:03

Hi3861開發(fā)板get請求

2020-12-10 12:12:32

鴻蒙開發(fā)板init_lite

2020-11-17 12:15:36

MQTT開發(fā)

2022-01-07 21:11:27

鴻蒙HarmonyOS應(yīng)用

2020-11-24 11:41:30

websocket

2009-06-26 16:07:43

MyEclipse開發(fā)Hibernate程序

2020-11-26 12:02:07

OneNet平臺

2019-01-04 08:16:55

物聯(lián)網(wǎng)產(chǎn)品物聯(lián)網(wǎng)IOT

2020-12-29 09:59:01

鴻蒙HarmonyOS智能家居

2017-11-06 07:06:35

物聯(lián)網(wǎng)物聯(lián)網(wǎng)項目

2024-06-27 10:12:18

2023-03-20 16:16:40

MQTT傳輸協(xié)議

2024-03-26 11:52:13

2022-06-27 10:41:45

MQTT物聯(lián)網(wǎng)協(xié)議

2023-09-21 22:43:17

Django框架

2012-01-04 09:38:41

互聯(lián)網(wǎng)平臺

2011-07-06 18:10:20

Xcode 4 iPhone
點贊
收藏

51CTO技術(shù)棧公眾號