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