Mnogi moderni IoT uređaji, posebice na DIY sceni oslanjaju se na Wi-Fi tehnologiju za komunikaciju što stvara veliki bottleneck u mogućnostima tih uređaja, s obzirom na to da je potrebna aktivna internetska veza s jakim signalom. Jedno od potencijalnih poboljšanja jest korištenje 3G/4G mobilne mreže no ovdje moramo imati aktivnu karticu koja ima pretplatu s mogućnošću povezivanja na mrežu.

Još jedna važna karakteristika 4G mreže koja ju čini neoptimalnom za rad na daljinu jest njena potrošnja koja može uređaje s manjim energijskim kapacitetom brzo isprazniti.

Rješenje ovih problema jest SigFox, mreža razvijena i optimizirana za niskoenergetske IoT uređaje. SigFox mreža djeluje na radijskom pojasu od 868MHz u EU te 902MHz u SAD-u. Taj pojas može odašiljati signale koji se zovu Ultra Narrowband signali s karakteristikom prolaza kroz čvrste materijale, što omogućava korištenje pojasa u skoro svakom scenariju i na svakoj lokaciji.

S obzirom na to da se pojas koristi i za znanstvene i medicinske svrhe, potrebno je osigurati ogromnom broju uređaja funkcionalnost na mreži bez da izazivaju šum.

Taj problem rješava SigFox specifikacija ili standard kojim se može poslati do 140 uplink poruka na dan sa SigFox uređaja spojenog na mrežu veličine najviše 12B (byte, oktet), odnosno 96 bitova, dok za downlink poruke omogućava do četiri poruke na dan.

Ova specifikacija omogućava svim SigFox uređajima rad s iznimno malenom potrošnjom što SigFox automatski čini adekvatnim za bilo kakav terenski projekt; primjerice, meteorološku stanicu koja je fokus ovoga članka.

 

 

Kao glavna jedinica za ovaj projekt odabran je Arduino Pro mini. Arduino je odabran kako bi demonstracija mogućnosti bila što lakša, no treba napomenuti da bi se SigFox mogao upotrijebiti i u ozbiljnijem industrijskom procesu.

Za mjerenje temperature koristimo digitalni senzor temperature i vlage DHT22 u kompaktnom kućištu koji je baziran na AM2302 senzoru. Kako bi senzor funkcionirao potrebno mu je dostaviti istosmjerni napon napajanja 3.3V do 5.5V, što možemo bez ikakvog problema napraviti sa samom Arduino razvojnom pločicom. Ovaj senzor može mjeriti temperaturu u rasponu od -40⁰ C do +80⁰ C te vlagu u rasponu od 0% do 100%.

Za komunikaciju sa SigFox mrežom koristimo razvojnu pločica sa SigFox kompatibilnim čipom (WSSFM10R1) EVBSFM10R s kojom je iznimno lako komunicirati preko UART sučelja, odnosno serijske komunikacije.

Spajanje na SigFox mrežu:

Kako bi naš EVBSFM10R mogao komunicirati s ostatkom svijeta, potrebno ga je spojiti na SigFoxov backend. Kada spojimo EVBSFM10R na računalo, nužno je dobiti njegove podatke za spajanje na SigFox mrežu, ali prije toga moramo instalirati FTDI upravljački program (osobno sam koristio CDM21224).

Podatke možemo dobiti na dva načina:

  1. pomoću SFM10R_AT_TEST programa na kojemu samo treba pritisnuti tipke 'Get DEVID' i 'Get PAC' koje će nam u terminalu u programu dati te podatke.
  2. pomoću bilo kojeg serijskog monitora; kako bi dobili Device ID moramo upisati 'AT$I=10' a za PAC moramo upisati 'AT$I=11'.

Prikupljanje podataka:

Kako bi mogli slati bilo kakve podatke na SigFox mrežu, moramo ih najprije prikupiti. S obzirom na to da je ovo jednostavna meteorološka stanica, prikupljat ćemo dvije vrste podataka: temperaturu i vlagu. Na Arduino platformi to je krajnje jednostavno pomoću DHT senzora i njegove biblioteke.

Slanje podataka:

Korištenje EVBSFM10R razvojne pločice u skladu sa Arduinom za slanje podataka na SigFox mrežu je prilično jednostavno, pomoću biblioteke “SFDK“ (SigFox Dev Kit). 

Sve biblioteke, primjeri i kodovi vezani uz projekt, mogu se pronaći na mom Githubu.

U sljedećem ćemo članku proći kroz obradu poruka pomoću PHP-a na vlastitom web serveru.

Tagovi:
Sigfox

Saznaj sve na vrijeme

Želiš da novosti o razvoju nacionalne IoT mreže same pronalaze put do tvog online sandučića? Ispuni prijavu za newsletter i ispunit ćemo ti želju.

Prijavi me