Digi IX20W-PR User Manual page 838

Table of Contents

Advertisement

Applications
>>> s = serial.Serial("/dev/serial/port1", 115200)
>>> s.write(b"Hello from serial port")
26
>>>
6. Use Ctrl-D to exit the Python session. You can also exit the session using exit() or quit().
Use the Paho MQTT python library
Your IX20 device includes support for the Paho MQTT python library. MQTT is a lightweight messaging
protocol used to communicate with various applications including cloud-based applications such as
Amazon Web Services and Microsoft Azure. The following is example code that reads CPU and RAM
usage on the device, updates the device firmware, then publishes information about DHCP clients and
system information to the MQTT server at 192.168.1.100. The MQTT server IP is configurable.
"""
MQTT client example:
- Reporting some device metrics from runt
- Reporting DHCP clients
- Firmware update feature (simple implementation, read TODO in cmd_fwupdate)
"""
import sys
import time
import paho.mqtt.client as mqtt
import json
from acl import runt, config
from http import HTTPStatus
import urllib.request
import tempfile
import os
from digidevice import cli
POLL_TIME = 60
def cmd_reboot(params):
print("Rebooting unit...")
try:
cli.execute("reboot", 10)
except:
print("Failed to run 'reboot' command")
return HTTPStatus.INTERNAL_SERVER_ERROR
return HTTPStatus.OK
def cmd_fwupdate(params):
try:
fw_uri = params["uri"]
except:
print("Firmware file URI not passed")
return HTTPStatus.BAD_REQUEST
print("Request to update firmware with URI: {}".format(fw_uri))
try:
fd, fname = tempfile.mkstemp()
os.close(fd)
IX20 User Guide
Use Python to control the color of multi-colored LEDs
838

Advertisement

Table of Contents
loading

This manual is also suitable for:

Ix20Ix20wIx20-pr

Table of Contents