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

2020征文-開(kāi)發(fā)板 鴻蒙開(kāi)發(fā)板智能家居項(xiàng)目

開(kāi)發(fā)
文章由鴻蒙社區(qū)產(chǎn)出,想要了解更多內(nèi)容請(qǐng)前往:51CTO和華為官方戰(zhàn)略合作共建的鴻蒙技術(shù)社區(qū)https://harmonyos.51cto.com/#zz

[[360489]]

想了解更多內(nèi)容,請(qǐng)?jiān)L問(wèn):

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

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

鴻蒙智能家居項(xiàng)目

一、系統(tǒng)介紹

本系統(tǒng)硬件采用Hispark WiFi開(kāi)發(fā)板,主控芯片為Hi3861,操作系統(tǒng)為Harmony OS,軟件上支持MQTT、OneNET接入?yún)f(xié)議,驅(qū)動(dòng)開(kāi)發(fā)包括按鍵驅(qū)動(dòng)、OLED驅(qū)動(dòng)、PWD驅(qū)動(dòng)開(kāi)發(fā),其它功能模塊有NV數(shù)據(jù)存儲(chǔ)、WiFi配網(wǎng)功能。

整個(gè)系統(tǒng)框架如下:


整個(gè)系統(tǒng)主要分為3大部分:

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

(2)Harmony OS軟件開(kāi)發(fā):在開(kāi)發(fā)板上實(shí)現(xiàn)相關(guān)功能。

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

整個(gè)鴻蒙開(kāi)發(fā)板的軟件分為4層:

(1)應(yīng)用:實(shí)現(xiàn)智能家居的應(yīng)用邏輯處理部分。

(2)功能組件:包括MQTT、JSON、數(shù)據(jù)存儲(chǔ)、WiFi配網(wǎng)功能等,為智能家居應(yīng)用提供關(guān)鍵能力。

(3)內(nèi)核:Harmony OS內(nèi)核提供關(guān)鍵能力。

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

二、功能描述

(1)家電控制功能

用戶(hù)可以通過(guò)手機(jī)APP或者網(wǎng)頁(yè)控制開(kāi)發(fā)板的LED亮滅、同時(shí)可以控制LED燈的亮度。

網(wǎng)頁(yè)界面如下:


同時(shí)還能監(jiān)控家里的溫度情況。

(2)配網(wǎng)功能

鴻蒙開(kāi)發(fā)板支持一鍵配網(wǎng)功能,用戶(hù)只需要按下user按鍵,即可進(jìn)入配網(wǎng)模式。

(3)數(shù)據(jù)存儲(chǔ)功能

支持?jǐn)?shù)據(jù)存儲(chǔ)功能,可以存儲(chǔ)配網(wǎng)設(shè)置的賬戶(hù)密碼等關(guān)鍵數(shù)據(jù)。

(4)MQTT、OneNET接入?yún)f(xié)議支持

支持MQTT協(xié)議、OneNET接入?yún)f(xié)議,可實(shí)現(xiàn)遠(yuǎn)程控制、遠(yuǎn)程監(jiān)測(cè)數(shù)據(jù)。

(5)驅(qū)動(dòng)能力

支持PWM驅(qū)動(dòng)、I2C驅(qū)動(dòng)等,可實(shí)現(xiàn)外圍硬件的驅(qū)動(dòng)能力。

三、代碼描述

(1)代碼流程

整個(gè)代碼文件目錄如下:


代碼流程圖如下:


(2)家電控制部分

對(duì)接收到得網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行解析,這里我用得json數(shù)據(jù)格式。數(shù)據(jù)解析處理函數(shù)如下:

  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. //進(jìn)行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亮度控制

這里L(fēng)ED的亮度我采用PWM控制的方式,PWM初始化代碼如下:


控制亮度的代碼部分:

 

(5)數(shù)據(jù)存儲(chǔ)

這里我使用NV來(lái)存儲(chǔ)配網(wǎng)時(shí)的賬戶(hù)和密碼,代碼如下:


(6)按鍵處理

這里我使用的是中斷觸發(fā)方式來(lái)相應(yīng)按鍵。

中斷注冊(cè):


當(dāng)用戶(hù)按下按鍵時(shí),立即啟動(dòng)配網(wǎng)功能,中斷響應(yīng)函數(shù):


©著作權(quán)歸作者和HarmonyOS技術(shù)社區(qū)共同所有,如需轉(zhuǎn)載,請(qǐng)注明出處,否則將追究法律責(zé)任

想了解更多內(nèi)容,請(qǐng)?jiān)L問(wèn):

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

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

 

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

2020-12-16 10:05:48

鴻蒙開(kāi)發(fā)板Onenet平臺(tái)

2020-12-30 11:02:34

鴻蒙HarmonyOS智能家居

2020-12-21 09:57:52

OLED溫濕度計(jì)hi3861

2020-12-15 11:57:49

Hi3861 HarmonyOS開(kāi)發(fā)板

2020-10-21 10:01:47

HiSpark Wi-智能家居套件

2020-12-07 12:34:33

開(kāi)發(fā)板鴻蒙hello world

2022-04-01 15:54:01

DHCP網(wǎng)絡(luò)協(xié)議開(kāi)發(fā)板

2020-11-17 12:15:36

MQTT開(kāi)發(fā)

2020-10-20 09:32:43

HiSparkWi-FiIoT

2020-10-26 10:21:39

Wi-Fi IoT智能家居套件

2020-12-15 09:33:40

鴻蒙Hi3861開(kāi)發(fā)板

2022-10-14 15:55:24

環(huán)境搭建鴻蒙

2021-12-30 16:12:07

鴻蒙HarmonyOS應(yīng)用

2022-06-28 14:30:29

camera組件照片回傳

2014-07-16 11:12:09

Project Ara

2020-12-11 12:45:04

鴻蒙Hi3861游戲

2021-05-25 14:47:43

鴻蒙HarmonyOS應(yīng)用

2022-01-07 21:11:27

鴻蒙HarmonyOS應(yīng)用

2020-11-04 13:20:14

HiSpark
點(diǎn)贊
收藏

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