ThingWorx Studio Lernprogramme und FAQs > Fortgeschritten > Lernprogramm "Raspberry Pi" > Die Sensoren anschließen (optional) > Skripte auf den Raspberry Pi kopieren (optional)
  
Skripte auf den Raspberry Pi kopieren (optional)
Jetzt müssen wir Software auf den Pi übertragen, die Daten aus Ihren (optionalen) Sensoren oder dem Pi selbst lesen und zurück an ThingWorx übermitteln kann. Sofern Sie dies wünschen, laden Sie Folgendes auf Ihren Computer herunter:
Bereichssensor HC-SR04 – range_sensor.py
Temperatur- und Feuchtigkeitssensor DHT11 – thingxpi_DHT11.py
Verbindung zu ThingWorx – thingxpi.py
Diese Skripte sind als Einstieg gedacht und funktionieren alle etwas unterschiedlich. Das Skript thingxpi_DHT11.py enthält beispielsweise hartcodierte Informationen zu URL, Anwendungsschlüssel und Dingname, die Sie auf Ihre spezifischen Einstellungen aktualisieren müssen. Das Skript range_sensor.py übermittelt dagegen die Informationen des HC-SR04 zurück an das Skript thingxpi.py. Anschließend sammelt das Skript thingxpi.py einige spezifische Informationen zum Raspberry Pi (CPU-Temperatur, Speicherbelegung usw.) und sendet die Informationen als Bündel zurück zu ThingWorx, wobei Befehlszeilenargumente die spezifischen Angaben zu Ding, URL und Anwendungsschlüssel liefern. Jedes der Skripte muss von Ihnen geändert (oder komplett neu geschrieben) werden, damit Sie die gewünschten Information abrufen können.
Wie die Skripte auf den Raspberry Pi übertragen werden, liegt im Ermessen des Benutzers. Sie könnten die Skripte beispielsweise auf ein USB-Laufwerk laden, das Laufwerk über die Befehlszeilenschnittstelle auf dem Raspberry Pi mounten und anschließend die Skripte herüberkopieren. Alternativ könnten Sie mit apt-get einen FTP-Server installieren und die Skripte auf diesem Weg übertragen. Python ist erforderlich, um diese verschiedenen Skripte auszuführen. Geben Sie den folgenden Befehl aus, um zu bestätigen, dass Python auf Ihrem Raspberry Pi ordnungsgemäß installiert ist:
python --version
* 
Die Antwort sollte mindestens Python 2.7.3 sein. Andernfalls müssen Sie Python auf eine neuere Version aktualisieren.
In jedem Fall müssen Sie, nachdem die gewünschten Skripte auf den Raspberry Pi geladen wurden, jedes davon in einem eigenen SSH-Fenster ausführen. Wenn Sie speziell die Sensoren HC-SR04 und DHT11 verwenden, sehen die Befehle in den einzelnen SSH-Fenstern ähnlich aus wie die folgenden:
sudo python ./range_sensor.py
sudo python ./thingxpi_DHT11.py
sudo python ./thingxpi.py RasperryPiThing <ThingWorx instance URL><App key>
Dabei ist <ThingWorx instance URL> die URL für Ihre ThingWorx Instanz, und <App key> ist der zuvor in diesem Lernprogramm erstellte Anwendungsschlüssel. Der Befehl sollte beispielsweise ähnlich aussehen wie folgender:
sudo python ./thingxpi.py RaspberryPiThing https://thingx-jdoe.abc1.thingworx.io/Thingworx d89bgc23-f3ce-42b5-b8d0-61gcd42489f8
* 
Denken Sie daran, dass das Skript thingxpi_DHT11.py außerdem vor dem Ausführen so geändert werden muss, dass es die richtigen Werte für URL, Dingname und Anwendungsschlüssel enthält. Wenn URL, Dingname oder Anwendungsschlüssel falsch sind, können die Python-Skripte die Dingeigenschaften nicht aktualisieren.
Beachten Sie außerdem, dass die importierten Python-Skripte möglicherweise Abhängigkeiten haben, die installiert werden müssen. In der Datei thingxpi.py werden beispielsweise die Module "Setuptools" und "Requests" verwendet. Sie müssen fehlende Module manuell installieren, während Sie versuchen, die einzelnen Skripte auszuführen. Führen Sie die folgenden Schritte aus, um die Python-Module "Setuptools" und "Requests" zu installieren:
1. Installieren Sie das Modul "Setuptools".
a. Öffnen Sie einen Web-Browser, und navigieren Sie zu http://peak.telecommunity.com/dist/ez_setup.py.
b. Wählen Sie den gesamten Inhalt aus, und kopieren Sie ihn (Strg+A/Strg+C).
c. Geben Sie auf dem Raspberry Pi den Befehl sudo touch ez_setup.py aus, um die Datei zu erstellen.
d. Fügen Sie auf dem Raspberry Pi mit einem Texteditor, z.B. nano, den gesamten Inhalt von ez_setup.py in die Datei ein. Speichern und beenden Sie die Datei ez_setup.py.
e. Führen Sie folgenden Befehl aus: sudo python ez_setup.py
2. Installieren Sie das Modul "Requests".
a. Führen Sie folgende Befehle aus:
sudo git clone git://github.com/kennethreitz/requests.git
cd requests (Ändern Sie beispielsweise das Verzeichnis in dem Ordner, der soeben durch GIT hinzugefügt wurde)
sudo python setup.py install
Nach der Ausführung laufen die einzelnen Skripte weiter, um Ihnen Ausdrucke der gesammelten Informationen zu liefern und die Informationen an ThingWorx zu senden. (Dies ist der Grund dafür, dass für diese Methode drei separate SSH-Fenster erforderlich sind.) Da auf dem Raspberry Pi alle Ihre Skripte ausgeführt werden, wird ThingWorx regelmäßig mit diesen Informationen aktualisiert. Die gespeicherten Informationen können Sie anschließend in Ihrem AR-Erlebnis verwenden.
Verbindung zwischen Raspberry Pi und ThingWorx überprüfen
1. Öffnen Sie ThingWorx.
2. Klicken Sie unter MODELLIERUNG auf Dinge. Suchen Sie nach dem Ding RaspberryPiThing, und wählen Sie es aus.
3. Klicken Sie unter ENTITÄTSINFORMATIONEN auf Eigenschaften.
4. Klicken Sie oben in der Spalte Wert auf das Symbol "Eigenschaften aktualisieren".
5. Vergewissern Sie sich, dass sich jedes Mal, wenn Sie auf das Symbol "Eigenschaften aktualisieren" klicken, einige der Werte ändern.
6. Als Nächstes werden Sie Ihr Projekt erstellen.
Die Sensoren anschließen (optional)