预算有限的LoRa学习和系统集成
淘宝上的用户询盘千奇百怪,不过有时候回答他们之余,可以记录下来,整理成文字之后与大家共享。最近的用户询盘都很奇怪,在普通问题之后都是是否能够开发票,是否免邮,是否送仿真器之类的财务话题。作为一名穷开发的,只能够回答 臣妾做不到啊 。
大伏天,光着膀子焊接,还送天线、包装、邮费、固件、售后服务,难道我掏钱倒贴呢?请先摸摸脸,防止打脸,再摸摸良心,小心我一脚踹上去。
从业主到集成商,都预算有限
不过这倒是道出一个事实,LoRa开发者都是预算有限的人。LoRa系统与电信运营商主导的NB/eMTC/CAT.x最大区别在于,业主首先就是预算敏感型的,希望回避月费支出。所以业主找到的系统集成商一定预算不会高。
STM和Semtech推出的开发板最初是2000多元人民币,后来逐渐降低到500,300,170元人民币左右。当然配置也逐渐降低。目前最廉价的开发组合是基于Murata模块的Arduino Shield配合STM NUCLEO-L073R开发板。但是这套开发板还有两个问题:
- 频率是868MHz,针对欧洲市场;
- 需要LoRaWAN网关。
一个网关的价格至少是1000元人民币。所以这种配置适合在欧洲开发,尤其是意大利、法国、甚至台北等地,有LoRa网络的情况下实现开发。
预算配置组合
正是看到这一点,我才会从Arduino Shield开始,到USB Dongle,到集成产品提供各个层次的产品。先从最基础的硬件开发降低开发者进入门槛。
Shield + MCU
- Shield: RFM110L,433/470/868/915MHz
- MCU: NUCLEO/FRDM/Xpresso/Maple,Arduino/Wiring及兼容品牌
我提供的RFM110L就是仿照Murata的模式的Arduino Shield,所以直接压缩Shield支出,但是NUCLEO开发需要自备。这种开发组合的特点是扩展容易,可以支持ADC/PWM/I2C/SPI等,MCU也可以自由替换,编程也比较容易。我之所以坚持使用mbed编程,就是因为mbed在不同MCU之间切换是 秒切 ,根本不需要移植。
STM曾经是价格最低的MCU,所以大家都使用LL/HAL编程,但是最大问题在于MCU切换的时间太长,至少是小时计算。虽然CubeMX简化了这一个过程。但是和mbed之间完全没有任何可比性。最近,STM价格上涨,我就考虑使用NXP LPC8XX系列替代STM32L0X系列,使用mbed进行秒切。根本不考虑底层SDK切换。
目前,这种配置组合,单套开发板大约130元人民币左右。STM曾经以极低价格推销NUCLEO开发板,但是这种好日子没有了。当然不排除不要利润的企业补贴。
来吧,像免费单车一样补贴吧。
USB Dongle
USBLR110M和USBLR1000是我目前主推的产品,特点是USB/UART两路输出,两者差异在与MCU的配置和GPIO不同。
友商提供的大多数产品都是基于UART,好处是适合低功耗设备开发目的,缺点是需要外部再加一枚MCU。这样整体功耗其实并没有减少。而连接到PC作为终端,成本也没有降低。
所以,我设计的时候一开始就是以单片方案为主,兼顾多片方案。既可以作为UART透传以及BLE/Wi-Fi桥接,还可以通过USB实现PC直连。成本两者相差不多。
STM32价格上涨之后,我在考虑使用NXP的LPC11UXX或KL2X来替代STM32。
MAC、网关与开发成本
现在大体上有两种MAC,一种是官方LoRaWAN,需要网关,如果周围没有城市网关,自购成本很高。一种是类似电台的模式,适合小规模应用。应该说大多数城市级别IoT应用应该使用LoRaWAN网关。所以MAC的选择决定了是否需要网关,而网关的成本构成了研发成本的主体。
但是开发阶段没有网关,怎么办?唯有LoRaWAN单通道网关可以解决。否则开发者没有选择,因为如果没有LoRaWAN,只有走数传电台模式。
目前,我基于USB Dongle的固件开发主要集中在:
- 小规模LoRa数传电台;
- LoRaWAN设备;
- LoRaWAN单通道网关。
希望每个层次的开发都能够为我的用户带去足够的支持,降低研发成本。