Styra Arduino via Android [Nu med kod]

Berätta om dina pågående projekt.
kenntoft
Inlägg: 195
Blev medlem: 5 september 2011, 11:32:45
Ort: Sundbyberg

Styra Arduino via Android [Nu med kod]

Inlägg av kenntoft »

Ä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.
Senast redigerad av kenntoft 13 oktober 2011, 20:17:12, redigerad totalt 1 gång.
Användarvisningsbild
Klas-Kenny
Inlägg: 11831
Blev medlem: 17 maj 2010, 19:06:14
Ort: Växjö/Alvesta

Re: Styra Arduino via Android

Inlägg av Klas-Kenny »

Jäklar vad häftigt! :D

Har många gånger haft diverse tankar kring att styra saker (Fast då med en PIC, som jag är hemma på) ifrån Android-mobilen, att gå via webben var ju ett sätt!
Det ultimata vore ju såklart att ha en dedikerad webbserver direkt på microprocessorn, men det kräver nog en lite mera kompetent sak gissar jag.

Förresten, hur skulle det vara att använda tex. "App Inventor" eller liknande till att göra mobilapplikationen?
sodjan
EF Sponsor
Inlägg: 43247
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Styra Arduino via Android

Inlägg av sodjan »

> Så jag köpte en display på kjell o company, en med Hitachi HD44780 chip, kostade typ 129kr.

Bara ett litet tips... 8)

Om du behöver LCD'er för labb så finns det en del olika till lite bättre pris på Tradera :

http://www.tradera.com/listing.mvc/item ... 0&catid=-1
kenntoft
Inlägg: 195
Blev medlem: 5 september 2011, 11:32:45
Ort: Sundbyberg

Re: Styra Arduino via Android

Inlägg av kenntoft »

Sodjan:
Bra tips!
LCD modul 16x2 HD44780. Vita stora tecken. <---- gillade den där skarpt!

Kjell kommer jag inte köpa något mer på, måste verkligen bli bättre på att söka :)


Klas-Kenny: Ja det var roligt att få till det. Jag använde Eclipse för att programmera till Android. Vet inte riktigt vad App Inventor är eller om det motsvarar Eclipse.
Jag har inte kollat men slänger ut det ändå, om man har en Arduino med Ethernet Shield borde man kanske kunna styra upp en webserver, såg det nånstans, men han sa oxå att det inte fanns så mkt plats var efter det.

Jag vet att man även kan modda en Linksys TG45xxxxx nånting router till att bli en webserver, så slipper man hänga på en dator på allt man gör:)

EDIT: Linksys WRT54G inget annat. Sök på det + hack eller modify. Man kan modifiera den så man får en serial-port och memory card reader.
Med Python webserver kan du skicka ut till serial, behöver ju inte vara en Arduino i andra änden, du kan ju ha en PIC med vad det nu heter rs232? Vet inte säkert, är långtifrån en expert på det här området.

Spanade in App Inventor lite snabbt, som jag såg verkar det inte gå att typ skicka på det sättet jag gör, kunde inte se att man kunde få något riktigt djup i apparna. Men jag gjorde bara en snabbsökning. Är nöjd med Eclipse och det funkar för mig.
Användarvisningsbild
Electricguy
Inlägg: 12480
Blev medlem: 15 augusti 2007, 16:52:14
Ort: Kälmä' typ..

Re: Styra Arduino via Android

Inlägg av Electricguy »

tuff liten pryl! :)
janbjorn
Inlägg: 271
Blev medlem: 3 december 2008, 16:22:39
Ort: Trollhättan

Re: Styra Arduino via Android

Inlägg av janbjorn »

Jag håller själv på med ett projekt (tråd kommer snart) där planen är att kommunicera arduino <-> android, fast vi har löst det på ett annat sätt. Vi har kopplat en RS232 Bluetooth modul direkt på arduinon och vips har man en direkt datalänk in i mobilen.

Hittills har vi bara gjort enkla tester och det funkade klockrent på första försöket!

Om man inte har jättekrav på grafiska utseendet i android-appen så funkar AppInventor klockrent
kenntoft
Inlägg: 195
Blev medlem: 5 september 2011, 11:32:45
Ort: Sundbyberg

Re: Styra Arduino via Android

Inlägg av kenntoft »

jan bjorn.

det där bluetooth verkar nice. alltså jag vet ju vad det är men det verkade lite krångligare än webserver.

Men jag ska lätt köra med bluetooth nästa gång. Så ser framemot din guide.

Var de lätt att få igenom Android programmeringen?

Kommer bluetooth grejen att tas emot som en serial i arduinon??

EDIT: Vill rensa upp min kod lite grann så den är respektabel med trouble-shooting grejer borta och lite mer utförliga kommentarer.
v-g
EF Sponsor
Inlägg: 7875
Blev medlem: 25 november 2005, 23:47:53
Ort: Kramforce

Re: Styra Arduino via Android

Inlägg av v-g »

Troligast får du upp den som en bluetoothenhet som är som en vanlig comport i datan och den reagerar troligen som en vanlig max232 på andra sidan.
Användarvisningsbild
PHermansson
EF Sponsor
Inlägg: 4340
Blev medlem: 22 december 2004, 00:46:38
Ort: Särestad Grästorp
Kontakt:

Re: Styra Arduino via Android

Inlägg av PHermansson »

Inte så, men det ska bli som http://www.amarino-toolkit.net/ alltså?
kenntoft
Inlägg: 195
Blev medlem: 5 september 2011, 11:32:45
Ort: Sundbyberg

Re: Styra Arduino via Android

Inlägg av kenntoft »

PHermansson:
Jag läste lite grann men det framgick inte hur den kommunicerar? eller är jag bara blind -troligtvis-.

är det via BT eller USB?

Kanske kan göra allt möjligt.
Användarvisningsbild
PHermansson
EF Sponsor
Inlägg: 4340
Blev medlem: 22 december 2004, 00:46:38
Ort: Särestad Grästorp
Kontakt:

Re: Styra Arduino via Android

Inlägg av PHermansson »

Det är bluetooth. Har inte testat själv än men kom att tänka på det när jag läste janbjorns inlägg, låter som samma tanke.
Användarvisningsbild
lond
Inlägg: 3548
Blev medlem: 23 september 2009, 11:52:45
Ort: Hyssna

Re: Styra Arduino via Android

Inlägg av lond »

Om man använder BT som överföring mellan Android och µP-plattformen, så kan man även använda BlueScripts och BluePanel från Teho Labs.

/// Marcus
sodjan
EF Sponsor
Inlägg: 43247
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Styra Arduino via Android

Inlägg av sodjan »

Sen så är ju den stora skillnaden att BT fungerar någon meter (?)
medan web-lösningen fungerar world-wide...
Användarvisningsbild
Glenn
Inlägg: 36631
Blev medlem: 24 februari 2006, 12:01:56
Ort: Norr om Sthlm
Kontakt:

Re: Styra Arduino via Android

Inlägg av Glenn »

janbjorn skrev: Vi har kopplat en RS232 Bluetooth modul direkt på arduinon och vips har man en direkt datalänk in i mobilen.

Coolt, så den hittas som en BT-serieport bara, och så får man ut RS-232-data på modulen helt utan initiering osv ?

Borde man kunna göra mycket skoj med :D
janbjorn
Inlägg: 271
Blev medlem: 3 december 2008, 16:22:39
Ort: Trollhättan

Re: Styra Arduino via Android

Inlägg av janbjorn »

Japp det va superenkelt i Arduinon.

Kopplade in blåtandsmodulen till RX/TX pinnarna och spänningsmatning och sedan bara funkade den som en rs232 port.
Inläsning och skrivning i Arduinokod:

Kod: Markera allt

if (Serial.available() > 0) {
	// read the incoming byte:
	incomingByte = Serial.read();

	// say what you got:
	Serial.print("I received: ");
	Serial.println(incomingByte, DEC);
}
För att debugga så parkopplade jag den med laptopen och tittade på datat som den skickar med RealTerm. Det tog max 20 minuter kopplande och kodande innan man hade kommunikationen uppe.
Skriv svar