Embedded Ethernet
Industrie 4.0, Internet of Things (IoT), smart Home, smart Wasauchimmer sind unmittelbar gekoppelt an die Möglichkeit ein eingebettetes System via Internet oder Intranet zu erreichen. Eine Möglichkeit der Realisierung solcher smarten Systeme ist die physische Anbindung an ein verfügbares Netzwerk (Ethernet). Embedded Ethernetlösungen sind kompakt und preiswert. Selbst die 8 Bit AVR Controller können hier schon beachtliches leisten.
Für IoT Lösungen stehen uns folgende Ethernet-Produkte von myAVR zur Verfügung. Das sind das zunächst das myEthernet 64K mit 64K FLASH sowie 4K SRAM und myEthernet 128K mit 128K FLASH und 16K SRAM. Diese beiden Module zeichnen sich besonders durch ihre Kompaktheit aus.
Für den etwas professionelleren Anwender gibt es noch Ethernetlösungen für den Einbau in Schaltschränken in Hutschienenmontage. Das ist das SimEthernet.
Für das PEC Framework finden Sie im LibStore ein Zusatzpaket mit einem kompletten IP-Stack. Je nach verwendeten Komponenten benötigen Sie 20 bis 30K FLASH um einen kompletten embedded WEB-Server damit aufzubauen. Mit den 64 bzw. 128K der myEthernet-Module ist für die anwenderspezifische Lösung noch mehr als genug Platz.
Für Interessenten findet sich in den Paketen auch das komplette Modell der Zustandsmaschine für den Verbindungsaufbau und Abbau des TCP-Protokolls
Anwendungsbeispiele
Für den Anwender der PEC-Ethernet Lösungen sind der IP-Stack, die Ethernetpakete und die Hardwarepakete soweit gekapselt und abstrahiert, dass die Handhabung durch das Einbinden einer einzelnen Komponente und extrem wenig Aufwand schnell zum Erfolg führt. Die WEB-Serverlösungen stehen als Komponenten im LibStore zur Verfügung.
Als erstes muss das Ethernet-Paket zum bestehenden PEC-Projekt geladen werden. Dazu müssen Sie ggf. zurück in die oberste Ebene gehen (rechte Maustaste / nach oben oder einfach Taste ESC). Ziehen Sie aus der Objektbibliothek das Element „LibStore“ in das Diagramm. Suchen Sie im Online-LibStore nach „Eth“
Laden sie das Ethernet-Paket aus dem Libstore. Achten Sie auf das Importprotokoll im Ausgabefenster.
Bevor Sie fortfahren, benötigen Sie ein neues Klassendiagramm. Beachten Sie, dass die Hardware jetzt ein myEthernet-Board mit einem ATmega1284P oder einem ATmega644P bei 20Mhz Taktrate ist und entsprechend eingestellt werden muss. Zur Erinnerung:
<html><iframe width=„640“ height=„480“ src=„https://www.youtube.com/embed/falkps_b8nU“ frameborder=„0“ allowfullscreen></iframe></html>
Für die die Low Level Treiber sollten Sie jetzt kein allgemeines Paket sondern ein spezielles Boardpaket nutzen. Sie finden die Boardpakete im geladenen Ethernetpaket oder über die Suchfunktion im Explorer. Referenzieren Sie bitte im neuen Klassendiagramm das Paket „MCU_Board_myEthernet“
Spezielle Boardordner haben den Vorteil, dass die spezifische Hardware schon funktionsfähig konfiguriert ist. Sie können also sofort loslegen und sich die gewünschte Serverkomponente aus dem Libstore laden. Ziehen Sie aus der Objektbibliothek das Element LibStore in das Diagramm. Suchen Sie im Online-LibStore nach Web oder nach Server.
mit HTML im FLASH
Die erste Lösung soll ein embedded WEB-Server sein dessen HTML-Seiten im FLASH-Speicher des Mikrocontrollers liegen. Damit können wir kleine Systeme aufbauen die auf eine SD-Karte als Speichermedium verzichten. Verbinden Sie die geladene Komponente HTTP Server HTML im Flash über dem Kantentyp Aggregation mit der Klasse Controller.
Damit ihr WEB-Server gefunden wird müssen Sie noch die IP-Adresse festlegen. Öffnen Sie dazu die Komponente und ergänzen im Ereignishandler onPower die folgende Zeile:
ServerFlash::onPower()
... ethernetIp.myIP = IP(192,168,20,98); // Netzadresse beachten!!! ...
Gehen Sie zurück in das Klassendiagramm der Applikation. Wenn Sie die Zeile richtig eingegeben und das Modell korrekt erstellt haben, können Sie aus dem Klassendiagramm, wie gehabt, den Quellcode generieren, diesen übersetzen und auf den Controller übertragen. Das erfolgt über das Aktionsmenü in der Objektbibliothek. Wählen Sie dort den Menüpunkt Erstellen, Brennen & Ausführen.
Testen Sie die Anwendung indem Sie über einen Browser die IP ihres embedded Webserver aufrufen.
mit HTML Seiten auf SD Karte
Die gleiche Vorgehensweise können Sie für eine größere WEB-Serverlösung mit vielen HTML-Seiten auf einer Mikro-SD-Karte anwednen. Im Board-Ordner ist auch die SD-Karten-Anbindung bereits vorbereitet.
Videozusammenfassung
Und hier diesen Abschnitt als kurze Videozusammenfassung.
<html><iframe width=„640“ height=„480“ src=„https://www.youtube.com/embed/4uRZAkSBkRU“ frameborder=„0“ allowfullscreen></iframe></html>
Beispielprojekt
Nächstes Thema
- mit dem Zustandsdiagramm in SiSy programmieren (nur über eine SiSy-Lizenz verfügbar)
- ein kleines Projekt (nur über eine SiSy-Lizenz verfügbar)