Changes for page 2 Script
Last modified by Devin Chen on 2025/06/06 14:03
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -154,132 +154,8 @@ 154 154 155 155 (% class="mark" %)2.If your server requires SSL certificate to log in,please use OpenCloud.Because only OpenCloud platform can support to upload certificate 156 156 157 -(% class="wikigeneratedid" %) 158 -**✎Note: **Before program the script of MQTT, please make sure the server(MQTT broker) can be connected through MQTT Client tool. 157 +== **2.1 V-Box connect with customer server:grouprobotinfo.com** == 159 159 160 -(% class="wikigeneratedid" %) 161 -Tool link: **[[MQTT.fx>>http://mqttfx.jensd.de/index.php/download]]** 162 - 163 -== **2.1 V-Box connect with test server(General Example)** == 164 - 165 -{{code language="lua"}} 166 ---MQTT configuration table 167 -local MQTT_CFG={} 168 -MQTT_CFG.username = "weconsupport" 169 -MQTT_CFG.password = "123456" 170 -MQTT_CFG.netway = 0 171 -MQTT_CFG.keepalive = 60 172 -MQTT_CFG.cleansession = 1 173 ---TCP URL 174 -MQTT_URL = "tcp://mq.tongxinmao.com:1883" 175 ---Client ID 176 -MQTT_CLIENT_ID = "V-BOXH-AG" 177 - 178 ---Generate UUID 179 -function uuid() 180 - local seed = {'e','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'} 181 - local tb = {} 182 - for i=1, 32 do 183 - table.insert(tb, seed[math.random(1,16)]) 184 - end 185 - local sid=table.concat(tb) 186 - return string.format('%s', 187 - string.sub(sid,1,32) 188 - ) 189 -end 190 - 191 - 192 ---Topic name to subscribed 193 -local SUBSCRIBE_TOPIC = 'testtopic/test/no1/123456' 194 - 195 ---Topic name to be published 196 -local PUBLISH_TOPIC = 'testtopic/test/no1/7890' 197 - 198 - 199 ---real time 200 -local LAST_TIME = 0 201 - 202 - 203 ---initialize mqtt 204 -function mqtt_init() 205 - print(string.format("mqtt init mqtt_url:%s mqtt_clientid:%s", MQTT_URL, MQTT_CLIENT_ID)) 206 - g_mq, err = mqtt.create(MQTT_URL, MQTT_CLIENT_ID) -- create mqtt object,and declare it as a global variable 207 - if g_mq then 208 - g_mq:on("message", mqtt_msg_callback) -- Register a callback for receiving messages 209 - print("mqtt init success") 210 - else 211 - print("mqtt init failed:", err) 212 - end 213 -end 214 - 215 --- connect to mqtt 216 -function mqtt_connect() 217 - print("mqtt connecting...") 218 - local stat, err = g_mq:connect(MQTT_CFG) 219 - if stat == nil then 220 - print("mqtt connect failed:", err) 221 - return 222 - else 223 - print("mqtt connected") 224 - end 225 - g_mq:subscribe(SUBSCRIBE_TOPIC, 0) 226 -end 227 - 228 --- Received message callback function 229 -function mqtt_msg_callback(topic, msg) 230 - print("topic:", topic) 231 - print("msg:", msg) 232 - local objMsg = json.decode(msg) 233 - local water = objMsg.data.waterlevel 234 - local temp = objMsg.data.temperature 235 - addr_setword("@HDW20",water) 236 - addr_setword("@HDW10",temp) 237 -end 238 - 239 ---Send data (data upload to platform and encapsulate it with custom functions) 240 -function send_data() 241 - local pub_data = { 242 - timestamp = os.time(), 243 - messageId = 1, 244 - event = 'test_data', 245 - mfrs = 'V-Box', 246 - data = { 247 - id = uuid(), 248 - waterlevel = addr_getword("@HDW10"), 249 - temperature = addr_getword("@HDW20") 250 - } 251 - } 252 - return g_mq:publish(PUBLISH_TOPIC, json.encode(pub_data), 0, 0) 253 -end 254 - 255 - 256 ---main function fixed timed execution 257 -function MQTT.main() 258 - --dosomething 259 - print(os.date("%Y-%m-%d %H:%M %S", os.time()) .. " main start") 260 - --determine the mqtt object whether exist 261 - if g_mq then 262 - --determine the mqtt object whether has been connected or not 263 - if g_mq:isconnected() then 264 - send_data() 265 - else 266 - --if exceed 20 sec not connect, reconnect once 267 - if os.time() - LAST_TIME > 20 then 268 - LAST_TIME = os.time() 269 - --connect to mqtt or reconnect 270 - mqtt_connect() 271 - end 272 - end 273 - else 274 - --mqtt object does not exist so create new one 275 - mqtt_init() 276 - end 277 - print(os.date("%Y-%m-%d %H:%M %S", os.time()) .. " main end") 278 -end 279 -{{/code}} 280 - 281 -== **2.2 V-Box connect with customer server:grouprobotinfo.com** == 282 - 283 283 This demo does not use SSL certification. Script is as below 284 284 285 285 Demo1: ... ... @@ -427,7 +427,7 @@ 427 427 end 428 428 {{/code}} 429 429 430 -== **2. 3V-Box connect with Azure platform** ==306 +== **2.2 V-Box connect with Azure platform** == 431 431 432 432 In this demo,V-Box connects with Azure by SSL certification. 433 433 ... ... @@ -558,7 +558,7 @@ 558 558 end 559 559 ))) 560 560 561 -== **2. 4How to configure the Huawei platform?(✎Note: Huawei IOT DA function is only in China area.If you want this function,you need to use chinese mobile to register)** ==437 +== **2.3 How to configure the Huawei platform?(✎Note: Huawei IOT DA function is only in China area.If you want this function,you need to use chinese mobile to register)** == 562 562 563 563 1.Register a account: [[https:~~/~~/www.huaweicloud.com/intl/en-us/s/JUlPVERNJQ>>https://www.huaweicloud.com/intl/en-us/s/JUlPVERNJQ]] 564 564 ... ... @@ -707,7 +707,7 @@ 707 707 (% style="text-align:center" %) 708 708 [[image:1624441186851-536.png||height="434" width="700" class="img-thumbnail"]] 709 709 710 -== **2. 5V-Box connect with Huawei platform** ==586 +== **2.4 V-Box connect with Huawei platform** == 711 711 712 712 In this demo,V-Box connects with Huawei by SSL certification. 713 713 ... ... @@ -828,7 +828,7 @@ 828 828 (% style="text-align:center" %) 829 829 [[image:1624506666650-161.png||height="547" width="1000" class="img-thumbnail"]] 830 830 831 -== **2. 6V-Box connect with AWS platform** ==707 +== **2.5 V-Box connect with AWS platform** == 832 832 833 833 === **Log in AWS** === 834 834