Größe HM-10Befindet man sich in Apples goldenem Käfig, lässt sich nichteinmal eine Bluetooth Verbindung mit herkömmlichen Bluetooth Geräten aufbauen. Der Austausch von Dateien ist gänzlich blockiert und das beliebte HC-06, dass häufig zur drahtlosen Übertragung des UARTs an einem Mikrocontroller genutzt wird, ist ebenfalls nicht verwendbar.

Abhilfe schafft nur die Verwendung eines Bluetooth 4.0 Moduls. Diese sind seit dem iPhone 4 verwendbar und können ohne Probleme mit dem iOS Gerät verbunden werden. Ein Modul, welches direkt die serielle Verbindung des UARTs überträgt ist das HM-10. Man kann natürlich direkt eine eigene Platine für das Modul entwerfen oder man verwendet eines der verfügbaren Breakout Boards. Für diesen Artikel habe ich dieses Breakout Board verwendet, wobei das keinerlei Rolle spielt. Der Anschluss der Module gestaltet sich denkbar einfach. 3.3V und Masse anschließen und schon kann es losgehen. Die Breakouts haben sogar einen Spannungsregler an Board, sodass eine Versorgungsspannung bis 6V möglich ist. Das iPhone selbst kann die Bluetooth Verbindung jetzt nicht herstellen. Mit Bluetooth 4.0 geschieht dies direkt aus der App heraus, die das Gerät verwenden möchte. Für erste Tests bietet sich die kostenlose App LightBlue an.

Viel mehr als eine Verbindung aufbauen und Daten an das Modul senden ist jetzt natürlich noch nicht möglich. Für erste Tests bietet es sich daher an, einen USB <-> UART Konverter zu verwenden. Bestellt man die Konverter in Deutschland kosten sie etwa 8€. In China sind sie aber oft unter 3€ zu haben. Dafür muss man natürlich die längere Lieferzeit in kauf nehmen. Ich verwende diesen Konverter.

Erster Test auf einem Breadboard mit einem UART USB Konverter
Erster Test auf einem Breadboard mit einem UART USB Konverter

Beim Verbinden von Bluetooth Modul und Konverter ist es wichtig RX und TX zu kreuzen. Also RX an TX und TX an RX anschließen. Danach steht der Verbindung über ein serielles Terminal nichts mehr im Wege. Verbindet man nun auch noch das iPhone über LightBlue mit dem Modul, so ist es möglich die am Computer eingegeben Zeichen als Hex Code zu sehen und Hex Code zurück zu schicken.

Nun ist der Name des Bluetooth Moduls nicht sonderlich aussagekräftig und vielleicht ist auch die Verwendung eines Pin Codes nicht verkehrt. Dafür gibt es die AT Commands. Über sie kann das Modul Konfiguiert werden. Wichtig ist, dass zunächst die Bluetooth Verbindung getrennt wird, da der Zugriff auf die AT Befehle ansonsten nicht möglich ist. Anschließend kann im Teminal AT eingegeben werden. Nun sollte die Rückgabe OK kommen.

Über Befehle wie AT+NAMESmartNOOB könnte der Name des Moduls nun auf SmartNOOB geändert werden. Eine vollständige Liste der Befehle findet sich im Datenblatt, welches hier zu finden ist. Bei der Eingabe ist wichtig alle Buchstaben der Befehle groß zu schreiben. Je nach Firmwareversion sind nicht alle im Datenblat aufgeführten Befehle verfügbar. In diesem Fall muss zunächst ein Update durchgeführt werden.

Jetzt kann es eigentlich auch schon los gehen. Ist das Modul vollständig konfiguiert, kann es an den UART eines Mikrocontrollers angeschlossen werden und der Programmieraufwand beginnt.

Es ist sogar möglich zwei dieser Module miteinander zu verbinden. So ist es denkbar am Raspberry Pi kein USB Bluetooth Modul zu verwenden sondern direkt ein UART Modul. Dokumentiert habe ich das dafür erforderliche Vorgehen in diesem Artikel.

 

3 thoughts on “HM-10 UART Bluetooth – iPhone & AT Befehle”

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.