- Τι είναι το HM10 BLE 4.0 Module;
- Διαφορά μεταξύ HM10 και άλλης μονάδας Bluetooth
- Απαιτούμενα στοιχεία
- Διάγραμμα κυκλώματος
- Εφαρμογή Android Arduino Bluetooth Controller (HM-10 Module)
- Προγραμματισμός του Arduino UNO για έλεγχο LED χρησιμοποιώντας HM-10 Bluetooth Module
Το Bluetooth είναι μια από τις πιο δημοφιλείς και εύχρηστες ασύρματες τεχνολογίες. Κατά τη διάρκεια των τελευταίων ετών έχουν γίνει πολλές αναβαθμίσεις του προτύπου Bluetooth για να συμβαδίζει με την τρέχουσα τρέχουσα τεχνολογία με τη μελλοντική τεχνολογία και να ικανοποιεί τις ανάγκες των χρηστών. Ξεκινώντας από την έκδοση Bluetooth 1.0 έως την έκδοση Bluetooth 5.0, άλλαξαν πολλά πράγματα, όπως υψηλότερα ποσοστά δεδομένων, δυνατότητα χρήσης για IoT με χαμηλή κατανάλωση ρεύματος, βελτιωμένη ασφάλεια κ.λπ. Για να μάθετε την επικοινωνία Bluetooth υπάρχουν πολλές διαθέσιμες ενότητες που μπορούν να διασυνδεδεμένοι με μικροελεγκτές. Μια τέτοια μονάδα Bluetooth είναι HM10 που βασίζεται σε Bluetooth 4.0.
Τι είναι το HM10 BLE 4.0 Module;
Το HM10 είναι μια σειριακή μονάδα BLE (Bluetooth-Χαμηλής Ενέργειας) που προορίζεται να χρησιμοποιηθεί για εφαρμογές χαμηλής κατανάλωσης ενέργειας και μπορεί να διαρκέσει πολύ ακόμη και με μπαταρία μεγέθους νομίσματος. Το HM10 είναι μια μονάδα Bluetooth 4.0 που βασίζεται στο Texas Instruments CC2540 ή CC2541 BLE System SoC (System on Chip). Το υλικολογισμικό και ο σχεδιασμός της μονάδας κατασκευάζονται και διαχειρίζονται η Jinan Huamao Technology. Η μονάδα έρχεται με σειριακό / UART επίπεδο που κάνει τη συσκευή να μπορεί να διασυνδέεται με διαφορετικούς μικροελεγκτές. Το HM10 είναι ιδανικό για τη δημιουργία απλών συνδέσεων και τη χρήση του με ή ως iBeacon.
Το HM10 έχει γίνει μια πολύ δημοφιλής μονάδα Bluetooth 4.0 BLE. Το HM10 είναι μόνο μια μονάδα που βασίζεται σε Bluetooth 4.0, επομένως δεν θα συνδεθεί με τη μονάδα Bluetooth 2 / 2.1 όπως τα HC-05, HC-06 και άλλες μονάδες Bluetooth. Το HM10 ελέγχεται μέσω εντολών AT που αποστέλλονται μέσω της σειριακής σύνδεσης UART. Το HM-10 είναι μια μονάδα Bluetooth χαμηλής ενέργειας (BLE), για να μάθετε περισσότερα για το BLE ακολουθήστε τον σύνδεσμο. Μάθετε επίσης πώς μια μονάδα nRF24L01 μπορεί να χρησιμοποιηθεί ως μονάδα BLE με το Arduino.
Διαφορά μεταξύ HM10 και άλλης μονάδας Bluetooth
Η κύρια διαφορά που διαθέτει το HM10 είναι η έκδοση Bluetooth. Η μονάδα HM10 είναι Bluetooth 4.0, επομένως συνοδεύεται από όλες τις δυνατότητες Bluetooth Version 4.0, όπως ταχύτητα, απόδοση και εύρος. Το HM10 προσφέρει ρυθμό δεδομένων έως 24 Mbps με κατανάλωση χαμηλής ενέργειας / χαμηλής ισχύος. Μαζί με αυτό το HM10 προσφέρει απόσταση από 100 μέτρα σε ανοιχτό χώρο. Σε σύγκριση με άλλες μονάδες Bluetooth, όπως το HC-05, το οποίο βασίζεται σε μονάδα Bluetooth 2.0, το HM10 σίγουρα αποδίδει καλύτερα από το HC-05. Το HC-05 προσφέρει μόνο 3 Mbps σε σύγκριση με το HM10 που είναι πολύ λιγότερο.
Η μονάδα Bluetooth HC-05 και HC-06 εξακολουθεί να είναι πολύ δημοφιλής στους κατασκευαστές και τους χόμπι, καθώς είναι φθηνές και εύκολες στη διασύνδεση. Κάναμε επίσης πολλά έργα χρησιμοποιώντας το HC-05/06 και τα διασυνδέσαμε με πολλούς άλλους μικροελεγκτές:
- Διασύνδεση μονάδας Bluetooth με ESP8266: Έλεγχος LED
- Διασύνδεση Bluetooth HC-05 με STM32F103C8 Blue Pill: LED ελέγχου
- Διασύνδεση της μονάδας Bluetooth HC-05 με τον μικροελεγκτή AVR
- Διασύνδεση της μονάδας Bluetooth HC-06 με τον μικροελεγκτή PIC
- Φωνητικά ελεγχόμενα LED με χρήση Arduino και Bluetooth
- Φωνητικά ελεγχόμενα φώτα χρησιμοποιώντας Raspberry Pi
Όλα τα έργα που σχετίζονται με το Bluetooth βρίσκονται σε αυτόν τον σύνδεσμο.
Σήμερα θα συνδέσουμε το HM-10 BLE Module με το Arduino Uno για να ελέγξουμε ασύρματα ένα LED χρησιμοποιώντας πρωτόκολλο Bluetooth. Οι εντολές On / Off θα σταλούν μέσω Smartphone.
Απαιτούμενα στοιχεία
Σκεύη, εξαρτήματα:
- Arduino UNO
- Ενότητα Bluetooth HM10
- Αντίσταση (1 kΩ, 470 Ω)
- Καλώδια αλτών
Λογισμικό:
- Arduino IDE
- Εφαρμογή Android Arduino Bluetooth Controller (HM-10 Module)
- Android Smart τηλέφωνο
Διάγραμμα κυκλώματος
Το διάγραμμα κυκλώματος για τη σύνδεση της μονάδας Bluetooth Arduino και HM-10 είναι πολύ απλό, όπως φαίνεται παρακάτω.
Πριν ξεκινήσετε με το έργο, βεβαιωθείτε ότι η μονάδα HM-10 είναι μια γνήσια μονάδα HM-10. Υπάρχουν ευρέως διαθέσιμες κινεζικές κλωνοποιημένες μονάδες HM-10. Για να προσδιορίσετε τη διαφορά μεταξύ της γνήσιας και της κλωνοποιημένης μονάδας HM-10, απλώς κοιτάξτε την παρουσία του Crystal Oscillator των 32KHz στην πλακέτα HM-10. Εάν υπάρχει το Crystal Oscillator τότε είναι ένα γνήσιο HM-10 Module και δεν χρειάζεται να αλλάξετε το Firmware. Αλλά αν δεν μπορείτε να δείτε το Crystal Oscillator στη θέση του, τότε είναι μια μονάδα Cloned HM10 και πρέπει να αλλάξετε το Firmware της Cloned HM-10 Module. Χωρίς να αλλάξετε το υλικολογισμικό HM-10, δεν μπορείτε ούτε να αποκτήσετε πρόσβαση στη μονάδα HM-10 με εντολές AT ούτε μπορείτε να το αντιστοιχίσετε με smartphone. Εδώ χρησιμοποιούμε επίσης τη μονάδα κλώνου, οπότε αναβοσβήσαμε το υλικολογισμικό της πριν τη συνδέσουμε με το Ardruino. Για να αλλάξετε την ενότητα Firmware of Cloned HM-10, απλώς ακολουθήστε το σεμινάριό μας σχετικά με το πώς να αλλάξετε ή να αναβοσβήσετε το Firmware of Clone HM-10 module.
Εφαρμογή Android Arduino Bluetooth Controller (HM-10 Module)
Το Arduino Bluetooth Controller (HM-10 Module) είναι μια εφαρμογή Android που διατίθεται δωρεάν στο Google Play Store. Αυτή η εφαρμογή διαθέτει εύκολη και απλή διεπαφή για το HM-10 BLE Module. Κατά τη δοκιμή, μπόρεσε να βρει το HM-10 γρήγορα και συνδέθηκε αμέσως με το HM-10. Η εφαρμογή διαθέτει κάποια δροσερή δυνατότητα όπως μπορείτε να δημιουργήσετε ένα κουμπί και να το προσαρμόσετε με προσαρμοσμένο όνομα και λειτουργίες. Εδώ θα δημιουργήσουμε δύο κουμπιά σε αυτήν την εφαρμογή ελεγκτή Bluetooth για να ενεργοποιήσετε και να απενεργοποιήσετε το LED που είναι συνδεδεμένο με το Arduino.
Πώς να ρυθμίσετε την εφαρμογή Android Arduino Controller (HM-10 Module):
- Κατεβάστε την εφαρμογή από το Google Play Store.
- Η αρχική σελίδα της εφαρμογής θα μοιάζει παρακάτω όπου μπορείτε να βρείτε δυνατότητες όπως, σύνδεση συσκευής, εικονίδιο αναζήτησης, εικονίδιο διαγραφής, κατάσταση συσκευής, αποστολή κειμένου, προσθήκη προτύπου κ.λπ. Ξεκινήστε με την αναζήτηση της συσκευής κάνοντας κλικ στο εικονίδιο αναζήτησης ή κάνοντας κλικ έως τρεις κουκκίδες στην επάνω δεξιά γωνία και επιλέξτε σύνδεση συσκευής .
- Όλες οι διαθέσιμες συσκευές θα εμφανίζονται στην οθόνη. Επιλέξτε τη σωστή ενότητα HM-10.
- Τώρα το HM-10 θα συνδεθεί με επιτυχία και θα μπορείτε να δείτε την κατάσταση του HM-10 στην κορυφή της οθόνης.
- Τώρα είτε μπορείτε να στείλετε απευθείας ένα κείμενο ή συμβολοσειρά γράφοντας στην ενότητα κειμένου και πατήστε το βέλος για αποστολή ή μπορείτε να δημιουργήσετε ένα προσαρμοσμένο πρότυπο
- Για να δημιουργήσετε ένα προσαρμοσμένο πρότυπο για εξοικονόμηση χρόνου. Κάντε κλικ στο εικονίδιο " + " στην επάνω δεξιά γωνία και συμπληρώστε τις λεπτομέρειες. Το " Όνομα " είναι το όνομα του κουμπιού, το πεδίο " Κείμενο " είναι για κείμενα ή συμβολοσειρά που θα σταλούν στο HM-10 και το " Περιγραφή " είναι μόνο η περιγραφή του κουμπιού που θα λειτουργήσει το κουμπί.
- Αρχικά, δημιουργήστε ένα κουμπί για να ανάψετε το LED και δώστε του ένα πράσινο χρώμα Το κουμπί θα στείλει το γράμμα "N" στο HM-10, το οποίο θα ανάψει το LED που είναι συνδεδεμένο στο Arduino. Ομοίως, δημιουργήστε ένα κουμπί για LED OFF και δώστε του ένα κόκκινο χρώμα.. Το κουμπί θα στείλει το γράμμα "F" στο HM-10 το οποίο θα σβήσει το LED που είναι συνδεδεμένο στο Arduino.
- Τώρα μπορείτε να δείτε τα δύο κουμπιά που δημιουργήθηκαν ακριβώς κάτω από το πεδίο κειμένου. Τώρα αν θέλετε να ελέγξετε το LED, τότε απλώς κάντε κλικ στα κουμπιά.
Αυτό ολοκληρώνει τη ρύθμιση της εφαρμογής Android για τον έλεγχο της μονάδας HM-10. Τώρα θα ξεκινήσουμε με τον προγραμματισμό Arduino Uno για να λάβουμε τους χαρακτήρες από το Android App.
Προγραμματισμός του Arduino UNO για έλεγχο LED χρησιμοποιώντας HM-10 Bluetooth Module
Όπως πάντα, μπορείτε να βρείτε πλήρες πρόγραμμα με βίντεο επίδειξης στο τέλος αυτού του σεμιναρίου. Ο προγραμματισμός του Arduino UNO για αυτό το έργο ούτε απαιτεί πολλή προσπάθεια ούτε βιβλιοθήκη. Μπορείτε να χρησιμοποιήσετε σειριακή βιβλιοθήκη υλικού και λογισμικού. Εάν χρησιμοποιείτε σειριακό λογισμικό, απλώς συμπεριλάβετε σειριακή βιβλιοθήκη λογισμικού αλλιώς προχωρήστε με σειριακή υλικού. Σε αυτό το έργο χρησιμοποιούμε SoftwareSerial. Ξεκινήστε λοιπόν με τη χρήση λογισμικού Serial Library. Οι ακίδες Rx και Tx συνδέονται στις 2 και 3 ακίδες του Arduino.
#περιλαμβάνω
Οι δύο μεταβλητές χρησιμοποιούνται για την αποθήκευση των δεδομένων που λαμβάνονται από την εφαρμογή HM10 και Android.
char appData; Συμβολοσειρά inData = "";
Απλώς ξεκινήστε το Serial Hardware and Software με ρυθμό baud 9600 και εκτυπώστε μερικές δηλώσεις εντοπισμού σφαλμάτων. Ο πείρος LED έχει οριστεί ως έξοδος και αρχικά είναι σβηστός.
Serial.begin (9600); Serial.println ("Η σειρά HM10 ξεκίνησε στις 9600"); HM10.begin (9600); // ορίστε το σειριακό HM10 σε 9600 baud rate pinMode (13, OUTPUT); // onboard LED digitalWrite (13, LOW). // απενεργοποιήστε το LED
Ξεκινήστε να ακούτε τη θύρα HM10 και διαβάστε τη συμβολοσειρά έως ότου το HM10 είναι διαθέσιμο και στέλνει τα δεδομένα. Αποθηκεύστε τα δεδομένα σε συμβολοσειρά.
HM10.listen (); // ακούστε τη θύρα HM10 ενώ (HM10.available ()> 0) {// εάν το HM10 στέλνει κάτι, τότε διαβάστε το appData = HM10.read (); inData = String (appData); // αποθηκεύστε τα δεδομένα σε μορφή συμβολοσειράς Serial.write (appData); }
Για τον εντοπισμό σφαλμάτων του HM10 με εντολές AT απλώς γράψτε την παρακάτω γραμμή κώδικα που θα στείλει τη συμβολοσειρά στο HM10.
if (Serial.available ()) {// Διαβάστε την είσοδο χρήστη εάν είναι διαθέσιμη. καθυστέρηση (10) HM10.write (Serial.read ()); }
Εάν η ληφθείσα συμβολοσειρά είναι "F", τότε εκτυπώστε ένα μήνυμα στη σειριακή οθόνη και απενεργοποιήστε το led αλλιώς εάν η ληφθείσα συμβολοσειρά είναι "N", τότε εκτυπώστε ένα μήνυμα στη σειριακή οθόνη και το Blink led με καθυστέρηση 500ms.
if (inData == "F") { Serial.println ("LED OFF"); digitalWrite (13, LOW); // απενεργοποίηση καθυστέρησης LED (500). } εάν (inData == "N") { Serial.println ("LED ON"); digitalWrite (13, ΥΨΗΛΟΣ); // απενεργοποίηση καθυστέρησης LED (500). digitalWrite (13, LOW); // απενεργοποίηση καθυστέρησης LED (500). }
Αυτό ολοκληρώνει το πλήρες σεμινάριο σχετικά με τον τρόπο ελέγχου των LED χρησιμοποιώντας τη μονάδα Arduino και BLE HM10 Blutooth 4.0. Και πάλι να θυμάστε ότι , εάν έχετε μια γνήσια μονάδα HM10, τότε δεν χρειάζεται να αναβοσβήνετε το υλικολογισμικό της, μπορεί να χρησιμοποιηθεί αμέσως. Αλλά εάν χρησιμοποιείτε μια κλωνοποιημένη μονάδα HM-10, τότε αναβοσβήνετε το υλικολογισμικό στη μονάδα κλώνου HM10 BLE. Εάν έχετε οποιαδήποτε αμφιβολία ή πρόταση, παρακαλώ σχολιάστε παρακάτω ή γράψτε στο φόρουμ μας.