Applications
Use Python to access serial ports
IX14 User Guide
492
import os
import threading
import sys
from digidevice.sms import Callback, send
COND = threading.Condition()
def sms_test_callback(sms, info):
print(f"SMS message from {info['content.number']} received")
print(sms)
print(info)
COND.acquire()
COND.notify()
COND.release()
def send_sms(destination, msg):
print("sending SMS message", msg)
if len(destination) == 10:
destination = "+1" + destination
send(destination, msg)
if __name__ == '__main__':
if len(sys.argv) > 1:
dest = sys.argv[1]
else:
dest = '+15005550006'
my_callback = Callback(sms_test_callback, metadata=True)
send_sms(dest, 'Hello World!')
print("Please send an SMS message now.")
print("Execution halted until a message is received or 60 seconds have
passed.")
# acquire the semaphore and wait until a callback occurs
COND.acquire()
try:
COND.wait(60.0)
except Exception as err:
print("exception occured while waiting")
print(err)
COND.release()
my_callback.unregister_callback()
Use Python to access serial ports
You can use the Python
serial
module to access serial ports on your IX14 device that are configured to
be in Application mode. See
for information about configuring a serial
port in Application mode.
To use Python to access serial ports:
1. Log into the IX14 command line as a user with shell access.
Depending on your device configuration, you may be presented with an
Access selection
menu
. Type
shell
to access the device shell.
2. Determine the path to the serial port: