基于物聯(lián)網(wǎng)的庫存管理系統(tǒng),使用NodeMCU和超聲波傳感器
庫存管理對幾乎所有類型的貨物存儲和加工業(yè)務(wù)都是必不可少的。健康的庫存管理有助于產(chǎn)品的順利交付。所以知道你們的庫存還有多少是非常重要的。庫存管理也是必不可少的,以確保有足夠的材料用于當前的項目,并決定何時重新訂購產(chǎn)品。等。在存儲數(shù)千件物品的大型庫存中,人工定期檢查庫存是非常困難的,而且還可能導致錯誤。
在這個物聯(lián)網(wǎng)和先進傳感器的時代,您可以非常輕松地管理庫存。借助支持物聯(lián)網(wǎng)的庫存管理系統(tǒng),您可以從家中/辦公室監(jiān)控庫存,并根據(jù)庫存管理產(chǎn)品。因此,今天我們將使用超聲波傳感器,NodeMCU ESP8266和ThingSpeak云平臺制作物聯(lián)網(wǎng)庫存管理系統(tǒng)。在該系統(tǒng)中,超聲波傳感器用于計算機架中存儲的產(chǎn)品數(shù)量,ThingSpeak用于實時監(jiān)控數(shù)據(jù),IFTTT用于在產(chǎn)品數(shù)量低于用戶定義標準時發(fā)送郵件。
我們之前使用ThingSpeak與ESP8266構(gòu)建空氣質(zhì)量監(jiān)測系統(tǒng),物聯(lián)網(wǎng)氣象站和智能路燈。您可以通過以下鏈接查看所有ThingSpeak和ESP2866相關(guān)項目。
組件的要求
硬件組件
?NodeMCU ESP8266
?超聲波傳感器(2)
?電路試驗板
?跳線
軟件應(yīng)用程序和在線服務(wù)
?Arduino IDE
?ThingSpeak
?IFTTT
線路圖
物聯(lián)網(wǎng)庫存系統(tǒng)的完整電路圖如下所示。這很簡單,因為我們只需要將兩個超聲波傳感器與我們的ESP NodeMCU板連接起來。
兩個超聲波傳感器的Vcc和GND引腳與NodeMCU的Vin和GND引腳相連。第一超聲波傳感器的三角和回波引腳分別與D1和D2連接,第二超聲波傳感器的三角和回波引腳分別與D6和D7引腳連接。整個設(shè)置將由Node-MCU的micro-USB端口通過USB電纜供電。我用連接線做了連接,它看起來像下面的東西
超聲波傳感器是一個4針多用途傳感器。它可以用作避障器和距離計算器。超聲波傳感器利用超聲波測量距離。它發(fā)射超聲波并接收從目標反射過來的波。距離的計算公式如下:
T=時間,C=速度
這個想法是使用超聲波傳感器來測量傳感器和堆疊的盒子之間的距離。基于這個距離值,如果我們知道一個盒子的寬度,我們可以預測當前有多少盒子堆疊在一行中。我的項目安排是這樣的。
正如你所看到的,我使用了兩種不同的超聲波傳感器來檢測兩種不同類型的盒子(假設(shè)巧克力和冰淇淋盒)。傳感器位置固定,使傳感器與箱體數(shù)量之間的距離始終固定。
ThingSpeak設(shè)置
ThingSpeak是一個開放的數(shù)據(jù)物聯(lián)網(wǎng)分析平臺,允許您在云中聚合、可視化和分析實時數(shù)據(jù)。你可以使用ThingSpeak控制你的設(shè)備,你可以從你的設(shè)備向ThingSpeak發(fā)送數(shù)據(jù),甚至你可以創(chuàng)建實時數(shù)據(jù)的即時可視化,并使用Twitter和ThingHTTP等網(wǎng)絡(luò)服務(wù)發(fā)送警報。
第一步:注冊
要向Thingspeak發(fā)送數(shù)據(jù),需要一個Thingspeak帳戶。要做到這一點,請瀏覽Thingspeak網(wǎng)站
點擊右上角的“注冊”選項,填寫所需的詳細信息
在此之后,驗證您的電子郵件id并單擊continue。
步驟2:為你的數(shù)據(jù)創(chuàng)建一個通道
現(xiàn)在,當您登錄您的帳戶時,通過點擊“新頻道”按鈕創(chuàng)建一個新頻道。
點擊“新通道”后,輸入您想要上傳的數(shù)據(jù)的名稱和描述。例如,我將其命名為“庫存”。在Field1和Field2中輸入數(shù)據(jù)的名稱。如果要使用兩個以上的字段,可以選中字段選項旁邊的框,并輸入數(shù)據(jù)的名稱和描述。
之后,單擊保存通道按鈕保存您的詳細信息。ThingSpeak通常以圖形格式顯示數(shù)據(jù),但您可以在通道中添加一些小部件。要添加小部件,請單擊“add Widgets”選項并選擇要使用的小部件。在這個項目中,我使用的是“數(shù)字顯示”小部件。
步驟3:API密鑰
為了向ThingSpeak發(fā)送數(shù)據(jù),我們需要一個唯一的API密鑰,稍后我們將在代碼中使用它從ESP8266發(fā)送值到ThingSpeak。點擊“API密鑰”按鈕獲取上傳傳感器數(shù)據(jù)的唯一API密鑰?,F(xiàn)在復制你的“寫API密鑰”。我們將在代碼中使用這個API鍵。
代碼的解釋
首先,下載所有所需的庫并將其添加到Arduino IDE中。你可以從下面的鏈接下載Thingspeak.h庫。其他庫將在默認情況下呈現(xiàn)。
ESP8266的ThingSpeak庫
代碼首先包括ThingSpeak庫和ESP8266 wifi庫。ThingSpeak庫用于向ThingSpeak平臺發(fā)送數(shù)據(jù)。之后,輸入ThingSpeak API密鑰,Wifi名稱和密碼,并定義將在代碼中使用的變量。
Void Product1循環(huán)用于計算產(chǎn)品的數(shù)量,并使用ThingSpeak. writefield將數(shù)據(jù)發(fā)送給ThingSpeak。使用不同的距離條件來計算產(chǎn)品的數(shù)量。
Void Product2循環(huán)與Product1循環(huán)相同。它是用來計數(shù)的。第二列的乘積。
編程NodeMCU
現(xiàn)在,當我們的代碼準備好上傳時,將NodeMCU與筆記本電腦連接,并正確選擇板和端口,然后單擊upload按鈕。上傳代碼后,打開串口監(jiān)視器。使串行監(jiān)視器波特率為115200。您將看到您的Wi-Fi Id,密碼和no。的產(chǎn)品顯示在串行監(jiān)視器上如下所示。
如果你不知道如何使用Arduino IDE編程NodeMCU。您可以遵循本教程。
現(xiàn)在去ThingSpeak網(wǎng)站,檢查你的頻道,你會看到這個號碼。產(chǎn)品的圖形和數(shù)值如下所示。
使用ThingSpeak和IFTTT發(fā)送電子郵件
要發(fā)送電子郵件通知,我們將使用IFTTT。IFTTT又名“If This Then That”,是一個免費的基于網(wǎng)絡(luò)的服務(wù),用于創(chuàng)建簡單條件語句鏈,稱為applet。使用這些小程序,我們可以發(fā)送電子郵件,Twitter, Facebook通知。
要使用IFTTT發(fā)送通知,請在IFTTT上創(chuàng)建一個帳戶。要做到這一點,請瀏覽IFTTT網(wǎng)站并點擊注冊。然后填寫您的詳細信息并點擊創(chuàng)建帳戶?,F(xiàn)在,當你登錄你的賬戶時,點擊你的個人資料,然后點擊“創(chuàng)建”。
現(xiàn)在在下一個窗口中,單擊如下所示的“This”圖標。
現(xiàn)在在搜索欄中搜索Webhooks,然后點擊“Webhooks”。
現(xiàn)在選擇觸發(fā)器,在下一個窗口中輸入事件名稱Chocolate,然后單擊create trigger。這里我假設(shè)我的項目名稱為巧克力,你可以提供任何你想要的名稱。
之后點擊“然后那個”,然后點擊電子郵件。
現(xiàn)在在電子郵件中,點擊“給我發(fā)一封電子郵件”,輸入電子郵件主題和正文,然后點擊創(chuàng)建動作。
現(xiàn)在,您的applet創(chuàng)建完成了?,F(xiàn)在點擊“獲取更多”,然后在服務(wù)選項中選擇webhooks。在webhooks頁面點擊“Documentation”
現(xiàn)在在下一個窗口中,復制web請求鏈接并輸入事件名稱。
在這之后,現(xiàn)在導航到Thingspeak,點擊“Apps”,然后點擊“ThingHTTP”。
在下一個窗口中輸入名稱并粘貼從IFTTT復制的鏈接。
之后再次點擊“Apps”,點擊“React”,創(chuàng)建一個新的React。如下圖所示填寫詳細信息并保存反應(yīng)?,F(xiàn)在,您的applet和react就創(chuàng)建好了。
現(xiàn)在必須為第二個產(chǎn)品(即Ice Cream)創(chuàng)建另一個applet。對product2執(zhí)行相同的步驟。將事件名稱從chocolate改為Icecream。此后,每當產(chǎn)品數(shù)量低于兩個時,它就會發(fā)送一封電子郵件,表示只剩下一個產(chǎn)品。
本文編譯自iotdesignpro