• 方案介紹
  • 附件下載
  • 相關推薦
申請入駐 產業(yè)圖譜

【RT-Thread作品秀】多功能單通道LoRaWAN網(wǎng)關(LiteCoG v1.0)

2020/12/31
1338
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

代碼地址.rar

共2個文件

作者:forest-rain

 

1 概述

物聯(lián)網(wǎng)終極目標是實現(xiàn)萬物互聯(lián),幫助人類社會實現(xiàn)更高階的智能化。IoT網(wǎng)關負責海量物聯(lián)網(wǎng)端側設備與物聯(lián)網(wǎng)云端應用的溝通,發(fā)揮著承上啟下的重要作用,是實現(xiàn)萬物互聯(lián)的關鍵一環(huán)。IoT網(wǎng)關已廣泛應用于工業(yè)、農業(yè)、畜牧業(yè)、智能家居、智慧城市等等垂直行業(yè)。

LiteCoG(Lite Connect Gateway)是一款小型的、支持多種連接方式的IoT網(wǎng)關,當前的主體功能是一個單雙通道的LoRaWAN網(wǎng)關,北向采用以太網(wǎng)WiFi4G Cat1連接,南向通信采用LoRa通信,同時也可支持BLERS485等連接方式,具有遠距離通信、低成本、方便部署、易擴展等特性,便于市場規(guī)模推廣。旨在面向智能家居、智慧社區(qū)、智慧停車等局域網(wǎng)內、設備容量較小的物聯(lián)網(wǎng)通信場景,同時由于具備良好的成本優(yōu)勢,也可以作為LoRaWAN網(wǎng)絡的補盲設備。

當前實現(xiàn)萬物互聯(lián)所面臨的問題與挑戰(zhàn):

如智能家居,目前智能家居還不是社會剛需,因此大規(guī)模推廣對成本極其敏感,采用高性能的LoRa網(wǎng)關芯片(SX130x)方案,可以滿足設計需求,但是成本承壓,同時性能過剩。

如智慧社區(qū),智慧社區(qū)是放大版的智能家居,也是一個縮小版的社會。隨著我國人口日益老齡化,智慧養(yǎng)老社區(qū)的需求日益突顯,如何解決空巢老人、孤寡老人的監(jiān)護是我國當前社會面臨的一個新難題。構建智慧社區(qū)所需龐大的啟動資金是一個必須逾越的障礙。

如智慧停車,停車難一直是城市公共交通的長期挑戰(zhàn)。海量的車,方便了出行,卻受限于終點,通過物聯(lián)網(wǎng)技術把分散的停車資源利用起來,是緩解停車難的可行方式。

LiteCoG網(wǎng)關基于RT-Thread操作系統(tǒng),采用LoRa SX126XSX127X來提供標準LoRaWAN接入能力,可以較大壓縮BOM成本;借助LoRa調制的遠距離通信能力、低功耗特性,在全屋社區(qū)小范圍停車等應用領域,基本可以非常靈活的部署電池供電的智能設備,非常方便。同時借助RT-Thread強大的軟硬件生態(tài)資源,可以極大加快產品開發(fā)效率,縮短產品上市時間。

    • LoRaWAN單通道網(wǎng)關(lgwsc)
          • 利爾達 Unicore
          • 騰訊云 loragw.qcloud.com
      • Class A
      • 支持lgwsc shell命令
      • 支持網(wǎng)關參數(shù)配置
      • 支持掉電存儲功能
      • 北向連接
        • Ethernet
        • WiFi
        • 4G Cat1

2 開發(fā)環(huán)境

    • RT-Thread版本:4.0.3
    • 開發(fā)工具及版本:RT Thread Studio 2、MDK5
    • PessimonUIBuilder 3.0設計器
  • 硬件平臺
    • ART-Pi主板
      • STM32H750
      • AP6212
    • ART-Pi 工業(yè)擴展板
      • 以太網(wǎng)、485
    • ART-Pi 多媒體擴展板
      • 320*480 TFT屏幕
    • LoRa多功能能擴展板(LRS007)
      • SX1268 LoRa模塊
      • 1.3英寸 OLED液晶屏

3 RT-Thread使用情況概述

  • RT-Thread內核:
    • 調度器:多線程(任務)實現(xiàn)
    • 線程間同步:信號量、互斥量
    • 線程間通信:郵箱、消息隊列
    • 內存管理:mem pool、memheap管理算法
    • 軟件定時器
  • 組件(Compentont)
    • FinSH控制臺
    • 設備驅動(Device Drivers)
      • I/O 設備模型
        • PIN設備 、I2C設備、UART設備、RTC設備、TOUCH設備
      • WIFI框架
        • 使用 SPI 框架來驅動SPI接口的設備(比如本文中的LoRa SPI模塊)
    • 網(wǎng)絡(Network)
      • AT命令
      • SAL 套接字抽象層
      • TCP/IP協(xié)議棧
        • lwip輕量級協(xié)議棧
      • 常用工具(Utilities)
        • ulog日志
  • 軟件包
    • AT設備軟件包:at_device-latest;
    • adbd-v1.1.1
    • btstack-v0.0.1   
    • fal-v0.5.0
    • littlefs-v2.0.5
    • JSON軟件包 cJSON-latest
    • 網(wǎng)絡工具包 netutils-latest
    • webclient軟件包 webclient-latest
    • webnet-v2.0.2
      • web服務器
    • loragw-packet-forward-latest
      • 單通道lorawan網(wǎng)關軟件包
    • lora-radio-driver-latest
      • lora radio驅動軟件包
    • multi-rtimer
      • 低功耗硬實時定時模塊
    • ft6236-v1.0.0
      • 觸摸芯片ft6236驅動
    • Persimmon柿餅庫
  • 其他
    • ART-Pi SDK開發(fā)包
      • sdk-bsp-stm32h750-realthread-artpi

4 系統(tǒng)設計

 

4.1 典型IoT系統(tǒng)應用框架

多功能單通道LoRaWAN網(wǎng)關(LiteCoG)用于連接物聯(lián)網(wǎng)終端設備與云端服務器,起到了承上啟下的作用。

4.2 硬件框架

多功能單通道LoRaWAN網(wǎng)關(LiteCoG)硬件主要由ART-Pi主板+ART-Pi工業(yè)擴展板+ART-Pi多媒體擴展板+4G Cat1模塊擴展板(L610)+LoRa多功能擴展板(LRS007)組成。

通過不同的搭配,可滿足不同應用場景。比如

    • LoRaWAN室內網(wǎng)關(WiFi版本)
      • ART-Pi主板+LoRa多功能擴展板(LRS007)應用于智能家居、智慧農業(yè)等室內場景
    • LoRaWAN室內網(wǎng)關(WiF版本) 帶中控屏
      • ART-Pi主板+ART-Pi多媒體擴展板+LoRa多功能擴展板(LRS007)應用于智能家居、智慧社區(qū)等場景
    • LoRaWAN室外網(wǎng)關(4G版本)
      • ART-Pi主板+4G Cat1模塊擴展板(L610)+LoRa多功能擴展板(LRS007)應用于智慧停車等室外場景
    • LoRaWAN室內外網(wǎng)關(以太網(wǎng)版)
      • ART-Pi主板+ART-Pi工業(yè)擴展板+LoRa多功能擴展板(LRS007)應用于智慧工廠等場景

多功能單通道LoRaWAN網(wǎng)關(LiteCoG)北向支持WiFi、以太網(wǎng)、4G Cat1方式,根據(jù)實際應用場景選擇。北向采用LoRa調試方式,實現(xiàn)LoRaWAN單通道接入功能。

對于智能家居等應用,若有中控屏需求,則可進一步使用觸摸屏或者OLED來進行人機交互。

4.3 軟件框架說明

多功能單通道LoRaWAN網(wǎng)關(LiteCoG)1.0主體功能之一是實現(xiàn)單通道的LoRaWAN網(wǎng)關,北向通信協(xié)議是基于UDP通信,南向通信協(xié)議是LoRaWAN,同時可以進一步擴展LiteCoG來實現(xiàn)邊緣計算功能,即直接對LoRaWAN終端設備控制的能力,以便滿足一些網(wǎng)沒有外網(wǎng)、更高的實時等情況。其他功能還有網(wǎng)關參數(shù)配置,掉電保存、獲取天氣信息,OLED顯示,柿餅UI顯示等等

 

5 軟件模塊說明

  • loragw-pkt-fwd單通道lorawan網(wǎng)關實現(xiàn)lorawan數(shù)據(jù)包轉發(fā)功能
    • static void thread_up(void)
      • 接收到lorawan終端設備的lora上行消息
      • 周期性獲取狀態(tài)信息
      • 組幀成 PUSH_DATA(json格式),然后發(fā)送給lorawan服務器
    • static void thread_down(void);
      • 維持與lorawan服務器之間鏈路
      • 接收并解析lorawan服務器的下行數(shù)據(jù)包(json),并加入JiT隊列
    • static void thread_jit(void);
      • 周期性從 JiT 隊列取報文并通過lora發(fā)送到lorawan終端設備
    • static int lgwsc(int argc, char *argv[])
      • shell命令,用于設置網(wǎng)關參數(shù)(eui、freq、datarate等)
      • 參數(shù)掉電存儲
  • lora-radio軟件包
    • 實現(xiàn)lora芯片sx126xsx127x射頻驅動
      • lora-radio-sx126x.c
        • 對外提供了上層訪問接口實現(xiàn)
      • lora-spi-sx126x.c
        • sx126x芯片的spi讀寫接口實現(xiàn)
          •  rt_device
      • sx126x.c
        • lora芯片sx126x底層驅動
  • multi-rtimer軟件包
    • 實現(xiàn)硬實時定時模塊,用于給lora-radio超時服務、給loragw-pkt-fwd提供較精確的下發(fā)定時器
  • lorawan-ed-stack軟件包
    • 用于解析lorawan協(xié)議幀,實現(xiàn)LiteCoG本地對lorawan終端設備的直接控制

6 演示效果

 

視頻:

7 代碼地址在附件。

8 比賽感悟

參加此次比賽使我對RT-Thread操作系統(tǒng)有了一個相對全面的應用與認識??傮w感受,RT-Thread是一個非常強大的RTOS,歷經10多年的打磨與沉淀,很多方面已經比較成熟與完善。雖然行業(yè)內還有很多其他優(yōu)秀的RTOS,但是RT-Thread更貼近于開發(fā)者,不斷迭代創(chuàng)新,同時代碼風格與文檔、豐富組件與軟件包也贏得了很多粉絲。

搭積木式開發(fā),大大提高了開發(fā)效率,這得益于RT-Thread長期積累、十年磨一劍地持續(xù)迭代與智慧輸出,提供了非常豐富的開源軟件資源,就如同linux一樣,很多輪子已經造好,rt-thread使得嵌入式的應用開發(fā)變得更簡單與高效。RT-Thread軟件包的形式,繼承與發(fā)揚包管理器的理念,便于大家使用與貢獻自己的代碼與知識分享,也使得RT-Thread開源社區(qū)更為活躍。

星星之火可以燎原,充實自己,向大佬們學習,為開源社區(qū)添磚加瓦,貢獻自己的一份綿薄之力。期望有朝一日,物聯(lián)網(wǎng)行業(yè)可以借助rt-thread等RTOS生態(tài),各行各業(yè)的小伙伴們一同攜手并進,共同提升產品開發(fā)效率,進而提升整體行業(yè)效率,降低社會成本。

LiteCoG 1.0目前還只實現(xiàn)產品原型功能,還有很多需要進一步優(yōu)化完善的地方,未來也期待跟小伙伴們一起持續(xù)優(yōu)化與迭代為成熟穩(wěn)定的產品。

最后感謝主辦方提供的平臺與參與活動的工作人員們的辛勤付出。

 

 

  • 代碼地址.rar
    下載
    描述:代碼地址
  • 【RT-Thread作品秀】多功能單通道LoRaWAN網(wǎng)關(LiteCoG v1.0).pdf
    下載
    描述:多功能單通道LoRaWAN網(wǎng)關 完整文檔

相關推薦