Raspberry Pi A and pressure sensor BMP280

Prototipo di stazione meteo.

Hardware usato:

  • 1 Raspberry Pi mod. A
  • 1 sensore di pressione e temperatura BMP280
  • 1 led
  • 1 switch

Software:

Il progetto prende spunto da progetti simili già presenti in rete. Appena perfezionato posterò anche il codice.

Seguono i grafici dei dati rilevati in tempo reale ogni minuto.

Grafico temperatura

Grafico pressione

Gauge Temperatura

Gauge Pressione

Posizione stazione

S. Maria di Galeria(Roma) – Lat. 42°2’29” N – Lon. 12°18’14” E

Come recuperare i dati dai file di backup dell'iPhone

7-7-2011 NdR vedi nota aggiunta in fondo al post per recenti aggiornamenti

Se avete un iPhone saprete che questo, ogni qualvolta venga collegato al computer, attraverso il programma iTunes, esegue un backup dei suoi dati. Questi dati vengono salvati sul Mac nel seguente percorso:

~/Library/Application Support/MobileSync/Backup/

ed il formato di archiviazione è compresso ed illeggibile (esadecimale).

Qualora si volesse accedere al contenuto di questi backup, al di fuori del contesto “iTunes”, ciò è possibile solo utilizzando qualche strumento software che possa aprire e leggere il formato in cui vengono appunto salvati alcuni set di dati. Cercando in rete sono incappato proprio nello strumento adatto a questo scopo(NdR vedi nota aggiunta in fondo al post per recenti aggiornamenti):

Questo è uno script scritto in Python che consente di accedere in lettura ai file di backup ed estrarre i dati compressi contenuti. Ovviamente per utilizzare questo script dobbiamo necessariamente aprire l’applicazione “Terminale” di Mac OS X ed avere una certa esperienza con i comandi e la shell Unix. Se non sapete di cosa sto parlando allora vi consiglio vivamente di limitarvi alla lettura dell’articolo e magari a cercare, se serve, un aiuto da qualche amico più esperto.

Prima di provare ad estrarre e leggere i file consiglio di fare una copia di backup della directory

~/Library/Application Support/MobileSync/Backup/

e fare le vostre prove e test proprio sulla copia di questa cartella. Mi raccomando non modificate l’originale!

Entriamo nel dettaglio dei comandi:
Supponendo che abbiate copiato la vostra cartella sulla Scrivania, dal terminale digitate

cd ~/Desktop/MobileSync/Backup/

quindi nella directory “Backup” troverete una o più sottodirectory con un nome fatto di numeri molto criptico. Nel mio caso, come mostro qui sotto

2b74013b32dc969897fa8d826f66c6952e2fc2e2

Scendendo ancora nella struttura della directory, e quindi nella cartella appena mostrata, troveremo tutti i file contenenti i dati di backup. Questi file sono caratterizzati dall’estensione “.mdbackup”

E’ ora giunto il momento di lanciare il nostro script python dalla linea di comando del terminale

python ./decode_iphone_backup_v2.1.py *.mdbackup

passandogli come parametro “*.mdbackup” ;
verrà così creata una cartella MobileSyncExport contenente tutti i file estratti.

Troverete all’interno di questa altre cartelle, diversi file plist (Property List File) e database SQLite( che potrete esplorare con la utility SQLite Database Browser ). Ovviamente consiglio di navigare un pochino fra queste cartelle per scoprire meglio il loro contenuto.

Per fare un esempio pratico: Io ho installato sull’iPhone l’applicazione Air Sharing per archiviare e leggere file di diversi formati(PDF, DOC, JPG, ETC. Per una descrizione del programma rimando all’ iTunes Store categoria Produttività); supponiamo che io voglia recuperare proprio questi file. Cercando tra le cartelle estratte ho trovato proprio una denominata “Air Sharing” all’interno della quale c’erano salvati alcuni dei miei ebooks.

Una volta che si sono tirati fuori i dati o meglio i file contenenti i dati, quest’ultimi, a secondo della loro natura(testo, video, audio,etc) dovranno essere editati con gli strumenti adeguati.

Va precisato che questo script attualmente opera una decodifica dei file di backup ma non è in grado di ricodificare, cioè ricreare file di backup leggibili da iTunes.

Questa procedura nel complesso può sembrare un po’ difficile ed ostica ma ritengo che a fronte del recupero dei nostri preziosi dati, tutto sommato due gocce di sudore ce le possiamo anche sprecare 😉

Ad MAiora

AGGIORNAMENTO DEL 7-7-2011

Grazie alla segnalazione di un lettore riporto qui di seguito la URL http://supercrazyawesome.com/ all’applicazione “iPhone/iPodTouch Backup Extractor” che semplifica completamente tutta la procedura sopra descritta. L’applicazione è però sviluppata solo per piattaforma Mac OS X.
Ad Maiora

PyCon2 – La seconda conferenza italiana dedicata al linguaggio Python.

Segnalo che è in arrivo per il weekend della seconda settimana di maggio PyCon2 Italia.
Questa conferenza si propone di far incontrare e conoscere tutti gli appassionati, italiani e non, del noto linguaggio di programmazione Python .
Così nei giorni 9, 10 e 11 Maggio a Firenze si riuniranno per la seconda volta sviluppatori professionisti, studenti, rappresentanti di aziende, tutti per condividere e conoscere le esperienze fatte con il linguaggio di programmazione Python.
La conferenza si terrà presso i locali del Viva Hotel Laurus(vicino al Duomo), eccezion fatta per l’evento di apertura che invece avrà luogo a Palazzo Vecchio.
Tra gli ospiti d’eccezione di venerdì 9 segnalo il mitico Richard Stallman, fondatore del movimento GNU, che terrà una keynote introduttiva.
Nell’arco delle tre giornate si susseguiranno diverse presentazioni organizzate su tre tracce parallele:

  • Scoprire Python è una track introduttiva su librerie, framework e metodologie, pensata per chi si sta avvicinando al Python o desidera una prima trattazione di un argomento;
  • Diffondere Python è una track dedicata ad aspetti più avanzati del linguaggio, esempi di integrazione della piattaforma e casi d’uso in azienda;
  • Imparare Python è una track interattiva: i talk sono parzialmente guidati dal pubblico, che discute la trattazione dell’argomento insieme al relatore, proponendo scenari e commentando le soluzioni proposte.

Per tutte le informazioni logistiche, per le iscrizioni, ed aggiornamenti sulla conferenza vi rimando ovviamente al link della stessa.

Ad MAiora

WxPython: risorse

WxPython è un toolkit grafico (binding delle WxWidgets) che permette di vestire le vostre applicazioni Python con una interfaccia grafica indipendente da quella usata(Win32, Mac OS X, GTK+, X11, Motif, WinCE, etc) dal vostro sistema operativo.
Infatti il layer software dei widget wx si posiziona sopra alla gui di sistema, permettendo quindi di scrivere applicazioni grafiche che in modo quasi trasparente possono essere portate da Windows a Macos X piuttosto che su Linux o Unix.
Ovviamente l’argomento è molto vasto e non è mia intenzione parlarne in questo post, però di seguito appunto una lista, ovviamente non esaustiva, dei link che io ho trovato utili per iniziare a giocare con wxpython:

  1. http://www.python.org
  2. http://diveintopython.org
  3. http://wxpython.org/index.php
  4. http://wiki.wxpython.org/
  5. http://www.barisione.org/wxpython/cap1.html

Sul sito della ActiveState si trova un ricco cookbook con diverse ricette per wx e python:
http://aspn.activestate.com/ASPN/Cookbook/Python

Gruppi Usenet che trattano l’argomento sono:

Libri:
“wxPython IN ACTION” di Noel Rappin e Robin Dunn (ed. MANNING).

Non c’è bisogno di dire che “googlando” sulla rete si trova un’infinità di tutorial ed esempi, comunque quanto sopra è un punto di partenza.
Ad MAiora