ElfBoard作為飛凌嵌入式旗下教育品牌,自成立以來,持續(xù)吸引著各界的矚目,其中也贏得了一些工程師的青睞。今天,就和各位小伙伴分享一位杰出工程師借助ELF 1S開發(fā)板完成的嵌入式物聯(lián)網(wǎng)項目,見證智慧與技術(shù)的火花。
關(guān)于這個項目的思維導圖,如下圖所示:
接下來,將會從云-網(wǎng)-邊-端的物聯(lián)網(wǎng)體系架構(gòu)出發(fā),描述整個開源項目的開發(fā)過程,整個開源項目的系統(tǒng)框架,如下圖所示:
1 – 云(涂鴉云服務(wù)器)
開源項目是采用涂鴉云作為云服務(wù)器的,之所以采用涂鴉云,主要是涂鴉的IoT生態(tài)體系很友好,并且對于初學者來說涂鴉云的學習門檻和接入門檻是比較低的,無需企業(yè)賬號,無需太高的設(shè)備購買費用,即可接入涂鴉云。
ELF 1S開發(fā)板邊緣中控是通過Tuya Link SDK接入云服務(wù)器的,這個SDK采用標準的C語言進行編寫,移植的時候非常方便,具體可以參考官方提供的移植文檔。
在涂鴉云服務(wù)器上建立好產(chǎn)品,完成功能定義,完成設(shè)備交互面板設(shè)計,移植完Tuya Link SDK,等一系列操作后,就可以讓ELF 1S開發(fā)板具備接入云服務(wù)器的能力。
產(chǎn)品建成后,具體的功能定義如下圖所示:
2 – 網(wǎng)(Wi-Fi無線連接)
要讓ELF 1S開發(fā)板接入云服務(wù)器,就要先讓開發(fā)板的硬件具備連接互聯(lián)網(wǎng)的能力,接入互聯(lián)網(wǎng)的方式有:4G網(wǎng)絡(luò),Wi-Fi無線連接,RJ45有線網(wǎng)絡(luò)連接,這幾種方式都可以選用,由于ELF 1S開發(fā)板默認板載了一個RTL8723DU1 無線Wi-Fi模塊,因此,本項目選用Wi-Fi無線連接方式,讓開發(fā)板接入互聯(lián)網(wǎng)。
十分方便的是,ElfBoard官方已經(jīng)提供了一個聯(lián)網(wǎng)腳本,elf1_cmd_wifi.sh,應用程序開發(fā)工程師可以很方便地調(diào)用這個腳本進行互聯(lián)網(wǎng)鏈接,對于使用嵌入式Linux+Qt開發(fā)的應用程序,ElfBoard官方也提供了參考例程,程序開發(fā)的時候直接參考使用即可。
本項目關(guān)于Wi-Fi聯(lián)網(wǎng)的部分參考代碼,如下圖所示:
3 – 邊(ELF 1S開發(fā)板中控)
邊緣計算設(shè)備(邊緣中控)采用ELF 1S開發(fā)板進行設(shè)計,運行嵌入式Linux操作系統(tǒng),采用Qt進行UI界面開發(fā),應用程序采用C/C++語言進行編寫。
邊緣計算設(shè)備(邊緣中控)通過一個USB無線擴展模塊,與端側(cè)設(shè)備進行無線通信。
USB無線擴展模塊支持AT指令集,支持從機設(shè)備管理,支持控制命令透傳,等等。感興趣的小伙伴還可以修改這個擴展模塊的固件(代碼已開源),讓其擴展更多創(chuàng)意的功能。
整個邊緣計算設(shè)備的Qt應用程序,共提供了5個應用界面,初學者可以在這5個應用程序界面,自由擴展自己的創(chuàng)意想法,以下是這5個應用界面的功能介紹。
界面1界面1是一個電器控制界面,通過這個界面,可以對端側(cè)的電器設(shè)備進行無線控制,比如RGB三色燈的開關(guān)和亮度調(diào)節(jié),燈光總開關(guān)的控制,遠程繼電器開關(guān)的控制,等等。當端側(cè)無線設(shè)備有按鍵事件觸發(fā)的時候,可以即時把按鍵值通過無線方式上報到邊緣中控設(shè)備,并把按鍵事件在信息窗口進行顯示。
界面2界面2是一個環(huán)境監(jiān)測界面,在這個界面,可以把開發(fā)板上面的溫濕度傳感器數(shù)據(jù)(客廳是實際值,臥室是模擬值)和環(huán)境亮度數(shù)據(jù)在界面上面實時顯示出來,這個界面還可以擴展到土壤數(shù)據(jù)監(jiān)測,空氣顆粒物監(jiān)測,環(huán)境噪聲監(jiān)測,等等。
界面3界面3是一個云服務(wù)器連接界面,通過【連接涂鴉云】按鈕,把邊緣中控ELF 1S開發(fā)板接入涂鴉云服務(wù)器,然后通過手機端【智能生活APP】掃描二維碼,即可完成手機APP與設(shè)備的綁定操作,并且在信息窗口顯示連接狀態(tài),手機APP通過云端轉(zhuǎn)發(fā)的控制指令,也可以實時在信息窗口進行顯示。
ELF 1S開發(fā)板邊緣中控還可以把手機APP的控制指令轉(zhuǎn)發(fā)到無線端側(cè)設(shè)備執(zhí)行,也可以把環(huán)境監(jiān)測里面的傳感器數(shù)據(jù),上報到云服務(wù)器,然后在手機APP界面進行實時顯示。
界面4界面4是一個有線網(wǎng)絡(luò)界面,這個界面實現(xiàn)了一個遠程抄寫電表數(shù)據(jù)的功能,通過RS485總線和Modbus-RTU軟件協(xié)議,讓ELF 1S開發(fā)板邊緣中控連接一個虛擬電表,虛擬電表的用電數(shù)據(jù)不斷更新(模擬用電過程),然后實現(xiàn)電表數(shù)據(jù)的實時讀取,并在信息窗口進行顯示。
界面5界面5是ELF 1S開發(fā)板邊緣中控的參數(shù)設(shè)置界面,在這個界面里面,可以對開發(fā)板邊緣中控本身進行程序升級(未完成),同步網(wǎng)絡(luò)時間,設(shè)置USB無線模塊,端側(cè)從機掃描,以及重置USB無線模塊,開發(fā)者還可以在這個界面擴展更多有趣好玩的參數(shù)配置功能。
4 – 端(采集與執(zhí)行設(shè)備)
端側(cè)設(shè)備主要是以下三種類型的設(shè)備:支持Modbus-RTU協(xié)議的有線從機設(shè)備,具備2.4GHz/433MHz無線通信功能的網(wǎng)絡(luò)模塊,以及手機APP應用程序。
關(guān)于Modbus-RTU的有線從機設(shè)備,可以使用電腦端的Modbus-Slave軟件進行虛擬,Modbus-Slave軟件是一款精美小巧的Modbus-RTU從機調(diào)試軟件,使用它可以虛擬出任何支持Modbus協(xié)議的從機設(shè)備,具體軟件界面如下圖所示:
關(guān)于無線網(wǎng)絡(luò)模塊,它支持繼電器開關(guān)、RGB三色燈、按鍵事件等功能,具體可以參考文章最下方的資料文檔《key_rgb_relay_board硬件說明文檔.pdf》。
除了以上兩種端側(cè)設(shè)備之外,手機APP應用程序,也是屬于端側(cè)顯示設(shè)備。手機APP應用是通過涂鴉云的間接轉(zhuǎn)發(fā)方式,與ELF 1S開發(fā)板邊緣中控進行端對端通信的,開發(fā)板邊緣中控可以轉(zhuǎn)發(fā)手機APP的控制指令到無線網(wǎng)絡(luò)模塊,以及接收邊緣中控上報的環(huán)境監(jiān)測數(shù)據(jù)。
整個項目已經(jīng)開源到Gitee,歡迎各位嵌入式初學者或愛好者進行 Fork 和 Star ,項目的開源地址:
https://gitee.com/embediot/elfboard-iot-project
(復制到瀏覽器打開)
-
單片機
+關(guān)注
關(guān)注
6037文章
44558瀏覽量
635212 -
嵌入式
+關(guān)注
關(guān)注
5082文章
19123瀏覽量
305143 -
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2909文章
44634瀏覽量
373312 -
開源
+關(guān)注
關(guān)注
3文章
3348瀏覽量
42496 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
5050瀏覽量
97456
發(fā)布評論請先 登錄
相關(guān)推薦
評論