1 시간 오픈 소스 디자인 로라 연기 경보

1 팁 : 루이 미터 로라 모든 제품은 엄격하게 따라 GB 표준 LoRaWAN 계약을 .
2 팁 : 당신은, 복사, 수정 무료이며 프로젝트의 상업용, 적어주십시오 날카로운 미터 독창성을 .
3 팁 : 다른 로라 요구 또는 제안, 제발 연락 루이 미터가있는 경우 [email protected]

로라 연기 경보

로라 화재 앱 로라, 라이브 소리와 빛 경보, 경보 및 원격 네트워크 모두에 서버를 기반으로 전송, 알람 지능적인 판단을 연기.
상황이 아두 이노 로라 LoRaWAN 연기 경보

운영 결과

아래와 같이 검출 연기 밀도는 임계 값, 로라 연기 경보 소리와 빛 경보, 전송 메시지 로라, 앱 화재의 이벤트를 표시를 초과합니다.

구성 요소 및 재료

LoRa 扩展板X 1 로라 확장 보드 구매 링크
****
Arduino UNO 아두 이노 우노 1 × 구매 링크
****
光电式烟雾传感器광전 연기 센서 (1 개) X 구매 링크
****
蜂鸣器부저 1 × 구매 링크
****
电阻(220 옴 저항의 2 배 + 10K 오옴 저항 X1)로 구매 링크
****
天线안테나 1 × 구매 링크
****
듀퐁 라인은 8 × 구입 링크를

소프트웨어 및 네트워크

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 检测电池容量

추천

출처www.cnblogs.com/rimelink/p/12400338.html