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í.

Córas scamall-bhunaithe IoT ag úsáid Thingsboard, MQTT, RIOT-OS agus IoT-LAB

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

Cumraíocht geata clár rudaí

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
orduithe blaosc saincheaptha ar chíréib

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.

Ailtireacht MQTT-SN

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:

Dúchais RIOT, droichead trasghearrthach MQTTSN agus mosquitto

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)
Forghníomhú RIOTPainéal ilfheistíPainéal na nGléas

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

  1. Cláraigh chuig IoT-Lab.
  2. Cumraigh Rochtain SSH (nasc).
  3. 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