iSpindel - lokaler Server (erste Überlegungen)

Re: iSpindel - lokaler Server (erste Überlegungen)

Post Nr.:#101  Beitragvon Terlon » Montag 9. Januar 2017, 14:57

universam hat geschrieben:
Seed7 hat geschrieben:In allen faellen gibt es eins dass mann braucht, eine html/jscript/css datei fuer die graphik und einen einfachen webserver der Server Side Events versteht um die daten pseudo-real-time vom server zum browser zu "pushen".
Zu relationelle DB's, da wir nur etwa 2000 datenpunkte pro sued haben sind die problemlos in der konventionellen weise zu nuetzen, als einen datenpunkt pro zeile (index). Interessanter ist es aber um eine database zu benuetzen die SQL ARRAY versteh (PostgreSQL, Oracle)


Richtig, und das bekommst du frei Haus mit z.B. der Suite Thingspeak lokal auf den Raspi (relationale MySQL DB, ws API to query etc.) ohne dass du das selbst implementieren musst. Deren GUI ist doch erst einmal zweitrangig.

Soll ja nur eine Anregung sein um sich tagelange Arbeit zu sparen, aber Hey wenn's Spass macht :Bigsmile
Gruß Sam


Dann werde ich mir ThingSpeak mal auf dem Pi installieren und es damit ausprobieren.
Gruß
Olli
*******
Ich braue nicht nach dem RHG, aber ohne Chemie!
Benutzeravatar
Terlon
Posting Klettermax
Posting Klettermax
 
Beiträge: 158
Registriert: Samstag 13. Juni 2015, 19:52

Re: iSpindel - lokaler Server (erste Überlegungen)

Post Nr.:#102  Beitragvon Tozzi » Montag 9. Januar 2017, 18:02

Danke für den Tipp mit Thingspeak. Werde ich sicherlich mal ausprobieren.
Mir geht es aber in erster Linie darum, eine möglichst schlanke, einfach zu installierende und plattformunabhängige Lösung zu haben, die man nicht mehr groß konfigurieren muss, da sie auf die iSpindel zugeschnitten ist.
Das dürfte ja kein Hexenwerk sein.

Was mir vorschwebt, ist ein wirklich kleines Python Skript, welches auf dem TCP Socket lauscht, ohne http oder ähnlichen Ballast, und die Daten in eine Tabelle schreibt (SQLite oder MySQL).
Das kann man dann auf dem Raspberry installieren, oder auf einem gemieteten Server, oder wo auch immer.
Dazu dann ein .NET Excel Add-In, zur Visualisierung auf dem Desktop. Ich stelle das dann zur Verfügung, und jeder der will kann sich dran austoben. :Wink
Viele Grüße aus München
Stephan
Benutzeravatar
Tozzi
Posting Freak
Posting Freak
 
Beiträge: 1009
Registriert: Dienstag 23. Februar 2016, 00:17
Wohnort: München

Re: iSpindel - lokaler Server (erste Überlegungen)

Post Nr.:#103  Beitragvon Terlon » Dienstag 10. Januar 2017, 13:04

Tozzi hat geschrieben:Danke für den Tipp mit Thingspeak. Werde ich sicherlich mal ausprobieren.
Mir geht es aber in erster Linie darum, eine möglichst schlanke, einfach zu installierende und plattformunabhängige Lösung zu haben, die man nicht mehr groß konfigurieren muss, da sie auf die iSpindel zugeschnitten ist.
Das dürfte ja kein Hexenwerk sein.

Was mir vorschwebt, ist ein wirklich kleines Python Skript, welches auf dem TCP Socket lauscht, ohne http oder ähnlichen Ballast, und die Daten in eine Tabelle schreibt (SQLite oder MySQL).
Das kann man dann auf dem Raspberry installieren, oder auf einem gemieteten Server, oder wo auch immer.
Dazu dann ein .NET Excel Add-In, zur Visualisierung auf dem Desktop. Ich stelle das dann zur Verfügung, und jeder der will kann sich dran austoben. :Wink


Hi Tozzi,
das finde ich gut. Lokaler Server als AP mit Statischer IP ist kein Problem, dann nur noch dein Skript......

Ich hab gestern mein Pi neu aufgesetzt und angefangen ThingSpeak zu installieren. Das dauert und geht nicht ohne Fehlermeldungen und Problembehandlung ab. Jedenfalls bei mir.
Mal sehen ob's klappt.
Gruß
Olli
*******
Ich braue nicht nach dem RHG, aber ohne Chemie!
Benutzeravatar
Terlon
Posting Klettermax
Posting Klettermax
 
Beiträge: 158
Registriert: Samstag 13. Juni 2015, 19:52

Re: iSpindel - lokaler Server (erste Überlegungen)

Post Nr.:#104  Beitragvon kabelbrand » Dienstag 10. Januar 2017, 13:24

kabelbrand hat geschrieben:Mahlzeit zusammen,

nach nun 2 Tagen Installation ist der Thingspeak-Server fertig :puzz Haken an der Sache ist, dass ich den Server auf einem Raspi der ersten Stunde gemacht habe,
um möglichst kompatibel zu sein. Dann gab es Probleme mit einigen Features und schon sitzt man da zwei Tage dran.

Eine Sache habe ich nicht lösen können, den Autostart des TS-Dienstes. Vielleicht kann das ja jemand rausbekommen oder wir freuen uns einfach auf die Implementierung
in CBP :thumbsup Nach dem Start muss man sich anmelden und dann cd thingspeak eingeben. Dort dann ./run.sh und schon rennt der Hase.

Ich habe für alle Passwörter raspberry verwendet, wer will, kann diese natürlich ändern. Für den internen Hausgebrauch allerdings IMHO unnötig.

Im Browser dann http://IP-des-Raspi:3000 eingeben und schon erscheint die Weboberfläche. Ich habe den Dienst selbst noch nicht angerührt, man muss sich also als User
anlegen, etc.

Das Image passt auf eine 4GB Karte und kann ab ca. 16:30 Uhr runtergeladen werden:

http://embeh.de/hobbybrauer/thingspeak_server.img

Viele Grüße
Markus


Irgendwer hat sich da schon mal die Mühe gemacht und ein fertiges Image für den Raspi erstellt :puzz

Grüße
Markus
kabelbrand
Posting Junior
Posting Junior
 
Beiträge: 30
Registriert: Donnerstag 6. Oktober 2016, 12:57

Re: iSpindel - lokaler Server (erste Überlegungen)

Post Nr.:#105  Beitragvon Terlon » Dienstag 10. Januar 2017, 14:10

Hi Kabelbrand,

hatte ich gelesen und irgendwie am Ende der Post's wieder verdrängt. :Ahh
Hast du mittlerweile Erfahrungen damit gesammelt?
Gruß
Olli
*******
Ich braue nicht nach dem RHG, aber ohne Chemie!
Benutzeravatar
Terlon
Posting Klettermax
Posting Klettermax
 
Beiträge: 158
Registriert: Samstag 13. Juni 2015, 19:52

Re: iSpindel - lokaler Server (erste Überlegungen)

Post Nr.:#106  Beitragvon kabelbrand » Dienstag 10. Januar 2017, 17:38

Hi Olli,

nö, das hatte ich nur auf Wunsch mal zusammengebaut. Ich nutze Ubidots. Das genügt mir absolut. Ich hab die Spindel nicht geeicht, da mich nur interessiert, wann der Gärprozess durch ist.
Mehr will ich von der Spindel gar nicht wissen. Mir geht es darum, den Sud während der Gärung nicht öffnen zu müssen. Und das klappt bisher prima :thumbup Natürlich wird auch noch
gemessen, aber eben nur so spät wie möglich.

Grüße
Markus
kabelbrand
Posting Junior
Posting Junior
 
Beiträge: 30
Registriert: Donnerstag 6. Oktober 2016, 12:57

Re: iSpindel - lokaler Server (erste Überlegungen)

Post Nr.:#107  Beitragvon Terlon » Mittwoch 11. Januar 2017, 09:00

kabelbrand hat geschrieben:Hi Olli,

nö, das hatte ich nur auf Wunsch mal zusammengebaut. Ich nutze Ubidots. Das genügt mir absolut. Ich hab die Spindel nicht geeicht, da mich nur interessiert, wann der Gärprozess durch ist.
Mehr will ich von der Spindel gar nicht wissen. Mir geht es darum, den Sud während der Gärung nicht öffnen zu müssen. Und das klappt bisher prima :thumbup Natürlich wird auch noch
gemessen, aber eben nur so spät wie möglich.

Grüße
Markus


Hi Markus,

hast eine PN für Detailfragen.

Gruß
Olli
Gruß
Olli
*******
Ich braue nicht nach dem RHG, aber ohne Chemie!
Benutzeravatar
Terlon
Posting Klettermax
Posting Klettermax
 
Beiträge: 158
Registriert: Samstag 13. Juni 2015, 19:52

Re: iSpindel - lokaler Server (erste Überlegungen)

Post Nr.:#108  Beitragvon Seed7 » Mittwoch 11. Januar 2017, 09:40

Tozzi hat geschrieben:Was mir vorschwebt, ist ein wirklich kleines Python Skript, welches auf dem TCP Socket lauscht, ohne http oder ähnlichen Ballast, und die Daten in eine Tabelle schreibt (SQLite oder MySQL).
Das kann man dann auf dem Raspberry installieren, oder auf einem gemieteten Server, oder wo auch immer.
Dazu dann ein .NET Excel Add-In, zur Visualisierung auf dem Desktop. Ich stelle das dann zur Verfügung, und jeder der will kann sich dran austoben. :Wink


Koenntest auch gleich eine .csv datei mit Python schreiben fuer excel,

ingo
"Wabi-Sabi" braucht das Bier.
Benutzeravatar
Seed7
Posting Freak
Posting Freak
 
Beiträge: 2703
Registriert: Dienstag 2. April 2013, 18:28

Re: iSpindel - lokaler Server (erste Überlegungen)

Post Nr.:#109  Beitragvon tommy020 » Mittwoch 11. Januar 2017, 10:21

Hi,

ich würde, wenn das https://github.com/universam1/iSpindel/issues/15 durch ist, eine App für Splunk bauen.
Splunk hat den Vorteil das es universell einsetzbar ist und auch andere Daten verarbeiten kann. (bei mir bspweise: heizung, Fritzbox, Anwesenheit, Leistung PV..)
Weiter könnte man auch per predict den Zeitpunkt der Abfüllung versuchen "vorherzusagen".
Allerdings sind die Hardwareanforderungen etwas höher (bei mir läuft es auf: Intel(R) Atom(TM) CPU 330 @ 1.60GHz mit 2GB)

grüße,
-tommy020
tommy020
Posting Junior
Posting Junior
 
Beiträge: 52
Registriert: Freitag 24. Mai 2013, 08:43

Re: iSpindel - lokaler Server (erste Überlegungen)

Post Nr.:#110  Beitragvon Tozzi » Mittwoch 11. Januar 2017, 18:16

Seed7 hat geschrieben:Koenntest auch gleich eine .csv datei mit Python schreiben fuer excel

Genau so hab ich das vor. :Smile
Viele Grüße aus München
Stephan
Benutzeravatar
Tozzi
Posting Freak
Posting Freak
 
Beiträge: 1009
Registriert: Dienstag 23. Februar 2016, 00:17
Wohnort: München

Re: iSpindel - lokaler Server (erste Überlegungen)

Post Nr.:#111  Beitragvon Seed7 » Mittwoch 11. Januar 2017, 20:12

Stimmt unterstehendes noch um eine iSpindel mit curl zu simulieren fuer universal HTTP?

Code: Alles auswählen
curl -X POST -H "Content-Type: application/json" -d '{"name": "iSpindel01", "temperature": 20.5, "angle": 89.5, "battery": 84}' http://YOURSERVER:PORT/api/v1/json


Ingo
"Wabi-Sabi" braucht das Bier.
Benutzeravatar
Seed7
Posting Freak
Posting Freak
 
Beiträge: 2703
Registriert: Dienstag 2. April 2013, 18:28

Re: iSpindel - lokaler Server (erste Überlegungen)

Post Nr.:#112  Beitragvon universam » Mittwoch 11. Januar 2017, 20:25

Ja das könnte so aussehen.
iSpindel - die DIY elektronische Spindel
Brauhelferlein - die mini Brausteuerung
universam
Posting Klettermax
Posting Klettermax
 
Beiträge: 262
Registriert: Dienstag 20. September 2016, 16:43
Wohnort: Selters

Re: iSpindel - lokaler Server (erste Überlegungen)

Post Nr.:#113  Beitragvon Seed7 » Mittwoch 11. Januar 2017, 21:46

ok, danke
"Wabi-Sabi" braucht das Bier.
Benutzeravatar
Seed7
Posting Freak
Posting Freak
 
Beiträge: 2703
Registriert: Dienstag 2. April 2013, 18:28

Re: iSpindel - lokaler Server (erste Überlegungen)

Post Nr.:#114  Beitragvon Tozzi » Samstag 14. Januar 2017, 21:36

So, eine erste funktionierende Version des Skriptes habe ich jetzt fertig.
Vielen Dank an Sam, der die Firmware der Spindel entsprechend erweitert hat.

Die Testversion der Firmware ist hier zu finden:
https://github.com/universam1/iSpindel/ ... .3.6.0.bin

Das Python Skript ist sehr einfach gehalten und kann leicht auf eigene Bedürfnisse angepasst werden.
Es "lauscht" auf einem TCP Port und schreibt die Daten dann in eine CSV Datei, die z.B. in Excel eingelesen werden kann.
Für meine Zwecke reicht das erst mal. Meine Devise war erst mal "keep it simple".
Weitere Sachen wie Datenbank Anbindung etc. kann man ja immer noch einbauen.
Jeder der mag ist herzlich eingeladen das Skript zu verbessern.

Zur Konfiguration muss man das Skript in einem Editor öffnen und dann die folgenden Zeilen anpassen:
Code: Alles auswählen
DEBUG = 1                               # Set to 1 to enable debug output on console
PORT = 9501                             # TCP Port to listen to
OUTPATH = '/media/usb0/iSpindel/csv/'   # CSV output file path
DELIMITER = ';'                         # CSV delimiter (use ; for Excel)
NEWLINE='\r\n'                          # newline (\r\n for windows clients)
DATETIME = 1                            # Set to 1 to enable appending of Excel compatible timestamp to CSV file


Außer dem Pfad zur CSV Datei braucht man da eigentlich nichts zu ändern, normalerweise.
Wenn das Verzeichnis im Netzwerk freigegeben ist, kann man die Daten direkt in Excel etc. importieren.
Der Name der CSV Datei ist SpindelName_SpindelID.csv, d.h. jede Spindel schreibt in eine eigene Datei.

Danach kann man das Skript einfach starten.
Unter Linux am besten einfach ausführbar machen (chmod 755 iSpindle.py).
Ansonsten halt "python iSpindle.py".

In der Konfiguration der Spindel Firmware gibt es jetzt einen Punkt "TCP".
Dort den Port (9501) und die IP Adresse des Servers eintragen und wie gehabt Update-Intervall etc.

Über Rückmeldungen (PN) würde ich mich freuen; vor allem würde ich gerne einschätzen, wie viel Interesse daran eigentlich besteht und in welche Richtung wir das ggf. weiter ausbauen sollten.

iSpindle.py.zip
Python Skript iSpindle
(1.69 KiB) 4-mal heruntergeladen


//Nachtrag:
Das Ganze ist natürlich momentan noch ausschließlich zum Testen gedacht.
Es kann sich jederzeit noch was ändern. Aber meine ersten Tests haben geklappt.
Viele Grüße aus München
Stephan
Benutzeravatar
Tozzi
Posting Freak
Posting Freak
 
Beiträge: 1009
Registriert: Dienstag 23. Februar 2016, 00:17
Wohnort: München

Re: iSpindel - lokaler Server (erste Überlegungen)

Post Nr.:#115  Beitragvon Tozzi » Donnerstag 19. Januar 2017, 06:09

Wow, 2 Downloads. RIesen Feedback. :P
Kann's Euch nicht verdenken, denn momentan ist das ja alles noch weniger als unvollständig.

Aber es ist dennoch Zeit für ein kleines Update:
Ich habe nochmal eine Nachtschicht eingelegt und das Skript erweitert.

Es schreibt jetzt wahlweise auch in eine MySQL Datenbank.
Im nächsten Schritt implementiere ich dann noch eine ubidots Schnittstelle; dann muss man keine entweder-oder Entscheidung mehr treffen.
Geht dann alles über eine einzige Verbindung.
Danach gibt's erst mal eine Lösung für Excel zum Visualisieren, und irgendwann vllt. sogar eine iOS App.

Da der Zeitraum, in dem die iSpindel aktiv Daten sendet, so doch deutlich reduziert wird, sollte sich eine eventuell sogar drastisch verlängerte Akku Laufzeit ergeben (gegenüber ubidots zumindest).
Dann können kürzere Intervalle eingestellt werden. Oder man überwacht ein Lambic. :Smile

Nächste Woche braue ich nochmal ein Doppelnelson, mit gestrippter Dupont Hefe (die sich gerade großartig entwickelt) und der Leihspindel, die Herbert mir dankenswerterweise zur Verfügung gestellt hat.
Wird dann der Praxis Test.
Schaun'g mer mal dann seh'mer's schon.
Viele Grüße aus München
Stephan
Benutzeravatar
Tozzi
Posting Freak
Posting Freak
 
Beiträge: 1009
Registriert: Dienstag 23. Februar 2016, 00:17
Wohnort: München

Re: iSpindel - lokaler Server (erste Überlegungen)

Post Nr.:#116  Beitragvon Seed7 » Donnerstag 19. Januar 2017, 09:01

Hatte es mir schon angesehen, da aber noch keine Spindel ... Habe mir gefragt ob select nicht hilfreich waere und warum du nicht die standard logging von Python nuetzt.

Hebe selber eine kleine loesung mit CherryPy gebasteld, eine POST methode empfaengt die daten und schickt die zum PostgreSQL database. Ueber das Listen/Notify von PG kommt ein signal mit den letzten daten als JSON auf dem bus von CherryPy und die schickt es wieder ueber SSE zu eine webpage. Alles push.
Ich kann es auch mit zwei webserver machen und eine fuer nur empfangen von daten einrichten und einen nur zum publizieren, PostgreSQL ist dann das bindeglied.

Ingo
"Wabi-Sabi" braucht das Bier.
Benutzeravatar
Seed7
Posting Freak
Posting Freak
 
Beiträge: 2703
Registriert: Dienstag 2. April 2013, 18:28

Vorherige

Zurück zu Gärung / Abfüllung / Reifung

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste