提示1:锐米所有 LoRa 产品严格遵循国标标准的 LoRaWAN 协议。
提示2:您可以免费复制,修改和商用本项目,请注明锐米原创。
提示3:如果您有其他 LoRa 需求或建议,欢迎联系锐米 [email protected]
LoRa 红外测温可自动测量人体温度,基于 LoRa 传送到服务器和 App,既可实时报警“发烧”人群,又可以生成体温健康报表。
物联网 Arduino LoRa LoRaWAN 红外测温
LoRa 扩展板 x 1 采购链接
Arduino UNO x 1 采购链接
220欧姆电阻 x 1 采购链接
天线 x 1 采购链接
杜邦线 x 9 采购链接
LoRaServer 下载链接
LoRaApp 下载链接
Arduino IDE 下载链接
2020 年春节前,新型冠状病毒肺炎爆发,影响全国亿万民众的生活和工作。该病症有一个临床特性,发烧到 37.5 度以上。
为了有效抗击该传染病,我们设计 LoRa 红外检测体温系统,非接触式测量体温,自动识别“发烧”疑似病人。
该智能系统可以部署在:学校,写字楼,商场,园区,医院,火车站,汽车站,港口,机场等入口。
相比传统的产品,LoRa 红外检测体温具备的优点为:
本项目开源设计 LoRa 红外检测体温的核心—软件和硬件,用户选择一个漂亮的外壳和电池,即可组成一个产品。
同时,简介了 LoRa 网络组件,轻松构建一个商用的健康监测物联网。
这是专为 Arduino 而设计的 LoRa 扩展板,既可以安装在 Arduino UNO 上,也能使用杜邦线连接到 Arduino Pro Mini。
它能达到空旷 10km 的通信距离,休眠电流仅 1.3uA。精心设计的软件库,使其开发极为容易:
LoRa.write("123", 3);
if (LoRa.availabe()) {
len = LoRa.read(buf, MAX_LEN);
}
Arduino UNO 是最常用的开发板,它便宜简单,接线方便。
MLX90614 红外测温模块,无接触式测量,体积小,成本低,医疗应用的高精度,高分辨率 0.02℃。
470MHz 胶棒天线,增益 3.5dB,特别适合中国 LoRa 频段范围(470~510MHz)。
如下图所示,使用公对母的杜邦线连接 Arduino、红外测温模块、按钮、蜂鸣器和电阻。
如下图所示,LoRa 红外测温上报人体温度给服务器和 App
为此,需要配置如下的网络组件:
如下图所示,LoRa 红外测温终端采集4 字节浮点型小端数据,通过 LoRa 发送,App 显示人体温度。
如下图所示(实物拍摄),ArduinoLoRa+ 的低功耗可达 1.4uA,这不仅是行业第一的超低功耗,而且达到了器件极限!
编译本工程需要添加 LoRa 和 MLX90614 驱动库,下载这 2 个库:
LoRa 驱动库
MLX90614
使用 Arduino IDE 打开工程,点击"Sketch -> Include Library -> Add .ZIP Library…"
Arduino 的 zip 库安装路径一般为:C:\Users\Administrator\Documents\Arduino\libraries
Arduino 的代码简洁,容易理解,下载链接
#include
#include // Wire library for I2C communication
#include // MLX90614 library from Adafruit
lora LoRa;
Adafruit_MLX90614 MLX90614 = Adafruit_MLX90614();
const int buttonPin = 2;
const int speakerPin = 13;
const int debounceDelay = 50; // milliseconds to wait until stable
#define DEBUG 0 // 0=disable, 1=enable
#if DEBUG
#include
SoftwareSerial debugSerial(8, 9); // 8=RX, 9=TX
#endif
boolean debounce(int pin)
{
boolean state;
boolean previousState;
previousState = digitalRead(pin); // store switch state
for (int counter=0; counter < debounceDelay; counter++)
{
delay(1); // wait for 1 millisecond
state = digitalRead(pin); // read the pin
if (state != previousState)
{
counter = 0; // reset the counter if the state changes
previousState = state; // and save the current state
}
}
// here when the switch state has been stable longer than the debounce period
if (LOW == state)
return true;
else
return false;
}
void setup()
{
pinMode(speakerPin, OUTPUT);
pinMode(buttonPin, INPUT);
digitalWrite(buttonPin, HIGH); // pull up that would read LOW if pressed
Serial.begin(115200); // for LoRa Node
MLX90614.begin();
#if DEBUG
debugSerial.begin(9600); // add this to the setup function
#endif
}
void loop()
{
double array[1];
if (debounce(buttonPin))
{
array[0] = MLX90614.readObjectTempC(); // get temperature from MLX90614
LoRa.write(array, sizeof(array[0]));
digitalWrite(speakerPin, HIGH);
delay(100);
digitalWrite(speakerPin, LOW);
#if DEBUG
debugSerial.println(array[0]);
#endif
}
}
批量生产的一些技术挑战:尺寸,成本,功耗,烧录,升级。
我们为您准备好解决方案:低成本快速开发LoRa终端:从1到10000
为了识别被测体温者的身份信息,这可以与市场现有的考勤和门禁系统对接。这样,RFID、二维码、指纹、人脸识别、NFC…等成熟的技术可以利用,降低成本。
红外测温精度受一些因素的影响,包括
如果要进一步提高测温精度,这需要