CONTROLLINO – Arduino im industriellen Einsatz

Arduino ist seit vielen Jahren über die Maker-Szene hinaus als Prototyping-Plattform bekant. Sowohl die aus einem Mikrocontroller-Board bestehende Hardware als auch die Arduino-Entwicklungsumgebung (IDE) sind Open Source. Prototyping-Plattformen sind aber nicht ohne weiteres für den industriellen Einsatz geeignet.

Mit CONTROLLINO stehen unterschiedlich ausgestattete Kleinsteuerungen auf Arduino-Basis zur Verfügung, die den industriellen Einsatz nicht scheuen brauchen. Für den industriellen Einsatz besonders wichtig sind die implementierten Schutzmaßnahmen gegen Kurzschluss, Überlast und elektrostatische Entladung und nicht zuletzt die spezifizierten Umgebungsbedingungen.

Zur Arbeit mit dem CONTROLLINO habe ich mir eine Spielwiese eingerichtet, die passend zur Bauform des CONTROLLINO mit Hutschienen-Komponenten arbeitet.

tafel

Über den Ethernet-Anschluss ist der CONTROLLINO mit dem Internet verbunden, während über den USB-Anschluss die Verbindung zur Arduino IDE (Programm-Download, Monitoring) vorgenommen wird.

Im Februar 2017 wird der CONTROLLINO in der Zeitschrift Design & Elektronik vorgestellt. Programmbeispiele sind auf Github zu finden.

Einfache Wetterstation für € 20

sht31chip

Mit dem $ 9 C.H.I.P. und einem Grove SHT31 ($ 11.90) kann man schon für € 20 Temperatur und relative Luftfeuchtigkeit erfassen und in der Cloud visualisieren.

Vorbedingung ist die Installation der folgenden Pakete:

sudo apt-get install build-essential libi2c-dev i2c-tools python-dev libffi-dev

Drei sehr überschaubare Scripte übernehmen die Abfrage des Sensors und das Versenden der Daten.

Mit dem Python Script SHT31.py werden von dem über den I2C-Bus angeschlossene Sensor Temperatur und relative Luftfeuchtigkeit abgefragt und zwischengespeichert. Das Shell Script thingspeak.sh sendet die erhobenen Messwerte an den Thingspeak-Server, während das Shell Script mqtt.sh die gleichen Daten an einen MQTT Broker sendet. Mit dem Script weather.sh werden diese drei Scripte gekapselt und in die Crontab eingetragen.

# m h dom mon dow command
*/5 * * * * /home/weather.sh

Durch diesen Eintrag erfolgt ein Aufruf des Scripts weather.sh alle fünf Minuten.

Die Scripte stehen wieder in meinem CHIP Repository zum Download zur Verfügung. Hier können die Ergebnisse der Messungen verfolgt werden.

ASUS bietet leistungsstarken Raspberry Pi Clone an

sc14363-40

Zahlreiche Online Medien habe in den letzten Tagen die neueste Erweiterung der Raspberry Pi Familie herausgestellt. ASUS erweitert mit dem Tinker Board die Familie hinsichtlich Performance deutlich.

Den Kern des Systems ist eine Quad-Core ARM Cortex A17-CPU mit  1,8 GHz Taktfrequenz und eine Mali-T764 GPU dar. Die Speicherausstattung des Systems liegt bei 2 GB. Für die Ausgabe kann wahlweise ein HDMI-Port mit einer maximalen Auflösung von 3840 x 2160 Pixel (4K) oder ein 15-Pin MIPI DSI dienen. Bei der Soundausgabe setzt das System auf einen Realtek-Chip mit 192 KHz/24-Bit Audio. Für den Anschluss einer Kamera steht ein CSI Port zur Verfügung. Als Betriebssystem wird Debian mit KODI eingesetzt.

Bestellt kann das Tinker Board derzeit nur über Farnell Irland zum Preis von ca. € 55,00.

 

In 15 Tagen zum ersten Prototyp: Hardware-Entwicklung 4.0

Um realistisch abschätzen zu können, ob sich ein Produkt wie geplant realisieren lässt, ist nichts so aussagekräftig wie reale Hardware, auf der die Software getestet werden kann.
Mit dem Rapid Demonstrator Service sichert die Mainzer Phytec zu, schon nach 15 Arbeitstagen einen funktionsfähigen Prototyp zu liefern und gibt damit dem Entwickler ein Werkzeug in die Hand, welches die Evaluierung einer Produktidee bzw. den Aufbau eines Funktionsmusters oder Prototypen mit einem seriennahen Entwicklungsstand ermöglicht. Durch Einsatz eines solchen Design Tools wird es möglich, eine Entwicklung ohne Designbruch auf der Grundlage erprobter Hard- und Software-Komponenten vorzunehmen. Durch die Wiederverwendung erprobter Komponenten sinkt das Entwicklungsrisiko beträchtlich.

Nachdem in diesem, in der Zeitschrift Elektronik Heft 2/2017 veröffentlichten Beitrag der Entwicklungsprozess unter Verwendung des Rapid Demonstrator Service betrachtet wird, wird dieser Service in einer zweiten Folge von der Eingabe der gewünschten Funktionalität bis hin zur Inbetriebnahme des resultierenden Board untersucht werden.

Omega2+ eingetroffen

Die Palette der Linux-Devices für weniger als 10 $ ist mit dem Omega2 von Onion um ein interessantes Teil erweitert worden. Hervorgegangen aus einer Kampagne bei Indiegogo wird dieses Devices nun ausgeliefert. Ich habe mein Exemplar heute zusammen mit einem Power Dock erhalten.

20161222_171120

Meine Erfahrungen mit dem Omega2 werde ich in einem eigenen Blog zusammentragen.

LoRa Node sendet Messwerte

Als Grundlage für meine Experimente habe ich von Github das Dragino Programmbeispiel lora_shield_ttn.ino verwendet und mit einer Sensorerweiterung versehen. Zur Erfassung der Umgebungstemperatur habe ich einen Temperatursensor TMP36 mit A0, VCC und GND verbunden.

lora-node-tmp36

Auf die Angabe des Listings des Programms lora_shield_ttn_tempC.ino möchte ich an dieser Stelle aus Platzgründen verzichten und auf Github verweisen. Dort ist das Programm abgelegt und kann von da heruntergeladen werden. Damit sind alle Vorkehrungen für das Versenden der Sensordaten in das LoRaWAN getroffen und es ist nun am Gateway diese Daten auch zu empfangen. Der Consolen Output zeigt die Messages dieser LoRa Node.

lora_shield_ttn_tempc

Die vom TTN LoRa Server empfangenen Messages zeigen hier im Bild Temperaturwerte von 24,71 und 27,64 °C (letzteres nach Auflegen eines Fingers auf den TMP36).

Beim Auruf des TTN LoRa Servers ist etwas Geduld notwendig. Nur alle 10 Minuten wird eine Message vom Gateway gesendet. Historische Daten werden nicht angezeigt.

ttn4

Vom TTN Lora Server werde die Daten via MQTT bereitgestellt und können da mit einem MQTT Viewer (hier habe ich MQTTlens verwendet) dargestellt bzw. über Subscribe in eine Anwendung gezogen werden.

ttn5

 

LoRa Gateway aktiv…

Heute habe ich zu Testzwecken ein LoRa Gateway installiert. Im TTN Mapping (TheThingsNetwork) ist es als „CK LoRa Gateway“ markiert.

Ein LoRa Concentrator iC880A ist bei IMST bestellt, dann wird das Gateway LoRaWAN kompatibel.

ck-lora-gateway

In den nächsten Tagen bekommt die eingesetzte LoRa Node (Dragino Lora Shield & Arduino Uno) noch einen Temperatursensor, dessen Daten dann übermittelt werden. Es folgen später stromsparende Varianten auf Basis des  LoRa Transceiver RFM95W & Arduino Pro Mini, Raduino32 SX1272 und LoPy.

pycom LoPy – erste Schritte mit ESP32

Mit dem LoPy habe ich nun nach dem WiPy das zweite Controller-Board von pycom in Betrieb genommen. Die Inbetriebnahme gestaltet sich nach der pycom Doku recht problemlos.

pycom_boards

Aus der Pymakr IDE heraus habe ich über USB-Serial mit den Boards kommuniziert. Ganz wichtig ist ein gelegentliches Firmware Update, da die Firmware selbst noch spürbar in Entwicklung ist.

Ich hatte folgende Situation vorgefunden, die jeder mit seinem System durch die folgenden Schritte nachvollziehen kann:

>>>import os
>>>os.uname()

WiPy:

(sysname='WiPy', nodename='WiPy', release='0.9.2.b2', version='7713d55 on 2016-10-28', machine='WiPy with ESP32')

LoPy:

(sysname='ESP32', nodename='ESP32', release='0.9.0b', version='8785822 on 2016-10-06', machine='LoPy with ESP32')

und musste feststellen, dass nicht alle von mir für erste Tests benutzten Funktionen erwartungsgemäß funktionierten. Nach dem Firmware-Update zeigte sich die Situation dann folgendermaßen:

WiPy:

(sysname='WiPy', nodename='WiPy', release='0.9.6.b1', version='v1.8.6-40-gd10463e on 2016-11-25', machine='WiPy with ESP32')

LoPy:

(sysname='LoPy', nodename='LoPy', release='0.9.6.b1', version='v1.8.6-40-gd10463e on 2016-11-25', machine='LoPy with ESP32')

Das Firmware-Update war also erforderlich und erfolgreich.

Mit ein paar einfachen Files habe ich meine Tests begonnen. Alles weiteren Experiment werden auf GitHub abgelegt.

Die Terminal-Ausgabe der Scripts hello.py, blink.py und TMP36.py sind im folgenden Screenshot zu sehen.

output

Weitere Infos und Programmbeispiele sind hier zu finden.

Raspberry Pi 2 und Real-Time Linux

Das Echtzeitverhalten des Single-Core Raspberry Pi wurde im Beitrag Echtzeitfähiger Raspberry Pi untersucht. Der RT Patch des Kernel wurde beschrieben.

Mittlerweile sind auch Ergebnisse für den Quad-Core Raspberry Pi 2 verfügbar. In der QA-Farm von OSADL wird das Real-Time Verhalten einem ständigen Monitoring unterzogen. Bei Interesse sollte unbedingt der betreffende Beitrag in den OSADL News gelesen werden.

Mit dem RT Patch des Kernels werden nunmehr die folgenden Latenzzeiten erreicht.

rbs3s