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