die Verbindung inkl. Pairen hast Du ja nur mit Apple geschafft? Wirf bitte den Magnetometer-Dienst aus Deinem Programm raus oder ergänze falls Du den unbedingt brauchst als ersten Befehl ein „Kompass kalibrieren“ bevor Du ohne Kalibrierung testest. Im Zweifelsfall solltest Du nur die benötigten Dienste starten. Beim Start aller Diensten hatte ich auch Probleme jedoch die Ursache nicht mehr weiter untersucht. Mehr kann ich zu Deinem Test mit Apple leider nicht helfen.
Welches „Samsung Galaxy“-Modell hast Du denn verwendet. Es gibt davon leider zu viele und mein Test mit dem Galaxy S7 mit Android 8 hat ja generell funktioniert.
Google’s BLE SDK wurde erst mit Android 4.3 eingeführt und bei der „micro:bit Blue“-App im PlayStore wird sogar Android 5.0 oder höher benötigt. Schau bitte mal in den Einstellungen nach um sicher zu gehen dass Dein Smartphone das unterstützt oder schau ob Du die App aus dem PlayStore installieren könntest.
Dein Calliope-Programm V2 hat bei mir übrigens auch nicht funktioniert, probier mal die neue Version…kopier sie im einfachsten Fall ohne Änderung direkt auf den Calliope. Falls Du die Version über den Editor selbst erstellen möchtest kontrollier nochmal die Einstellung zum Pairen, die war bei mir nämlich komischerweise falsch eingestellt nach dem Importieren. mini-bluetooth_test_v03.hex (593,3 KB)
Hi Manfred,
So ok … jetzt brache ich ein neues Android, dann kann es weiter gehen. Anbei mal was einfaches zum Testen.
So was stell ich mir zum Einstieg für die Klasse vor.
irgendwie habe ich gerade Tomaten auf den Augen. Ich finde im MIT App Inventor weder „.sendStringKeyValue“ noch in Makecode „on string received key“. Oder hattest Du andere Apps verwendet? Was aber auf jeden Fall fehlt sind die Anweisungen zur BT-Verbindung.
Ein einfaches Beispiel zum Senden und Empfangen könne in Makecode wie folgt aussehen.Auf item kannst Du dann natürlich beliebig reagieren, zum Test zeige ich die empfangenen Daten einfach an.
In Makecode.beta scheint noch ein Fehler zu sein, da sowohl „schreibe Text“ als auch „schreibe Zeile“ die BT-Verbindung mit verschiedenen getesteten Smartphone-Apps abbricht. Das Empfangen funktioniert aber. Hier muss wahrscheinlich Jörn nochmal ran.
Hier noch ein Beispiel-Programm zum Import in MIT App Inventor. Calliope_Temperatur.aia.hex (259,5 KB)
Was ich dort bisher nicht gelöst habe ist:
Beim „WriteRXCharacteristic“ wird „MIT#“ nur akzeptiert wenn der Text nicht mit join zusammengesetzt wird. Das stört aber nicht, falls Du keine Rückmeldungen vom Calliope anzeigen/auswerten möchtest.
Beim „TXCharacteristicReceived“ wird „A list of unsigned byte values read from the device.“ zurückgegeben und nicht der Text. Ziel war es eigentlich einen Punkt unten in der App zum Steuern verwenden zu können und nicht nur vorwärts/rückwärts/rechts/links.
auf dem Calliope installiert zeigt er mir auch die blaue LED und möchte eine PIN, obwohl ich „Keine Kopplung erforderlich: Jeder kann eine erste Verbindung über Bluetooth herstellen.“ eingeschalten habe. mini-Calliope_Bluetooth_Temperatur.hex (659,1 KB)
Vielleicht hast Du noch eine Idee, eventuell ganz einfach das Koppeln erst einmal herstellen mit der MIT-APP und dem Calliope Programm.
Beste Grüße und recht herzlichen Dank für Deine/ - aber auch Eure Gedult
erstmal Glückwunsch zum Tab S5. Es freut mich dass Du die App nun ohne Fehlermeldung laden kannst.
Deine HEX für den Calliope habe ich getestet. Da sich der Calliope mit „Calliope mini“ sieht es nach der Beta aus. Du schreibst dass die blaue LED an geht. Das erfolgt aber nur nach dem erfolgreichen Verbinden, es sollte also doch funktioniert haben?
Ich habe Deine Version direkt auf den Calliope gespeichert. Beim Test mit meinem Calliope ist die LED beim Start aus. Am Android-Gerät drücke ich auf „Scan“.Sobald der Calliope gefunden wurde auf „Stop Scan“, wähle den Calliope aus und drücke auf „Connect“. Daraufhin wird bei mir die LED blau und die Temperatur wird angezeigt. Die Tasten am Calliope lösen nichts aus, aber das „Send MIT on UART“ zeigt bei mir die Laufschrift „MIT“ am Calliope an.
Sollte der Calliope beim Aktualisieren der Android App verbunden sein (LED blau) dann reicht ein Reset des Calliope um die Verbindung neu aufbauen zu können.
Ich hatte den Calliope mal gekoppelt aber lange vor den Tests wieder entkoppelt. Von einer PIN sehe ich nichts, wo wird diese denn angezeigt? Am Tab S5 trotz manuell erteilter Berechtigung „Standort“ für die App „MIT AI2 Companion“ am Tab S5? Falls ja, dann muss ich meine Frau Fragen ob sie mir ihr Tab S5e leiht um unter ähnlichen Bedingungen testen zu können.
Hey Manfred und „weites Calliope-Forum “,
anbei mal folgende Bilddokumentation zu meinen Tests im ersten Schritt mit der APP „micro:bit Blue“:
folgendes Programm auf dem Calliope:
funktioniert bei mir … die Dienste sind grün. Der Beschleunigungssensor-Dienst geht bei mir aber auch nicht, entfern den mal bitte.
In der Device List erscheint Dein Calliope als "BBC micro:bit (BONDED). Für mich sieht es so aus, als ob der Calliope mit dem Android-Gerät gepaired wurde. Drück mal in den Quick-Settings (Bildschirm von oben nach unten streichen) länger auf das Bluetooth-Symbol, dann rechts auf das Zahnrad-Symbol beim „BBC micro:bit“ und Entkoppeln.
In der „micro:bit Blue“ App musste ich hin und wieder die Auswahl „Refresh Services“ wählen um die aktualisierten Dienste zu sehen.
Hi Manfred,
es funktioniert… die Temperatur wird angezeigt.
Der Fehler lag daran, dass mehrere Services im Calliope Programm hinterlegt waren. Nur mit dem Temperatur Service funktioniert es.
Es ist zwar noch nicht das was ich mit den SuS machen wollte, aber gut.
Ich bleibe dran…
sehr schön dass es nun auch bei Dir funktioniert. Testen ohne Erfolge macht leider wenig Spaß.
Nachdem die „micro:bit Blue“ app nun funktioniert kannst Du nun den „D-PAD CONTROLLER“ wie in folgendem PDF auf Seite 55 beschrieben nutzen. Das hatte ich schon mit der Anzeige einer Zahl je nach Button erfolgreich getestet.
Da die „micro:bit Blue“ nun funktioniert solltest Du nochmal „MIT App Inventor“ testen (siehe oben).
Die App kannst Du auch viel einfacher gestalten und die Button analog „micro:bit Blue“ einfach nachbauen. Beim Betätigen sendest Du einfach einen Text (z.B. Zahl 1-8) die dann einfach am Calliope ausgewertet werden kann. Mit dem „MIT App Inventor“ kannst Du auch die Makecode Beta testen.
Vielleicht hast Du nun ja auch 5 Wochen Zeit für die Überraschung nach den Osterferien.