首頁 技術服務 智能顯示器 Smart Display UART 協定介紹

Smart Display UART 協定介紹

SmartDisplay UART通訊協定 (UART Protocol) 是由華凌光電開發的一種專屬通信協定,旨在幫助客戶輕鬆透過UART介面輕鬆控制其人機介面(HMI)畫面。這個創新的協定結合了華凌光電用戶友好的 GUI Builder,為客戶提供了一個直觀而強大的工具,幫助客戶快速建立符合需求的圖控物件。透過 GUI Builder 客戶可以輕鬆設計各種 HMI 人機介面,從簡單的按鈕 (Button) 、文字 (Text) 到複雜的儀表 (Gauge) 和鍵盤 (Keypad),滿足各種應用場景的需求。這不僅節省了客戶的時間和成本,還使人機介面設計更加靈活和個性化,再透過華凌光電自定義 UART 協定指令,可以輕鬆與 Smart Display UART互動和控制。我們致力於提供最佳的客戶體驗,並持續改進我們的 GUI Builder,以確保它能滿足客戶不斷演變的需求。無論您是專業設計師還是初學者,我們相信 Smart Display UART協定將成為您打造出色 HMI 人機介面的理想選擇。讓我們一同探索這個令人振奮的創新技術,為您的產品注入更多活力和靈感。

Smart Display GUI Builder – UART Project 設定說明

Smart Display GUI Builder 為您提供了一個直觀且友好的操作環境,讓您輕鬆創建屬於自己的 HMI 項目,您只需要透過 GUI Builder 拖曳各種小工具 (Widget) 到頁面上,在零代碼的情況下您就可以輕鬆的在Smart Display 裝置上顯示圖控物件並與之互動。操作簡單、功能靈活,能滿足您的各種需求,讓您的工作更加高效率。

以下將介紹如何使用 Smart Display GUI Builder 建立UART專案項目,以及如何透過 UART 控制物件的關係。

建立 UART 協定專案項目 (UART Protocol Project)

依據需求, 輸入project 名稱, 選擇 SmartDisplay 機種, 於 protocol 選擇 SmartDisplay protocol (UART), 即可建立UART project。

於主畫面新增一個儀表(Gauge)和水平滑桿小工具(Horizontal Slider Widget)

新增 Widget 後,每個物件都有唯一的索引 ID(Index ID),每個物件都有其頁面索引(Page Index)和物件ID (Object ID)設定,透過了解這兩個設定,主機端(Host)即可透過指令(Command)來控制此物件。

模擬 UART 與 Widget 之間的互動

點選 icon: “Simulator With GUI” 啟動模擬器

啟動模擬器後,您可以拖曳下方標記為 GAUGE_0 的滑桿,來模擬主機發送 GAUGE_0 的數據, 請觀察模擬器中儀表的變化,也可以從右側的訊息記錄(Message Log)查看UART 指令日誌。 您還可以操作模擬器的水平滑桿(Horizontal Slider), 模擬從設備端(Device)送出數據。

更新Smart Display 裝置設定

經由模擬器驗證功能後,如果沒問題後,就可以連接設備(Device)將專案(Project)設定上傳到 Smart Display 設備。

等待上傳並更新完畢。

驗證設備與小工具之間的互動

再將Project上傳到設備後,您可以進一步驗證 Smart Display 設備端功能。使用 GUI Builder 連接到設備(Device)端後, 點選 "Test Device", 即可測試主機與設備之間的互動。

測試設備視窗

藉由此測試畫面,您可模擬主機端修改物件的值。拖曳下方標示為GAUGE_0的滑桿,模擬主機端送出 Object 0 的值。觀察設備上儀表的變化,您也可以從下方的訊息紀錄看到, 發送指令(Send command)和回應指令(Response command)的變化。此外,也可以操作設備上的水平滑桿(Horizontal Slider)確認從設備端發送的事件指令(Event command)。

透過上述的測試設備視窗(Test Device Window),您可模擬主機端送出UART指令控制Smart Display。從Smart Display觀察結果畫面,並透過觸控面板操作 Smart Display 來確認主機端接收到事件指令(Event command)資訊。

SmartDisplay GUI Builder – 自訂小工具

當SmartDisplay的預設小工具(Widget)無法滿足設計需求時,客戶可自行設計自定義小工具(Widget)的圖示。透過更新相對應的圖片後,即可達到自定義的小工具畫面。一般的按鈕(Button)或切換按鈕(Toggle Button),一般更換 On/Off 圖片即可達到自定義的功能。然而,對於有些較複雜的小工具(Widget),除了更換圖片,可能還需要進一步的參數設定,以確保Widget能正常顯示效果。

自定義儀表(Gauge)說明與範例

您可以依序更改圖片與儀表參數後即可達到自定義小工具(Widget)畫面。

多國語言顯示

SmartDisplay Text Widget 支援Unicode,可顯示多國語言文字,客戶可依下列步驟,設定想要顯示的多國語言文字。

1. 新增 Custom Font,依序選擇想要顯示的字型與大小,並選擇要顯示的Unicode 文字範圍(可參閱網站 https://unicode-table.com/en/blocks/ 確認要顯示文字的Unicode 範圍為何),如要顯示的文字範圍太大(如中文漢字),導致Flash 空間不足,可透過設定Custom Characters 部分,設定只要納入那些文字而已,降低字型的Flash 空間。

2. 設定Text Widget 顯示字型: 選擇要修改哪個 Text Widget 設定

3. 新增 Text Widget 並在模擬器中確認文字顯示是否正常

Custom CAN Command 說明

接下來將說明UART所使用的command protocol。透過這些指令,主機端可輕鬆控制Smart Display,包括換頁、調整背光亮度,或者使Buzzer發出聲音。

下列為預設的 UART 設定:
Default baud rate: 115200 (可透過 GUI Builder 修改)
Parity Bit: None
Data Bit: 8
Stop Bit: 1

UART 主要的Data format 格式如下:

Header Byte(1 Byte) Length(1 Byte) Payload(N Byte) CRC(2 Byte)
Command Header Value: 4 + Payload length
Payload max size: 250
Payload data max size: 250 Modbus CRC16
(Calculate Modbus CRC16
https://www.modbustools.com/modbus_crc16.html)

UART protocol 主要有三大類Command: Send command, Response command 和 Event Command 依序格式如下:

(1) Send Command 格式
Send command 主要用於主機端向 SmartDisplay 端發送指令。

Header Byte(1 Byte) Length(1 Byte) Payload(N byte) CRC(2 Byte)
Start with 0x53 (S) Value: 4 + Payload length
Payload max size: 250
Command code: 1 byte
Command parameter: 0 ~ N bytes
Modbus CRC16

(2) Response Command 格式
Response command 主要用於 SmartDisplay 端回覆主機端 Send command 的結果。

Header Byte(1 Byte) Length(1 Byte) Payload(N byte) CRC(2 Byte)
Start with 0x52 (R) Value: 4 + Payload length
Payload max size: 250
Command Code: 1 byte
Error Code: 1 byte
Response Data: 0 ~ N bytes
Modbus CRC16

(3) Event Command
當 SmartDisplay 端需要主動報告數據時,會使用此命令,例如在按鈕被觸發時。

Header Byte(1 Byte) Length(1 Byte) Payload(N byte) CRC(2 Byte)
Start with 0x45 (E) Value: 4 + Payload length
Payload max size: 250
Event Command Code: 1 byte
Event Data: 0 ~ N bytes
Modbus CRC16

*有關詳細的 Send Command 代碼和 Event Command 代碼,請參考 Smart Display UART 使用者指南文件。

Send / Response Command 協定說明與範例

以下將依序概述每個命令(Command)有效載荷(Payload)的數據格式和範例。

Set Object Value: 0x3

發送命令(Send Command)

Command Code 1 Byte 0x3
Parameter data 8 Byte uint16 PageIndex;
uint16 ObjectId;
int32 value;

回應命令(Response Command)

Command Code 1 Byte 0x3
Error Code 1 Byte 0: Success
1: Failed

範例: 設定 Object value

Set Object Buffer Data: 0x5

發送命令(Send Command)

Command Code 1 Byte 0x5
Parameter data N Byte uint16 PageIndex;
uint16 ObjectId;
uint8 [] data (max 100 bytes)
// Unicode String for Text
// Clock setting for Digital Clock

回應命令(Response Command)

Command Code 1 Byte 0x5
Error Code 1 Byte 0: Success
1: Failed

範例: 設定 Object Text: test

範例: 設定 Clock Widget 日期時間: 2024/09/01 04:05:06

Set Brightness: 0x6

發送命令(Send Command)

Command Code 1 Byte 0x6
Brightness 1 Byte Brightness value

回應命令(Response Command)

Command Code 1 Byte 0x6
Error Code 1 Byte 0: Success
1: Failed

範例: 設定亮度為 90

Set Buzzer: 0x7

發送命令(Send Command)

Command Code 1 Byte 0x7
Cycle 1 Byte Cycle value
High 1 Byte High value (Unit: 10 ms)
Low 1 Byte Low value (Unit: 10 ms)

回應命令(Response Command)

Command Code 1 Byte 0x7
Error Code 1 Byte 0: Success
1: Failed

範例: 發出聲音: Cycle:1, High: 200 ms, Low: 0 ms

Set Page Index: 0x8

發送命令(Send Command)

Command Code 1 Byte 0x8
Page Index 1 Byte Page Index value

回應命令(Response Command)

Command Code 1 Byte 0x8
Error Code 1 Byte 0: Success
1: Failed

範例: 切換Page Index 為 1
切換Page 時, 需要先設定Device State 為ConfigMode, 之後在下換頁命令, 結束換頁命令後, 就再設定Device State Mode 為Display Mode, 即可完成換頁的命令, 相關命令順序如下:

Set Device State: 0x20

發送命令(Send Command)

Command Code 1 Byte 0x20
Device State 1 Byte 0: ConfigMode
1: DisplayMode

回應命令(Response Command)

Command Code 1 Byte 0x20
Error Code 1 Byte 0: Success
1: Failed

範例: 可參考切換Page 範例

Event Command protocol說明與範例

Page change event: 0x1

事件指令(Event Command)

Event Code 1 Byte 0x01
Parameter data 2 Byte Uint16 PageIndex

範例: SmartDisplay 切換 Page 1.

Object Text change event: 0x2

事件指令(Event Command)

Event Code 1 Byte 0x02
Parameter data N +2 Byte Uint16 ObjectId
N byte Unicode Text
 

範例: Keypad widget 送出文字 1234

Object Value change event: 0x3

事件指令(Event Command)

Event Code 1 Byte 0x03
Parameter data 6 Byte Uint16 ObjectId
int32 value

範例: Object value change event.

客戶可透過 GUI Builder 以拖放Widget的方式設計 UI,達成 WYSIWYG(所見即所得)的效果,讓 UI 設計變得直觀且高效。同時,客戶可利用模擬器預覽設計結果,即時查看 UI 的呈現,提前了解最終效果,從而節省時間和精力。最終,通過 WINSTAR自定義的 UART 協定,客戶可以輕鬆控制設備。這種端對端的設計流程使客戶能夠在設計和控制上實現無縫整合,提高操作的便捷性和準確性。Smart Display UART 協定的應用為客戶帶來了更多的操作可能性和便利性,擴展了產品開發和應用的範圍。這種綜合解決方案不僅提升了客戶的工作效率,還增強了產品的創造力和競爭力。心動了嗎?快與華凌光電聯繫索取 Smart Display GUI Builder!在購買 Smart Display 之前,您可以先試用模擬器,確認其是否滿足您的需求!

回分類頁
go top
close

我們重視您的隱私

通過點擊「允許所有 Cookie」,代表您同意在您的設備上存儲 Cookie 以增強網站瀏覽體驗、分析網站使用情況並協助我們的行銷和網站效能優化工作。您可以在我們的隱私權政策中找到有關於此的更多資訊。

我們重視您的隱私

Winstar 及部分第三方在 www.winstar.com.tw 上使用 cookies。關於 cookie 的種類、用途及相關第三方的詳細資訊,請參見下文及我們的《Cookie 政策》。請點擊「允許全部」來同意我們使用 cookies,以確保您在我們網站上獲得最佳體驗。您也可以設置您的偏好或拒絕 cookies(必要的 cookies 除外)。

管理同意聲明

永久啟用
必要的 Cookie

這些 Cookie 是必不可少的,以便讓您在瀏覽網站並使用其功能上有更好地體驗,例如設置您的隱私偏好、登錄或填寫表單。

分析 Cookie

這些也被稱為「統計cookie」,用於收集您使用網站的資訊,例如您訪問了哪些頁面以及點擊了哪些連結。查看詳細資訊