提示1:銳米全部 LoRa 產品嚴格遵循國標標準的 LoRaWAN 協議。
提示2:您能夠免費複製,修改和商用本項目,請註明銳米原創。
提示3:若是您有其餘 LoRa 需求或建議,歡迎聯繫銳米 support@rimelink.comhtml
LoRa 煙霧報警器智能判斷火災,基於 LoRa 傳送到服務器和 App,既可現場聲光報警,又能夠遠程聯網報警。
物聯網 Arduino LoRa LoRaWAN 煙霧報警git
以下圖所示,偵測到煙霧濃度超過閾值,LoRa 煙霧報警器進行聲光報警,經過 LoRa 發送消息,App 顯示本次火災事件。github
全國每一年大約會發生 23 萬起火災,有近 2000 人死於火災,經濟損失高達 200 億元,防火從古以來都是社會的基本需求。算法
LoRa 煙霧報警器能預先感知火災,現場聲光報警,通知周圍的人們;更重要的是,它能遠程聯網報警,及時通知處理火情;聯網使它維保便捷---故障自檢,電池容量等。服務器
LoRa 煙霧報警器能夠部署在:家庭,學校,酒店,寫字樓,工廠,倉庫,古建築等場景。網絡
LoRa 智慧消防系統app
無線設計 安裝便利ide
相比傳統的產品,LoRa 煙霧報警器具有的優勢爲:oop
本項目==開源設計 LoRa 煙霧報警器的核心---軟件和硬件==,用戶選擇一個漂亮的外殼和電池,便可組成一個產品。
同時,簡介了 LoRa 網絡組件,輕鬆構建一個商用的智慧消防物聯網。ui
LoRa 擴展板 x 1 採購連接
Arduino UNO x 1 採購連接
光電式煙霧傳感器 x 1 採購連接
蜂鳴器 x 1 採購連接
(220歐姆電阻x2 + 10M歐姆電阻x1) 採購連接
天線 x 1 採購連接
杜邦線 x 8 採購連接
LED x 1 採購連接
麪包板 x 1 採購連接
LoRa網關 採購連接
LoRaServer 下載連接
LoRaApp 下載連接
Arduino IDE 下載連接
這是專爲 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 是最經常使用的開發板,它便宜簡單,接線方便。
光電式煙霧傳感器,經過一束紅外光和一個光敏感應器來測量煙的濃度,功耗低,成本低,穩定可靠。
470MHz 膠棒天線,增益 3.5dB,特別適合中國 LoRa 頻段範圍(470~510MHz)。
以下圖所示,使用杜邦線鏈接 Arduino、光電式煙霧傳感器、LED和蜂鳴器。
以下圖所示,LoRa 煙霧報警器上報煙霧濃度給服務器和 App
爲此,須要配置以下的網絡組件:
以下圖所示(實物拍攝),ArduinoLoRa+ 的低功耗可達 1.4uA,這不只是==行業第一的超低功耗,並且達到了器件極限==!
以下圖所示,2 節 5 號鹼性電池容量約 2890mAH,由於 LoRa 煙霧報警器是」平時休眠,觸發供電「,設平均 10 分鐘工做一次,電池可工做近 6 年。終端電池壽命計算器
編譯本工程須要添加LoRa 驅動庫
使用 Arduino IDE 打開工程,點擊"Sketch -> Include Library -> Add .ZIP Library..."
Arduino 的 zip 庫安裝路徑通常爲:C:\Users\Administrator\Documents\Arduino\libraries
Arduino 的代碼簡潔,容易理解,下載連接
#include <lora.h> lora LoRa; const int buzzerPin = 13; const int photodiodePin = 0; // A0 const int smokeThreshold = 80; // 0 <= no smoke < 80, 80 < thin smoke < 200, 200 < thick smoke <= 1023 #define DEBUG 0 // 0=disable, 1=enable #if DEBUG #include <SoftwareSerial.h> SoftwareSerial debugSerial(8, 9); // 8=RX, 9=TX #endif void setup() { pinMode(buzzerPin, OUTPUT); Serial.begin(115200); // for LoRa Node #if DEBUG debugSerial.begin(115200); // for debug #endif } void loop() { // perfect interval for Arduino watchdog timer is: 15, 30, 60, 120, 250, 500, 1000, 2000, 4000, 8000 #define FAST_SAMPLE_INTERVAL 120 // 120ms #define NORMAL_SAMPLE_INTERVAL 1000 // 1000ms #define SAMPLE_NUMBER 16 int val, sum; int array[1]; val = analogRead(photodiodePin); #if DEBUG debugSerial.println(val); #endif if (smokeThreshold < val) // sentry observation { // Check fire danger after sentry alert sum = 0; for (int count = 0; count < SAMPLE_NUMBER; ++count) { val = analogRead(photodiodePin); sum += val; delay(FAST_SAMPLE_INTERVAL); } val = sum / SAMPLE_NUMBER; // get the average value if (smokeThreshold < val) { array[0] = val; LoRa.write(array, sizeof(array)); digitalWrite(buzzerPin, HIGH); delay(3000); digitalWrite(buzzerPin, LOW); #if DEBUG debugSerial.print("get fired, val = "); debugSerial.println(val); #endif } } delay(NORMAL_SAMPLE_INTERVAL); }
LoRa 煙霧報警器的==硬件成本約 ¥60==,這依賴於批量數目和供貨渠道。
批量生產的一些技術挑戰:尺寸,成本,功耗,燒錄,升級。
咱們爲您準備好解決方案:低成本快速開發LoRa終端:從1到10000
光電式煙霧傳感器實物與內部結構
光電式煙霧傳感器工做原理
紅外發光二極管(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 須要比這更大的電流,這須要使用晶體管驅動電路。
以下圖所示,光電二極管是加反向電壓,無光時,反向電阻爲無窮大;若是有光照,反向電阻隨光照強度減少。
(若是和普通二極管同樣加正向電壓,光電二極管只有單向導電性,沒法表現出它的光電效應。)
A0 模擬計數的值由負載電阻 R 和 PD 的阻抗決定,即有:
analogRead() = 1023 * R / (R + PD)
在本設計中選用的負載電阻 R 爲 10M 歐姆,所以有:
下降功耗
如上設計所示,紅外發光二極管的工做電流達到 15mA,要提高電池的續航時間,這須要下降電流。
一種可行的辦法是間歇驅動,如以每秒 1ms 的脈衝,因爲它的佔空比爲 1/1000 秒,15mA 電流除以 1000,平均僅 15µA 的電流。
提升靈敏度
行業裏,用戶常常抱怨煙霧報警器靈敏度很差 --- 對着設備點香菸也不報警!
爲此,能夠經過 LoRaApp 下行設置報警閾值,這樣,能夠按用戶的意願對煙霧濃度作出反應。
避免誤判
電路的噪音可能致使光電二極管阻抗變化,爲避免誤判火災,這須要軟件在檢測到光電流後,屢次採樣屢次判斷。
及時靜音
當煙霧報警器蜂鳴器響起後,持續的高分貝聲音會讓周圍的人們難受。除了添加按鈕靜音外,還能夠經過 LoRaApp 下行設置靜音,後者特別適合不方便接觸設備的場景。
檢測電池容量
電池容量對於 LoRa 煙霧報警器的維保意義重大。下面連接的方法可讓 LoRa 煙霧報警器定時檢測電池容量,LoRaApp 實時顯示和低壓提醒。
花 1 小時,開源設計 LoRa 檢測電池容量