Changes for page 05 Lua Script
Last modified by Devin Chen on 2025/03/04 14:07
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 2 removed)
Details
- Page properties
-
- Content
-
... ... @@ -88,10 +88,7 @@ 88 88 89 89 = 10** How to parse value from subscribing MQTT topic** = 90 90 91 -This example shows how to parse value from subscribing MQTT topic. Get the value and calculate the average value for group F1, F2, F3 and F4. The testing topic name is "testtopic/test/no1/123456". 92 - 93 -[[Download link>>https://ftp.we-con.com.cn/Download/WIKI/PI%20HMI/Demo/Lua%20Script/MQTT%20JSON%20parse.zip]] 94 - 91 +This example shows how to parse value from subscribing MQTT topic. The testing topic name is "testtopic/test/no1/123456". 95 95 And the subscribed content is like following: 96 96 97 97 {{code language="json"}} ... ... @@ -212,31 +212,9 @@ 212 212 } 213 213 {{/code}} 214 214 215 - So we decode this json into lua object, and then assign the values from "Value" field into table (addresses HDW1~~HDW101, HDW112~~HDW202, HDW213~~HDW313, HDW324~~HDW424).212 + So we decode this json into lua object, and then assign the values from "Value" field into addresses HDW1~~HDW101, HDW112~~HDW202, HDW213~~HDW313, HDW324~~HDW424. 216 216 217 217 (% style="text-align:center" %) 218 218 [[image:MQTTScreen.png]] 219 219 220 -Due to the MQTT code is not able to running on the simulator from PC, following picture is the testing result from actual HMI screen: 221 - 222 -(% style="text-align:center" %) 223 -[[image:MQTTactualtestingresult.png]] 224 - 225 -The JSON parser function is located on mqttAction.lua, called mqtt_msg_callback. 226 - 227 -(% style="text-align:center" %) 228 -[[image:MQTTJSONparsefunction.png]] 229 - 230 -= **11 High-Low Byte Switch** = 231 - 232 -The example shows how to convert high bytes and low bytes for one 16bit address. Main function is like following: 233 - 234 -{{code language="lua"}} 235 -local lowByte = val & 0x00ff 236 -local shiftHigh = lowByte << 8 237 -local highByte = val & 0xff00 238 -local shiftLow = highByte >> 8 239 -local newVal = shiftHigh|shiftLow 240 -{{/code}} 241 - 242 242
- MQTTJSONparsefunction.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Hunter - Size
-
... ... @@ -1,1 +1,0 @@ 1 -124.0 KB - Content
- MQTTactualtestingresult.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Hunter - Size
-
... ... @@ -1,1 +1,0 @@ 1 -945.6 KB - Content