Seite 1 von 1
Ausgabe von Werten auf einem Port
Verfasst: Samstag 9. Dezember 2017, 18:51
von Duesentrieb
Hallo,
ich möchte verschiedene Ausgaben wie z.B. Temperaturmessungen auf einem Port zur Verfügung stellen.
Also beispielsweise so wie mit dem print-Befehl, nur eben dass ich wenn ich meinen Raspberry auf einem bestimmten Port anrufe, diese Daten dort angezeigt werden.
Geht das überheupt?
Was muss ich dafür in mein vorhandenes Programm einbauen?
Danke für eure Unterstützung
Re: Ausgabe von Werten auf einem Port
Verfasst: Samstag 9. Dezember 2017, 19:08
von nezzcarth
Im einfachsten Fall kann man so was mit einem TCP-Socket machen (Python bringt schon ein Modul dafür mit; twisted wäre auch noch ein Kandidat ist hier aber vielleicht etwas überdimensioniert). Der nimmt die Verbindung an, schickt den Wert zurück und beendet die Verbindung. Wenn man etwas mehr haben (und sich nicht mit Socket Programmierung rumschlagen) möchte, läuft das daraufhinaus, dass du ein existentes Protokoll wie z.B. HTTP dafür verwenden solltest.
Re: Ausgabe von Werten auf einem Port
Verfasst: Samstag 9. Dezember 2017, 19:18
von Duesentrieb
oh, sehr gut!
Hättest du auch ein Beispiel für die TCP-Socket Lösung?
Re: Ausgabe von Werten auf einem Port
Verfasst: Samstag 9. Dezember 2017, 19:36
von __deets__
Du solltest keine eigene socket programmierung betreiben. Das geht nahezu immer in die Hose. Benutze einen der vielen verfuegbaren Webserver, inklusive des mitgelieferten wsgiref. Findet man auch alles zu in der offiziellen Doku.
Re: Ausgabe von Werten auf einem Port
Verfasst: Samstag 9. Dezember 2017, 19:38
von noisefloor
Hallo,
in der Python-Doku gibt es ein Socket HOWTO:
https://docs.python.org/3.5/howto/sockets.html
IMHO deutlich einer zu implementieren wäre aber, wenn du die Daten über HHTP und eine REST-Schnittstelle zur Verfügung stellst (welche z.B. JSON zurück liefert).
Das lässt sich z.B. mit Bottle oder Hug in < 10 Zeilen Code realisieren.
Gruß, noisefloor