pdf-icon

UIFlow 上手教程

UiFlow1 Blockly

Event

Unit

UiFlow1 项目配置

Unit CatM

案例程序

测试 EZData

from m5stack import *
from m5ui import *
from uiflow import *
import time
import unit

setScreenColor(0x222222)
catm_0 = unit.get(unit.CATM, unit.PORTC)

ezdata_value1 = None
ezdata_value2 = None
loop = None
random2 = None

title0 = M5Title(title="CAT-M EZDATA", x=115, fgcolor=0xFFFFFF, bgcolor=0xcf0000)
label3 = M5TextBox(46, 219, "Single", lcd.FONT_Ubuntu, 0xFFFFFF, rotate=0)
label8 = M5TextBox(235, 219, "List", lcd.FONT_Ubuntu, 0xFFFFFF, rotate=0)
label11 = M5TextBox(8, 47, "Random Value:", lcd.FONT_Ubuntu, 0xFFFFFF, rotate=0)
label12 = M5TextBox(130, 47, "Text", lcd.FONT_Ubuntu, 0xFFFFFF, rotate=0)
label0 = M5TextBox(8, 88, "Single Data:", lcd.FONT_Ubuntu, 0xFFFFFF, rotate=0)
label1 = M5TextBox(8, 130, "List Data:", lcd.FONT_Ubuntu, 0xFFFFFF, rotate=0)
label2 = M5TextBox(105, 88, "Text", lcd.FONT_Ubuntu, 0xFFFFFF, rotate=0)
label4 = M5TextBox(89, 130, "Text", lcd.FONT_Ubuntu, 0xFFFFFF, rotate=0)

import random

def ezdata_get_bvKoUcb(value):
  global ezdata_value1, ezdata_value2, loop, random2
  ezdata_value1 = value
  label2.setText(str(ezdata_value1))
  pass

def ezdata_get_BZTZbcb(value):
  global ezdata_value1, ezdata_value2, loop, random2
  ezdata_value2 = value
  label4.setText(str(ezdata_value2))
  pass

def buttonA_wasPressed():
  global ezdata_value1, ezdata_value2, loop, random2
  catm_0.set_ezdata('orsNTFbxLj1uWSMMGqXFPKEJKzQKSlVl', 'm5_topic_single', str(random2), 0)
  loop = 1
  pass
btnA.wasPressed(buttonA_wasPressed)

def buttonC_wasPressed():
  global ezdata_value1, ezdata_value2, loop, random2
  catm_0.set_ezdata('orsNTFbxLj1uWSMMGqXFPKEJKzQKSlVl', 'm5_topic_list', str(random2), 1)
  loop = 2
  pass
btnC.wasPressed(buttonC_wasPressed)


catm_0.init_modem()
label12.setText(str(catm_0.network_active(0, 0)))
while True:
  if loop == 1:
    catm_0.get_ezdata(ezdata_get_bvKoUcb, 'orsNTFbxLj1uWSMMGqXFPKEJKzQKSlVl', 'm5_topic_single')
    loop = 0
  elif loop == 2:
    catm_0.get_ezdata(ezdata_get_BZTZbcb, 'orsNTFbxLj1uWSMMGqXFPKEJKzQKSlVl', 'm5_topic_list')
    loop = 0
  else:
    random2 = random.randint(10000, 99999)
  label12.setText(str(random2))
  wait_ms(100)
  wait_ms(2)

功能说明

catm_0.coap_to_connect('120.77.157.90', 5683)
  • 初始化CoAP协议
catm_0.init_modem()
  • 初始化模块
catm_0.uart_port_id(1)
  • 初始化UART串口
print((str('network registration:') + str((catm_0.get_gprs_network_registration()))))
  • 获取检查GPRS网络注册的状态
print((str('network registration:') + str((catm_0.get_network_registration()))))
  • 获取检查网络注册的状态
print((str('signal quality:') + str((catm_0.get_single_quality()))))
  • 获取检查单件的质量
print((str('status:') + str((catm_0.check_status()))))
  • 获取检查模块的状态
print(catm_0.delete_coap())
  • 获取CoAP请求删除状态
print((str('data:') + str((catm_0.coap_request('/m5stack-get')))))
  • 获取CoAP GET 请求返回数据
print((str('data:') + str((catm_0.coap_request('/m5stack-post', 2, '')))))
  • 获取CoAP POST 请求返回数据
catm_0.disconnect_server()
  • 断开服务器连接
catm_0.enable_PDP_context()
  • 激活PDP上下文
catm_0.get_ezdata(ezdata_get_oghkvcb, 'nfpmn7gVNHlhC5LG9hF7Qax1L6zKInc6', '')
  • 异步获取EZData值
catm_0.remove_ezdata('nfpmn7gVNHlhC5LG9hF7Qax1L6zKInc6', '')
  • 删除EZData数据
catm_0.set_ezdata('nfpmn7gVNHlhC5LG9hF7Qax1L6zKInc6', '', '', 0)
  • 保存EZData数据
print(catm_0.get_CCID())
  • 获取SIM卡CCID号码
print(catm_0.get_IMEI())
  • 获取设备IMEI号
catm_0.gprs_service(1)
  • GPRS服务控制
print((str('http data:') + str((catm_0.http_service(1, '', '', {}, '')))))
  • 获取 HTTP 返回数据
print((str('connection status:') + str((catm_0.mqtt_ischeck_connect()))))
  • 获取MQTT连接状态
catm_0.mqtt_to_connect('mqtt.m5stack.com', 1883, '', '', '', 120)
  • 建立MQTT连接
catm_0.mqtt_disconnect()
  • 断开MQTT连接
catm_0.mqtt_poll()
  • MQTT轮询操作
catm_0.mqtt_publish('', '', 0)
  • MQTT消息发布
print((str('status:') + str((catm_0.mqtt_subscribe('', catm_0_mqtt_cb, 0)))))
  • MQTT订阅主题
def catm_0_mqtt_cb(catm_mq_topic, catm_mq_payload):
  global catm_topic, catm_msg
  catm_topic = catm_mq_topic
  catm_msg = catm_mq_payload
  pass
  • MQTT订阅回调设置
catm_0.mqtt_unsubscribe('')
  • MQTT取消订阅
print((str('status:') + str((catm_0.network_active(0, 1)))))
  • 获取网络激活状态
print((str('id:') + str((catm_0.get_network_ip(0)))))
  • 获取网络IP标识
catm_0.poweroff()
  • 模块关机
print((str('status:') + str((catm_0.set_command_echo_mode(0)))))
  • 获取关闭命令回显模式状态
catm_0.enable_PDP_context()
  • 获取显示的PDP地址
On This Page