Styra Arduino via Android [Nu med kod]
Postat: 10 oktober 2011, 22:26:55
Ända sen jag fick mitt Arduino så har jag velat kontrollera den via min mobil, en Sony Ericsson Arc med Android 2.3.
Efter att jag laborerat lite med Arduinon och leds, piezo, fotoresistorer etc, så ville jag prova skicka text till en display.
Så jag köpte en display på kjell o company, en med Hitachi HD44780 chip, kostade typ 129kr. Provade lite sketcher som fanns och såg att man kunde skicka från serial vilket ledde till.....
version 1.0 konceptet
android app -> apache webserver ->php ($POST) ->skriva till fil -> python -> läsa från fil -> python skriva till arduino via serial -> arduino skriva till display.
Det gick bra och fick följande resultat:
http://www.youtube.com/watch?v=za8_6iHN0n8
Mitt Python program, om vi säger så här, lur-passade på den där filen som PHP skrev till och så fort den filen ändrades så läste Python programmet vad som stod och skickade till Arduinon.
Mer tänker jag inte skriva om v1.0 för jag förbättrade den med...
Version 2.0 konceptet
Android app -> PYTHON webserver -> Arduino och även Arduino ->Python webserver -> Android app
Jag tog bort onödiga grejer och öppnade även för två-vägs kommunikation.
http://www.youtube.com/watch?v=OX_qwl8sb3k
Så jag programmerade en Python webserver (finns en färdig i BaseHTTPserver) tweakade den utifrån mina behov.
När man sen anslöt med Android mot webservern så skickade man olika saker och tog emot siffror, i mitt fall var de bara en random nummer snurra som skickade tal mellan 0-100. Men skulle ju kunna vara en fotoresistor eller nån annan typ av sensor.
Jag kunde även stänga av och sätta på en LED.
Kanske är lite svårt att se på videon men jag lägger upp bilder imorgon och en ny film.
Kan även slänga upp all kod om ni är intresserade, Python koden, Android kod+apk, och Arduino sketch.
Vad jag har lärt mig av detta.
- Arduino är väldigt lättjobbat och snabbt att komma igång med
- Python är väldigt lättjobbat och logiskt
- Android appar och Java är svårt och lite mer komplicerat
- Googla, hitta, tweaka
- Detta är super-roligt!
När jag gör något nytt med Android+Arduino projektet så lägger jag upp det.
Efter att jag laborerat lite med Arduinon och leds, piezo, fotoresistorer etc, så ville jag prova skicka text till en display.
Så jag köpte en display på kjell o company, en med Hitachi HD44780 chip, kostade typ 129kr. Provade lite sketcher som fanns och såg att man kunde skicka från serial vilket ledde till.....
version 1.0 konceptet
android app -> apache webserver ->php ($POST) ->skriva till fil -> python -> läsa från fil -> python skriva till arduino via serial -> arduino skriva till display.
Det gick bra och fick följande resultat:
http://www.youtube.com/watch?v=za8_6iHN0n8
Mitt Python program, om vi säger så här, lur-passade på den där filen som PHP skrev till och så fort den filen ändrades så läste Python programmet vad som stod och skickade till Arduinon.
Mer tänker jag inte skriva om v1.0 för jag förbättrade den med...
Version 2.0 konceptet
Android app -> PYTHON webserver -> Arduino och även Arduino ->Python webserver -> Android app
Jag tog bort onödiga grejer och öppnade även för två-vägs kommunikation.
http://www.youtube.com/watch?v=OX_qwl8sb3k
Så jag programmerade en Python webserver (finns en färdig i BaseHTTPserver) tweakade den utifrån mina behov.
När man sen anslöt med Android mot webservern så skickade man olika saker och tog emot siffror, i mitt fall var de bara en random nummer snurra som skickade tal mellan 0-100. Men skulle ju kunna vara en fotoresistor eller nån annan typ av sensor.
Jag kunde även stänga av och sätta på en LED.
Kanske är lite svårt att se på videon men jag lägger upp bilder imorgon och en ny film.
Kan även slänga upp all kod om ni är intresserade, Python koden, Android kod+apk, och Arduino sketch.
Vad jag har lärt mig av detta.
- Arduino är väldigt lättjobbat och snabbt att komma igång med
- Python är väldigt lättjobbat och logiskt
- Android appar och Java är svårt och lite mer komplicerat
- Googla, hitta, tweaka
- Detta är super-roligt!
När jag gör något nytt med Android+Arduino projektet så lägger jag upp det.