DASDUINO I PYTHON

UVOD
Python je jedan od najpopularnijih i najkorištenijih programskih jezika današnjice, a predviđa mu se još i svjetlija budućnost. Ono što nas više zanima je da omogućava “razgovor” s Dasduino putem jednostavnog serijskog sučelja. Svi UNIX sustavi mogu čitati i pisati serijske uređaje, a posao je uvelike olakšan s pySerial libraryom.
INSTALACIJA:PYTHON I PYSERIAL
Prije nego krenemo s programiranjem serijskog porta idemo instalirati Python i pySerial.NAPOMENA: u ovom tutorialu koristiti ćemo Python 2.7. Ako želite koristiti Python 3.x pri kraju se nalaze kratka upustva kako prilagoditi kod.
Kratko upustva kako instalirati .tar file:
U terminalu izvršite sljedeće naredbe:
tar xfvz /Users
/*imekorisnika*/
Downloads/pyserial-2.7.tar.gz
cd pyserial-2.7
sudo python
setup
.py install
Ukoliko koristite Windows OS preuzmite .msi file.
ARDUINO KOD
Prvi korak je natjerati Dasduino da šalje podatke preko serijskog porta. Ovo je isto kao i kada koristimo serial monitor, dakle koristimo funkciju Serial.print(). Radili smo već nekoliko primjera s printom u Serial Monitor pa ćemo to i iskoristiti. Koristiti ćemo HC-SR04 ultrazvučni modul, a kako možete se prisjetiti u KKM tutorialu.
Za početak idemo spojiti modul na Dasduino:
Napraviti ćemo i sitne preinake u kodu:
PYTHON KOD
Python kod možemo pisati i izvršavati na razne načine, radi jednostavnosti prikaza koristiti ćemo IDLE. Na Windowsima ga možete pronaći na: Start – All programs – Python – IDLE. Ako koristite OSX IDLE se nalazi u Application\Python folderu.
Prvi korak je dodati pySerial libray u kod:
import serial
Nakon toga otvaramo konekciju:
Imajte na umu da su ‘COM71’ i baud 9600 specifične za Windows računalo koje koristim trenutno. Više pročitajte na pySerial API.
Sljedeći korak je napraviti loop koji će neprestano čitati podatke sa serijskog porta:
while
True: #beskonacni
loop
if
(croduinoSerial.inWaiting() > 0): #ako postoje neki podaci
myData = croduinoSerial.readline() #spremi podatke u myData
print (myData)
S PYTHONA NA DASDUINO
Slati podatke na Dasduino s Python 2.x je vrlo jednostavno:
PYTHONA 3.X
U python 3.x string je unicode sam po sebi. Kako bi library uspješno radio moramo ga konvertati u byte, što nije bilo nužno za Python 2.x:
ŠTO JOŠ?
Postoji nekoliko vrlo dobrih open-source platformi za ostvarivanje ove komunikacije. Večina njih ima GUI (Graphical User Interface) framework za kontrolu, a pojedini prikazuju i prikupljene podatake u realtime-u u obliku dijagrama. Naše preporuke su:
Instrumentino
Python Firmata
GUI s pySerial i Matplotlib
Plan je u idućim lekcijama nešto slično i sami napraviti, kako bismo što bolje shvatili način komuniciranja Dasduina i Pythona. Ako imate problema s izvođenjem slobodno ostavite pitanje ili komentar kako bi unaprijedili ovaj tutorial…