我們?cè)絹?lái)越依賴可穿戴和互聯(lián)技術(shù),但在沒有人機(jī)界面的情況下,應(yīng)如何配置設(shè)備?
一個(gè)例子是我們現(xiàn)在用于視頻會(huì)議的無(wú)線耳機(jī)。設(shè)備的初始設(shè)置具有挑戰(zhàn)性,為了實(shí)現(xiàn)設(shè)備與手機(jī)或PC配對(duì),按鈕順序有時(shí)看起來(lái)是隨機(jī)的。把USB充電口連接到PC,然后在瀏覽器里進(jìn)行配置,不是更簡(jiǎn)單嗎?
另一個(gè)例子是打印機(jī)管理。通常使用USB電纜連接打印機(jī)到PC,通過(guò)主機(jī)端專用應(yīng)用程序?qū)崿F(xiàn)打印機(jī)配置,如WiFi或IP地址,紙張類型和打印質(zhì)量等,同時(shí)顯示狀態(tài)信息。
我們?cè)贘-Link調(diào)試器中也使用相同的技術(shù)來(lái)管理IP地址等配置。
事實(shí)上,幾乎所有具有USB充電口的物聯(lián)網(wǎng)設(shè)備都可以從嵌入式Web服務(wù)器中受益,以改進(jìn)和簡(jiǎn)化人機(jī)界面。
在產(chǎn)品中實(shí)現(xiàn)這種功能已經(jīng)有一段時(shí)間了,然而傳統(tǒng)的方法是在嵌入式控制器中添加web服務(wù)器,以及USB和TCP/IP協(xié)議棧,這需要相當(dāng)大的處理能力、能耗,占用更多的代碼空間和RAM資源。
如何減少代碼和RAM占用,同時(shí)實(shí)現(xiàn)易用性?
剔除TCP/IP協(xié)議棧,利用USB批量連接,基于emUSB-WEB協(xié)議??梢詫⒕W(wǎng)頁(yè)傳送到主機(jī)端的瀏覽器。一個(gè)簡(jiǎn)單的主機(jī)應(yīng)用程序(SEGGER示例:https://www.segger.com/downloads/emusb-device/SEGGER_USB_Webserver_Windows.zip)可以輕松地將USB HTTP通信連接到瀏覽器。一旦連接到交互網(wǎng)頁(yè),即可通過(guò)主機(jī)瀏覽器顯示配置,狀態(tài)或測(cè)量數(shù)據(jù)等。
嵌入式應(yīng)用可以充分利用瀏覽器的所有功能來(lái)調(diào)整大小,滾動(dòng)和導(dǎo)航等,以增強(qiáng)用戶體驗(yàn)。包括鏈接到云端資源(如圖形和動(dòng)畫),為用戶界面添加額外的維度,無(wú)需將它們嵌入到有限的代碼空間中,并提供遠(yuǎn)程更新外觀的機(jī)會(huì)。
如何工作?
USB web服務(wù)器由PC應(yīng)用和嵌入式應(yīng)用程序兩部分組成。
PC應(yīng)用程序負(fù)責(zé)打開一個(gè)socket,瀏覽器可以連接并通過(guò)USB轉(zhuǎn)發(fā)瀏覽器請(qǐng)求到嵌入式應(yīng)用。
嵌入式應(yīng)用接收HTTP請(qǐng)求,并使用集成的web服務(wù)器處理。響應(yīng)通過(guò)USB發(fā)送,由PC應(yīng)用接收,并轉(zhuǎn)發(fā)到默認(rèn)瀏覽器。
設(shè)備識(shí)別
PC應(yīng)用必須能夠識(shí)別它與其通信的USB設(shè)備。
因此,嵌入式應(yīng)用程序必須提供具備下列特性的USB接口:
· USBclass ID: 0xFF(特定于廠商)
· USB subclass ID: 0x57 (ASCII“W”)
· USB協(xié)議ID: 0x45 (ASCII“E”)
· 字符串描述符需包含" http "
瀏覽器連接是如何工作的?
PC應(yīng)用和嵌入式應(yīng)用程序之間通過(guò)USB Bulk通信,它必須包含至少一個(gè)USB Bulk IN和一個(gè)USB Bulk OUT端點(diǎn)。
枚舉完成后,嵌入式應(yīng)用程序開始監(jiān)聽來(lái)自PC應(yīng)用的命令,這些命令包含一個(gè)8字節(jié)的頭,描述數(shù)據(jù)包。
在讀取報(bào)頭后,嵌入式應(yīng)用將數(shù)據(jù)傳遞給嵌入式web服務(wù)器。
協(xié)議棧結(jié)構(gòu)
在下面的示例使用了SEGGER中間件, emUSB和emNET,也可以根據(jù)需要使用其他組件。
使用TCP/IP協(xié)議棧的典型配置如下所示。
注意emNET協(xié)議棧通過(guò)USB實(shí)現(xiàn)IP連接。雖然這是一種可靠的技術(shù)解決方案,但其增加的復(fù)雜性和所需的資源可能不適合嵌入式應(yīng)用。
使用USB web瀏覽器配置,如emUSB-WEB,嵌入式協(xié)議棧變得更簡(jiǎn)單,更小,看起來(lái)類似于只需要一個(gè)USB協(xié)議棧和嵌入式web服務(wù)器。
節(jié)省代碼和內(nèi)存
如果我們看一下運(yùn)行在SEGGER emPower評(píng)估板(基于Kinetis K66 Arm Cortex-M4 160Mhz MCU)在上的web服務(wù)器應(yīng)用程序,示例下載:https://www.segger.com/downloads/emusb-device/Trial_emPower_emUSBD_USB_Webserver_GUI.zip
注意,項(xiàng)目沒有針對(duì)緩沖區(qū)大小等進(jìn)行優(yōu)化,但給出了一個(gè)很好的參考。
我們可以看到代碼減少了大約32%,RAM減少了大約38%。
審核編輯:劉清
-
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2931文章
46251瀏覽量
392799 -
人機(jī)界面
+關(guān)注
關(guān)注
5文章
544瀏覽量
44963 -
嵌入式控制器
+關(guān)注
關(guān)注
0文章
65瀏覽量
15467 -
調(diào)試器
+關(guān)注
關(guān)注
1文章
313瀏覽量
24330 -
J-Link
+關(guān)注
關(guān)注
0文章
88瀏覽量
22747
原文標(biāo)題:如何使用emWeb實(shí)現(xiàn)與無(wú)頭設(shè)備的互動(dòng)?
文章出處:【微信號(hào):麥克泰技術(shù),微信公眾號(hào):麥克泰技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
人機(jī)界面的開發(fā)與應(yīng)用
人機(jī)界面設(shè)計(jì)與應(yīng)用

MT8000人機(jī)界面的系統(tǒng)設(shè)定

人機(jī)界面的發(fā)展歷程和組成結(jié)構(gòu)及工作原理,人機(jī)界面如何控制plc?
人機(jī)界面設(shè)計(jì)案例分析
人機(jī)界面簡(jiǎn)單編程實(shí)例介紹
人機(jī)界面(HMI)的典型應(yīng)用

評(píng)論