Archiv für den Monat März 2018

Raspberry Pi 3 Model B+ UNIX Bench

Wie schon mit einer ganzen Reihe von Linux-Devices habe ich nun auch für den Raspberry Pi 3 Model B+ den UNIX-Benchmark laufen lassen. Die Resultate sind auf der Seite Resultate UNIXBench eingearbeitet.

Wie zu erwarten war, sehen die Resultate mit dem neuen Broadcom- SoC BCM2837B0, einem 64-bit Quad-Core-Cortex-A53 (ARMv8)  mit einer maximalen Taktfrequenz von 1.4 GHz hervorragend aus.

Nach der Installation von Raspbian Stretch hat man einen Linux-Kernel v4.9 installiert.

Vor der Installation des UNIX Benchmarks sollten Update und Upgrade erfolgen:

# sudo apt-get update
# sudo apt-get upgrade

Die Installation des UNIX Benchmarks erfolgt über Git durch

# git clone https://github.com/kdlucas/byte-unixbench.git

Danach kann das Programm gestartet werden

# cd byte-unixbench/Unixbench
# ./Run

und hält nach einiger Laufzeit das im Verzeichnis /results die Ergebnisse in verschiedenen Formatierungen bereit.

Ich habe für den Test mit Hilfe des Shell-Scripts max_cpu_freq.sh eine Taktfrequenz von 1.4 GHz eingestellt.

Screenshot

Hier ist das Resultatfile des UNIX-Benchmarks.

Eine Übersicht über die Performancesteigerung innerhalb der Raspberry Pi Familie zeigt die folgende Tabelle:

UNIX Bench
(single proc.)
Raspberry Pi Raspberry Pi 2
Model B
Raspberry Pi 3
Model B
Raspberry Pi 3
Model B+
 CPU  BCM2835  BCM2836 BCM2837  BCM2837B0
 Core  ARM1176JZFS  Cortex-A7
Quad Core
 64-bit quad-core ARMv8  64-bit quad-core Cortex-A53
 Architecture  ARMv6  ARMv7  ARMv8  ARMv8
 Clock  700 MHz  900 MHz  1200 MHz  1400 MHz
 Memory  256 MByte  1 GB  1 GB  1 GB
 Index  67.2  167.6  201.5  349.8

HiGrow-Sensor: Daten erfassen und versenden

Im Post HiGrow-Sensor sorgt für das Wohl der Pflanzen hatte ich auf den HiGrow-Sensor hingewiesen, der zur Überwachung der Umweltbedingungen in Pflanzennähe eingesetzt werden kann.

Im Programm HiGrowESP32MQTT.ino werden die Sensordaten des dort eingesetzten DHT11-Sensors zur Messung von Lufttemperatur und Luftfeuchte, sowie die kapazitiv gemessene Bodenfeuchte und die Helligkeit erfasst und entsprechenden Topics von MQTT-Messages zugeordnet. Zu Kontrollzwecken werden diese Daten auch seriell ausgegeben und können durch den internen Monitor der Arduino IDE verfolgt werden. Das Programm  HiGrowESP32MQTT.ino steht auf Github zum Download zur Verfügung.

HiGrow Data

Mit einem MQTT Client können die abonnierten Mitteilungen visualisiert werden.

Screenshot_20180319-140609.png

Bei meinen Test ist mir aufgefallen, dass recht häufig nach dem Programmstart der Brownout Detector getriggert wurde und einen entsprechenden Reset ausgelöst hat.

HiGrow Brounout

Verfolgt man die Diskussion (z.B. hier https://github.com/nkolban/esp32-snippets/issues/168) dann scheint ein hoher Strombedarf während der Initialisierungsphase ein (der?) Grund für das Verhalten zu sein.

Der HiGrow-Sensor weist einen Batteriehalter für eine 18650-LiPo-Batterie auf. Bei meinen Tests war die Batterie nicht bestückt. Möglicherweise puffert eine bestückte Batterie dann diesen kurzzeitigen Strombedarf hinreichend.

 

HiGrow-Sensor sorgt für das Wohl der Pflanzen

Für das optimale Gedeihen von Pflanzen sind die Bedingungen wie Temperatur, Luft- und Bodenfeuchtigkeit, Licht u.a.m. verantwortlich.

Kommerzielle Systeme von Kärcher, Gardena, Parrot u.a. ermitteln solche Größen und steuern damit beispielsweise die Bewässerung oder stellen die ermittelten Daten einer App auf dem Smartphone zur Verfügung.

Mit dem HiGrow-Sensor kann der Maker das Thema selbst in die Hand nehmen. Der HiGrow-Sensor nutzt einen DHT11 zur Messung von Lufttemperatur und -Luftfeuchte. Die Feuchte des Bodens wird kapazitiv gemessen, da diese Variante weniger störungsanfällig als die resistive Methode ist. Außerdem wird die Helligkeit erfasst. Als CPU kommt eine ESP32-Wroom von Espressif zum Einsatz, der in der Arduino IDE programmiert werden kann. Softwareunterstützung findet man auf Github unter https://github.com/lucafabbri/HiGrow-Arduino-Esp. In den nächsten Tagen werde ich an dieser Stelle ein Programmbeispiel zeigen, welches die ermittelten Werte über MQTT an einen MQTT-Broker übermittelt und von da bezogen werden können.

Der HiGrow-Sensor wird von Banggood zum Preis von unter € 15 angeboten.

ESP32 ADC & DAC

Im Gegensatz zum ESP8266 weist der ESP32 ein wesentlich besser ausgebautes System zur analogen IO auf.

Der ESP32 besitzt zwei 12-bit ADCs, die nach dem Verfahren der Successiven Approximation arbeiten und insgesamt 18 analoge Eingänge bedienen. Einige dieser Eingänge können zur Bildung eines programmierbaren Verstärkers (PGA) zur Verstärkung kleiner Analogsignale herangezogen werden.

Die ADC API unterstützt ADC1 (9 Kanäle, an GPIO 32 – 39), und ADC2 (10 Kanäle, an den GPIOs 0, 2, 4, 12 – 15 und 25 – 27). Bei der Verwendung von ADC2 gilt es aber, gerade bei der Verwendung von WiFi,  gewisse Restriktionen zu beachten. Für den Test hier spielen sie aber keine Rolle .

Außerdem hat der ESP32 zwei 8-bit DACs, die mit GPIO25 (Channel 1) und GPIO26 (Channel 2) verbunden sind.

Weiterlesen

Arduino ESP32

Nachdem der verbreitete ESP8266 in die Arduino Umgebung integriert wurde und  Ledunia als High-End-ESP8266-Modul verfügbar ist, hatte ich die Benchmarks aus dem Beitrag  Arduino32: Die jungen Wilden in der Zeitschrift DESIGN&ELEKTRONIK (Online-Version Teil 1Online Version Teil 2) mit dem ESP8266/Ledunia wiederholt.

Nun steht auch Espressif’s ESP32 in der Arduino Umgebung zur Verfügung. Die Implementierung ist noch nicht ganz komplett, doch kann der deutlich mehr Performance versprechende Controller ebenfalls diesen Tests unterzogen werden.

esp32_devel-600x600

ESP32 Dev Module mit ESP-WROOM32 on-board

Weiterlesen