電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>洪水災(zāi)害預(yù)警系統(tǒng)開源構(gòu)建

洪水災(zāi)害預(yù)警系統(tǒng)開源構(gòu)建

2023-06-28 | zip | 0.50 MB | 次下載 | 免費(fèi)

資料介紹

描述

介紹

Sparkfun Artemis ATP RedBoard、Sparkfun 傳感器分線板和 Sparkfun Qwiic 回聲系統(tǒng)是物聯(lián)網(wǎng)世界的事實。

連接物聯(lián)網(wǎng)網(wǎng)關(guān)

我計劃在項目中使用 SIM800/900 與我的 Web 套接字服務(wù)器進(jìn)行數(shù)據(jù)通信,但我的 SIM800 在與 ISP 連接時出現(xiàn)了一些問題。所以我決定使用 ESP8266 作為物聯(lián)網(wǎng)網(wǎng)關(guān)。ESP8266 將通過串行連接從 Artemis 接收傳感器數(shù)據(jù),然后 ESP8266 將傳感器數(shù)據(jù)發(fā)送到我的網(wǎng)絡(luò)套接字服務(wù)器。請按照圖表了解如何進(jìn)行接線。以下代碼提供了兩個板之間的串行通信。

#include 
SoftwareSerial esp8266(9,10);

void setup()
{
    esp8266.begin(9600);
}

void loop()
{
    esp8266.print(proxValue);
    esp8266.print(",");
    esp8266.print(mySensor.readTempC());
    esp8266.print(",");
    esp8266.print(mySensor.readFloatHumidity());
    esp8266.print(",");
    esp8266.print(round(mySensor.readFloatPressure()));
    esp8266.print("\r\n");
    delay(1000);
}

連接到網(wǎng)絡(luò)套接字

物聯(lián)網(wǎng)網(wǎng)關(guān)的目的是從設(shè)備收集數(shù)據(jù)并傳輸?shù)骄W(wǎng)絡(luò)套接字。以下代碼需要上傳到 ESP8266。

#include <WebSocketsClient.h>
#include <ESP8266WiFi.h>
#include <ESP8266WiFiMulti.h>
ESP8266WiFiMulti WiFiMulti;
WebSocketsClient webSocket;
bool isConnected = false;
int SENSOR_ID = 1;
String distance = "0";
String temp = "0";
String humidity = "0";
String bp = "0";
int rain = 0;
int light = 0;
String incomingByte = "";
int i1, i2, i3, i4;
void webSocketEvent(WStype_t type, uint8_t * payload, size_t length) {
switch(type) {
case WStype_DISCONNECTED:
isConnected = false;
break;
case WStype_CONNECTED:
{
isConnected = true;
webSocket.sendTXT("5");
}
break;
case WStype_TEXT:
break;
case WStype_BIN:
hexdump(payload, length);
break;
}
}
void setup() {
Serial.begin(9600);
for(uint8_t t = 4; t > 0; t--) {
delay(1000);
}
WiFiMulti.addAP("SSID", "password");
while(WiFiMulti.run() != WL_CONNECTED) {
delay(100);
}
webSocket.beginSocketIO("web-socket-ip", port);
webSocket.onEvent(webSocketEvent);
}
void loop() {
webSocket.loop();
if(isConnected)
{
if(Serial.available()>0){
incomingByte = Serial.readStringUntil('\r\n');
Serial.println(incomingByte);
i1 = incomingByte.indexOf(",");
distance = incomingByte.substring(0,i1);
i2 = incomingByte.indexOf(",", i1+1);
temp = incomingByte.substring(i1+1, i2);
i3 = incomingByte.indexOf(",", i2+1);
humidity = incomingByte.substring(i2+1, i3);
i4 = incomingByte.indexOf(",", i3+1);
bp = incomingByte.substring(i3+1);
rain = 1;
light = 1;
webSocket.sendTXT("42["beacon",{"id":" + String(SENSOR_ID) + ","name":"deduru oya","value":" + distance + ","temp":" + temp + ","humidity":" + humidity + ","rain":" + String(rain) + ","air":" + bp + ","light":" + String(light) +"}]");
}
}
}

這是我使用 socket.io 定制的網(wǎng)絡(luò)套接字。

最后,數(shù)據(jù)可視化

我的 Web 套接字偵聽特定事件調(diào)用“信標(biāo)”,一旦事件觸發(fā),它會從通道中獲取所有數(shù)據(jù),然后將數(shù)據(jù)寫入 MongoDB。同時,我的 Web 應(yīng)用程序和移動應(yīng)用程序也列出了上述事件并更新了他們的 UI。

在此處查看 Web 應(yīng)用程序。

poYBAGN27suAb3jqAAC3HV6T_Q8619.png
?
poYBAGN27tGAP8fQAADV3B4q2Fo765.png
?
pYYBAGN27tSAKNhUAABVr3fJfB4473.png
?

移動應(yīng)用程序在這里

poYBAGN27tiAFqgaAABrQ5ooqR0443.png
?

我們?nèi)绾问褂迷撓到y(tǒng)減輕洪水災(zāi)害?

使用網(wǎng)絡(luò)應(yīng)用程序和移動應(yīng)用程序,用戶可以確定湖泊、水池或河流的水位。所以在溢出發(fā)生之前,他們可以撤離這個地方。該系統(tǒng)非常經(jīng)濟(jì)且易于開發(fā),只需很少的組件即可挽救數(shù)百萬人的生命。這個裝置應(yīng)該固定在我們可以測量水位的地方。該設(shè)備將由電池供電,電池由太陽能電池板定期充電。數(shù)據(jù)通信應(yīng)由 GSM/3G/4G/NBIoT5G 調(diào)制解調(diào)器完成。

有待改進(jìn)的地方...

該項目使用的接近傳感器不是很準(zhǔn)確,SparkFun VL53L1X傳感器可能是理想的解決方案。

?

?


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計實例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動電路設(shè)計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)