Arduinon etäohjaaminen on suhteellisen helppoa. Tässä artikkelissa käyn lävitse kuinka tämä tapahtuu Pythonilla. Sama toimenpide on lähestulkoon yhtä helppoa myös muilla ohjelmointikielillä.

Ensiksi viedään Arduinoon seuraavanlainen koodin pätkä:

#!/usr/bin/env python
# remoteControl.py - Graphical user interface for remote control.
# (c) Kimmo Karvinen & Tero Karvinen http://BotBook.com

import serial
import gtk

ser=None # global variable

def sendSerial(widget, ch):
global ser
print("Sending "+ch)
ser.write(ch)

def main():
global ser
# File name might differ between Linux, Windows, and Mac OS X
ser = serial.Serial('/dev/ttyUSB0', 9600)

if (ser):
print("Serial port " + ser.portstr + " opened.")

window = gtk.Window(gtk.WINDOW_TOPLEVEL)
window.connect("destroy", gtk.main_quit)

vbox=gtk.VBox()
window.add(vbox)
row1=gtk.HBox()
off1 = gtk.Button("1 off")
off1.connect("clicked", sendSerial, "2")
row1.pack_start(off1)
vbox.pack_start(row1)
on1 = gtk.Button("1 on")
on1.connect("clicked", sendSerial, "8")
row1.pack_start(on1)

row2=gtk.HBox()
vbox.pack_start(row2) # vertical box starts at the bottom
off2 = gtk.Button("2 off")
off2.connect("clicked", sendSerial, "3")
row2.pack_start(off2)
on2 = gtk.Button("2 on")
on2.connect("clicked", sendSerial, "7")
row2.pack_start(on2)

row3=gtk.HBox()
vbox.pack_start(row3)
off3 = gtk.Button("3 off")
off3.connect("clicked", sendSerial, "4")
row3.pack_start(off3)
on3 = gtk.Button("3 on")
on3.connect("clicked", sendSerial, "6")
row3.pack_start(on3)

window.show_all()
gtk.main()
print ("Thanks for using BotBook.com remote control.")

if __name__ == "__main__":
main()

Seuraavaksi luodaan Pythonilla seuraavanlainen ohjelma:

#!/usr/bin/env python
# packingVBox.py - Pack many widgets on top of each other.
# (c) Kimmo Karvinen & Tero Karvinen http://BotBook.com

import gtk

window=gtk.Window()
window.connect("destroy", gtk.main_quit)

vbox=gtk.VBox()
window.add(vbox)

b1=gtk.Button("Button 1")
vbox.pack_start(b1)

b2=gtk.Button("Button 2")
vbox.pack_start(b2)

window.show_all()
gtk.main()

Ajamalla ylläolevan Python ohjelman näytöllesi piirretään 4 laatikkio, joita painamalla annat käskyjä Arduinollesi. Kyseinen ohjelma mahdollistaa virransyötön portteihin 2, 8, 3 ja 7.