Arduino & Smartphone
-
Upload
dega1999 -
Category
Engineering
-
view
519 -
download
3
description
Transcript of Arduino & Smartphone
Arduino & Smartphone Andrea De Gaetano
Emanuele Poggi
@dega1999 !http://pestohacks.blogspot.com
https://groups.google.com/forum/#!forum/ genovamobiledevs
Queste slide saranno graficamente orribili! Non sono un grafico/designer ne “laureato in powerpoint”.
!Fatevene una ragione ;D
effetti collaterali: intorpidimento, mal di stomaco, labirintite, sonno. Tenere lontano dalle donne incinta.
• Arduino Uno
• Accenni di Bluetooth (ci vorrebbero min. 2 ore.. eh!)
• Android e Bluetooth (…e BlackBerry)
• Arduino Yun
• Html5 / Bootstrap
Argomenti
Arduino UnoMicrocontrollore + circuiteria di controllo, italiano !8-bit CPU, 16MHz clock speed, 2KB SRAM, 32KB flash storage
!Utilizzato per scopi didattici e per creare prototipi hardware
!Opensource !Il software di programmazione (in C) è multipiattaforma (win,linux,mac) !Un’infinità di progetti “DIY” da copiare o da cui imparare !Può essere esteso con“shield” (ma a che prezzo!) !Lo smartwatch “Pebble” è stato prototipato con Arduino !( Ogni istituto tecnico superiore, dovrebbe usarlo :P )
Componenti- Fotoresistenza (volevamo “tanto” usarla)
- DHT11: sensore digitale che fornisce temperatura e umidità
- un “tamarrissimo” led RGB
!
Il circuito permette di:
- rendere disponibili all’esterno i dati dal sensore DHT11
- cambiare lo stato del led RGB in : Rosso, Verde, Blu, Spento
- leggere il valore di “luce” nella stanza
Il circuito
Sketch’s Time!
Comunicazione
Funziona ma, solo su seriale !Devo attaccare un cavo USB e leggere il dato con un monitor seriale … !Vogliamo leggere il dato dallo smartphone !
Oh, se solo ci fosse qualche tecnologia che permettesse di far comunicare l’Arduino con lo
smartphone
BluetoothPotremmo parlarne per ore.
RN-42• Chip Bluetooth, basso costo (circa 12 euro)
• Espone su RFCOMM il collegamento seriale di Arduino
• 5 collegamenti da effettuare: TX,RX,VDD(3.3v),GND, CTS con RTS
• Programmabile con comandi AT “like” (cambio proprietà es. nome visualizzato)
Pairing• Un dispositivo si mette in modalità “visibile”
e imposta un PIN
• Un secondo dispositivo effettua la ricerca dei dispositivi bluetooth nelle vicinanze, fino 100 m. (Operazione lenta)
• Si stabilisce una connessione: master/slave, utilizzando il PIN come password
• Dispositivi che hanno fatto pairing tra loro non devono rifarlo le volte successive
• L’RN-42 è sempre visibile, quindi sarà il telefono a connettersi a lui
Premessa:
• Non considero il caso in cui il device utilizzato non ha bluetooth
• Ho già fatto accoppiare i due dispositivi (Pairing)
• Cerco solo tra i dispositivi accoppiati
• So già che il servizio RFCOMM è presente nel dispositivo di destinazione
• Sono a conoscenza del nome dell’RN-42: “yoyo”
Android’s Time!
Bello eh il bluetooth… ma, !
se volessimo leggere il dato via internet?
!se usassi un iphone?
Arduino Yun (tciu is megl che uan)
• 2 schede in 1: un arduino leonardo, una scheda linux chiamata “Linino”
• Linino contiene una versione modificata di openwrt: distro per sistemi embedded/router
• Espande la sua “didatticità”
• Ha una scheda di rete ethernet e una wifi che permette di essere usata in modalità Access Point
• + CPU(400 mhz) e compatibile con quasi tutti gli shield di UNO
• Stesso form factor dell’UNO: facile estensione verso internet di progetti già realizzati
• Costa di più: circa 64 euro ma..sempre meglio che shield ethernet+arduino uno
• e… Temboo
“Under” The Bridge• Linino e Arduino comunicano tra loro tramite Bridge che
alla fine è un collegamento seriale, interno. (Con le sue latenze…)
• Lato Arduino è possibile lanciare comandi sulla parte Linux
• Un webserver lato Linino, espone i dati ricevuti lato arduino(tramite opportuna libreria)
Yun vs Uno
I collegamenti del circuito rimangono gli stessi! 0 sbatti!
!Lo sketch invece deve essere modificato
!Va configurata la rete
Sketch’s Time!
Il client per Yun• Con tecnologie WEB: HTML/JS/CSS
• Multipiattaforma: Android, IOS, BlackBerry, Windows Phone, Firefox OS, Tizen, XYZ, blabla!
• Impachettabile con Cordova/Phonegap
• Utilizza Bootstrap per l’interfaccia
• Funziona anche da desktop/smartTv/qualcosa con un browser
• Semplifica la vita
Code’s time
Todo claro?