如何使用SmartEdge Agile和Brainium平臺(tái)來(lái)實(shí)現(xiàn)人工智能驅(qū)動(dòng)的智能緊急開(kāi)關(guān)設(shè)備
掃描二維碼
隨時(shí)隨地手機(jī)看文章
智能緊急開(kāi)關(guān)是一種概念驗(yàn)證設(shè)備,它可以作為緊急開(kāi)關(guān),但也可以學(xué)習(xí)設(shè)備的正常操作方式,并能夠自動(dòng)檢測(cè)故障。
當(dāng)檢測(cè)到故障時(shí),設(shè)備會(huì)自動(dòng)關(guān)閉,這樣可以避免事故或傷害。
為了概念的證明,我使用了用于PCB鉆孔的電機(jī),但這個(gè)概念也應(yīng)該適用于更大的設(shè)備。
開(kāi)始
?為了能夠使用我們的SmartEdge Agile設(shè)備,首先我們需要在Brainium平臺(tái)上創(chuàng)建一個(gè)帳戶。這可以使用web瀏覽器,并使用注冊(cè)按鈕來(lái)完成。
?在成功注冊(cè)后,有一個(gè)關(guān)于Brainium平臺(tái)的快速介紹。
?接下來(lái),我們可以下載Brainium Gateway應(yīng)用到我們的手機(jī)上,并使用我們新創(chuàng)建的賬戶登錄。這款手機(jī)將作為一個(gè)網(wǎng)關(guān),連接大腦傳送門(mén)和我們通過(guò)藍(lán)牙連接的人工智能設(shè)備。
?網(wǎng)關(guān)也應(yīng)該顯示在web界面中。
?現(xiàn)在,我們應(yīng)該能夠添加我們的SmartEdge Agile。這可以在Devices選項(xiàng)卡中完成。
?設(shè)備將在Brainium應(yīng)用程序中顯示為已連接。
現(xiàn)在我們可以開(kāi)始創(chuàng)建項(xiàng)目了。
硬件設(shè)置
對(duì)于第一個(gè)實(shí)驗(yàn),我們將使用SmartEdge Agile設(shè)備,安裝在使用PCB鉆孔的電機(jī)上:
然后我們還需要一個(gè)樹(shù)莓派3B+,上面有一個(gè)PiFace數(shù)字2帽:
預(yù)見(jiàn)性維護(hù)
為了試驗(yàn)預(yù)測(cè)性維護(hù),我們可以從左側(cè)菜單欄訪問(wèn)相應(yīng)的頁(yè)面:
當(dāng)我們第一次打開(kāi)監(jiān)視器識(shí)別或預(yù)測(cè)性維護(hù)頁(yè)面時(shí),門(mén)戶向我們展示了一個(gè)快速教程:
第一步是創(chuàng)建一個(gè)工作區(qū):
選擇要使用的設(shè)備后,進(jìn)入“初始學(xué)習(xí)”階段。
初始學(xué)習(xí)階段
在這個(gè)階段,平臺(tái)試圖了解我們的設(shè)備如何正常運(yùn)行。它嘗試識(shí)別靜態(tài)(狀態(tài))和動(dòng)態(tài)(狀態(tài)之間的轉(zhuǎn)換)模式,基于SmartEdge Agile的傳感器數(shù)據(jù)。
在下面的例子中,我多次打開(kāi)和關(guān)閉電機(jī)。然后,我相應(yīng)地標(biāo)記檢測(cè)到的模式。
在我的案例中,檢測(cè)到以下模式:
?電動(dòng)機(jī)(固定)
?電動(dòng)機(jī)啟動(dòng)(動(dòng)態(tài))
?馬達(dá)開(kāi)(靜止)
?電機(jī)停止(動(dòng)態(tài))
注意:有時(shí)相同的邏輯狀態(tài)(exMotor ON)在不同的時(shí)間實(shí)例中被檢測(cè)為不同的模式。因?yàn)橛姓{(diào)整學(xué)習(xí)的選項(xiàng),所以我決定只在末尾用數(shù)字標(biāo)記不同的模式(例如。電機(jī)ON 2)。
持續(xù)學(xué)習(xí)階段
一旦我們有了足夠的數(shù)據(jù),我們就可以生成預(yù)測(cè)性維護(hù)的模型:
然后我們可以將模型應(yīng)用到設(shè)備上:
在此之后,設(shè)備進(jìn)入持續(xù)學(xué)習(xí)階段:
在這個(gè)階段,平臺(tái)仍然學(xué)習(xí)新的模式并檢測(cè)現(xiàn)有的模式。此外,該平臺(tái)還會(huì)嘗試檢測(cè)異常情況,如峰值或擴(kuò)展動(dòng)態(tài)狀態(tài)。
在event選項(xiàng)卡中,我們可以看到生成的事件:
我還嘗試堵塞馬達(dá),看看系統(tǒng)如何反應(yīng)。
阻塞有時(shí)被檢測(cè)為峰值/擴(kuò)展動(dòng)態(tài)狀態(tài),但有時(shí)被檢測(cè)為動(dòng)態(tài)/平穩(wěn)模式。盡管將阻塞檢測(cè)為正常模式并不是最優(yōu)的,但我們?nèi)匀豢梢允褂盟鼈?。我用Clog 1/2/3標(biāo)記了檢測(cè)到的模式,所以以后我們?nèi)匀豢梢詫⑦@些狀態(tài)識(shí)別為“有問(wèn)題”。
儀表板和AI規(guī)則
Brainium平臺(tái)還支持創(chuàng)建儀表板和定義規(guī)則。要使用這些,我們需要?jiǎng)?chuàng)建一個(gè)項(xiàng)目
指示板
儀表板是不同類型的小部件的集合。我們可以創(chuàng)建簡(jiǎn)單的小部件來(lái)跟蹤SmartEdge Agile的一個(gè)傳感器
或者由我們的預(yù)測(cè)性維護(hù)AI模型支持的AI小部件:
我最終得到了下面這個(gè)儀表盤(pán):
人工智能規(guī)則
要?jiǎng)?chuàng)建AI規(guī)則,我們需要轉(zhuǎn)到Device選項(xiàng)卡,然后點(diǎn)擊AI Rules列中的數(shù)字:
當(dāng)警報(bào)被破壞時(shí),我們會(huì)在警報(bào)頁(yè)面中看到它:
上述頁(yè)面中的大多數(shù)數(shù)據(jù)和警報(bào)也可以通過(guò)Brainium api以編程方式訪問(wèn)。稍后我們將使用這些來(lái)實(shí)現(xiàn)智能人工智能供電緊急開(kāi)關(guān)。
一個(gè)簡(jiǎn)單的應(yīng)急開(kāi)關(guān)
為了創(chuàng)建緊急開(kāi)關(guān),我們將使用帶有PiFace Digital 2帽的樹(shù)莓派3B+。
電機(jī)和電源應(yīng)按如下方式連接到PiFace數(shù)字2的繼電器0上:
緊急開(kāi)關(guān)應(yīng)該很難打開(kāi),但很容易關(guān)閉。這樣我們可以避免意外打開(kāi),但在緊急情況下,開(kāi)關(guān)可以迅速關(guān)閉。
為了實(shí)現(xiàn)這樣的行為,我們可以使用PiFace的4個(gè)按鈕:
要打開(kāi)開(kāi)關(guān),所有4個(gè)按鈕都需要按一次(以任何順序)
要關(guān)閉開(kāi)關(guān),只需按一下4個(gè)按鈕中的任何一個(gè)即可
4個(gè)指示燈(7-4)表示4個(gè)按鈕的狀態(tài),另一個(gè)指示燈(0)表示緊急開(kāi)關(guān)的狀態(tài)。
緊急開(kāi)關(guān)的代碼是用Python編寫(xiě)的,使用的是pifacedigitalio庫(kù)。
代碼非常簡(jiǎn)單。我們有一個(gè)smartEmergencySwitch.py文件,里面有兩個(gè)函數(shù):
switch_pressed()函數(shù)處理單個(gè)按鈕的事件:
MQTT API——可用于獲取實(shí)時(shí)遙測(cè)數(shù)據(jù)
由于需要實(shí)時(shí)數(shù)據(jù),我們將使用MQTT API。
要訪問(wèn)API,我們需要:
用戶ID和MQTT密碼—這些可以在Profile頁(yè)面下找到
設(shè)備ID -這是一個(gè)形式TOXXX-0XXXXXXXXXXXXXXX的唯一ID -可以在多個(gè)頁(yè)面中找到,為。提醒頁(yè)面前
MQTT API提供了多個(gè)主題來(lái)訂閱不同類型的數(shù)據(jù)和事件。我嘗試了多個(gè)主題,但我發(fā)現(xiàn)預(yù)測(cè)性維護(hù)事件主題是最合適的。
預(yù)測(cè)性維護(hù)事件提供有關(guān)設(shè)備當(dāng)前狀態(tài)和檢測(cè)到的異常情況的事件。這些事件的MQTT主題是/v1/users/{user_id}/in/devices/{device_id}/datasources/PDM_EVENT
我們可以使用這些數(shù)據(jù)來(lái)實(shí)現(xiàn)智能停止功能。使用我實(shí)現(xiàn)的邏輯,在以下情況下會(huì)發(fā)出問(wèn)題信號(hào):
檢測(cè)到類型為SPIKE或EXTENDED_DYNAMIC的異常
當(dāng)前狀態(tài)是任何已知的Clog狀態(tài)
當(dāng)檢測(cè)到問(wèn)題時(shí),緊急開(kāi)關(guān)進(jìn)入一個(gè)稱為ERROR的新?tīng)顟B(tài)。在這個(gè)ERRORstate中,與OFF狀態(tài)一樣,開(kāi)關(guān)被關(guān)閉,但是錯(cuò)誤也由兩個(gè)led發(fā)出信號(hào)。緊急開(kāi)關(guān)可以復(fù)位到關(guān)閉狀態(tài),通過(guò)按下任何按鈕。
與Brainium平臺(tái)的交互在brainiumClient.py文件中實(shí)現(xiàn)。代碼基于API文檔中的MQTT示例,并使用了Paho MQTT庫(kù)。
首先,我們連接到MQTT服務(wù)器并訂閱PDM_EVENT主題。接收到的事件在on_message()函數(shù)中處理
結(jié)論和未來(lái)的改進(jìn)
我們可以看到,這個(gè)概念總體上是有效的,并且肯定會(huì)提高工作設(shè)備的安全性。
故障檢測(cè)有點(diǎn)慢,但如果模式檢測(cè)在樹(shù)莓派上本地運(yùn)行,就可以解決。
本文編譯自hackster.io