提示1:锐米所有 LoRa 产品严格遵循国际标准的 LoRaWAN 协议。
提示2:您可以免费复制,修改和商用本项目,请注明锐米原创。
提示3:如果您有其他 LoRa 需求或建议,欢迎联系锐米 support@rimelink.com
运行效果
LoRa 模块入网后将自动休眠,Arduino 上电后休眠,将电流表串联在上述电路中测量值为 5.5uA。定时器每隔 4 秒唤醒 Arduino 电流增大,随后又进入休眠。
ArduinoLoRa 休眠定时器唤醒 5.5uA 演示视频
低功耗是核心技术
超过 80% 的 LoRa 终端将由电池供电,这样一来,低功耗将是一个核心的技术挑战,一旦电能耗尽设备将“罢工”,在某些场合电能意味着 LoRa 终端的寿命。
ArduinoLoRa+ 是锐米推出的低成本快速开发 LoRa 终端方案,即使开启“定时器”精准唤醒,它也能达到令人满意的低功耗(5.5uA),延长电池续航能力。
下面,逐步解密 ArduinoLoRa+ 定时器唤醒低功耗是如何实现的。
组件和材料
LoRa 开发板 x 1 采购链接
电池盒 x 1 采购链接
7 号电池 x 2 采购链接
鳄鱼夹 x 2 采购链接
杜邦线 x 8 采购链接
工具和软件
Arduino IDE 下载链接
下载器 采购链接
数字万用表 采购链接
技术细节
烧录 Arduino 休眠唤醒代码
按下表连接 LoRa 开发板 和 下载烧录器
LoRa 开发板 | 杜邦线 | 下载烧录器 |
---|---|---|
VCC | 红 | 3.3 |
GND | 黑 | GND |
RX | 绿 | TXD |
TX | 黄 | RXD |
DTR | 棕 | DTR |
设置 Arduino IDE
添加 Narcoleptic 低功耗定时器库
使用 Arduino IDE 打开工程,点击"Sketch -> Include Library -> Add .ZIP Library…"
Narcoleptic 软件库 下载链接
编译和烧录下述休眠定时器唤醒代码
#include <Narcoleptic.h>
void setup ()
{
// disable ADC
ADCSRA = 0;
} // end of setup
void loop ()
{
flash();
lowpwrDelay(4000); // During this time power consumption is minimised
}
void flash()
{
pinMode(LED_BUILTIN, OUTPUT);
for (byte count = 0; count < 10; ++count)
{
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(50); // wait for 50ms
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(50); // wait for 50ms
}
pinMode(LED_BUILTIN, INPUT);
}
void lowpwrDelay(long milliseconds)
{
while(milliseconds > 0)
{
if(milliseconds > 8000)
{
milliseconds -= 8000;
Narcoleptic.delay(8000);
}
else
{
Narcoleptic.delay(milliseconds);
break;
}//if
}//while
}
硬件接线
如下图所示,连接 LoRa 开发板和电池即可。