Hallo,
ich habe mir vor kurzen ein TI TM4C129-EXL Entwicklungsboard zugelegt,
weil ich die Verbindung zu einem Server herstellen möchte.
Mittlerweile kann ich http Anfragen zu einem externen Server schicken
und die Response korrekt empfangen.
Kommt man nun z.b mit einem internetfähigen Gerät in das gleiche lokale
Netzwerk, wie das Entwicklungsboard, kann man im Browser die lokale IP
des Entwicklungsboard eingeben und empfängt daraufhin eine
html-Seite.Nun können Einstellungen vorgenommen und zurück zum
Entwicklungsboard gesendet werden.
Jetzt möchte ich gerne prinzipiell Wissen, wie man das Entwicklungboard,
über den Router hinweg, von der Ferne aus steuern kann?
Als Beispiel gibt es die Exosite: Internet of Things (IoT) Platform.
Hier kann man sein Entwicklungboard anmelden und über eine Exosite
Webseite sein Board, über den Router hinweg, steuern.
Sendet das Entwicklungboard periodisch http-Anfragen an den Exosite
Server und bekommt daraufhin eine Antwort, umso Einstellungen vom Server
zum Board zu übertragen?
Oder ist das Board selber ein Server?
An diesem Punkt komme ich nicht weiter. Vielleicht könntet Ihr mir
prinzipiell erklären, wie diese Kommunikation funktioniert.
Besten Dank
Igor schrieb:> Jetzt möchte ich gerne prinzipiell Wissen, wie man das Entwicklungboard,> über den Router hinweg, von der Ferne aus steuern kann?
Portfreigabe
Igor schrieb:> Als Beispiel gibt es die Exosite: Internet of Things (IoT) Platform.> Hier kann man sein Entwicklungboard anmelden und über eine Exosite> Webseite sein Board, über den Router hinweg, steuern.>> Sendet das Entwicklungboard periodisch http-Anfragen an den Exosite> Server und bekommt daraufhin eine Antwort, umso Einstellungen vom Server> zum Board zu übertragen?>> Oder ist das Board selber ein Server?
Wenn du dem Board keinen Port freigibst wird das Board als Server nicht
funktionieren. Ich vermute, dass das Board periodisch anfragen an den
Server sendet.
Igor schrieb:> kann man im Browser die lokale IP> des Entwicklungsboard eingeben und empfängt daraufhin eine> html-Seite
Das bedeutet, dass das Entwicklungsbord als WEB Server fungiert.
Erstens muss, wie im vorangegangen Post beschrieben das HTTP Port 80 von
außen zugänglich sein. Dazu muss das Port im Router freigegeben
werden. Ist das Port 80 schon in Verwendung (z.B. 8080), dann muss einen
anderes Port verwendet werden (im WEB Browser ist dann der IP Adresse
:8080 hinzu zu fügen).
Zweitens muss der Router Zugange zum Internet mit einer öffentlichen IP
Adresse haben, ist diese nicht statisch vergeben, dann ist zusätzlich
ein DynDNS zu verwenden. Ist der Router nicht im öffentlichen Netz, dann
müssen WEB-Server und HTTP Client (Web-Browser) im gleichen Netz
liegen (SIM Karte vom gleichen Provider ).
Das Board wird einfach eine Verbindung zur TI Platform aufbauen...ob das
jetzt über http oder direkt sockets etc geht musst du der Dokumentation
entnehmen.
Chr. M. schrieb:> Warum willst du es nicht machen wie alle anderen?> Per MQTTT
Weil er offenbar mit der Thematik gerade anfängt und noch nicht alles
weiss.
Er muss erstmal die Basics lernen, damit er sich besser vorstellen kann,
wie das passiert.
Analog zu dieser Thematik wäre erstes Basteln mit Strom Schaltern,
Vorwiderständen und LEDs. Um zu verstehen was da passiert muss man
erstmal den Vorwiderstand der LED berechnen können, bis man die LEDs in
gewünschter Helligkeit und ohne Zerstörung am Leuchten hat.
Bis einer kommt und sagt: Warum machst Du es nicht wie alle anderen? Per
KSQ.
Dann beginnt die Arbeit, erstmal rauszufinden, was ne KSQ ist.....
Igor schrieb:> Jetzt möchte ich gerne prinzipiell Wissen, wie man das Entwicklungboard,> über den Router hinweg, von der Ferne aus steuern kann?
Prinzipiell kann ich davon nur abraten, Embedded Systeme direkt ins
Internet (per Portfreigabe) zu hängen, denn das Internet ist voller
Bösewichter und dein Mikrocontroller bietet kaum Schutzmaßnahmen.
Also muss etwas schützendes dazwischen. Zum Beispiel ein Apache HTTP
Server, der nur noch simple Kommandos an deine Hardware sendet, nachdem
er sich gründlich vergewissert hat, dass der aktuelle Benutzer das auch
benutzen darf. Das heißt, dein neu erworbenes Board ist dann eben nicht
mehr ein Webserver, sondern ein ferngesteuertes Dings.
Oder du könntest ein VPN Netzwerk einrichten. Dann hast du eine
ordentliche Authentifizierung und eine verschlüsselte Verbindung von
draußen in dein Heimnetz. Wer da rein will, muss sich einen VPN Client
installieren und ein gültiges Zertifikat besitzen. Zu Hause brauchst du
als Gegenstelle einen PC (oder Raspberry Pi o.ä.) als VPN Server.
Die meisten Online Dienste kommen ohne diesen Aufwand aus, denn sie
beruhen darauf, dass alle Informationen und Kommandos auf einem
öffentlich erreichbaren (Cloud) Server abgelegt werden und von den
Endstellen regelmäßig abgerufen werden. Frage dich, ob du dem
Übertragungsprotokoll und dem Dienstleister vertraust und was wohl
passieren wird, wenn er sein Geschäft einstellt. Es wurden bereits
einige Cloud Dienste für den Betrieb von Internet Radios und
Haus-Automation eingestellt, was zum Ausfall zahlreicher Installationen
führte.
Hier würde ich eher zu einem eigenen Server bei einem Webhoster raten,
den man notfalls wechseln kann. Für ein paar Lichtschalter lohnt sich
der Aufwand jedoch nicht.
Eine eigene Frage?
Dieser Thread ist über 7 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.