非同步 MQTT 通訊包裝器。 提供開啟/關閉、發佈/訂閱,以及建立 TSC 指令的輔助方法。 更多...
公開方法(Public Methods) | |
| None | __init__ (self, str broker, int port=8883, Optional[str] username=None, Optional[str] password=None, Optional[str] ca_cert=None, Optional[str] certfile=None, Optional[str] keyfile=None, Optional[str] keyfile_password=None) |
| 初始化 MQTT 通訊用封裝。 | |
| None | open (self) |
| 開啟與 MQTT broker 的連線。 | |
| None | close (self) |
| 關閉與 MQTT broker 的連線。 | |
| None | write (self, str topic, str payload) |
| 發佈訊息至主題。 | |
| None | read (self, str topic, Callable[[str, str], Awaitable[None]] callback) |
| 訂閱主題並啟動非同步監聽工作。 | |
靜態公開方法(Static Public Methods) | |
| list[str] | make_tsc_data_transfer_bulk (data, Union[DataTransferType, str] data_type, from_id="SDK", to_id="printer", transaction_id_start=None) |
| 建立用於大量資料的 TSCDataTransfer JSON 指令清單。 | |
| str | make_tsc_abort_command (str from_id="SDK", str to_id="printer", int transaction_id=None) |
| 產生 Action="Abort" 的 TSCDataTransfer 指令以清除印表機緩衝。 | |
| str | make_tsc_data_pcl_command (str pcl_language, str from_id="SDK", str to_id="SetPCL", Optional[int] transaction_id=random.randint(1000, 9999)) |
| 建立 TSCDataPCL 指令以設定印表機語言(如 ZPL、TSPL)。 | |
| str | make_tsc_download_file_command (str download_uri, str from_id="SDK", str to_id="printer", int transaction_id=None, str save_filename=None, bool peer_cert_check=None) |
| 建立 TSCDownloadFile 指令,要求印表機下載指定檔案。 | |
保護屬性 | |
| _mqtt_comm | |
非同步 MQTT 通訊包裝器。 提供開啟/關閉、發佈/訂閱,以及建立 TSC 指令的輔助方法。
| None UniPRT_Cloud.Comm.MqttComm.MqttComm.__init__ | ( | self, | |
| str | broker, | ||
| int | port = 8883, | ||
| Optional[str] | username = None, | ||
| Optional[str] | password = None, | ||
| Optional[str] | ca_cert = None, | ||
| Optional[str] | certfile = None, | ||
| Optional[str] | keyfile = None, | ||
| Optional[str] | keyfile_password = None ) |
初始化 MQTT 通訊用封裝。
| broker | MQTT broker 位址。 |
| port | Broker 連接埠(預設 8883)。 |
| username | 選用:使用者名稱。 |
| password | 選用:密碼。 |
| ca_cert | 選用:CA 憑證路徑。 |
| certfile | 選用:用戶端憑證路徑。 |
| keyfile | 選用:用戶端私鑰路徑。 |
| keyfile_password | 選用:用戶端私鑰密碼。 |
| None UniPRT_Cloud.Comm.MqttComm.MqttComm.close | ( | self | ) |
關閉與 MQTT broker 的連線。
|
static |
產生 Action="Abort" 的 TSCDataTransfer 指令以清除印表機緩衝。
| from_id | 送出端識別(預設 "SDK")。 |
| to_id | 目標端識別(預設 "printer")。 |
| transaction_id | 選用 TransactionId;None 時隨機。 |
|
static |
建立 TSCDataPCL 指令以設定印表機語言(如 ZPL、TSPL)。
| pcl_language | 要設定的語言代碼;必須於支援清單中。 |
| from_id | 送出端識別(預設 "SDK")。 |
| to_id | 目標端識別(預設 "SetPCL")。 |
| transaction_id | 選用 TransactionId;預設為隨機。 |
| TypeError | 若 pcl_language 非字串。 |
| ValueError | 若語言不受支援。 |
|
static |
建立用於大量資料的 TSCDataTransfer JSON 指令清單。
| data | 輸入資料:Text 時為 list[str];其餘為 Base64/Hex 字串。 |
| data_type | 資料型別:Text、Base64 或 Hex。 |
| from_id | 送出端識別(預設 "SDK")。 |
| to_id | 目標端識別(預設 "printer")。 |
| transaction_id_start | 起始 TransactionId;None 時隨機。 |
| ValueError | 當輸入型別或編碼無效時。 |
|
static |
建立 TSCDownloadFile 指令,要求印表機下載指定檔案。
| download_uri | 檔案來源 URL(必填)。 |
| from_id | 送出端識別(預設 "SDK")。 |
| to_id | 目標端識別(預設 "printer")。 |
| transaction_id | 選用 TransactionId;None 時隨機。 |
| save_filename | 選用:存檔檔名。 |
| peer_cert_check | 選用:是否驗證 TLS 對端憑證(True/False)。 |
| None UniPRT_Cloud.Comm.MqttComm.MqttComm.open | ( | self | ) |
開啟與 MQTT broker 的連線。
| None UniPRT_Cloud.Comm.MqttComm.MqttComm.read | ( | self, | |
| str | topic, | ||
| Callable[[str, str], Awaitable[None]] | callback ) |
訂閱主題並啟動非同步監聽工作。
| topic | 要訂閱的主題。 |
| callback | 非同步 callback,參數為 (topic, payload)。 |
| None UniPRT_Cloud.Comm.MqttComm.MqttComm.write | ( | self, | |
| str | topic, | ||
| str | payload ) |
發佈訊息至主題。
| topic | 要發佈的 MQTT 主題。 |
| payload | 要傳送的訊息內容(UTF-8)。 |
|
protected |