Code: Alles auswählen
./python iSpindle.py
Gruß JackFrost
Code: Alles auswählen
./python iSpindle.py
Code: Alles auswählen
python iSpindle.py
Code: Alles auswählen
sudo python iSpindle.py
Einfach mal alles neben den Router legen. Also Raspi und Spindel. Dann muss er alles finden. Wenn die Karte nicht zu alt ist dann ist nicht kaputt.panpat hat geschrieben: ↑Dienstag 10. März 2020, 20:36 Okay das probier ich aus.
Mir ist noch folgendes durch den Kopf, könnte es an einem der drei Faktoren liegen:
Netzteil (ev. etwas schwach, wobei der gelbe Blitz erscheint nicht), SD Karte (schon länger her, weiss nicht mehr welche Class die hat) und der schwache WLAN Empfang (wir kaufen noch einen Signalverstärker)
Code: Alles auswählen
sudo top
Code: Alles auswählen
pi@raspberrypi:~/iSpindel-Srv $ sudo python iSpindle.py
Traceback (most recent call last):
File "iSpindle.py", line 645, in <module>
main()
File "iSpindle.py", line 634, in main
serversock.bind(ADDR)
File "/usr/lib/python2.7/socket.py", line 228, in meth
return getattr(self._sock,name)(*args)
socket.error: [Errno 99] Cannot assign requested address
pi@raspberrypi:~/iSpindel-Srv $
Ja , einfach im Terminal eingeben.
Code: Alles auswählen
pi@raspberrypi:~ $ fuser -v 9501/tcp
pi@raspberrypi:~ $ sudo service ispindle-srv stop
pi@raspberrypi:~ $ fuser -v 9501/tcp
pi@raspberrypi:~ $ fuser -v 9501/tcp
pi@raspberrypi:~ $ sudo python iSpindle.py
python: can't open file 'iSpindle.py': [Errno 2] No such file or directory
pi@raspberrypi:~ $ cd /home/pi/iSpindel-Srv
pi@raspberrypi:~/iSpindel-Srv $ sudo python iSpindle.py
Traceback (most recent call last):
File "iSpindle.py", line 645, in <module>
main()
File "iSpindle.py", line 634, in main
serversock.bind(ADDR)
File "/usr/lib/python2.7/socket.py", line 228, in meth
return getattr(self._sock,name)(*args)
socket.error: [Errno 99] Cannot assign requested address
pi@raspberrypi:~/iSpindel-Srv $ fuser -v 9501/tcp
pi@raspberrypi:~/iSpindel-Srv $
Code: Alles auswählen
Traceback (most recent call last):
File "test.py", line 645, in <module>
main()
File "test.py", line 635, in main
serversock.bind(ADDR)
File "/usr/lib64/python2.7/socket.py", line 228, in meth
return getattr(self._sock,name)(*args)
socket.error: [Errno 98] Address already in use
Hallo, ich war ein paar Tage unterwegs. Läuft das jetzt? Ich kann das bei mir leider nicht nachvollziehen. Hast du für alle SPindeln kalibrierdaten in der Datenbank? ggf könntest du die Datentabelle und vielleicht noch die Kalibrierung als sql speichern und ich könnte es bei mir mal testen.Midyr hat geschrieben: ↑Montag 2. März 2020, 20:22 Ahhh,
es ging nicht um eine Email Adresse, sondern um die IP von eth0(ich habe aber br0)
Jetzt bekomme ich wieder:Code: Alles auswählen
python2.7[3997441]: Email function for iSpindel000:1 python2.7[3997441]: unsupported operand type(s) for *: 'float' and 'NoneType' python2.7[3997441]: Spindledata availabile for at least one device python2.7[3997441]: Try to send status email python2.7[3997441]: Prepare Email content for status email python2.7[3997441]: (<type 'exceptions.KeyError'>, 'sendmail.py', 509)
Per Monitor, Maus und Tastatur direkt am RaspbyJackFrost hat geschrieben: ↑Mittwoch 11. März 2020, 07:16 Der Server läuft lokal , dem ist es egal wie der wlan Empfang ist.
MySQL braucht es für den Server und die Darstellung.
PHP für die Darstellung.
Wenn du mit phpmyadmin auf die DB kommst ist alles installiert.
Bist du per SSH auf dem Raspi oder per Minitor und Tastatur ?
Gruß JackFrost
Hi,mrhyde hat geschrieben: ↑Mittwoch 11. März 2020, 07:47Hallo, ich war ein paar Tage unterwegs. Läuft das jetzt? Ich kann das bei mir leider nicht nachvollziehen. Hast du für alle SPindeln kalibrierdaten in der Datenbank? ggf könntest du die Datentabelle und vielleicht noch die Kalibrierung als sql speichern und ich könnte es bei mir mal testen.Midyr hat geschrieben: ↑Montag 2. März 2020, 20:22 Ahhh,
es ging nicht um eine Email Adresse, sondern um die IP von eth0(ich habe aber br0)
Jetzt bekomme ich wieder:Code: Alles auswählen
python2.7[3997441]: Email function for iSpindel000:1 python2.7[3997441]: unsupported operand type(s) for *: 'float' and 'NoneType' python2.7[3997441]: Spindledata availabile for at least one device python2.7[3997441]: Try to send status email python2.7[3997441]: Prepare Email content for status email python2.7[3997441]: (<type 'exceptions.KeyError'>, 'sendmail.py', 509)
Gruß,
Alex
ok,
Hallo Alex,mrhyde hat geschrieben: ↑Mittwoch 11. März 2020, 21:21ok,
ich habe die Daten mal in meine Testumgebung geladen und bekomme auch den Fehler. Ich schaue mir das mal an. Wird aber ein paar Tage dauern.
Ist aber sicher lösbar :-)
Edit:
Auf die schnelle scheint das Problem daran zu liegen, dass du nur eine Spindel in der DB hast. Dann behandelt das script die lSpindleID als Zahl. Bei mehreren Spindeln (wie bei mir) wird das ganze wohl als string ins array geschrieben und es funktioniert. Ein schnelltest bei mir löst das Problem. ICh muss mir das aber noch einal im Detail ansehen um nicht woanders Probleme zu verursachen.
Edit2:
Hier mal eine Testversion. Ich bekomme keine Fehlermeldung mehr und eine Mail.
sendmail.zip
Gruß,
Alex
Das ist schon einmal gut. Das Thema zur Ermittlung der IP Adresse (br0 vs. eth0) habe ich mir auch angesehen. Ich habe hier eine andere Routine implementiert, die zu funktionieren scheint. Sie sollte unabhängig vom System sein und hat keine zusätzlichen Abhängigkeiten.
3er ModelB
Super, ich von heute morgen schon wieder auf die Fehlermeldung rein gefallenmrhyde hat geschrieben: ↑Donnerstag 12. März 2020, 09:58Das ist schon einmal gut. Das Thema zur Ermittlung der IP Adresse (br0 vs. eth0) habe ich mir auch angesehen. Ich habe hier eine andere Routine implementiert, die zu funktionieren scheint. Sie sollte unabhängig vom System sein und hat keine zusätzlichen Abhängigkeiten.
Ich werde das heute Abend auch noch bereitstellen. Wenn dass dann funktioniert, werde ich das file auch in meinem Repo aktualisieren.
Gruß,
Alex
So, im Anhang eine modifizierte Version mit anderer Routine zur ermittlung der primären IP Adresse: Bitte mal testen und melden, ob es klappt. Dann kann ich diese Version in mein Repo hochladen.
Theoretisch reicht es das Image von Tozzi per Etcher auf die SD-Karte zu schreiben.OS-Schlingel hat geschrieben: ↑Donnerstag 12. März 2020, 14:41 Hallo zusammen,
ich habe mal versucht, mich als Nichtprogrammierer durch den Tröd zu lesen.
Dabei habe ich mich gefragt, ob es nicht eine einfache Möglichkeit des Erwerbs eines programmierten Raspberry gibt.
Ist so etwas möglich oder bietet jemand das als Dienstleistung an?? Gerne auch PN an mich
Gruß
Stephen
Eher nicht.
Betriebsystem Raspian, aber frag mich nicht welche Version. Wie kann ich die abfragen?JackFrost hat geschrieben: ↑Donnerstag 12. März 2020, 17:39Eher nicht.
Welches Raspberian hast du drauf ?
Ich könnte dir den Brewserver ( der Server hier als C++ ) schicken.
Ich muss nur prüfen was alles installiert sein muss.
Hast du eine Verbindung vom Raspi zum Router ? Kannst du ihn pingen ?
Ich hab hier auf beiden Raspis Gentoo.
Gruß JackFrost
Danke für die Rückmeldung. Habe es in meinem Repo aktualisiert.
Da ich bei mir auf C++ umstellen, denke ich ist das Repo für den TCP-Server bei Midyr besser aufgehoben.Tozzi hat geschrieben: ↑Dienstag 17. März 2020, 21:15 Habt Ihr Euch auf ein Repo geeinigt, wo das künftig "zuhause" sein soll?
Ich würde dann Interimsweise schon mal da drauf verlinken, und ankündigen, dass das dann das offizielle Repo wird.
Vorher schau ich auch nochmal selber über alles.
Ich werde das Projekt leider auch künftig erst mal nicht weiter pflegen können. Leider.
Hi,JackFrost hat geschrieben: ↑Dienstag 17. März 2020, 22:39 Dein Server läuft doch super und wenn jemand das auf Pyhton 3.x setzt ist die zukunft erstmal gesichert.
Ich muss am Raspi 1 mal ein Rasperian aufsetzen damit ich schauen kann welche Pakete für meine Version gebraucht werden.
Dann würde der als Backup auch bei allen laufen.
Danke nochmal für deine Arbeit hier. Lokal ist das besser als bei Ubidots :)
Ich hab sogar mein Smartmeter auf dem Server
Da kann man schauen ob beim Brauen 3 kW oder nur 2,7 kW gehen
Gruß JackFrost
Testen könnte ich es. Bei mir läuft gerade eine Gärung und ich könne mir Debian X64 in einem Container auf meiner NAS installieren. Ich würde dann die Daten von meinem jetzigen System an den Container forwarden.JackFrost hat geschrieben: ↑Mittwoch 18. März 2020, 23:03 Ich hab den Server auf Debain Buster auf einer virtuellen x64 Maschine getestet.
Es braucht drei dev libs. Aber der Server läuft dann.
Die Config ist ein einer Datei und kann aktuell über die Webseite nicht geändert werden.
Auch ein start/stop script hab ich noch nicht. Aktuell läuft der Server bei mir in einem Screen.
Hat jemand interesse die C++ Variante zu testen ?
Gruß JackFrost
Der Server selber kann nur in MySQL schreiben und an Ubidots weiterleiten. Die Option MySQL ist in der Config vorhanden, wird aber noch ignoriert.mrhyde hat geschrieben: ↑Donnerstag 19. März 2020, 19:42Testen könnte ich es. Bei mir läuft gerade eine Gärung und ich könne mir Debian X64 in einem Container auf meiner NAS installieren. Ich würde dann die Daten von meinem jetzigen System an den Container forwarden.JackFrost hat geschrieben: ↑Mittwoch 18. März 2020, 23:03 Ich hab den Server auf Debain Buster auf einer virtuellen x64 Maschine getestet.
Es braucht drei dev libs. Aber der Server läuft dann.
Die Config ist ein einer Datei und kann aktuell über die Webseite nicht geändert werden.
Auch ein start/stop script hab ich noch nicht. Aktuell läuft der Server bei mir in einem Screen.
Hat jemand interesse die C++ Variante zu testen ?
Gruß JackFrost
Gruß,
Alex
Code: Alles auswählen
/etc/conf.d/brewserver/
Code: Alles auswählen
#database info
---
dbuser:
dbpasswd:
db:
dbhost: localhost
#general config
server_port: 9501
debug_enable: 1
#MySQL config
mysql_enable: 1
#Ubidots
ubidots_enable_iSpindle: 0
ubidots_enable_eManometer: 0
ubidots_token:
Code: Alles auswählen
cat /etc/os-release
Hallo Jack,JackFrost hat geschrieben: ↑Mittwoch 18. März 2020, 23:03 Ich hab den Server auf Debain Buster auf einer virtuellen x64 Maschine getestet.
Es braucht drei dev libs. Aber der Server läuft dann.
Die Config ist ein einer Datei und kann aktuell über die Webseite nicht geändert werden.
Auch ein start/stop script hab ich noch nicht. Aktuell läuft der Server bei mir in einem Screen.
Hat jemand interesse die C++ Variante zu testen ?
Gruß JackFrost
Ich hab auch Gentoo :)Midyr hat geschrieben: ↑Samstag 21. März 2020, 17:32Hallo Jack,JackFrost hat geschrieben: ↑Mittwoch 18. März 2020, 23:03 Ich hab den Server auf Debain Buster auf einer virtuellen x64 Maschine getestet.
Es braucht drei dev libs. Aber der Server läuft dann.
Die Config ist ein einer Datei und kann aktuell über die Webseite nicht geändert werden.
Auch ein start/stop script hab ich noch nicht. Aktuell läuft der Server bei mir in einem Screen.
Hat jemand interesse die C++ Variante zu testen ?
Gruß JackFrost
gibt's deinen Server irgendwo als Repo?
Da ich keinen Raspi, sondern einen normalen Gentoo-Server nutze, passt dein weiter unten gepostete Paktel leider nicht, bekomme es aber vll mit selbst kompilieren hin.
Gruß
Midyr
Code: Alles auswählen
dev-cpp/yaml-cpp
net-misc/curl
dev-db/mariadb-connector-c