Hallo Leute,
ich bräuchte mal ein bisschen Hilfe bei meinem Projekt.
Ich habe
- ein MSP430G2553-Launchpad
- ein SunFounder Bluetooth 4.0 HM-10 Master Slave Module (BLE)
- USB PL2303 RS232 TTL zum Konverter-Adapter-Modul
- Android Handy mit App BleTerm
- PC mit Software sscom32e.exe (?)
Jetzt habe ich das BLE-Modul an die TX/RX-Pins des UART am MSP430
angeschlossen und auf meinem Handy das Terminal geöffnet. Die Verbindung
funktioniert auch gut und ich bekomme Daten übertragen, exakt wie beim
noramlen Bluetooth-Modul auch.
Leider verbraucht das Modul aber einen konstanten Strom. Nach meinen
Infos kann man das Modul aber mit sog. GATT-Befehlen konfigurieren,
daher habe ich den USB-Adapter angeschlossen und ich bekomme im
Terminalprogramm auf den Befehl "AT" auch ein "OK" zurück.
Wie kann ich das Modul jetzt dazu bringen, zu schlafen und nur bei einer
Messung (Sensor am MSP) aufwacht und die Daten schickt?
Das Datenblatt
http://www.sunfounder.com/wiki/index.php?title=Bluetooth_4.0_HM-10_Master_Slave_Module
fand ich hier nicht so aufschlussreich.
Ich habe verstanden, dass es diese CBServices gibt, die jeweils
CBCharacteristics haben, die man auslesen kann.
Hat jemand eine Anleitung oder sonstige Tipps? Das wäre schön.
Vielen Dank!
Max schrieb:> Das Datenblatt> http://www.sunfounder.com/wiki/index.php?title=Bluetooth_4.0_HM-10_Master_Slave_Module> fand ich hier nicht so aufschlussreich.
How to let module into sleep mode?
In discoverable mode, send “AT+SLEEP” string through UART, if all is
okay,
module will return “OK+SLEEP” string and into sleep mode.
Klingt so, als könnest Du den Stromverbrauch nur reduzieren, wenn das
Modul nicht verbunden ist.
Hallo und danke für die Antwort,
es muss schon irgendwie gehen, da dort auch irgendwo (als Option bei
AT+UART) steht "When module into sleep mode, you can wake up module
through UART."
Aber ich hatte erwartet, dass das irgendwie einfacher geht, und man
nicht alles selber programmieren muss. Sonst wären diese GAP/GATT-Sachen
ja sinnlos.
Max schrieb:> Aber ich hatte erwartet, dass das irgendwie einfacher geht, und man> nicht alles selber programmieren muss. Sonst wären diese GAP/GATT-Sachen> ja sinnlos.
Ja, generell ist BLE ja deswegen "Low Energy", weil die beiden
Kommunikationspartner nur zu ganz bestimmten, vorher abgesprochenen
Zeitpunkten für einen sehr kurzen Zeitraum Ihre Funkgeräte einschalten.
Es sollte also per default schon sehr wenig Strom verbrauchen.
Ersetz Dein MSP430G2553 doch einfach durch z.B: ein nrf514(8)22
Eval-Board, dann hast Du low-Power MCU und BLE auf einem Board.
Torsten R. schrieb:> Ersetz Dein MSP430G2553 doch einfach durch z.B: ein nrf514(8)22> Eval-Board, dann hast Du low-Power MCU und BLE auf einem Board.
Ich hatte jetzt erst mal den MSP430 genommen, weil ich den schon kenne
und der ja angeblich auch so low-power-mäßig unterwegs ist.
Da ich das Board jetzt schon gekauft habe und das Projekt bald fertig
werden soll, bleib ich jetzt erstmal dabei.
Dass das nicth alles auf einem Board ist, ist kein Problem.
Max schrieb:> Ich hatte jetzt erst mal den MSP430 genommen, weil ich den schon kenne> und der ja angeblich auch so low-power-mäßig unterwegs ist.
Tja, aber Dein BTLE Modul hat auch einen Prozessor drauf, und der
verbraucht Strom.
Schau Dir mal das Datenblatt zum NRF51 an, und bedenke das der im
Gegensatz zu Deinem MSP430 in echte Tiefschlafmodi schalten kann, weil
er keinen UART zur Kommunikation mehr braucht. Ich komme hier auf so ca.
3 µA in den Sendepausen.
Mit langem Connection-Intervall (oder Slave Latency) ergibt das
zweistellige µA im Durchschnitt während einer Verbindung.
Dürfte unterhalb des MSP430 liegen, denn wie gesagt darf der wegen UART
seinen Taktgenerator nicht abstellen...