Matalatehoinen BLE tiedonkeräin
Ruoho, Joel (2018)
Ruoho, Joel
Tampereen ammattikorkeakoulu
2018
Creative Commons Attribution-NonCommercial-ShareAlike 1.0 Suomi
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-201804084254
https://urn.fi/URN:NBN:fi:amk-201804084254
Tiivistelmä
Tässä opinnäytetyössä ideoitiin, suunniteltiin ja rakennettiin matalatehoinen Bluetooth Low Energy -tiedonkeräin.
Tiedonkeräin ideoitiin aluksi lyijyakkujen varauksen ja varaamisen seurantaan, mutta suunnittelun aikana mittauspiireistä keksittiin tehdä modulaarisia. Mittauspiiri siirrettiin erilliselle piirilevylle, jotta sen ja täten mitattavan suureen voisi vaihtaa toiseen milloin vain.
Laite perustuu HM-10 BLE -sarjaporttilähettimeen, jota käytetään tässä työssä vain piirilevynä jossa on mikrokontrolleri apukomponentteineen. Levyllä on Texas
Instrumentsin CC2541-mikrokontrolleri, jossa on sisäänrakennettu BLE-radio. Sillä voidaan saavuttaa hyvin pieni tehonkulutus, tinkimättä lähetysnopeudesta tai -etäisyydestä. Piirilevyjä suunniteltiin kaksi; päälevy, johon HM-10 -piirilevy kiinnittyy, sekä yksi mittauspiirilevy jännitteen mittaukseen. Suunnittelun apuna käytettiin koekytkentäalustalla testattuja kytkentöjä.
Ohjelmointiin ja debuggaukseen käytettiin IAR SYSTEMSin IAR Embedded Workbench 8051 -ohjelmiston kokeiluversiota, jossa oli lisänä TI:n oma kehitysympäristö. Ympäristö tukee CC-sarjan mikrokontrollereille tehtyä CC Debugger -debuggaus- ja ohjelmointilaitetta.
Koodi perustuu TI:n OSAL- ja HAL-ohjelmakirjastoihin, sekä valmistajan esimerkkiohjelmiin. Kirjastoja käytetään BLE-radion ohjaamiseen ja ajastuksiin. Mittausohjelma tehtiin itse. Kun mittauksia ei suoriteta, laite on lepotilassa suurimman osan ajasta. Se herää vain ilmoittamaan itsestään aika ajoin ja tällöin siihen voidaan muodostaa yhteys. Yhteystilassa mittauksia suoritetaan valituin väliajoin ja tiedot lähetetään yhdistetylle isäntälaitteelle. Säädettävällä mittausvälillä voidaan nopeuttaa mittausta tehonkulutuksen kustannuksella ja päinvastoin.
Keräin käyttää standardoitua BLE protokollapinoa ja siihen kytkettyjä profiileita, joten tiedon lukeminen onnistuu teoriassa kaikista BLE laitteista missä siihen resurssit riittävät.
Tiedonkeräin ideoitiin aluksi lyijyakkujen varauksen ja varaamisen seurantaan, mutta suunnittelun aikana mittauspiireistä keksittiin tehdä modulaarisia. Mittauspiiri siirrettiin erilliselle piirilevylle, jotta sen ja täten mitattavan suureen voisi vaihtaa toiseen milloin vain.
Laite perustuu HM-10 BLE -sarjaporttilähettimeen, jota käytetään tässä työssä vain piirilevynä jossa on mikrokontrolleri apukomponentteineen. Levyllä on Texas
Instrumentsin CC2541-mikrokontrolleri, jossa on sisäänrakennettu BLE-radio. Sillä voidaan saavuttaa hyvin pieni tehonkulutus, tinkimättä lähetysnopeudesta tai -etäisyydestä. Piirilevyjä suunniteltiin kaksi; päälevy, johon HM-10 -piirilevy kiinnittyy, sekä yksi mittauspiirilevy jännitteen mittaukseen. Suunnittelun apuna käytettiin koekytkentäalustalla testattuja kytkentöjä.
Ohjelmointiin ja debuggaukseen käytettiin IAR SYSTEMSin IAR Embedded Workbench 8051 -ohjelmiston kokeiluversiota, jossa oli lisänä TI:n oma kehitysympäristö. Ympäristö tukee CC-sarjan mikrokontrollereille tehtyä CC Debugger -debuggaus- ja ohjelmointilaitetta.
Koodi perustuu TI:n OSAL- ja HAL-ohjelmakirjastoihin, sekä valmistajan esimerkkiohjelmiin. Kirjastoja käytetään BLE-radion ohjaamiseen ja ajastuksiin. Mittausohjelma tehtiin itse. Kun mittauksia ei suoriteta, laite on lepotilassa suurimman osan ajasta. Se herää vain ilmoittamaan itsestään aika ajoin ja tällöin siihen voidaan muodostaa yhteys. Yhteystilassa mittauksia suoritetaan valituin väliajoin ja tiedot lähetetään yhdistetylle isäntälaitteelle. Säädettävällä mittausvälillä voidaan nopeuttaa mittausta tehonkulutuksen kustannuksella ja päinvastoin.
Keräin käyttää standardoitua BLE protokollapinoa ja siihen kytkettyjä profiileita, joten tiedon lukeminen onnistuu teoriassa kaikista BLE laitteista missä siihen resurssit riittävät.