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 发送