usb dongle android,USB Dongle作为网关收发前端

常见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包括两个子层:

MAC (媒体访问层)

LLC (逻辑链路层)

9f81476521af

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。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值