Python mit ESP8266 Relais

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Gandy
User
Beiträge: 1
Registriert: Sonntag 24. Oktober 2021, 11:38

Hallo und einen schönen Tag an alle.
Zuerst einmal bin ich was Python angeht ein absoluter Neuling.
Aber zu meinem Problem.
Ich habe ein ESP8266 mit Relais so programiert das ich es über WLAN ansteuern kann.
"xxx.xxx.xxx.xxx"/H schaltet das relais ein und gibt H als Wert zurück
"xxx.xxx.xxx.xxx"/L schaltet das Relais aus und gibt L als Wert zurück.
Nun möchte ich das ganze über einen Raspberry per Python Script steuern.

Das Script sieht folgendermassen aus.
-----------------------------------------------------------
import socket
TCP_IP = 'xxx.xxx.xxx.xxx'
TCP_PORT = 80
BUFFER_SIZE = 1024
MESSAGE = "H"
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((TCP_IP, TCP_PORT))
s.send(MESSAGE)
data = s.recv(BUFFER_SIZE)
s.close()
------------------------------------------------------------
Beim ausführen des Scriptes über Windows Python 3.9 bekomme ich folgende Fehlermeldung:
-----------------------------------------------------------
============================= RESTART: D:/TEST_2.py ============================
Traceback (most recent call last):
File "D:/TEST_2.py", line 7, in <module>
s.connect((TCP_IP, TCP_PORT))
ConnectionRefusedError: [WinError 10061] Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte
>>>
----------------------------------------------------------
Was mache ich da falsch ?
__deets__
User
Beiträge: 14541
Registriert: Mittwoch 14. Oktober 2015, 14:29

Falsche IP, oder falscher Port, oder unerreichbar. Viel mehr man da nicht sagen.

Der nächste Fehler lauert aber schon: Port 80 und deine Beschreibung legen nahe, dass du deinen ESP per HTTP ansprechen musst. Machst du aber nicht. Du kannst das für sowas simples auch direkt über einen socket machen, aber da Python schon direkt mit der urllib kommt, würde ich die benutzen.
Antworten