Inhoudsopgave:

HC-05 seriële configuratie via Bluetooth - Ajarnpa
HC-05 seriële configuratie via Bluetooth - Ajarnpa

Video: HC-05 seriële configuratie via Bluetooth - Ajarnpa

Video: HC-05 seriële configuratie via Bluetooth - Ajarnpa
Video: Adding Bluetooth to Your Arduino Project with an HC-05 or HC-06 Bluetooth Module 2024, November
Anonim
HC-05 Seriële configuratie via Bluetooth
HC-05 Seriële configuratie via Bluetooth

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:

  1. 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
  2. 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?

Bouw het
Bouw het
Bouw het
Bouw het
Bouw het
Bouw het

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

Geniet van de vrucht van je werk
Geniet van de vrucht van je werk

De laatste foto is de eerste foto.

Aanbevolen: