人們普遍認為,工業物聯網(IIoT)有望為許多傳統行業帶來變革性影響。它不僅可以發現效率低下的流程,需要維護的工廠,還可以幫助管理提高資產利用率,而且還有望實現大量新業務服務。部署傳感器(例如用于測量工業過程中的振動,溫度和濕度的傳感器)將為分析應用提供基礎數據,以提取有用信息并控制工廠操作。由于許多組織都采用IIoT,因此越來越需要傳感器和執行器來結合某種形式的顯示功能。 IIoT的實際情況是,所有內容都是通過云應用程序實現自動化和控制的,這與當地運營和維護人員的需求不一致。對他們而言,一個好處是可以看到工廠指標,以便在問題變得嚴重之前幫助識別他們。在許多情況下,這個要求可以通過使用單個顯示器來實現,該顯示器顯示來自多個傳感器源的收集數據,理想情況是在功能工廠或資產級別。本文將展示如何通過結合無線連接的低成本,緊湊型顯示模塊來滿足此要求。
為了從生產線上的多個點獲取數據,首選路線已經過在關鍵位置添加低成本,電池供電的無線連接傳感器。這種傳感器的設計標準規定了低資源微控制器,無線模塊和傳感器元件。在許多情況下,微控制器和無線模塊已成為一體,因為與運行無線協議棧相比,傳感器數據的應用程序處理程度最小。對于嵌入式開發人員來說,這種傳感器設備的設計是一項相對簡單的任務。大多數開發時間可能用于實現省電睡眠模式,以平衡將功耗降至最低的需求,同時降低對應用響應的影響。
但是,需要添加顯示器傳感器的功能顯著增加了設計復雜性。首先,從實用的角度來看,添加任何實際使用的屏幕尺寸可能會使物理尺寸加倍。其次,有功耗考慮因素。屏幕還將增加主機微控制器的存儲器和計算規格,更不用說需要LCD控制器。在顯示任何內容之前,開發人員需要準備字體和圖像,如果要實現觸摸屏,那些控制器也會起作用。
對于面向實現這種設計的嵌入式開發人員,有顯然有很多選擇。越來越多地,創建定制分立設計所花費的時間被視為一個缺點。一種可供采用的替代方案是使用緊湊的顯示模塊,該模塊不僅將主微控制器與用戶應用空間集成,而且還提供無線通信。一個例子是最近推出的4D系統的gen4顯示器(IoD)系列(圖1)。該模塊基于Espressif ESP8266 Wi-Fi微控制器,提供電阻式觸摸320 x 240像素TFT 65,000真實彩色顯示屏,尺寸為2.4,2.8或3.2英寸。
圖1:gen4互聯網顯示模塊。
該模塊具有512 kB的用戶閃存和128 kB的SRAM,以及用于安裝額外存儲空間的microSD插槽圖像并用于數據記錄應用程序。 gen4-IoD 2.8英寸型號的整體尺寸為78.4 mm x 44.8 mm x 7.2 mm。最快的編程方法是通過免費下載的Arduino IDE。這種方法可以用最少的開發工具和資源實現設計概念的快速原型設計。需要gen4-IoD編程器適配器(圖2)才能實現與USB主機的直接通信,允許通過10針FPC電纜連接任何4D系統gen4-IoD系列。
圖2:gen4-IoD編程適配器。
使用Arduino IDE不僅提供了一種低成本且經過充分驗證的gen4-IoD模塊編程方法,還可以從廣泛的ESP8266社區訪問大量代碼示例和資源。
從硬件角度來看,gen4-IoD得到了極好的支持,但開發人員會發現軟件應用程序資源的程度特別好。為了便于創建基于圖形的用戶界面,4D Systems提供了GFX4d庫。包括廣泛的原始圖形函數列表,可以從4D Systems GitHub存儲庫下載庫和其他資源。該公司還提供了一個名為Workshop 4的圖形開發環境,它通過使用小部件和基于布局的自動編碼來加速GUI應用程序的開發。
為了說明如何使用gen4-IoD顯示,讓我們考慮一下我們希望從云平臺接收和顯示數據的要求。此外,假設數據是在工業過程中流過閘閥的流體溫度的數據。顯示器可能安裝在離閥本身一定距離的位置,而溫度傳感器則可放置在閥門內或閥門上。正如文章開頭所討論的那樣,傳感器的設計規格可能與顯示器的設計規格大不相同。
對于我們的示例,我們可以設置一個只模擬接收數據的應用程序。但是,在我們看一下gen4-IoD顯示器的設計之前,讓我們看一下使用現有資源創建物聯網測試臺的一些簡單方法。由于我們的顯示器只接收來自云的數據,我們需要找到一種方法將數據從傳感器推送到云端。有許多具有這種能力的無頭Wi-Fi單板計算機,其中一個例子是微型Adafruit Feather M0板。該電路板配備Microchip微控制器和Wi-Fi模塊,完全支持Arduino IDE,可實現快速原型設計。現在讓我們看一下如何將數據推送到物聯網云平臺。
物聯網應用中最常用的協議之一是消息隊列遙測傳輸(MQTT)。這種極其簡單輕便的協議幾乎可用于任何形式的網絡。設備可以將數據“發布”到服務器,而另一方面,設備可以“訂閱”從服務器推送數據的訂閱源。在服務器上,一個名為MQTT代理的小應用程序處理訂閱者和發布者之間的通信。您可以從應用程序中選擇許多商用云平臺,但是對于這個簡單的示例,我們將使用Adafruit的Adafruit.IO平臺。根據消息頻率提供不同的使用計劃,免費選項是原型設計的理想選擇。 Adafruit提供了詳細的入門指南,以便開始使用Feather M0板以及大量用于各種其他單板計算機的示例。在我們的例子中,我們使用了一個簡單的草圖,其中包含了Adafruit的MQTT庫,該庫將15°C和28°C之間的隨機數生成的模擬溫度值(圖3)發送到Adafruit.IO。
圖3:使用Adafruit Feather M0 Wi-Fi與Adafruit.IO進行通信的草圖。
下圖4中的Adafruit.IO儀表板已設置最多可以接收已發布的數據。我們現在有一個MQTT數據饋送,我們可以訂閱我們的gen4-IoD顯示模塊。
圖4:Adafruit.IO飼料儀表板。
我們使用gen4-IoD模塊的第一個任務是設置GUI以顯示通過我們想象的閥門的液體溫度。我們使用Workshop 4 IDE來實現這一目標。在開始之前,請確保已從4D Systems站點下載并安裝了最新版本的此版本。運行應用程序并打開一個新項目,從可用設置中選擇gen4-IoD顯示。有兩個主窗口框架,左邊生成的Arduino草圖代碼,右邊是模塊的虛擬顯示。 (圖5)。
為了使顯示器盡可能方便用戶,在彩色背景上添加一個簡單的閥門圖標。
圖5: 4D Systems Workshop 4,右側顯示虛擬gen4-IoD。
工作室4有各種操作模式;上面說明的那個突出顯示它可以在您設計GUI時生成Arduino代碼。提供全面的小部件,提供預定義的按鈕,儀表和顯示元素,進一步加快設計速度。在此設計中,我們選擇使用七段顯示小部件,方法是將其從小部件欄拖動到閥門圖像的中間。在圖5中,在右下方框架中,您可以看到可以設置的七個段屬性以適合您的應用程序。在這里,我們決定提供兩位數字,沒有任何小數。靜態文本“Feed Valve 15”是顯示屏上顯示的唯一其他信息。
一旦排列了圖像小部件,就可以選擇“編譯”以生成相關的Arduino草圖,該草圖顯示在圖5的左側,該過程還創建了在將其插入gen4-IoD模塊之前需要存儲在microSD卡上的屏幕布局文件。此步驟還使用Workshop 4項目的文件名創建常量定義文件,在本例中為FeedValveConst.h,需要包含在主草圖文件中。屏幕布局文件使用類似的命名約定。
下一步是為gen4-IoD顯示創建主草圖文件。您可以選擇使用Workshop 4 IDE來準備草圖,而不是使用Arduino IDE。但是,要做到這一點,您仍然需要在同一臺計算機上加載Arduino IDE,因為Workshop 4將在編譯和上載代碼時對其進行后臺調用。圖6突出顯示了主要的包含文件,其中包括ESP8266 Wi-Fi,4D系統圖形庫以及兩個Adafruit MQTT文件。還包括Workshop 4 IDE創建的常量文件。然后,您需要輸入SSID和密碼參數,以便顯示模塊連接到您的Wi-Fi,然后輸入用于創建Feed的Adafruit.IO用戶名和密鑰。
圖6:包含用于設置gen4-IoD顯示的文件。
在草圖中,您還需要在設置部分輸入許多命令以啟動與圖形庫和顯示功能。這些顯示在圖7的上半部分。圖像元素iStatictext1等在常量文件中定義,隨后使用語法gfx.UserImages(iStatictext1,0)等進行尋址。在這種情況下,值參數閥門溫度,作為該函數的第二個參數傳遞。
圖7:用于設置gen4-IoD顯示功能的草圖代碼。
在上傳之前,可以在Arduino IDE中編譯完成的草圖。如果尚未完成,則需要將gen4-IoD顯示模塊添加到可用板的列表中。模塊的數據表中提供了完整的詳細信息,但實質上它涉及在Arduino IDE首選項中添加板URL以提供ESP8266類別,您可以從中找到列出的gen4-IoD顯示。請注意,有幾個版本的“ESP8266 by ESP8266 Community”電路板管理器文件。應該選擇2.3.0文件。
上傳草圖后,電路板應該開始運行,顯示應該變為現實。使用串行監視器功能是一種非常方便的調試應用程序的方法。編寫草圖時,您始終可以自由使用Serial.print函數來指示程序的位置以及任何關鍵變量。在圖6的右上角,當草圖開始運行時,您可以看到串行監視器窗口。最初連接到無線接入點,它獲取IP地址,然后連接到Adafruit.IO MQTT代理服務。然后訂閱數據饋送并開始接收從羽毛M0板傳遞給饋送的每個更新的閥門。
圖8顯示了使用閥門圖像和靜態文本的gen4-IoD顯示器與在Workshop 4中創建的完全一樣。
圖8:正在使用的gen4-IoD顯示從Adafruit.IO接收數據。
結論
在本文中,我們在很短的時間內取得了很多成就。我們已經看到開始將數據推送到云IoT應用程序然后將其接收回模塊不僅集成了計算和通信功能,而且還有顯示器是多么容易。雖然此示例中的顯示布局非常簡單,但只需幾分鐘即可完成。無需擔心必須創建字體或任何特殊圖像,庫或驅動程序。此外,由于顯示器由一個非常流行的無線微控制器平臺托管,開發人員可以放心,有來自擴展的用戶社區的支持。訪問免費的云資源,MQTT代理服務以及所有必需的驅動程序和庫文件,可以輕松進行原型設計。
-
傳感器
+關注
關注
2550文章
51035瀏覽量
753083 -
顯示器
+關注
關注
21文章
4970瀏覽量
139927 -
物聯網
+關注
關注
2909文章
44557瀏覽量
372790
發布評論請先 登錄
相關推薦
評論