UniPRT_Cloud SDK v2.0.0.0
 
载入中...
搜索中...
未找到
UniPRT_Cloud.Comm.MqttComm.MqttComm类 参考

非同步 MQTT 通訊包裝器。 提供開啟/關閉、發佈/訂閱,以及建立 TSC 指令的輔助方法。 更多...

Public 成员函数

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)
 訂閱主題並啟動非同步監聽工作。
 

静态 Public 成员函数

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 指令,要求印表機下載指定檔案。
 

Protected 属性

 _mqtt_comm
 

详细描述

非同步 MQTT 通訊包裝器。 提供開啟/關閉、發佈/訂閱,以及建立 TSC 指令的輔助方法。

构造及析构函数说明

◆ __init__()

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 通訊用封裝。

参数
brokerMQTT broker 位址。
portBroker 連接埠(預設 8883)。
username選用:使用者名稱。
password選用:密碼。
ca_cert選用:CA 憑證路徑。
certfile選用:用戶端憑證路徑。
keyfile選用:用戶端私鑰路徑。
keyfile_password選用:用戶端私鑰密碼。
返回
None。

成员函数说明

◆ close()

None UniPRT_Cloud.Comm.MqttComm.MqttComm.close ( self)

關閉與 MQTT broker 的連線。

返回
None。

◆ make_tsc_abort_command()

str UniPRT_Cloud.Comm.MqttComm.MqttComm.make_tsc_abort_command ( str from_id = "SDK",
str to_id = "printer",
int transaction_id = None )
static

產生 Action="Abort" 的 TSCDataTransfer 指令以清除印表機緩衝。

参数
from_id送出端識別(預設 "SDK")。
to_id目標端識別(預設 "printer")。
transaction_id選用 TransactionId;None 時隨機。
返回
代表 Abort 指令的 JSON 字串。

◆ make_tsc_data_pcl_command()

str UniPRT_Cloud.Comm.MqttComm.MqttComm.make_tsc_data_pcl_command ( str pcl_language,
str from_id = "SDK",
str to_id = "SetPCL",
Optional[int] transaction_id = random.randint(1000, 9999) )
static

建立 TSCDataPCL 指令以設定印表機語言(如 ZPL、TSPL)。

参数
pcl_language要設定的語言代碼;必須於支援清單中。
from_id送出端識別(預設 "SDK")。
to_id目標端識別(預設 "SetPCL")。
transaction_id選用 TransactionId;預設為隨機。
返回
代表 TSCDataPCL 指令的 JSON 字串。
异常
TypeError若 pcl_language 非字串。
ValueError若語言不受支援。

◆ make_tsc_data_transfer_bulk()

list[str] UniPRT_Cloud.Comm.MqttComm.MqttComm.make_tsc_data_transfer_bulk ( data,
Union[DataTransferType, str] data_type,
from_id = "SDK",
to_id = "printer",
transaction_id_start = None )
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 時隨機。
返回
JSON 字串清單(每筆為一個 TSCDataTransfer 指令)。
异常
ValueError當輸入型別或編碼無效時。

◆ make_tsc_download_file_command()

str UniPRT_Cloud.Comm.MqttComm.MqttComm.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 )
static

建立 TSCDownloadFile 指令,要求印表機下載指定檔案。

参数
download_uri檔案來源 URL(必填)。
from_id送出端識別(預設 "SDK")。
to_id目標端識別(預設 "printer")。
transaction_id選用 TransactionId;None 時隨機。
save_filename選用:存檔檔名。
peer_cert_check選用:是否驗證 TLS 對端憑證(True/False)。
返回
代表 TSCDownloadFile 指令的 JSON 字串。

◆ open()

None UniPRT_Cloud.Comm.MqttComm.MqttComm.open ( self)

開啟與 MQTT broker 的連線。

返回
None。

◆ read()

None UniPRT_Cloud.Comm.MqttComm.MqttComm.read ( self,
str topic,
Callable[[str, str], Awaitable[None]] callback )

訂閱主題並啟動非同步監聽工作。

参数
topic要訂閱的主題。
callback非同步 callback,參數為 (topic, payload)。
返回
None。

◆ write()

None UniPRT_Cloud.Comm.MqttComm.MqttComm.write ( self,
str topic,
str payload )

發佈訊息至主題。

参数
topic要發佈的 MQTT 主題。
payload要傳送的訊息內容(UTF-8)。
返回
None。

类成员变量说明

◆ _mqtt_comm

UniPRT_Cloud.Comm.MqttComm.MqttComm._mqtt_comm
protected
初始值:
= MqttCommInternal(
broker,
port,
username,
password,
ca_cert,
certfile,
keyfile,
keyfile_password,
)

该类的文档由以下文件生成: