基于物聯(lián)網(wǎng)使用ESP8266-01的緊急按鈕
掃描二維碼
隨時(shí)隨地手機(jī)看文章
緊急按鈕用于在緊急情況下向警察或附近的人發(fā)送緊急信號(hào),如心臟驟停或任何嚴(yán)重的健康問題,需要緊急幫助,或者你被人襲擊或小偷闖入房屋等情況。在印度,政府規(guī)定手機(jī)必須安裝緊急按鈕,當(dāng)按下這個(gè)按鈕時(shí),就會(huì)報(bào)警,告知處于危險(xiǎn)中的人的當(dāng)前位置。
所以在這個(gè)項(xiàng)目中,我們將使用ESP8266-01 Wi-Fi模塊制作一個(gè)物理恐慌按鈕,當(dāng)按下時(shí),它會(huì)向預(yù)定義的電子郵件id發(fā)送警報(bào)電子郵件。
基于物聯(lián)網(wǎng)的緊急按鈕電路圖
該物聯(lián)網(wǎng)緊急按鈕的電路圖如下:
組件的要求
?ESP8266-01
?按鈕
?松板
?焊絲
?FTDI串行適配器模塊
?連接電線
ESP8266-01 wifi模塊
ESP8266-01是一種Wi-Fi模塊,具有由喜訊通制造的板載微控制器。該模塊幫助微控制器通過UART通信使用AT命令連接到Wi-Fi網(wǎng)絡(luò)。pressif Systems有一系列從ESP-01到ESP-12的Wi-Fi模塊,但ESP-01的成本非常低,在市場上很容易買到。它有8個(gè)引腳-兩個(gè)UART引腳(RX和TX),兩個(gè)GPIO引腳,一個(gè)Reset和一個(gè)CH_PD以及兩個(gè)3.3 V和接地。
編程ESP-01
ESP8266-01可以通過多種方式編程,但在本項(xiàng)目中,我們將使用FTDI串行適配器模塊對其進(jìn)行編程。您也可以使用USB到TTL轉(zhuǎn)換器來編程。ESP8266不是面包板友好的,所以在這里我已經(jīng)按照上面的電路圖焊接了一個(gè)穿孔板上的所有組件。該板可用于未來項(xiàng)目中ESP8266的編程。查看有關(guān)如何使用FTDI模塊對ESP-01進(jìn)行編程的詳細(xì)教程。
這里一個(gè)帶有上拉電阻的復(fù)位按鈕用于復(fù)位Wi-Fi模塊,一個(gè)跳線開關(guān)用于在可編程模式下切換模塊。在編程模式下,借助跳線帽將GPIO0引腳(Flash引腳)接地,打開后可作為GPIO引腳使用。一個(gè)按鈕用作緊急按鈕,在緊急情況下,按下該按鈕將向某人發(fā)送警報(bào)郵件。
配置SMTP2GO發(fā)送郵件
SMTP(簡單郵件傳輸協(xié)議)是一個(gè)用于自動(dòng)發(fā)送和接收來自遠(yuǎn)程位置的大量電子郵件的平臺(tái)。由于其快速可靠的服務(wù),開發(fā)者和營銷人員主要使用它來節(jié)省他們的時(shí)間,以一種安全的方式發(fā)送電子郵件。它的服務(wù)器和數(shù)據(jù)中心遍布世界各地,這有助于它選擇最近的服務(wù)器,從而在發(fā)送和接收電子郵件時(shí)提供最快的連接。它可以用于物聯(lián)網(wǎng)項(xiàng)目,在發(fā)生特定任務(wù)時(shí)自動(dòng)發(fā)送電子郵件。在這個(gè)項(xiàng)目中,當(dāng)火焰?zhèn)鞲衅鳈z測到火災(zāi)時(shí),我們將使用SMTP2GO發(fā)送電子郵件警報(bào)。
設(shè)置SMTP2Go:
登錄,點(diǎn)擊Try SMTP2GO Free。
填寫您的姓名,電子郵件id和密碼的詳細(xì)信息,并點(diǎn)擊提交。然后,它將重定向到一個(gè)頁面,要求您激活SMTP2GO。
轉(zhuǎn)到您的郵箱,點(diǎn)擊SMTP2GO收到的郵件。點(diǎn)擊激活帳戶。
現(xiàn)在輸入用戶名,即您的電子郵件id和密碼。您的用戶名將打開一個(gè)新頁面。將這些用戶名和密碼保存在記事本文件中,這將在稍后的Arduino IDE代碼中用到?,F(xiàn)在點(diǎn)擊設(shè)置,然后點(diǎn)擊用戶。將打開一個(gè)包含您的用戶名和SMTP服務(wù)器詳細(xì)信息的新頁面。保存SMTP服務(wù)器和SMTP端口,因?yàn)檫@些將在Arduino代碼中用于與SMTP服務(wù)器連接。
編碼為Base64值
在將用戶名和密碼發(fā)送到SMTPTOGO服務(wù)器之前,我們需要將它們編碼為Base64。這里只需輸入要編碼為base64的用戶名和密碼,然后單擊encode以生成編碼值。復(fù)制并保存已編碼的值。
例如,如果您的用戶名是“sender@xyz.com”,那么在給定的文本區(qū)域輸入此用戶名,然后單擊“編碼”。編碼后的base64值為“cGFzc3dvcmQ=”。對于密碼也同樣如此。
我們以前使用SMTP2GO服務(wù)發(fā)送有關(guān)火災(zāi)探測的電子郵件。
緊急按鈕工作
這個(gè)基于ESP8266的緊急按鈕的連接已經(jīng)顯示在上面的電路圖中。這里FTDI的RX引腳連接到ESP-01的TX引腳,F(xiàn)TDI的TX引腳連接到ESP-01的RX引腳。由于我們從FTDI獲得的輸出電壓約為4伏,因此它不能用于為ESP-01供電,因?yàn)樗鼤?huì)損壞它。因此,我們將使用面包板電源的3.3 v直流電源,該電源從適配器輸入電源,并提供5伏和3.3伏的雙輸出。這個(gè)面包板電源模塊是按照CircuitDigest上的本教程創(chuàng)建的。
確保FTDI和ESP-01的接地與電源模塊接地相連。一個(gè)按鈕連接在GPIO2引腳,用于在緊急情況下發(fā)送郵件。按鈕一端用電阻接3.3電源,一端接地。
現(xiàn)在復(fù)制教程末尾給出的完整代碼并粘貼到Arduino IDE中。將Wi-Fi憑證替換為您的SSID和密碼。將“SMTP2GO”的用戶名和密碼修改為Base 64。將flash引腳的GPIO0接地進(jìn)行編程模式,并通過USB口將FTDI與PC連接。點(diǎn)擊上傳,按重置按鈕2-3次。上傳代碼成功后,斷開GPIO0引腳與地的連接,按下Reset按鈕一次,打開串口監(jiān)視器查看狀態(tài)信息。連接Wi-Fi后,按下緊急按鈕,幾秒鐘后你就會(huì)收到郵件。
代碼的解釋
在本教程的最后給出了完整的代碼和工作視頻,在這里我們解釋了完整的程序,以了解項(xiàng)目的工作原理。
首先包括ESP庫
定義Wi-Fi網(wǎng)絡(luò)的SSID和密碼變量。由于我們需要連接到SMTP服務(wù)器,因此為服務(wù)器的地址聲明了一個(gè)變量。
連接Wi-Fi
“pressed”變量存儲(chǔ)來自緊急按鈕的數(shù)字輸入。如果有人按下了按鈕,那么它會(huì)通過調(diào)用函數(shù)sendEmail()發(fā)送一封電子郵件。
Client.connect()函數(shù),使用SMTP服務(wù)器和SMTP端口連接到SMTP服務(wù)器。如果連接建立成功并使用EHLO命令確認(rèn)服務(wù)器,則給出“1”。
將編碼的用戶名和密碼發(fā)送到服務(wù)器。我們粘貼到記事本中的SMTP2GO的用戶名和密碼被編碼為base64值。編碼為base64值的過程如上所示。
認(rèn)證成功后,完整的電子郵件將由“To”、“From”、“Subject”、“Body”等字段組成。
發(fā)送完數(shù)據(jù)后,發(fā)送QUIT命令完成郵件。
這就是如何使用ESP-01模塊輕松制作DIY物聯(lián)網(wǎng)緊急按鈕。
本文編譯自iotdesignpro