reklama

Pojďme programovat elektroniku: Pošleme zprávu na desítky kilometrů daleko díky síti Sigfox

  • Bluetooth a Wi-Fi se hodí domů a na zahradu
  • Co když je ale chytrá krabička někde v lese?
  • To je úkol pro mobilní sítě pro IoT

Minulý týden Praha hostila hned dvě zajímavé akce ze světa IoT a programování vlastní drobné elektroniky. Ve středu to byl Sigfox Makers Tour Prague, na kterém se účastníci mohli seznámit s bezdrátovou technologií Sigfox, a o den později pak hackathon Českých Radiokomunikací, které propagují konkurenční technologii LoRa.

Já se zúčastnil první akce a domů si přivezl na testování drobnou prototypovací italskou kartičku SmartEverything. Ačkoliv má rozměry a rozložení pinů jako základní Arduino Uno, o kterém už v našem seriálu byla řeč mnohokrát, má s ním společný opravdu jen rozměr a množnost programování v Arduino IDE.

Švýcarský nožík mezi arduiny

Pod kapotou se totiž namísto jednoduchého osmibitového procesoru ATmega našlo místo na armový Cortex-M0+ (Atmel SAM D21) a hromadu senzorů, kterým vévodí modem protokolu Sigfox a dále pat třeba lokalizační čip s integrovanou anténou, který vedle tradičního navigačního systému GPS podporuje také ruský GLONASS, japonský systém QZSS a je také připravený na ostrý start evropského Galilea. Dále zbylo místo na teploměr, vlhkoměr, tlakoměr, gyroskop, akcelerometr, magnetometr, NFC nebo třeba Bluetooth. SmartEverything je tedy skutečně takový švýcarský nožík mezi prototypovacími destičkami.

Klepněte pro větší obrázek Klepněte pro větší obrázek
Prototypovací armová destička SmartEverything. Nahoře je patrná destička modemu Sigfox, vpravo dole pak GPS přijímač čtvercového půdorysu. Přišroubovanou anténu používá právě Sigfox.

Klíčový je ale samozřejmě modem Sigfoxu, kterému věnuji několik dalších pokračování našeho seriálu o programování elektroniky, jedená se totiž o jedno z možných řešení, když potřebujete dostat zprávu z krabičky kdesi v terénu na svůj web.

V prvním dílu našeho seriálu Pojďme programovat elektroniku jsem si postavil jednoduchou teplotní sondu – prostě teploměr. Jenže jak pak taková data o teplotě dostat na web? Pokud bude sonda v bytě, anebo na zahradě, stačí, když bude komunikovat skrze Wi-Fi. Jenže co když bydlíte uprostřed sídliště a chcete vědět, jaká je teplota třeba na chalupě, kde nemáte internet?

Pak už zpravidla zbývá jen jednoduchý GSM modul a mikropočítač budete ovládat pomocí SMS zpráv. Buď bude odesílat SMS s teplotou sám na váš mobil, anebo na vyžádání, když obdrží zprávu. Takové řešení se ale může zase nepěkně prodražit.

A právě proto se v posledních letech na scéně objevují noví operátoři, které provozují „mobilní sítě pro IoT.“ Jednou z těchto technologií je právě Sigfox, který u nás propaguje společnost SimpleCell.

Odešle zprávu ze vzdálenosti mnoha desítek kilometrů

Sigfox (PDF přehled) pracuje v pásmu pod 1 GHz (868 MHz) a oproti Wi-Fi, nebo Bluetooth se liší především v dosahu. Podle mapy pokrytí dnes můžete nainstalovat krabičku téměř kdekoliv ČR. A dosah? V ideálních podmínkách a při přímé viditelnosti až 100 kilometrů, v městské zástavbě pak kilometry.

Klepněte pro větší obrázek
SimpleCell v ČR na pokrytí technologií Sigfox spolupracuje s operátorem T-Mobile

Dost ale bylo omáčky – základní informace se dozvíte už v našem starším článku o Sigfoxu a podrobně se do technologie ponoříme příště. Náš seriál chce být maximálně praktický, a tak si dnes pošleme krátkou textovou zprávu.

Krátká zpráva… Ona vlastně nemůže být dlouhá, velikost dat a jejich množství, které můžete během dne odeslat, je totiž hlavní cenou za dostupnost a dosah. Skrze Sigfox tedy můžete odeslat všehovšudy 12 bajtů a do těchto dvanácti bajtů musíte zakódovat vše, co potřebujete. Data se odesílají v binární podobě, čili to může být třeba hned několik meteorologických údajů v jednom balíku.

Klepněte pro větší obrázek
Každé zařízení je podle svého identifikátoru zaregistrované v síti Sigfox. Uživatel se o autentizaci tedy vůbec nestará a může se věnovat odeslání zprávy buď pomocí jednoduchého AT příkazu, anebo skrze knihovnu pro Arduino IDE. Ve webovém rozhraní pak má každý uživatel přehled svých zaregistrovaných vysílačů.

Zařízení může od serveru zprávy zároveň přijímat, takže komunikace může být oboustranná, příjem je ale omezený na 8 bajtů na zprávu. Příchozí zprávy tedy slouží spíše pro změnu konfigurace mikropočítače, ale nikoliv pro běžnou komunikaci.

Sigfox tedy rozhodně není určený k bezdrátovému přenosu videa, ale posílání třeba nejrůznějších stavových zpráv. Například by jej mohlo používat závlahové čidlo, bezpečnostní systém aj.

Kód odeslání zprávy pomocí knihovny pro Arduino

#include <SmeSFX.h>
#include <Arduino.h>

void setup(){
 // Nastratovani seriove linky
 SerialUSB.begin(115200);

 // Nastartovani modemu
 sfxAntenna.begin();

 // Cekam na otevreni seriové linky na pocitaci
 while(!SerialUSB){;}
 SerialUSB.println("Pro odeslani zpravy napis 1");
}

// Funkce pro odeslani zpravy
void posliZpravu(){
 uint8_t exit = 0;

 // Probudit modem ze spanku
 sfxWakeup();
 delay(20);
 SerialUSB.println("Posilam zpravu...");

 // Vytvoreni kratke textove zpravy o 4 znacich
 char zprava[4] = {'A','h','o','j'};

 // Predej modemu zpravu k odeslani
 sfxAntenna.sfxSendData(zprava, strlen((char *)zprava));

 // Smycka, ktera kontroluje, jestli byla zprava odeslana
 while(!exit){
 // Cekani na odpoved od modemu
 bool answerReady = sfxAntenna.hasSfxAnswer();
 if(answerReady)
 if(sfxAntenna.getSfxMode() == sfxDataMode)
 // Modem uspesne odeslal zpravu
 if(sfxAntenna.sfxDataAcknoledge() == SFX_DATA_ACK_OK){
 SerialUSB.println("Zprava odeslana!");
 // Uspat mdoem pro minimalni spotrebu energie
 sfxSleep();
 exit = 1;
 }
 }
}

void loop(){
 // Cekani na kod ze seriove linky
 if(SerialUSB.available()){
 // Pokud jsme do seriove linky napsal 1, odesli zpravu pres Sigfox
 char kod = (char)SerialUSB.read();
 if(kod == '1'){
 posliZpravu(); 
 }
 }
}

Jakmile takovou krátkou zprávičku modem odešle, dorazí na centrální bránu služby Sigfox, kde již můžete nastavit, co se má s daty stát – data může libovolně zpracovat váš server, webová služba a stejně tak si můžete nastavit, aby vám po přijetí zprávy zaslal Sigfox e-mail s hromadou nastavitelných údajů pomocí speciálních proměnných.

Klepněte pro větší obrázek Klepněte pro větší obrázek Klepněte pro větší obrázek
Zpráva z mikropočítače přicestovala na nejbližší BTS systému Sigfox a odtud již na centrální server služby, kde se dozvím jak provozní informace modemu (síla signálu, hrubá geografická poloha dle BTS), tak obsah odeslaných bajtů v šestnáctkové soustavě. Příchozí zprávu server okamžitě zpracuje – já si vytvořil úkol, který pošle její textový obsah na e-mail.

Jak vidno, odeslání drobné zprávy je naprosto jednoduché a modem Sigfoxu zároveň autorovi programu předává detailní informace o tom, jestli se zprávu podařilo odeslat, anebo je tu nějaký problém. O nic víc se vývojář nemusí starat.

Jak ale vtěsnat co nejvíce informací do pouhých 12 bajtů. Na to se podíváme příště, kdy kartičku SmarEverything vyzbrojíme solárním panelem, baterií a necháme ji zasílat data na internet skrze Sigfox z míst, kde na rozdíl od naší redakce opravdu žádné Wi-Fi není.

Témata článku: Technologie, Pojďme programovat elektroniku, Programování, Arduino, IoT, Mobility, Stavebnice, Exit, Tour, Arduino Uno, Glonass, Tank, Delay

40 komentářů

Nejnovější komentáře

  • Kaniiisek 5. 12. 2016 10:54:03
    Velmi mě zajímá problematika IoT, takže hodnotím tenhle článek kladně....
  • Virteal 30. 11. 2016 14:06:52
    Nemyslim si, ze by se reseni s GSM modulem mohlo nejak prodrazit. Nejakou...
  • bullhead 29. 11. 2016 22:09:30
    Priznam se ze nechapu proc na Zive tyto clanky jsou. Sigfox neni pro...
reklama
Určitě si přečtěte

Vyzkoušeli jsme FM štěnici: Když si vtipálci hrají na pirátské rozhlasové vysílání

Vyzkoušeli jsme FM štěnici: Když si vtipálci hrají na pirátské rozhlasové vysílání

** Dnes žádnou elektroniku programovat nebudeme ** Štěnice totiž funguje sama o sobě ** Stačí připojit baterii a naladit frekvenci

22.  1.  2017 | Jakub Čížek | 29

Microsoft: Zbavte se už konečně zastaralých a děravých Windows 7

Microsoft: Zbavte se už konečně zastaralých a děravých Windows 7

** Microsoft pomalu začíná kritizovat svůj nejpopulárnější OS ** Chce konečně dostat podniky na Desítky ** Bezpečnostní podpora Sedmiček vydrží ještě necelé tři roky

17.  1.  2017 | Jakub Čížek | 408

Takto si špičkoví grafici představují nový Facebook. S čistým vzhledem a bez reklam

Takto si špičkoví grafici představují nový Facebook. S čistým vzhledem a bez reklam

** Design Facebooku se delší dobu nemění a pro mnohé je nudným ** Grafici zkouší navrhovat nové koncepty toho, jak by mohla síť vypadat ** Hlasujte pro nejzdařilejší návrh

22.  1.  2017 | Stanislav Janů | 63

Umělá inteligence dokáže ze snímků srdce předpovědět, kdy zemřete

Umělá inteligence dokáže ze snímků srdce předpovědět, kdy zemřete

** Strojové učení lze skvěle použít pro vylepšení modelů pro předpověď srdečních komplikací ** Nová technologie umožňuje přesněji určit rizikové pacienty ** Dřívější diagnostika může díky včasně léčbě do budoucna zachránit životy

21.  1.  2017 | Karel Javůrek | 7

8 produktů, o kterých byste neřekli, že nesou značku Apple

8 produktů, o kterých byste neřekli, že nesou značku Apple

** Věděli jste, že Apple vyvinul celkem 45 modelů tiskáren? ** ** Monitor na výšku, plotter nebo herní konzole - to vše měl Apple ve své nabídce ** Většinu z těchto produktů pohřbil Steve Jobs

19.  1.  2017 | Stanislav Janů | 43


Aktuální číslo časopisu Computer

99 nejlepších programů pro váš počítač

Zvykejte si na umělou inteligenci

Velké testy PC zdrojů a gamepadů

Alternativní zdroje energie

reklama
reklama