pdf-icon

UIFlow Guide

UiFlow1 Blockly

Event

Unit

UiFlow1 Project

Unit CatM

Example

Test 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)

API

catm_0.coap_to_connect('120.77.157.90', 5683)
  • Initialize CoAP protocol
catm_0.init_modem()
  • Initialize module
catm_0.uart_port_id(1)
  • Initialize UART serial port
print((str('network registration:') + str((catm_0.get_gprs_network_registration()))))
  • Check GPRS network registration status
print((str('network registration:') + str((catm_0.get_network_registration()))))
  • Check network registration status
print((str('signal quality:') + str((catm_0.get_single_quality()))))
  • Check single-piece quality
print((str('status:') + str((catm_0.check_status()))))
  • Check module status
print(catm_0.delete_coap())
  • Get CoAP request deletion status
print((str('data:') + str((catm_0.coap_request('/m5stack-get')))))
  • Get CoAP GET request response data
print((str('data:') + str((catm_0.coap_request('/m5stack-post', 2, '')))))
  • Get CoAP POST request response data
catm_0.disconnect_server()
  • Disconnect from server
catm_0.enable_PDP_context()
  • Activate PDP context
catm_0.get_ezdata(ezdata_get_oghkvcb, 'nfpmn7gVNHlhC5LG9hF7Qax1L6zKInc6', '')
  • Asynchronously retrieve EZData value
catm_0.remove_ezdata('nfpmn7gVNHlhC5LG9hF7Qax1L6zKInc6', '')
  • Delete EZData
catm_0.set_ezdata('nfpmn7gVNHlhC5LG9hF7Qax1L6zKInc6', '', '', 0)
  • Save EZData
print(catm_0.get_CCID())
  • Retrieve SIM card CCID number
print(catm_0.get_IMEI())
  • Retrieve device IMEI number
catm_0.gprs_service(1)
  • GPRS service control
print((str('http data:') + str((catm_0.http_service(1, '', '', {}, '')))))
  • Get HTTP response data
print((str('connection status:') + str((catm_0.mqtt_ischeck_connect()))))
  • Get MQTT connection status
catm_0.mqtt_to_connect('mqtt.m5stack.com', 1883, '', '', '', 120)
  • Establish MQTT connection
catm_0.mqtt_disconnect()
  • Disconnect MQTT connection
catm_0.mqtt_poll()
  • MQTT polling operation
catm_0.mqtt_publish('', '', 0)
  • Publish MQTT message
print((str('status:') + str((catm_0.mqtt_subscribe('', catm_0_mqtt_cb, 0)))))
  • Subscribe to MQTT topic
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
  • Set MQTT subscription callback
catm_0.mqtt_unsubscribe('')
  • Unsubscribe from MQTT
print((str('status:') + str((catm_0.network_active(0, 1)))))
  • Check network activation status
print((str('id:') + str((catm_0.get_network_ip(0)))))
  • Retrieve network IP identifier
catm_0.poweroff()
  • Shut down module
print((str('status:') + str((catm_0.set_command_echo_mode(0)))))
  • Check command echo mode disable status
catm_0.enable_PDP_context()
  • Display PDP address
On This Page