Ich experimentiere gerade etwas mit Energyharvesting herum und möchte
einen autarken Temperatursensor über Bluetooth Low Energy mit einer
Basisstation verbinden.
Der Sensor bezieht seine Energie über ein Peltierelement aus einer
Wärmequelle, das klappt schon ganz gut soweit, insgesamt stehen
dauerhaft 1mA zur Verfügung, welche über einen Kondensator auch noch
gepuffert werden. Für BLE habe ich mir einen nRF52832 SOC ausgesucht. Es
geht nun erst mal primär darum, die Funkkommunikation erst mal mit
minimalem Aufwand zum laufen zu kriegen. D.h. alle paar Sekunden oder
Minuten soll der Mikrocontroller kurz aufwachen, eine Messung vornehmen
und per BLE seine Daten bereitstellen. Nachdem ich mich nun schon ein
bisschen in BLE eingelesen habe stelle ich fest, dass das ja durchaus
gar nicht so unkomplex ist.
Ich habe mir zwei Strategien überlegt:
1) In bestimmten Intervallen wacht der µC auf und sendet die Daten
einfach mit einem Advertising-Paket raus. Advertising-Intervalle lassen
sich ja laut Bluetooth Spec in einem Interval von 20ms bis 4s (?)
senden, in der Zeit muss vermutlich der µC aktiv sein damit das
Radio-Frontend seine Arbeit richtig machen kann? Wie stelle ich sicher,
dass die Basisstation auch alle Advertisingpakete mitbekommt? Ist das
schon bei einem einzelnen Advertising-Paket sichergestellt oder muss ich
hier längere Zeit advertisen?
2a) Der Sensorknoten advertised, die Basisstation stellt eine Verbindung
her und überträgt die Daten dann im Rahmen der Verbindung. z.B. über
GATT. Brauche ich GATT hier überhaupt oder kann ich die Daten auch
einfach quasi raw senden? Brächte mir das Vorteile?
2b) Wie 2a nur, dass stattdessen die Basisstation advertised und der
Sensorknoten sich mit ihr verbindet. Sind die Kommunikationspartner
sobald die Verbindung erst mal besteht gleichberechtigt? Ist es also
egal, wer die Verbindung initiiert hat? Welche Variante ist geschickter
im Bezug auf die Zeit, die es benötigt, bis die Verbindung hergestellt
wurde?
Kann sich der µC sobald die Verbindung besteht getrost schlafen legen
und sein Radio-Frontend für eine gewisse Zeit abschalten?
Danke für die Unterstützung, mangels Erfahrung bin ich echt unsicher wie
ich hier am besten Vorgehe und ich möchte mich nicht in eine Sackgasse
begeben.
Grüße, Paul