Ich muss leider ganz kurz das Thema wechseln, weil sonst bekomme ich das Programm, das mir meine Daten auswertet, bis morgen nicht hin.
Die Webseite erstellt der ESP in einer Funktion so:
x, y, z sind im richtigen Code die Listen. Habe das hier nur zu Versuchszwecken nachgebaut.
Ich habe eigentlich noch nie Daten aus einer Webseite ausgelesen und teste mich gerade durch. Wenn ich versuche:
Code: Alles auswählen
import requests
print(requests.get('http://192.168.4.1').text)
auszuführen, dann erhalte ich folgenden Fehler:
Code: Alles auswählen
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 699, in urlopen
httplib_response = self._make_request(
File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 445, in _make_request
six.raise_from(e, None)
File "<string>", line 3, in raise_from
File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 440, in _make_request
httplib_response = conn.getresponse()
File "/usr/lib/python3.9/http/client.py", line 1347, in getresponse
response.begin()
File "/usr/lib/python3.9/http/client.py", line 307, in begin
version, status, reason = self._read_status()
File "/usr/lib/python3.9/http/client.py", line 289, in _read_status
raise BadStatusLine(line)
http.client.BadStatusLine: <html>[1, 2, 3] [4, 5, 6] [8, 9, 10]</html>
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/requests/adapters.py", line 439, in send
resp = conn.urlopen(
File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 755, in urlopen
retries = retries.increment(
File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 532, in increment
raise six.reraise(type(error), error, _stacktrace)
File "/usr/lib/python3/dist-packages/six.py", line 718, in reraise
raise value.with_traceback(tb)
File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 699, in urlopen
httplib_response = self._make_request(
File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 445, in _make_request
six.raise_from(e, None)
File "<string>", line 3, in raise_from
File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 440, in _make_request
httplib_response = conn.getresponse()
File "/usr/lib/python3.9/http/client.py", line 1347, in getresponse
response.begin()
File "/usr/lib/python3.9/http/client.py", line 307, in begin
version, status, reason = self._read_status()
File "/usr/lib/python3.9/http/client.py", line 289, in _read_status
raise BadStatusLine(line)
urllib3.exceptions.ProtocolError: ('Connection aborted.', BadStatusLine('<html>[1, 2, 3] [4, 5, 6] [8, 9, 10]</html>'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/dennis/Dokumente/test.py", line 3, in <module>
print(requests.get('http://192.168.4.1').text)
File "/usr/lib/python3/dist-packages/requests/api.py", line 76, in get
return request('get', url, params=params, **kwargs)
File "/usr/lib/python3/dist-packages/requests/api.py", line 61, in request
return session.request(method=method, url=url, **kwargs)
File "/usr/lib/python3/dist-packages/requests/sessions.py", line 542, in request
resp = self.send(prep, **send_kwargs)
File "/usr/lib/python3/dist-packages/requests/sessions.py", line 655, in send
r = adapter.send(request, **kwargs)
File "/usr/lib/python3/dist-packages/requests/adapters.py", line 498, in send
raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', BadStatusLine('<html>[1, 2, 3] [4, 5, 6] [8, 9, 10]</html>'))
Das erhalte ich auch, wenn ich es unter Windows probiere und wenn ich es mir 'urllib' versuche, erhalte ich auch den 'BadStatusLine'.
Da meint wohl jemand, dass die Webseit-Daten keinen Sinn ergeben und deswegen der Fehler kommt. Ich habe dann auch schon gelesen, das es an 'http' liegen könnte.
Wie müsste ich die Webseite denn aufbauen, damit die für 'requests' Sinn macht.
Ich habe eine Vorlage gefunden und die Seite danach erstellt:
Code: Alles auswählen
def web_page():
return """ <html lang="de">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Titel der Seite | Name der Website</title>
</head>
<body>
<!-- Sichtbarer Dokumentinhalt im body -->
<p>{} {} {}</p>
</body>
</html>""".format(x, y, z)
Dann kommt wieder der Fehler:
Code: Alles auswählen
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 699, in urlopen
httplib_response = self._make_request(
File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 445, in _make_request
six.raise_from(e, None)
File "<string>", line 3, in raise_from
File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 440, in _make_request
httplib_response = conn.getresponse()
File "/usr/lib/python3.9/http/client.py", line 1347, in getresponse
response.begin()
File "/usr/lib/python3.9/http/client.py", line 307, in begin
version, status, reason = self._read_status()
File "/usr/lib/python3.9/http/client.py", line 289, in _read_status
raise BadStatusLine(line)
http.client.BadStatusLine: <html lang="de">
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/requests/adapters.py", line 439, in send
resp = conn.urlopen(
File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 755, in urlopen
retries = retries.increment(
File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 532, in increment
raise six.reraise(type(error), error, _stacktrace)
File "/usr/lib/python3/dist-packages/six.py", line 718, in reraise
raise value.with_traceback(tb)
File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 699, in urlopen
httplib_response = self._make_request(
File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 445, in _make_request
six.raise_from(e, None)
File "<string>", line 3, in raise_from
File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 440, in _make_request
httplib_response = conn.getresponse()
File "/usr/lib/python3.9/http/client.py", line 1347, in getresponse
response.begin()
File "/usr/lib/python3.9/http/client.py", line 307, in begin
version, status, reason = self._read_status()
File "/usr/lib/python3.9/http/client.py", line 289, in _read_status
raise BadStatusLine(line)
urllib3.exceptions.ProtocolError: ('Connection aborted.', BadStatusLine(' <html lang="de">\n'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/dennis/Dokumente/test.py", line 3, in <module>
print(requests.get('http://192.168.4.1').text)
File "/usr/lib/python3/dist-packages/requests/api.py", line 76, in get
return request('get', url, params=params, **kwargs)
File "/usr/lib/python3/dist-packages/requests/api.py", line 61, in request
return session.request(method=method, url=url, **kwargs)
File "/usr/lib/python3/dist-packages/requests/sessions.py", line 542, in request
resp = self.send(prep, **send_kwargs)
File "/usr/lib/python3/dist-packages/requests/sessions.py", line 655, in send
r = adapter.send(request, **kwargs)
File "/usr/lib/python3/dist-packages/requests/adapters.py", line 498, in send
raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', BadStatusLine(' <html lang="de">\n'))
Wie bekomme ich das in den Griff? Oder gibts eine ganz andere, einfachere Möglichkeit?
Vielen Dank und sorry, das ich von einem Problem zum nächsten springe.
Grüße
Dennis
Edit: Mal die Werte, die ich mit nach Hause genommen habe und manuell in Python eingetragen habe bekomme ich mit Kp = 0,003 und Ki = Kd = 0 folgendes Diagramm:
https://www.dropbox.com/s/k6f14urvgiacd ... t.png?dl=0
Wenn ich das so sehe, sollte ich die PWM-Werte vielleicht auch aufzeichnen, damit ich sehe wie der Regler eingreift.