Un saluto a tutti. è il mio primo post e mi presento. Mi chiamo Ilario. Mi sto avvicinando a questo affascinante mondo. Per motivi didattici sto cercando di valutare se è possibile lo sviluppo di un mio progetto che utilizzando arduino e un applicazione android creata ad hoc consenta di azionare un relè e/o controllare la temperatura di un sensore.
Non sono molto esperto di programmazione e vorrei capire se è difficile o facile.
Mi potreste dare info su come e dove reperire informazioni dettagliate in merito?
vi ringrazio.
Ciao Ilario, benvenuto.
Per motivi didattici sto cercando di valutare se è possibile lo sviluppo di un mio progetto che utilizzando arduino e un applicazione android creata ad hoc consenta di azionare un relè e/o controllare la temperatura di un sensore.
sì, è fattibile.
Mi potreste dare info su come e dove reperire informazioni dettagliate in merito?
il tuo progetto lo puoi dividere in 2 parti: una relativa alla programmazione Arduino, l'altra relativa alla programmazione Android.
Parti con Arduino, imparando le basi e quindi a gestire un attuatore (relè) e un sensore analogico (temperatura).
A parte il classico learning
http://arduino.cc/hu/Tutorial/HomePage
puoi utilizzare la funzione di ricerca in alto a dx per cercare thread sui temi di tuo interesse.
Per la parte di programmazione Android, se non hai esperienza di programmazione, considera che puoi utilizzare strumenti di sviluppo come AppInventor:
http://www.appinventor.mit.edu/
Una volta preso confidenza con i due strumento, non avrai alcun problema a connettere Android con Arduino.
Se invece vuoi la pappa pronta puoi dare un'occhiata al progetto domotichome:
(qui la nascita) http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1281726774
(qui il sito) http://www.domotichome.net
Altro progetto in essere (ma più strutturato) è Souliss
http://arduino.cc/forum/index.php/topic,80055.0.html
Ciao ilario,
prima di tutto benvenuto. Non sono il massimo esperto di arduino (qui ci sono molte persone molto più in gamba di me :)) ma ho avuto modo di sperimentarlo anche su un semplice progettino che coinvolgeva android. Mio consiglio è di partire con qualcosa di semplice giusto per prendere confidenza sia con arduino che con android e vedere le principale problematiche.
Hai già pensato come connettere arduino ad android? usb, bluetooth, wifi, rete, con piattaforme WoT...
e un applicazione android creata ad hoc
Hai già sviluppato la parte android?
l'applicazione android non è ancora stata creata. Pensavo di connettere arduino ad una scheda ethernet. Il dialogo avviene attraverso stringhe Http?
vedo che di carne da cuocere ce n'è abbastanza..
Hai tantissima carne da cuocere :)!
Inizia con i link che ti ha detto suggerito @pitusso. Per quanto riguarda la shield ethernet nel forum ci sono moltissimi topic che trattano dell'argomento dacci un'occhiata e nel caso siamo qui ;).
Buon lavoro intanto.
Ciao
con la ethernet usi i protocolli TCP o UDP, quindi se vuoi puoi usare l'HTTP, ma devi scriverti da te la gestione del protocollo. Anche se ci sono librerie che rendono arduino un web server, l'iterazione HTML -> hardware la devi scrivere da te.
Ciao e benvenuto!
Intanto sono d'accordo con tutto quello che è stato detto finora.
Volevo solo aggiungere che (dato che lo scopo del progetto è didattico), per quanto riguarda la comunicazione arduino-android potresti usare quello che hai già, cioè un arduino, uno smartphone android e un pc/mac.
Tempo fà ho fatto anch'io diversi esperimenti con android e arduino e per questo ho scritto 3 classi java che ho riutilizzato nei vari progetti: una per la comunicazione pc-arduino tramite usb seriale e le altre due per la comunicazione TCP android-pc.
Il mio consiglio è di spezzettare il problema in piccole parti e di provare a scrivere da solo il codice per capirne meglio il funzionamento, ma se per caso non avessi voglia di farlo potresti utilizzare le mie classi.
Ciao!
Ciao,
aggiungo che una strada percorribile è quella di utilizzare moduli bluetooth.
Puoi leggere questo thread per una panoramica molto ampia delle possibilità:
http://arduino.cc/forum/index.php/topic,99292.0.html
Considera poi che in tal caso potresti utilizzare il toolkit Amarino:
http://www.amarino-toolkit.net/
Ciao, benvenuto.
Se tu hai la ethernet shield e la possibilità di creare una o più paginette html perchè limitarsi a solo Android, carichi la pagina con l'indirizzo e ti crei una schermata con icone pulsanti, uguale ad una applicazione android, come meglio preferisci, le fai autoadattanti al tipo di risoluzione dello schermo che sta aprendo quella pagina, lo potrai vedere su android, apple, pc, qualsiasi terminale abbia la possibilità di aprire un browser. Io cosi' mi trovo bene, anche perchè oggi ho Android, domani mi compro l'iphone e mi tocca fare un applicazione anche per quello. Magari un amico vede il tuo progetto "bello me ne fai uno anche a me?"....... "no mi spiace hai iphone non si può". Tutto questo se ovviamente la tua non è una questione commerciale e vendere il tuo programmino su market.
ciao
Se tu hai la ethernet shield e la possibilità di creare una o più paginette html perchè limitarsi a solo Android, carichi la pagina con l'indirizzo e ti crei una schermata con icone pulsanti, uguale ad una applicazione android, come meglio preferisci, le fai autoadattanti al tipo di risoluzione dello schermo che sta aprendo quella pagina, lo potrai vedere su android, apple, pc, qualsiasi terminale abbia la possibilità di aprire un browser
+1
è standard e facilmente adattabile ad ogni supporto - nel senso che non richiede grossi lavori di sviluppo per l'interfaccia.
Il problema, in questi casi, è che le risorse di Arduino sono limitate, mentre un'interfaccia sviluppata ad hoc su device, ha come limite le risorse del device stesso - di gran lunga superiori a quelle di Arduino.
pitusso:
Puoi leggere questo thread per una panoramica molto ampia delle possibilità:
http://arduino.cc/forum/index.php/topic,99292.0.html
Come potrai notare è stata la soluzione che ho adottato in quanto rappresenta il modo più economico (circa 10€ per 2 moduli bt) e diretto (non serve un pc) per fare comunicare android e arduino.
Però mi sembra giusto dirti che se li prendi dalla Cina come me dovrai aspettare un bel pò prima che arrivino. Considera che li ho ordinati quando ho scritto l'ultimo messaggio sul topic e attualmente sono stati spediti ma si trovano da qualche parte della Cina...
purtroppo avrei tante di quelle domande che è meglio che continui a leggere nei link che mi avete passato prima di evitare di chiedere cose che posso desumere da solo. "purtroppo" siccome appunto lo scopo è quello didattico, il mio corso di studi prevede l'utilizzo di java per la realizzazione dell'app android, ecco perchè approfittavo della "facilità" o meglio della duttilità di arduino per affiancarla all'app scritta appunto in java. La mia idea era quella di realizzare un'app appunto scritta in java che vada ad interagire con android, ma per il momento limitata al controllo di temperatura e/o umidità (magari sarebbe veramente utile a questo punto poter agire su un cronotermostato dell'impianto di riscaldamento, magari installando un sensore di temperatura in ogni stanza ed un'elettrovalvola in corrispondenza di ogni termosifone). Si tratta di un esame universitario ma non vorrei complicarmi troppo la vita. Non so nemmeno come si spara il codice all'interno di arduino!
sto per acquistare il materiale. per il momento vorrei prendere arduino, la ethernet schield ed un sensore di temperatura. datemi una dritta su cosa acquistare:
- va bene arduino duemilanove o prendo "uno"?
- va bene la ethernet schield NON POE?
- che sensore prendo?
ho visto che esistono versioni cinesi. Penso da acquistare comunque ufficialmente italiano.
grazie.
Ti rispondo, anche se non sono esperto, ma è la stessa cosa che sto facendo anche io.
Per il relè, visto che non puoi pilotarlo direttamente da un uscita dell'arduino, devi fare uno stadio pilota con un transistor. Ci sono i classici bjt+resistenza x la corrente mandata alla base. Oppure, puoi usare un transistor mosfet. Quest'ultimi non sono diffusi come i primi, ma basta il semplice transistor. A milano in un negozio di componenti al pezzo costano 20 centesimi. Per semplificarti la vita: 2N7000 - Wikipedia e un esempio di utilizzo Driving using a single MOSFET - Northwestern Mechatronics Wiki
Per l'arduino, io ho appena preso una basetta UNO + eth shield. Però a tornare indietro comprerei direttamente un arduino ethernet ( alla fine è l'unione di UNO+SHIELD ). POE (power over ethernet) significa che se hai uno switch POE ci pensa lui ad alimentare l'arduino passandogli la tensione sul cavo di rete.
Per il sensore vedi te, c'è un integrato della DALLAS ds18b20 che costa tipo 5 eur e che ti da la risposta in digitale ( quindi devi usare la sua libreria per i comandi ). Poi c'è il LM35 moooolto + economico che costa tipo 30 cent ma devi usare i pin analogici e non puoi utilizzarlo lontano dall'arduino.
a livello pratico e di programmazione c'è differenza tra la soluzione uno+shield oppure uno-ethernet?
non penso
Ciao
a livello pratico e di programmazione c'è differenza tra la soluzione uno+shield oppure uno-ethernet?
come già detto da andrea86, non ci sono differenze, se non per il caricamento dello sketch:
- con Arduino UNO + Eth Shield ti è sufficiente il cavo USB
- con Arduino Ethernet hai bisogno di un adattatore USB2Serial
http://store.arduino.cc/eu/index.php?main_page=product_info&cPath=11&products_id=143
oppure di un'altra arduino per la programmazione via ISP (vedi qui:
http://arduino.cc/en/Tutorial/ArduinoISP
per fartene un'idea, poi c'è eventualmente la guida del prof. Menniti che è molto completa e dettagliata)
dopo aver fatto un'immersione nel campo dell'intelligenza artificiale superando l'esame in questione vorrei dedicarmi con più impegno allo sviluppo di questo progetto. Sto valutando l'acquisto del materiale hardware e per il momento, come consigliato, vorrei intanto apprendere le basi e le nozioni teoriche di programmazione per poi procedere agli step successivi.
Ho da fare però una domanda. Sto rivolgendo il mio interesse su arduino uno + ethernet shield, ma gironzolando su internet mi sono imbattuto nel discorso ADK. A quanto ho letto dovrebbe essere un Arduino Mega e cito testualmente: "ADK è un sistema che consente di usare un qualsiasi Android device come controllore di altri componenti "collegati da Arduino".".
ecco, sono davanti alla prima confuzione su cosa acquistare.
Mi aiutate a valutare? che differenza avrei io tra Arduino Uno + Ethernet VS ADK per il mio scopo?
ricordo che sto cercando di realizzare un sistema per il controllo (da smartphone android) dell'impianto di riscaldamento quindi: elettrovalvole e sensori di temperatura.
se non erro l'ADK non è altro che un usb host, quindi in pratica colleghi l'andrid via USB.
IMHO meglio la ehetrnet, perchè può dialogare anche con qualsiasi altro dispositivo con internet.
Invece per la host ci saranno un pò di driver generici, ma di sicuro la gamma è abbastanza limitata.
http://forum.xda-developers.com/showthread.php?t=1371750
mi piacerebbe sapere cosa hai fatto di IA
ti ringrazio lesto. procedo allora all'acquisto di Uno più Ethernet.
Di IA ho fatto Prolog (prova di programmazione) e la prova teoria (algoritmi con/senza euristica, giochi con avversari, pianificazione, reti neurali nonchè la parte di logica del I ordine).