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)
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
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!