Meld dich bitte mal wollte heute nochmal nen Versuch starten
Kostenlose Poolsteuerung mit dem Raspberry Pi: Veröffentlichung
Du wolltest schon immer wissen, was ein Pool kostet? Hier gibts alle Infos -> Ein Überblick über alle anfallenden Kosten beim Poolbau
-
-
Ich bin hier !
-
Gut,
Machen wir mal bei post 39 weiter.
Wo muss ich da auf welchem Gerät hinn?
Gruss
Thomas
-
Im Ordner /config muss die Datei angelegt werden.
-
-
Da musst Du einfach mal schauen, das wäre zu lang, um das hier zu erklären. Gibt aber unzählige Tutorials im Netz, z.B. dieses https://andyfelong.com/2019/01…pberry-pi-3-with-caveats/
Wie gesagt: Wenn der Raspi am Internet hängt, tuts auch 'ne DB von Mlab.
-
Ok,
Dann wirds wohl keine Poolsteuerung..
Doch ein zweiter Reifeschrank..
Dafür reichen meine Kennnisse nicht aus..
Ansonsten falls du ein irgendwann ein image file ziehen kannst kannst du dich ja noch mal melden.
Falls noch we nen Touch und Sensoren braucht bitte melden.
Gruss
Thomas
-
Moin Thomas,
das mit dem Image-File bekommen wir sicherlich hin. Aktuell bin ich aber ziemlich eingebunden beruflich, melde mich die Tage per PN bei Dir
-
Hi Tammo,
die Poolsteuerung sieht ja sehr vielversprechend aus.
Da ich eh noch zwei 3er Raspberries hier rumliegen habe und einen neuen Pool mit etwas mehr Technik, wollte ich mich daran versuchen.
Leider bekomme ich das Frontend nicht ans laufen...
Code
Display More# ng build Your global Angular CLI version (9.1.9) is greater than your local version (9.1.3). The local Angular CLI version is used. To disable this warning use "ng config -g cli.warnings.versionMismatch false". Warning: Entry point 'angular-highcharts' contains deep imports into '/root/poolarino_poolcontrol-master/angular-src/node_modules/highcharts/highmaps', '/root/poolarino_poolcontrol-master/angular-src/node_modules/highcharts/highstock'. This is probably not a problem, but may cause the compilation of entry points to be out of order. chunk {main} main.js, main.js.map (main) 637 bytes [initial] [rendered] chunk {polyfills} polyfills.js, polyfills.js.map (polyfills) 154 kB [initial] [rendered] chunk {polyfills-es5} polyfills-es5.js, polyfills-es5.js.map (polyfills-es5) 554 kB [initial] [rendered] chunk {runtime} runtime.js, runtime.js.map (runtime) 6.15 kB [entry] [rendered] chunk {scripts} scripts.js, scripts.js.map (scripts) 137 kB [entry] [rendered] chunk {styles} styles.js, styles.js.map (styles) 526 kB [initial] [rendered] Date: 2020-06-22T11:50:05.501Z - Hash: 66cf42b13419baaa0c75 - Time: 16732ms ERROR in Could not resolve module ./data/inventory/inventory.module relative to app/components/software/software-routing.module.ts
Wenn ich den Testserver starten möchte, sieht es relativ vielversprechend aus, ...
Code
Display More# ng serve Your global Angular CLI version (9.1.9) is greater than your local version (9.1.3). The local Angular CLI version is used. To disable this warning use "ng config -g cli.warnings.versionMismatch false". Warning: Entry point 'angular-highcharts' contains deep imports into '/root/poolarino_poolcontrol-master/angular-src/node_modules/highcharts/highmaps', '/root/poolarino_poolcontrol-master/angular-src/node_modules/highcharts/highstock'. This is probably not a problem, but may cause the compilation of entry points to be out of order. Compiling ... chunk {main} main.js, main.js.map (main) 2.03 kB [initial] [rendered] chunk {polyfills} polyfills.js, polyfills.js.map (polyfills) 154 kB [initial] [rendered] chunk {polyfills-es5} polyfills-es5.js, polyfills-es5.js.map (polyfills-es5) 554 kB [initial] [rendered] chunk {runtime} runtime.js, runtime.js.map (runtime) 6.15 kB [entry] [rendered] chunk {scripts} scripts.js, scripts.js.map (scripts) 137 kB [entry] [rendered] chunk {styles} styles.js, styles.js.map (styles) 526 kB [initial] [rendered] chunk {vendor} vendor.js, vendor.js.map (vendor) 339 kB [initial] [rendered] Date: 2020-06-22T11:47:42.591Z - Hash: 4a8436307377f0c01baf - Time: 21827ms ERROR in Could not resolve module ./data/inventory/inventory.module relative to app/components/software/software-routing.module.ts ** Angular Live Development Server is listening on localhost:4200, open your browser on http://localhost:4200/ **
aber wenn ich http://localhost:4200 aufrufe, kommt nur die Meldung "Could not GET /" .
Kann das an der Fehlermeldung liegen?
Oder fällt dir sonst irgendetwas ein was mir vielleicht weiterhelfen könnte?
Chris
-
-
-
So Chris zieh Dir mal den neuen Stand von Github, sollte behoben sein. Da gab es tatsächlich noch ein Problem mit dem Modul für das Inventar.
Herzlichen Dank für den schnellen Fix !
Jetzt lässt sich das Ganze auf dem PC schon mal ohne Error bauen und auch schon mit ng serve starten.
Auf meinem Pi 3 hab ich anscheinend zu wenig RAM um das Projekt zu bauen - bricht immer mit Heap Fehler ab.
Versuche gerade auf einem Pi 4 zu bauen und es dann auf den 3er zu kopieren.
Melde mich wenn ich es geschafft habe...
Hast du außer auf Github und in dem Artikel hier noch irgendwo Infos zum Setup und was die Software schon alles kann?
Gibt noch viel für mich zu ergründen ..
- Wie arbeiten Frontend und Backend zusammen?
- Reicht eine leere MongoDB oder braucht es irgendwelche Vorbereitung?
- Sind die Ein/Aus Schalter jetzt nur für den Shelly 4Pro, oder für das Vierer Relais Pad?
- Können auch andere Sensoren außer Temperatur konfiguriert werden?
- Sind Automatikfunktionen einstellbar, also z.B. Zeitsteuerung oder wenn Solar warm und Pool kalt Pumpe an?
Ich bin nicht so fit im Programmieren, würde aber trotzdem gerne unterstützen um solche Features zu bauen.
-
Das ging schneller als erwartet - läuft jetzt auf dem Raspi 3 mit Touchscreen...
Werd mal weiter experimentieren - noch zeigt er ja gar nichts an...
-
Hallo!
bin gerade über der Planung für einen Pool und bin so auf deine Seite gestoßen...
Wirklich Super!
Ich will mir jetzt mal deine Steuerung installieren und habe auch 2 PIs.
Allerdings stelle ich mich leider zu dumm an...
Habe schon paar Stunden investiert, aber ich bekomme weder Backend noch Frontend zum laufen...
Hast du evtl. eine ausführliche Installationsanleitung für dummys?
Ich denke es gibt viele Schritte bei der Installation die für einen Profi selbstverständlich sind aber da stoße ich an meine Grenzen
Gruß Josef
-
Hallo Josef,
ich hab mich anfangs auch schwer getan, aber mittlerweile läufts und ich bin gerade am Customizen für meine Geräte.
Womit ich so meine Herausforderung hatte waren diese Punkte :
- Richtige Version von NodeJS :
keine Pakete des Raspberry OS installieren sondern wie in der Anleitung direkt als root folgendes ausführen :
- curl -sL https://deb.nodesource.com/setup_12.x | bash -
- apt-get install -y nodejs
- Datenbank:
MongoDB ist auf den normalen Rasperry Betriebssytemen zu alt (NodeJ braucht >=2.6) und die ganz neuen Versionen haben keine Installationspakete für die Architektur.
Lösung: Ich hatte auf einem 3er Raspberry noch UbuntuMate laufen. Dort gab es aus den Paketen die Version 2.6.
Gibt aber auch Artikel wie man neuere Versionen auf Raspberry OS bekommt.
- DB Authentifizierung und config:
Mit mongo lokal an der DB anmelden und DB sowie user einrichten:
Codeuse <DATENBANKNAME> db.createUser( { user: "<USERNAME>", pwd: "<PASSWORD>" roles: [ "readWrite"] } )
Die Datei config/database.js wie in der Anleitung anlegen und die Variablen mit deinen gewählten Werten ersetzen.
Code{MONGO_USER}:{MONGO_PASS}@{SERVER_IP:SERVER_PORT}/{AUTH_DB} Beispiel: <USERNAME>:<PASSWORD>@<IP_ADRESSE>:27017/<DATENBANKNAME> User1:Pass@127.0.0.1:27017/poolinario
Wenn die DB nicht auf dem selber Rechner läuft geht natürlich nicht localhost(127.0.0.1) sondern die entsprechende IP des Rechners auf dem die DB läuft.
27071 ist der Standard Port sofern dieser nicht verändert wurde.
- Angular Build:
Meine 3er Raspies waren mit nur 1GB Ram nicht in der Lage das Ding zu bauen.
Lösung: Ich hatte noch einen 4er mit 4GB - da geht es ohne Probleme. Alternativ sollte auch ein Linux Rechner in der Lage sein.
Anschließend einfach den Inhalt des dist Verzeichnis auf den Frontend Raspi kopieren und durch Webserver anzeigen lassen.
- Backend und Frontend zusammenspiel:
Damit alles zusammen läuft, braucht es:
1. die MongoDB und passende config
2. den Backend App Teil inkl. benötigter node module (npm i)
3. laufendes Backend (z.B. node app.js)
4. compiliertes Frontend ng build --prod inkl. Module (npm i im angular-src Verzeichnis) mit der korrekten IP für das App Backend
(angular-src/src/app/app.module.ts
angular-src/src/environments/environment.prod.ts)
5. Frontend in einem Webserver starten
z.B. nginx oder zum testen in lite-server -c <config> (sudo npm install lite-server -g)
Beispielconfig für lite-server
6. Webbrowser öffnen http://FRONTENDIP:8000
Viel Erfolg!
Chris