Microcontroller-ka leh module-ka Wi-Fi ee UART ma u baahna inuu hirgeliyo VPN si uu u gaaro adeeg ka dambeeya. Module-ku horeba wuxuu socodsiiyaa stack TCP/IP oo wuxuu sockets ka soo bandhigaa dekedda serial, gateway-ga isla LAN-ka ahna wuu qaadi karaa socodkaas tunnel-ka. Naqshaddu waxay shaqaysaa kaliya haddii aad ka jawaabi karto afar su'aalood si kala ah, marka u qaado liis hubin: ciwaan, socket, wado, xad. Joogso iridda ugu horreysa ee guuldaraysata, waayo kuwa dambe ma buuxin karaan.

Sii hawl kasta hal shaqo

Xiriirka UART wuxuu u qaadaa amarro AT iyo culayska u dhexeeya microcontroller-ka iyo module-ka. Module-ku wuxuu ku biiraa shabakadda Wi-Fi oo wuxuu leeyahay xiriirka IP, oo ay ku jirto ciwaanka isha. Gateway-ga wuxuu leeyahay tunnel-ka, aqoonsiga iyo siyaasadda gudbinta. Kala soocidda hawlahaan ayaa ka dhigta naqshadda mid la sixi karo marxalad kasta.

Kala soociddu waxay sidoo kale beddeshaa sida aad u qorto siyaasadda gateway-ga. Qaanuunka isha waa inuu magacaabaa ciwaanka LAN ee module-ka, ma aha ciwaan mala-awaal ah oo loogu talagalay microcontroller-ka ka dambeeya xiriirka serial. Microcontroller-ku kuma laha aqoonsi IP u gaar ah naqshaddan, isku dayga in la sheego inuu leeyahayna wuxuu abuuraa qaanuun aan waligiis is waafajin.

Sii module-ka ciwaan deggan iyada oo loo marayo hab kasta oo kaydin ah oo shabakaddu taageerto, ama qalabka dhig qayb u gaar ah oo u ogolow gateway-ga inuu ku waafajiyo interface-ka. Ciwaanka barkadda ee is beddela dib u kicinta ka dib aakhirka wuxuu jebin doonaa siyaasad sax ahayd markii aad qortay.

Ma magacaabi karaa gateway-ga ciwaanka module-ka?

Ka hor inta aan la furin socket kasta, xaqiiji in module-ku xiran yahay, uu leeyahay ciwaan, iyo in gateway-ga uu ku arko interface-ka la filayay. Kani waa iridda inta badan si aamusnaan u guuldaraysata, waayo module-ku wuxuu farxad ku soo sheegayaa isku day xiriir oo aan waligiis ka bixin LAN-ka.

AT+CWMODE=1
AT+CWJAP="lab-wifi","passphrase"
AT+CIPSTA?
AT+CIPMUX=0

Habka hal xiriir wuxuu hayaa isku xigxiga amarraha oo fudud, waana barta bilowga saxda ah ee hal sensor oo la hadlaya hal adeeg. Habka xiriir badan wuxuu beddelaa syntax kasta oo amar dambe, marka go'aanso habka aad ku jirto ka hor inta aadan koobiyn tusaale ka yimid nooc kale oo firmware.

Fur socket-ka module-ka

Marka ciwaanka iyo habka la go'aamiyo, module-ku wuxuu furi karaa xiriir TCP oo ku wajahan adeegga gaarka ah. Ciwaanka hoose waa tusaale ka yimid baaxad dukumeenti; ku beddel midkaaga oo hay qaabkaas.

AT+CIPSTART="TCP","10.90.0.20",9000
AT+CIPSEND=18
{"t":21.4,"rh":48}

Amarkaas AT wuxuu furaa socket TCP caadi ah, socket-na ma aha tunnel: waxba kuma abuurmo VPN oo waxba kuma sir-gasho culayska. Habka TLS ee firmware-ku waa sifo gaar ah oo leh amarkiisa iyo maaraynta shahaadooyinkiisa, module UART aan gaar ahaynna waxaa laga yaabaa inuusan taageerin midkoodna. Fiiri tixraaca amarraha AT ee TCP/IP firmware-kaaga halkii aad ka filan lahayd in syntax-ka kor ku qoran uu khuseeyo.

Dhererka culayska AT+CIPSEND waa inuu la jaanqaado waxa aad dhab ahaan dirto, haddii kale module-ku wuxuu sugayaa bytes aan waligood imanayn xiriirkuna wuxuu u ekaan doonaa mid hangal ah. Guuldarradaas waxay u ekaanaysaa dhibaato shabakadeed oo had iyo jeer waa khalad hal unug ah dhererka.

Mari xiriirka gateway-ga

Gateway-ga wuxuu u baahan yahay wado u socota meesha gaarka ah, fasax uu ka gudbiyo shabakadda qalabka oo galo tunnel-ka, iyo wado dib u noqosho oo gaadha module-ka. Haddii dhinaca fog aanu dib ugu jeedin subnet-ka qalabka, naqshaddu waxay u baahan tahay qaanuun turjumaad oo ula kac ah, qaanuunkaasna wuxuu beddelaa aqoonsiga isha ee adeeggu arko.

ip route get 10.90.0.20
sudo tcpdump -ni wg0 'host 10.90.0.20 and port 9000'
sudo conntrack -L | grep 9000

U fiirso marka hore wadada dib u noqoshada. Baakad la gudbiyay oo gaadha adeegga oo aan waligiis soo noqon waxay module-ka ku abuurtaa waqti-dhaaf ah iyada oo aan khalad ku jirin gateway-ga, taas oo dadka ka dhigta inay saacado u fiirsadaan xiriirka Wi-Fi. Diiwaanka conntrack wuxuu kuu sheegaa haddii gateway-ga uu arko jawaabta.

Go'aanso halka tunnel-ku dhab ahaan ku dhammaado

Tunnel-ku wuxuu ka bilaabmaa gateway-ga. Ma sir-gasho xiriirka UART, mana ka dhigto qaybta LAN ee u dhexeeya module-ka iyo gateway-ga qayb ka mid ah tunnel-ka. Wax kasta oo qaybtaas u baahan ilaalin wuxuu u baahan yahay hanaan u gaar ah, TCP caadiga ah ee tusaalahan ma aha TLS.

Go'aanso sidoo kale waxa dhacaya marka tunnel-ku dhaco. Haddii gaarsiintu ay tahay inay kaliya ku socoto VPN, siyaasadda gudbintu waa inaanay u oggolaan isla meeshaas wado kale, waayo wado kayd ah ayaa si aamusnaan ah u burinaya shardiga. Xaddid dhaqanka dib u xirnaanta si module go'ay aanu u buuxin xiriirka serial ama adeegga fog isku dayo.

Qor afarta jawaabood wada jir: ciwaanka module-ka, bartilmaameedka socket-ka, wadada gateway-ga iyo halka sirta ka bilaabato. Qofka xiga ee sixi doona qalabkan wuxuu u baahan doonaa afarta oo dhan, midkoodna lama qiyaasi karo firmware-ka oo kaliya.

Maqaallo la xiriira