Ich möchte mittels Bluetooth von einem batteriebetriebenen Gerät einen kontinuierlichen Datenstrom an eine noch zu erstellende App auf einem Android-Mobiltelefon senden. Die Datenrate wird etwa 100Bytes/s betragen. Zusammenfassen zu kleinen Paketen <50 Bytes wäre auch möglich. Der Energieverbrauch des Senders sollte möglichst gering sein (<10mA@3.3V im Durchschnitt). Reichweite maximal 2m würde genügen. Für diese Aufgabe müsste sich das RFCOMM-Protokoll eignen, zumal es direkt von Android unterstützt wird. Im Web gibt es eine Fülle von preisgünstigen Bluetooth-Modulen, z.B: HC-06 und HC-08. Leider gibt es dazu keine vernünftige Dokumentation, weder auf Englisch noch auf Deutsch. Insbesondere fehlen Angaben zum verwendeten Protokoll und zum Energieverbrauch. Anhand der abgebildeten Chips handelt es sich beim HC-06 offenbar um ein Modem nach Bluetooth V2.0 , beim HC-08 um V4.0-Standard. Wer kennt sich aus oder hat die Module schon einmal benutzt: 1. Gibt es genauere Daten zur Stromaufnahme, aufgeteilt in Senden/Empfangen/Idle? 2. Bringt der V4.0 Low Energy-Standard etwas bei der konkreten Aufgabe? 3. Nutzt 4.0LE auch das RFCOMM-Protokoll, so dass eine problemlose Kommunikation mit Android-Hausmitteln möglich ist? Besten Dank PS: Sorry für das doppelte Posting, aber ich habe wohl das falsche Forum gewählt.
Hallo Mike, ich kenne diese Module nicht. Es gibt aber mittlerweile jede Menge Mikrocontroller, die BLE Peripherie an Bord haben. Wenn Du also eh einen Mikrocontroller verwendest, könntest Du dich evtl. da umgucken (insbesondere, wenn Du eh Strom sparen möchtest). Ich schreibe gerade an eine Android App, die Bluetooth nutzt. In der Version 6 von Android sieht das soweit auch ganz vernünftig aus. Über GATT kannst Du aber portabel maximal 20 Bytes am Stück übertragen. 2.) BLE ist halt komplett auf geringen Energiebedarf hin ausgelegt und wenn Du Deine Kommunikationsparameter auf die benötigte Datenrate und Latenz anpasst. Mit einem nfr51422 sind <10mA@3.3V auf jeden Fall möglich. mfg Torsten
RFCOMM gehört ersteinmal zum Bluetooth Classic Stack, steht also für LE nicht zur Verfügung. Da haste erstmal nur GATT. Also SPP nutzen fällt schonmal flach. @Thorsten: Auf dem HC-08 ist nen TI CC2540, also genau das was du sagtest, nen SoC mit BT LE drauf ;)
Martin W. schrieb: > RFCOMM gehört ersteinmal zum Bluetooth Classic Stack, steht also für LE > nicht zur Verfügung. > Da haste erstmal nur GATT. GATT ist auf der Client-Seite (OS/X; Android) eigentlich ganz bequeme. Für erste Tests gibt es eine recht coole Libray für JavaScript: https://github.com/sandeepmistry/noble > Auf dem HC-08 ist nen TI CC2540 Von TI gibt es auch noch größere, z.B. den cc2650, dass ist ein Cortex M3, der einen eigenen Cortex M0 hat, der die BLE Hardware bedient.
BT Classic und 4.0 (BTLE) sind an sich unterschiedliche Dinge mit wenig Gemeinsamkeiten. BTLE und "Datenstrom" passt zudem nicht super zusammen, da BTLE über die GATT Register nur ca. 20 Byte pro "Paket" (je nach Stack/Implementierung) erlaubt. Ich würde BTLE empfehlen, wenn du kleine Datenmengen selten übertragen musst, dann profitierst du von der Fähigkeit der BTLE Hardware extrem schnell aufzuwachen und wieder sendebereit zu sein. Viele Grüße Tobi
Mahlzeit! Folgende Erfahrungen kann ich von dem BLE-Modul cB-OLS425i-04 (mit dem CC2540) von ConnectBlue weitergeben: Wie der Vorposter richtig genannt hat, sind 20Byte je Paket möglich. Ein Paket kann alle 7ms versandt werden. Das reizen wir nicht aus. Wir sind bei ca. 200Byte/S. Dabei verbraucht das Modul insgesamt rund 33mW(@3,3V=10mA) MEHR, als im nicht verbundenen Zustand (mit Advertising alle 1000ms). Im letzteren Zustand sind es durchschnittlich 50µA@3,3V = 0,165mW. Zusammengefasst also ungefähr 200Byte/s -> 10,05mA Durchschnitt @3,3V Also kommen deine durchschnittlich erhofften 10mA@3,3V@100Byte/s in Reichweite. Gruß Dirk Knoblich
Hi Um es noch etwas genauer aufzuteilen: Wir nutzen ein CC2564B von TI. Das HCI Modul braucht bei einen Connect Interval von 500ms und 8dBm Leistung (entspricht 40 Byte/s) ~200µA. Dazu kommt der Strom des verwendeten Controllers (beim ConnectBlue Modul vom Vorredner ist der schon mit drin). Wir nutzen ein Interval von 10ms und senden alle 20ms (1000 Byte/s). Dabmit sind es dann schon 7,5mA alleine für das Modul. Wenn man also viele Daten senden will, sind BLE Module nicht besser als Classic BT mit SPP. Gruß Rainer
Rainer F. schrieb: > Wenn man also viele Daten senden will, sind BLE Module nicht besser als > Classic BT mit SPP. Interessant wäre zu Wissen, welche Genauigkeit die Quarze der eingesetzten Module haben. Laut BLE Spec hängt die Zeit (und damit die Energie für das Empfänger-Radio), die ein device auf seinen Master lauschen muss von der Genauigkeit des Timers ab.
Dirk K. schrieb: > Zusammengefasst also ungefähr > 200Byte/s -> 10,05mA Durchschnitt @3,3V Ich habe mit einem NRF51422 Modul ungefähr die Hälfte gemessen, bei wesentlich höherem Datendurchsatz. Und sogar da ist noch Luft nach unten weil ich wegen UART den "schnellen" Oszillator anlassen musste. Außerdem ist es komplett in C programmierbar, so dass man in einfachen Fällen keinen weiteren Prozessor braucht.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.