Ìṣàkóso ESP8266 láìsí gbígbé ibùdó: ọ̀nà MQTT tí ń jáde
Broker tí a lè dé láti inú íńtánẹ́ẹ̀tì ń jẹ́ kí a ṣàkóso ẹ̀rọ ilé nípasẹ̀ ìsopọ̀ tí ó fúnra rẹ̀ ṣí. Kí ni ìyẹn ń yí padà fún ìrántí TLS, àwọn àkòrí àti àtúnyẹ̀wò.
Ẹ̀rọ náà wà lẹ́yìn olúlà nẹ́tíwọ́kì ilé láìsí gbígbé ibùdó àti láìsí àdírẹ́sì gbogbogbò, síbẹ̀ ó gbọdọ̀ gba ìṣètò ní ìṣẹ́jú kejì. Ọgbọ́n náà kì í ṣe ihò nínú ọ̀dà-ina. Ó jẹ́ ìsopọ̀ tí ẹ̀rọ náà ṣí jáde lọ sọ́dọ̀ broker tí ó lè dé, tí ó sì rán àwọn ìfiránṣẹ́ padà nípasẹ̀ ọ̀nà tí a ti fi lélẹ̀ yẹn. Gbogbo ànímọ́ tí àwọn ènìyàn fẹ́ràn nínú àpẹrẹ yìí, àti gbogbo èré nínú rẹ̀, wá láti inú ìyípadà yẹn.
Kí ni ó ń kọjá NAT ní ti gidi
Nígbà tí ẹ̀rọ náà bá ṣí ìsopọ̀ TCP sí broker, olúlà ilé ń dá àwòrán ibùdó kan àti máa ń jẹ́ kí ó wà láàyè ní gbogbo ìgbà tí ìṣàn náà bá wà. Àwọn ìdáhùn lórí ìṣàn yẹn padà wá sí ẹ̀rọ náà nítorí àwòrán ibùdó náà ti wà tẹ́lẹ̀. Broker kì í bẹ̀rẹ̀ ohunkóhun sí ọ̀dọ̀ ilé rárá, nítorí náà kò sí pákẹ́tì tí ń wọlé tí a kò béèrè tí olúlà yóò kọ̀. Ìyẹn ni gbogbo àríyànjiyàn nẹ́tíwọ́kì, ìdí nìyẹn tí ọ̀nà yìí fi ń ṣiṣẹ́ lórí àwọn nẹ́tíwọ́kì tí ìwọ kò ṣàkóso.
Ẹ̀rọ náà gbọdọ̀ pa ìsopọ̀ mọ́ láàyè tàbí kí ó tún un dá, èyí sì di ìbéèrè ìgbẹ́kẹ̀lé nígbà tí a bá ti fi àpẹrẹ-ìkọ́lé náà lélẹ̀.
Broker ń darí àwọn àkòrí, kì í ṣe aṣojú HTTP
MQTT ń ṣàlàyé àwọn pàṣípààrọ̀ ìtẹ̀jáde àti ìforúkọsílẹ̀: ẹ̀rọ náà forúkọsílẹ̀ sí àyọ̀nà àkòrí tí a gbà á láàyè láti kà, olùṣàkóso tí a fún ní àṣẹ sì ń tẹ̀jáde sí àkòrí tí ó bá mu. Broker ń fi àwọn ìtẹ̀jáde wé àwọn ìforúkọsílẹ̀ ó sì ń fi ẹ̀dà ránṣẹ́. Kò mọ kí ni ìbéèrè aṣàwákiri, kò sì ní gbé HTTP GET ránṣẹ́ sí olùpèsè wẹ́ẹ̀bù ẹ̀rọ náà. Tí firmware tí ó wà bá ń sọ HTTP nìkan, àpẹrẹ broker náà nílò ìyípadà ohun èlò tàbí ẹ̀yà ìtumọ̀ tí a mọ̀ọ́mọ̀ ṣe.
Àwọn orúkọ àkòrí pẹ̀lú kì í ṣe àṣẹ. Ọ̀pọ̀ jùlọ broker ń ṣe àtìlẹ́yìn àwọn àkọsílẹ̀ ìṣàkóso ààyè fún olùgbàlódé kọ̀ọ̀kan, àwọn ẹ̀rọ sì gbọdọ̀ di ààlà sí àwọn igi ìtẹ̀jáde àti ìforúkọsílẹ̀ tiwọn dípò pínpín ibùdó orúkọ àgbáyé kan.
Àwọn ohun èlò ẹ̀rọ náà ń pinnu ìrísí TLS
ESP8266 ní RAM tí ó ní ààlà, ìfọwọ́sowọ́pọ̀ TLS sì ni ohun tí ó gbówó lórí jùlọ tí ó ń ṣe. Kódù Arduino ń pèsè BearSSL gan-an nítorí ààlà yìí, yíyàn láàárín ìjẹ́rìí CA àti dídì àmì ìka ń yí àmì ìrántí padà àti ohun tí olùkọlu tí ó ní ìwé-ẹ̀rí tí ó wúlò fún orúkọ mìíràn lè ṣe. Ìjẹ́rìí CA broker ni àṣàyàn tí ó lágbára jùlọ nígbà tí ìgbámọ́ bá gbà á. Ìwọ̀n ẹrù náà pẹ̀lú ṣe pàtàkì: olùgbàlódé MQTT ń dá àpò ìforígbárí mú, àwọn ìfiránṣẹ́ tí ó tóbi ju ú lọ ni a ń gé ní ìdákẹ́jẹ́ẹ́ àyàfi tí a bá gbé àpò náà sókè mọ̀ọ́mọ̀.
Keepalive àti àwọn àkókò ìparí socket jẹ́ apá kan náà ìsúnná owó, nítorí olùgbàlódé tí kò ṣàkíyèsí ìsopọ̀ tí ó ti kú rí ń dákẹ́ gbígbà àwọn àṣẹ láìròyìn àṣìṣe.
Ìtumọ̀ ìfiránṣẹ́ tí ń jáni
Ìfiránṣẹ́ tí a pa mọ́ ni broker ń tọ́jú, yóò sì fi í fún àwọn olùforúkọsílẹ̀ tí ó bá mu ní ìgbà tí ó tọ́, èyí dára fún ipò lọ́wọ́lọ́wọ́ àti léwu fún àwọn àṣẹ ìgbà kan: ẹ̀rọ tí ó tún sopọ̀ lè gba àṣẹ àná bí ẹni pé ó tuntun. QoS 1 ń ṣe ìdánilójú ìfiṣẹ́ ní ọ̀pọ̀ ìgbà kan, nítorí náà àwọn ẹ̀dà jẹ́ àdá, àti ohun èlò náà gbọdọ̀ ní ààbò sí àtúnyẹ̀wò, ní pàtàkì pẹ̀lú ìdánimọ̀ tàbí àmì àkókò tí ó lè kọ̀. Ìfẹ́-ìkẹ́yìn ń fún ọ ní àmì ipò nígbà tí ẹ̀rọ náà bá ṣubú, ṣùgbọ́n kìkì tí ìsopọ̀ bá kùnà ní ti gidi dípò kí ó rọ̀ mọ́.
Ìhùwàsí ìpàdé mímọ́ ń pinnu bóyá broker yóò pa àwọn ìforúkọsílẹ̀ rẹ mọ́ nígbà tí o kò sí, àṣìṣe níbẹ̀ sì ni ìdí tí àwọn ẹ̀rọ kan fi ń pàdánù ìfiránṣẹ́ àkọ́kọ́ lẹ́yìn gbogbo àtúsopọ̀.
TLS ń dáàbò bo apá tí ó lọ sí broker. Kì í ṣe ìkọ̀wé ẹrù láti òpin dé òpin lòdì sí olùṣàkóso broker, ẹni tí ó lè ka gbogbo ohun tí o ń tẹ̀jáde nípasẹ̀ rẹ̀.
Ṣe ààlà ìgbésí ayé kí o sì dán an wò pẹ̀lú dátà tí kò lè ṣe ìpalára
Ṣètò àtúsopọ̀ pẹ̀lú ìpadà sẹ́yìn dípò ìrọ́kẹ̀kẹ̀ ìgbìyànjú tí ó mọ́, forúkọsílẹ̀ lẹ́ẹ̀kan sí i ní gbangba tí ìpàdé kò bá dúró, kí o sì kọ àbájáde ìsopọ̀ náà sílẹ̀ kí ẹ̀rọ tí ó dákẹ́ tí kò sí lórí ìsopọ̀ lè fi ẹ̀rí sílẹ̀. Dán ọ̀nà àtúsopọ̀ náà wò pẹ̀lú àwọn ẹrù àpẹẹrẹ tí kò ṣe nǹkan kan, nítorí ìdánwò ìgbéjáde àkọ́kọ́ ti ikanni àṣẹ kò gbọdọ̀ jẹ́ àṣẹ gidi. Lẹ́yìn náà jẹ́rìí ohun tí ìfiránṣẹ́ mímọ́ tí ó ti gbó ṣe nígbà àtúsopọ̀, kí o sì pinnu bóyá ìhùwàsí yẹn jẹ́ ìtẹ́wọ́gbà fún gbogbo àkòrí.
Ní ṣíṣe bẹ́ẹ̀, àpẹrẹ náà yọ ìbéèrè nẹ́tíwọ́kì tí ń wọlé kan kúrò, ó sì fi sọ̀fítwèà ẹ̀rọ, ìlànà broker àti ìtumọ̀ ìfiránṣẹ́ sílẹ̀ gẹ́gẹ́ bí iṣẹ́ tí a rí dípò àwọn ìrònú tí ó pamọ́.