成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

2020征文-開發板 鴻蒙開發板智能家居項目

開發
文章由鴻蒙社區產出,想要了解更多內容請前往:51CTO和華為官方戰略合作共建的鴻蒙技術社區https://harmonyos.51cto.com/#zz

[[360489]]

想了解更多內容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術社區

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

鴻蒙智能家居項目

一、系統介紹

本系統硬件采用Hispark WiFi開發板,主控芯片為Hi3861,操作系統為Harmony OS,軟件上支持MQTT、OneNET接入協議,驅動開發包括按鍵驅動、OLED驅動、PWD驅動開發,其它功能模塊有NV數據存儲、WiFi配網功能。

整個系統框架如下:


整個系統主要分為3大部分:

(1)云平臺:這里我使用的是OneNET云平臺

(2)Harmony OS軟件開發:在開發板上實現相關功能。

(3)硬件:使用到的硬件有:LED燈、OLED屏幕、按鍵。

整個鴻蒙開發板的軟件分為4層:

(1)應用:實現智能家居的應用邏輯處理部分。

(2)功能組件:包括MQTT、JSON、數據存儲、WiFi配網功能等,為智能家居應用提供關鍵能力。

(3)內核:Harmony OS內核提供關鍵能力。

(4)驅動:包括PWM驅動、OLED驅動、WiFi驅動、按鍵驅動等,為硬件控制提供了能力。

二、功能描述

(1)家電控制功能

用戶可以通過手機APP或者網頁控制開發板的LED亮滅、同時可以控制LED燈的亮度。

網頁界面如下:


同時還能監控家里的溫度情況。

(2)配網功能

鴻蒙開發板支持一鍵配網功能,用戶只需要按下user按鍵,即可進入配網模式。

(3)數據存儲功能

支持數據存儲功能,可以存儲配網設置的賬戶密碼等關鍵數據。

(4)MQTT、OneNET接入協議支持

支持MQTT協議、OneNET接入協議,可實現遠程控制、遠程監測數據。

(5)驅動能力

支持PWM驅動、I2C驅動等,可實現外圍硬件的驅動能力。

三、代碼描述

(1)代碼流程

整個代碼文件目錄如下:


代碼流程圖如下:


(2)家電控制部分

對接收到得網絡數據進行解析,這里我用得json數據格式。數據解析處理函數如下:

  1. void onenet_cmd_rsp_cb(uint8_t *recv_data, size_t recv_size, uint8_t **resp_data, size_t *resp_size) 
  2.  
  3.  
  4. cJSON *recvjson;  
  5. printf("recv data is %.*s\n", recv_size, recv_data);  
  6. //進行json解析  
  7. recvjson = cJSON_Parse((const char *)recv_data); 
  8.  
  9. if(recvjson != NULL 
  10.  
  11. if(cJSON_GetObjectItem(recvjson, "ledSwitch") != NULL
  12.  
  13.  
  14. if(cJSON_GetObjectItem(recvjson, "ledSwitch")->valueint == 1 )  
  15.  
  16. //GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_9, 0);  
  17. PwmStart(WIFI_IOT_PWM_PORT_PWM0, led_pwm, 65530);  
  18. led_status = 1; 
  19.  
  20. }else if(cJSON_GetObjectItem(recvjson, "ledSwitch")->valueint == 0 ) 
  21.  
  22.  
  23. //GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_9, 1);  
  24. PwmStart(WIFI_IOT_PWM_PORT_PWM0, 65520, 65530);  
  25. led_status = 0; 
  26.  
  27.  
  28.  
  29. if(cJSON_GetObjectItem(recvjson, "ledLD") != NULL
  30.  
  31.  
  32. //獲取亮度 
  33.  
  34. led_ld = cJSON_GetObjectItem(recvjson, "ledLD")->valueint;  
  35. led_pwm = 65530 - ((led_ld * 65520) / 100);  
  36. if(led_status == 1) 
  37.  
  38.  
  39. PwmStart(WIFI_IOT_PWM_PORT_PWM0, led_pwm, 65530); 
  40.  
  41.  
  42. // 
  43.  
  44. printf("led_ld is %d, led_pwm is %d \r\n", led_ld, led_pwm); 
  45.  
  46.  
  47. cJSON_Delete(recvjson); 
  48.  
  49.  
  50. *resp_data = NULL
  51.  
  52. *resp_size = 0; 
  53.  

 (3)OneNET初始化部分

 

(4)LED亮度控制

這里LED的亮度我采用PWM控制的方式,PWM初始化代碼如下:


控制亮度的代碼部分:

 

(5)數據存儲

這里我使用NV來存儲配網時的賬戶和密碼,代碼如下:


(6)按鍵處理

這里我使用的是中斷觸發方式來相應按鍵。

中斷注冊:


當用戶按下按鍵時,立即啟動配網功能,中斷響應函數:


©著作權歸作者和HarmonyOS技術社區共同所有,如需轉載,請注明出處,否則將追究法律責任

想了解更多內容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術社區

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

 

責任編輯:jianghua 來源: 鴻蒙社區
相關推薦

2020-12-16 10:05:48

鴻蒙開發板Onenet平臺

2020-12-30 11:02:34

鴻蒙HarmonyOS智能家居

2020-12-21 09:57:52

OLED溫濕度計hi3861

2020-12-15 11:57:49

Hi3861 HarmonyOS開發板

2020-10-21 10:01:47

HiSpark Wi-智能家居套件

2020-12-07 12:34:33

開發板鴻蒙hello world

2020-11-17 12:15:36

MQTT開發

2020-10-20 09:32:43

HiSparkWi-FiIoT

2022-04-01 15:54:01

DHCP網絡協議開發板

2020-10-26 10:21:39

Wi-Fi IoT智能家居套件

2020-12-15 09:33:40

鴻蒙Hi3861開發板

2021-12-30 16:12:07

鴻蒙HarmonyOS應用

2022-10-14 15:55:24

環境搭建鴻蒙

2014-07-16 11:12:09

Project Ara

2020-12-11 12:45:04

鴻蒙Hi3861游戲

2021-01-07 11:24:51

鴻蒙HarmonyOS音樂

2020-11-04 13:20:14

HiSpark

2021-12-29 16:13:03

鴻蒙HarmonyOS應用

2022-06-28 14:30:29

camera組件照片回傳
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品视频在线观看 | 国产美女自拍视频 | 久久精品1 | 中文字幕国产日韩 | 亚州精品天堂中文字幕 | 亚洲精品视频久久 | www成年人视频 | 在线观看特色大片免费网站 | 成人在线免费电影 | 国产第一区二区 | 男女深夜网站 | jav成人av免费播放 | 日本免费一区二区三区四区 | 欧美精品在线一区二区三区 | 国产一级成人 | 91色综合 | 久久aⅴ乱码一区二区三区 亚洲欧美综合精品另类天天更新 | 亚洲午夜精品视频 | 天天操夜夜操免费视频 | 国产免费拔擦拔擦8x高清 | 一区中文字幕 | 亚洲精品日韩欧美 | 一级特黄a大片 | 久草影视在线 | 日韩电影a | 日韩精品二区 | 国产高清视频一区二区 | 国产精品成人一区二区三区 | 久久成人精品视频 | 国产成人高清 | 久久www免费人成看片高清 | 亚洲91精品 | 亚洲一区二区视频 | 欧美激情视频一区二区三区在线播放 | 日韩电影免费观看中文字幕 | 成人免费一区二区三区视频网站 | 国产精品一区二区不卡 | 成人高清在线视频 | 中日av| 少妇一区在线观看 | 91在线最新|