SIMATIC IOT2000 goes FHEM? Innovative Tester gesucht!

Begonnen von Phil, 11 September 2017, 21:59:50

Vorheriges Thema - Nächstes Thema

Phil

Hallo liebe Forumsmitglieder,

ich falle direkt mit der Tür ins Haus!

Meine Kollegen und ich bei der großen deutschen Firma mit dem petrolfarbenen Schriftzug haben unter anderem ein für unsere Maßstäbe ungewöhnliches Produkt auf den Markt gebracht.
Wir würden dieses Produkt, nun gerne in den unterschiedlichsten Anwendungen sehen und sehen wie es konkret dazu beiträgt eine Menge toller Projekte auch im Bereich der Hausautomatisierung zu realisieren.

Um was handelt es sich?
Im Prinzip haben wir einen Raspberry Pi im Industriegehäuse entworfen. Das SIMATIC IOT2020 als auch das SIMATIC IOT2040 ist dabei ebenfalls ein Einplatinencomputer und glänzt dabei mit einer Menge an nützlichen Schnittstellen (2x Ethernet, mini PCI Express, 2x RS232/422/485, 2x USB), wenngleich auch ehrlicherweise die Performance verglichen mit dem Raspberry Pi nicht ganz vergleichbar ist (400 MHz, 1GB Ram, x86 Architektur, Yocto Betriebssystem). Das Gerät ist darüber hinaus natürlich komplett offen und frei programmierbar in C/C++, Java, Python und vielem mehr.

Hätten nun ein paar interessierte und innovative Mitglieder unter euch Lust auf Basis des SIMATIC IOT2020 oder IOT2040 eine FHEM Lösung zu bauen und diese für andere Benutzer zur Schau zu Stellen?
Die Hardware würde von mir auf Anfrage gratis zur Verfügung gestellt - Voraussetzung ist lediglich die Realisierung eines Projektes  ;).

Welche Vorteile hat für euch das IOT2020 / IOT2040 im Vergleich zu herkömmlichen Einplatinencomputern?
Das Gehäuse mitsamt der Haptik sind sehr robust und auf einen 24/7 Dauereinsatz ausgelegt. Dabei kann das Gerät mit 9-36V Spannungsversorgung versorgt werden und auf schaltschranküblichen Hutschienen oder an der Wand montiert werden. Gleichzeitig sieht das Gerät noch echt schick aus  :).

(https://abload.de/thumb/iot2000-20409ssp7.jpg)

Weitere Informationen auf:

IOT2000 Forum: https://support.industry.siemens.com/tf/ww/en/posts/iot2000-starter-guide-and-useful-information/155652/?page=0&pageSize=10
IOT2020:  http://de.rs-online.com/web/p/iot-entwicklungskit/1244037/
IOT2040: http://de.rs-online.com/web/p/iot-entwicklungskit/1244038/?searchTerm=iot2040&relevancy-data=636F3D3226696E3D4931384E4B6E6F776E41734D504E266C753D6465266D6D3D6D61746368616C6C7061727469616C26706D3D5E5B5C707B4C7D5C707B4E647D2D2C2F255C2E5D2B2426706F3D313326736E3D592673743D4B4559574F52445F53494E474C455F414C5048415F4E554D455249432677633D424F5448267573743D696F7432303430267374613D696F743230343026
IOT2040 Website: www.siemens.com/iot2000

Ich freue mich auf euer Feedback!

Viele Grüße
Philipp

PeMue

Hallo Philipp,

was läuft denn da für ein Betriebssystem drauf? Welche Leistungsaufnahme haben die Dinger?
Das wären für mich wichtige Kriterien.

Gruß Peter
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

gloob

Betriebssystem: Yocto Linux
Stromaufnahme: max. 1,4 A
Versorgungsspannung: DC 9...36 V
Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

Phil

Hallo Peter,

entschuldige die späte Rückmeldung.

Wie von gloob schon geschrieben, danke an dieser Stelle, läuft auf dem SIMATIC IOT2020 / 2040 ein Embedded Yocto Linux.

Kostengünstig dazu gibt es auch eine passende Stromversorgung zur Montage auf der Hutschiene. LOGO! Power 24V 0.6A
http://www.automation24.de/steuerungstechnik/siemens-logo-power-24v-06a-6ep3330-6sb00-0ay0-i75-3667-0.htm?refID=adwords_shopping_DE&gclid=EAIaIQobChMIytanjIqy1gIVDrcbCh3O6AZIEAQYASABEgJk9_D_BwE

Bei Interesse bitte einfach melden. Die Spannungsversorgung steuern wir ebenfalls gerne bei.

Viele Grüße und einen schönen Abend.
Philipp

RPi_Fhem_Fan

Hallo Philipp,

da ich aktuell meine Heizungssteuerung modernisieren möchte (bis vor kurzem lief ein Eigenbau mit einem 68HC11 Microcontroller) und ich bereits FHEM seit ein paar Jahren nutze,
würde ich mich gerne als Tester zur Verfügung stellen. Seit ca. einem Jahr arbeite ich auch beruflich mit Node-Red.
Mittlerweile gibt es sogar eine Codesys Control https://store.codesys.com/codesys-control-for-iot2000-sl.html.
Ich denke die Herausforderung wird sein FHEM auf dem Yocto Linux lauffähig zu machen, falls dies nicht gelingt dann wäre aber sicherlich die Kommunikation mit einen FHEM Host via MQTT möglich.

Gruß Martin

Erdschluss

Ich bin leider nur minimal besser als ein Copy&Paste-Programmierer, kann daher persönlich nichts beitragen, bin aber auch gespannt, ob FHEM auf dem Yocto lauffähig ist.
Als robusten MQTT-Server fände ich das IOT20** auch interessant, geht sowas?
Bisher habe ich nur mit dem ESP8266 gearbeitet.

RPi_Fhem_Fan

Hallo,

zuerst einmal vielen Dank an Philipp für die Zusendung eines IOT2040  ;).

Der einfachste Weg um FHEM auf dem IOT2020 / 2040 lauffähig zu bekommen ist sicherlich dort auch ein Debian OS zu installieren.

Dieses wurde bereits von der Siemens Community bereitsgestellt: https://support.industry.siemens.com/tf/ww/en/posts/debian-for-iot2000/162525/?page=0&pageSize=10

Nun folgte nur noch die Installation von FHEM, das war schon alles (siehe angefügter Screenshot).


Als nächstes werde ich versuchen ein YOCTO Image zu erstellen, welches vieleicht auch FHEM enthält ?

Martin

Erdschluss

#7
Da soll ja ein Bug in der CPU sein, der beim Yocto gepatcht ist.
Beim Debian-Image auch?

Ich wollte mir so ein IOT2040 eigentlich kaufen, aber bei RS ist die Kiste im Privatkundenshop nicht verfügbar :(
Edit: Ok, Google hilft :D
https://www.elektro4000.de/Industriebedarf/Industriesteuerungen-SPS/SPS-Baugruppentraeger/Siemens-Indus-Sector-SIMATIC-IOT2040-6ES7647-0AA00-1YA2::1212876.html
(nein, ich habe mit dem Shop nichts zu tun)

Da hier die richtigen Leute mitlesen (und ich evtl. beruflich mit dem IOT2040 etwas umsetzen werde): Gibt es eine geplante Mindestverfügbarkeitsdauer?

Phil

Hallo zusammen,

Martin das ging ja echt schnell. Alles problemlos verlaufen? Ich hätte nicht gedacht dass FHEM 1:1 installiert werden kann.

@ Erdschluss:
Soweit ich weiß ist der Lock Prefix Bug fixbar - das komplette Betriebssystem müsste einmal mit der entsprechenden Compile-Option a la "don't use lock prefix" gebaut werden.
Die IOT2000 Reihe wird bis mindestens 2020 verfügbar sein, das schulden wir unseren Industriekunden ;-).

Viele Grüße
Philipp

RPi_Fhem_Fan

@Philipp,

mein erster Test bestand nur aus der Installation des bereits im Siemens Forum vorhandenen Debian Images. Unter Debian dann FHEM zu installieren, war kein Problem.
Interssant wird die Sache nun, wenn ich ich FHEM in das Yocto Image einpflegen versuche.
Heute hatte ich mit Yocto und Node-Red gearbeitet.
Ich werde bis zum Wochenende weiter berichten.

Gruß Martin

Phil

Einen wunderschönen Guten Abend,

gibt es schon durchbrüche hinsichtlich des Debian Images auf dem IOT2040? Gibt es sonst was neues?

Viele Grüße
Philipp

RPi_Fhem_Fan

Hallo,

habe heute Abend begonnen ein Yocto Image aufzusetzen.
Werde dort versuchen dann eine aktuelle Perl Version mit einzubinden,
um dann FHEM unter Yocto lauffähig zu machen.
Ich denke, dass ich dann nächste Woche weiter berichten kann.

Gruß Martin

dmq

Hallo,

bei mir dauert es leider noch ein wenig. Ich habe Komponenten für das Projekt bestellt. Teilweise auch aus China. Selbst mein SD-Karten Bestand war vollends verplant und aufgebraucht. Bleibe dran.

Grüße und schönen Sonntag.

RPi_Fhem_Fan

#13
Hallo,

die Installation von FHEM unter dem originalen YOCTO Image ist denkbar einfach:
Das FHEM-Paket muss manuell installiert werden, da ein Debian Paket hier nicht funktioniert  ;).
Dies sind die Schritte welche ich unternommen hatte, um FHEM auf dem IOT2040 unter YOCTO lauffähig zu bekommen:

- Das originale Beispiel-Image V2.1.3 auf eine SD-Karte schreiben (https://support.industry.siemens.com/cs/document/109741799/simatic-iot2000-sd-card-example-image?dti=0&lc=en-WW)

- In der geöffneten Konsole dann mit iot2000setup das Grundsetup durchführen (eth0 bzw. eth1 einrichten).

- Folgende Befehle ausführen:
    $ wget http://fhem.de/fhem-5.8.tar.gz
    $ tar xvf fhem-5.8.tar.gz
    $ sudo mv fhem-5.8 /opt
    $ sudo ln -s /opt/fhem-5.8 /opt/fhem
    $ sudo adduser --system fhem
    $ chmod -R a+w /opt/fhem
    $ usermod -aG tty root && usermod -aG tty fhem
    $ nano /etc/init.d/fhem


- Im Editor dann dieses Script einfügen (https://github.com/hexenmeister/MyFHEM/blob/master/etc_init.d_fhem_script.txt):
    #!/bin/sh
    # description: Start or stop the fhem server
    # Added by Alex Peuchert

    ### BEGIN INIT INFO
    # Provides: fhem.pl
    # Required-Start: $local_fs $remote_fs
    # Required-Stop: $local_fs $remote_fs
    # Default-Start: 2 3 4 5
    # Default-Stop: 0 1 6
    # Short-Description: FHEM server
    ### END INIT INFO

    set -e
    cd /opt/fhem
    port=7072

    #if test "$2" != "noaptmark"; then
    # apt-mark hold fhem > /dev/null
    #fi

    case "$1" in
    'start')

    echo "Starting fhem..."

    # if you need to start hmland for use with
    # Homematic, please start the hmland daemon
    # like this (please use correct path and port,
    # depending on your installation!)
    #
    # /opt/hmcfgusb/hmland -d -p 1234 -r 0
    #

    perl fhem.pl fhem.cfg

    # if you want to use configDB for configuration,
    # use this command to start fhem:
    #
    # perl fhem.pl configDB
    #
    # and remove/comment the above line including fhem.cfg

    RETVAL=$?
    ;;
    'stop')
    echo "Stopping fhem..."

    # if you want to stop hmland during fhem stop:
    # pkill hmland

    pkill -U fhem perl
    RETVAL=$?
    ;;
    'status')
    cnt=`ps -ef | grep "fhem.pl" | grep -v grep | wc -l`
    if [ "$cnt" -eq "0" ] ; then
    echo "fhem is not running"
    else
    echo "fhem is running"
    fi
    ;;
    *)
    echo "Usage: $0 { start | stop | status }"
    RETVAL=1
    ;;
    esac
    exit $RETVAL

- Den Editor dann mit STRG-X und Y schliessen.
- Dann noch diese Befehle:
    $ cd /etc/init.d
    $ chmod 755 fhem
    $ nano /opt/fhem/fhem.cfg

- In der fhem.cfg noch alle Einträge von "./log/" nach "/opt/fhem/log" ändern.

- Zuletzt dann noch FHEM starten:
    $ /etc/init.d/fhem start

Im angefügten Screenhost läuft FHEM nun unter dem originalen YOCTO Image auf dem IOT2040.

Ich habe bewußt das Beispiel-Image  V2.1.3 gewählt da hier Perl, Node-Red und MQTT bereits vorinstalliert ist und damit das Zusammenspiel mit FHEM sehr interessant ist.

Gruß Martin

sash.sc

Hab da mal noch ne frage zu dem iot2000.
Habe die, wie die Logo oder SPS die digitalen Ein- und Ausgänge, Potential frei evtl.?

Gruß Sascha

Gesendet von meinem E6653 mit Tapatalk

Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

dmq

@RPi_Fhem_Fan: danke für die Beschreibung. Ist die Peformance brauchbar? Ist das Yocto recht minimalistisch ausgestattet (Standardservices etc.)?

@sash.sc: Es gibt ein Zusatzmodul mit Ein- und Ausgängen. Das IO-Shield.

https://support.industry.siemens.com/cs/document/109745791/delivery-release-for-the-io-shield-for-the-industrial-iot-gateway-simatic-iot2000?dti=0&lc=en-UY

Grundsätzlich lassen sich aber auch Standard-Arduino Shields einsetzen.

Meine SD ist jetzt schon mal da, hoffe ich komme die Tage nun auch dazu.

dmq

In diesem Dokument werden ab 7.5 "Hardware descriptions" die Schnittstellen gut beschrieben.

https://cache.industry.siemens.com/dl/files/658/109741658/att_899623/v1/iot2000_operating_instructions_e_en-US.pdf

5V digitale/analoge Ein- sowie Ausgänge sind somit schon von Haus aus möglich. Mit dem Zusatzshield sogar 0-10V, 4-20mA...

Ich konnte problemlos USB und MiniPCIE WLAN Karten einbinden.

Interessant wird es jetzt sein, die PIN's / Shields innerhalb FHEM anzusprechen. Ich plane auch eine Anbindung weiterer Komponenten per RS485.

Erdschluss


dmq

FHEM-seitig noch nicht. Node-Red funktioniert ziemlich gut, will das aber hier auch nicht weiter ausbreiten, dafür gibt es andere Foren. Ich habe FHEM aber nach wie vor fest in Planung. Mein Projekt ist für den Ausseneinsatz im Frühjahr geplant - daher kommen zurzeit noch andere Dinge vorrangig.

master_reset29a

Hallo Phil, Hallo liebe FHEM-Gemeinde,

bin im Herbst in mein Eigenheim gezogen und beschäftige mich seit Dezember mit FHEM.
Da ich aktuell seit nun mehr als 2 Wochen erfolglos probiere, den aktuellen busware COC mit FHEM-tauglicher FW auf einem RPi 3 zu flashen, bin Ich bei etwas Ablenkung hier im Forum suchen, auf deinen Thread gestossen.

Ich programmiere seit fast 20 Jahren die beige bis türkisfarbenen Boxen aus eurem Haus (S5/S7-300/400/1200/1500/Step7/TIA) in der Industrie. Diverse Seminare bei euch in Karlsruhe, Stuttgart, Nürnberg und Zürich inbegriffen. Die erworbenen Titel braucht man ja nicht erwähnen  ;).

Würde gerne dabei helfen, die FHEM Zentrale als Standard-Bibliothek in TIA auswählen zu können!

Gruß

Michael

dmq

Hi,

ich finde zunehmend Gefallen an dem System. Die Community im Siemens Forum ist lebendig (1). Es wird daran gearbeitet, Tools und Referenzprojekte vorgestellt. Ursprünglich dachte ich, dass die Performance mich dann doch ärgern könnte. Dem ist aber auch nicht so. Ich habe Node-Red und FHEM parallel laufen und es ist in Ordnung - wobei dazu gesagt werden muss, dass ich zurzeit auch keine intensiven Aufgaben anstelle. Aber dafür ist es auch nicht gedacht sonder als Sensor und Aktor Gateway.

Was ich neben Node-Red besonders schön finde, ist, dass es es Libraries für Python, Arduino IDE und C++ gibt (2). Damit lässt sich das IO-Shield sehr komfortabel ansteuern. Diese nutzt wiederum die mraa-library (3).

Um bspw. per Python die Werte eines 0-10V Spannungssensors auszulesen, genügt:


import mraa
IOShield_U0 = mraa.Aio(0)
value_U0 = IOShield_U0.read()


Ich habe zurzeit zwei Pegelsonden (4-20mA) und zwei CO2-Sensoren (0-10V) an dem System angeschlossen. Da es keinen Cron im Default-Image gibt, starte ich durch fhem "at" Befehle jede Minute ein Python-Script, welches die Daten unter "/dev/shm/results" ablegt - also im flüchtigen Speicher. Anschließend triggere ich durch weitere at Befehle die Abholung und Darstellung durch fhem.


define iot2040_pythonio_at at +*00:01:00 "/usr/bin/python /opt/fhem/io.py"
define iot2040_U1 dummy
attr iot2040_U1 alias Umluft-Co2
attr iot2040_U1 group Duct-Sensors
attr iot2040_U1 icon temp_control
attr iot2040_U1 room iot2040
attr iot2040_U1 sortby 1
define iot2040_U1.filelog FileLog ./log/hvac-umluft-temp-%Y-%m.log .*iot2040-ds1

define iot2040_U1_at at +*00:01:00 "/bin/bash /opt/fhem/nc2fhem-umluft-co2.sh"

define iot2040_U2 dummy
attr iot2040_U2 alias Zuluft-Co2
attr iot2040_U2 group Duct-Sensors
attr iot2040_U2 icon temp_control
attr iot2040_U2 room iot2040
attr iot2040_U2 sortby 2
define iot2040_U2.filelog FileLog ./log/hvac-zuluft-temp-%Y-%m.log .*iot2040-ds2

define iot2040_U2_at at +*00:01:00 "/bin/bash /opt/fhem/nc2fhem-zuluft-co2.sh"

define iot2040_I1 dummy
attr iot2040_I1 alias PegelSonde1
attr iot2040_I1 group Pegelsonden
attr iot2040_I1 icon scene_pool
attr iot2040_I1 room iot2040
attr iot2040_I1 sortby 1
define iot2040_I1.filelog FileLog ./log/hvac-pegelsonde1-%Y-%m.log .*iot2040-ps2

define iot2040_I1_at at +*00:01:00 "/bin/bash /opt/fhem/nc2fhem-pegelsonde1.sh"

define iot2040_I2 dummy
attr iot2040_I2 alias PegelSonde2
attr iot2040_I2 group Pegelsonden
attr iot2040_I2 icon message_tendency_upward
attr iot2040_I2 room iot2040
attr iot2040_I2 sortby 2
define iot2040_I2.filelog FileLog ./log/hvac-pegelsonde2-%Y-%m.log .*iot2040-ps1

define iot2040_I2_at at +*00:01:00 "/bin/bash /opt/fhem/nc2fhem-pegelsonde2.sh"


Das Resultat sieht dann erst einmal so aus (4 - Anhang).

Grundsätzlich ist aber natürlich auch die Kombination mit Node-Red, welches die Sensor-Werte aufnimmt und anschließend direkt an die FHEM-Zentrale (http(s)) zusteuert oder per MQTT möglich. Je nach dem ob das System auch autonom arbeiten soll.

Das System macht Spaß und läuft bisher stabil. Gerade für die ganzen Industriesensoren (0,2-10V, 0,4-20mA, Modbus, ...) war es bisher immer ein ziemlicher Akt (oder sehr teuer) diese mit der "offenen" Welt zu verknüpfen. Das geht hier bisher sehr gut.

Ich werde nun versuchen eine weitere externe Karte per Modbus mit weiteren analogen Eingängen anzuschließen noch mehr Sensoren zu integrieren.

Das ist jetzt alles noch nicht die große Kunst, aber ggf. hilft es ja hier jemanden.

Schönes Wochenende

(1) https://support.industry.siemens.com/tf/ww/en/conf/60/
(2) https://support.industry.siemens.com/tf/ww/en/posts/using-the-simatic-iot2000-i-o-module-in-several-languages/171613/?page=0&pageSize=10
(3) https://github.com/intel-iot-devkit/mraa
(4) Anhang, Bild.

emilio_35

#21
Hallo
ich plane auch mein Fhem auf einen IoT2040 umzustellen da bei mir Fhem als Gateway verwendet wird. Ich habe eine SPS S7 315 als Haussteuerung
Weiß jemand ob man Problemlos mehrere USB Sticks Enocean, ZWave, Bluetooth am IoT2040 über einen Hub anschließen und verwenden kann?.
Fhem Raspberry Pi, SPS, S7 315PN,VU+

dmq

Hi,

im Grunde genommen problemlos - mir fehlt allerdings leider noch etwas die Langzeiterfahrung. Ich habe damals alles aufgesetzt und war auch zufrieden, allerdings mit einer sehr minimalen Konfiguration. Im Anschluss ist bisher das Projekt, welches ich realisieren wollte noch nicht wirklich produktive geworden.

Wie es installiert wird, findest Du hier:

https://forum.fhem.de/index.php/topic,76535.msg716743.html#msg716743

Mittlerweile sollte es aber auch ein neueres Base-Image geben.

https://github.com/siemens/meta-iot2000/releases

Es gibt wohl auch Ansätze mit einer Debian-Installation. Ich würde aber empfehlen, es erst einmal mit dem Basis Yocto-Image zu testen.

Zu dem Enocean-Modul kann ich Dir leider nichts sagen.

Viele Grüße

dmq

Hi,

falls Du es als Gateway an die  SPS S7 315  anbindest, würde ich mich auch über einen kleinen Bericht freuen :)

Grüße

emilio_35

#24
Hallo
ich habe auf meinen IoT2040 Fhem nach Anleitung Installiert. Das "sudo" musste ich weglassen da ich als root angemeldet war.
Verbindung zur SPS S315 mit dem Modul 44 war nach update ohne Problem möglich .
Beim Einrichten von Philips Hue habe ich aber schon das erste Problem.
Fehler "Cannot load module HUEBridge "

in der log steht

2019.03.07 17:37:03 0: Can't locate JSON.pm in @INC (you may need to install the JSON module) (@INC contains: . /etc/perl /usr/lib/perl/site_perl/5.22.1/ /usr/lib/perl/site_perl/5.22.1 /usr/lib/perl/vendor_perl/5.22.1/ /usr/lib/perl/vendor_perl/5.22.1 /usr/lib/perl/5.22.1/ /usr/lib/perl/5.22.1 /usr/local/lib/site_perl ./FHEM) at ./FHEM/30_HUEBridge.pm line 13.
BEGIN failed--compilation aborted at ./FHEM/30_HUEBridge.pm line 13.



JSON fehlt wohl auf dem Yocto Linux. Weiß jemand wie es Installiert wird ?

"sudo cpan install JSON" funktioniert nicht .
Fhem Raspberry Pi, SPS, S7 315PN,VU+