提示1:锐米所有 LoRa 产品严格遵循国际标准的 LoRaWAN 协议。
提示2:您可以免费复制,修改和商用本项目,请注明锐米原创。
提示3:如果您有其他 LoRa 需求或建议,欢迎联系锐米 support@rimelink.com
把低功耗做到极致
超过 80% 的 LoRa 终端将由电池供电,这样一来,低功耗将是一个核心的技术挑战,一旦电能耗尽设备将“罢工”,在某些场合电能意味着 LoRa 终端的寿命。
ArduinoLoRa+ 是锐米推出的低成本快速开发 LoRa 终端方案,它能达到行业第一的低功耗(1.4uA),最大限度地延长电池续航能力。
下面,逐步解密 ArduinoLoRa+ 极限低功耗是如何实现的。
组件和材料
LoRa 开发板 x 1 采购链接
电池盒 x 1 采购链接
鳄鱼夹 x 2 采购链接
杜邦线 x 4 采购链接
工具和软件
Arduino IDE 下载链接
下载烧录器 采购链接
数字万用表 采购链接
技术细节
烧录休眠代码
按下表连接 LoRa 开发板 和 下载烧录器
LoRa 开发板 | 杜邦线 | 下载烧录器 |
---|
VCC | 红 | 3.3 |
GND | 黑 | GND |
RX | 绿 | TXD |
TX | 黄 | RXD |
DTR | 棕 | DTR |
设置 Arduino IDE
上传休眠代码
#include <avr/sleep.h>
void setup ()
{
pinMode(LED_BUILTIN, OUTPUT);
int count;
for (count = 0; count < 5; ++count)
{
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(200); // wait for 200ms
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(200); // wait for 200ms
}
// disable ADC
ADCSRA = 0;
set_sleep_mode (SLEEP_MODE_PWR_DOWN);
noInterrupts (); // timed sequence follows
sleep_enable();
// turn off brown-out enable in software
MCUCR = bit (BODS) | bit (BODSE);
MCUCR = bit (BODS);
interrupts (); // guarantees next instruction executed
sleep_cpu (); // sleep within 3 clock cycles of above
} // end of setup
void loop () { }
LoRa 自动休眠
LoRa 开发板上电后闪烁 LED 共 5 次(表示正常工作),LoRa 模块入网后将自动休眠。将电流表串联在上述电路中,测量休眠电流为 1.4uA
唤醒技术
很明显,一个永久休眠的 ArduinoLoRa 平台是没有意义的,它需要被唤醒以从事某些工作,这可以通过“定时器”和“外部中断”来完成。请参考:
- ArduinoLoRa 休眠中断唤醒 1.4uA
- ArduinoLoRa 休眠定时器唤醒 5.5uA
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)