Module IoT Base Catm
功能说明
catmiot.get_gprs_network_registration()
catmiot.get_network_registration()
catmiot.get_single_quality()
catmiot.check_status()
catmiot.delete_coap()
- 发送CoAP协议中的DELETE请求,用于删除服务器上的资源
catmiot.coap_request('/m5stack-get')
- 发送CoAP协议中的GET请求,从指定的URL中获取资源
- /m5stack-get: 指定的URL路径,从中获取资源
catmiot.coap_to_connect('120.77.157.90', 5683)
- 初始化连接到指定的IP地址和端口号,用于建立CoAP协议的通信
- IP: 120.77.157.90
- Port: 5683
catmiot.coap_request('/m5stack-post', 2, '')
- 通过CoAP协议向指定的URL发送POST请求
- URL: /m5stack-post
- Payload: 发送的数据负载。
catmiot.power_save_mode(0, 0, 0, 0, False)
- 禁用设备的省电模式,以确保设备能够持续保持高性能运行
catmiot.disconnect_server()
catmiot.enable_PDP_context()
- 启用PDP上下文,通常用于GPRS或LTE网络通信,确保数据传输的上下文建立
catmiot.get_ezdata(ezdata_get_kslNzcb, 'GCJ3Ic5h2eXnzV3rT3bBXvrncCaJnART', '')
- 从指定的主题(topic)中获取数据
- Token: dCtdfg3u5id72J8YCubqu16zMqQunDQh
catmiot.remove_ezdata('GCJ3Ic5h2eXnzV3rT3bBXvrncCaJnART', '')
- 从远程服务器中删除指定的主题
- Token: dCtdfg3u5id72J8YCubqu16zMqQunDQh
catmiot.set_ezdata('GCJ3Ic5h2eXnzV3rT3bBXvrncCaJnART', '', '', 0)
- 将数据保存到指定的主题中,并通过指定的token进行验证
- Token: dCtdfg3u5id72J8YCubqu16zMqQunDQh
- Mode: Single (表示数据的保存模式为单一数据)
- Data: 需要保存的数据。
catmiot.get_CCID()
- 获取当前SIM卡的CCID (Integrated Circuit Card Identifier)号,即SIM卡的唯一标识
catmiot.get_IMEI()
- 获取设备的IMEI (International Mobile Equipment Identity)号,即设备的唯一标识
catmiot.gprs_service(1)
- 设置或检查设备的GPRS服务状态。此处设置为ACTIVE,表示启用GPRS服务
catmiot.http_service(1, '', '', {}, '')
- 使用HTTP协议发送GET请求,获取远程服务器的数据
- Method: GET (HTTP请求的方法)
- URL: 请求的地址
- Headers: 创建一个包含HTTP请求头信息的Map
- Payload: 如果是POST请求,可以通过此参数传递数据。
catmiot.init_modem(True)
catmiot.modbus_init(15, 13, 115200, 1, 1)
- 初始化UART通信接口,设置TX(发送)引脚为15,RX(接收)引脚为13,波特率为115200,模式为主设备(Master),从设备地址为1
modbus.read_coils(1, 1, 0)
- 读取从设备地址1的线圈状态,从起始地址1开始,读取数量为0个
modbus.read_discrete_inputs(1, 1, 0)
- 从设备地址1的离散输入状态,从起始地址1开始,读取数量为0个
modbus.read_holding_registers(1, 1, 0, True)
- 从设备地址1的保持寄存器读取数据,从起始地址1开始,读取数量为0个,读取的数据是带符号数
modbus.read_input_registers(1, 1, 0, True)
- 从设备地址1的输入寄存器读取数据,从起始地址1开始,读取数量为0个,读取的数据是带符号数
modbus.write_multiple_coils(1, 1, 0)
- 向从设备地址1的多个线圈写入数据,从起始地址1开始,写入的输出值为0
modbus.write_multiple_registers(1, 1, 0, True)
- 向从设备地址1的多个寄存器写入数据,从起始地址1开始,写入的寄存器值为0,数据为带符号值
modbus.write_single_coil(1, 1, 0)
- 向从设备地址1的单个线圈写入值,输出地址为1,写入的值为0
modbus.write_single_register(1, 1, 0, True)
- 向从设备地址1的单个寄存器写入数据,寄存器地址为1,写入的值为0,数据为带符号值
1~6,15,16
- 设置MODBUS函数码为READ_COILS_STATUS,用于读取线圈的状态
modbus.find_address
modbus.find_function
modbus.find_quantity
modbus.function_init(1, 0, 0)
- 初始化MODBUS从机功能码为READ_COILS_STATUS,用于从指定起始地址和数量读取线圈的状态
modbus.receive_req_create_pdu()
- 接收ADU(Application Data Unit)请求,表示接收到主设备的请求数据
modbus.create_slave_response(1)
modbus.update_process(1, 0, 0, [0, 0, 0])
- 更新READ_COILS_STATUS功能,从起始地址读取指定数量的线圈状态,并返回相应的数据列表
catmiot.mqtt_ischeck_connect()
catmiot.mqtt_to_connect('mqtt.m5stack.com', 1883, '', '', '', 120)
- 初始化MQTT服务器连接,设置服务器地址、端口、客户端ID、用户名、密码和保持连接时间
catmiot.mqtt_disconnect()
catmiot.mqtt_poll()
- 轮询下行消息,检查MQTT服务器是否有新的消息发送到设备
catmiot.mqtt_publish('', '', 0)
- 向指定的MQTT主题发布消息,包含消息内容(payload)和QoS(服务质量)设置
catmiot.mqtt_subscribe('', iotbasecatm_mqtt_cb, 0)
- 订阅指定的MQTT主题,并设置QoS(服务质量)级别
def iotbasecatm_mqtt_cb(catm_mq_topic, catm_mq_payload):
global ezdata_value1, catm_topic, catm_msg
catm_topic = catm_mq_topic
catm_msg = catm_mq_payload
pass
- 设置MQTT主题订阅后的回调函数,处理接收到的主题消息
catmiot.mqtt_unsubscribe('')
catmiot.network_active(0, 1)
- 激活指定的网络ID并设置该网络的动作为active(激活状态)
catmiot.get_network_ip(0)
catmiot.poweroff()
catmiot.power_save_mode(0, 10, 0, 5)
- 启用节电模式,设置周期TAU(时间间隔)和活跃时间段
- Periodic-TAU:以10分钟为单位设置,10 表示唤醒时间间隔为 10 x 10分钟,即100分钟。
- Active Time:以2秒为单位设置,5 表示设备在唤醒后会保持活动10秒。
catmiot.set_command_echo_mode(0)
catmiot.show_PDP_address()
- 显示PDP(分组数据协议)地址,通常用于设备的网络连接状态
modbus._mdbus_uart.any()
modbus._mdbus_uart.read()
modbus._mdbus_uart.readline()
modbus._mdbus_uart.read(10)
- 从串口中读取指定数量的字符,这里设定为读取10个字符
modbus._mdbus_uart.write('')
modbus._mdbus_uart.write(''+"\r\n")
modbus._mdbus_uart.write(bytes([0, 0, 0]))
- 将原始数据列表写入串口
- 这里使用了一个创建列表的模块,列表中包含三个值 0, 0, 0,表示将这些数值通过UART发送