Example Program for Interfaces Using Python 3

UART Programming using Python 3

Locate P4 connector on board by referring to hardware manual and short pin 1 (RS232_TX_1) and pin 2(RS232_RX_1) to echo the transmitted data back to board. Short Type the following code in target board and save it with extension .py .

To test this python code, need to add the pyserial package in root file system. in nor rootfs image, this pyserial package was not included. This will be included in sdcard image.

vi uart4.py
'''
Copy and Paste the python code on to your vi editor
and save and exit the editor.
You can also use any other editor from your host PC
to write the code with .py extension and transfer the
python code file to the RuggedBoard. To transfer files
from host PC to RB will be show in the later upcoming
section named as "Transfering files from host PC to RB"
'''
import time
import serial
ser = serial.Serial(
port='/dev/ttyS4',
baudrate=9600,
parity=serial.PARITY_ODD,
stopbits=serial.STOPBITS_TWO,
bytesize=serial.SEVENBITS
)
ser.isOpen()
print ('Enter your commands below.\r\nInsert "exit" to leave the application.')
input=1
while 1 :
input = raw_input(">> ")
if input == 'exit':
ser.close()
exit()
else:
ser.write(input + '\r\n')
out = ''
time.sleep(1)
while ser.inWaiting() > 0:
out += ser.read(1)
if out != '':
print ">>" + out

To execute the code use the below command and enter anything for loopback test.

python uart4.py

===========================================================

On Board LED blinking Programming using Python 3

In rugged board having 3 LED's, here blinking the one LED(PC13) using below python example code.following code in target board and save it with extension .py .

vi led_blinky.py
#!/usr/bin/python
import sys,time
gpio_name = "PC13"
gpio_number = "77"
OUT = "out"
IN = "in"
HIGH = "1"
LOW = "0"
sys_path = "/sys/class/gpio/"
def gpExport(gpio_number):
f = open(sys_path+"export", "w")
f.write(gpio_number)
f.close()
def gpUnexport(gpio_number):
f = open(sys_path+"unexport","w")
f.write(gpio_number)
f.close()
def setDir(gpio_name, dir):
f = open(sys_path+gpio_name+"/direction","w")
f.write(dir)
f.close()
def setValue(gpio_name, val):
f = open(sys_path+gpio_name+"/value","w")
f.write(val)
f.close()
def initLed(gpio_name, gpio_number):
gpExport(gpio_number)
setDir(gpio_name,OUT)
setValue(gpio_name, HIGH)
def exit(gpio_name, gpio_number):
setValue(gpio_name, HIGH)
gpUnexport(gpio_number)
def ledOff(gpio_name):
setValue(gpio_name, HIGH)
def ledOn(gpio_name):
setValue(gpio_name, LOW)
initLed(gpio_name, gpio_number)
try:
while True:
ledOn(gpio_name)
print("LED1 is ON")
time.sleep(1)
ledOff(gpio_name)
print("LED1 is OFF")
time.sleep(1)
except KeyboardInterrupt:
exit(gpio_name, gpio_number)

To execute the code use the below command then on board yellow LED(near to ethernet port) starts blinking.

python3 led_blinky.py

Below code is for blinking the 3 LED's (PC13, PC17, PC19).

vi blinky_leds.py
#!/usr/bin/python
import sys,time
gpio1_name = "PC13"
gpio1_number = "77"
gpio2_name = "PC17"
gpio2_number = "81"
gpio3_name = "PC19"
gpio3_number = "83"
OUT = "out"
IN = "in"
HIGH = "1"
LOW = "0"
sys_path = "/sys/class/gpio/"
def gpExport(gpio_number):
f = open(sys_path+"export", "w")
f.write(gpio_number)
f.close()
def gpUnexport(gpio_number):
f = open(sys_path+"unexport","w")
f.write(gpio_number)
f.close()
def setDir(gpio_name, dir):
f = open(sys_path+gpio_name+"/direction","w")
f.write(dir)
f.close()
def setValue(gpio_name, val):
f = open(sys_path+gpio_name+"/value","w")
f.write(val)
f.close()
def initLed(gpio_name, gpio_number):
gpExport(gpio_number)
setDir(gpio_name,OUT)
setValue(gpio_name, HIGH)
def exit(gpio_name, gpio_number):
setValue(gpio_name, HIGH)
gpUnexport(gpio_number)
def ledOff(gpio_name):
setValue(gpio_name, HIGH)
def ledOn(gpio_name):
setValue(gpio_name, LOW)
initLed(gpio1_name, gpio1_number)
initLed(gpio2_name, gpio2_number)
initLed(gpio3_name, gpio3_number)
try:
while True:
ledOn(gpio1_name)
print("LED1 is ON")
ledOff(gpio2_name)
ledOff(gpio3_name)
time.sleep(0.2)
ledOff(gpio1_name)
ledOn(gpio2_name)
print("LED2 is ON")
ledOff(gpio3_name)
time.sleep(0.2)
ledOff(gpio1_name)
ledOff(gpio2_name)
ledOn(gpio3_name)
print("LED3 is ON")
time.sleep(0.2)
except KeyboardInterrupt:
exit(gpio1_name, gpio1_number)
exit(gpio2_name, gpio2_number)
exit(gpio3_name, gpio3_number)

To execute the code use the below command then on board, all 3LED's(near to ethernet port) starts blinking.

python3 blinky_leds.py