|
<< İçindekileri Görüntülemek İçin Tıklayın >> Yer: Teknik Kılavuzlar > Netsim System Agent İstemci Protokolü Referansı > 5. Mesaj kuyruğu ve kanallar > 5.2 IoT ağ geçidi (/IoTGateway , WebSocket) |
İşlemci IoTGateway, kendi oturum yöneticisiyle (IoTGateway). Her ileti JSON bir metin çerçevesidir, command
alanıyla seçilir; hata yanıtı {"result": false, "message": …}. Cihaz tanımları MASTER'ın iot$device tablosundadır
(kılavuz "IoT cihazları ve cihaz istemcileri"). İki tür bağlantı vardır:
iot$legacy_device): deviceConnect {deviceId, secretKey}, getDeviceInfo {deviceId},
valuesChanged {values} (yanıtsız; feedback: true ile {result, messageId, subscriberCount}), setStates {states}
(her değer metin olarak saklanır), getNextMQMessage (kendisine gelen setValues).TIoTDeviceDataSet): login {userName, password} (MASTER login'i), logout,
subscribe / unsubscribe {deviceId}, getValues {deviceId, sequence?, keepMessage?}, getStates {deviceId, keys?};
yönetici (SYSADMIN) ayrıca setValues {deviceId, values}, setStates {deviceId, states}, getDeviceList,
getDeviceInfo {deviceId}.Abonenin kuyruğuna ileti girince ağ geçidi {"command": "notification", "notification": "MessageQueueChanged"} çerçevesi
yollar; istemci getValues ile alır:
{"result": true, "waitingMessages": n, "sequence": n, "messageId": "…", "topic": "<deviceId>", "values": {…}}. Bir oturum
birden çok cihaza aboneyse iletiler tek kuyruktan gelir, topic ile ayrılır. values'un biçimi cihaz sınıfınındır; ham
metin cihazlarında (COM, TCP):
| İleti | values |
|---|---|
| Çerçeve | {"value": "<ham çerçeve>", "timestamp": "<ISO-8601>", "frameSequence": n} |
| Bağlantı durumu | {"event": "state", "connected": true \| false, "error": "<metin>", "timestamp": "<ISO-8601>"} (value taşımaz) |
Güncel durum getStates {deviceId} → {"result": true, "values": {"connected": "true" | "false", "error": "…",
"stateTime": "<ISO-8601>"}} (değerler metin; kayıt yoksa {"result": false, "message": "no data found"}). Sonradan
abone olan istemci ilk durumu buradan okur. setValues {deviceId, values: {"value": "<metin>"}} metni cihaza olduğu
gibi yazar (istek, röle); cihaz bağlı değilse görev günlüğe yazar, istemciye ayrıca yanıt gitmez.