Luna trecută R&D Software Solutions srl făcea publică lansarea “xyz-mIoT by itbrainpower.net”- primul și cel mai compact, board IoT care combină versatilitatea microcontrolerelor ARM0 (Microchip/Atmel ATSAMD21G, în design compatibil Arduino Zero) a unei colecții de senzori embedded și conectivitatea oferită de modemele LPWR LTE CAT M1 sau NB-IoT long-range & low-power sau modemele legacy 3G/GSM.
Beneficiind de puterea și versatilitatea nucleului ARM0 (ATSAMD21G) integrat, “xyz-mIoT by itbrainpower.net”oferă prin interfețele disponibile (I2C, SPI, UART, 13 I/O digitale – capabile 1WIRE și PWM, 5 intrări analogice și altele) posibilități multiple de interfațare cu alte device-uri, senzori sau actuatoare în soluții de tip automatizare IoT.
Shieldul xyz-mIoT poate avea pană la 5 senzori integrați simultan. Aceștia pot fi: THS (senzor temperatură și umiditate) – HDC2010, tVOC & eCO2 (senzor de calitate a aerului, CO2 și compuși volatili organici – echivalent CO2) – CCS811, HALL (senzor magnetic) – DRV5032 sau or IR (senzor infraroșu) KP-2012P3C, IR (senzor infraroșu) secundar – KP-2012P3C, TILT (senzor mișcare/vibrație) sau REED (senzor magnetic) – SW200D. Echiparea cu senzori este dependentă de PN-ul comandat.
Pentru a sublinia facilitățile datorate designului avansat și a integrării senzorilor, citește o succintă comparație cu alte shield-uri LTE CATM1 / LTE NB-IoT: www.linkedin.com/pulse/nb-iot-cat-m1-lte-boards-comparison-dragos-iosub/
IoT pentru toți – una din cele mai importante directive de proiectare a fost să putem oferi un produs care să poată să fie folosit într-un mod facil și natural de către entuziaștii “do it yourself”, dar oferind în același timp o platformă puternică și versatilă profesioniștilor. În această lumină, alegerea mediului de dezvoltare Arduino a fost mai mult decât evidentă; în plus profesioniștii vor aprecia multitudinea posibilităților de configurare și interfațare hardware.
Democrația IoT – fiecare poate să seteze, în 10-15 minute*, propriul dispozitiv IoT care adună date în CLOUD. În continuare, vă voi arăta cum, exemplificând monitorizarea temperaturii și a umidității prin folosirea senzorului HDC2010 integrat în shieldul xyz-mIOT (utilizând o variantă cu senzorul HDC2010 integrat ca: XYZMIOT209#BG96-UFL-1100000, sau varianta GSM only XYZMIOT209 #M95FA-UFL-1100000) și CLOUD-ul oferit de către Robofun.
* timpul de implemetare poate varia în funcție de experiența anterioară a utilizatorului. Instalarea mediului Arduino și instalarea manuală a claselor suport nu vor fi tratate în acest material, vezi ce spune despre asta prietenul GOOGLE. Clasele suport și codul utilizat sunt disponibile pentru download, pentru clienții înregistrați la adresa https://itbraipower.net/downloads#xyzmIOT
Pas 1 ▶ Conectați Vusb la Vraw, prin liperea SJP6. Ca alternativă, lipiți pini pe cele două rânduri de conectori, introduceți placa în bread-board și conectați coloanele corespunzătoare Vraw și Vusb (determinați de pinii 2 și 3 stânga, jos)
Pas 2 ▶ Lipiți conectorul LiPO. Introduceți micro-SIM cardul (vedeți să nu aibă activată verificarea codului PIN) în conectorul SIM. Conectați antena (recomandăm utilizarea ITBP-EMB2-UFL#100). Conectați cablul USB la shieldul xyz-mIoT și la PC. Conectați bateria LiPO. Gata cu hardware-ul!
Pas 3 ▶ Descărcați și instalați ultima versiune a claselor “xyz-mIOT shield IoT Rest support”, “xyz-mIOT shield sensors support class” de la adresa: https://itbrainpower.net/downloads#xyzmIOT
Descărcați codul demo “xyz_mIoT_cloud_demo.ino” de la adresa: https://itbrainpower.net/downloads.php#xyzmIOT
Facem câteva setări preliminare în fișierele din “xyz-mIOT shield IoT Rest support”:
− în “itbpGPRSIPdefinition.h” linia 2 setăm APN, în funcție de providerul GSM folosit (NET pentru RO Orange)
− în “itbpGPRSIPdefinition.h” linia 9 setăm SERVER_ADDRESS
(iot.robofun.ro pentru CLOUD Robofun)
− în “itbpGSMdefinition.h” comentăm opțiunea existentă și alegem
(ștergem comentariu) opțiunea “#define__itbpModem__xyzmIoT” (linia 71)
− în “itbpGSMdefinition.h” alegem modemul cu care este echipat shieldul xyz-mIoT după cum urmează: pentru M95FA alegem opțiunea „#definexyzmIoTmodem TWOG” sau pentru BG96 alegem opțiunea „#definexyzmIoTmodem CATM1” (linia 73 sau linia 75)
Pas 4 ▶ Setăm un cont pe CLOUD Robofun (accesibil la: https://iot.robofun.ro)
Adăugați doi senzori (xyzmIOT_temperature și xyzmIOT_humidity). Pentru fiecare, rețineți valoarea “Tocken” (în pagina senzorului faceți scroll-down)
Aceste variabile vor fi folosite în pasul următor pentru setarile CLOUD ale senzorilor xyz-mIoT. Puțin mai sus găsiți și adresa CLOUD publică pe care se pot vizualiza datele generate și transmise de senzorul vostru.
Pas 5 ▶ Deschideți în mediul Arduino (arduino.cc v >= 1.8.5) proiectul xyz_mIoT_cloud_demo.ino
Setați valorile tempTocken și humiTocken cu valorile Tocken definite pe CLOUD (vezi pas 4). Dacă folosiți module echipate cu BG96 puteți selecționa modul de înregistrare în rețea “mod GSM” sau “mod LTE CATM1” (rețeaua folosită și SIM-ul trebuie să suporte LTE CATM1*) prin apelul funcției client.setNetworkMode(GSMONLY), respectiv client.setNetworkMode(CATM1ONLY), imediat după client.begin() în funcția setup(). Noi am folosit un SIM card Orange România având activat serviciul test “LTE CATM1”.
În meniul Arduino (arduino.cc v >= 1.8.5), selectați placa “itbrainpower.net xyz-mIoT” Apăsați rapid de două ori pe switch-ul RESET al plăcii pentru a o inițializa în modul programare. Selectați portul de programare al xyz-mIoT din meniul Arduino.
Compilați și încarcăți software-ul pe placa xyz-mIoT.
Din acest moment xyz-mIoT va face determinarea valorilor temperaturii și a umiditătii (data sampling la 1min.) și va transmite datele spre CLOUD.
Pentru depanare, folosiți consola Arduino (sau terminalul preferat) selectând portul serial cu setările: 115200bps, 8N,1.
Datele măsurate pot fi vizualizate în pagina CLOUD a senzorului sau în pagina publică, așa cum am specificat în pas4.
xyz-mIoT v2.09 IoT sensor platform – PN codare
Schema PN bazată pe modulul de comunicație, conector UFL:
− xyz-mIoT v2.09, equipped with BG96 [CAT M1 + NB IoT + GSM + GPS] – PN: XYZMIOT209#BG96-UFL-xxxxxxx
− xyz-mIoT v2.09, equipped with BC95G [NB IoT only] – PN: XYZMIOT209#BC95G-UFL-xxxxxxx
− xyz-mIoT v2.09, equipped with M95FA [GSM only] – PN: XYZMIOT209#M95FA-UFL-xxxxxxx
− xyz-mIoT v2.09, equipped with UG95E [3G + GSM] – PN: XYZMIOT209#UG95E-UFL-xxxxxxx
− xyz-mIoT v2.09, no modem – PN: XYZMIOT209#NOMODEM-000-xxxxxxx
În PN precedent, înlocuiți sufixul “xxxxxxx” cu codul de senzor de mai jos:
− HDC2010 + DRV5032 – xxxxxxx: 1100000
− HDC2010 + DRV5032 + SW200D – xxxxxxx: 1110000
− HDC2010 + DRV5032 + SW200D + CCS811 – xxxxxxx: 1110100
− no sensor – xxxxxxx: 0000000
Pentru versiunea SMA, înlocuiți particula “UFL” cu particula “SMA”.
Comenzi pot fi plasate accesând https://itbrainpower.net sau prin email: dragos@rdss.ro
Mai sunt disponibile cantități limitate de shielduri care pot fi comandate cu până la 20% discount. Nu ratați ocazia!
Autor: Dragoș Iosub,
R&D Software Solutions
https://itbrainpower.net
dragos@rdss.ro
+40 (0) 745 611611
Toate modulele Quectel sunt disponibile în România cu livrare rapidă din stoc prin Comet Electronics. De asemenea, inginerii de la Comet Electronics și inginerii de asistență tehnică Quectel vă pot oferi suportul necesar pentru a dezvolta orice tip de aplicații.
Pentru detalii tehnice şi comerciale, contactaţi:
Ing. Ciprian Varga, Director Tehnic
Comet Electronics | www.comet.srl.ro | office@comet.srl.ro
Str. Sfânta Treime Nr. 47, Bucureşti, Sector 2
Tel.: 021 243 2090 | Fax: 021 243 4090