Calliope Mini schickt die Temperatur über BluetoothLE
Viel gelesen aber es hat scheinbar noch keiner richtig gelöst. Ich benutze ein Calliope Mini v1.0 . Firmware ist 0253_kl26z_microbit_0x8000.hex Die Calliope Firmware funktioniert aus irgendwelchen Gründen bei mir nicht mehr. (Alle Versionen)
Zum Programmieren nehme ich den Online Editor Makecode. Auf dem Tablet benutze ich zum einrichten die Android-App nRF Connect und um die Logfiles zu betrachten und zu speichern nRF Logger. Die App MicrobitBLE ist ein schöne Visualisierung.
Ich beschreibe hier nur das Auslesen von Temperatur. Accelrometer und Magnetsensor geht ähnlich.
Die Liste mit dem Arbeitsablauf sollte möglichst genau befolgt werden, sonst ist der Frust groß.
- Makercode auf einem PC starten. -> Fortgeschritten -> Paket hinzufügen -> beide Bluetooth Pakete hinzufügen -> bestätigen dass Radio entfernt wird.
- Im Menue vom Makecode gibts jetzt einen Button Bluetooth -> Ansicht im Bearbeitungsfeld auf Javascript umstellen-> eine Zeile Code einfügen: bluetooth.startTemperatureService()
- PC über USB mit dem Calliope verbinden. Programm speichern und dort hin übertragen. (Progamm ist eine Zeile Code) s.o. Danach braucht man keine USB-verbindung mehr. Dient nur noch als Stromversorgung.
- Tablet (Android SmartDevice) die App nRF Connect öffnen. Auf demCalliope die Tasten A,B und Reset gleichzeitig drücken. Bei gedrückt gehaltenem A und B die Reset taste Loslassen bis sowas wie PAIRING über die LED-Matrix läuft. Jetzt auch A+B loslassen. In der App nRF Connect BBC micro:bit connecten . im Reiter Client gibts jetzt eine Liste in der an letzter Stelle der Eintrag micro:bit Temperatur Service stehen muß. Steht das nicht da, muß der Dienst aus dem Gatt Server gelöscht werden und beginne danach wieder am Anfang Punkt 4
- In den Configure GATT Server wechseln. Dazu Hamburger Menue links oben öffnen. Einstellungi ist leer. Jetzt Add Service anklicken und micro.bit Temperature Service hinzufügen (ganz unten in der Liste). Danach ADD CHARACTERISTIC und micro.bit Temperature anklicken im oberen Teil Read und Notify anhaken. Danach ADD CHARACTERISTIC micro:bit Temperatur Period hinzufügen Read und Write Im oberen Teil der Tabelle. (das steht zwar alles schon da, muß aber händisch nochmal gemacht werden)
- Alles ist fertig Logger starten. s.o
Tipp: funktioniert es nicht. Alle Einstellungen im Server löschen. Es ist schnell wieder zusammengeklickt. Neu Verbinden hilft auch oder Refresh Services. Den Update kann man einstellen in dem man im Reiter Client den Wert Temperatur Period ändert. (Pfeil nach oben, Vorsicht das sind Hex-Zahlen)