Wassertemperatur-Sensoren Zürichsee - Protokoll


#22

Interessantes Projekt!

Ich hatte die DS Sensoren nicht besonders gern. Das 1-Wire Interface ist nicht mein Fall. Hab meistens I²C Sensoren verwendet, da das lesen für mich unproblematischer war.

Da ich meistens I²C Eproms an Board hatte, war das sehr komfortabel, einfach ein wenig programmieren und schon hatte man die Daten.


#23

Das ist richtig, ich finde I2C auch angenehmer, aber die DS18B20-Sensoren sind einfach erhältlich, günstig, und 1-Wire ist nicht so schlimm :slight_smile: Hat zudem den Vorteil, dass jedes Gerät eine eindeutige 64-bit Adresse hat, während bei I2C meistens jeder Chip die selbe hardcoded 7-bit Adresse hat. (Explizite Adressierung ist aber nicht nötig wenn man nur 1 Slave am Bus hat.)


#24

Das kann ich nicht bestätigen, meist sind die letzten 2 Bits der 7 Bit Adresse wählbar. Werden im allgemeinen als ADD Pins gekennzeichnet und müssen nur auf HIGH oder LOW gelegt werden.

sgls254b.pdf (833,9 KB)

Kostet € 2,20 bei Digikey

Wenn du natürlich ein kleines Board von z.B. Adafruit verwendest, welchen einen I²C Chip verbaut hat, dann ist natürlich auf deren Platine die Adresse meist voreingestellt.

Das würde ich aber nicht machen. Ein I²C Sensor ist wirklich einfach auf die eigene Platine zu implementieren und braucht nicht viel Platz.


#25

Wir sprechen hier aber über einen Sensor der im Wasser rumhängen muss. Deshalb brauchen wir solche Verpackung: http://www.banggood.com/Wholesale-DS18B20-Waterproof-Digital-Temperature-Temp-Sensor-Probe-p-53674.html

Auf der Platine selbst verwenden wir für Temperatur/Feuchtigkeit einen I²C Sensor.


#26

Das ist ein Argument.


#27

2017-03-21

##Anwesend

@danilo @raphi

Projektstatus

Wir haben uns letzte und diese Woche getroffen.

-> Conrad-Gehäuse sind hier
-> OneWire Library läuft
-> Wir haben alles mal in ein (non-waterproof) Gehäuse gepackt. Damit können wir mal Indoor-Tests machen.

Next Steps

  • LoRaWAN-Integration mit RN2483 umsetzen und Live-Daten senden

#28

Wow, LoRaWAN, tönt interessant. Besteht interesse an Leuten die da mitarbeiten/mitbasteln? :slight_smile:


#29

Auf jeden Fall haben wir Interesse an Leuten die mithelfen :slight_smile: Wir treffen uns ca. jeden zweiten Dienstag im coredump. Wir haben auch einen Telegram Channel dazu.


#30

@kilobyte hast du lust, uns mal an einem montagabend zu besuchen?


#31

Kleines Update.

LoRaWAN-Integration ist gemacht: https://github.com/coredump-ch/watertemp/pull/8

Zum Auslesen gibt’s dieses Script: https://github.com/coredump-ch/watertemp/blob/66fd53b387692fa22cbb9b26f8aef6fd437a4b16/lora/logger.py

Die Prototypen-Box ist einigermassen zusammengepackt, passt alles rein.

Next step: Die Daten vom TTN an unser Backend senden.


#32

2017-06-05

##Anwesend

@danilo @raphi

Stand

Der Prototyp verbraucht viel zu viel Strom und hält keine Nacht durch (mbed Dev-Board ist nicht auf Energieverbrauch optimiert). Wir arbeiten also am besten an einem PCB.

Spannungsversorgung

  • Spannungsrange uC: 1.8-3.6V
  • Spannungsrange RN2483: 2.1-3.6V
  • Spannungsrange SHT21: 2.1-3.6V
  • Spannungsrange DS18B20: 3.0-5.5V
  • Wir verwenden vermutlich am besten einen LDO, um die LiPo-Spannung von 3-4.2V auf voraussichtlich 3.3V herunterzuregeln. Vorschlag: LP5907QMFX-3.3Q1, ~0.50 CHF auf Digikey. (Ursprünglich wollten wir den MIC5302-3.3YMT benutzen, aber der ist etwas gar klein.)
  • Kein Laderegler, wir laden die Akkus extern

PCB

Wir haben die PCB-Entwicklung begonnen: https://github.com/coredump-ch/watertemp/tree/master/hardware/v1

Offene Issues: https://github.com/coredump-ch/watertemp/issues?q=is%3Aopen+is%3Aissue+label%3Ahardware

Next Steps

  • PCB Weiterentwickeln

#33

Hallo zusammen. Entschuldigt bitte, wenn ich meine Anfrage einfach hier absetze. Ich fand keine Möglichkeit direkt Nachrichten an den Vorstand zu schreiben.

Ich bastel gerade an einem eigenen Pool für zuhause und suche nach einer Möglichkeit, sowohl die Beckentemperatur wie auch die Temperatur am Auslauf des Filters zu messen, da ich das Filterwasser durch die Sonne zusätzlich erhitzen lasse. Dafür benötige ich eine Absicherung die es mir ermöglicht, die Pumpe abzuschalten falls die Auslauftemperatur zu hoch wird. Das wäre mit diesem Projekt ggf machbar, z.B. über eine Anbindung an IFTTT oder ConnradConnect.

Unser Pool ist aktuell nur mit 30-40cm Wasser befühlt, doch falls noch Langzeittest durchgeführt werden sollen, stelle ich mich gerne zur Verfügung. Ich selber bin technischer Informariker - verstehe also zumindest grob worum es geht und kann ggf. Änderungen / Updates vor Ort vornehmen.

Grüße und weiterhin viel Erfolg für euer spannendes Projekt!


#34

Hallo @IberTag

Ich fand keine Möglichkeit direkt Nachrichten an den Vorstand zu schreiben.

Die findest du unter https://www.coredump.ch/kontakt/ :slight_smile:

Zu deinem Projekt: Falls du WLAN in der Nähe des Pools hast, wäre das ev. die bessere Möglichkeit, gerade weil du deine Daten dann direkt ins Internet senden kannst ohne LoRaWAN-Gateway. Bei LoRaWAN benötigst du erstens einen Gateway in deiner Nähe, und wir können auch nur so ca. 1 mal pro Stunde eine Messung vornehmen.

Ich mag für solche Anwendungen z.B. die Boards von https://www.particle.io/, damit kann man ziemlich einfach einen Sensor auslesen und über ihren Cloud-Service broadcasten.


#35

Ich würde für solche Aufgaben auf eine einfache SPS von Mitsubishi zurückgreifen.
Die können 230V schalten und besitzen analoge Eingänge für Temperaturfühler und sind einfach zu programmieren.

Gibts auf Ricardo oft schon ab CHF 50.-


#36

Kurzes informelles Update: Das PCB ist inzwischen schon fast fertig für eine erste Prototypen-Bestellung :slight_smile:


#37

2017-11-18

Anwesend

@danilo @raphi

Stand: Hardware

Wir haben das PCB und die benötigten Bauteile erhalten! Heute haben wir deshalb zwei Boards bestückt und im Reflow-Ofen gelötet.

Ein erster Test hat schonmal keinen Kurzschluss o.ä. aufgezeigt. Zudem hat es @raphi geschafft, sich mit dem JLink Debugger sich auf die MCU zu verbinden. Yeah! :fireworks:

Als nächstes muss die Firmware darauf zum Laufen gebracht werden.

Stand: App

Danilo hat an der Android-App weitergearbeitet:

  • Source code nutzt nun Kotlin
  • Mapbox SDK aktualisiert (bessere Performance bei der Karte)
  • Unterstützung für Sensor-Beschreibungen
  • Unterstützung für Sponsoren-Infos
  • “About” Activity
  • “Refresh” Button

Screenshots:

Next Steps


#38

2017-12-05

Anwesend

@danilo @raphi @gosow9 und ein Gast

Stand: Hardware / Firmware

Die Hardware funktioniert soweit gut, auch wenn wir ein paar Details besser hätten machen können. In der nächsten Revision dann!

Unter anderem haben wir bemerkt, dass der Mikrokontroller nur einen UART hat, obwohl es drei UART-Pin-Paare gibt. Da diese aber Multiplexing unterstützen, können wir einfach zwischen den Pins wechseln damit wir sowohl das LoRaWAN-Modem ansteuern wie auch über UART loggen können.

Die Firmware wurde für die neue Hardware angepasst. Unterstützung für den ADC wurde auch implementiert. Ein Test-Sensor läuft nun seit ein paar Stunden und sendet Daten an die Live-API.

Stand: Web

Danilo hat mit der Entwicklung einer Webapp mit Elm begonnen.

Die App benutzt bereits die richtige API. Sensoren werden abgefragt und können auf einer Karte angezeigt werden. Die Messungen selbst werden noch nicht integriert.

Screenshot:

Next Steps


#39

Ich habe bei der Stadt angefragt, sie klären nun ab wer für den Seeanstoss zuständig ist.


#40

2018-02-06

Anwesend

@danilo @raphi

Stand: Hardware / Firmware

Dritter Prototyp aufgebaut und getestet.

Firmware Upgrade des RN2483 getestet: Funktioniert nur unter Windows zuverlässig.

RN2483 Firmware braucht im Sleep nur noch ~500nA Strom.

TODO screenshots

Next Steps

  • Low power Implementation in master integrieren: @raphi
  • Prototyp bei HSR installieren: @danilo

#41

2018-03-06

Anwesend

@danilo @raphi

Stand: Hardware / Firmware

  • @raphi schreibt weiter an deep sleep integration
  • @danilo hat ein paar fixes gemacht an der RN2483 library

Pull requests

Next Steps

  • Low power Implementation in master integrieren: @raphi
  • Prototyp bei HSR installieren: @danilo