SPI Zugriff über BLE

OP #7387924
Lesenswert?

Hallo Leute,

ich habe ein ganz konkretes Problem: Ich muss die Werte eines Device über ein Android Gerät auslesen. Das Device bietet UART und SPI an, benötigt einen kurzen Befehl, woraufhin dann periodisch (alle 1,8 sec) ein Paket mit durchschnittlich 500 Character Nutzdaten gesendet wird. Das Android Gerät muss/sollte auf die Daten mit BLE zugreifen. Ziel ist es dabei nur, dass die bereitgestellten Daten auf mein Android-Device ankommen. Die Einschränkungen sind, dass das Device auf Akku läuft und bereits 0,28W benötigt, daher sollte das übermittelnde BLE-Board so energieeffizient und auch klein wie möglich sein (das Device sollte für eine Studie „wearable“ sein).

Ich habe dieses Modul gefunden, welches diese Anforderungen eventuell abdecken könnte: https://www.adafruit.com/product/2633 https://www.adafruit.com/product/2479

Ich weiß aber nicht, ob es nicht bessere/effizientere/einfachere Module gibt, die diese Anforderung abdecken. Hat hierzu jemand eine Idee, wie ich möglichst trivial (und energie-/platzeffizient) die Daten übertragen kann?

Wenn irgendwelche Fragen auftreten, beantworte ich diese natürlich gerne.

LG Luc

#7387955
Lesenswert?

Das sind die alten µCs mit Cortex-M0, die sind laut Nordic Semi "not recommended for new designs" und haben seit Jahren kein Software Update gesehen. IMHO auch nicht für die bekannten Sicherheitslücken.

Habe die hier in Verwendung, da bleibt bei BTLE Betrieb nicht viel RAM und Flash übrig.

Nimm lieber die Nachfolger wie in https://www.adafruit.com/product/4062 deren Stromvebrauch ist nicht höher bei mehr Flash+RAM+Performance.

(Firma: Torrox.de) #7392499
Lesenswert?

Die 0,28W sollte jede BLE Lösung ganz locker um Größenordnungen unterschreiten können. Wenn das jetzt eine Studie ist und Du im nächsten Schritt nicht zu viel ändern möchtest, dann würde ich etvl. eher auf etwas "moderneres", wie den nRF52 setzen (die von Dir ausgewählten Module setzen den alten nRF51 ein).

nRF52 Module gibt es wie Sand am Meer. Das ganze als HID Tastatur anzubinden, ist Energietechnisch sehr ungünstig. Idealerweise implementierst Du dafür einfach einen eigenen Service, der die Daten über eine Characteristic per Notifications sendet. Mit dem nRF52 kannst Du auch Packetgrößen (MTU) ~250 Byte implementieren, sodass die Datenübertragung in 2-3 Connection Events erledigt ist und Dein BLE Modul dann via Peripheral Latency den Rest der Zeit einfach schlafen kann.

Zur Umsetzung würde ich Dir eine Open Source Bluetooth Library an's Herz legen: https://github.com/TorstenRobitzki/bluetoe ;-)

OP #7399228
Lesenswert?

Ich hab' nun meine Architektur nochmal überarbeitet und bin mit dem Adafruit Feather nRF52840 Express gegangen. Das Teil löst (fast alleine) alle meine Probleme, die ich in meiner Studie als Anforderungen habe! Außerdem zeigen die ersten Experimente, dass der Stromverbrauch mehr als zufriedenstellend ist. Schonmal ein großes Dankeschön hierfür.

Nun tut sich aber ein kleines Problem auf, was ich nicht antizipiert habe: Alle Tutorials/Beispiele, die ich gefunden habe, beziehen sich auf den USB-UART Port und nicht auf die internen UART Pins (RX/TX). Hat hierzu jemand Leseempfehlungen bzw. Anhaltspunkte wie ich damit kommuniziere? Danke!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren