SlideShare a Scribd company logo
Streaming LIVE
Massimiliano D’Ambrosio
google.com/+MassimilianoDAmbrosio
@iv3unm
plus.hacklabudine.it
(Community BBB Italia)
plus.gdgudine.it
Arduino e sensori in ambito medico
Arduino e sensori in ambito medico
e-Health Sensor Platform V2.0 by Cooking Hacks
Tra i progetti in questo abito e` interessante la piattaforma e-Health Sensor Platform V2.
0 della Cooking Hacks. Nasce per Arduino ma può essere usata anche con altre board.
È una shield Arduino in grado di gestire un
vasto numeri di sensori:
● Patient Position Sensor
● Glucometer Sensor
● Body Temperature Sensor
● Blood Pressure Sensor
(Sphygmomanometer) V2.0
● Pulse and Oxygen in Blood Sensor
(SPO2)Airflow Sensor (Breathing)
● Galvanic Skin Response Sensor (GSR
- Sweating)
● Electrocardiogram Sensor (ECG)
● Electromyography Sensor (EMG)
e-Health Sensor Platform V2.0 by Cooking Hacks
e-Health Sensor Platform V2.0 by Cooking Hacks
● è disponibile in kit oppure acquistando la shield ed i sensori che ci
interessano singolarmente.
● lo schema elettrico è disponibile in formato pdf.
● ci sono i file sorgenti sia per Arduino che per la Raspberry Pi
● per usarla sulla raspi dovete usare una board bridge tra il pin delle GPIO
Arduino ed il pin della raspi.
Vediamo le caratteristiche sul sito della
http://www.cooking-hacks.com/documentation/tutorials/ehealth-biometric-
sensor-platform-arduino-raspberry-pi-medical
Arduino
Yùn
Arduino Yùn
AVR Arduino
microcontroller
Microcontroller ATmega32u4
Operating Voltage 5V
Input Voltage 5V
Digital I/O Pins 20
PWM Channels 7
Analog Input Channels 12
DC Current per I/O Pin 40 mA
DC Current for 3.3V Pin 50 mA
Flash Memory 32 KB (of which 4 KB used by bootloader)
SRAM 2.5 KB
EEPROM 1 KB
Clock Speed 16 MHz
Arduino Leonardo + Linux embedded
http://arduino.
cc/en/Main/ArduinoBoardYun
Arduino Yùn
Linux microprocessor
Processor Atheros AR9331
Architecture MIPS @400MHz
Operating Voltage 3.3V
Ethernet IEEE 802.3
10/100Mbit/s
WiFi IEEE 802.11b/g/n
USB Type-A 2.0 Host
Card Reader Micro-SD only
RAM 64 MB DDR2
Flash Memory 16 MB
PoE compatible 802.3af card support (see
the note below)
Arduino Leonardo + Linux embedded
http://arduino.
cc/en/Main/ArduinoBoardYun
Arduino Yùn
Arduino Yùn
● WEB Services
● Internet Services (Google, Twitter, Facebook, NetFlix… MySQL, MongoHQ, NOAA….
) con Temboo
○ https://www.temboo.com/
arduino.cc/en/Guide/ArduinoYun
Google Fusion Table API
Google Fusion Table
Google Fusion Tables permette di archiviare, condividere, eseguire query e
visualizzare tabelle di dati e grafici. Tramite delle API REST per gestire tabelle,
info modelli finestre e stili. Con delle query sui dati possiamo inserimento.
Possiamo importare/esportare i dati formato CSV o JSON, o utilizzarli con API
di Google Maps o Google Chart Tools
Possiamo usarlo anche da Google Drive
● https://support.google.com/fusiontable
Google Fusion Table
In Google Drive abbiamo una webapp con cui potere creare la nostra
tabella, visualizzare i dati, inserirli e modificali. Possiamo anche creare
grafici e rappresentazioni su mappe dei nostri dai. Tutto questo partendo
da Google Drive.
Usando le API possiamo accedere dal nostro codice che possiamo
sviluppare.
Questo permettono di creare, modificare… la tabella , mentre per
inserirmento/modifica/cancellazione... dei record si utilizza SQL-like
queries
https://developers.google.com/fusiontables/
https://google-api-client-libraries.appspot.
com/documentation/fusiontables/v1/python/latest/index.html
Google Fusion Table
● Vediamo come si crea una tabella FT sotto Drive
● ricavare ricavare ID del database FT.
● ID è indentificativo univoco della tabella e va indicato quando usciamo
le API.
:
Google Fusion Table
Per usare le API cosa dobbiamo sapere:
● Google Accounts Authentication and Authorization
○ Google+ Sing In provides a simple way to let people use their Google
credentials to sign-in to your site. It includes a set of tools that are easy to
integrate across different devices.
○ oAuth2 is an authorization protocol for all Google APIs. OAuth 2.0 relies
on SSL for security instead of requiring your application to do
cryptographic signing directly. This protocol allows your application to
request access to data associated with a user's Google Account.
■ https://developers.google.com/accounts/docs/OAuth2
○ https://developers.google.com/accounts/
OAuth2 fornisce un metodo ai client di accedere ai servizi del server (applicazione,
database...) per conto del proprietario della risorsa.
● https://developers.google.com/api-client-library/python/guide/aaa_oauth
● http://oauth.net/2/
● http://en.wikipedia.org/wiki/OAuth
● https://developers.google.com/oauthplayground/
Google Fusion Table
SQL (Structured Query Language) è un linguaggio standard per database basati sul
modello relazionale (RDBMS) progettato per:
● creare e modificare schemi di database (DDL - Data Definition Language);
● inserire, modificare e gestire dati memorizzati (DML - Data Manipulation Language);
● interrogare i dati memorizzati (DQL - Data Query Language);
● creare e gestire strumenti di controllo ed accesso ai dati (DCL - Data Control
Language).
Nonostante il nome, non si tratta dunque solo di un semplice linguaggio di interrogazione,
ma alcuni suoi sottoinsiemi si occupano della creazione, della gestione e
dell'amministrazione del database.
Fonte: http://it.wikipedia.org/wiki/SQL
Links:
● Tutorial http://www.w3schools.com/sql/
Google Fusion Table
Il tool APIs Explorer permette di prendere conoscenza con le varie API di
Google.
● https://developers.google.com/apis-explorer
Google Fusion Table
Python e OAuth2
Il tool APIs Explorer permette di prendere conoscenza con le varie API di Google
avete visto che avete dovuto fare un click su OFF/ON per l’autorizzazione per usare
le API di FT. Questo lo dovete fare anche dalla vostra applicazione. Vediamo come
fare nel nostro caso che uscimo Python.
Google mette a disposizione le Google APIs Client Library for Python ch e ne
installiamo sulla nostra board come la Arduino Yùn
Diamo un occhiata alla documentazione su
https://developers.google.com/api-client-library/python/start/installation troviamo
anche una gradevole sorpresa.
Oltre alla descrizione su come funzionano queste API, abbiamo un tool che
permette di:
● attivare le API per il servizio che ci serve
● preparaci i file di configurazione con per la oAuth e l’uso delle API del servizio
richiesto.
Google Fusion Table
● Scarichiamo sul nostro pc i file preparati dal tool.
● Prima di passarli sulla board, proviamo se funzionano in locale ed
otteniamo i “file di autenticazione”
● se non avete Python 2.x installato, ora dove installarlo → http://python.org
● installiamo le Google API Python Client come indicato.
● decomprimere i due file in una cartella.
● dalla cartella che contengono i due file decompressi prima, eseguite
○ python sample.py
Google Fusion Table
● viene aperto il browser e siete indirizzati alla pagina per autorizzare la vostra
applicazione.
● l’applicazione una volta autorizzata salva le credenziali in un file locale chiamato
sample.dat
Arduino Yùn + Google API Python Client
Torniamo sulla Yùn e dalla console Linux installiamo le Google API Python Client
root@Arduino:~# opkg install distribute python-openssl
root@Arduino:~# easy_install --upgrade google-api-python-client
Ora che abbiamo installato la libreria delle API copiamo tutta la cartella dal nostro PC e
proviamo:
root@Arduino:/tmp/ft# python sample.py
Success! Now add code here.
Arduino Yùn + Google API Python Client
tableid="ID_TABLE"
Location="46.061663, 13.235883"
dt = time.strftime("%Y-%m-%d %H:%M:%S")
#update Fusion Tables
service.query().sql(sql="INSERT INTO %s (Date,Location) VALUES ('%s','%s')" % (tableid,dt,Location)).execute()
massimiliano@beaglebone:~$ cat contact.json
{
"Name":"Massimiliano D'Ambrosio",
"G+":"google.com/+MassimilianoDAmbrosio",
"Twitter":"@iv3unm",
"HackLab Udine": {
"Site":"www.hacklabudine.it",
"G+":"plus.hacklabudine.it",
"Twitter":"@hacklabudine",
"memo":"unOfficial Community BeagleBone Italia"
},
"Google Developer Group Udine": {
"Site":"www.gdgudine.it",
"G+":"plus.gdgudine.it",
"Twitter":"@gdgudine"
}
}
massimiliano@beaglebone:~$ sudo shutdown now
[sudo] password for massimiliano:
Broadcast message from root@beaglebone (pts/0) (Sat May 10 20:33:39
2014):
The system is going down to maintenance mode NOW!

More Related Content

PDF
Introduzione a GAE - Alessandro Aglietti e Lorenzo Bugiani
PPTX
01 Android - Introduction
PDF
Meetup DotNetCode Settembre 2018 - ASP.NET Core 2.1
PDF
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...
PDF
Linux Embedded per l'automazione
PDF
Tiscali bootcamp
PPTX
The truth meter
Introduzione a GAE - Alessandro Aglietti e Lorenzo Bugiani
01 Android - Introduction
Meetup DotNetCode Settembre 2018 - ASP.NET Core 2.1
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...
Linux Embedded per l'automazione
Tiscali bootcamp
The truth meter

Similar to Arduino - Massimiliano D'Ambrosio (20)

RTF
Arduino&raspberry pi - Un connubio vincente
PDF
Introduzione ad Android
PDF
Google Android: una nuova piattaforma Open Source per dispositivi mobili
PDF
Set up and management of an integrated information system on Linux.
PDF
Set up and management of an integrated information system on Linux.
PDF
Come essere produttivi nel lavoro grazie agli strumenti di google
PPTX
Data Analysis & Machine Learning
PPTX
Azure IoTHub - Roboval 2018
PDF
Introduzione alla programmazione Android - Android@tulug
ODP
Linux Nelle Aziende Installfest2007
ODP
PDF
Depliant Archivia Plus TeamSystem
ODP
Google Drive in pillole
PDF
Smart api
PDF
Progettazione e sviluppo di un software applicativo su un single board computer
ZIP
WhyMCA12 - Android Tools e la gestione di progetti complessi
PDF
Introduzione al sistema operativo mobile Android
PPTX
Strumenti online prima lezione 15 maggio
PDF
Installazione Qt/Qt Quick per target Android
Arduino&raspberry pi - Un connubio vincente
Introduzione ad Android
Google Android: una nuova piattaforma Open Source per dispositivi mobili
Set up and management of an integrated information system on Linux.
Set up and management of an integrated information system on Linux.
Come essere produttivi nel lavoro grazie agli strumenti di google
Data Analysis & Machine Learning
Azure IoTHub - Roboval 2018
Introduzione alla programmazione Android - Android@tulug
Linux Nelle Aziende Installfest2007
Depliant Archivia Plus TeamSystem
Google Drive in pillole
Smart api
Progettazione e sviluppo di un software applicativo su un single board computer
WhyMCA12 - Android Tools e la gestione di progetti complessi
Introduzione al sistema operativo mobile Android
Strumenti online prima lezione 15 maggio
Installazione Qt/Qt Quick per target Android
Ad

More from firenze-gtug (20)

PDF
Html5 apps - GWT oriented
PDF
Android ndk - ottimizzazione su dispositivi Intel
PDF
Gwt kickoff - Alberto Mancini & Francesca Tosi
PDF
Youtube broadcast live - Massimiliano D'Ambrosio
PDF
Intro BeagleBone Black - Massimiliano D'Ambrosio
PDF
RFID: What & Why - Stefano Coluccini
PDF
GWT - AppDays - (25 aprile 2014, pordenone)
PDF
Presentazione Google App Engine
PDF
Android chat in the cloud
PDF
Clean android code
PPT
#Html2Native
PDF
Intel ndk - a few Benchmarks
PDF
EE Incremental Store
PDF
Programming objects with android
PDF
Apertura "Mobile & Embedded" - 13 febbraio 2014
PDF
Maven from dummies
PPTX
Apps fuel oct2012
PDF
Dev fest android application case study
PDF
google drive and the google drive sdk
PDF
You tube api overview
Html5 apps - GWT oriented
Android ndk - ottimizzazione su dispositivi Intel
Gwt kickoff - Alberto Mancini & Francesca Tosi
Youtube broadcast live - Massimiliano D'Ambrosio
Intro BeagleBone Black - Massimiliano D'Ambrosio
RFID: What & Why - Stefano Coluccini
GWT - AppDays - (25 aprile 2014, pordenone)
Presentazione Google App Engine
Android chat in the cloud
Clean android code
#Html2Native
Intel ndk - a few Benchmarks
EE Incremental Store
Programming objects with android
Apertura "Mobile & Embedded" - 13 febbraio 2014
Maven from dummies
Apps fuel oct2012
Dev fest android application case study
google drive and the google drive sdk
You tube api overview
Ad

Arduino - Massimiliano D'Ambrosio

  • 2. Arduino e sensori in ambito medico
  • 3. e-Health Sensor Platform V2.0 by Cooking Hacks Tra i progetti in questo abito e` interessante la piattaforma e-Health Sensor Platform V2. 0 della Cooking Hacks. Nasce per Arduino ma può essere usata anche con altre board. È una shield Arduino in grado di gestire un vasto numeri di sensori: ● Patient Position Sensor ● Glucometer Sensor ● Body Temperature Sensor ● Blood Pressure Sensor (Sphygmomanometer) V2.0 ● Pulse and Oxygen in Blood Sensor (SPO2)Airflow Sensor (Breathing) ● Galvanic Skin Response Sensor (GSR - Sweating) ● Electrocardiogram Sensor (ECG) ● Electromyography Sensor (EMG)
  • 4. e-Health Sensor Platform V2.0 by Cooking Hacks
  • 5. e-Health Sensor Platform V2.0 by Cooking Hacks ● è disponibile in kit oppure acquistando la shield ed i sensori che ci interessano singolarmente. ● lo schema elettrico è disponibile in formato pdf. ● ci sono i file sorgenti sia per Arduino che per la Raspberry Pi ● per usarla sulla raspi dovete usare una board bridge tra il pin delle GPIO Arduino ed il pin della raspi. Vediamo le caratteristiche sul sito della http://www.cooking-hacks.com/documentation/tutorials/ehealth-biometric- sensor-platform-arduino-raspberry-pi-medical
  • 7. Arduino Yùn AVR Arduino microcontroller Microcontroller ATmega32u4 Operating Voltage 5V Input Voltage 5V Digital I/O Pins 20 PWM Channels 7 Analog Input Channels 12 DC Current per I/O Pin 40 mA DC Current for 3.3V Pin 50 mA Flash Memory 32 KB (of which 4 KB used by bootloader) SRAM 2.5 KB EEPROM 1 KB Clock Speed 16 MHz Arduino Leonardo + Linux embedded http://arduino. cc/en/Main/ArduinoBoardYun
  • 8. Arduino Yùn Linux microprocessor Processor Atheros AR9331 Architecture MIPS @400MHz Operating Voltage 3.3V Ethernet IEEE 802.3 10/100Mbit/s WiFi IEEE 802.11b/g/n USB Type-A 2.0 Host Card Reader Micro-SD only RAM 64 MB DDR2 Flash Memory 16 MB PoE compatible 802.3af card support (see the note below) Arduino Leonardo + Linux embedded http://arduino. cc/en/Main/ArduinoBoardYun
  • 10. Arduino Yùn ● WEB Services ● Internet Services (Google, Twitter, Facebook, NetFlix… MySQL, MongoHQ, NOAA…. ) con Temboo ○ https://www.temboo.com/ arduino.cc/en/Guide/ArduinoYun
  • 12. Google Fusion Table Google Fusion Tables permette di archiviare, condividere, eseguire query e visualizzare tabelle di dati e grafici. Tramite delle API REST per gestire tabelle, info modelli finestre e stili. Con delle query sui dati possiamo inserimento. Possiamo importare/esportare i dati formato CSV o JSON, o utilizzarli con API di Google Maps o Google Chart Tools Possiamo usarlo anche da Google Drive ● https://support.google.com/fusiontable
  • 13. Google Fusion Table In Google Drive abbiamo una webapp con cui potere creare la nostra tabella, visualizzare i dati, inserirli e modificali. Possiamo anche creare grafici e rappresentazioni su mappe dei nostri dai. Tutto questo partendo da Google Drive. Usando le API possiamo accedere dal nostro codice che possiamo sviluppare. Questo permettono di creare, modificare… la tabella , mentre per inserirmento/modifica/cancellazione... dei record si utilizza SQL-like queries https://developers.google.com/fusiontables/ https://google-api-client-libraries.appspot. com/documentation/fusiontables/v1/python/latest/index.html
  • 14. Google Fusion Table ● Vediamo come si crea una tabella FT sotto Drive ● ricavare ricavare ID del database FT. ● ID è indentificativo univoco della tabella e va indicato quando usciamo le API. :
  • 15. Google Fusion Table Per usare le API cosa dobbiamo sapere: ● Google Accounts Authentication and Authorization ○ Google+ Sing In provides a simple way to let people use their Google credentials to sign-in to your site. It includes a set of tools that are easy to integrate across different devices. ○ oAuth2 is an authorization protocol for all Google APIs. OAuth 2.0 relies on SSL for security instead of requiring your application to do cryptographic signing directly. This protocol allows your application to request access to data associated with a user's Google Account. ■ https://developers.google.com/accounts/docs/OAuth2 ○ https://developers.google.com/accounts/ OAuth2 fornisce un metodo ai client di accedere ai servizi del server (applicazione, database...) per conto del proprietario della risorsa. ● https://developers.google.com/api-client-library/python/guide/aaa_oauth ● http://oauth.net/2/ ● http://en.wikipedia.org/wiki/OAuth ● https://developers.google.com/oauthplayground/
  • 16. Google Fusion Table SQL (Structured Query Language) è un linguaggio standard per database basati sul modello relazionale (RDBMS) progettato per: ● creare e modificare schemi di database (DDL - Data Definition Language); ● inserire, modificare e gestire dati memorizzati (DML - Data Manipulation Language); ● interrogare i dati memorizzati (DQL - Data Query Language); ● creare e gestire strumenti di controllo ed accesso ai dati (DCL - Data Control Language). Nonostante il nome, non si tratta dunque solo di un semplice linguaggio di interrogazione, ma alcuni suoi sottoinsiemi si occupano della creazione, della gestione e dell'amministrazione del database. Fonte: http://it.wikipedia.org/wiki/SQL Links: ● Tutorial http://www.w3schools.com/sql/
  • 17. Google Fusion Table Il tool APIs Explorer permette di prendere conoscenza con le varie API di Google. ● https://developers.google.com/apis-explorer
  • 18. Google Fusion Table Python e OAuth2 Il tool APIs Explorer permette di prendere conoscenza con le varie API di Google avete visto che avete dovuto fare un click su OFF/ON per l’autorizzazione per usare le API di FT. Questo lo dovete fare anche dalla vostra applicazione. Vediamo come fare nel nostro caso che uscimo Python. Google mette a disposizione le Google APIs Client Library for Python ch e ne installiamo sulla nostra board come la Arduino Yùn Diamo un occhiata alla documentazione su https://developers.google.com/api-client-library/python/start/installation troviamo anche una gradevole sorpresa. Oltre alla descrizione su come funzionano queste API, abbiamo un tool che permette di: ● attivare le API per il servizio che ci serve ● preparaci i file di configurazione con per la oAuth e l’uso delle API del servizio richiesto.
  • 19. Google Fusion Table ● Scarichiamo sul nostro pc i file preparati dal tool. ● Prima di passarli sulla board, proviamo se funzionano in locale ed otteniamo i “file di autenticazione” ● se non avete Python 2.x installato, ora dove installarlo → http://python.org ● installiamo le Google API Python Client come indicato. ● decomprimere i due file in una cartella. ● dalla cartella che contengono i due file decompressi prima, eseguite ○ python sample.py
  • 20. Google Fusion Table ● viene aperto il browser e siete indirizzati alla pagina per autorizzare la vostra applicazione. ● l’applicazione una volta autorizzata salva le credenziali in un file locale chiamato sample.dat
  • 21. Arduino Yùn + Google API Python Client Torniamo sulla Yùn e dalla console Linux installiamo le Google API Python Client root@Arduino:~# opkg install distribute python-openssl root@Arduino:~# easy_install --upgrade google-api-python-client Ora che abbiamo installato la libreria delle API copiamo tutta la cartella dal nostro PC e proviamo: root@Arduino:/tmp/ft# python sample.py Success! Now add code here.
  • 22. Arduino Yùn + Google API Python Client tableid="ID_TABLE" Location="46.061663, 13.235883" dt = time.strftime("%Y-%m-%d %H:%M:%S") #update Fusion Tables service.query().sql(sql="INSERT INTO %s (Date,Location) VALUES ('%s','%s')" % (tableid,dt,Location)).execute()
  • 23. massimiliano@beaglebone:~$ cat contact.json { "Name":"Massimiliano D'Ambrosio", "G+":"google.com/+MassimilianoDAmbrosio", "Twitter":"@iv3unm", "HackLab Udine": { "Site":"www.hacklabudine.it", "G+":"plus.hacklabudine.it", "Twitter":"@hacklabudine", "memo":"unOfficial Community BeagleBone Italia" }, "Google Developer Group Udine": { "Site":"www.gdgudine.it", "G+":"plus.gdgudine.it", "Twitter":"@gdgudine" } } massimiliano@beaglebone:~$ sudo shutdown now [sudo] password for massimiliano: Broadcast message from root@beaglebone (pts/0) (Sat May 10 20:33:39 2014): The system is going down to maintenance mode NOW!