精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于OpenHarmony的華為云IoT智慧路燈實(shí)現(xiàn)

電子發(fā)燒友論壇 ? 2022-05-24 09:25 ? 次閱讀

一、智慧路燈簡介

我們平時(shí)看到的傳統(tǒng)路燈基本是通過定時(shí)開啟、定時(shí)關(guān)閉來控制路燈亮滅,在夏天白晝時(shí)間長,路燈過早開啟,造成能源浪費(fèi);在冬天白晝時(shí)間短,往往經(jīng)常是天已經(jīng)黑了,路燈卻未開啟,給人們的出行帶來了諸多不便;也有的路燈通過專人手動(dòng)開啟關(guān)閉,這種方式雖較定時(shí)方式靈活,但也存在需要人為操作的局限性。隨著社會(huì)的發(fā)展進(jìn)步,智慧路燈應(yīng)運(yùn)而生,智慧路燈通過自身攜帶的光線傳感器,通過傳感器采集的的光線數(shù)據(jù)判斷天黑情況,可以根據(jù)預(yù)置的閾值來實(shí)現(xiàn)路燈開啟關(guān)閉;同時(shí)智慧路燈的光線數(shù)據(jù)也可以同步上傳云端,通過云端可以查詢到智慧路燈的光線數(shù)據(jù)、路燈開啟關(guān)閉狀態(tài),同時(shí)也可以設(shè)置智慧路燈開啟關(guān)閉的閾值,實(shí)現(xiàn)云管理。

前面的文章介紹了基于OpenHarmony的智慧路燈實(shí)現(xiàn),本文將在前面文章的基礎(chǔ)上,添加華為云IoT功能,實(shí)現(xiàn)基于OpenHarmony系統(tǒng)的IoT智慧路燈。小凌派RK2206開發(fā)板內(nèi)置WIFI模塊,外部接口豐富,使用小凌派RK2206開發(fā)板搭載智慧路燈模塊,能夠輕松實(shí)現(xiàn)華為云IoT智慧路燈。智慧路燈模塊本身自帶光線傳感器,通過傳感器采集的光線數(shù)據(jù)判斷天黑情況,根據(jù)預(yù)設(shè)的閾值來實(shí)現(xiàn)路燈的開關(guān),同時(shí)將光線數(shù)據(jù)上傳到華為云平臺(tái),實(shí)現(xiàn)華為云平臺(tái)管理智慧路燈。

二、硬件電路設(shè)計(jì)

智慧路燈模塊硬件電路如圖1所示,電路中包含了E53接口連接器、EEPROM存儲(chǔ)器、光線傳感器BH1750、大功率LED驅(qū)動(dòng)電路。本文主要使用光線傳感器BH1750和LED燈驅(qū)動(dòng)電路,其中光線傳感器為數(shù)字接口芯片,使用I2C總線控制;LED燈驅(qū)動(dòng)電路通過PWD_LED口控制LED燈開啟、關(guān)閉,PWD_LED輸出高電平點(diǎn)亮LED燈,PWD_LED輸出低電平熄滅LED燈。模塊硬件電路簡單,這里就不對(duì)此進(jìn)行多余的說明。

763fdf30-dada-11ec-b80f-dac502259ad0.png

圖1 智慧路燈模塊硬件電路圖

小凌派RK2206開發(fā)板與智慧路燈模塊均帶有防呆設(shè)計(jì),能夠很容易區(qū)分安裝方向,直接將模塊插入到小凌派RK2206開發(fā)板的E53母座接口上即可,安裝如圖2所示.

7670b24a-dada-11ec-b80f-dac502259ad0.png

圖2 硬件連接圖

三、軟件設(shè)計(jì)


1、主程序設(shè)計(jì)


小凌派RK2206開發(fā)板上電后,OpenHarmony系統(tǒng)開始運(yùn)行,LiteOS系統(tǒng)初始化后,通過LOS_QueueCreate函數(shù)創(chuàng)建一個(gè)消息隊(duì)列,用于線程間傳遞信息;通過LOS_TaskCreate創(chuàng)建e53_isl_thread和iot_cloud_isl_thread兩個(gè)任務(wù)。其中,e53_isl_thread任務(wù)周期獲取智慧路燈模塊采集的信息;iot_cloud_isl_thread任務(wù)處理消息隊(duì)列里的信息,將智慧路燈模塊采集的信息上報(bào)華為云。

{ unsigned int ret = LOS_OK; unsigned int thread_id1; unsigned int thread_id2; TSK_INIT_PARAM_S task1 = {0};TSK_INIT_PARAM_S task2 = {0};
/*創(chuàng)建消息隊(duì)列*/ ret = LOS_QueueCreate("queue", MSG_QUEUE_LENGTH, &m_isl_msg_queue, 0, BUFFER_LEN); if (ret != LOS_OK) { printf("Falied to create Message Queue ret:0x%x\n", ret); return; }
/*創(chuàng)建智慧路燈信息獲取任務(wù)*/ task1.pfnTaskEntry = (TSK_ENTRY_FUNC)iot_cloud_isl_thread; task1.uwStackSize = 10240; task1.pcName = "iot_cloud_isl_thread"; task1.usTaskPrio = 24; ret = LOS_TaskCreate(&thread_id1, &task1); if (ret != LOS_OK) { printf("Falied to create iot_cloud_isl_thread ret:0x%x\n", ret); return; }
/*創(chuàng)建華為云IoT任務(wù)*/ task2.pfnTaskEntry = (TSK_ENTRY_FUNC)e53_isl_tread; task2.uwStackSize = 2048; task2.pcName = "e53_isl_tread"; task2.usTaskPrio = 25; ret = LOS_TaskCreate(&thread_id2, &task2); if (ret != LOS_OK) { printf("Falied to create e53_isl_tread ret:0x%x\n", ret); return; }}

2、智慧路燈信息獲取任務(wù)程序設(shè)計(jì)

智慧路燈信息獲取任務(wù),進(jìn)入主程序先初始化智慧路燈模塊,程序進(jìn)入主循環(huán),2秒獲取一次光線傳感器BH1750的光線強(qiáng)度值,當(dāng)光線強(qiáng)度值小于20時(shí),打開LED路燈;當(dāng)光線強(qiáng)度值大于等于20時(shí),關(guān)閉LED路燈。同時(shí),將獲取到的光線強(qiáng)度值寫入消息隊(duì)列中,等待華為云IoT處理。智慧路燈信息獲取任務(wù)使用的接口在基于OpenHarmony的智慧路燈實(shí)現(xiàn)文章中已經(jīng)詳細(xì)說明,這里不再贅述。

{ float lum = 0; isl_msg_t *app_msg = NULL;
/*智慧路燈模塊初始化*/ e53_isl_init();
while (1){ /*獲取智慧路燈模塊數(shù)據(jù)*/ lum = e53_isl_read_data();
printf("luminance value is %.2f\n", lum);
/*光線強(qiáng)度值小于20,點(diǎn)亮LED燈;否則,熄滅LED燈*/ if (lum < 20) ? ? ? ?{ ? ? ? ? ? ?isl_light_set_status(ON); ? ? ? ?} ? ? ? ?else ? ? ? ?{ ? ? ? ? ? ?isl_light_set_status(OFF); ? ? ? ?}
/*光線強(qiáng)度值寫入消息隊(duì)列中*/ app_msg = malloc(sizeof(isl_msg_t)); if (app_msg != NULL) { app_msg->msg_type = en_msg_report; app_msg->report.lum = (int)lum; if (LOS_QueueWrite(m_isl_msg_queue, (void *)app_msg, sizeof(isl_msg_t), LOS_WAIT_FOREVER) != LOS_OK) { printf("%s LOS_QueueWrite fail\n", __func__); free(app_msg); } } LOS_Msleep(2000); }}

3、華為云IoT任務(wù)程序設(shè)計(jì)

華為云IoT任務(wù)主要處理消息隊(duì)列里的信息。任務(wù)啟動(dòng)后,通過SetWifiModeOn連接WIFI;WIFI連接成功后,初始化MQTT協(xié)議棧,連接到華為云IoT服務(wù)器;成功連接華為云IoT服務(wù)器后,線程開始處理消息隊(duì)列里的消息。消息隊(duì)列里只有一種消息格式,智慧路燈信息獲取任務(wù)傳輸過來的智慧路燈模塊的數(shù)據(jù),線程直接通過MQTT協(xié)議傳輸?shù)饺A為云IoT平臺(tái)上,此時(shí)平臺(tái)上可以查看到最新上報(bào)的智慧路燈模塊的亮度數(shù)據(jù)。

{ isl_msg_t *app_msg = NULL; unsigned int addr; int ret;
/*WIFI連接網(wǎng)絡(luò),通過網(wǎng)絡(luò)*/ SetWifiModeOn();
/*初始化MQTT用戶名和密匙*/ device_info_init(CLIENT_ID, USERNAME, PASSWORD); ret = oc_mqtt_init(); if (ret != LOS_OK) { printf("oc_mqtt_init fail ret:%d\n", ret); }
while (1){ /*從隊(duì)列中獲取數(shù)據(jù)*/ ret = LOS_QueueRead(m_isl_msg_queue, (void *)&addr, BUFFER_LEN, LOS_WAIT_FOREVER); if (ret == LOS_OK) { app_msg = addr; switch (app_msg->msg_type) { case en_msg_report: /*將光線強(qiáng)度值上報(bào)到華為云平臺(tái)*/ isl_deal_report_msg(&app_msg->report); break; default: break; } free(app_msg); app_msg = NULL; } else { LOS_Msleep(100); } }}isl_deal_report_msg函數(shù)將光線強(qiáng)度值按照華為云平臺(tái)的數(shù)據(jù)結(jié)構(gòu)填充,將光線強(qiáng)度值上報(bào)到華為云平臺(tái)。void isl_deal_report_msg(isl_report_t *report){ oc_mqtt_profile_service_t service; oc_mqtt_profile_kv_t Lum;
service.event_time = NULL; service.service_id = "智慧路燈"; service.service_property = &Lum; service.nxt = NULL;
Lum.key = "亮度"; Lum.value = &report->lum; Lum.type = EN_OC_MQTT_PROFILE_VALUE_INT; Lum.nxt = NULL;
oc_mqtt_profile_propertyreport(USERNAME, &service); return;}

四、編譯測(cè)試

1、登錄華為云IoT平臺(tái)


設(shè)備連接華為云前,需要做一些準(zhǔn)備工作,請(qǐng)?jiān)谌A為云平臺(tái)注冊(cè)個(gè)人用戶賬號(hào),并且需要實(shí)名認(rèn)證后才可以正常使用。如圖3所示,為華為云IotDM地址:https://www.huaweicloud.com/product/iotdm.html

76b69288-dada-11ec-b80f-dac502259ad0.png

圖3 華為云IoT網(wǎng)址


2、創(chuàng)建產(chǎn)品


點(diǎn)擊立即使用,進(jìn)入設(shè)備接入頁面,選擇側(cè)邊欄產(chǎn)品頁面,點(diǎn)擊右上角創(chuàng)建產(chǎn)品,添加智慧路燈產(chǎn)品,如圖4所示,按照要求填寫產(chǎn)品類型。

76f642d4-dada-11ec-b80f-dac502259ad0.png

圖4 創(chuàng)建產(chǎn)品


點(diǎn)擊進(jìn)入創(chuàng)建的產(chǎn)品,點(diǎn)擊添加服務(wù),服務(wù)ID填入智慧路燈,如圖5所示。

772f59b6-dada-11ec-b80f-dac502259ad0.png

圖5 添加服務(wù)


選擇智慧路燈服務(wù),點(diǎn)擊添加屬性,添加亮度屬性,如圖6所示。


7768785e-dada-11ec-b80f-dac502259ad0.png

圖6 添加屬性


3、注冊(cè)設(shè)備


創(chuàng)建產(chǎn)品成功后,側(cè)邊欄選擇設(shè)備,點(diǎn)擊右上角注冊(cè)設(shè)備,按照要求填寫設(shè)備信息,保存密匙信息,如圖7所示。

77b76c34-dada-11ec-b80f-dac502259ad0.png

圖7 注冊(cè)設(shè)備


設(shè)備創(chuàng)建成功后,點(diǎn)擊進(jìn)入設(shè)備詳情頁面,可以查看設(shè)備詳細(xì)詳細(xì),保存設(shè)備ID信息,如圖8所示。

780cc030-dada-11ec-b80f-dac502259ad0.png

圖8 設(shè)備詳情

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • OpenHarmony
    +關(guān)注

    關(guān)注

    25

    文章

    3660

    瀏覽量

    16156
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    智慧路燈——智慧城市新入口

    智慧路燈——智慧城市新入口
    的頭像 發(fā)表于 11-06 16:30 ?240次閱讀
    <b class='flag-5'>智慧</b><b class='flag-5'>路燈</b>——<b class='flag-5'>智慧</b>城市新入口

    智慧路燈改造 點(diǎn)亮城市智慧之光智能路燈解決方案

    智慧路燈改造 點(diǎn)亮城市智慧之光智能路燈解決方案
    的頭像 發(fā)表于 10-31 09:02 ?160次閱讀
    <b class='flag-5'>智慧</b><b class='flag-5'>路燈</b>改造 點(diǎn)亮城市<b class='flag-5'>智慧</b>之光智能<b class='flag-5'>路燈</b>解決方案

    智慧路燈照明管理系統(tǒng)功能與應(yīng)用

    智慧城市的建設(shè)浪潮中,智慧路燈照明管理系統(tǒng)作為城市基礎(chǔ)設(shè)施智能化升級(jí)的重要組成部分,已經(jīng)從概念走向應(yīng)用,正在改變著城市夜景的呈現(xiàn)方式與管理效率,優(yōu)化照明策略,實(shí)現(xiàn)更加精準(zhǔn)的照明控制。
    的頭像 發(fā)表于 10-18 17:28 ?249次閱讀

    “小路燈”蘊(yùn)含“大民生”為路燈裝上“智慧大腦”智慧路燈解決方案

    “小路燈”蘊(yùn)含“大民生”為路燈裝上“智慧大腦”智慧路燈解決方案
    的頭像 發(fā)表于 10-12 10:14 ?211次閱讀
    “小<b class='flag-5'>路燈</b>”蘊(yùn)含“大民生”為<b class='flag-5'>路燈</b>裝上“<b class='flag-5'>智慧</b>大腦”<b class='flag-5'>智慧</b><b class='flag-5'>路燈</b>解決方案

    智慧路燈桿總體解決方案 智能智慧路燈屏燈桿屏解決方案

    智慧路燈桿總體解決方案 智能智慧路燈屏燈桿屏解決方案
    的頭像 發(fā)表于 10-11 09:30 ?311次閱讀
    <b class='flag-5'>智慧</b><b class='flag-5'>路燈</b>桿總體解決方案 智能<b class='flag-5'>智慧</b><b class='flag-5'>路燈</b>屏燈桿屏解決方案

    智慧充電樁集成路燈 智能燈桿屏智慧路燈系統(tǒng)平臺(tái)解決方案

    智慧充電樁集成路燈 智能燈桿屏智慧路燈系統(tǒng)平臺(tái)解決方案
    的頭像 發(fā)表于 10-11 08:49 ?316次閱讀
    <b class='flag-5'>智慧</b>充電樁集成<b class='flag-5'>路燈</b> 智能燈桿屏<b class='flag-5'>智慧</b><b class='flag-5'>路燈</b>系統(tǒng)平臺(tái)解決方案

    什么是智慧路燈解決方案?智慧路燈功能和應(yīng)用

    智慧路燈作為智慧城市建設(shè)的重要組成部分,不僅能夠提供基本的照明功能,還能通過智能化技術(shù)實(shí)現(xiàn)能源節(jié)約、環(huán)境
    的頭像 發(fā)表于 10-10 11:15 ?295次閱讀
    什么是<b class='flag-5'>智慧</b><b class='flag-5'>路燈</b>解決方案?<b class='flag-5'>智慧</b><b class='flag-5'>路燈</b>功能和應(yīng)用

    智慧路燈解決方案 “聰明”路燈用“黑科技”點(diǎn)亮智慧城市!

    智慧路燈解決方案|“聰明”路燈用“黑科技”點(diǎn)亮智慧城市!
    的頭像 發(fā)表于 10-10 09:47 ?203次閱讀
    <b class='flag-5'>智慧</b><b class='flag-5'>路燈</b>解決方案 “聰明”<b class='flag-5'>路燈</b>用“黑科技”點(diǎn)亮<b class='flag-5'>智慧</b>城市!

    智慧路燈燈桿整體解決方案 智慧路燈燈桿源頭工廠

    智慧路燈燈桿整體解決方案 智慧路燈燈桿源頭工廠
    的頭像 發(fā)表于 10-10 09:13 ?247次閱讀
    <b class='flag-5'>智慧</b><b class='flag-5'>路燈</b>燈桿整體解決方案 <b class='flag-5'>智慧</b><b class='flag-5'>路燈</b>燈桿源頭工廠

    路燈升級(jí)“智慧大腦” 點(diǎn)亮獨(dú)山子的夜空智慧路燈路燈智能路燈

    路燈升級(jí)“智慧大腦” 點(diǎn)亮獨(dú)山子的夜空智慧路燈路燈智能路燈
    的頭像 發(fā)表于 10-09 13:36 ?204次閱讀
    <b class='flag-5'>路燈</b>升級(jí)“<b class='flag-5'>智慧</b>大腦” 點(diǎn)亮獨(dú)山子的夜空<b class='flag-5'>智慧</b><b class='flag-5'>路燈</b><b class='flag-5'>路燈</b>智能<b class='flag-5'>路燈</b>

    江蘇智慧路燈“照亮”埃塞俄比亞首都夜空智慧路燈系統(tǒng) 路燈平臺(tái)

    江蘇智慧路燈“照亮”埃塞俄比亞首都夜空智慧路燈系統(tǒng) 路燈平臺(tái)
    的頭像 發(fā)表于 10-09 13:27 ?122次閱讀
    江蘇<b class='flag-5'>智慧</b><b class='flag-5'>路燈</b>“照亮”埃塞俄比亞首都夜空<b class='flag-5'>智慧</b><b class='flag-5'>路燈</b>系統(tǒng) <b class='flag-5'>路燈</b>平臺(tái)

    智慧農(nóng)業(yè)IOT平臺(tái)有什么功能

    隨著科技的飛速發(fā)展,智慧農(nóng)業(yè)已成為現(xiàn)代農(nóng)業(yè)的重要發(fā)展方向。智慧農(nóng)業(yè)IOT平臺(tái),作為集數(shù)據(jù)采集、分析、處理、存儲(chǔ)、展示于一體的云端服務(wù)平臺(tái),正逐步改變著傳統(tǒng)農(nóng)業(yè)的生產(chǎn)和管理方式。本文將
    的頭像 發(fā)表于 09-20 14:44 ?273次閱讀

    請(qǐng)問ESP是否支持LiteOS+華為IOT+AT的方式?

    我們想使用ESP32 AT模式連接華為IOT平臺(tái),并且ESP32要運(yùn)行LiteOS,請(qǐng)問現(xiàn)在ESP32支持這個(gè)功能嗎
    發(fā)表于 07-19 07:32

    智慧路燈點(diǎn)亮智慧城市建設(shè)之路

    智慧路燈點(diǎn)亮智慧城市建設(shè)之路,熙枚集團(tuán)智慧城市道路照明解決方案讓智慧路燈集聚多種擴(kuò)展功能。
    的頭像 發(fā)表于 03-27 13:57 ?372次閱讀
    <b class='flag-5'>智慧</b><b class='flag-5'>路燈</b>點(diǎn)亮<b class='flag-5'>智慧</b>城市建設(shè)之路

    智慧路燈廠家排名

    智慧路燈廠家排名智慧路燈廠家排名智慧路燈廠家排名智慧
    發(fā)表于 12-11 17:35 ?1次下載