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

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于OpenHarmony的華為云IoT智慧路燈實現

福州市凌睿智捷電子有限公司 ? 2022-06-14 11:04 ? 次閱讀

一、智慧路燈簡介

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

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

二、硬件電路設計

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

51a22a02-e737-11ec-a2f4-dac502259ad0.png

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

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

5221d8ba-e737-11ec-a2f4-dac502259ad0.png

圖2 硬件連接圖


一、軟件設計

1、主程序設計

小凌派RK2206開發板上電后,OpenHarmony系統開始運行,LiteOS系統初始化后,通過LOS_QueueCreate函數創建一個消息隊列,用于線程間傳遞信息;通過LOS_TaskCreate創建e53_isl_thread和iot_cloud_isl_thread兩個任務。其中,e53_isl_thread任務周期獲取智慧路燈模塊采集的信息;iot_cloud_isl_thread任務處理消息隊列里的信息,將智慧路燈模塊采集的信息上報華為云。

{ 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};
/*創建消息隊列*/ 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; }
/*創建智慧路燈信息獲取任務*/ 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; }
/*創建華為云IoT任務*/ 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、智慧路燈信息獲取任務程序設計

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

{ float lum = 0; isl_msg_t *app_msg = NULL;
/*智慧路燈模塊初始化*/ e53_isl_init();
while (1){ /*獲取智慧路燈模塊數據*/ lum = e53_isl_read_data();
printf("luminance value is %.2f\n", lum);
/*光線強度值小于20,點亮LED燈;否則,熄滅LED燈*/ if (lum < 20) { isl_light_set_status(ON); } else { isl_light_set_status(OFF); }
/*光線強度值寫入消息隊列中*/ 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任務程序設計

華為云IoT任務主要處理消息隊列里的信息。任務啟動后,通過SetWifiModeOn連接WIFI;WIFI連接成功后,初始化MQTT協議棧,連接到華為云IoT服務器;成功連接華為云IoT服務器后,線程開始處理消息隊列里的消息。消息隊列里只有一種消息格式,智慧路燈信息獲取任務傳輸過來的智慧路燈模塊的數據,線程直接通過MQTT協議傳輸到華為云IoT平臺上,此時平臺上可以查看到最新上報的智慧路燈模塊的亮度數據。

{ isl_msg_t *app_msg = NULL; unsigned int addr; int ret;
/*WIFI連接網絡,通過網絡*/ 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){ /*從隊列中獲取數據*/ 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: /*將光線強度值上報到華為云平臺*/ isl_deal_report_msg(&app_msg->report); break; default: break; } free(app_msg); app_msg = NULL; } else { LOS_Msleep(100); } }}isl_deal_report_msg函數將光線強度值按照華為云平臺的數據結構填充,將光線強度值上報到華為云平臺。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;}

一、編譯測試

1、登錄華為云IoT平臺

設備連接華為云前,需要做一些準備工作,請在華為云平臺注冊個人用戶賬號,并且需要實名認證后才可以正常使用。如圖3所示,為華為云IotDM地址:https://www.huaweicloud.com/product/iotdm.html。

5275f328-e737-11ec-a2f4-dac502259ad0.png

圖3 華為云IoT網址

2、創建產品

點擊立即使用,進入設備接入頁面,選擇側邊欄產品頁面,點擊右上角創建產品,添加智慧路燈產品,如圖4所示,按照要求填寫產品類型。

52c691d4-e737-11ec-a2f4-dac502259ad0.png

圖4 創建產品

點擊進入創建的產品,點擊添加服務,服務ID填入智慧路燈,如圖5所示。

53063b86-e737-11ec-a2f4-dac502259ad0.png

圖5 添加服務

選擇智慧路燈服務,點擊添加屬性,添加亮度屬性,如圖6所示。

53428e42-e737-11ec-a2f4-dac502259ad0.png

圖6 添加屬性

3、注冊設備

創建產品成功后,側邊欄選擇設備,點擊右上角注冊設備,按照要求填寫設備信息,保存密匙信息,如圖7所示。

53b00c24-e737-11ec-a2f4-dac502259ad0.png

圖7 注冊設備

設備創建成功后,點擊進入設備詳情頁面,可以查看設備詳細詳細,保存設備ID信息,如圖8所示。

53effb5e-e737-11ec-a2f4-dac502259ad0.png

圖8 設備詳情

在連接華為云前需要獲取CLIENT_ID、USERNAME、PASSWORD,訪問華為云iot工具https://iot-tool.obs-website.cn-north-4.myhuaweicloud.com/;填寫注冊設備時生成的設備ID和設備密鑰,生成連接信息(ClientId、Username、Password),如圖9所示。

54305cb2-e737-11ec-a2f4-dac502259ad0.png

圖9 生成賬號、密匙

對應修改代碼中對應的CLIENT_ID、USERNAME、PASSWORD。

#defineCLIENT_ID "61c69349078a93029b83ceff_E53_ISL_0_0_2021122504"

#define USERNAME "61c69349078a93029b83ceff_E53_ISL"

#define PASSWORD "82933df2133618cad436234d88fde06a196dd8ebc0d5c8cf2ee065968a469546"

4、測試結果

程序編譯燒寫到小凌派RK2206開發板后,按下開發板的RESET按鍵,通過串口軟件查看日志如下所示;通過遮擋智慧路燈模塊上的光線傳感器,從而來改變光線強度值,當光線強度值小于20時,LED燈打開;當光線強度值大于20時,LED燈關閉。

luminance value is 45.83light offluminance value is 4.17light on

同時,在華為云平臺上,可以看到設備上報上來的光線強度,如圖10所示。

549d7234-e737-11ec-a2f4-dac502259ad0.png

圖10 華為云數據顯示

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 智慧路燈
    +關注

    關注

    2

    文章

    744

    瀏覽量

    17058
收藏 人收藏

    評論

    相關推薦

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

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

    智慧路燈改造 點亮城市智慧之光智能路燈解決方案

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

    智慧路燈照明管理系統功能與應用

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

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

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

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

    智慧路燈桿總體解決方案 智能智慧路燈屏燈桿屏解決方案
    的頭像 發表于 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>屏燈桿屏解決方案

    智慧充電樁集成路燈 智能燈桿屏智慧路燈系統平臺解決方案

    智慧充電樁集成路燈 智能燈桿屏智慧路燈系統平臺解決方案
    的頭像 發表于 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>系統平臺解決方案

    什么是智慧路燈解決方案?智慧路燈功能和應用

    智慧路燈作為智慧城市建設的重要組成部分,不僅能夠提供基本的照明功能,還能通過智能化技術實現能源節約、環境
    的頭像 發表于 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>功能和應用

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

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

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

    智慧路燈燈桿整體解決方案 智慧路燈燈桿源頭工廠
    的頭像 發表于 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>燈桿源頭工廠

    路燈升級“智慧大腦” 點亮獨山子的夜空智慧路燈路燈智能路燈

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

    江蘇智慧路燈“照亮”埃塞俄比亞首都夜空智慧路燈系統 路燈平臺

    江蘇智慧路燈“照亮”埃塞俄比亞首都夜空智慧路燈系統 路燈平臺
    的頭像 發表于 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>系統 <b class='flag-5'>路燈</b>平臺

    智慧農業IOT平臺有什么功能

    隨著科技的飛速發展,智慧農業已成為現代農業的重要發展方向。智慧農業IOT平臺,作為集數據采集、分析、處理、存儲、展示于一體的云端服務平臺,正逐步改變著傳統農業的生產和管理方式。本文將
    的頭像 發表于 09-20 14:44 ?273次閱讀

    請問ESP是否支持LiteOS+華為IOT+AT的方式?

    我們想使用ESP32 AT模式連接華為IOT平臺,并且ESP32要運行LiteOS,請問現在ESP32支持這個功能嗎
    發表于 07-19 07:32

    智慧路燈點亮智慧城市建設之路

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

    智慧路燈廠家排名

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