女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

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

基于RT-Thread的智慧路燈案例實(shí)驗(yàn)分享

RTThread物聯(lián)網(wǎng)操作系統(tǒng) ? 來源:RTThread物聯(lián)網(wǎng)操作系統(tǒng) ? 2020-07-01 14:43 ? 次閱讀

前言

之前在網(wǎng)上看到了很多類似的實(shí)踐,都蠻受大家歡迎的。那咱們就再來一個(gè)類似的實(shí)驗(yàn):基于RT-Thread的智慧路燈案例實(shí)驗(yàn)。

實(shí)驗(yàn)框圖

實(shí)驗(yàn)說明:設(shè)備終端不斷采集光強(qiáng)數(shù)據(jù)并上傳至云端進(jìn)行監(jiān)控,同時(shí)也會把當(dāng)前LED(路燈)的狀態(tài)上傳。LED的狀態(tài)會根據(jù)光照值進(jìn)行打開、關(guān)閉。

比如當(dāng)光照值低于(夜晚)我們設(shè)置的光照閾值時(shí)就會打開LED,當(dāng)光照高于(白天)光照閾值時(shí)就會熄滅LED燈。除此之外,云端可以遠(yuǎn)程控制LED的亮滅,達(dá)到一個(gè)遠(yuǎn)程控制的作用。

創(chuàng)建RTT工程

硬件:小熊派開發(fā)板。

軟件:基于RT-Thread操作系統(tǒng)的應(yīng)用開發(fā)。

開發(fā)工具:RT-Thread Studio V1.1.0。

本實(shí)驗(yàn)我們需要用到RT-Thread的BH1750軟件包、OneNet軟件包及at_device軟件包等。這些軟件包的使用已經(jīng)在前兩篇筆記中有寫到:

【RT-Thread筆記】BH1750軟件包的使用

【RT-Thread筆記】OneNet軟件包的使用

本次實(shí)驗(yàn)也只是把它們?nèi)诤显谝黄饋硎褂谩?/p>

1、添加相關(guān)軟件包、配置:

添加完之后的RT-Thread Settings文件如:

添加軟件包及軟件包的一些詳細(xì)配置可查閱上兩篇筆記。這里也大概提一下要點(diǎn):

(1)設(shè)置WiFi信息:

(2)設(shè)置OneNET信息

(3)配置I2C對接BH1750

這里我用的是RT-Thread Studio V1.1.0,這里的I2C的范例配置有點(diǎn)問題,其它版本的RT-Thread Studio應(yīng)該可以按范例配置那么配,如果按范例配置編譯不通過的話可以按照I2C2那樣配置。

2、應(yīng)用代碼

(1)測試函數(shù)

左右滑動查看全部代碼>>>

intonenet_upload_example(void) { rt_thread_ttid; /*onenet初始化*/ onenet_mqtt_init(); /*綁定led命令響應(yīng)回調(diào)函數(shù)*/ onenet_set_cmd_rsp_cb(onenet_ledcmd_rsp_cb); /*創(chuàng)建onenet數(shù)據(jù)上傳任務(wù)*/ tid=rt_thread_create("onenet_upload", onenet_upload_entry, RT_NULL, 2048, 10, 5); if(tid) rt_thread_startup(tid); return0; } MSH_CMD_EXPORT(onenet_upload_example,senddatatoOneNETcloudcycle);

首先進(jìn)行一個(gè)onenet初始化,這個(gè)初始化接口時(shí)onenet軟件包提供的。

接著進(jìn)行一個(gè)led命令響應(yīng)回調(diào)函數(shù)的綁定,回調(diào)函數(shù)onenet_ledcmd_rsp_cb里進(jìn)行的就是接收到onenet下發(fā)的led命令之后進(jìn)行地一些操作。最后就是創(chuàng)建一個(gè)onenet數(shù)據(jù)上傳的線程。

最后把這個(gè)函數(shù)以命令的形式導(dǎo)出,以便我們可以在命令行輸入onenet_upload_example命令進(jìn)行測試。

(2)led命令響應(yīng)回調(diào)函數(shù)

左右滑動查看全部代碼>>>

staticvoidonenet_ledcmd_rsp_cb(uint8_t*recv_data,size_trecv_size,uint8_t**resp_data,size_t*resp_size) { charres_buf[20]={0}; charrecv_buf[5]={0}; LOG_D("recvdatais%.*s ",recv_size,recv_data); if(!strncmp((char*)recv_data,"ledon",5)) { rt_pin_write(SC1_LED_PIN,SC1_LED_ON); rt_snprintf(res_buf,sizeof(res_buf),"ledison"); rt_kprintf("ledison "); } elseif(!strcmp((char*)recv_data,"ledoff",5)) { rt_pin_write(SC1_LED_PIN,SC1_LED_OFF); rt_snprintf(res_buf,sizeof(res_buf),"ledisoff"); rt_kprintf("ledisoff "); } else { rt_kprintf("ledcmdERROR! "); } /*userhavetomallocmemoryforresponsedata*/ *resp_data=(uint8_t*)rt_malloc(strlen(res_buf)); strncpy((char*)*resp_data,res_buf,strlen(res_buf)); *resp_size=strlen(res_buf); }

我們收到onenet下發(fā)的命令之后,所需要做的操作放在這里面。比如當(dāng)我們的設(shè)備接收到ledon字符串時(shí),打開led,并打印提示信息。最后再把led is on信息應(yīng)答給onenet。

(3)上傳數(shù)據(jù)的任務(wù)

左右滑動查看全部代碼>>>

/*上傳數(shù)據(jù)至onenet*/ staticvoidonenet_upload_entry(void*parameter) { rt_device_tdev=RT_NULL; structrt_sensor_datadata; rt_size_tres; charled_status=SC1_LED_OFF; charsend_buf[32]={0}; /*設(shè)置高亮LED的引腳為輸出模式*/ rt_pin_mode(SC1_LED_PIN,PIN_MODE_OUTPUT); /*查找bh1750傳感器*/ dev=rt_device_find("li_bh1750"); if(dev==RT_NULL) { rt_kprintf("Can'tfinddevice:li_bh1750 "); return; } /*以只讀模式打開bh1750*/ if(rt_device_open(dev,RT_DEVICE_FLAG_RDONLY)!=RT_EOK) { rt_kprintf("opendevicefailed!"); return; } while(1) { /*從傳感器讀取一個(gè)數(shù)據(jù)*/ res=rt_device_read(dev,0,&data,1); if(1!=res) { rt_kprintf("readdatafailed!sizeis%d",res); } else { rt_kprintf("light:%4d.%dlux ",data.data.light/10,data.data.light%10); rt_sprintf(send_buf,"%4d.%d",data.data.light/10,data.data.light%10); } /*高亮LED燈根據(jù)光照值自動打開、熄滅*/ if(data.data.light/10<=?40) ????????{ ????????????rt_pin_write(SC1_LED_PIN,?SC1_LED_ON); ????????????led_status?=?SC1_LED_ON; ????????????rt_kprintf("led_status?=?ON "); ????????} ????????else ????????{ ????????????rt_pin_write(SC1_LED_PIN,?SC1_LED_OFF); ????????????led_status?=?SC1_LED_OFF; ????????????rt_kprintf("led_status?=?OFF "); ????????} ????????/*?上傳光照數(shù)據(jù)至onenet?*/ ????????if?(onenet_mqtt_upload_string("light",?(const?char*)send_buf)?

這是我們的上傳任務(wù):讀取BH1750傳感器采集的光照值,通過onenet軟件包給我們提供的onenet_mqtt_upload_string接口上傳至onenet。

同時(shí),led的狀態(tài)根據(jù)光照值的結(jié)果自動打開/關(guān)閉,led的狀態(tài)也是通過onenet_mqtt_upload_string接口傳至onenet。

3、OneNET云端web應(yīng)用

(1)創(chuàng)建一個(gè)web應(yīng)用

為了能更好地、更直觀的展示我們的數(shù)據(jù),我們創(chuàng)建一個(gè)web應(yīng)用來管理:

onenet構(gòu)建web應(yīng)用的方式與之前我們分享的《智慧農(nóng)業(yè)案例實(shí)驗(yàn)分享》中華為云構(gòu)建web應(yīng)用的方式類似,都是通過拖控件的方式。我們創(chuàng)建好的應(yīng)用如下:

實(shí)驗(yàn)結(jié)果

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

    關(guān)注

    32

    文章

    1368

    瀏覽量

    41496
  • 智慧路燈
    +關(guān)注

    關(guān)注

    3

    文章

    896

    瀏覽量

    17528

原文標(biāo)題:基于RT-Thread的智慧路燈案例實(shí)驗(yàn)分享

文章出處:【微信號:RTThread,微信公眾號:RTThread物聯(lián)網(wǎng)操作系統(tǒng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    2025 RT-Thread全球技術(shù)大會議程正式發(fā)布!

    RT-ThreadGlobalTechConference(RT-ThreadGTC,RT-Thread全球技術(shù)大會)是聚焦基礎(chǔ)軟件技術(shù)創(chuàng)新與實(shí)踐的嵌入式技術(shù)盛會,持續(xù)推動技術(shù)價(jià)值轉(zhuǎn)化
    的頭像 發(fā)表于 05-27 19:28 ?224次閱讀
    2025 <b class='flag-5'>RT-Thread</b>全球技術(shù)大會議程正式發(fā)布!

    RT-Thread審核團(tuán)招募: 深度參與開源RTOS社區(qū)治理與演進(jìn)

    全球開發(fā)者招募:RT-Thread審核團(tuán)(ReviewTeam)正式開放申請!在開源的世界里,代碼審查(CodeReview)是保證軟件質(zhì)量、促進(jìn)技術(shù)交流的關(guān)鍵環(huán)節(jié)。RT-Thread作為全球領(lǐng)先
    的頭像 發(fā)表于 05-21 18:02 ?414次閱讀
    <b class='flag-5'>RT-Thread</b>審核團(tuán)招募: 深度參與開源RTOS社區(qū)治理與演進(jìn)

    如何將RT-Thread移植到NXP MCUXPressoIDE上

    RT-Thread默認(rèn)支持的IDE只有IAR 和 Keil, 那如何將RT-Thread移植到NXP MCUXPressoIDE上呢?本文內(nèi)容比較簡單但稍有瑣碎,希望對有需要的小伙伴有所幫助。
    的頭像 發(fā)表于 02-13 10:37 ?1716次閱讀
    如何將<b class='flag-5'>RT-Thread</b>移植到NXP MCUXPressoIDE上

    從開源中來到開源中去-RT-Thread北京社區(qū)篇

    RT-Thread今年全域推行不同區(qū)域社區(qū)網(wǎng),通過建立區(qū)域社區(qū)網(wǎng),構(gòu)建更加緊密聯(lián)系的開源社區(qū),實(shí)現(xiàn)更廣泛的開源資源共享,讓更多的RT-Thread開發(fā)者受益。今年8月份RT-Thread正式啟動北京
    的頭像 發(fā)表于 11-29 01:05 ?390次閱讀
    從開源中來到開源中去-<b class='flag-5'>RT-Thread</b>北京社區(qū)篇

    【S32K146 RT-Thread】之 使用SFUD組件驅(qū)動spi flash

    【S32K146 RT-Thread】之 使用SFUD組件驅(qū)動spi flash
    的頭像 發(fā)表于 11-21 01:05 ?964次閱讀
    【S32K146 <b class='flag-5'>RT-Thread</b>】之 使用SFUD組件驅(qū)動spi flash

    RT-Thread上CAN實(shí)踐

    開箱測試RT-Thread官方已完成了對英飛凌XMC7200EVK的移植,通過shell可以看到做好了uart3的console。本文將介紹如何進(jìn)行RT-ThreadCan移植。接下來我們要完成CAN_FD的驅(qū)動移植,并正常啟動RT-T
    的頭像 發(fā)表于 11-13 01:03 ?1873次閱讀
    <b class='flag-5'>RT-Thread</b>上CAN實(shí)踐

    開源共生 商業(yè)共贏 | RT-Thread 2024開發(fā)者大會報(bào)名啟動!

    親愛的RT-Thread開發(fā)者我們很高興地宣布,一年一度的RDC(RT-ThreadDeveloperConference,RT-Thread開發(fā)者大會)正式啟動報(bào)名!2024RT-Threa
    的頭像 發(fā)表于 10-29 08:06 ?851次閱讀
    開源共生 商業(yè)共贏 | <b class='flag-5'>RT-Thread</b> 2024開發(fā)者大會報(bào)名啟動!

    【成都】9月21日RT-Thread巡回線下培訓(xùn)-OpenMV機(jī)器視覺

    親愛的RT-Thread社區(qū)成員們:RT-Thread24年全球巡回培訓(xùn)將覆蓋超10座城市及國家,為開發(fā)者提供一個(gè)深入學(xué)習(xí)RT-Thread嵌入式開發(fā),以及和工程師們線下交流的絕佳機(jī)會。2024年
    的頭像 發(fā)表于 09-13 08:09 ?1414次閱讀
    【成都】9月21日<b class='flag-5'>RT-Thread</b>巡回線下培訓(xùn)-OpenMV機(jī)器視覺

    【南京】9月21日RT-Thread巡回線下培訓(xùn)-智慧家居視頻監(jiān)測系統(tǒng)實(shí)戰(zhàn)

    親愛的RT-Thread社區(qū)成員們:RT-Thread24年全球巡回培訓(xùn)將覆蓋超10座城市及國家,為開發(fā)者提供一個(gè)深入學(xué)習(xí)RT-Thread嵌入式開發(fā)的絕佳機(jī)會。2024年RT-Thread
    的頭像 發(fā)表于 09-11 08:07 ?560次閱讀
    【南京】9月21日<b class='flag-5'>RT-Thread</b>巡回線下培訓(xùn)-<b class='flag-5'>智慧</b>家居視頻監(jiān)測系統(tǒng)實(shí)戰(zhàn)

    【大連】9月7日RT-Thread巡回線下培訓(xùn)-OpenMV機(jī)器視覺

    親愛的RT-Thread社區(qū)成員們:2024年RT-Thread全球開發(fā)者線下培訓(xùn)拉開帷幕啦!24年全球巡回培訓(xùn)將覆蓋超10座城市及國家,為開發(fā)者提供一個(gè)深入學(xué)習(xí)RT-Thread嵌入式開發(fā)的絕佳
    的頭像 發(fā)表于 09-01 08:02 ?2975次閱讀
    【大連】9月7日<b class='flag-5'>RT-Thread</b>巡回線下培訓(xùn)-OpenMV機(jī)器視覺

    2024 RT-Thread全球巡回 線下培訓(xùn)火熱來襲!

    親愛的RT-Thread社區(qū)成員們:我們非常高興地宣布,2024年RT-Thread全球開發(fā)者線下培訓(xùn)即將拉開帷幕!24年全球巡回培訓(xùn)將覆蓋超10座城市及國家,為開發(fā)者提供一個(gè)深入學(xué)習(xí)RT-Thread嵌入式開發(fā)的絕佳機(jī)會。
    的頭像 發(fā)表于 08-07 08:35 ?2391次閱讀
    2024 <b class='flag-5'>RT-Thread</b>全球巡回 線下培訓(xùn)火熱來襲!

    【好書推薦】RT-Thread設(shè)備驅(qū)動開發(fā)指南

    近年來國內(nèi)芯片產(chǎn)業(yè)和物聯(lián)網(wǎng)產(chǎn)業(yè)的快速崛起,行業(yè)發(fā)展迫切需要更多人才,尤其需要掌握嵌入式操作系統(tǒng)等底層技術(shù)的人才。隨著RT-Thread被更廣泛地應(yīng)用于行業(yè)中,開發(fā)者對嵌入式驅(qū)動開發(fā)的需求越來越
    的頭像 發(fā)表于 08-01 08:35 ?1148次閱讀
    【好書推薦】<b class='flag-5'>RT-Thread</b>設(shè)備驅(qū)動開發(fā)指南

    RT-Thread 新里程碑達(dá)成——GitHub Star 破萬!

    RT-Thread實(shí)時(shí)操作系統(tǒng)開源項(xiàng)目在GitHub上的star數(shù)量突破一萬!截止發(fā)文,RT-Thread作為實(shí)時(shí)操作系統(tǒng)在業(yè)界Star數(shù)量排名第一!倉庫地址:https://github.com
    的頭像 發(fā)表于 07-04 08:35 ?692次閱讀
    <b class='flag-5'>RT-Thread</b> 新里程碑達(dá)成——GitHub Star 破萬!

    基于 RT-Thread專業(yè)版的EtherCAT主站方案

    (一)方案介紹本方案基于RT-Thread專業(yè)版,在RT-Thread端集成EtherCAT主站協(xié)議,通過EtherCAT對伺服電機(jī)或遠(yuǎn)程IO進(jìn)行實(shí)時(shí)控制,具備傳輸速度快,實(shí)時(shí)性高,擴(kuò)展設(shè)備靈活等
    的頭像 發(fā)表于 06-19 08:35 ?1667次閱讀
    基于 <b class='flag-5'>RT-Thread</b>專業(yè)版的EtherCAT主站方案

    開發(fā)者分享 | 基于先楫RT-Thread BSP,使用CLion開發(fā)應(yīng)用

    本期開發(fā)者:朱彥祖RT-Thread資深工程師,HPM6700/6400元老級開發(fā)者及骨灰級用戶,先輯生態(tài)社區(qū)常駐優(yōu)秀開發(fā)者,江湖人稱杭州吳彥祖。背景最近在使用先輯HPM6750開發(fā)一款運(yùn)動控制器
    的頭像 發(fā)表于 06-07 08:17 ?3582次閱讀
    開發(fā)者分享 | 基于先楫<b class='flag-5'>RT-Thread</b> BSP,使用CLion開發(fā)應(yīng)用