低成本快速开发 LoRa 终端:从 1 到 10000

“生物是在遗传、变异、生存斗争中和自然选择中,由简单到复杂,由低等到高等,不断发展变化的” — 《物种起源》 达尔文

提示1:锐米所有 LoRa 产品严格遵循国际标准的 LoRaWAN 协议
提示2:如果您有其他 LoRa 需求或建议,欢迎联系锐米 support@rimelink.com

智联万物,让生活更美好,这是 LoRa 物联网的美好愿景。

现在,上百种传感器(执行器)即将接入 LoRa 物联网,这给产业界带来一个挑战—低成本快速开发 LoRa 终端

为应对该挑战,我们推出一种“革命性”解决方案—ArduinoLoRa+传感器(执行器)

本方介绍批量生产 LoRa 终端的方法,实现从 1 到 10000。如果您需要从 0 到 1 打造原型机,请参考:

低成本快速开发 LoRa 终端:从 0 到 1

硬件开源,让您按需设计 LoRa 终端尺寸

Makerbot 公司基于 Arduino 设计了 3D 打印机,很明显,它将 Arduino 必需的所有元件集成到一个自己设计的开发板上。

基于 Arduino 设计 3D 打印机

Makerbot 公司 Arduino 3D 打印机
Makerbot 公司 Arduino 3D 打印机
同样,一旦完成了 Arduino LoRa 终端的原型机。量产时,我们完全可以按需设计 PCB:提取必需的元器件(AVR单片机,LoRa 模块,传感器等),轻松制作理想尺寸的 PCB。虽然外形与 Arduino 开发板不同,但完全兼容。

制作与 Arduino 硬件兼容的 PCB 非常简单。事实上,Arduino 官方提供了电路图与 PCB 布局设计,供大家下载使用。

Arduino UNO 硬件开源资料
Arduino Pro Mini 硬件开源资料

仅¥3的AVR单片机, LoRa 终端批量低成本

根据行业经验,如果 LoRa 终端仅小批量生产(<100),最好的方案是选用合适的开发板,因为定制 PCB 和焊接生产是一件“费时费力又容易出错”的工作。

当然,如果 LoRa 终端需要大批量生产(>1000),这才需要考虑定制 PCB—节省 开发板上不需要的元器件。

所幸的是,如 1 介绍的,定制 Arduino 兼容的 PCB 唯一需要的是一个合适的 AVR 单片机,而它大批量价仅 ¥3。

从 0 到 100

接线图

从 100 到 10000
从 100 到 10000

LoRa 终端休眠仅1.4uA,2节AA电池可工作数年

如果 LoRa 终端长时间使用电池供电时,例如在远程监控的场景下,此时电池或太阳能是唯一的选择,功耗就变得很重要了。

降低功耗是一把双刃剑—越趋向理想化,开发代价越大。从易到难的实现办法如下:

更换开发板且降低电压,难度 *

Arduino UNO 工作电流为 48mA,而 Arduino Pro Mini 工作电流为 8mA,UNO 开发板的 USB 接口芯片,点亮的 LED 和 3.3V
稳压器消耗了 40mA。
同样的 Arduino Pro Mini 电路板,当供电从 9V -> 5V -> 3.3V 切换时,工作电流相应从 42mA -> 22mA -> 8mA。

断开高功耗部件,难度 **

亮着的 LED 会消耗 2.1mA,光敏电阻会花费 3.3mA 电流,传感器/执行器需要更大的电流。除了仔细设计硬件外,软件要在这些部件“不需要工作”时断开电源。

Arduino空闲时休眠,难度 ***

以下 2 种办法都能将 Arduino 功耗降到 1mA 以下,它们都让 Arduino 进入休眠,只是唤醒的办法不同。

定时器

使用 Narcoleptic 库是一件容易的事,对于延时 1 秒,相比 delay(1000) 只需要修改为 Narcoleptic.delay(1000)

外部中断

设置休眠模式为 SLEEP_MODE_PWR_DOWN,类型为 LOW 的引脚中断可以唤醒 Arduino。

关闭一些模块,难度 ****

关闭不使用的 AVR 功能模块可以节省少量的电能,实验发现关掉 5V,16Mz 的 Arduino Pro Mini 的所有模块节约 1.5mA。

降低时钟频率,难度 *****

使用 Arduino 的 Prescaler 库可以降低时钟频率,频率与功耗的关系大致如下(1MHz是拐点):
16MHz=7.8mA,8MHz=5.4mA, 4MHz=4.0mA,2MHz=3.2MA, 1MHz=2.6mA
当然,降低频率将使 Arduino 运行更慢,这可能会成为一个问题,需要仔细考虑。

如下图所示(实物拍摄),ArduinoLoRa+ 的低功耗可达 1.4uA,这不仅是行业第一的超低功耗,而且达到了器件极限 ArduinoLoRa 休眠极限 1.4uA

如下图所示,2 节 5 号碱性电池容量约 2890mAH,因为温湿度短时间变化不大,设每 10 分钟采集,电池可工作近 6 年。
终端电池寿命计算器
在这里插入图片描述

灵活地烧录固件,降低 LoRa 终端制造成本

内置 Bootloader 是 Arduino 开发板最大的优势之一,它通过串口即可实现 MCU 为自己编程,这也是 Arduino 开发板从来不需要“编程器”的原因。

批量生产中仍然可以保留 Bootloader,这样,使用简单的 2 根连线(RxD 与 TxD )即可实现产品烧录固件。

许多供应商销售已经装好 Arduino Bootloader 的 AVR 单片机,如果价格合适,这是最便捷的方式。

当然,也可以自己动手为 AVR 单片机烧录 Bootloader(俗称“烧裸片”),只需要采购一个烧录器,选择对应 AVR 型号和电气属性(3.3V or 5V, 8MHz or 16MHz),点击:Tools -> Burn Bootloader

如果用户需要最大限度地使用 AVR 闪存空间(Bootloader 占用 256B~4kB,具体取决于 AVR 类型),或者不想使用标准的 Arduino 方式中的 RxD 与 TxD的 2 根连线上传程序(比如该接口被占用),那么可以直接使用 ICSP 接口加载已经编译好的程序。这需要使用编程器,如 USBasb 或 USBtinyISP。

借力Arduino IDE,轻松升级 LoRa 终端

得益于 Arduino IDE 的封装技术,通过隐藏大量的技术细节和简化开发流程。它让聪明的“玩家”总是使用简洁,高效的代码,设法让 Arduino 去做更有趣,更复杂的事情。

升级固件是 LoRa 终端生命周期中重要的一环,可能的原因有:修复bug,添加功能,升级协议,安全补丁,优化性能。

如“瑞士军刀”般灵活的 Arduino IDE 为升级固件提供便利。

  • 大部分情况下,LoRa 终端的 AVR 单片机保留了 Bootloader,升级固件只需要使用串口工具连接 PC,使用 Arduino IDE 上传即可。

  • 如上节所介绍,也有少数情况,LoRa 终端的 AVR 单片机没有 Bootloader,这得需要编程器升级固件。所幸的是 Arduino IDE 支持对 AVR 单片机编程,在 Tools -> Programmer 中选择对应的编程器,点击 Sketch -> Upload Using Programmer 即可启动。

  • Arduino IDE 甚至提供实用程序加载到一块 Arduino 开发板,使它变为一个编程器,实现给 AVR 单片机升级固件。当手头缺少编程器,此方法也可以解燃眉之急。

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值