1 hour, open-source design LoRa smoke alarm

Tip 1: Rui meter LoRa all products strictly follow the GB standard LoRaWAN agreement .
Tip 2: You are free to copy, modify and commercial of the project, please indicate sharp meters originality .
Tip 3: If you have other LoRa needs or suggestions, please contact Rui meters [email protected]

LoRa smoke alarm

LoRa Fire Smoke alarm intelligent judgment, based on the server and transmitted to the App LoRa, both live sound and light alarm, alarm and remote network.
Things Arduino LoRa LoRaWAN smoke alarm

running result

As shown below, detected smoke density exceeds the threshold value, Lora smoke alarm sound and light alarm, send messages LoRa, App Display the event of a fire.

Components and materials

LoRa 扩展板X 1 LoRa expansion board purchase link
****
Arduino UNO the Arduino the UNO x 1 purchasing link
****
光电式烟雾传感器photoelectric smoke sensor x 1 purchasing link
****
蜂鸣器buzzer x 1 purchasing link
****
电阻(220 ohm resistor x2 + 10k ohm resistor x1) purchase link
****
天线antenna x 1 purchasing link
****
Dupont line x 8 Purchasing links

Software and network

LoRa网关 LoRa网关 采购链接
****
LoRaServerLoRaServer 下载链接
****
LoRaApp 下载链接
****
Arduino IDEArduino IDE 下载链接

项目介绍

全国每年大约会发生 23 万起火灾,有近 2000 人死于火灾,经济损失高达 200 亿元,防火从古以来都是社会的基本需求。

LoRa 烟雾报警器能预先感知火灾,现场声光报警,通知周围的人们;更重要的是,它能远程联网报警,及时通知处理火情;联网使它维保便捷---故障自检,电池容量等

LoRa 烟雾报警器可以部署在:家庭,学校,酒店,写字楼,工厂,仓库,古建筑等场景。
****
LoRa 智慧消防系统

LoRa 智慧消防系统
****
无线设计 安装便利
无线设计_安装便利
****
相比传统的产品,LoRa 烟雾报警器具备的优点为:

  • 安装简单便捷,不需要布线
  • 远程报警,维保便捷
  • 成本低廉,没有流量费用
  • 超低功耗,2节5号电池工作数年

本项目==开源设计 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

Arduino UNO 是最常用的开发板,它便宜简单,接线方便。
****
光电式烟雾传感器
光电式烟雾传感器,通过一束红外光和一个光敏感应器来测量烟的浓度,功耗低,成本低,稳定可靠。
****
天线
470MHz 胶棒天线,增益 3.5dB,特别适合中国 LoRa 频段范围(470~510MHz)。

硬件接线

如下图所示,使用杜邦线连接 Arduino、光电式烟雾传感器和蜂鸣器。

  • 光电式烟雾传感器的红外发光二极管串联 220 欧姆的电阻
  • 光电式烟雾传感器的光电二极管串联 10k 欧姆的电阻
  • 蜂鸣器串联 220 欧姆的电阻 硬件接线
    ## 通信逻辑
    如下图所示,LoRa 烟雾报警器上报烟雾浓度给服务器和 App

为此,需要配置如下的网络组件:

通信逻辑

行业第一的超低功耗---休眠仅 1.4uA

如下图所示(实物拍摄),ArduinoLoRa+ 的低功耗可达 1.4uA,这不仅是==行业第一的超低功耗,而且达到了器件极限==!
低功耗可达 1.4uA
如下图所示,2 节 5 号碱性电池容量约 2890mAH,因为 LoRa 烟雾报警器是”平时休眠,触发供电“,设平均 10 分钟工作一次,电池可工作近 9 年。终端电池寿命计算器
电池工作寿命近 9 年

Arduino 代码

编译本工程需要添加LoRa 驱动库

使用 Arduino IDE 打开工程,点击"Sketch -> Include Library -> Add .ZIP Library..."

Arduino 的 zip 库安装路径一般为:C:\Users\Administrator\Documents\Arduino\libraries

Arduino 的代码简洁,容易理解,下载链接

  • DEBUG 设置为 0 禁止调试功能;设置为 1 它将通过 8 和 9 两个引脚打印调试信息(使用“USB转串口”连接到 PC)
  • debounce() 可靠地检测按钮的闭合,它使用”去抖“算法,仅当在指定周期(本例为 50ms)按钮保持稳定,才返回状态值(按下为真,不按为假)。
#include <lora.h>
#include <Wire.h>              // Wire library for I2C communication
#include <Adafruit_MLX90614.h> // 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.h>
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);  
  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 烟雾报警器的==硬件成本约 ¥60==,这依赖于批量数目和供货渠道。

批量生产的一些技术挑战:尺寸,成本,功耗,烧录,升级
我们为您准备好解决方案:低成本快速开发LoRa终端:从1到10000

工作原理

光电式烟雾传感器原理

  • 光电式烟雾传感器由光学模块和一个黑暗的烟雾迷宫组成。光学模块采用红外发光二极管(IRED)和光电二极管(PD),2 者的位置是偏离的。
  • 无烟情况下,IRED 沿腔室直线发送光束(类似于激光指示器),PD 接收不到红外光,不产生光电流
  • 有烟情况下,烟雾粒子会将部分光束散射到 PD 上,使其阻抗发生变化,产生光电流
    ****
    光电式烟雾传感器实物与内部结构
    在这里插入图片描述
    ****
    光电式烟雾传感器工作原理
    光电式烟雾传感器原理

计算 IRED 串联电阻

红外发光二极管(IRED)需要一个串联电阻来控制电流,否则它会很快烧坏

与 IRED 串联的电阻被用于控制 IRED 导通时的电流量。为了计算电阻值,需要知道输入电源电压(Vs,Arduino UNO 为 5V,有些 Arduino Pro Mini 为 3.3V),IRED 的正向电压(Vf)和流过 IRED 的电流(I)的数值。
其电阻欧姆值的计算公式(称为欧姆定律)为:

R = (Vs - Vf) / I

在本设计中,用 5V 的输入电源电压和 15mA 电流来驱动正向电压为 1.8V 的 IRED 会使用以下值:

Vs = 5V, Vf = 1.8V, I = 0.015A

代入公式则有

R = (5V - 1.8V) / 0.015A = 213 欧姆

231 欧姆不是一个标准电阻值,所以把它取整为 220 欧姆。

该电阻器如接线图所示连接在电源和 IRED 的阳极之间,但它也可以被连接到 LED 的另一侧(阴极和地之间)。

Arduino 的引脚具有 40mA 的额定最大电流。如果 IRED 需要比这更大的电流,这需要使用晶体管驱动电路。

计算 PD 串联电阻

如下图所示,光电二极管是加反向电压,无光时,反向电阻为无穷大;如果有光照,反向电阻随光照强度减小。
(如果和普通二极管一样加正向电压,光电二极管只有单向导电性,无法表现出它的光电效应。)

A0 模拟计数的值由负载电阻 R 和 PD 的阻抗决定,即有:

analogRead() = 1023 * R / (R + PD)

在本设计中选用的负载电阻 R 为 20M 欧姆,因此有:

  • 无光时,PD 阻抗为无穷大,analogRead() 读数为 0
  • 弱光时,PD 阻抗约为 80M 欧姆,analogRead() 读数为 200 左右
  • 强光时,PD 阻抗约为 1K 欧姆,analogRead() 读取为 1023
    加反向电压测量光电二极管电流

    延伸应用

  • 降低功耗
    如上设计所示,红外发光二极管的工作电流达到 15mA,要提升电池的续航时间,这需要降低电流。

    一种可行的办法是间歇驱动,如以每秒 1ms 的脉冲,由于它的占空比为 1/1000 秒,15mA 电流除以 1000,平均仅 15µA 的电流。

  • 提高灵敏度
    行业里,用户经常抱怨烟雾报警器灵敏度不好 --- 对着设备点香烟也不报警!

    为此,可以通过 LoRaApp 下行设置报警阈值,这样,可以按用户的意愿对烟雾浓度做出反应。

  • 避免误判
    电路的噪音可能导致光电二极管阻抗变化,为避免误判火灾,这需要软件在检测到光电流后,多次采样多次判断

  • 及时静音
    当烟雾报警器蜂鸣器响起后,持续的高分贝声音会让周围的人们难受。除了添加按钮静音外,还可以通过 LoRaApp 下行设置静音,后者特别适合不方便接触设备的场景。

  • 检测电池容量
    电池容量对于 LoRa 烟雾报警器的维保意义重大。下面链接的方法可以让 LoRa 烟雾报警器定时检测电池容量,LoRaApp 实时显示和低压提醒。
    花 1 小时,开源设计 LoRa 检测电池容量

Guess you like

Origin www.cnblogs.com/rimelink/p/12400338.html