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

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

3天內不再提示

嵌入式物聯(lián)網(wǎng)開源項目分享

工程師進階筆記 ? 來源: 工程師進階筆記 ? 2024-01-24 10:36 ? 次閱讀

很多初學者或者互聯(lián)網(wǎng)轉行從業(yè)者,在學習嵌入式技術的基本理論概念之后,可能會感覺到迷茫,感覺自己雖然學了不少,但卻不知道怎么用到項目上。

我一直認為,對于嵌入式物聯(lián)網(wǎng)技術的入門,項目實戰(zhàn)是驗證理論學習的最佳方式。

在前面的兩篇文章里面,我們基于飛凌的 ElfBoard 嵌入式開發(fā)板,分別從開箱入門測評和嵌入式Linux開發(fā)套路的角度,分析了這塊開發(fā)板的各種特點,讓開發(fā)者對這塊開發(fā)板的硬件資料有一個基本的認識。

本篇文章,我們將會基于 ElfBoard 開發(fā)板,開源一個面向初學者的,軟硬件結合的嵌入式物聯(lián)網(wǎng)項目,希望可以通過這個開源項目,讓初學者對嵌入式物聯(lián)網(wǎng)技術領域的 “云-網(wǎng)-邊-端” 架構,有一個更加直觀的認識。

關于這個項目的思維導圖,如下圖所示。

wKgaomWwd7GANRHEAACyFK5DpVg558.jpg

接下來,我們將會從云-網(wǎng)-邊-端的物聯(lián)網(wǎng)體系架構出發(fā),描述整個開源項目的開發(fā)過程,整個開源項目的系統(tǒng)框架,如下圖所示。

wKgaomWwd7GAJZIcAADnNFTwrwU653.jpg

1– 云(涂鴉云服務器)

開源項目是采用涂鴉云作為云服務器的,之所以采用涂鴉云,主要是涂鴉的IoT生態(tài)體系很友好,并且對于個人開發(fā)者(初學者),涂鴉云的學習門檻和接入門檻是比較低的,無需企業(yè)賬號,無需太高的設備購買費用,即可接入涂鴉云。

關于涂鴉云的具體用法,可以在公眾號搜索我以前發(fā)布過的文章:

【嵌入式實戰(zhàn)項目】環(huán)境監(jiān)測設備接入涂鴉IoT開發(fā)平臺

ElfBoard邊緣中控是通過Tuya LinkSDK接入云服務器的,這個SDK采用標準的C語言進行編寫,移植的時候非常方便,具體可以參考官方提供的移植文檔,(此處不做詳細描述)

在涂鴉云服務器上建立好產(chǎn)品,完成功能定義,完成設備交互面板設計,移植完Tuya Link SDK,等一系列操作后,就可以讓ElfBoard具備接入云服務器的能力。

產(chǎn)品建成后,具體的功能定義如下圖所示。

wKgZomWwd7GACHCVAACvOV_fCM0066.jpg

2– 網(wǎng)(Wi-Fi無線連接)

要讓ElfBoard接入云服務器,就要先讓ElfBoard的硬件具備連接互聯(lián)網(wǎng)的能力,接入互聯(lián)網(wǎng)的方式有:4G網(wǎng)絡,Wi-Fi無線連接,RJ45有線網(wǎng)絡連接,這幾種方式都可以選用,由于ElfBoard開發(fā)板默認板載了一個RTL8723 無線Wi-Fi模塊,因此,本項目選用Wi-Fi無線連接方式,讓開發(fā)板接入互聯(lián)網(wǎng)。

十分方便的是,飛凌官方已經(jīng)提供了一個聯(lián)網(wǎng)腳本,elf1_cmd_wifi.sh,應用程序開發(fā)工程師,可以很方便地調用這個腳本進行互聯(lián)網(wǎng)鏈接,對于使用嵌入式Linux+Qt開發(fā)的應用程序,飛凌官方也提供了參考例程,我們在程序開發(fā)的時候直接參考使用即可。

本項目關于Wi-Fi聯(lián)網(wǎng)的部分參考代碼,如下圖所示。(具體請參考完整源碼)

wKgaomWwd7KAMycGAAECrR0YR7E615.jpg

3– 邊(ElfBoard邊緣中控)

邊緣計算設備(邊緣中控)采用飛凌ElfBoard開發(fā)板進行設計,運行嵌入式Linux操作系統(tǒng),采用Qt進行UI界面開發(fā),應用程序采用C/C++語言進行編寫。

邊緣計算設備(邊緣中控)通過一個USB無線擴展模塊,與端側設備進行無線通信,這個USB無線擴展模塊的具體設計,可以參考項目里面開源的教程文檔。

USB無線擴展模塊支持AT指令集,支持從機設備管理,支持控制命令透傳,等等。感興趣的初學者還可以修改這個擴展模塊的固件(代碼已開源),讓其擴展更多創(chuàng)意的功能。

整個邊緣計算設備的Qt應用程序,共提供了5個應用界面,初學者可以在這5個應用程序界面,自由擴展自己的創(chuàng)意想法,以下是這5個應用界面的功能介紹。

wKgZomWwd7KAT2VoAAC0ZicPbHo628.jpg

界面 1

界面 1是一個電器控制界面,通過這個界面,可以對端側的電器設備進行無線控制,比如RGB三色燈的開關和亮度調節(jié),燈光總開關的控制,遠程繼電器開關的控制,等等。當端側無線設備有按鍵事件觸發(fā)的時候,可以即時把按鍵值通過無線方式上報到邊緣中控設備,并把按鍵事件在信息窗口進行顯示。

wKgaomWwd7KAVcmKAAB0tp6hLp0812.jpg

界面 2

界面 2是一個環(huán)境監(jiān)測界面,在這個界面,可以把開發(fā)板上面的溫濕度傳感器數(shù)據(jù)(客廳是實際值,臥室是模擬值)和環(huán)境亮度數(shù)據(jù)在界面上面實時顯示出來,這個界面還可以擴展到土壤數(shù)據(jù)監(jiān)測,空氣顆粒物監(jiān)測,環(huán)境噪聲監(jiān)測,等等。

wKgaomWwd7GAS2ILAADNg7LfV4U881.jpg

界面 3

界面 3是一個云服務器連接界面,通過【連接涂鴉云】按鈕,把邊緣中控ElfBoard接入涂鴉云服務器,然后通過手機端【智能生活APP】掃描二維碼,即可完成手機APP與設備的綁定操作,并且在信息窗口顯示連接狀態(tài),手機APP通過云端轉發(fā)的控制指令,也可以實時在信息窗口進行顯示。

ElfBoard邊緣中控還可以把手機APP的控制指令轉發(fā)到無線端側設備執(zhí)行,也可以把環(huán)境監(jiān)測里面的傳感器數(shù)據(jù),上報到云服務器,然后在手機APP界面進行實時顯示。

wKgZomWwd7GAKWSWAAEUDObE9NY823.jpg

界面 4

界面 4是一個有線網(wǎng)絡界面,這個界面實現(xiàn)了一個遠程抄寫電表數(shù)據(jù)的功能,通過RS485總線和Modbus-RTU軟件協(xié)議,讓ElfBoard邊緣中控連接一個虛擬電表,虛擬電表的用電數(shù)據(jù)不斷更新(模擬用電過程),然后實現(xiàn)電表數(shù)據(jù)的實時讀取,并在信息窗口進行顯示。

wKgaomWwd7GADtljAAB4h2NSrtE247.jpg

界面 5

界面 5是ElfBoard邊緣中控的參數(shù)設置界面,在這個界面里面,可以對ElfBoard邊緣中控本身進行程序升級(未完成),同步網(wǎng)絡時間,設置USB無線模塊,端側從機掃描,以及重置USB無線模塊,開發(fā)者還可以在這個界面擴展更多有趣好玩的參數(shù)配置功能。

4– 端(采集與執(zhí)行設備)

端側設備主要是以下三種類型的設備:支持Modbus-RTU協(xié)議的有線從機設備,具備2.4GHz/433MHz無線通信功能的網(wǎng)絡模塊,以及手機APP應用程序。

關于Modbus-RTU的有線從機設備,我們可以使用電腦端的Modbus-Slave軟件進行虛擬,Modbus-Slave軟件是一款精美小巧的Modbus-RTU從機調試軟件,使用它可以虛擬出任何支持Modbus協(xié)議的從機設備,具體軟件界面如下圖所示。

wKgaomWwd7GAVV0AAACIgbH-jog347.jpg

關于無線網(wǎng)絡模塊,它支持繼電器開關、RGB三色燈、按鍵事件等功能。

除了以上兩種端側設備之外,手機APP應用程序,也是屬于端側顯示設備。手機APP應用是通過涂鴉云的間接轉發(fā)方式,與ElfBoard邊緣中控進行端對端通信的,ElfBoard邊緣中控可以轉發(fā)手機APP的控制指令到無線網(wǎng)絡模塊,以及接收邊緣中控上報的環(huán)境監(jiān)測數(shù)據(jù)。

wKgZomWwd7GABGRyAACi_TurMfc151.jpg

整個項目已經(jīng)開源到Gitee,歡迎各位嵌入式初學者或愛好者進行Fork和Star。

--補充說明一下,文章里面提到的“ElfBoard開發(fā)板”,是指飛凌嵌入式旗下 ElfBoard 品牌推出的 ELF 1S 開發(fā)板,在驗證這個開源項目的時候,需要使用ELF 1S進階版。

審核編輯:湯梓紅

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

    關注

    5052

    文章

    18906

    瀏覽量

    300697
  • 物聯(lián)網(wǎng)

    關注

    2898

    文章

    43779

    瀏覽量

    369015
  • Linux
    +關注

    關注

    87

    文章

    11158

    瀏覽量

    208457

原文標題:搞了一個物聯(lián)網(wǎng)開源項目,和大家一起內卷嵌入式!

文章出處:【微信號:工程師進階筆記,微信公眾號:工程師進階筆記】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    聯(lián)網(wǎng)嵌入式系統(tǒng)

    本帖最后由 DFZD 于 2015-12-4 10:59 編輯 聯(lián)網(wǎng)是新一代信息技術的重要組成部分,是互聯(lián)網(wǎng)嵌入式系統(tǒng)發(fā)展到高級階段的融合。作為
    發(fā)表于 11-27 16:09

    聯(lián)網(wǎng)嵌入式系統(tǒng)

    ,發(fā)掘某種領域聯(lián)網(wǎng)應用。作為聯(lián)網(wǎng)重要技術組成的嵌入式系統(tǒng),嵌入式系統(tǒng)的視角有助于深刻地、全面
    發(fā)表于 12-03 14:03

    聯(lián)網(wǎng)嵌入式系統(tǒng)的碰撞融合

    如今,IT產(chǎn)業(yè)最大的一個挑戰(zhàn)的就是技術的日益變更,以及更新速度快。嵌入式聯(lián)網(wǎng)行業(yè)實際上也一樣,雖然沒有如IT產(chǎn)業(yè)的變化這么快,但是想要成為一名優(yōu)秀的開發(fā)者,必須得與時代共同進步學習,以及技術
    發(fā)表于 08-02 09:59

    一篇文章揭開嵌入式聯(lián)網(wǎng)的神秘面紗

    聯(lián)網(wǎng)項目開發(fā)的工程師中,有專注于傳感器及無線網(wǎng)絡開發(fā)方向上面,也有專注于處理器/操作系統(tǒng)的嵌入式開發(fā)方向上面,當然也有專注于聯(lián)網(wǎng)硬件開發(fā)
    發(fā)表于 04-29 10:32

    嵌入式聯(lián)網(wǎng)的硬件設計挑戰(zhàn)

    `隨著聯(lián)網(wǎng)的出現(xiàn),由于連接設備的快速發(fā)展,嵌入式系統(tǒng)市場出現(xiàn)了大規(guī)模增長。由于聯(lián)網(wǎng)嵌入式
    發(fā)表于 08-16 14:28

    聯(lián)網(wǎng)嵌入式系統(tǒng)的關系

    劇、支付、工作、購物……同時聯(lián)網(wǎng)的出現(xiàn)讓手機在更多的領域發(fā)揮作用,嵌入式系統(tǒng)與聯(lián)網(wǎng)的概念相差甚遠,但又并非是相互對立,恰恰相反,它們相輔
    發(fā)表于 12-17 09:23

    入門聯(lián)網(wǎng),嵌入式是關鍵

    ,面對碎片化極為嚴重的聯(lián)網(wǎng),我們首先要掌握哪些方面?且想要從事物聯(lián)網(wǎng)開發(fā),是否要必須嵌入式知識基礎?
    發(fā)表于 07-01 11:15

    入門聯(lián)網(wǎng),嵌入式是關鍵

    ,面對碎片化極為嚴重的聯(lián)網(wǎng),我們首先要掌握哪些方面?且想要從事物聯(lián)網(wǎng)開發(fā),是否要必須嵌入式知識基礎?
    發(fā)表于 07-18 09:53

    入門聯(lián)網(wǎng)嵌入式是關鍵

    ,面對碎片化極為嚴重的聯(lián)網(wǎng),我們首先要掌握哪些方面?且想要從事物聯(lián)網(wǎng)開發(fā),是否要必須嵌入式知識基礎?
    發(fā)表于 07-30 10:02

    嵌入式系統(tǒng)與聯(lián)網(wǎng)之間有什么關系?

    嵌入式系統(tǒng)與聯(lián)網(wǎng)的關系一、聯(lián)網(wǎng)嵌入式的基本概念物聯(lián)網(wǎng)
    發(fā)表于 10-27 06:00

    嵌入式相關開源項目資料分享

    關注+星標公眾號,不錯過精彩內容來源 | 嵌入式大雜燴學習初期最難找的就是找學習資料了,本貼精心匯總了一些嵌入式相關資源,包括但不限于編程語言、單片機、開源項目、
    發(fā)表于 10-27 09:13

    嵌入式轉變聯(lián)網(wǎng)

    經(jīng)過幾十年發(fā)展,嵌入式技術已經(jīng)用在了我們生活中的方方面面,但是嵌入式始終都帶有小眾,專業(yè)性強的屬性,讓很多非嵌入式領域的同學望而卻步。近十幾年的發(fā)展,
    發(fā)表于 10-27 08:09

    嵌入式聯(lián)網(wǎng)之間的關系

    雖然嵌入式系統(tǒng)已經(jīng)有30多年的歷史,但是原來一直隱藏在背后的,自從聯(lián)網(wǎng)上升為國家戰(zhàn)略后,嵌入式系統(tǒng)也從后臺走到前臺。那嵌入式
    發(fā)表于 12-14 08:19

    嵌入式聯(lián)網(wǎng)應用開發(fā)的相關資料推薦

    開源 | 嵌入式聯(lián)網(wǎng)應用開發(fā) - 預告篇有很多初學者反映,在學習基礎理論知識的時候,會容易覺得枯燥無味,不知道學完之后應用在哪些方面,更不知道如何把學到的知識應用到實際的
    發(fā)表于 12-24 08:20

    嵌入式開源項目

    嵌入式開源項目精選專欄
    發(fā)表于 10-20 21:35 ?18次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>開源</b><b class='flag-5'>項目</b>