一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

電子發(fā)燒友App

硬聲App

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

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>如何制作嵌入式系統(tǒng)來(lái)監(jiān)控環(huán)境中的易燃?xì)怏w

如何制作嵌入式系統(tǒng)來(lái)監(jiān)控環(huán)境中的易燃?xì)怏w

2022-12-14 | zip | 0.03 MB | 次下載 | 免費(fèi)

資料介紹

描述

嵌入式系統(tǒng)無(wú)處不在:汽車(chē)、家用電器、城市空間的氣候監(jiān)測(cè)系統(tǒng)、農(nóng)業(yè)綜合企業(yè)等等。然而,嵌入式系統(tǒng)最重要的用途之一是關(guān)于安全性。

原因很簡(jiǎn)單:只要使用適合您想要監(jiān)控的傳感器并擁有工作所需的資源(能源、連接性等),嵌入式系統(tǒng)就像每天 24 小時(shí)、每天 7 天工作的監(jiān)護(hù)人。周,以及他們?cè)谒麄兊慕巧泻苌贂?huì)犯錯(cuò)的人。

因此,嵌入式系統(tǒng)在關(guān)鍵安全系統(tǒng)中特別有用,例如監(jiān)控和火災(zāi)警報(bào)。

因此,在本文中,您將學(xué)習(xí)如何制作一個(gè)嵌入式系統(tǒng)來(lái)監(jiān)控環(huán)境中的易燃?xì)怏w,并通過(guò) Telegram 在環(huán)境中有可檢測(cè)到的易燃?xì)怏w時(shí)向您發(fā)出警告。

因此,在世界任何地方,您都可以了解有關(guān)可燃?xì)怏w的任何危險(xiǎn)情況,這對(duì)于遠(yuǎn)程監(jiān)控和火災(zāi)時(shí)的快速行動(dòng)非常有用。

詳細(xì)地,您將了解到:

  • 如何使用 Arduino IDE 編程 ESP32
  • 如何在 Telegram 上創(chuàng)建一個(gè)機(jī)器人供您的 ESP32 使用
  • 如何使用 MQ-2 傳感器監(jiān)測(cè)環(huán)境中的可燃?xì)怏w
  • 如何讓 ESP32 使用創(chuàng)建的 Telegram 機(jī)器人并通過(guò) Telegram 向您發(fā)送可燃?xì)怏w檢測(cè)警報(bào)

什么是電報(bào)?

Telegram是俄羅斯的即時(shí)通訊應(yīng)用程序/服務(wù),目前是 WhatsApp 的主要競(jìng)爭(zhēng)對(duì)手,擁有 Android、iOS 和后期(或幾乎)Windows Phone 版本。

它的主要區(qū)別是開(kāi)源的(涉及應(yīng)用程序),允許創(chuàng)建機(jī)器人,與自毀消息(有過(guò)期日期)的秘密聊天以及從一開(kāi)始就在計(jì)算機(jī)上使用的非常輕巧高效的 Web 界面(直到幾年前,WhatsApp 上還不存在的東西)。

開(kāi)發(fā)“使用 ESP32 和 Telegram 監(jiān)測(cè)可燃?xì)怏w”項(xiàng)目

該項(xiàng)目的電路原理圖見(jiàn)圖1。

pYYBAGOYRIGAP3zeAALFPkZyj5Y634.jpg
圖 1 - 項(xiàng)目的電子原理圖。
?

在硬件方面,該項(xiàng)目使用了以下組件:

  • 01 x ESP32(ESP32 開(kāi)發(fā)套件 1)
  • 01 x micro-USB 數(shù)據(jù)線
  • 01 x MQ-2 傳感器(監(jiān)測(cè)可燃?xì)怏w和煙霧)
  • 02 x 3.6kΩ / 1 / 4W 電阻
  • 男女跳線
  • 01x 800 點(diǎn)原型板
  • 01 x 5V / 2A 開(kāi)關(guān)直流電源,用于在沒(méi)有計(jì)算機(jī)的情況下為項(xiàng)目供電(可選)

概括來(lái)說(shuō),該項(xiàng)目的原理圖電路主要分為三個(gè)部分:ESP32 Devkit 1、分壓器和 MQ-2 傳感器(監(jiān)測(cè)可燃?xì)怏w和煙霧)。下面詳細(xì)查看這些部分的詳細(xì)信息。

ESP32 開(kāi)發(fā)套件 1 - 概述

ESP32 Devkit 1 包含一個(gè)完整的開(kāi)發(fā)板??,包含用于嵌入式設(shè)備的良好處理和內(nèi)存、wi-fi 連接、藍(lán)牙連接(經(jīng)典和 BLE)、大量可用于開(kāi)發(fā)的 GPIO 和多個(gè)通信接口(I2C、UART 、SPI 等)。

此外,ESP32 有兩個(gè)處理器,是物聯(lián)網(wǎng)項(xiàng)目的雙核解決方案。一般來(lái)說(shuō),就計(jì)算資源和通信接口的數(shù)量而言,它是眾所周知的 NodeMCU (ESP8266) 的一個(gè)(偉大的)進(jìn)化。

此外,它的成本非常誘人,是涉及物聯(lián)網(wǎng)概念并需要良好處理能力、內(nèi)存和連接性的原型和產(chǎn)品的最佳替代品之一。

不幸的是,ESP32 Devkit 1 沒(méi)有適合原型板的完美形狀,這需要較少的常規(guī)操作即可與原型板一起使用,如圖 1 中的項(xiàng)目原理圖所示,其中只有一側(cè)連接到原型板。

即便如此,ESP32 Devkit 1 對(duì)于想要以極具競(jìng)爭(zhēng)力的成本進(jìn)行緊湊型項(xiàng)目的專業(yè)人士和愛(ài)好者/制造商來(lái)說(shuō)都是一個(gè)非常有趣的選擇。

分壓電路

如圖 1 所示,MQ-2 傳感器(可燃?xì)怏w和煙霧)的數(shù)字信號(hào) (D0) 和 ESP32 之間有一個(gè)分壓器。

這是必要的,因?yàn)閭鞲衅鞯墓ぷ麟妷簽?5V,而 ESP32 Devkit 1 的最大電壓為 3.3V。因此,需要將數(shù)字傳感器輸出信號(hào)的電壓調(diào)整到 ESP32 Devkit 1 允許的電平。

分壓器可用于此任務(wù)。分壓器使傳遞給 ESP32 Devkit 1 的電壓為傳感器提供的電壓的一半,足以讓 ESP32 在其工作電壓范圍內(nèi)區(qū)分高邏輯電平和低邏輯電平。這樣就可以在ESP32 Devkit 1上正常使用傳感器了。

MQ-2 傳感器(可燃?xì)怏w和煙霧)

MQ-2 是一種能夠檢測(cè)空氣中可燃?xì)怏w和煙霧的傳感器,檢測(cè)到的氣體濃度可以在 300 到 10, 000 ppm(百萬(wàn)分之幾)的范圍內(nèi)。

除煙霧外,該傳感器還能夠檢測(cè)以下易燃?xì)怏w:LPG(液化石油氣)、甲烷、丙烷、丁烷、氫氣、酒精、天然氣和其他具有易燃潛力的氣體。

MQ-2 以獨(dú)立傳感器的形式和模塊的形式出售,這就是我們?cè)诒疚闹惺褂玫男问健?/font>模塊形式的傳感器如圖2所示。

MQ-2 模塊有 4 個(gè)端子,分別是:

  • VDC:電源(5V)
  • GND:地(0V)
  • A0:模擬輸出(0..5V)
  • D0:數(shù)字輸出(0V或5V)

在這個(gè)項(xiàng)目中,我們將使用 MQ-2 模塊的數(shù)字輸出。當(dāng)在空氣中檢測(cè)到易燃?xì)怏w或煙霧時(shí),該輸出變?yōu)楦唠娖?(5V),如果沒(méi)有這些,則保持低電平 (0V)。

導(dǎo)致數(shù)字輸出變高的煙霧和/或可燃?xì)怏w的量/濃度由位于 MQ-2 模塊后面的電位計(jì)調(diào)節(jié)。電位器如圖 3 所示。

poYBAGOYRIqAdlloAACWcdPkhWM799.jpg
圖 3 - 用于調(diào)節(jié) MQ-2 模塊的電位器。
?

一般而言,建議鍋略高于最小值,以減少誤檢測(cè)煙霧和/或可燃?xì)怏w的機(jī)會(huì)。

在 Arduino IDE 上編程 ESP32

ESP32 Devkit 1 可以在 Arduino IDE 中進(jìn)行編程,因此使用它進(jìn)行項(xiàng)目的開(kāi)發(fā)與使用任何常見(jiàn)的 Arduino 非常相似。

這有助于新項(xiàng)目的開(kāi)發(fā)以及將在其他硬件/平臺(tái)上制作的其他項(xiàng)目移植/轉(zhuǎn)移到 ESP32 Devkit 1。

Instala??o da biblioteca para usar o Telegram no ESP32

您必須安裝 UniversalTelegramBot 庫(kù),該庫(kù)允許您在 ESP32 上使用 Telegram。

這個(gè)庫(kù)可以通過(guò) Arduino IDE 在庫(kù)管理器(草圖>包含庫(kù)>管理庫(kù))中簡(jiǎn)單快速地安裝。

在搜索字段中插入其名稱 (UniversalTelegramBot) 并安裝其最新版本。

創(chuàng)建電報(bào)機(jī)器人

ESP32 將使用 Telegram 機(jī)器人提醒您從 Telegram 檢測(cè)到的易燃/煙霧氣體。

因此,需要?jiǎng)?chuàng)建一個(gè) Telegram 機(jī)器人。要?jiǎng)?chuàng)建 Telegram 機(jī)器人,請(qǐng)按照以下步驟操作:

  • Telegram 中的所有 bot 管理都是通過(guò)稱為 Bot Father (@BotFather) 的 botmaster 完成的。第一步是在 Telegram 上找到他并開(kāi)始與他對(duì)話。
  • 要開(kāi)始創(chuàng)建 Telegram 機(jī)器人,請(qǐng)?jiān)谂c @BotFather 的聊天中輸入命令/新機(jī)器人。
  • 將要求@BotFather 為您的 Telegram 機(jī)器人提供名稱。輸入不帶空格和特殊字符的名稱(例如:projeto_alerta_gas_bot)。
  • 然后,如果名稱得到了@BotFather 的批準(zhǔn)(需要批準(zhǔn)以確保沒(méi)有同名的機(jī)器人),您將被要求為您的機(jī)器人提供用戶名。您可以使用機(jī)器人自己的名稱作為用戶名,以 bot 結(jié)尾。
  • 如果用戶名由@BotFather 批準(zhǔn)(需要批準(zhǔn)以確保沒(méi)有具有相同用戶名的機(jī)器人),您的機(jī)器人將被創(chuàng)建!您將收到一個(gè)令牌(您的機(jī)器人的唯一密鑰)和與您的機(jī)器人“聊天”的地址。將此令牌保存在安全的地方,項(xiàng)目的源代碼中將需要它。

接下來(lái),我將向您展示如何獲取您的聊天 ID。

獲取 Telegram 帳戶的聊天 ID

您的個(gè)人 Telegram 帳戶的 ChatId 是您帳戶的唯一代碼/密鑰,因此它將允許 Telegram 機(jī)器人僅向您發(fā)送消息(就像您在 Telegram 上的聯(lián)系人一樣)。

要獲取此 ChatId,請(qǐng)按照以下步驟操作:

  • 查找 Chat ID Echo 機(jī)器人 (@chatid_echo_bot)。該機(jī)器人用于提供您個(gè)人 Telegram 帳戶的 ChatId
  • 發(fā)送消息/命令/開(kāi)始到@chatid_echo_bot
  • 然后@chatid_echo_bot 將返回您的 ChatId。將此令牌保存在安全的地方,項(xiàng)目的源代碼中將需要它。

接下來(lái),我將向您展示完整的項(xiàng)目代碼。

項(xiàng)目源代碼

至此,一切準(zhǔn)備就緒,可以實(shí)施項(xiàng)目了!

該項(xiàng)目的源代碼可以在下面找到。

使用此源代碼編寫(xiě) ESP32 Devkit 1 的方法與編寫(xiě)任何其他常見(jiàn)的 Arduino 非常相似:將其復(fù)制并粘貼到您的 Arduino IDE 中,將 ssid_wifi 和 password_wifi 變量的內(nèi)容分別更改為 wi-fi 的名稱和密碼ESP32 Devkit 1 應(yīng)該連接的網(wǎng)絡(luò),編譯和上傳/調(diào)度 ESP32 Devkit 1。

另外,不要忘記在 BOT_TELEGRAM_TOKEN 中替換您的 Telegram 機(jī)器人令牌(使用 @BotFather 獲得),并在 auth_id 中替換您的個(gè)人 Telegram 帳戶的 ChatId(使用 @chatid_echo_bot 獲得)。

仔細(xì)閱讀源代碼注釋,充分理解。

#include 
#include 
#include 

/* Defini??o do sensor de gás */
#define GPIO_SENSOR_GAS 34

/* Defini??o do token de seu Bot Telegram
(valor obtido no @BotFather) */
#define BOT_TELEGRAM_TOKEN " "
#define TEMPO_ESPERA_SENSOR 100 //ms

/* Wifi */
/* Coloque aqui o SSID (nome da rede wifi) que o
ESP32 deve se conectar
*/
char ssid_wifi[] = " ";

/* Coloque aqui o password (senha da rede wifi) que o
ESP32 deve se conectar
*/
char password_wifi[] = " ";

/* Variáveis e objetos para usar o wifi e Bot Telegram */
WiFiClientSecure client;
UniversalTelegramBot bot(BOT_TELEGRAM_TOKEN, client);

/* Coloque aqui o auth_id de sua conta telegram
(auth_id da conta que o bot deve alertar sobre o gás
*/
String auth_id = " ";

/* Protótipos */
void init_wifi(void);
void conecta_wifi(void);
void verifica_conexao_wifi(void);
void configura_gpio_sensor_gas(void);

/* Fun??o: inicializa wi-fi
* Parametros: nenhum
* Retorno: nenhum
*/
void init_wifi(void)
{
WiFi.mode(WIFI_STA);
WiFi.disconnect();
delay(100);
Serial.println("------WI-FI -----");
Serial.print("Conectando-se a rede: ");
Serial.println(ssid_wifi);
Serial.println("Aguarde...");
conecta_wifi();
}

/* Fun??o: conecta-se a rede wi-fi
* Parametros: nenhum
* Retorno: nenhum
*/
void conecta_wifi(void)
{
/* Se ja estiver conectado, nada é feito. */
if (WiFi.status() == WL_CONNECTED)
return;
/* refaz a conex?o */
WiFi.begin(ssid_wifi, password_wifi);
while (WiFi.status() != WL_CONNECTED)
{
delay(100);
Serial.print(".");
}
Serial.println();
Serial.print("Conectado com sucesso a rede wi-fi ");
Serial.println(ssid_wifi);
Serial.print("IP: ");
Serial.println(WiFi.localIP());
}

/* Fun??o: verifica se a conexao wi-fi está ativa
* (e, em caso negativo, refaz a conexao)
* Parametros: nenhum
* Retorno: nenhum
*/
void verifica_conexao_wifi(void)
{
conecta_wifi();
}

/* Fun??o: configura GPIO para leitura do sensor de gás
* Parametros: nenhum
* Retorno: nenhum
*/
void configura_gpio_sensor_gas(void)
{
pinMode(GPIO_SENSOR_GAS, INPUT);
}
void setup()
{
Serial.begin(115200);

/* Configura GPIO para leitura do sensor de gás */
configura_gpio_sensor_gas();
/* Inicializa??o e conexao wifi */
init_wifi();
conecta_wifi();
}
void loop()
{

/* Verifica se conex?o wifi está ok.
Caso n?o estiver, refaz a conex?o. */
verifica_conexao_wifi();

/* Verifica se há detec??o de gás */
if (digitalRead(GPIO_SENSOR_GAS) == HIGH)
{

/* Avisa, por Telegram, a detec??o do gás */
bot.sendMessage(auth_id, "ALERTA: Gas detectado!", "");
Serial.println("Gas detectado! Avisando usuario pelo Telegram...");

/* Aguarda detec??o de gás acabar
(para notificar via Telegram só uma vez) */
while(digitalRead(GPIO_SENSOR_GAS) == HIGH)
{
delay(1);
}

/* Espera alguns ms para evitar que, se ocorrer
oscila??es da saída digital do sensor, sejam
erroneamente detectadas como alertas. */
delay(TEMPO_ESPERA_SENSOR);
}

}

現(xiàn)在,我將向您介紹這個(gè)項(xiàng)目的完整功能。

該項(xiàng)目的工作原理如下:一旦連接并連接到 wifi,它將已經(jīng)作為 Telegram 機(jī)器人運(yùn)行。

當(dāng)它檢測(cè)到可燃?xì)怏w和/或煙霧時(shí),它會(huì)通過(guò) Telegram 直接向您發(fā)送消息,如圖 4 所示。

pYYBAGOYRI2AX4EJAAEU-SXTIGU370.jpg
圖 4 - Telegram 機(jī)器人檢測(cè)可燃?xì)怏w和/或煙霧的警報(bào)。
?

這樣,只需將項(xiàng)目連接到可以訪問(wèn)已編程并準(zhǔn)備就緒的 wifi 網(wǎng)絡(luò)的位置!

現(xiàn)在,我將在PCBGOGO 印刷電路板上提供電子項(xiàng)目來(lái)構(gòu)建這個(gè)項(xiàng)目。

構(gòu)建 PCBGOGO 印刷電路板

電子原理圖中,開(kāi)發(fā)了一塊印刷電路板,用于在廚房中建造一個(gè)項(xiàng)目。印刷電路板在下面的 3D 視圖中顯示。

pYYBAGOYRJCAeojVAABjyF5u5m0088.jpg
圖 5 - 印刷電路板的 3D 視圖。
?

該項(xiàng)目很簡(jiǎn)單,由PCBGOGORob? Lúdico Brazil共同開(kāi)發(fā)。現(xiàn)在,我將在下圖中提供該項(xiàng)目的電子原理圖。

poYBAGOYRJSADqP1AAIRlw7x3DU301.png
圖 6 - Project Telegram Bot 的電子示意圖。
?

電子原理圖開(kāi)發(fā)的布局設(shè)計(jì)如下圖所示。

pYYBAGOYRJqARVs5AACd1mO_BI4504.png
圖 7 - PCB 設(shè)計(jì)布局的 2D 視圖。
?

在此之后,這是 2D 視圖中的結(jié)果。

poYBAGOYRKCAeYsZAAC72z2KWdw985.jpg
圖 8 - 印刷電路板的二維視圖。
?

將電子元件焊接到PCBGOGO 印刷電路板上后,您可以將設(shè)備安裝在外殼中,并將其安裝在爐子旁邊。

系統(tǒng)將監(jiān)控警報(bào)信息并將其發(fā)送到您的 Telegram。

結(jié)論

感謝PCBGOGO PCB Factory提供用于組裝項(xiàng)目的電子板。

此外,我感謝巴西 Playful Robot School提供所有知識(shí)來(lái)開(kāi)發(fā)這個(gè)項(xiàng)目。

電子板和源代碼的文件附在這個(gè)項(xiàng)目中。


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

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開(kāi)發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  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開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
  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é)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)