HC-05 Bluetooth sarjaportti

Sulautetuissa laitteissa usein tarvitaan sarjaporttia ja sarjakaapelia tiedonsiirtoa varten. Joskus voi kuitenkin olla tilanne sellainen, että tarvitaan langatonta tiedonsiirtoa, koska kaapelia ei ole mahdollista käyttää tai sen käyttö olisi hyvin vaikeaa (esim. liikkuva sovellus tai jokin usean metrin päässä oleva laite).

Käytännössä langattomia tekniikoita on tarjolla paljon muitakin, kuin otsikossa mainittu HC-05 moduuli, mutta tässä keskitytään kuitenkin vain tämän käyttöön MSP430 Launchpad alustalla.

HC-05 moduulin avulla saadaan luotua yksinkertainen langaton sarjaportti sulautetun laitteen (tässä tapauksessa Launchpad) ja jonkin toisen laitteen (tässä tapauksessa Lumia 920 puhelin) välille. Sarjaportin välillä saadaan tietoa liikkumaan, kuten langallisessakin versiossa, mutta ilman mitään välikaapeleita luonnollisesti.

HC-05 moduuli tarjoaa käyttäjälleen helpon tavan liittää sulautettu laite osaksi langatonta bluetooth verkkoa. Moduuli on "Plug 'N Play" tyyppinen, eli moduulia voidaan käyttää tiedonsiirrossa "suoraan paketista". Useampaa moduulia käytettäessä, on kuitenkin hyvä tutustua sen konfigurointiin AT-komentojen avulla.

Tässä rakentelussa juotetaan HC-05 moduuli BoosterPack (BP) -piirilevylle, kiinnitetään siihen pari lediä ja testataan yhteys launchpadin avulla. Tällä sivulla esitelläänkin vain HC-05 moduulin yleistä toimintaa, jota on testattu Launchpadin sarjaporttimuuntimen avulla. Mitään varsinaista sovellusta MSP430 sarjan mikrokontrollerille ei toistaiseksi ole tehty, eikä moduulin asetuksia tai AT-komentoja ole sen koommin revitty auki. Syynä tähän on se, että tiettyjä komentoja tullaan selittelemään jatkossa muiden rakenteluiden yhteydessä.

Tämän pitemmittä puheitta asiaan!

HC-05 moduulin tiedot

HC-05 Moduuli

Yllä olevassa kuvasssa nähdään moduuli, joka on kooltaan 28mm x 15mm. Kyseisestä moduulista tarvitaan käyttöön tässä tapauksessa 5+2 nastaa, jotka ovat:

  • TX = tiedonsiirto moduulilta
  • RX = tiedonsiirto moduulille
  • KEY = konfigurointipinni tai MODE-pinni, tästä myöhempänä lisää
  • 3.3V = käyttöjännite
  • GND = maa
    -------------- sekä --------------
  • LED1 = toimintamoodin ilmaisin LED
  • LED2 = laiteyhteyden (parituksen) ilmaisin LED

Kyseisiin pinneihin voi juottaa vaikkapa hyppylangat, mikäli siltä tuntuu, mutta tässä tapauksessa olen hommannut itselleni boosterpackin, mihin moduuli voidaan juottaa kiinni. Boosterpack (BP) voidaan puolestaan asettaa Launchpadin päälle, kunhan boosterpackissa on sopivan sukupuolen liittimet paikallaan.

Alla olevissa kuvissa nähdään HC-05 moduuli juotettuna paikoilleen sekä boosterpackille juotetut tarvittavat lisäkomponentit (jumpperi KEY-pinniä varten + LEDit vastuksineen).

HC-05 Moduuli

HC-05 Moduuli

HC-05 AT-komentomoodin testaus

Kun moduuli on saatu paikoilleen juotettua + tarvittavat lisäkomponentit, voidaan siirtyä testaamaan saadaanko moduulille yhteys AT-komentojen avulla.

Aluksi pitää varmistaa, että jumpperit ovat launchpadilla oikein päin (rev 1.5) ja että MSP430-mikrokontrolleri ei ole paikoillaan:

jumpperien tarkistus ja MSP430 pois

Tämän jälkeen BP voidaan asettaa LP:n päälle tavanomaiseen tapaan:

LP+HC-05BP.JPG

Seuraavaksi asetetaan USB-kaapeli kiinni tietokoneen ja Launchpadin välille, jolloin HC-05 moduuli käynnistyy. Kun LED1 käynnistyksen jälkeen alkaa vilkkumaan useamman kerran sekunnissa, asetetaan jumpperi yläasentoon, jolloin KEY-nastaan kytkeytyy 3.3 volttia. Tässä voi käyttää myös vipukytkintä jos siltä tunnustaa:

Jumpperin asetus

Tämän jumpperin asetus mahdollistaa sen, että moduuli ottaa PC:ltä vastaan AT-komentoja, jotka toimivat Launchpadin virtuaalisarjaportin avulla 9600 8N1 nopeudella. AT-komentoja käytettäessä, tulee KEY-pinnin olla "1" -tilassa aina. Alla olevissa kuvissa löytyy sarjaportin vaadittavat asetukset ja saadut vastaukset AT-komentoihin.

Teraterm asetukset

Tiedot moduulilta

Yllä olevassa kuvassa on tehty modulille kysely sen FW-versiosta, BT-osoitteesta ja laitenimestä. Laitenimi on se nimi, joka näkyy muille Bluetooth laitteille ja tämä voidaan vaihtaa haluttaessa, mutta tällä hetkellä sen annetaan olla tehdasasetuksilla näin.

Yhteyden ollessa kunnossa, voidaan HC-05 moduulin tarjoamaa sarjaporttia käyttää kuten tavallistakin sarjaporttia. Seuraavaksi voidaankin testata laiteyhteyden muodostaminen ja tiedonsiirto langattomasti kahden eri laitteen välillä.

Laiteyhteys Nokia Lumia 920 puhelimeen

Puhelimelta on asetettava BT-laitteiden tunnistus päälle ja hetken kuluttua HC-05 -niminen laite löytyy yhdistettävien listalta, kuten kuvassa alla:

BT laitteet löydetty

Oletuksena HC-05 moduuli vaatii PIN-koodin yhteyttä muodostavalta laitteelta ja se on vakiona 1234. Kun koodi näppäillään ja bluetooth yhteys laitteeseen on muodostettu, niin HC-05 moduuli vilkuttaa yhteyslediä noin 2 sekunnin välein.

BT laitteet löydetty

BT laitteet löydetty

Seuraavaksi sovelluskaupasta on ladattava BlueSPP sovellus, millä sarjaporttiyhteys voidaan HC-05 moduulille muodostaa. Sovelluksen asennuksen jälkeen se voidaan avata ja yhteys muodostaa laitteiden välille asetuksista. Linkki BlueSPP:n Google Playssa ja Windows Phone kaupassa. Alla olevassa kuvassa BlueSPP sovellus on käynnissä ja HC-05 moduuli näkyy yhdistettävissä laitteissa:

BlueSPP yhdistys

Sarjaportin auettua tiedonsiirto on nyt valmis ja dataa voidaan Launchpadin ja Windows Phonen välillä liikutella ja tällöin LED2 loistaa datayhteyden merkiksi.

BT-yhteys muodostettu

Sovellusta voidaan testata kirjoittamalla tietokoneen terminaaliohjelmaan merkkejä ja vastaanottamalla ne BlueSPP sovelluksen terminaali-ikkunassa, kuten kuvassa alla. Vastaavasti tietoa voidaan älypuhelimesta lähettää myös takaisin.

BlueSPP yhdistys OK

Huomioita ja loppusanat

Ainakin itselle alussa tuotti ongelmia saada laite oikein asettumaan AT-komentomoodiin, mutta pienen tutkiskelun jälkeen proseduuri oli varsin helppo. Jotta HC-05 moduuli saadaan AT-komentomoodiin, täytyy KEY-pinni asettaa "1" -tilaan virtojen kytkemisen jälkeen. Tämä voidaan tehdä sovelluksessa ohjelmallisesti tai elektroniikalla kytkimen tai jumpperin avulla. AT-komentomoodia ei myöskään voi täysin käyttää silloin, kun yhteys BT-laitteeseen on jo muodostettu.

Kyseistä moduulia on tarkoitus käyttää tulevissa projekteissa ja näitä tulikin kasattua kolme kappaletta valmiiksi sitä tarkoitusta varten. Yhteen moduuliin onnistuin vaihtamaan sarjaporttinopeuden yli 9600 bps, jolloin AT-komennot eivät luonnollisesti alkaneet enää uudestaan toimimaan virtakatkon jälkeen. Ilmeisesti MSP430 Launchpad ei tue nopeampaa tiedonsiirtoa P1.1+P1.2 nastoista ulospäin, sillä skoopilla katsottuna bittinopeus ei muuttunut 9600 bps:stä vaikka terminaaliohjelmaan sitä muuttikin. Täytyneekin hommata ihka oikea sarjaporttimuunnin joka tukee eri nopeuksia, jotta saan kolmannenkin HC-05 moduulin takaisin tehdas asetuksille.

Lisätietoja kyseisen moduulin käytöstä kannattaa lueskella mm. alla olevista linkeistä:

http://www.exp-tech.de/service/datasheet/HC-Serial-Bluetooth-Products.pdf 
http://www.instructables.com/id/Arduino-AND-Bluetooth-HC-05-Connecting-easily/
https://mbed.org/users/edodm85/notebook/HC-05-bluetooth/