Inhoudsopgave:
- Benodigdheden
- Stap 1: Probeer het gewoon
- Stap 2: Voorbeeld: gevraagde basisconfiguratie
- Stap 3: Voorbeeld: willekeurige AT-opdrachten
- Stap 4: Polariteit?
- Stap 10: Geniet van de vrucht van je werk
Video: HC-05 seriële configuratie via Bluetooth - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:14
Terwijl ik Android-apparaten en HC-05 Bluetooth SPP-modules gebruikte voor sommige Arduino-projecten, wilde ik de HC-05-baudrates en andere parameters controleren en wijzigen zonder verbinding te maken met een USB-poort van een pc. Dat is dit geworden.
HC-05-modules verbinden seriële en Bluetooth-apparaten met behulp van het Bluetooth Serial Port Profile (SPP). Velen in de Arduino-gemeenschap hebben beschreven hoe deze modules moeten worden geconfigureerd en gebruikt, waaronder verschillende Instructables. Het gebruik van een HC-05 vereist vaak een eerste bedrade seriële verbinding. De meeste how-to's beschrijven het gebruik van een soort USB-naar-serieel adapter, vaak een Arduino-bord, voor toegang tot de "commando"-modus van de module vanaf een pc. Ik heb liever een widget waar ik gewoon een HC-05 in kan steken en verder kan gaan.
Dit 'baar' omvat:
-
een schets die…
- geef onmiddellijk de huidige seriële bitsnelheid aan (wat misschien alles is wat u nodig hebt)
- detecteer de huidige snelheid en begin met seriële communicatie
- gebruikersinvoer verzamelen via Bluetooth SPP
- signaal om op de HC-05-opdrachtknop te drukken
- stuur commando's naar de module
- ontvang indien nodig het antwoord van de HC-05
- signaal om de opdrachtknop los te laten
- antwoord terug naar de gebruiker via de BT-verbinding
-
een kant-en-klaar apparaat
- OPTIONEEL voor het gemak
- zeer lage kosten
- heel klein
- klaar om de HC-05-module in te pluggen
- aangedreven door microUSB-kabel
- gebruikt een Digispark-achtig bord met ATtiny85 mcu
Ik heb de schets getest op een UNO-kloon en een Digispark-kloon. Het kan werken op andere Arduino-achtige boards die een "Serial" -klasse implementeren met RX op pin 0.
Benodigdheden
- HC-05 module + carrier board (AliExpress)
- Arduino-achtig mcu-bord (UNO-kloon getest AliExpress)
- aansluitonderdelen (zoals dit vanaf hier)
- Schets vanaf hier
Optioneel: onderdelen om een widget te bouwen - later vermeld
Stap 1: Probeer het gewoon
Voordat je nadenkt over wat je eventueel gaat solderen: probeer gewoon de schets.
Ik noem het baudat sinds het baud- en AT-commando's behandelt en om Mssr. Emile Baudot.
Als je dit leest, heb je waarschijnlijk zoiets als een HC-05 en zoiets als een "gewoon" Arduino-achtig ATmega328-bord zoals een UNO R3 of niet te veel anders. De schets is getest op een UNO R3-kloon. Ik verwacht dat het zal werken op andere boards die een seriële klasse implementeren en pin 0 gebruiken voor seriële RX. Of bewerk serialRxPin.
- Download de schets, upload deze naar je bord en open een Serial Monitor-venster.
- U zou de verbonden bitsnelheid binnen de initiële ruis moeten kunnen lezen. Nu weet je de verbindingssnelheid, maar baudat niet.
- Typ er iets bij. Het zou de bitsnelheid moeten detecteren en doorgaan. Een willekeurige smash op het toetsenbord zal waarschijnlijk werken. 'U' komt over de draad zoals x0101010101x, wat onmiskenbaar is. Elke twee of meer gebruikelijke afdruktekens (7 bit, niet "uitgebreid") die samen worden verzonden (regel per keer versus teken per keer) zouden moeten werken.
- Probeer de monitor op verschillende snelheden aan te sluiten. Gemeenschappelijke snelheden die worden ondersteund door HC-05-modules zouden moeten werken. baudat herkent geen zeer langzame, zeer snelle of "oneven" snelheden zoals 14, 400 bps.
- Probeer de interactie uit en kijk wat het naar uw HC-05 zou sturen als het was aangesloten.
Stap 2: Voorbeeld: gevraagde basisconfiguratie
Het zou er ongeveer zo uit moeten zien:
##ruis##ruis##ruis##
Dit is 57600 bps. Typ iets. 'U' is robuust.
##ruis##ruis##ruis##
baudat HC-05 configuratietool
BT-naam, "polaire" en seriële bitsnelheid instellen? [j/n] Ja
Naam Bluetooth-apparaat instellen? [j/n] Ja
Nieuwe naam: My_New_BT_Widget
Polariteit BT-verbindingsstatus instellen? [j/n] Ja
Wanneer aangesloten, zet u STATE pin LOW(0) of HIGH(1)? [0/1] 0
Ondersteunde seriële baudrates:
a: 500000 b: 230400 c: 115200 d: 57600 e: 38400 f: 19200 g: 9600 h: 4800 i: 2400 Selecteer nieuwe snelheid: [a-i] a
==== Nieuwe parameters ====
BT-naam: My_New_BT_Widget Verbonden STATE-signaalniveau: 0 Baud: 115200
Maak je klaar om op de HC-05 commandomodusknop te drukken …
Druk op wanneer LED oplicht; laat los wanneer de LED knippert.
Klaar? [elke sleutel]
Gaan…
Deze proef doet eigenlijk niets omdat er geen HC-05 in de lus zit. Bij verbinding met baudat via Bluetooth:
- u zult de opdrachten die naar de module zijn verzonden niet zien in de opdrachtmodus
-
de RESET's kunnen de Bluetooth-verbinding al dan niet beëindigen, afhankelijk van de HC-05-firmwareversie
HC-05-firmwareversie 3.0-20170601 kan bijvoorbeeld de seriële bitsnelheid wijzigen zonder de BT-verbinding te verbreken
OF…
Stap 3: Voorbeeld: willekeurige AT-opdrachten
Om willekeurige AT-commando's in te voeren, weigert u de gevraagde configuratie:
BT-naam, "polaire" en seriële bitsnelheid instellen? [j/n] Nee
Voer opdracht in: AT+versie
Maak je klaar om op de HC-05 commandomodusknop te drukken …
Druk op wanneer LED oplicht; laat los wanneer de LED knippert.
Klaar? [elke sleutel]
Gaan…
Resultaat:
Voer opdracht in: AT
(deze voorbeelden zijn in afzonderlijke stappen in een poging om opmaakborkage te omzeilen. Als ze verminkt zijn, zie de bijgevoegde tekstbestanden.)
Stap 4: Polariteit?
Afbeeldingen. Want makkelijker getoond dan verteld.
Bekijk alle foto's en opmerkingen voordat u begint, want soms helpt een later detail om een eerdere stap te interpreteren.
Stap 10: Geniet van de vrucht van je werk
De laatste foto is de eerste foto.
Aanbevolen:
Standalone Arduino 3.3V W / externe 8 MHz klok wordt geprogrammeerd vanaf Arduino Uno via ICSP / ISP (met seriële bewaking!): 4 stappen
Standalone Arduino 3,3 V met externe 8 MHz-klok die wordt geprogrammeerd vanaf Arduino Uno via ICSP / ISP (met seriële bewaking!): Doelstellingen: een stand-alone Arduino bouwen die op 3,3 V van een externe klok van 8 MHz draait. Om het te programmeren via ISP (ook bekend als ICSP, in-circuit serieel programmeren) vanaf een Arduino Uno (draaiend op 5V) Om het bootloader-bestand te bewerken en de
Seriële monitor bekijken via Bluetooth: 4 stappen
Bekijk seriële monitor via Bluetooth: dit project gebruikt een HC-05 Bluetooth-module om een traditionele bedrade verbinding te vervangen die wordt gebruikt voor het bekijken van de seriële monitor. Materialen: Arduino - https://amzn.to/2DLjxR2 Breadboard - https://amzn.to /2RYqiSK Doorverbindingsdraden - https://amzn.to/2RYqiSK H
PC RAM-gebruik naar Arduino via seriële poort: 7 stappen
PC RAM-gebruik naar Arduino Via seriële poort: Een vriend van mij heeft me geïnspireerd met zijn kleine Arduino-project. Dit kleine project omvat de Arduino UNO R3, die gegevens leest door een programma gemaakt in Arduino IDE, verzonden naar een seriële poort (USB-poort) door een C#-programma gemaakt in Visual Studio. Zoals dit
Seriële poort via wifi: 10 stappen
Seriële poort via wifi: datacommunicatie tussen elektronische apparaten is onvermijdelijk in veel elektronische projecten en biedt veel voordelen voor uw project, d.w.z. uw microcontroller op pc aansluiten en gegevens bewaken op een groot kleurrijk scherm in plaats van kleine monochrome
RF seriële datalink {via USB}: 3 stappen
RF Serial Data Link {via USB}: TECGRAF DOC Gegevens verzenden met een goedkope RF-module via USB. De schakeling ontvangt energie van de USB-poort (kan 100 mA leveren en met wat programmeren kunt u 500 mA bereiken) Lijst met materialen: 1 - Een paar RF-modules (zoals Laipac RLP/TL