2 | Conas feiste IoT a fhorbairt ag úsáid RIOT-OS agus é a nascadh le Thingsboard ag úsáid MQTT-SN
Sa rang teagaisc seo tógfaimid ar bharr na gcomhpháirteanna scamall-bhunaithe a fhorbraíodh sa chéad chuid: Conas córas IoT a chur ar bun ag úsáid ThingsBoard. Mura bhfuil sé léite agat cheana, molaim go mór duit é a dhéanamh.
Anois cuirfimid stáisiúin nua in ionad na stáisiún fíorúil comhshaoil a fhorbraíodh ag baint úsáide as Python agus an prótacal RIOT-OS agus MQTT-SN á úsáid. Úsáidfidh tú aithriseoir dúchais RIOT-OS chun do stáisiúin a reáchtáil agus luachanna a ghiniúint thar MQTT-SN a chaithfidh teacht chuig an scamall tríd an MQTT. Ina dhiaidh sin, glacfaidh tú do chéad chéimeanna isteach in éiceachóras IOT-LAB, chun d’iarratas RIOT-OS a fhorghníomhú ar fhíorfheistí.

Ar dtús, ní mór duit an nuashonrú a tharraingt ó mo stór GitHub. Mura bhfuil sé déanta agat cheana, molaim go mór duit mo rang teagaisc agus físe roimhe seo a sheiceáil.
nuashonrú fo-mhodúil git pull git --init --recursive
Chuir mé 2 fhillteán thábhachtacha nua leis:
- bróicéirí: tá gach cumraíocht den bhróicéir agus den gheata ann. Ina theannta sin, tá 2 fho-mhodúl ann chun cód foinse mosquitto.rsmb agus Geata Trédhearcach MQTT-SN a fháil go díreach.
- feiste / círéib: tá an fillteán foinse RIOT don fheiste IoT agus script bheag set_network.sh chun comhéadain líonra ar imscaradh dúchais a chumrú go héasca.
RIOT-OS

Córas oibriúcháin ilshnáithe fíor-ama é RIOT a thacaíonn le raon feistí a fhaightear de ghnáth san IoT. Tá sé bunaithe ar na prionsabail dearaidh seo a leanas:
- éifeachtúlacht fuinnimh agus cumais fíor-ama;
- lorg cuimhne beag agus modúlachta;
- rochtain aonfhoirmeach API: neamhspleách ar na crua-earraí bunúsacha (POSIX).
D’fhonn forbhreathnú a bheith agam molaim duit tagairtí oifigiúla RIOT a sheiceáil: Ag Tosú, Stór GitHub, doiciméadú. Lean an treoir Getting Started agus tabhair aird ar d’fhillteán bonn RIOT.
Bord rudaí
Níl feistí IoT ceangailte go díreach le Thingsboard MQTT a thuilleadh, mar sin caithfimid ár n-ábhar réamhshocraithe a athrú. Anois, foilseoimid teiliméadracht faoi:
Ábhar: v1 / geata / teiliméadracht
Ina theannta sin, tá an t-ualach pá difriúil ó roimhe seo:
{"Gléas A": [{"ts": 1483228800000, "luachanna": {"teocht": 42, "taise": 80}}], "Gléas B": [{"ts": 1483228800000, "luachanna" : {"teocht": 42, "taise": 80}}]}
Seiceáil an nasc seo le haghaidh Tagairt iomlán API Geata MQTT Thingsboard.
Dá bhrí sin cuirimid feiste nua ar Thingsboard chun a chinntiú go roghnófar bosca seiceála Gateway

Ina dhiaidh sin, cóipeáil an ACCESS TOKEN de Gheata Teagaisc agus greamaigh isteach i mbróicéirí / conf / bridge_gateway_ [prod | dev] .conf ag an tsraith remote_username; ina theannta sin, má tá Thingsboard cumraithe agat ar scamall, athraigh seoladh le do IP POIBLÍ.
Ní gá dúinn aon rud eile a chumrú ar Thingsboard, fágfaimid gach rud mar a bhí sé sa chéad rang teagaisc.
Firmware RIOT
Tá mo fhirmware RIOT bunaithe ar an sampla oifigiúil emcute_mqttsn. Chuir mé modúl éigin ar an Makefile mar seo a leanas:
TIOMÁNAITHE? = Lps331ap # chun braiteoirí a úsáid go díreach USEMODULE + = $ (DRIVER) USEMODULE + = saul_default #sensors API

Seiceáil ar stór GitHub le haghaidh tuilleadh sonraí. Tá sé tábhachtach #define SENSOR 0 a shocrú nuair a thiomsaíonn tú ar bhord dúchais agus 1 nuair a ritheann tú ar fhíorfheistí iotlab-m3. Cuimhnigh an modúl lps331ap ar Makefile a dhíchumasú de láimh.
NB: Chruthaigh mé snáithe scartha ag úsáid an chíréib API thread_create san fheidhm cmd_pub_data d’fhonn sonraí a fhoilsiú go leanúnach.
MQTT-SN
Is prótacal teachtaireachtaí foilsithe / liostála é MQTT-SN do líonraí braiteoirí gan sreang (WSN), agus é mar aidhm aige an prótacal MQTT a leathnú níos faide ná an bonneagar TCP / IP a bhaint amach le haghaidh réitigh Braiteoir agus Achtúire.

Tá geata an-bhunúsach MQTT-SN ar fáil mar fho-mhodúl i mo stór agus tá sé suiteáilte de réir réamhshocraithe ar fheistí iotlab-a8 ar IoT-LAB.
I mo chumraíocht, shocraigh mé Geata Trédhearcach paho MQTT-SN a úsáid a oibríonn mar bhróicéir MQTT-SN agus mar gheata trédhearcach MQTT-SN.
Dá réir sin, rinne mé an geata réamhshocraithe.conf a mhodhnú mar a leanas:
BrokerName = localhost BrokerPortNo = 1884
GatewayUDP6Bind = fec0: affe :: 1/64 GatewayUDP6Port = 1885
Anois, é a shuiteáil agus cóipeáil mo chumraíocht saincheaptha (ag glacadh leis go bhfuair tú an fo-mhodúl)
bróicéirí cd / MQTTSN-Gateway ./custom_install.sh mv gateway.conf gateway.conf.bkp cp ../conf/MQTTSN-Gateway.conf gateway.conf
Tá an chumraíocht seo inscálaithe agus “ina theannta sin” níor ghá dom líne cód a scríobh. Ag an gcéad chéim eile, is féidir leat mosquitto a reáchtáil mar dhroichead a nascann geata paho mqtt-sn leis an mbróicéir iargúlta MQTT ar Thingsboard.
bróicéirí mosquitto -c / conf / bridge_gateway_prod.conf
Oscail críochfort eile agus rith an geata trédhearcach paho:
bróicéirí cd / MQTTSN-Gateway ./MQTT-SNGateway
Ina dhiaidh sin is féidir leat an firmware RIOT a thiomsú sa deireadh (seiceáil do RIOTBASE ar Makefile) agus ansin é a rith.
cd device / círéib / sensors_mqttsn ./start_network.sh PORT = tap0 glan gach téarma
Anois beidh cás mar seo agat:

Féadfaidh tú idirghníomhú leis an mblaosc RIOT d’fhonn nasc a dhéanamh leis an mbróicéir MQTT-SN agus sonraí a bhrú.
ifconfig 5 cuir fec0: affe :: 99 con fec0: affe :: 1 1885 set_device "Device Piano" teach tábhairne v1 / geata / teiliméadracht "{'Device Piano': [{'ts': 1585744760000, 'luachanna': {'taise ': 42}}]} "1 pub_telemetry
- set_device : is ordú saincheaptha é a scríobh mé chun ainm an ghléis a shocrú go dinimiciúil
- teach tábhairne is ordú réamhshocraithe atá ar fáil emcute_mqttsn
- pub_telemetry: is ordú saincheaptha é seo a scríobh mé chun sonraí randamacha a bhrú go díreach (i gcás feidhmchlár dúchasach) chuig
- pub_data: is ordú saincheaptha é chun sonraí a bhrú go leanúnach ag úsáid snáithe eile. (Ná húsáid é anois, níl ann ach clár il-snáithe)



IoT-LAB

Soláthraíonn IoT-LAB bonneagar ar scála an-mhór atá oiriúnach chun feistí beaga braiteoirí gan sreang a thástáil agus rudaí cumarsáide ilchineálacha.
Féach ar mo fhíseán le feiceáil conas é a rith go háitiúil agus conas sonraí braiteoirí fíor a fháil ar IoT-LAB
- Cláraigh chuig IoT-Lab.
- Cumraigh Rochtain SSH (nasc).
- Lean an rang teagaisc seo
D’fhonn RIOT-firmware a thógáil go cianda tá rochtain agat ar do mheaisín iargúlta agus ansin rith:
ssh @ saclay.iot-lab.info #mv chuig foinse do fhillteán src /opt/riot.source BOARD = iotlab-m3 déan gach iotlab-turgnamh a chur isteach -n riot_m3 -d 60 -l 1, archi = m3: at86rf231 + site = turgnamh saclay iotlab-fháil -i -r iotlab-nód --update .elf -l saclay, m3, nc 20000
Amharc ar mo stór le haghaidh treoir níos iomláine faoi iot-lab. Sa chéad rang teagaisc eile rachaidh mé isteach níos mionsonraithe ar chumraíocht an líonra iot-lab. Dá bhrí sin, déanfaimid an chumraíocht chéanna a mhacasamhlú ar fhíorfheistí iotlab.
Is tionscadal é seo don chúrsa Internet of Things den MSc Innealtóireacht in Eolaíocht Ríomhaireachta in Ollscoil Sapienza sa Róimh.
- Stór GitHub: nasc
- LinkedIn: nasc
- YouTube: nasc