美文网首页LoRa相关LPWAN设计
USB Dongle作为网关收发前端

USB Dongle作为网关收发前端

作者: 小鱼儿他老汉 | 来源:发表于2018-09-22 07:18 被阅读14次

常见LoRaWAN网关架构

市面上网关硬件架构较多的是:

  • ESP8266/ESP32 + SX127X,支持C++/Lua/Python
  • RPi Linux + SX127X,支持C++/Python
  • RPi Linux + SX1301,支持C++,Web测使用Shell/Python/JS

单通道中,ESP方案最具成本竞争力,但是RPi的普及率和扩展性比较高,可以直接做边缘计算。

USB方案LoRaWAN网关

而我除了提供ESP方案外,还提供USB Dongle方案,即:
Host + USB/SPI + SX127X。BOM成本和ESP方案一致,因为STM32F103和ESP8266/ESP32在一个区间,甚至更低些(写到这里,觉得自己好Low):

  • STM32F103 Bluepill,10CNY;
  • ESP8266 ESP-12E,12CNY;
  • ESP32 WROOM,18CNY;

目标是在任意主机,包括RPi/Android/PC/Mac上都可以即插即用,快速架设网关。

软硬件接口

LoRa USB的接入方式,有点儿类似WiFi/蓝牙,尤其是蓝牙HCI接口。HCI接口将PHY (物理层)/DLL (数据链路层)留给了USB Dongle,数据链路层以上在主机实现。而DLL包括两个子层:

  1. MAC (媒体访问层)
  2. LLC (逻辑链路层)
bluetooth_protocol.jpg

Fig 1: Bluetooth HCI 架构图

还有一种比较大胆的非标准模式,即USB/SPI桥接模式。之所以不使用CP/CH/PL的标准USB/SPI转换IC,是因为:MCU可以即时响应中断,而且可以利用RAM缓存更多报文,而纯粹的转换IC非但做不到,即便做到了,也会对主机OS的实时性有一定要求

固件架构

固件主要包括:

  • Driver for SPI(s)
  • LoRa Radio PHY;
  • LoRa Radio LoRaMAC;
  • Driver for USB/CDC-ACM;
  • Host interface.

因为MAC固化在MCU中,选择合适的用户升级模式,是一个蛮重要的选项,包括Bootloader和SWD下载都是如此。从这个角度看,STM32F103C8的资源比较有限。即便是libmaple bootloader都需要F103CB才行。

软件架构

因为要在不同平台上运行,如Windows/Linux/Mac以及Android上。所以采用跨平台语言比较合理,如Python/Lua/JS,如果是C/C++,则需要更多细节需要注意。并在此基础上运行LoRaMAC/LoRaWAN daemon。

相关文章

网友评论

    本文标题:USB Dongle作为网关收发前端

    本文链接:https://www.haomeiwen.com/subject/fsytoftx.html