Applications UsePython to control thecolor of multi-colored LEDs
IX20 User Guide
837
if len(sys.argv) > 1:
dest = sys.argv[1]
else:
dest = allowed_incoming_phone_number
my_callback = Callback(sms_test_callback, metadata=True)
#send_sms(dest, 'Ready to receive incoming SMS message')
print("Waiting up to 60 seconds for incoming SMS message")
# 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()
os.system('rm -f /var/run/sms/scripts/*') # remove all stored SMS messages,
since we've processed them
print("SMS script finished. Please re-run if you want to check for more
incoming SMS messages")
os._exit(0)
Use Python to accessserial ports
You can use the Python serial module to accessserial ports on your IX20 device that are configured to
be in Application mode. See Configure Application modefor information about configuring a serial
port in Application mode.
To use Python to accessserial ports:
1. Select a device in Remote Manager that is configured to allow shell access to the admin user,
and click Actions> Open Console. Alternatively, log into the IX20 local 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:
# ls /dev/serial/
by-id by-path by-usb port1
#
3. At the shell prompt, use the python command with no parameters to enter an interactive
Python session:
# python
Python 3.10.1 (main, Mar 30 2023, 23:47:13) [GCC 11.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
4. Import the serial module:
>>> import serial
>>>
5. You can now perform operationson the serial port. For example, to write a message to the
serial port: