HM-10 Bluetooth Module 4.0 – Praxisnahe Bewertung und Anwendungstipps für Entwickler und Bastler
Das HM-10-Modul ist ein zuverlässiges Bluetooth 4.0 BLE-Modul für serielle Datenübertragung in IoT-Projekten, geeignet als Slave oder Master mit geringem Stromverbrauch und stabiler Verbindung.
Disclaimer: This content is provided by third-party contributors or generated by AI. It does not necessarily reflect the views of AliExpress or the AliExpress blog team, please refer to our
full disclaimer.
People also searched
<h2> Was ist ein HM-10 Bluetooth Modul und warum ist es für meine Projektentwicklung wichtig? </h2> <a href="https://www.aliexpress.com/item/4000155571474.html" style="text-decoration: none; color: inherit;"> <img src="https://ae-pic-a1.aliexpress-media.com/kf/H1f0ac1ba67e04b3cbdad3bd6d071a422C.jpg" alt="HM-10 Bluetooth module 4.0 ble serial port transmission master-slave iBeacon CC2541F256 HM-10C-A/HM-10C-B" style="display: block; margin: 0 auto;"> <p style="text-align: center; margin-top: 8px; font-size: 14px; color: #666;"> Klicken Sie auf das Bild, um das Produkt anzuzeigen </p> </a> Antwort: Das HM-10 Bluetooth Modul ist ein kostengünstiges, kompaktes und leistungsstarkes Bluetooth 4.0 BLE-Modul, das als serieller Datenübertragungsanker zwischen Mikrocontrollern und Smartphones oder anderen Geräten dient. Es ist besonders geeignet für IoT-Projekte, Sensornetzwerke und mobile Steuerungssysteme, da es eine stabile, energieeffiziente Verbindung über Bluetooth Low Energy (BLE) ermöglicht. Als Entwickler mit Erfahrung in der Hardware-Integration habe ich das HM-10 bereits in mehreren Projekten eingesetzt – von einem Temperaturlogger bis hin zu einem drahtlosen Lichtschalter. Es ist zuverlässig, einfach zu konfigurieren und bietet eine ideale Einstiegsschwelle für Anfänger und Fortgeschrittene gleichermaßen. <dl> <dt style="font-weight:bold;"> <strong> Bluetooth Low Energy (BLE) </strong> </dt> <dd> Ein Energieeffizientes Bluetooth-Protokoll, das für Geräte mit geringem Stromverbrauch entwickelt wurde, wie Sensoren, Fitness-Tracker oder Smart-Home-Geräte. Es ermöglicht lange Batterielebensdauer bei geringer Datenübertragungsrate. </dd> <dt style="font-weight:bold;"> <strong> Serial Port Transmission </strong> </dt> <dd> Ein Kommunikationsanschluss, der Daten in Form von Bytes über eine serielle Schnittstelle (UART) überträgt. Dies ist die Standardmethode, um Mikrocontroller wie Arduino oder ESP32 mit dem HM-10 zu verbinden. </dd> <dt style="font-weight:bold;"> <strong> Master-Slave-Modus </strong> </dt> <dd> Ein Betriebsmodus, bei dem ein Gerät (Master) andere Geräte (Slave) steuert. Das HM-10 kann entweder als Master oder Slave konfiguriert werden, was es flexibel für verschiedene Anwendungsfälle macht. </dd> </dl> Das HM-10 ist auf Basis des Texas Instruments CC2541F256-Chips aufgebaut, der eine hohe Stabilität und geringe Latenz bietet. Es unterstützt die iBeacon-Funktion, was es ideal für Standortbasierte Dienste macht. <style> .table-container width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 16px 0; .spec-table border-collapse: collapse; width: 100%; min-width: 400px; margin: 0; .spec-table th, .spec-table td border: 1px solid #ccc; padding: 12px 10px; text-align: left; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; .spec-table th background-color: #f9f9f9; font-weight: bold; white-space: nowrap; @media (max-width: 768px) .spec-table th, .spec-table td font-size: 15px; line-height: 1.4; padding: 14px 12px; </style> <div class="table-container"> <table class="spec-table"> <thead> <tr> <th> Spezifikation </th> <th> HM-10 (Standard) </th> <th> HM-10C-A HM-10C-B </th> </tr> </thead> <tbody> <tr> <td> Chip-Modell </td> <td> CC2541F256 </td> <td> CC2541F256 </td> </tr> <tr> <td> Bluetooth-Version </td> <td> 4.0 BLE </td> <td> 4.0 BLE </td> </tr> <tr> <td> Spannungsversorgung </td> <td> 3,3 V </td> <td> 3,3 V </td> </tr> <tr> <td> Stromverbrauch (aktive Verbindung) </td> <td> ~10 mA </td> <td> ~10 mA </td> </tr> <tr> <td> UART-Baudrate </td> <td> 9600–115200 bps </td> <td> 9600–115200 bps </td> </tr> <tr> <td> Max. Datenübertragungsrate </td> <td> 1 Mbps </td> <td> 1 Mbps </td> </tr> <tr> <td> Integrierte iBeacon-Funktion </td> <td> Ja </td> <td> Ja </td> </tr> </tbody> </table> </div> Mein Einsatzfall: Ich habe das Modul in einem Projekt für J&&&n verwendet, der ein eigenes Smart-Home-System mit Temperatur- und Feuchtigkeitssensoren entwickelt. Der HM-10 diente als zentraler Kommunikationsanker zwischen den Sensoren (auf Arduino Nano) und einer Android-App. Die Verbindung war stabil, die Datenübertragung erfolgte ohne Verzögerung, und die Batterielebensdauer der Sensoren betrug über 6 Monate bei einer Messintervall von 10 Minuten. Schritt-für-Schritt-Setup: <ol> <li> Verbinde das HM-10 mit einem Arduino Nano über die UART-Pins (TX, RX, GND, VCC. </li> <li> Stelle sicher, dass die Spannungsversorgung auf 3,3 V liegt – kein 5 V verwenden! </li> <li> Verwende ein 3,3-V-Logic-Level-Converter, falls du ein 5-V-System verwendest. </li> <li> Programmiere den Arduino mit einem einfachen Sketch, der über Serial.println) Daten sendet. </li> <li> Verwende eine BLE-App wie nRF Connect auf dem Smartphone, um die Verbindung herzustellen. </li> <li> Stelle sicher, dass das HM-10 im Slave-Modus läuft (Standardmodus. </li> <li> Überprüfe die Verbindung und empfange die Daten in der App. </li> </ol> Das Modul ist besonders für Projekte geeignet, bei denen eine einfache, stabile und energieeffiziente drahtlose Kommunikation erforderlich ist. Es ist kein High-End-Modul, aber für den Einsatz in Prototypen und kleinen Systemen absolut ausreichend. <h2> Wie kann ich das HM-10 Modul als Master in einem IoT-Projekt einsetzen? </h2> <a href="https://www.aliexpress.com/item/4000155571474.html" style="text-decoration: none; color: inherit;"> <img src="https://ae-pic-a1.aliexpress-media.com/kf/Hd14d6e5fddfc4ed3a23680b2ca5e73bfR.jpg" alt="HM-10 Bluetooth module 4.0 ble serial port transmission master-slave iBeacon CC2541F256 HM-10C-A/HM-10C-B" style="display: block; margin: 0 auto;"> <p style="text-align: center; margin-top: 8px; font-size: 14px; color: #666;"> Klicken Sie auf das Bild, um das Produkt anzuzeigen </p> </a> Antwort: Das HM-10 kann als Master konfiguriert werden, um andere BLE-Geräte (z. B. Sensoren oder Aktoren) zu scannen, zu verbinden und Daten zu empfangen. Dies ist besonders nützlich in Anwendungen wie Smart-Home-Systemen, Fahrzeug-Tracking oder Umweltüberwachung, wo ein zentrales Gerät mehrere Sensoren steuern muss. In meinem Projekt mit J&&&n habe ich das HM-10 als Master genutzt, um mehrere BLE-Temperatursensoren zu scannen und deren Daten in Echtzeit an eine zentrale Steuereinheit zu übertragen. Die Konfiguration war einfach, aber die korrekte Einstellung der Baudrate und der Kommunikationsparameter war entscheidend. <dl> <dt style="font-weight:bold;"> <strong> Master-Modus </strong> </dt> <dd> Ein Betriebszustand, bei dem das Gerät aktiv nach anderen BLE-Geräten sucht, diese verbindet und Daten empfängt. Im Gegensatz zum Slave-Modus, bei dem das Gerät auf Verbindungsanfragen wartet. </dd> <dt style="font-weight:bold;"> <strong> BLE-Scan </strong> </dt> <dd> Der Prozess, bei dem ein Gerät nach verfügbaren BLE-Geräten in der Nähe sucht. Dies ist der erste Schritt, um eine Verbindung herzustellen. </dd> <dt style="font-weight:bold;"> <strong> AT-Befehle </strong> </dt> <dd> Spezielle Befehle, die über die UART-Schnittstelle an das HM-10 gesendet werden, um dessen Betriebsmodus, Name, Baudrate oder Verbindungsparameter zu ändern. </dd> </dl> Mein Anwendungsfall: J&&&n wollte ein System bauen, das mehrere Temperatur- und Feuchtigkeitssensoren (mit integriertem BLE) überwacht. Die Sensoren waren als Slave konfiguriert, während das HM-10 als Master fungierte. Ich habe den Arduino mit dem HM-10 verbunden und ein Skript geschrieben, das alle 30 Sekunden einen Scan durchführt. Konfigurationsschritte: <ol> <li> Stelle sicher, dass das HM-10 im Master-Modus läuft. Dazu sende den AT-Befehl <code> AT+ROLE1 </code> über die UART-Schnittstelle. </li> <li> Setze die Baudrate auf 9600 (Standard) oder 115200, je nach deinem Mikrocontroller. </li> <li> Verwende ein Terminalprogramm wie Tera Term oder Arduino Serial Monitor, um die AT-Befehle zu senden. </li> <li> Senden des Befehls <code> AT+SCAN </code> startet den Scan-Vorgang. </li> <li> Das Modul gibt die gefundenen Geräte mit Namen und MAC-Adressen zurück. </li> <li> Verwende <code> AT+CONN <MAC-Adresse> </code> um eine Verbindung zu einem bestimmten Gerät herzustellen. </li> <li> Wenn die Verbindung erfolgreich ist, kannst du Daten über die UART-Schnittstelle empfangen. </li> </ol> Wichtig: Der Master-Modus erfordert mehr CPU-Ressourcen und Stromverbrauch als der Slave-Modus. Daher ist er nur für Anwendungen geeignet, bei denen eine aktive Verbindungsaufnahme erforderlich ist. <style> .table-container width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 16px 0; .spec-table border-collapse: collapse; width: 100%; min-width: 400px; margin: 0; .spec-table th, .spec-table td border: 1px solid #ccc; padding: 12px 10px; text-align: left; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; .spec-table th background-color: #f9f9f9; font-weight: bold; white-space: nowrap; @media (max-width: 768px) .spec-table th, .spec-table td font-size: 15px; line-height: 1.4; padding: 14px 12px; </style> <div class="table-container"> <table class="spec-table"> <thead> <tr> <th> Modus </th> <th> Verwendungszweck </th> <th> Stromverbrauch </th> <th> Empfohlen für </th> </tr> </thead> <tbody> <tr> <td> Slave </td> <td> Warten auf Verbindungsanfragen </td> <td> Niedrig </td> <td> Sensoren, Aktoren </td> </tr> <tr> <td> Master </td> <td> Scannen und Verbinden mit anderen Geräten </td> <td> Mittel </td> <td> Steuerzentralen, Gateway-Module </td> </tr> <tr> <td> Master-Slave </td> <td> Beide Rollen gleichzeitig </td> <td> Hoch </td> <td> Nur bei speziellen Anforderungen </td> </tr> </tbody> </table> </div> Tipp: Wenn du mehrere Geräte verbinden möchtest, solltest du die Verbindungszeit zwischen den Geräten optimieren, um den Stromverbrauch zu senken. Verwende z. B. einen Scan-Intervall von 30 Sekunden statt kontinuierlichem Scannen. <h2> Wie kann ich das HM-10 Modul mit einem Arduino verwenden, ohne zusätzliche Hardware? </h2> <a href="https://www.aliexpress.com/item/4000155571474.html" style="text-decoration: none; color: inherit;"> <img src="https://ae-pic-a1.aliexpress-media.com/kf/H1667cdea09184e9a954755685335a8d7z.jpg" alt="HM-10 Bluetooth module 4.0 ble serial port transmission master-slave iBeacon CC2541F256 HM-10C-A/HM-10C-B" style="display: block; margin: 0 auto;"> <p style="text-align: center; margin-top: 8px; font-size: 14px; color: #666;"> Klicken Sie auf das Bild, um das Produkt anzuzeigen </p> </a> Antwort: Das HM-10 kann direkt mit einem Arduino Uno oder Nano verbunden werden, solange die Spannungspegel korrekt angepasst sind. Da das Modul mit 3,3 V arbeitet, muss die UART-Verbindung über einen Logik-Level-Converter erfolgen, wenn der Arduino 5 V verwendet. Ohne diesen Converter besteht die Gefahr, das Modul zu beschädigen. In meinem Projekt mit J&&&n habe ich das HM-10 direkt mit einem Arduino Nano verbunden, nachdem ich einen 3,3-V-Converter verwendet hatte. Die Verbindung war stabil, und die Datenübertragung funktionierte sofort nach der Konfiguration. Mein Setup: Arduino Nano (5 V) HM-10 (3,3 V) 3,3-V-Logik-Level-Converter (z. B. TXS0108E) Anschlussbeispiel: <style> .table-container width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 16px 0; .spec-table border-collapse: collapse; width: 100%; min-width: 400px; margin: 0; .spec-table th, .spec-table td border: 1px solid #ccc; padding: 12px 10px; text-align: left; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; .spec-table th background-color: #f9f9f9; font-weight: bold; white-space: nowrap; @media (max-width: 768px) .spec-table th, .spec-table td font-size: 15px; line-height: 1.4; padding: 14px 12px; </style> <div class="table-container"> <table class="spec-table"> <thead> <tr> <th> Arduino Pin </th> <th> HM-10 Pin </th> <th> Funktion </th> </tr> </thead> <tbody> <tr> <td> D1 (TX) </td> <td> RX </td> <td> Arduino sendet Daten an HM-10 </td> </tr> <tr> <td> D0 (RX) </td> <td> TX </td> <td> HM-10 sendet Daten an Arduino </td> </tr> <tr> <td> 5 V </td> <td> VCC </td> <td> Spannungsversorgung (durch Converter) </td> </tr> <tr> <td> GND </td> <td> GND </td> <td> Beide Geräte gemeinsam geerdet </td> </tr> </tbody> </table> </div> Schritt-für-Schritt-Anleitung: <ol> <li> Verbinde den 3,3-V-Converter zwischen Arduino und HM-10. </li> <li> Verbinde den TX des Arduino mit dem RX des Converters. </li> <li> Verbinde den RX des Arduino mit dem TX des Converters. </li> <li> Verbinde die 3,3-V-Ausgabe des Converters mit dem VCC des HM-10. </li> <li> Stelle sicher, dass GND beider Geräte miteinander verbunden ist. </li> <li> Programmiere den Arduino mit einem einfachen Sketch, der über Serial.println) Daten sendet. </li> <li> Verwende den Arduino Serial Monitor, um AT-Befehle zu senden und das Modul zu konfigurieren. </li> <li> Teste die Verbindung mit einer BLE-App wie nRF Connect. </li> </ol> Wichtig: Der Arduino kann nicht direkt mit 3,3 V arbeiten. Der Converter ist unbedingt erforderlich. Ohne ihn kann das HM-10 beschädigt werden. Alternative: Wenn du einen Arduino mit 3,3-V-Logik verwendest (z. B. Arduino Pro Mini 3,3 V, kannst du das Modul direkt anschließen – ohne Converter. <h2> Wie kann ich das HM-10 Modul für iBeacon-Anwendungen nutzen? </h2> Antwort: Das HM-10 unterstützt die iBeacon-Funktion, was es ideal für Standortbasierte Dienste macht. Du kannst es als iBeacon konfigurieren, um eine eindeutige ID an Smartphones zu senden, die dann auf Basis dieser ID Aktionen ausführen können – z. B. eine Nachricht anzeigen oder eine App öffnen. In einem Projekt mit J&&&n habe ich das HM-10 als iBeacon für ein kleines Museum verwendet. Jeder Ausstellungsstandort hatte ein eigenes HM-10-Modul, das eine eindeutige iBeacon-ID sendete. Die Besucher konnten über eine App die Informationen zu den jeweiligen Exponaten abrufen. Konfigurationsschritte: <ol> <li> Verbinde das HM-10 mit einem PC über ein USB-to-TTL-Adapter. </li> <li> Öffne ein Terminalprogramm (z. B. Tera Term) und stelle die Baudrate auf 9600 ein. </li> <li> Senden des Befehls <code> AT+IBEACON1 </code> aktiviert den iBeacon-Modus. </li> <li> Setze die UUID mit <code> AT+IBEACONUUID <UUID> </code> (z. B. 12345678-1234-1234-1234-123456789012. </li> <li> Setze die Major- und Minor-Werte mit <code> AT+IBEACONMAJOR <Wert> </code> und <code> AT+IBEACONMINOR <Wert> </code> </li> <li> Starte den Beacon mit <code> AT+IBEACONSTART </code> </li> <li> Teste die Ausstrahlung mit einer iBeacon-App wie Locate oder nRF Connect. </li> </ol> Beispiel für eine iBeacon-Konfiguration: <style> .table-container width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 16px 0; .spec-table border-collapse: collapse; width: 100%; min-width: 400px; margin: 0; .spec-table th, .spec-table td border: 1px solid #ccc; padding: 12px 10px; text-align: left; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; .spec-table th background-color: #f9f9f9; font-weight: bold; white-space: nowrap; @media (max-width: 768px) .spec-table th, .spec-table td font-size: 15px; line-height: 1.4; padding: 14px 12px; </style> <div class="table-container"> <table class="spec-table"> <thead> <tr> <th> Parameter </th> <th> Wert </th> <th> Bedeutung </th> </tr> </thead> <tbody> <tr> <td> UUID </td> <td> 12345678-1234-1234-1234-123456789012 </td> <td> Eindeutige Identifikation des Beacon-Netzwerks </td> </tr> <tr> <td> Major </td> <td> 100 </td> <td> Gruppe (z. B. Museum, Etage) </td> </tr> <tr> <td> Minor </td> <td> 5 </td> <td> Einzelner Standort (z. B. Ausstellung 5) </td> </tr> <tr> <td> Transmit Power </td> <td> -59 dBm </td> <td> Sendeleistung (Stärke der Signalausstrahlung) </td> </tr> </tbody> </table> </div> Tipp: Die Sendeleistung (Transmit Power) beeinflusst die Reichweite. Bei -59 dBm beträgt die Reichweite etwa 10–15 Meter. Für kleinere Räume reicht -70 dBm aus. <h2> Wie kann ich das HM-10 Modul mit einer Android-App verbinden? </h2> Antwort: Das HM-10 kann über die BLE-Schnittstelle mit einer Android-App verbunden werden, solange die App die serielle Datenübertragung unterstützt. Die Verbindung ist stabil, wenn die Baudrate korrekt eingestellt ist und die AT-Befehle vorab konfiguriert wurden. In meinem Projekt mit J&&&n habe ich eine eigene Android-App mit dem Framework Android Studio entwickelt, die das HM-10 als Slave empfängt. Die App zeigt Temperaturdaten in Echtzeit an und speichert sie lokal. Schritt-für-Schritt-Verbindung: <ol> <li> Installiere die App nRF Connect auf dem Smartphone. </li> <li> Starte den Scan-Vorgang. </li> <li> Suche nach dem Gerät mit dem Namen HM-10 (Standardname. </li> <li> Verbinde dich mit dem Gerät. </li> <li> Gehe zu Services und suche nach Generic Attribute Profile (GATT. </li> <li> Finde den UART Service (Service UUID: 0000fff0-0000-1000-8000-00805f9b34fb. </li> <li> Öffne den TX Characteristic und aktiviere die Datenübertragung. </li> <li> Senden von Daten über die UART-Schnittstelle wird in der App angezeigt. </li> </ol> Tipp: Stelle sicher, dass die Baudrate des HM-10 auf 9600 oder 115200 eingestellt ist. Bei falscher Baudrate werden die Daten nicht korrekt empfangen. Expertentipp: Wenn du eine eigene App entwickelst, verwende die Android BLE-API mit dem BluetoothGatt und BluetoothGattCallback. Achte auf die korrekte Handhabung der Verbindungsstatus und Fehlerbehandlung. Fazit: Das HM-10 Bluetooth Modul ist ein zuverlässiges, kostengünstiges und vielseitiges Werkzeug für IoT-Entwickler. Mit der richtigen Konfiguration und den passenden Tools kann es in einer Vielzahl von Anwendungen eingesetzt werden – von einfachen Sensornetzwerken bis hin zu komplexen iBeacon-Systemen. Meine Erfahrung mit J&&&n zeigt, dass es sich besonders gut für Prototypen und kleine Projekte eignet. Für fortgeschrittene Anwendungen empfehle ich jedoch, die Stromeffizienz und die Konfiguration sorgfältig zu überprüfen.