MicroBIT/Calliope an HM-10

Community-Firmware (cfw), Selbstbaucontroller (TX-Pi, ftduino, usw.), usw.
Forumsregeln
Bitte beachte die Forumsregeln!
Antworten
Speerwerfer
Beiträge: 126
Registriert: 01 Apr 2018, 09:32
Wohnort: Oldenburger Münsterland

MicroBIT/Calliope an HM-10

Beitrag von Speerwerfer » 22 Jul 2020, 15:06

Bei Bluetooth hatte ich direkt einen Reflex. Wir spielen hier bei uns viel mit dem Calliope. Und damit kann man auch einen kleinen Robotter bauen. Um den fernzusteuern, habe ich diese Fernbedienung gekauft. Oben steckt ein micro:bit drin (vergleichbare Technik wie der Calliope). Die beiden können sich per Bluetooth unterhalten. Cool wäre, wenn ich den Micro:bit jetzt mit einem HM-10 und damit mit dem ftDuino koppeln könnte. Mal sehen, ob ich da was rauskriege. Im Moment fehlt mir aber auch der HM-10 zum testen.
IMG_20200722.jpg
IMG_20200722.jpg (46.46 KiB) 6522 mal betrachtet
VG
Martin

Benutzeravatar
MasterOfGizmo
Beiträge: 2720
Registriert: 30 Nov 2014, 07:44

Re: Bluetooth am ftDuino

Beitrag von MasterOfGizmo » 22 Jul 2020, 16:26

Speerwerfer hat geschrieben:
22 Jul 2020, 15:06
Cool wäre, wenn ich den Micro:bit jetzt mit einem HM-10 und damit mit dem ftDuino koppeln könnte.
Das klingt nicht ganz trivial. Vor allem finde ich keine Dokumentation, wie der MicroBIT tatsächlich Bluetooth implementiert. Die verständlichsten Infos dazu sind m.E. diese hier. Und das sieht aus, als würden sie andere Service- und Characteristic-UUIDs nutzen, als es das HM-10 ab Werk tut.

Es gibt bei beiden einen "UART"-Dienst, über den Nachrichten hin- und hergesendet werden können, wobei mir nicht klar ist, ob der MicroBIT diesen Dienst für die Fernbedienung überhaupt nutzt.

Der MicroBit scheint
Service: 6e400001-b5a3-f393-e0a9-e50e24dcca9e
und
Characteristic: 6e400002-b5a3-f393-e0a9-e50e24dcca9e Nordic UART TX
Characteristic: 6e400003-b5a3-f393-e0a9-e50e24dcca9e Nordic UART RX

Während das HM-10:
Service: 0000FFE0-0000-1000-8000-00805F9B34FB
und
Characterisic: 0000FFE1-0000-1000-8000-00805F9B34FB RX/TX
nutzt.

Das passt ab Werk schonmal nicht ...

Aber man kann das HM-10 umkonfigurieren wie hier beschrieben: https://people.ece.cornell.edu/land/cou ... asheet.pdf und es damit theoretisch genau die Dienste unter den UUIDs anbieten lassen, wie sie der MicroBIT erwartet. Aber selbst das könnte unzureichend sein, wenn der MicroBIT sehr wählerisch ist, was sein Gegenüber angeht.

Wie man sieht nutzt der Caliope z.B. zwei unterschiedliche Wege zum Senden und zum Empfangen während das HM-10 beides über die gleiche Characteristic macht. Es könnte gut sein, dass das schon das K.O.Kriterium ist, weil der Caliope darauf besteht zwei zu verwenden, man dem HM-10 aber ggf. genau das nicht beibringen kann.

Um die fischertechnik-BT-Fernbedienung am TXT-Controller zu nutzen musste ich vergleichbar tief in die Trickkiste greifen. Kann gut sein, dass HM10 und Caliope zu wenig flexibel sind, um auf den anderen einstellbar zu sein.
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

Benutzeravatar
MasterOfGizmo
Beiträge: 2720
Registriert: 30 Nov 2014, 07:44

Re: Bluetooth am ftDuino

Beitrag von MasterOfGizmo » 22 Jul 2020, 16:34

Hier hat jemand die ersten Schritte unternommen:
https://www.instructables.com/id/Connec ... Bluetooth/

Er schreibt "und das mit der Kommunikation kommt später". Das wäre dann m.E. genau der Teil mit den UUIDs usw ... vielleicht kannst Du zum Autor ja Kontakt aufnehmen.

Was für Code läuft den auf dem MicroBIT, der die Verbindung startet? Ich nehme an, dass das der in der Fernbedienung ist.
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

Speerwerfer
Beiträge: 126
Registriert: 01 Apr 2018, 09:32
Wohnort: Oldenburger Münsterland

Re: Bluetooth am ftDuino

Beitrag von Speerwerfer » 22 Jul 2020, 17:03

Ich will jetzt deinen Thread hier nicht kapern ... vielleicht machen wir das irgendwie anders. Mir fehlen eh Bluetooth Grundlagen für so ein Projekt.
Auf die Schnelle hab ich das hier noch gefunden:

https://tech.microbit.org/bluetooth/profile/
https://support.microbit.org/support/so ... bluetooth-
VG
Martin

Speerwerfer
Beiträge: 126
Registriert: 01 Apr 2018, 09:32
Wohnort: Oldenburger Münsterland

Re: Bluetooth am ftDuino

Beitrag von Speerwerfer » 22 Jul 2020, 17:07

MasterOfGizmo hat geschrieben:
22 Jul 2020, 16:34
Was für Code läuft den auf dem MicroBIT, der die Verbindung startet? Ich nehme an, dass das der in der Fernbedienung ist.
Bin mir nicht sicher, was du meinst. Aber zur Erklärung: Die eigentliche Fernbedienung ist nur Elektrotechnik (also Schalter und Joystick). Kein eigener Speicher, kein Funkmodul, nur eine Schnittstelle zum micro:bit. Der micro:bit wird in die Fernbedienung eingesteckt, fertig. Also ist das Wort Fernbedienung nicht ganz richtig - eher Controllerboard.

Programm und Funktechnik sind auf dem micro:bit. Damit zwei Geräte miteinander sprechen können, wird ein "Kanal" auf beiden Geräten eingestellt und dann kann man mit den Blöcken Daten senden bzw. auf empfangene Daten reagieren.
VG
Martin

Benutzeravatar
MasterOfGizmo
Beiträge: 2720
Registriert: 30 Nov 2014, 07:44

Re: Bluetooth am ftDuino

Beitrag von MasterOfGizmo » 23 Jul 2020, 17:26

Dieser 'Kanal' enthält die Magie. Es ist eher unwahrscheinlich, dass der Microbit solch einen Kanal auch zu völlig anderen Geräten aufbauen kann.
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

Benutzeravatar
MasterOfGizmo
Beiträge: 2720
Registriert: 30 Nov 2014, 07:44

Re: MicroBIT/Calliope an HM-10

Beitrag von MasterOfGizmo » 23 Jul 2020, 21:42

Mit Sender meinte ich den MicroBIT, der in der Fernbedienung steckt.

Wie erfährt der denn, dass er sich mit einem anderen Gerät verbinden soll? Wählt man irgendwie/irgendwo das anzusprechende Gerät aus? Oder macht der das alles alleine? Und wenn mehrere potenzielle Empfänger in der Nähe sind, kommt eine Nachricht dann bei allen an?
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

jodeka
Beiträge: 33
Registriert: 10 Dez 2019, 22:09

Re: MicroBIT/Calliope an HM-10

Beitrag von jodeka » 24 Jul 2020, 08:42

Ich hätte noch einen anderen Vorschlag:

Nimm einen 2. Micro:Bit oder Calliope und bau die Verbindung
zum FtDuino per I2C auf. (FtDuino ist der Slave, Vorsicht Levelunterschied 3,3V zu 5V)

Die zwei Micro:Bits (Joystick und Fernsteuermodul am Fahrzeug) unterhalten sich über
ihre eigenen Bluetooth-Verbindung (Radio Blöcke im Makecode)

Falls noch weitere Eingänge oder Ausgänge benötigt werden, kannst du das IO Modul von
Didacta am Micro:Bit verwenden.

Den HM-10 brauchst du in dieser Variante nicht.

Speerwerfer
Beiträge: 126
Registriert: 01 Apr 2018, 09:32
Wohnort: Oldenburger Münsterland

Re: MicroBIT/Calliope an HM-10

Beitrag von Speerwerfer » 24 Jul 2020, 09:44

Ja, die Idee hatte ich auch schon. Man könnte sogar den Calliope und den Micro:bit mischen.

Aber ich suchen jetzt nach noch einer Lösung: wenn ich einen Adapter finde, den ich anstelle des micro:bit in den Joystick stecken kann, könnte man darüber einen Arduino nano mit Bluetoothmodul oder einen ESP32 anschließen.
VG
Martin

Benutzeravatar
MasterOfGizmo
Beiträge: 2720
Registriert: 30 Nov 2014, 07:44

Re: MicroBIT/Calliope an HM-10

Beitrag von MasterOfGizmo » 24 Jul 2020, 11:41

jodeka hat geschrieben:
24 Jul 2020, 08:42
Die zwei Micro:Bits (Joystick und Fernsteuermodul am Fahrzeug) unterhalten sich über
ihre eigenen Bluetooth-Verbindung (Radio Blöcke im Makecode)
Ah, das ist der entscheidende Hinweis. Die nutzen diese Radio-Blöcke für die Fernbedienung? Das ist m.E. nichtmal Bluetooth. Das nutzt die gleiche Hardware, hat aber mit Bluetooth m.E. nix zu tun. Das ist auch der Grund, warum die Radio-Blöcke aus der Programmieroberfläche entfernt werden, sobald man die Bluetooth-Blöcke aktiviert. Es geht nur das eine oder das andere. Und das was die Radio-Blöcke machen ist m.E. völlig inkompatibel zu allem anderen inkl. PCs, Handies und dem HM10.
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

Speerwerfer
Beiträge: 126
Registriert: 01 Apr 2018, 09:32
Wohnort: Oldenburger Münsterland

Re: MicroBIT/Calliope an HM-10

Beitrag von Speerwerfer » 26 Jul 2020, 21:43

IMG_20200726_133226.jpg
IMG_20200726_133226.jpg (113.08 KiB) 6133 mal betrachtet
Damit kann ich nun einen ESP32 mit Bluetooth anschließen. Der kann ja dann mit dem HM10 reden :-)
VG
Martin

Benutzeravatar
MasterOfGizmo
Beiträge: 2720
Registriert: 30 Nov 2014, 07:44

Re: MicroBIT/Calliope an HM-10

Beitrag von MasterOfGizmo » 26 Jul 2020, 21:58

Das sollte in der Tat gehen. Ich weiss nicht, was Du für alle Einzelteile bezahl hast. Aber ggf.ist der odroid-go die billigere Variante. Hat auch einen esp32 mit Akku, Ladeelektronik und Ganepad-artigen Tasten. Und als Dreingabe hättest Du dann gleich noch einen Bildschirm dabei
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

Speerwerfer
Beiträge: 126
Registriert: 01 Apr 2018, 09:32
Wohnort: Oldenburger Münsterland

Re: MicroBIT/Calliope an HM-10

Beitrag von Speerwerfer » 26 Jul 2020, 22:19

MasterOfGizmo hat geschrieben:
26 Jul 2020, 21:58
Ich weiss nicht, was Du für alle Einzelteile bezahl hast.
Das Gamepad kostet 14 Euro und der Adapter lag hier noch rum ... Der ESP ist ja auch recht günstig.
VG
Martin

jodeka
Beiträge: 33
Registriert: 10 Dez 2019, 22:09

Re: MicroBIT/Calliope an HM-10

Beitrag von jodeka » 01 Aug 2020, 10:37

Hallo,

eine weitere Möglichkeit ist:
Du verwendest anstatt des Micro:bit (oder Calliope) einen CLUE von Adafruit.
Dieser hat die gleichen Anschlüsse wie ein Micro:bit und verwendet als Prozessor
einen nRF52840, der schon Bluetooth integriert hat. Er hat auch ein Display mit
mit 240 * 240.

Der Nachteil, es gibt zwar "nette" Beschreibungen von Adafruit, aber konkrete
Anleitungen zu Bluetooth gibt es leider nicht.

Es sollte zwar funktionieren, aber es ist sicher eine technische Herausforderung.

Benutzeravatar
MasterOfGizmo
Beiträge: 2720
Registriert: 30 Nov 2014, 07:44

Re: MicroBIT/Calliope an HM-10

Beitrag von MasterOfGizmo » 01 Aug 2020, 11:31

Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

Benutzeravatar
EstherM
Beiträge: 1466
Registriert: 11 Dez 2011, 21:24

Re: MicroBIT/Calliope an HM-10

Beitrag von EstherM » 03 Aug 2020, 14:06

Hallo zusammen,
MasterOfGizmo hat geschrieben:
01 Aug 2020, 11:31
Beispiele gibt's doch z.B. hier:
Wenn ich mir die Beispiele so angucke, sehe ich keinen Widerspruch zu
jodeka hat geschrieben:
01 Aug 2020, 10:37
Es sollte zwar funktionieren, aber es ist sicher eine technische Herausforderung.
Der Beispiel-Code scheint doch nach dem Motto "guter Code dokumentiert sich selbst" geschrieben zu sein.
Gruß
Esther

Antworten