提示1:锐米所有 LoRa 产品严格遵循国际标准的 LoRaWAN 协议。
提示2:您可以免费复制,修改和商用本项目,请注明锐米原创。
提示3:如果您有其他 LoRa 需求或建议,欢迎联系锐米 support@rimelink.com
LoRa 红外感应终端
LoRa 红外感应终端可自动探测人体的活动,基于 LoRa 传送到服务器,既可向监控平台发送报警信号,又可以自动控制电器设备。
LoRa LoRaWAN 红外感应 开源设计 Arduino
运行效果
如下图所示,侦测到安全区域内有人体活动,LoRa 终端进行声光报警,通过 LoRa 发送消息,App 显示本次感应事件。
ArduinoLoRa+红外感应演示视频
项目介绍
应急处理保障生命财产安全,一直是社会的基本需求。
LoRa 红外感应终端可自动探测人体的活动,既可向监控平台发送报警信号,又可以自动控制照明、空调等电器设备,以降低能耗和提升用户体验感。
LoRa 红外感应终端广泛应用于:住所、商铺、仓库、银行、办公室等场景。
红外防盗报警系统
空间检测
丰富的应用场景
相比传统的产品,LoRa 红外感应终端具备的优点为:
- 安装简单便捷,不需要布线
- 长距离通信,防止数据丢失
- 超低功耗,2节5号电池工作数年
本项目开源设计 LoRa 红外感应终端的核心—软件和硬件,用户选择一个漂亮的外壳和电池,即可组成一个产品。
同时,简介了 LoRa 网络组件,轻松构建一个商用的安防物联网。
组件和材料
LoRa 开发板 x 1 采购链接
红外感应模块 x 1 采购链接
蜂鸣器 x 1 采购链接
LED x 1 采购链接
220欧姆电阻 x 1 采购链接
杜邦线 x 8 采购链接
软件和网络
LoRa网关 采购链接
LoRaServer 下载链接
LoRaApp 下载链接
Arduino IDE 下载链接
技术细节
元器件介绍
LoRa 开发板遵循 LoRaWAN 国际标准,兼容 SX130x 八通道和 SX127x 单/双通道网关,接入 loraserver
软硬件 100% 兼容 Arduino,借助全球开源软件降低开发成本,串口下载程序(无须仿真器)。
它能达到空旷 10km 的通信距离,休眠电流仅 1.4uA。精心设计的软件库,使其开发极为容易:
- 发送数据
LoRa.write("123", 3);
- 接收数据
if (LoRa.availabe()) {
len = LoRa.read(buf, MAX_LEN);
}
SR301 微型人体红外感应模块 PIR,电压:DC3~12V,静态电流:<0.1mA,感应范围:<=120 度外锥角。
有源压电式蜂鸣器,音量高达 90dB,宽范围供电 3~24v,性价比高。
硬件接线
如下图所示,使用公对母的杜邦线连接 LoRa 开发板、红外感应模块、蜂鸣器和电阻。
通信逻辑
如下图所示,LoRa 红外感应终端上报人体活动事件给 App。
为此,需要配置如下的网络组件:
行业第一的超低功耗—休眠仅 1.4uA
如下图所示(实物拍摄),Arduino LoRa+ 的低功耗可达 1.4uA,这不仅是行业第一的超低功耗,而且达到了器件极限 ArduinoLoRa 休眠极限 1.4uA
如下图所示,2 节 5 号碱性电池容量约 2890mAH,因为 LoRa 红外感应终端是”平时休眠,触发供电“,设平均 10 分钟工作一次,电池可工作近 9 年。终端电池寿命计算器
Arduino 代码
编译本工程需要添加 LoRa 驱动库
使用 Arduino IDE 打开工程,点击"Sketch -> Include Library -> Add .ZIP Library…"
Arduino 的 zip 库安装路径一般为:C:\Users\Administrator\Documents\Arduino\libraries
Arduino 的代码简洁,容易理解,下载链接
/*
PIR sketch
a Passive Infrared motion sensor connected to pin 2
lights the LED on pin 13
*/
#include <lora.h>
lora LoRa;
const int ledPin = 13; // choose the pin for the LED
const int inputPin = 2; // choose the input pin (for the PIR sensor)
void setup()
{
pinMode(ledPin, OUTPUT); // declare LED as output
pinMode(inputPin, INPUT); // declare pushbutton as input
Serial.begin(57600); // for LoRa Node
}
void loop()
{
boolean array[1];
int val = digitalRead(inputPin); // read input value
if (HIGH == val) // check if the input is HIGH
{
array[0] = true;
LoRa.write(array, sizeof(array[0])); // report to LoRa Server that a motion detected
digitalWrite(ledPin, HIGH); // turn LED on if motion detected
delay(3000);
digitalWrite(ledPin, LOW); // turn LED off
}
}
低成本批量生产
批量生产的一些技术挑战:尺寸,成本,功耗,烧录,升级。
我们为您准备好解决方案:低成本快速开发LoRa终端:从1到10000