DIY electronic Hydrometer
If you like that project please vote for the Hackaday.io 2017 Prize List
Check out IOT DEVICE PULLS ITS WEIGHT IN HOME BREWING at http://hackaday.com/2017/03/01/iot-device-pulls-its-weight-in-home-brewing/
Say thanks with a beer 🍻
https://github.com/universam1/iSpindel/releases
07.02.2018 Firmware 5.7.1: Allow longer sleep intervals longer up to 99999s == 27 days
03.02.2018 Firmware 5.7.0: Introduce Factory Reset feature
02.02.2018 Firmware 5.6.2: Support for Wifi credentials with special characters
07.11.2017 Firmware 5.6.1: Restoring Wifi credentials, moved to HTTP client library, improved RFCAL resilience to gain more stable Wifi connection
17.10.2017 Firmware 5.5.4: Various fixes for CraftBeerPi, BrewPiLess and Ubidots
28.09.2017 Firmware 5.5.0: Recall saved Wifi credential thus persisting over configuration changes
31.08.2017 iSpindle.py Version 1.3.1: genericTCP Update (local server & prep for public server); Firmware 5.4.2: Memory improvements.
29.08.2017 Firmware 5.4.1: Rewrite of the upload class to streamline and allow further data items. Also add iSpindel.de as data server as preset.
08.08.2017 calibration tool to calculate gravity as alternative to the Excel sheet
05.07.2017 Workaround for BrewPiLess
30.06.2017 Mentioned in http://preview.mailerlite.com/g6n5p3/660851237247259035/r2w6/
22.05.2017 updated build docs
22.05.2017 switching build environment to platform.io
01.05.2017 Major Firmware update to 5
- Calculate the Gravity now within the iSpindel by expression evaluation! The conversion polynom can be stored per iSpindel and sends as an additional metric (without a unit). Therefore, whether Plato or SG is prefered is up to the user defined polynom. There are two variable available
tilt
andtemp
- Zero point calibration
- Firmware update OTA over the Air
12.04.2017 Mentioned in http://www.homebrewtalk.com/showthread.php?t=598187
01.03.2017 Mentioned in hackaday.com http://hackaday.com/2017/03/01/iot-device-pulls-its-weight-in-home-brewing/
23.02.17 English documentation added
14.02.17 English documentation added
09.02.17 Firmware 4.1.6
31.01.17 Bilder Aufbau Platinenvariante
26.01.17 Firmware 4.0
- inifinte sleep time developed: the maximum 71min RTC time extends through step-sleeps
- Wifi RF calibration introduced when calling configuration
- fixed bug of emergency interval
- fixed UI numeric formating
25.02.17 Firmware 3.5.0: genericTCP
- Python Skript um lokal die Daten in eine CSV Datei zu schreiben (thanks to Tozzi)
23.12.16 CraftBeerPi Info, FW.3.4.4, Combo-Schlitten
18.12.16 FAQ und Ubidots tool
15.11.16 Firmware 3.4.2:
- Supporting now backends
- CraftBeerPi
- TControl
- FHEM
- generic HTTP
- major Portal rework, added labels for convenience
- upload speed improvements
- Power saving on empty battery
- added custom Battery conversion factor
- Bugfixes
11.12.16 Sources and drawer online
11.12.16: FHEM upload documentation & firmware (thanks @MSBannert!)
07.12.16: Schematics
3.12.16: Firmware 2.1.2 Wifi improvements
9.11.16: Calibration and Excel sheet for conversion to Plato, SG etc.
The
iSpindle
is under heavy development, see german Hobbybrauer.de Thread. Contribution and support is appreciated especially regarding creation and translation of documentation. Feel free to provide apull request
.Die
iSpindel
befindet sich in andauernder Entwicklung, siehe dazu den Hobbybrauer.de Thread. Mithilfe ist herzlich willkommen und Ergänzungen bitte per Pull Request einreichen. Großes Dank an alle die Unterstützung leisten seitens Grundlagen erarbeiten oder passende Hardware zu finden.
Jeglicher kommerzieller Nachbau oder Verwendung ist prinzipiell untersagt. Geltende Patente werden verletzt.
All rights reserverd, any commercial use is hereby prohibited and will violate applicable patents.
Die Messung der Dichte von Wasser mit Hilfe des krängenden Zylinders ist so einfach wie genial - man braucht keine externe Referenz (außer der Erde) und der Zylinder ist extrem leicht sauber zu halten. Der Neigungswinkel ändert sich im Verhältnis zum Auftrieb und damit im direkten Zusammenhang mit dem Zuckergehalt. Kein unnötiges Öffnen zum spindeln und evtl. Kontaminieren!
Daher die Idee, ein IoT device mit Wifi zusammen mit einem Beschleunigungssensor und Temperatursensor in einen schwimmenden Zylinder zu legen. Dort wacht er alle bsp. 5min auf, verbindet sich mit meinem Wlan und sendet seinen Neigungswinkel, Temperatur und Akkuspannung an einen Cloudservice wie Ubidots oder einen lokalen Server.
Eigentlich dreht es sich hier um das "Metazentrum", der Zylinder wird solange rotieren bis das Metazentrum im Lot zum Auftriebspunkt ist. Diesen Wert messen wir.
Man kann insofern trimmen, dass man am Boden ein paar Gramm hinzufügt, damit stellt sich der Zylinder mehr auf, oder am Deckel, damit krängt er mehr.
In der Software berechnent man aus den XYZ Beschleunigungswerten den Euler Winkel für X und Y und bildet daraus den Absolutwinkel. Diesen verrechnen wir mit den kalibrierten Eckwerten zum °Plato.
Alle drei Varianten sind funktionell identisch
- Variante A: Lochrasterplatine & Schlitten
Die Lochrasterplatine ermöglicht den Nachbau jederzeit mit 'Hausmitteln' - Variante B: nur Platine
Die fertige Platine über die Sammelbestellung bringt einen komfortablen Aufbau - Variante C: Platine & Schlitten
Die obige Platine kann (über Trenn-Schnitt) mit dem Kunstoff Schlitten in Kombination verwendet werden der einen spielfreien Sitz garantiert.
siehe Bauteile
siehe Schaltplan
siehe Bauteile
- Zu Beginn muss ein kostenloser Account bei Ubidots.com erstellt werden
- Im Menü
API Credentials
erhält man seinenToken
durch das die iSpindel die Berechtigung zum Schreiben der Daten erhält.
Diesen notieren.
Durch mehrmaliges Drücken der Reset Taste
erstellt der Wemos einen AccessPoint, mit dem verbunden man die nötigen Einstellugen vornehmen kann.
Die
iSpindel
signalisiert dass sie sich im Konfiguration-Modus druch permanentes Blinken im Sekundentakt.
Man verlässt den Konfiguration-Modus durch speichern seiner Einstellungen, durch betätigen des MenüpunktsStart iSpindel
oder durch warten von 5 Minuten. Danach befindet sie sich im Betriebsmodus d.h. sie sendet ihre Daten und geht daraufhin direkt in den "Deep Sleep" Standby Modus. Daher ist sie im normalen Modus nicht erreibar.
-
Der Ubidots
Token
und die, welche man oben notiert hat, werden nun an dieser Stelle eingetragen.IDs
-
Ebenfalls stellt man hier den
Intervall
ein in dem sie Daten liefert. Dies hat direkt mit der Akku Lebensdauer zu tun. Es empfiehlt sich in der Praxis etwa1800
Sekunden (= 30 Minuten) Takt zu wählen. -
Man erreicht es über
-
Eine Übersicht der Daten kann man über den
Info
Menüpunkt einsehen
Nach dem man obige Daten eingetragen und gespeichert hat, wird die Spindel sich mit dem Wlan und Ubidots verbinden und die Daten übertragen.
Falls noch nicht vorhanden, wird selbständig ein neues Device
erstellt und die Sensoren angelegt.
Auf der Ubidots Weboberfläche wird man nun unter Sources
sehen dass die Daten aktualisiert werden.
Nun kann man im Dashboard
sich seine Graphen nach Belieben zusammenstellen.
Ubidots kann ausserdem an vielen Stellen per Script bedient werden. Eine Dokumentation zu den Funktionen findet sich direkt bei Ubidots. Hiermit können zum Beispiel nicht mehr benötigte Daten in Variablen gelöscht werden.
Die iSpindel
kann ihre Daten an verschieden backends senden. Es empfiehlt sich mit dem Cloudservice Ubidots zu beginnen, dort kann man sich einen kostenlosen Account erstellen und die Graphen sich darstellen. Man kann auch weitere Abwandlungen der Daten vornehmen, wie den Plato / SG Wert errechnen, den EVG usw.
Folgende backends werden mittlerweile unterstützt:
Beschreibung von @not:
Wenn Du die neueste Firmware auf Deine iSpindel geflasht hast musst Du auch craftbeerpi updaten: dazu brauchst Du den branch "hydrometer". Wenn Du die Spindel dann konfigurierst, gibst Du neben den Einstellungen für Dein WLAN im Dropdown-Menu "CraftbeerPi" an und darunter die IP Adresse Deines im selben Netzwerk gelegenen Craftbeerpi-Servers. Danach sendet die Spindel an den Raspberry Pi -Rechner und Craftbeerpi registriert die Spindel automatisch . Wenn die Verbindung klappt, findest Du die Spindel "wie von Geisterhand" in der Hardware-Konfiguration von CBP. Du siehst, dass Daten ankomen, wenn Du Deine Fermentation / Gärung im CBP anschaust, da sind dann nicht nur die Temperatur (ist und soll) , sondern auch Spindeltemperatur und Plato zu sehen (siehe Screenshot oben) mit letztem Zeitstempel.
git clone -b hydrometer https://github.com/Manuel83/craftbeerpi.git
Zur Umrechnung von dem gemessenen Winkel ° in °Plato, SG, %mas o.ä. ist es initial nötig eine Referenzkurve zu kalibrieren. Die gewonnenen Referenzen können dann über eine Excel Tabelle oder das Online Gravity Calibration tool in eine Funktion überführt werden, die zur Darstellung hinterlegt wird.
Da jede selbstgebaute Spindel andere Messwerte ergeben wird, muss man diesen Prozess einmalig pro iSpindel durchführen.
siehe Kalibrierung durchführen
Gefällt es dir, na dann spende mir halt ein Bier 🍻