OK

Při poskytování služeb nám pomáhají soubory cookie. Používáním našich služeb vyjadřujete souhlas s naším používáním souborů cookie. Více informací

SIGFOX Arduino UNO

Dobrá zpráva pro všechny příznivce LPWAN sítí a konceptu IoT, který v posledním období nabral nebývalé síly - přesně za týden by měla jít do komerčního provozu síť společnosti Simple Cell - SIGFOX. Protože je tato infrastruktura technicky i komerčně zvládnutá, nebylo zde tolik porodních bolestí jako se zaváděním LoRaWAN, který již ale v tomto období je také technicky zvládnutý díky značnému usílí kolegů z Things.cz. Dnes se budu ale výhradně zaměřovat na vlastní produkt pro infrastrukturu SIGFOX a sice modulek, který je ve své podstatě Arduino UNO s omezeným počtem pinů a hlavně s integrovaným transceiverem firmy Radiocrafts RC1682. Na obrázku uprostřed mezi LoRaWAN moduly.

Posbíral jsem všechny zkušenosti nabyté s vývojem modulků a čidel u LoRaWAN řešení a naprosto ve stejném duchu jsem realizoval pinově kompatibilní modulek SIGFOX Arduino UNO. Řešení vychází z následujícího schématu:

Ze schématu je patrné, že snahou bylo otevřít vše potřebné pro následné konstrukce čidel a k dispozici jsou následující rozhraní:

  • 6 x digitální vstup/výstup
  • 1 x digitální vstup přerušení pro probuzení procesoru - nutnost pro low power konstrukce
  • analogový vstup/výstup
  • UART vstup pro flesh FW

Anténa je dle doporučení Radiocrafts řešená lambda/4 drátem, výstup transceiveru je 50 ohmů, takže alternativně lze připájet i SMA nebo malý IPX konektor, ovšem i se zmíněným kuse drátu lze docela dobře zakomunikovat. Moje praktické testy byly obrovským překvapením - tedy divil jsem se já, nikoliv lidi ze SimpleCell, Ti to pokládali za zcela standardní výkon:-) a sice: Sedím si takhle doma v Beskydech, ze všech stran obklopen kopci, vzdušnou čarou do Ostravy 35km, přímá viditelnost ani náhodou, modulek jen tak pohozený na stole, nastavím všechna rozhraní a jen tak zkusmo pošlu data, 4 byte s teplotou doma ... píp, došel mail s přijatými daty. No zíral jsem na to nevěřícně, kroutil hlavou a pak napsal tedy pochvalu na SimpleCell.  To jen taková malá vsuvka, co lze od této technlogie zhruba očekávat. 

Praktická realizace modulku je vidět na následujících obrázcích, výroba běží v ČR, modulek je v produkčním stavu:

Pozorní čtenáři mé rubriky IoT si jistě všimli, že takový modulek na mých stránách, jen v barvě modré již viděli. Ano, je to pravda a jak jsem již zmínil, vychází prakticky ze stejné filozofie jako modulky s LoRaWAN, které ještě stále nejsou dostupné, resp. jsou neustále spotřebovávány v reálných čidlech a na eshop nemám momentálně volnou kapacitu, což se ale brzy zlepší. Nicméně jak SIGFOX, tak LoRaWAN si najde své příznivce a ani já nejsem člověkem, který by dával jedné z technologií naprostou preferenci. Svou otevřeností mi je bližší LoRaWAN, to připouštím, ale i SIGFOX stojí za pozornost. Proto tento modulek vzniknul. 

První testy

Než přejdeme k samotnému odesílání dat do aplikačního rozhraní Sigfox je třeba si nejprve modul důkladně osahat a to uděláme nejlépe transparentním terminálem. Když jsem začínal laborovat s RC1682, byl jsem trochu zmatený z jejich pojetí command setu, dá-li se v této souvislosti o něčem podobném vůbec mluvit. Po zapnutí napájení a připojení se na UART RC1682 se na Vás sesype nekonečné množství znaků ">". Nikde není popsáno, jak z toho korektně ven, ale empiricky jsem brzy zjistil, že když z mého Arduina pošlu tuto sekvenci:

	Serial.begin(19200);
	SIGFOX.begin(4800);
	SIGFOX.print(0x00);
	delay(100);
	SIGFOX.begin(19200);
	SIGFOX.print("0");
	delay(300);

pak se ten vodopád zastaví a mám RC1682 "pod kontrolou". Tohle je tedy nezbytné dát do každého setupu Vašeho budoucího sketche. Ostatně stáhněte si a mrkněte na transparentní terminál, od kterého doporučuji začít. Jakmile terminál stáhnete, nalejte jej do modulku, přičemž budete potřebovat USB/UART kabel nejlépe s FTDI převodníkem. Jumper napájení nechte na 5V - nebojte, tato úroveň je speciálně ošéfovaná tak, aby na transceiver dorazilo takové napětí, které je v toleranci. Věřte nebo ne, jde to i bez stabilizátoru, který by nás později jen otravoval svou neúčinností a zbytečnou spotřebou. Pozorný čtenář možná pochopí ze schématu.

Vydolujeme ID a PAC pro SIGFOX subskribci

Pojďme se nyní podívat na příkazy, které nás zajímají pro rychlý start. Command set transceiveru RC1682 je opravdu bídný, na druhé straně zas tolik toho nepotřebujeme, takže bídný opravuji na tak akorát. Pro hrátky s modulem jednoznačně doporučuji nainstalovat Hercules od kolegů z HW serveru, který umožňuje posílat přímo hexa znaky. Radiocrafts opravdu šetřil na každém byte i v komunikaci s transceiverem (to je dobrá průprava na šetření s každým byte i u přenosů, na které si v LPWAN holt musíte zvyknout). Takže jejich command set je záležitost vždy jednoho byte, popřípadě parametru k němu.

Terminál budete mít po úvodní sekvenci v módu, kdy můžete přímo poslat data. K tomu se ale dostaneme později, nejprve musíme z modulku dostat údaje nutné pro subskripci na Sigfox, tedy ID a PAC.

Nastavte si Hercules takto: COM port,, kde Vám visí převodník, rychlost 19200, pak klikněte pravým tlačítkem na okno terminálu a vyberte Special characters - Hexadecimal a ještě pravý klik a zaškrtněte HEX Enable. od této chvíle Vám budou chodit jen HEX znaky, což je žádoucí. Do textboxů pro odeslání příkazů si můžete nachystat příkazy v hexa nebo string tvaru, jen pak musíte zaškrtnout příslušné políčko, aby terminál věděl, jak znaky interpretovat. např. hexa 0x00 zapíšete jako 00  a zaškrtnete HEX, znak "9" můžete naspat jako 9 a nezaškrtávate nic - přenese se ASCII "9", tedy hexa 0x39.

Pro tento účel je třeba udělat následující:

  1. Pošlete hexa 0x00
  2. Měl by vyskočit znak ">", což je 0x3E v hexa
  3. Pošlete string 9
  4. Vysype se na Vás sekvence znaků {39}{EC}{32}{0F}{00}{78}{AE}{19}{17}{B0}{59}{32}{11}{3E}, poslední znak je ">", první je echo na 39 a pak následuje {EC}{32}{0F}{00}, což je ID a {78}{AE}{19}{17}{B0}{59}{32}{11}, což je PAC. S těmito parametry si pak požádejte o subskribci.
  5. Z konfiguračního menu vyskočíte zankem "X" a vrátíte se do stavu, kdy jste připraveni poslat data. Pozor, terminál je tak upjatě úsporný, že po tomto znaku nedojde ani k vrácení nějaké odpovědi - dle mého názoru je to úspora až přehnaná, ale budiž - očekával bych aspoň hloupé echo.

Ostatní konfigurační věci nepopisuji záměrně, není třeba si ten modul hned rozhasit a pak se divit, že nekomunikuje. Zájemce odkazuji na datasheet command setu Radiocrafts RC1682, na požádání pošlu mailem.

Připraveni na komunikaci

Tak a nyní jsme v módu, kdy můžeme poslat data - to ovšem vyžaduje zmíněnou subskribci a pak také nastavení tzv. callbacku na stránkách sigfoxu - tedy rozhraní, kde Vaše data uvidíte. Možností je několik - buď si nastavíte e-mail, který Vám data pošle, nebo si rozjedte svůj malý server, který bude na veřejné adrese poslouchat na portu, nebo se opřete o Microsoft Azurite serverové prostředí, jehož bridge Sigfox poskytuje. Zde nezbývá, než Sigfox pochválit za vskutku vyvedené integrační interfejsy, se kterými si jistě zkušený vývojář poradí.

Příští článek budu věnovat komunikaci v prostředí Sigfox, ten napíšu až po 19.4., kdy by Sigfox měl být komerčně dostupný. Momentálně mám omezené množství modulků skladem a dle zájmu uvolním další do eshopu z výroby čidel. V příštím článku si uděláme takové malé demo - zkomunikujeme senzor teplota/vlhkost DHT22 a pošleme si data do portálu Sigfoxu. Modulek je pochopitelně otevřen bastlení a tak není problém jej zasunout do kontaktního pole a dělat s ním "psí kusy" ... vždyť je to přece Arduino!

English info

For my dear friends, funs and customers speaking other than Czech language, feel free to write English, German or Polish. I do not intent right now to translate all info to English or other language due to huge amount of work, however I'm open to communicate with you if you have serious intention purchasing my products. Thanks for understanding.

PF
petr.foltyn@arduinotech.cz

Přidat komentář

Zvýrazněné položky jsou povinné.

Přehled komentářů

  1. Měření teploty TD1207 (Petr K, 8.2.2017 7:33:33) Odpovědět

    Dobrý den,
    vlstním modul TD1207 s aktivovaným beckandem. Mohu se zeptat, je možné přímo k TD1207 připojit například senzor teploty DS18B20 bez externího procesoru nebo např. ARDuino? Nemáte s tímto zapojením a odesíláním teploty zkušenosti?

  2. Monitor teploty (Luboš Novotný, 30.1.2017 15:45:06) Odpovědět | Zobrazit odpovědi

    Dobrý den.
    Nejprve děkuji za pěkný web který mě přivedl od UNA k ESPčku.
    Ale nyní mám potřebu monitorovat jednu teplou v domě, který nemá WiFi. A proto mě zajímá technologie SIGFOX, to by se asi pro tenhle účel hodilo.
    Jedná se dům v Lomnici nad Popelkou (podle mapy by tam pokrytí mohlo být, T-mobil tam je)
    Někde píšete že k u Vás zakoupenému modulku je rok provozu na vyzkoušení. A kolik pak stojí další paušál pro tahle jednoduchou aplikaci jako jednou za půl hodiny odeslat dara na Thingspeak?

    Díky za info
    Luboš Novotný

    Dobrý den,
    Sigfox, resp. Simple Cell chystá teď novou cenovou politiku pro reálné nasazení čidel. Článek berte tak, že byl aktuální v době, kdy jsem jej psal. Skutečně byl přístup k testování velmi otevřený, mnoho z nás toho využilo a udělali jsme první významné kroky v tomto oboru IoT. Nicméně doba pokročila a je zcela pochopitelné, že operátor také potřebuje investované peníze zpět a doba experimentů je pryč, netvrdím, že se nelz na néjakém testování domluvit, ale budou podporovány zřejmě jen skutečně životaschopné projekty. Sigfox je technologie vyzrála, nasazení schopná a podobně jako Vás žádný GSM operátor nenchá jen tak zdarma něco zkoušet, pak u IoT technologií to začíná být obdoba. Rovněž já chystám pro Sigfox čidla jejich prodej i s konektivitou, momentálně ladíme detaily a předpokládám, že v průběhu února bude jasno.

    PF

    1. Re: Monitor teploty (Luboš Novotný, 31.1.2017 14:41:41) Odpovědět

      Děkuji za odpověď.
      Samozřejmě to chápu a je mi jasné že zdarma to nebude. Jen by mě zajímalo kolik asi bude stát připojení, pro jeden solo projekt.

      Přeji hezký den
      Luboš Novotný

  3. Prosba (Standa, 8.6.2016 9:22:12) Odpovědět

    Dobrý den,
    se SigFoxem jsem komunikoval s modulem Axemu, kde se komunikuje pomocí AT příkazů. Slibujete v textu ukázku komunikace s Radiocrafts. Můžete prosím ukázat komunikaci s Radiocrafts?
    Děkuji

    Dobrý den, jj bude ukázka, snad někdy o prázdninách se mi uvolní ruce. RC1682 je velmi primitivní, nemá ani AT příkazy, prakticky hned po zapnutí do něj můžete poslat data a ony se odvysílají do sítě. Trochu komplikovabější je jeho konfigurační mód, ale i ten je zvládnutelný.

    S pozdravem,
    PF

  4. Zapojení (Šimoník, 14.4.2016 12:03:39) Odpovědět | Zobrazit odpovědi

    Nějak se v tom zapojení ztrácím, ale jsem jenom začátečník:
    1. Píšete, že napájení je ošefováno. Já ale vidím stabilizátor, o kterém píšete, že tam není. Jediné co vidím, že pin Rx je stažen odporem (přizpůsobení úrovní?)

    2. Dále nevidím napájení procesoru VCC. Pouze AVCC.
    3. Když jsem použil kondenzátor C4, tak mi ATMEGA nešla naprogramovat. Musel jsem ho odpojit. Ono je to tak většinou uváděno.

    Děkuji za vysvětlení.

    1. Re: Zapojení (LH, 17.2.2017 8:10:05) Odpovědět

      VCC (5 V) si snad dokážeš i jako začátečník vyrobit nebo ne? Jinak 5 V máš na převodníku úrovní takže používáš 5 V z převodníku (resp. z usb). Ten stabilizátor je na 3.3 V. Já bych tam tu keramiku C4 nechal. Kondík je tady správně, použil bych nějakej hodně malej ;-) Obecně při konstrukcích s atmegou na reset pin dávám pulldown rezistor nic víc.

      Pokud se sem jeste dostanes a budeš něco řešit klidně se ozvy na lukas.hery@seznam.cz

  5. Dosah (Šimoník, 14.4.2016 11:17:37) Odpovědět

    Ten dosah mě opravdu překvapuje. Já jsem s LORA rn2483 nedosáhnul ani 5km bez přímé viditelnosti. Myslíte, že tento modul má lepší dosah?
    V článku se zmiňujete:" ..nebo si rozjedte svůj malý server.." Nemáte nějaký typ na provedení s Raspberry pi?
    Děkuji


TOP produkty

Arduino MEGA2560

Arduino MEGA2560
424 Kč s DPH

NodeMCU s ESP8266

NodeMCU s ESP8266
350 Kč s DPH

Kontakt

Ing. Petr Foltýn
Kunčice pod Ondřejníkem 814, 73913
TOPlist