移远EM800M模组使用python连接MQTT服务器测试

使用移远CAT1模组进行服务器MQTT协议测试

(非正式文档,仅供参考)

测试目的:

       测试CAT1模组到MQTT服务器。

测试设备:

CAT1通信板         (CAT1通信板      USB接口仅为电脑调试用途)

PC机一台

测试软件:

       Mqtt.fx V1.7.1

测试步骤:

1. 打开Mqtt.fx,设置 

 

2. 设置服务器地址参数mq.tongxinmao.com,18830,MQTT_FX_Client 

 

3. 连接服务器 

 

4. 订阅主题/public/eum150s/upload 

 

5. 设备上电插上220V,等待 出现eum150s connect success,表示设备连接成功。 

 

6. 在主题 /public/eum150s/dl 中发布消息 info, 即可查询设备的信息,大约3S延迟,此延迟时间为驱动电源和CAT1交互数据时间,非网络延迟 

 

上图分别是:输入电压和电流,输出电压和电流,调光值,LED输出功率和设备有功功率,输入频率,功率因数,内外部温度,LED亮灯时间,驱动器运行时间 

部分MQTT代码:

 

stagecode, subcode = checknet.wait_network_connected(30)
    if stagecode == 3 and subcode == 1:
        uart_log.info("net connect success")

        # 创建实例
        mqtt_server_obj = MQTTClient("umqtt_client_001", "mq.tongxinmao.com", 18830)
        #设置回调函数
        mqtt_server_obj.set_callback(mqtt_sub_cb)
        #建立连接
        mqtt_server_obj.connect()
        #订阅主题
        mqtt_server_obj.subscribe(b"/public/eum150s/dl")
        utime.sleep(1)
        mqtt_server_obj.publish(b"/public/eum150s/upload","eum150s connect success")
        utime.sleep(1)
   
        for i in range(1000):
            while True:
                mqtt_server_obj.wait_msg()  # 阻塞函数,监听消息
                #utime.sleep(0.2)
                if state == 1 or state == 2:
                    break
            # 4 发送数据
            #mqtt_send_to_server
            utime.sleep(1)
          
            # 3 读取数据
            uart_test.uart_get_device_info()
            mqtt_server_obj.publish(b"/public/eum150s/upload", b"vin:{}v,{}mA vout:{}v,{}mA dim:{:.0f} power:{}W,{}W freq:{}Hz pf:{} temp:{},{} on:{}h run:{}h".\
                                        format(uart_test.led_driver_voltage_in, uart_test.led_driver_current_in, \
                                                                                    uart_test.led_driver_voltage_out, uart_test.led_driver_current_out, \
                                                                                    uart_test.led_driver_dimm, uart_test.led_driver_power_in, uart_test.led_driver_power_out, \
                                                                                    uart_test.led_driver_hz, uart_test.led_driver_pfc, uart_test.led_driver_temp_in, uart_test.led_driver_temp_out  ,\
                                                                                    uart_test.led_driver_on_timr, uart_test.led_driver_run_time))
        # 5 关闭连接
        #mqtt_close_server
        mqtt_server_obj.publish(b"/public/eum150s/upload", b"mqtt closed")  
        mqtt_server_obj.disconnect()

  

posted @ 2025-04-17 15:27  429512065  阅读(69)  评论(0)    收藏  举报