Flower-Care-App installieren

Da der Sensor für die gesammelten Informationen Zahlenwerte von 0 bis 100 liefert, müssen wir im nächsten Schritt die optimalen Werte für unsere Pflanze aus der App Flower Care heraussuchen. Diese Werte werden benötigt, um die Benachrichtigungen beispielsweise bei zu trockenem Boden zu versenden. Dafür müssen wir auf dem Smartphone die Flower-Care-App (Android, iOS) installieren. Die App wurde früher von Xiaomi selbst angeboten, nun stammt sie von Beijing HHCC Plant Technology.

Stellenmarkt
  1. Mitarbeiter (f/m/d) IT-Service-Desk - 1st-Level-Support
    ITM Isotope Technologies Munich SE, Garching
  2. Senior Softwareingenieur - Test für Hubschraubersysteme (gn)
    ESG Elektroniksystem- und Logistik-GmbH, Donauwörth
Detailsuche

In der App wird der Sensor über Bluetooth eingebunden. Danach wählt man aus einer Pflanzendatenbank die zu überwachende Pflanze aus. Dadurch werden die optimalen Werte der Pflanze für Feuchtigkeit, Fruchtbarkeit, Sonneneinstrahlung und Temperatur automatisch geladen und auf einer Detailseite angezeigt.

Diese Wertebereiche notieren wir, sie können später in das Skript für das automatisierte Auslesen übernommen werden. Damit lassen sich bei einer Unterversorgung der Pflanze Aktionen auslösen oder Benachrichtigungen versenden.

Es gibt auch die Möglichkeit, den Sensor nur mit der App zu nutzen. Hierbei muss die Anwendung allerdings täglich geöffnet werden, um den Status der Pflanzen einzusehen. Die App dient des Weiteren dazu, die Sensoren mit Softwareupdates zu versorgen.

Auslesen der Daten

Golem Karrierewelt
  1. Azure und AWS Cloudnutzung absichern: virtueller Zwei-Tage-Workshop
    22./23.09.2022, virtuell
  2. Kubernetes Dive-in-Workshop: virtueller Drei-Tage-Workshop
    19.-21.07.2022, Virtuell
Weitere IT-Trainings

Für das automatische Auslesen der Sensordaten empfiehlt es sich, ein Linux-System zu verwenden. Für diese Anleitung verwenden wir einen Raspberry Pi mit Bluetooth. Aus diesem Grund sind die nachfolgenden Befehle ausschließlich für die Linux-Shell gedacht. Um das Linux-System vorzubereiten, müssen erst noch einige Python-Bibliotheken installiert werden. Zunächst die bluez-Tools: sudo apt-get install bluez-tools. Der Aufruf pip install miflora installiert die Miflora-Bibliothek, die später die Sensordaten ausliest.

Des Weiteren werden die Bluepy- und pygatt-Bibliotheken benötigt: pip3 install bluepy, pip3 install pygatt. Danach sollten sich die Daten bereits abrufen lassen. Zunächst muss aber noch die MAC-Adresse der Sensoren ermittelt werden. Dies kann mit dem Befehl sudo hcitool lescan gemacht werden. Damit lassen sich die Werte des Sensors auslesen. (Quellcode von xiaomi.py in Scripte.zip)

  1. sudo -E -u pi timeout 20 python3 /var/www/html/smart/python/xiaomi.py %MAC%

Der Befehl wird als Benutzer pi ausgeführt und hat ein Timeout von 20 Sekunden. Dieses sorgt dafür, dass das Skript abbricht, sollte ein Sensor nicht erreichbar sein. Der Wert %MAC% muss natürlich durch die zuvor ausgelesene Mac-Adresse des Sensors ersetzt werden. Führt man nun das Skript aus, sollten die Werte des Sensors in der Shell angezeigt werden. Damit wäre der erste Teil geschafft.

Einrichten der Dienste zum Speichern und Anzeigen der Daten

Es gibt mehrere Möglichkeiten, die Daten zu speichern und grafisch anzuzeigen. Die flexibelste ist, die Daten in einem Browser anzuzeigen. Dadurch sind die Daten sowohl an einem PC oder Mac als auch auf dem Smartphone zu sehen.

Royal Gardineer Zubehör zu Pflanzenwächter: 4in1-Pflanzensensor m. Bluetooth, App-Kontrolle, 1 Jahr Laufzeit, IPX5 (Bodensensor)

Dafür werden ein Webserver mit PHP-Unterstützung und eine Datenbank benötigt. Zunächst werden der Webserver, PHP und PHPMyAdmin mit folgenden Aufrufen installiert: sudo apt install apache2, sudo apt install php php-mbstring, sudo apt install phpmyadmin. Wer diese Dienste nicht selber konfigurieren kann oder möchte, kann auch auf das verlinkte Skript zurückgreifen. (Quellcode von install apache php.sh in Scripte.zip)

Datenbank anlegen

Damit werden zum Beispiel Berechtigungen auf das Webverzeichnis gesetzt und der Datenbankbenutzer eingerichtet. Dieses Skript dient nur als Beispiel, es ist nicht auf Sicherheit ausgelegt und sollte daher nur für unbedenkliche Daten verwendet werden. Des Weiteren wird noch eine Datenbank mit einer Tabelle benötigt, in der die Werte gespeichert werden.

Die neue Datenbank wird über phpmyadmin angelegt und heißt in den Beispielskripten smart. In dieser Datenbank wird das verlinkte SQL-Statement (SQL-Skript, um die Tabelle anzulegen) ausgeführt, um die Tabelle xiaomiPlantData zu erzeugen. (Quellcode von Database.sql in Scripte.zip) Nachdem die Installation und Konfiguration der Dienste abgeschlossen sind, kann die Erstellung der Webseiten zum Scannen der Daten und zum Speichern beginnen.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 Raspberry Pi: Besser gießen mit Raspi und Xiaomi-PflanzensensorErstellen der Webseite zum Auslesen der Sensordaten 
  1.  
  2. 1
  3. 2
  4. 3
  5.  


Entwickler 23. Mai 2022 / Themenstart

Wer nicht wie ich stundenlang nach Fehlern suchen will, warum es nicht klappt. Wenn die...

obermeier 17. Mai 2022 / Themenstart

Sehr komplizierte Umschreibung für "Landwirtschaft".

Salzbretzel 17. Mai 2022 / Themenstart

Hier ist der Durchmesser ein Problem. Ich habe mich für 1/2 Leitungen entschieden - weil...

Dr. Nutella 17. Mai 2022 / Themenstart

Danke für diesen unqualifizierten und zum Thema komplett unpassenden Beitrag.

Kommentieren



Aktuell auf der Startseite von Golem.de
Franziska Giffey
Deepfake von Klitschko täuscht Berlins Bürgermeisterin

Berlins Regierende Bürgermeisterin Franziska Giffey (SPD) hat per Videokonferenz mit einem Deepfake von Vitali Klitschko gesprochen. Der Betrug flog auf.

Franziska Giffey: Deepfake von Klitschko täuscht Berlins Bürgermeisterin
Artikel
  1. Mond: US-Sonde findet Einschlagstelle des unbekannten Raketenteils
    Mond
    US-Sonde findet Einschlagstelle des unbekannten Raketenteils

    Die Nasa hat die Stelle auf dem Mond gefunden, wo im März ein noch unidentifiziertes Raketenteil abgestürzt ist. Der Krater ist überraschend groß.

  2. Datenpanne: IT-Mitarbeiter verliert USB-Stick mit Meldedaten einer Stadt
    Datenpanne
    IT-Mitarbeiter verliert USB-Stick mit Meldedaten einer Stadt

    Die Tasche mit dem USB-Stick wurde über ein in ihr ebenfalls enthaltenes Smartphone geortet und gefunden.

  3. Logistik: Post will mit Solarschiff Pakete in Berlin verteilen
    Logistik
    Post will mit Solarschiff Pakete in Berlin verteilen

    Die Post will Pakettransporte von der Straße aufs Wasser verlagern. Das erste der Schiffe wird mit Solarstrom betrieben. In Zukunft sollen sie autonom fahren.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • MSI 323CQRDE (WQHD, 165 Hz) 399€ • LG OLED 48C17LB 919€ • Samsung 980 PRO (PS5-komp.) 2 TB 234,45€ • Apple HomePod Mini 84€ • 16.000 Artikel günstiger bei Media Markt • MindStar (u. a. AMD Ryzen 7 5700G 239€, Samsung 970 EVO Plus 250 GB 39€ und Corsair Crystal 680X RGB 159€) [Werbung]
    •  /