Guten Abend,
Für ein Projekt möchten wir (ich und ein Kollege) ca. 100 Sensormodule
bauen, welche die Temperatur messen und an eine Zentralstelle senden.
Die Temperatur soll mit dem STS21 Sensor aufgenommen werden, welcher in
einem
DFN-6 Gehäuse geliefert wird. VDD 2.1-3.6V, 330uA IDD
Hierzu möchten wir einen Mikrocontroller mit einem Funkmodul, bzw ein
fertiges Funkmodul einsetzen. Das ganze sollte möglichst Platzsparend
sein, ambesten so, das es mit einer 3V-Knopfzelle betrieben werden kann,
und das gehäuse nicht signifikant grösser ist und idealerweise mit
Klebband an eine Wand etc. montiert werden kann. Die Gehäuse würden
gerne mit einem 3D Druck (entwerder Filament oder Resin, wir haben
beides Verfügbar) herstellen.
Die Anforderung ist dass unser RF Modul ca alle 60s die Temperatur
aufnimmt , und dann an einen zentralen Empfänger sendet der die Daten
aufarbeitet um Sie in eine SQL-Datenbank zu speichern. Jedes Modul muss
eine eindeutige ID haben, damit man auch weiss woher die Messung kam.
Dies kann mannuell möglich sein (z.b. CSV File) oder automatisch. Eine
kurze Internetsuche brachte leider mit sich das es wohl keine
Mikrocontroller o.ä. gibt die SQL direkt ermöglichen.
Leider ist Elektronik nicht unser Hauptgebiet und wir haben nur die
Grundkentnisse, desshalb möchten wir hier kurz bezüglich der Auswertung
nachfragen.
- Welche Funktechnologie empfehlt ihr?
- Wie würded ihr die Schnittstelle FUNK-SENSOR lösen? Gibt es fertige
Funmodule welche den Sensor auslesen können?
Wir würden uns über paar Inputs freuen. Da es sich nur um ein Projekt
handelt sind sicher auch Lösungen mit "Hobby-Modulen / China" möglich,
ebenso ist es auch kein Problem wenn an den 100 Modulen Handarbeit
geleistet werden muss, z.b. einstellen der Geräte ID etc.
Vielen Dank
Gruss Patrick
Der ESP ist ein stromfresser, da ist die Kombi RFM69+µC um Längen
sparsamer. Ich habe sowas mit dem LPC812 gebaut und davon funken schon
einige fröhlich vor sich hin. Vor ein paar Tagen habe ich eine kleinere
Version der Platine mit einem LPC824 bei Elecrow bestellt.
Die Zentrale ist ein Raspberry mit einem RFM69 ohne weitere Elektronik,
die empfangen Pakete werden in eine MQTT geschrieben und kann damit an
alle mögliche Standard SW geschickt werden.
Da fehlen noch ein paar Eckdaten:
-Wie weit sind die Sensoren voneinander bzw. von der Zentrale entfernt?
-Handeld es um Außen- oder Innenbereich?
-Wie lange sollen die Sensoren halten? (Batterielebenszei
ich hab meine Sensoren mit RFM12 und PIC, 3St. 1,5V AAA Batterien halten
ca. 1 Jahr.
Welche Reichweite brauchst du denn, gibt es Hindernisse zw. Sender und
Empfänger?
Holger
Ein Kollege von mir hat sich eine ähnliche Lösung für sein Haus gebaut
(Fenstersensor, Tempsensor etc). Das ganze auch über CR2032 betrieben
und mit Xmega32E5 + nRF24L01. Das ganze sendet alle 10 Sekunden die
Daten (mit Autoretransmit). Die CR2032 läuft jetzt schon weit über 6
Monate und hat noch 2.9V (wobei sogar bei jedem Senden noch eine LED für
ein paar µs kurz aufflackert). Die Zentrale hat einen nRF24L01 LNA + PA.
Er hat praktisch keine Aussetzer (also keine Retransmits). Natürlich
alles mit Power Down. Im Mittel 20µA. Also theoretisch 10000 Std (also
mehr als ein Jahr) mit einer CR2032
Wieso nimmst du nicht den BMP280, ist nicht wirklich teuerer, kann mehr
und verbraucht weniger.
Stefanus F. schrieb:>> 3St. 1,5V AAA Batterien halten ca. 1 Jahr.>> Bei einem Mess- und Sende-Intervall von 60 Sekunden?
Nö, so aller 3-5 Minuten. Schneller ändert sich bei mir die Temperatur
nicht.
Holger
PS: 3 Sensoren haben zusätzlich ein kleines Solarpanel zur Unterstützung
und 3 enneloop Akkus, seit ca. 2 Jahren je nach Jahreszeit 3.8-4.1 V
ohne extra nachladen
Stefanus F. schrieb:> Das klingt super, kein Vergleich zum ESP8266, der verbraucht viel mehr> Strom.
Den ESP bekommt man auch gut runter (~20µA im DeepSleep), allerdings nur
wenn man einen vernünftigen Spannungsregler verwendet mit geringer
Quiescent Current (z.B. MCP1703) und nicht die fertigen Module wie
NodeMCU etc. Aber ist natürlich dennoch kein vergleich zu einem µC +
Funk-Modul, da der ESP erst noch mit dem WLAN + MQTT server verbinden
muss, was durchaus 2-10 Sekunden dauern kann während er dann schon
100-300 mA frisst. Für meine Wetterstation ist das schon okay. Alle 5
Minuten wacht der ESP auf und sendet daten via MQTT an den den NodeRed
welcher dann die werte in eine SQL-Datenbank schreibt. Da reicht so ein
18650 schon einige Monate. Für größere Distanzen gäbe es sonst auch noch
LoRa
Timmo H. schrieb:> Aber ist natürlich dennoch kein vergleich zu einem µC +> Funk-Modul, da der ESP erst noch mit dem WLAN + MQTT server verbinden> muss, was durchaus 2-10 Sekunden dauern kann während er dann schon> 100-300 mA frisst.
Auch dafür gibt es eine Lösung. CNLohr hat dazu ein schönes Video
(englisch) gemacht. ESP auf Knopfzelle für ein Jahr bei 10s
Log-Intervall ist doch schon mal was?
https://www.youtube.com/watch?v=I3lJWcRSlUA
Lutz schrieb:> Wozu hast du noch einen Quarz genommen?
gute Frage, für Sensoranwendungen ist der überflüssig und kann
weggelassen werden, der LPC hat einen guten internen RC Oszi.
Tatsächlich hatte ich erst eine V1 der Platine bestellt aber dann noch
den Quarz dazugebaut weil noch genug Platz auf der Platine war. Ich habe
die Platine auch zur Kapazitätsmessung benutzt und dafür wäre die
Stabilität z.B. besser.
PatrickG schrieb:> - Welche Funktechnologie empfehlt ihr?
Das kommt ganz darauf an wie weit die Funkmodule vom zentralen Empfänger
entfernt sind.
> - Wie würded ihr die Schnittstelle FUNK-SENSOR lösen? Gibt es fertige> Funmodule welche den Sensor auslesen können?
Man nimmt einfach das selbe Modul welches man auch zum senden nutzt, nur
dass man es quasi auf "Empfang" konfiguriert.
Dein Empfänger muss dann zum Beispiel an einem RaspBerryPi hängen, er
schiebt die Daten über UART oder USB in das RaspBerryPi und dieser
öffnet dann die SQL-Datenbank, schreibt die neuesten Daten in die
Tabelle und schließt sie wieder.
Du brauchst also ein µC-Programm für den Empfänger, eines für den Sender
und eines im RaspBerryPi.
Das Problem besteht nur beim auslesen der 100 Sensoren, wenn sie schön
stromsparend arbeiten sollen, dann wäre es gut wenn sie einfach nur
(jeder) zu einer bestimmten Zeit ihre Daten aussenden und dann wieder
schlafen gehen.
Man muss natürlich auch mit Problemen rechnen, also dass Daten nicht
ankommen. Da es sich nur um einen Temperaturwert pro Minute handelt kann
man die Werte, welche nicht angekommen sind, einfach in dem Paket noch
mal schicken. Dazu braucht es aber einen zusätzlichen Zeitstempel um das
intelligent managen zu können.
Manch einer macht es so dass seine Module zu einen zufälligen Zeitpunkt
senden und Probleme mit "Retransmit" gelöst werden, bin aber kein Freund
davon.
Man könnte es ja so machen, dass jeder Sensor jede Minute die Messwerte
der letzten 5 Minuten sendet. Und damit es nicht zu wiederholten
Kollisionen kommt, wird der Zeitpunkt des Sendens mit einem
Zufallsgenerator variiert.