BLE

Bluetooth 4.0/1, auch Bluetooth Low Energy genannt, ist eine Erweiterung von Bluetooth, welche eine Abstandsmessung zwischen z.B. Smartphone und Endgerät, Beacon genannt, erlaubt. Sowohl das Smartphone, als auch das Beacon müssen den Standard unterstützen.

Archiv der Kategorie: BLE

Ein Programm in den CC2541 flashen How To

Der Bluetooth 4.0-fähige 8051-Chip CC2541 von Texas Instruments, der auf dem Tinysine HM-10 Modul zu finden ist, besitzt eine Schnittstelle zum hardwarenahen Debuggen, den Debug Port, der aus den zwei Leitungen Debug Clock (DC) und Debug Data (DD) besteht. Die Besonderheit bei diesem Port im Gegensatz zu RS-232 oder SPI besteht darin, dass die Kommunikation in beide Richtungen – Daten vom PC zum Chip und umgekehrt – über denselben Pin erfolgt (und daher auch nicht gleichzeitig stattfinden kann). Takt- und Daten-Pins sind auf dem HM-10 herausgeführt, allerdings nicht auf die 2,54mm-Pins der TinySine Ausbrech-Platine. Sie lassen sich aber leicht nachrüsten (Foto wird nachgereicht). Wenn DC, DD, Reset und GND herausgeführt sind, kann man diese Pins an den CC Debugger von Texas Instruments anschließen. Der SmartRF Programmer hat im Test leider nicht funktioniert, zumindest nicht unter Windows, obwohl er es eigentlich sollte. Der CC Debugger ist sogar offiziell Open Hardware, der Schaltplan ist auf der Seite von Texas Instruments zu finden. Seine Funktionsweise ist im zugehörigen User Guide dokumentiert. Die zum Programmieren der Chips erforderliche Software lässt sich ebenfalls dort herunterladen (wenn man einen TI-Account hat). Nachbauten des SmartRF Programmer lassen sich günstig auf eBay erwerben. Zur Programmierung unter Linux steht cc-tool zur Verfügung. Links:

2x TinySine BLE-Module am Raspberry Pi How To

In der gestrigen #tt-Session haben wir u.a. versucht, zwei BLE-Module gleichzeitig an einen Raspberry Pi anzuschließen. Nachdem schon beim letzten Mal die Kommunikation mit einem einzelnen Modul funktioniert hat, wollten wir es mit zweien versuchen, um schon mal eine „Di-Angulation“ per BLE versuchen zu können, bis wir ein drittes BLE-Modul haben.

Die Schwierigkeit beim Anschließen von zwei Modulen liegt darin, dass eigentlich pro Modul ein UART benötigt wird, der Raspberry aber nur einen hat. USB-Serial-Adapter konnten wir nicht nehmen, da diese mit CMOS (5V) operieren, aber TTL (3.3V) benötigt wird. Also haben wir versucht, mit GPIO-Pins Transistoren zu schalten, welche die RX- und TX-Pins jeweils zum gewünschten BLE-Modul durchschalten.

Hat aber nicht geklappt. Warum nicht? Vielleicht, weil Bipolartransistoren in Gegenrichtung sperren (also wie eine Diode wirken) und so ein einmal auf High gesetzter Pin nicht mehr auf Low gezogen werden kann. Das würde allerdings eher dem Verhalten eines FET oder IGBT entsprechen. Bipolartransistoren schalten bei Strömen. Wenn sie am Ausgang (Emitter) nicht mit einer Senke (Erde,Minuspol) verbunden sind, fließt möglicherweise nicht genug Strom, um den Transistor gängig zu schalten.

Nächster Ansatz: Pull-down Widerstände, um Pegel auf Empfängerseite auf Low zurückzuziehen.