AM7020 (SIMCOM SIM7020E) 窄頻物聯網(NBIoT)模組 MicroPython 範例程式碼
To install am7020:
import upip upip.install('micropython-am7020')
or
$ ampy -p COMX put am7020
Declare nb and mqtt client instance using:
nb = AM7020NB(uart_num=0, baudrate=115200, tx_pin=16, rx_pin=17, reset_pin=5, dump_at_cmd=False) mqtt = AM7020MQTT(nb)
Initialize nb and connect to NBIOT base station:
while((not nb.init() or (not nb.nbiotConnect(apn, band)))): print(".") while(not nb.waitForNetwork()): print(".") sleep(5)
Check MQTT connection status and connect to Broker:
if(not mqtt.chkConnBroker()): mqtt.connBroker(MQTT_BROKER, 1883, mqtt_id="MY_AM7020_TEST_MQTTID")
Publish and subscribe:
mqtt.publish(TEST_TOPIC, "Hello MQTT") def callback1(msg): print(TEST_TOPIC, ":", msg) mqtt.subscribe(TEST_TOPIC, callback1)
Listen for messages from the broker:
mqtt.procSubs()
Declare nb and http client instance using:
nb = AM7020NB(uart_num=0, baudrate=115200, tx_pin=16, rx_pin=17, reset_pin=5, dump_at_cmd=False) http = AM7020HTTP(nb, HTTP_SERVER)
Initialize nb and connect to NBIOT base station:
while((not nb.init() or (not nb.nbiotConnect(apn, band)))): print(".") while(not nb.waitForNetwork()): print(".") sleep(5)
HTTP GET and POST:
http.get(HTTP_GET_API) state_code = http.responseStatusCode() body = http.responseBody() http.post(HTTP_POST_API, content_type="application/json", body="{\"value\": \"POST\"}") state_code = http.responseStatusCode() body = http.responseBody()