LoRa je technológia pre prenos dát na veľké vzdialenosti, ktorá vyniká aj odolnosťou voči rušeniu, či prenosu dát aj cez prekážky, kde by iné technológie zlyhali. LoRa je výborná pre použitie tam, kde nemáme WiFi, či inú formu pripojenia k internetu a chceme prenášať dáta. Dnes si ukážeme LoRa systém využívajúci PPP komunikáciu (bod-bod) v aplikácii monitorovania napätia trakčnej batérie, ktorá napája elektrický oplotok. Batéria je olovená s napätím 12V. Tento projekt je vhodný aj pre poľnohospodárske družstvá, samostatne hospodariacich roľníkov, chovateľov dobytka a pod. Nájde ale využitie aj v iných odvetviach pre podobný účel.
Opisované LoRa zariadenia fungujú v páre. Jedno funguje ako vysielač a meria napätie batérie skrz napäťový delič a druhé funguje ako prijímač, ktorý po prijatí dát dokáže dáta preposlať ďalej do databázy do vlastnej webaplikácie, ktorá k projektu bola vytvorená - Batmonitor, alebo môže dáta prenášať aj po MQTT protokole na ľubovoľnú IoT cloudovú službu. Obe zariadenie majú identický hardvér a sú osadené na mnou navrhnutej prepojovacej doske 433_LoRa_Lolin32.
Trakčná batéria, ktorej napätie sa meria permanentne napája elektrický oplotok, resp. zdroj impulzov, ktorý do oplotku generuje krátke vysokonapäťové pulzy (niekoľko-tisíc voltov), ktoré odrádzajú zver od prekročenia plota a chránia tak úrodu pred možnou škodou, prípadne chované zvieratá pred útekom z ohrady, či pred zverou zvonku, ktorá sa k ním môže dostať a napáchať veľké škody.
Trakčná 12V batéria a generátor vysokonapäťových impulzov
V tomto prípade je trakčná batéria dobíjaná solárnym panelom skrz samostatný solárny kontróler, ktorý celý proces dobíjania riadi. Kontróler má konfigurovateľné režimy prevádzky, prahové napätia. Má dokonca aj relé výstup, kde je možné pripojiť záťaž, či už do svorkovníc, alebo do USB-A výstupov (len 5V). Taktiež nechýba ani funkcia časovača pre spúšťanie záťaže v potrebnom čase a ďalšie... Toto je len doplnková funkcionalita, ktorá nie je potrebná k aplikácii zberu údajov o napätí batérie. Nakoľko ale je batéria dobíjaná, je možné sledovať aj napätie na svorkovách batérie počas dobíjania a kontrolovať tak, či bola počas dňa batéria dobíjaná a v akých napätiach sa pohybuje. Inými slovami, uvidíme napätie batérie aj nad 12,6V, čo je napätie plne nabitej batérie v kľudovom stave. Pri prevádzke bez dobíjania batérie by sme videli len úmerne klesajúce napätie.
Solárny panel a nabíjací solárny kontróler pre správu nabíjania
Stávalo sa po minulé roky, že divá zver (jelene, divé svine) strhla plot na zem pri pokuse o prekročenie plotu a to malo za následok prebíjanie oplotku do zeme, čo drasticky zvýšilo odber. Druhým faktorom bolo, že ak narástla dostatočne vysoká tráva a dotýkala sa oplotku, býval problém najmä pri a po daždi, keď bola tráva mokrá a skrz ňu prebíjal oplotok taktiež do zeme. Behom 24 až 48 hodín toto dokázalo vybiť batériu aj pod 8V z plne nabitého stavu.
Z dlhodobého hľadiska to má negatívny vplyv aj na kapacitu batérie z dôvodu sulfatácie a podobne. Preto sa musela batéria pravidelne chodiť merať minimálne raz za 2 až 3 dni. V záujme o uľahčenie si života a automatizácie tejto funkcionality využijeme pre tento účel senzorový uzol (LoRa vysielač založený na mikrokontréri ESP32), ktorý bude vykonávať merania napätia batérie v pravidelných intervaloch a posielať tieto dáta ďalej.
Pôvodne som riešenie chcel vytvoriť na doske XIAO_LoRa, avšak pájkovanie batérie priamo na pady zo spodnej časti XIAO dosky sa mi veľmi nepáčilo, zvlášť, keď som nemal JST XH konektor (v SMD verzii) s roztečou 2,54 mm, teda v obdobnom prevedení ako to má PH 2.0 verzia na Lolin32 devkite. Baterku som nechcel natvrdo pájkovať bez možnosti odpojenia, keďže som zariadenie zostavoval vždy až na mieste. Preto som sa rozhodol pre 433_LoRa_Lolin32 DPS (napravo).
Neosadená DPS XIAO_LoRa a 433_LoRa_Lolin32
Osadená DPS XIAO_LoRa a druhá DPS 433_LoRa_Lolin32 (okrem OneWire a ADC1_CH5 konektora) a porovnanie ich veľkostí oproti 2€ minci
Doska 433_LoRa_Lolin32 obsahuje možnosti pripojiť:
V porovnaní s XIAO_LoRa doskou, 433_LoRa_Lolin32 nediposnuje miestom pre spájkovanie rezistorov pre napäťový delič priamo na DPS. Z toho dôvodu ich bolo nutné napájkovať priamo na kábel, ktorý ide k batérii na strane vysielača. Použil som rezistory, ktoré šuflík dal. Pri výbere som dbal nato, aby som pokryl celé možné napätie batérie, ktorá je dobíjaná. Štandardne môže mať až 14,8 V (pre ľahšie výpočty zaokrúhlime na 15V).
Nakoniec som sa rozhodol pre kombináciu 470K rezista na vstup deliča a 100K rezistor do zeme deliči. Z takéhoto pomeru rezistorov vzniklo to, že výstupné napätie deliča je 5,7-krát menšie od vstupného. Nevyužije sa tak celý 3V3 rozsah ESP32 a jeho ADC pinu, pri napätí batérie 15V bude na výstupe deliča 2.63V, teda je tam ete viac ako 0,6V rezerva na zvyšovanie vstupného napätia ešte o viac ako 3V, teda limit je niekde okolo (nad) 18V vstupu.
Napäťový delič v pomere 1:5,7, t.j. výstupné napätie je 5,7-krát nižšie ako vstupné
Samotná spotreba deliča sú nízke desiatky uA, ktoré sú ťahané z batérie, v operačnom rozsahu je to od 18 uA to 26 uA. Pri 12,6V je to niečo cez 20 uA, čo je zanedbateľný prúd, ktorý prakticky ani neovplyvňuje výdrž trakčnej batérie, keďže denná spotreba (za 24 hodín) bude niekde na úrovni 480 uA až 600 uA v závislosti od vstupného napätia meranej trakčnej batérie, ktoré sa mení, nakoľko je batéria nabíjacím obvodom dobíjaná počas dňa a slnečného žiarenia, teda v danom čase je napätie vyššie v porovnaní napr. s nocou, kedy solárny panel negerenuje dostatočné napätie pre nabíjanie.
Túto formulu používa aj senzorový uzol (LoRa vysielač) po meraní mV na ADC pine na prepočet vstupného napätia. Vysielač vysiela ADC napätie a aj vypočítané vstupné napätie deliča v preddefinovanej štruktúre, ktorú pozná aj prijímač, aby dokázal dáta dekódovať. Pri meraní ADC pinom mikrokontroléra ESP32 sa vykonáva jedno skúšobné meranie, ktoré ma za úlohu eliminovať šum, či naindukované napätie a následne sa vykonáva 5 priemerovaných meraní, ktorých výsledok sa berie za finálnu hodnotu napätia deliča. Z tejto hodnoty sa počíta aj vstupné napätie deliča.
Ako vidíme na blokovej schéme riešenia, vysielač neposiela dáta priamo do databázy, ale iba prijímaču cez LoRa technológiu. Prijímač má k dispozícii WiFi AP (prístupový bod) v dosahu, ktorý mu poskytuje konektivitu pre pripojenie sa na internet a vykonanie prenosu dekódovaných dát po HTTPS protokole POST metódou do databázy vlastnej webovej aplikácie, či cloudovej IoT služby (alternatívne je možné využiť aj MQTT protokol). Umiestnenie prijímača voči vysielaču tak bude mať prioritu pre spoľahlivé a najmä periodické prijímanie dát.
Vysielač a prijímač boli umiestnené do elektrikárskych krabíc s rozmermi 100x100x38 mm, vrátane napájacieho lítiového článku. Na predný kryt krabíc som dopasoval solárny panel 100x100 mm. Tento panel má 5V výstup a dokáže dodávať špičkový výkon až 3W, štandardne 1,2W, čo je dostatočné. Vysielač funguje v režime hlbokého spánku, do ktorého uspáva aj LoRa modul RA-02 (AI-Thinker) pre šetrenie energie v neaktívnom stave. Prebúdza sa v pravidelných intervaloch iba pre účel merania napätia a odoslania dát na prijímač raz za 10 minút. Vzhľadom na Spreading factor 12 a šírku pásma 125 kHz je airtime niekde na úrovni 1,3 sekundy, čo predstavuje duty cycle na úrovni 0,2%.
Krabička 100x100 a solárny panel s výkonom 3Wp
Celkový uptime vysielača v aktívnom stave je pod 2 sekundy, keďže meranie trvá prakticky niekoľko nanosekúnd a samotný prenos dát okolo 1,2 sekundy. Spotreba v režime hlbokého spánku pre vysielač bude niekde nad 2 mA. Je to dané najmä integrovanými LED diódami, trvale napájaným USB-UART prevodníkom CH340, napájaným step-down meničom. Vzhľadom na dobíjanie batérie nie je problémom ani táto spotreba, ktorá sa môže zdať vysoká pre LoRa zariadenie. Ak by sme prešli na XIAO, spotreba by bolo niekde okolo 50 uA, tak snáď nabudúce :-).
Prijímač ale musí byť trvale napájaný, teda u neho je vyššia požiadavka na prevádzku na batériu. Z toho dôvodu som tu siahol po 2000 mAh Li-Ion batérii z dôvodu, že spotreba môže byť od 17 mA po 80 mA v závislosti od nastavenia Lolin32 devkitu, resp. firmvéru. Devkit môže byť v aktívnom stave a spotrebúvať okolo 50 mA, aby dokázal kontrolovať v programovej slučke loop, či dorazili nejaké dáta.
Druhou možnosťou je, že devkit môže spať, ale musí predtým urobiť niekoľko vecí. RA-02 musí byť nastavený do režimu posluchu (RX) pre aktívny príjem paketov, čo má za následok jeho konštantnú spotrebu 15 mA. Interrupt pin DIO0 na RA-02 (SX1278) module dokáže zmeniť svoj stav na HIGH pri prijatí paketu a môže byť použitý ako externý interrupt pre prebudenie mikrokontroléra ESP32 z režimu spánku, ktorý už dáta spracuje.
Sú tu ale určité úskalia... Prijímač môže byť maximálne v light sleepe, čo znamená vyššiu spotrebu v porovnaní s deep sleep režimom u vysielača, i keď to zase nie je až tak dramatické a hlavnú zložku spotreby bude robiť len LoRa modul. Je to práve z dôvodu, že pri prebudení z light sleepu mikrokontróler pokračuje v programe tam, kde skončil (od bodu, kde bol uspatý), aby okamžite dáta prečítal. Ak by šlo o deep sleep, mikrokontróler by musel byť reštartovaný a tak musí znova nastaviť aj LoRa modul, teda dáta sa stratia, respektíve by sa premeškali.
Reálna spotreba:
Podarilo sa mi vyrátať spotrebu prijímača za posledné 3 dni, počas ktorých som odpojil solárny panel, aby bolo možné vyrátať približnú spotrebu z úbytku napätia na batérii. Vychádza to konkrétne na 13.62 mAh, teda o niečo menej, ako bol predpoklad podľa tabuľkových hodnôt (17 až 20 mAh). V tejto spotrebe nie je iba "low-power" režim, ale aj početné vysielania dát skrz WiFi na webserver. Menšia spotreba oproti odhadovanej určite poteší a predĺži čas behu zariadenia. S takouto spotrebou by bez dobíjania solárnym panelom prijímač dokázal fungovať celých 6 dní v aktívnom stave (pre 2000 mAh batériu). Teda v pohode prežije ani niekoľko dní, keď nesvieti slnko a je daždivo, či pod mrakom.
U vysielača som spotrebu nemeral. Pár krát som len námatkovo skúsil priložiť voltmeter, väčšinou podvečer, keď už zachádzalo slnko a batéria nebola z panela dobíjaná. Stále som nameral 4,18 až 4,22V, teda batéria bola stále plne nabitá. Môj skromný odhad bude, že spotreba bude do 5 mAh a solárny panel vie toto úplne v pohode kompenzovať aj pri tejto menšej batérii, ktorá má 1000 mAh.
Vysielač vyzerá identicky, ako prijímač s dvoma rozdielmi, že má z krabičky okrem antény vyvedené aj vodiče s nalisovanými očkami, ktoré sa pripájajú k svorkám trakčnej batérie pod skrutku. Druhým rozdielom je použitie Li-pol batérie miesto Li-Ion, ktorá sa pripája identicky, no má navyše aj ochranný obvod. Obvod by mal fungovať najmä proti skratu a prebitiu.
Vysielač vybavený Li-pol batériou a integrovaným napäťovým deličom 1:5,7 so svorkami pre pripojenie k batérii a solárnym panelom
Ochranu proti vybitiu batérie nemá, nakoľko ako som sa už skôr sám presvedčil, vybilo batériu až do 0V. Po dosiahnutí nízkeho napätia, kedy sa už ESP32 nedokázalo spustiť to robilo nekonečný reštart (brownout) a vyťahalo batériu dočista za jednu noc (možno len za pár hodín, nemeral som kedy to nastalo).Dobrou správou ale bolo, že aj z takéhoto stavu dokázala elektronika Lolinu32 batériu opätovne nabiť a drží aj kapacitu.
Kritickým bodom bolo umiestnenie prijímača voči vysielaču. Vysielač už bol stacionárny a prišlo k problému s nepriamou viditeľnosťou pri prvom plánovanom osadení prijímača. Vysielač a prijímač boli od seba asi 662 metrov. Nedošlo k priamej viditeľnosti, čo potvrdzuje model prepočtu HeyWhatsThat Path Profiler, alebo UISP Design Center. Druhý model je presnejší, nakoľko umožňuje nastavenie výšky antén nad zemským povrchom voči sebe, čo umožňuje dostať presnejší výstup. Ani jeden z modelov ale nepočíta s budovami, stromami vo výhľade. Ich prepočet je relevantný iba k povrchu ako takému pre overenie "priamej viditeľnosti".
Takéto umiestnenie vysielača a prijímača malo za následok nekonzistentnosť v prijatých paketoch a značnú variáciu pomeru signálu voči šumu (nižšia hodnota je horšia). RSSI je možné vyhodnotiť ako dosť zlé, až takmer nedostatočné (i keď LoRa má nato rezervu až niekde k -137 dBm, možno až -141 dBm) s takýmito podmienkami prenosu dát bez priamej viditeľnosti. Rovnako tak občas prijímač nebol schopný prijať paket, alebo dekódovať ho v dôsledku čoho bol zahodený.
Signál v takomto posadení vysielača a prijímača prechádza prakticky po takmer jednu tretinu cesty skrz kopec a blízko prijímača ešte aj cez asi 3 strechy budov a veľký listnatý strom. Do budúcna bude treba poupraviť pozíciu prijímača, prípadne zvýšiť výšku antény na vysielači. V aktuálnej konštalácii je väčší problém s parametrom SNR, ktorý reprezentuje pomer signálu voči šumu. Hodnoty by mali byť od +20 dB do -5, čo sa už považuje za nekvalitný signál. V našom prípade máme hodnoty SNR, ktoré kolíšu a sú blízko k -20 dB, čo reprezentuje veľmi nekvalitný signál, prakticky plný šumu.
Keď pomer presiahne -20 dB, je to prakticky nedekódovateľný signál. -20 je to ale iba pre Spreading Factor 12, u iných spreading factorov je to bližšie smerom k 0 dB. Ako môžeme vidieť aj variáciu SNR za poslednú hodinu, dosť sa mení, čo je spôsobené najmä tým, že sa signál nechytá na prijímači priamo, ale iba z odrazov. Stáva sa tak, že občas prjímač nie je schopný dekódovať paket, inokedy je zase X minút ticho, kým sa prijímaču opäť podarí prijať dáta.
Po navýšení výšky antény sa pomer signálu voči šumu môže radikálne zvýšiť
Ako môžeme aj z čiarového grafu (ApexCharts) vidieť, loguje sa napätie trakčnej batérie a posiela sa do SQL databázy. Túto webaplikáciu nazývam aj Batmonitor. Môžeme vidieť, že pred šiestou hodinou ráno začína byť aktívny aj solárny panel, ktorý túto batériu dobíja a stará sa o jej power management. Po štvrtej hodine poobede klesá prúd z panela, čím sa znižuje napätie na batérii, až neskôr nie je batéria nabíjaná vôbec a počas noci dosahuje napätie niekde na úrovni 12,6 až 12,5V, čo značí takmer plne nabitú batériu aj počas tohto obdobia.
Systém dokáže pri nízkom napätí batérie zaslať aj email s informáciou o stave napätia, teda nie je nutné sústavne monitorovať webovú vizualizáciu s grafom. Aby emaily neboli otravné, pošle sa maximálne 1 e-mail za 6 hodín a aj to iba v prípade, že napätie batérie kleslo pod 11V, čo už indikuje značné vybíjanie, keď maximálne prípustné vybíjanie olovenej batérie je do 10,5V a pod túto hodnotu by nemal klesnúť, teda notifikácia je včasná a s meraním v XX minútovom intervale dokáže upozorniť tak, aby obsluha mohla vykonať obhliadku, či meranie batérie.
Čo sa týka LoRa komunikácie, vysielač a prijímač používa rovnakú prednastavenú nosnú (strednú) frekvenciu, šírku pásma, rovnaký spreading factor, coding rate, alebo čo je najdôležitejšie, spoločný sync word, vďaka ktorému môžem mať viacero PPP LoRa komunikácii, ktoré budú iba logicky oddelené sync wordom, ktorý filtruje pakety. Vďaka tomu prijímač bude reagovať iba na pakety od určeného vysielača, ktorý používa identický sync word a iný odignoruje (resp. odfiltruje).
V praxi je tu super napríklad pre produkčnú verziu LoRa aplikácie a testovaciu, kedy sa nemusíte báť, že by vám prijímač v produkcii zachytil aj testovacie dáta, i keď pracujete blízko neho. Využíva sa iný sync word, hoci stredná frevencia, i šírka pásma je rovnaká. Všetky zariadenia tak budú používať identickú frekvenciu, šírku pásma t.j. kanál, ale budú rozdelené len logicky na základe iného sync wordu (môžeme to nazvať aj inou podsieťou). Existujú aj špecifické sync wordy, ktorým by ste sa mali vyhnúť, napríklad 0x34, ktorý je vyhradený pre verejné LoRaWAN siete. V tomto prípade najde o LoRaWAN sieť, ale o vlastnú LoRa PPP (Point-to-Point) aplikáciu s dátami, ktoré sú prakticky verejné a ak si niekto vhodne nastaví prijímač a vie dekódovať aj obsah, ktorý sa prenáša, dokáže vidieť to, čo sa tam posiela.
Pre túto kontrétnu aplikáciu používam "striktný" vysielač a prijímač. Samozrejme je možné zariadenia prepínať aj medzi režimami vysielania, alebo prijímania dát. Nedokážu ale prijímať a vysielať v reálnom čase, vždy je nutné navoliť režim. Z toho pohľadu označujeme takúto komunikáciu ako half-duplex. V podobnej aplikácii by príjem na vysielači mohol slúžiť na prijímanie konfiguračných dát, zmenu parametrov, napr. časovača početnosti vysielaní a podobne. Režim prijímania by ale na vysielači musel byť aktívny napr. po vysielaní po určitú dobu a samozrejme modul by spotrebuvával 15 mA len na RA-02 module. V snahe o low power end-node ide iba o striktný vysielač, ktorý je neaktívny a zobudí sa iba v preddefinovaný čas na krátke vyslanie informácie, po ktorom opäť prechádza do režimu hlbokého spánku. Aj keby sa niečo po jeho sync worde posielalo, nepríjme nič, lebo je "hluchý".
Na videu nižšie môžete vidieť vizuál webaplikácie Batmonitor a moment, kedy dôjde k prijatiu nových dát (simulované skrz Postman), ktoré sa automaticky objavia v hornej časti, ktorá poukazuje na poslednú hodnotu napätia batérie a čas prijatia týchto dát. Dáta sú dynamicky zapísané aj do grafu s vizualizáciou napätia batérie v čase, aj do tabuľky nižšie, ktorá vypisuje aj dáta technického charakteru o RSSI, SNR...
Nakoľko simulované prijaté dáta obsahujú napätie batérie pod 11V, odosiela sa aj notifikácia e-mailom s informáciou o poklese napätia batérie. To pomôže pri informovaní prevádzkovateľa o potrebe vykonania obhliadky oplotku, jeho celistvosti, či potrebe výmena oloveného akumulátora. Takto sa zníži aj šanca, že by v prípade spadnutého oplotku došlo k vybitiu batérie do nebezpečných hodnôt. Informácia je včasná. Ak by sa použil iný napäťový delič s iným pomerom, je možné identický hardvér použiť aj na meranie napätia pre 24V, alebo 48V systémy.
Chceli by ste podobné riešenie aj pre Váš oplotok, či obdobnú aplikáciu? Možné prispôsobiť na mieru a prenášať aj senzorové dáta napríklad o teplote skrz DS18B20 OneWire snímač s extra spotrebou len 3µA v standby režime, ale je možné doplniť aj ďalšie snímače pre získanie dát o GPS polohe, či dáta z vyššieho systému založeného na RS485, či inej priemyselnej zbernici. Rovnako tak je možné takýto senzorový uzol integrovať aj do LoRaWAN siete s použitím LMIC knižnice, ktorá podporuje aktivačné režimy ABP, alebo OTAA. Pre Európu je ale skôr preferovaná LoRaWAN sieť na 868 MHz.
V prípade záujmu, či otázok mi napíšte na: martin.ch.youriot@gmail.com
Aktuálne napätie batérie pre túto konkrétnu aplikáciu môžete sledovať na: https://hladinomer.eu/LoRa/ za predpokladu, že LoRa vysielač a prijímač stále beží a neboli použité do iného projektu.
Pri záujme o low-power optimalizovaný firmvér pre vysielač a prijímač (ESP32 + LoRa modul, kompatibilný akýkoľvek z rady SX127X, teda aj SX1276 pre 868 MHz LoRu), alebo aj webaplikáciu v PHP pre vizualizáciu nameraných dát, prípadne aj o GERBER súbory pre DPS, ktorá bola v tomto článku opisovaná, prosím navštívte:
https://www.jaspravim.sk/your-iot/lora-merac-napatia-baterie-2x-firmver-252571
Zaujímavosti z prevádzky na záver:
(Obrázky si môžete zväčšiť pre plné rozlíšenie a lepšiu čitateľnosť grafu)
LoRa modul RA-02 (Semtech SX1278) má oscilátor typu XO, nejde teda o teplotne kompenzovaný oscilátor (TXCO). Dochádza tak k teplotnému driftu. Ako môžeme na obrázku nižšie vidieť počas noci, kedy sú obe zariadenia prakticky teplotne totožné je frekvenčný ofset zistený na prijímači (rozdiel prijatej frekvencie od nosnej) okolo -3500 až 3600 Hz. Keď je ale aktívny solárny panel a napätie batérie sa zvyšuje, prirodzene slnečné žiarenie ohrieva aj hardvér vysielača. Ako môžeme vidieť, frekvenčný ofset sa tak znižuje a prijatá frekvencia je bližšie k nosnej frekvencii. Teplotná zmena tak ovplyvňuje generovanú nosnú frekvenciu.
Závislosť odchýlky prijatej frekvencie od zmeny teploty
V niektorých prípadoch sa približuje k nule, čo je prakticky ideálny, presný signál (v grafe najlepšia hodnota -21 Hz, ale samozrejme sa vie preklopiť aj do kladných čísel, čo tiež predstavuje odchýlku, do druhého smeru). Priamo Semtech uvádza, že používa low-cost oscilátor s presnosťou na ± 20ppm. To odpovedá odchýlke do ± 8600 Hz pre nosnú frekvenciu 433,175 MHz. Pri použití spreading factoru 12 je odchýlka možná do ± 21700 Hz. Takže v závislosti od kusu pri rovnakej teplote môžete dosahovať rôzne hodnoty odchýlky prijatej frekvencie od cieľovej v rámci tohto rozsahu.
Vzájomná závislosť RSSI a SNR
Rovnako tak je viditeľná určitá závislosť aj medzi výkonom prijatého signálu (RSSI) a pomerom signálu voči šumu (SNR) pri statickej polohe vysielača voči prijímaču. Všetky spomenuté parametre sú merané na strane prijímača. Vidieť, že v niektorých prípadoch skokovito vyskočil výkon prijatého signálu (hodnota bližšie k nule je lepšia), pričom silnejší signál priniesol aj skokovitý nárast šumu (pomer signálu voči šumu sa zhoršil). Pravdepodobne šlo o nejaké odrazy, kedy signál nedoputoval priamo do prijímača, ale odrazil sa tam napríklad od strechy priľahlej budovy. V ostatných prípadoch je to šírenie signálu prakticky konštantné a hodnoty sa medzi sebou líšia minimálne. Neviem, ako veľmi nato vplýva vegetácia, ktorá neustále rastie. Nezaznamenal som výraznejšie odchýlky ani napríklad počas dažda.
Z grafu napätia 12V batérie je pekne vidieť, v ktoré dni svietilo slnko a batéria bola dobíjaná a v ktoré dni bolo pod mrakom, prípadne pršalo a batéria bola dobíjaná minimálne, alebo vôbec. Napätie na svorkách batérie sa v upršaných dňoch, či dňoch pod mrakom nedosahovalo prakticky ani nad 13V.
Viditeľnosť slnečných a zamračených dní vzhľadom na generované napätie solárnym panelom
Alterantívne rozhranie
Ak nechceme hostovať webaplikáciu Batmonitora, je možné využiť aj iné IoT cloudové služby, ktoré poskytujú nástroje pre zber, archiváciu a vizualizáciu dát. Líšia sa možnosťami, ale mávajú aj svoje limity, najmä v plánoch využitia zdarma. Štandardne býva obmedzený počet správ za mesiac, či počet aktivovaných zariadení, ktoré môžu pod používateľským účtom fungovať. Môžu nastať isté obmedzenia aj v podobe uzamknutých funkcionalít, dostupných widgetov, či obmedzeného času archivácia historických dát.
Medzi najznámejšie môžeme zaradiť napríklad Blynk, čo je veľmi známa a obľúbená platforma najmä u Arduino komunity, avšak nájde využitie aj pre zložitejšie projekty, aj priemyselného charakteru. Má vlastnú aplikáciu pre smartfóny Android, aj iOS vďaka čomu je nasadenie projektu veľmi rýchle a do aplikácie je zrkadlené presne to, čo nastavíte vo webovom rozhraní.
Podporuje aj rôzne automatizácie skrz časovače, trigger metódy, či dokonca pre východ a západ slnka dynamicky pre konkrétnu lokalitu miesta. Štandardne je obmedzenie na platforme Blynk vo verzii zdarma na 30 tisíc správ za mesiac. Tento počet je zdieľaný medzi všetkými zariadeniami.
Štandardná LoRa aplikácia prenáša raz za 10 miút a konkrétne 4 dátové správy. Teda za deň vykoná 576 správ, čo za mesiac predstavuje 17856 správ. V snahe o ušetrenie by bolo vhodné posielať dátové správy v jednej správe ako batch dáta, ale to Blynk neumožňuje z pohľadu toho, ako funguje. Štandardne je premenná vytvorená ako virtuálny pin, ktorému sa priradzuje hodnota.
Správu do Blynku môže LoRa prijímač posielať skrz REST API po HTTPS protokole, alebo môže využiť aj MQTT protokol pre komunikáciu s Brokerom. MQTT je rýchly protokol pre prenos dát, telemetrie.