Tutorial > Livello avanzato > Tutorial Raspberry Pi > Collegare i sensori (facoltativo) > Copiare script nel Raspberry Pi (facoltativo)
  
Copiare script nel Raspberry Pi (facoltativo)
Per questo passo è necessario che nel Pi siano presenti degli script in grado di leggere i dati dai sensori (opzionali) o dal Pi stesso e comunicarli a ThingWorx. Se lo si desidera, scaricare ciascuno dei seguenti script nel computer in uso:
Sensore di distanza HC-SR04 - range_sensor.py
Sensore di temperatura/umidità DHT11 - thingxpi_DHT11.py
Connessione a ThingWorx - thingxpi.py
Questi script sono stati creati per consentire all'utente di diventare operativo da subito e presentano alcune differenze tra loro. Ad esempio, lo script thingxpi_DHT11.py include informazioni hardcoded relative a URL, chiave di accesso e nome dell'oggetto necessarie per aggiornare le impostazioni specifiche in uso. Lo script range_sensor.py comunica invece le informazioni del sensore HC-SR04 allo script thingxpi.py. Lo script thingxpi.py raccoglie quindi alcune informazioni specifiche del Raspberry Pi (temperatura della CPU, uso della memoria, ecc.) e le invia in bundle a ThingWorx utilizzando gli argomenti della riga di comando per indicare l'oggetto specifico, l'URL e la chiave di accesso. Per poter recuperare le informazioni desiderate, è necessario che ciascuno degli script venga modificato (o scritto da zero dall'utente).
La modalità di trasferimento degli script nel Raspberry Pi è a discrezione dell'utente. Ad esempio, è possibile caricarli in un'unità USB, montare l'unità utilizzando l'interfaccia della riga di comando nel Raspberry Pi e copiarli. In alternativa, è possibile utilizzare apt-get per installare un server FTP e trasferirli in quel modo. Per eseguire i vari script è necessario Python. Per verificare che Python sia installato correttamente nel Raspberry Pi, immettere il seguente comando:
python --version
* 
La risposta deve essere almeno Python 2.7.3. In caso contrario, aggiornare Python a una versione più recente.
Indipendentemente da ciò, dopo che gli script sono stati caricati nel Raspberry Pi, è necessario eseguire ciascuno di essi nelle rispettive finestre SSH. Se si utilizzano specificamente i sensori HC-SR04 e DHT11, i comandi in ciascuna finestra SSH appariranno simili ai seguenti:
sudo python ./range_sensor.py
sudo python ./thingxpi_DHT11.py
sudo python ./thingxpi.py RasperryPiThing <ThingWorx instance URL><App key>
dove <ThingWorx instance URL> è l'URL dell'istanza ThingWorx e <App key> è la chiave di accesso creata in precedenza in questo tutorial. Ad esempio, il comando deve essere simile al seguente:
sudo python ./thingxpi.py RaspberryPiThing https://thingx-jdoe.abc1.thingworx.io/Thingworx d89bgc23-f3ce-42b5-b8d0-61gcd42489f8
* 
Tenere presente che lo script thingxpi_DHT11.py deve essere modificato per includere l'URL, il nome dell'oggetto e la chiave di accesso corretti prima di essere eseguito. L'utilizzo di un nome di oggetto, un URL o una chiave di accesso errata impedisce agli script Python di aggiornare le proprietà dell'oggetto.
Occorre inoltre tenere presente che gli script Python da importare possono avere dipendenze che devono essere installate. Ad esempio, i moduli Setuptools e Requests vengono entrambi utilizzati nel file thingxpi.py. Eventuali moduli mancanti dovranno essere installati manualmente mentre si tenta di eseguire ciascuno degli script. Per installare i moduli Setuptools e Requests di Python, attenersi alla procedura riportata di seguito.
1. Installare il modulo Setuptools.
a. Aprire un browser Web e accedere a http://peak.telecommunity.com/dist/ez_setup.py.
b. Selezionare e copiare tutto il contenuto (CTRL+A/CTRL+C).
c. Nel Raspberry Pi, immettere un comando sudo touch ez_setup.py per creare il file.
d. Utilizzando un editor di testo nel Raspberry Pi, come nano, incollare l'intero contenuto di ez_setup.py nel file. Salvare il file ez_setup.py e chiuderlo.
e. Eseguire il seguente comando: sudo python ez_setup.py
2. Installare il modulo Requests.
a. Eseguire i seguenti comandi:
sudo git clone git://github.com/kennethreitz/requests.git
cd requests (ad esempio, cambiare la directory nella cartella appena aggiunta da GIT)
sudo python setup.py install
Dopo l'esecuzione, ciascuno degli script continua a essere operativo, fornendo stampe delle informazioni raccolte, e invia le informazioni a ThingWorx (questo è il motivo per cui sono necessarie tre finestre SSH distinte per questo metodo). Con tutti gli script in esecuzione nel Raspberry Pi, ThingWorx viene regolarmente aggiornato con queste informazioni, che possono essere quindi utilizzate nell'esperienza AR.
Verificare la connessione tra il Raspberry Pi e ThingWorx
1. Aprire ThingWorx.
2. Fare clic su Oggetti in MODELLAZIONE. Cercare RaspberryPiThing e selezionarlo.
3. Fare clic su Proprietà in INFORMAZIONI ENTITÀ.
4. Fare clic sull'icona Aggiorna proprietà nella parte superiore della colonna Valore.
5. Verificare che ogni volta che si preme l'icona Aggiorna proprietà, alcuni valori cambiano.
6. Come passo successivo, creare il progetto.