පෝර්ට් ඉදිරියට යැවීමකින් තොරව ESP8266 පාලනය: MQTT බාහිර මාර්ගය
අන්තර්ජාලයෙන් ළඟා විය හැකි බ්රෝකරයක් මගින් ගෘහ උපාංගයක් එය විසින්ම විවෘත කළ සම්බන්ධතාවයක් හරහා පාලනය කිරීමට ඉඩ දෙයි. මෙය TLS මතකය, විෂයයන් සහ නැවත ධාවනය සඳහා කුමක් වෙනස් කරයිද.
උපාංගය ගෘහ රවුටරයක පිටුපස පිහිටා ඇත, පෝර්ට් ඉදිරියට යැවීමක් නොමැති අතර පොදු ලිපිනයක්ද නොමැත, එසේ වුවත් එය තත්පර කිහිපයකින් වින්යාසය ලබා ගත යුතුය. උපක්රමය ගිනිපවුරේ සිදුරක් නොවේ. එය විසින් ළඟා විය හැකි බ්රෝකරයක් දෙසට උපාංගය විසින් පිටතට විවෘත කරන සම්බන්ධතාවයකි, එවිට එම බ්රෝකරය එම ස්ථාපිත මාර්ගයෙන්ම පණිවිඩ නැවත එවයි. මෙම නිර්මාණයේ ජනයාට ආදරය කරන සෑම ගුණාංගයක්ම, සහ එහි ඇති සෑම උගුලක්ම, එම පෙරළියෙන්ම පැමිණේ.
NAT හරහා සැබවින්ම ගමන් කරන්නේ කුමක්ද
උපාංගය බ්රෝකරයට TCP සම්බන්ධතාවයක් විවෘත කරන විට, ගෘහ රවුටරය සිතියම්ගත කිරීමක් සාදා ගලා යාම පවතින තාක් එය ජීවමානව තබා ගනී. එම ගලා යාමේ පිළිතුරු උපාංගයට ආපසු එන්නේ සිතියම්ගත කිරීම දැනටමත් පවතින බැවිනි. බ්රෝකරය කිසි විටෙක නිවස දෙසට කිසිවක් ආරම්භ නොකරයි, එබැවින් රවුටරය ප්රතික්ෂේප කළ යුතු ඉල්ලා නොගත් එන පැකට්ටුවක් නොමැත. එය මුළු ජාලකරණ තර්කයයි, ඔබ පාලනය නොකරන ජාලවල මෙම ප්රවේශය ක්රියා කරන්නේ එබැවිනි.
උපාංගය සම්බන්ධතාවය ජීවමානව තබා ගත යුතුය හෝ නැවත ස්ථාපිත කළ යුතුය, ස්ථාපනය තහවුරු වූ පසු එය විශ්වාසනීයත්වයේ ප්රශ්නය බවට පත් වේ.
බ්රෝකරය විෂයයන් යොමු කරයි, HTTP ප්රොක්සි නොකරයි
MQTT ප්රකාශනය සහ දායකත්වයේ හුවමාරු නිර්වචනය කරයි: උපාංගය කියවීමට අවසර ඇති විෂය පෙරහනකට දායක වේ, සහ බලයලත් පාලකයෙක් ගැලපෙන විෂයයකට ප්රකාශයට පත් කරයි. බ්රෝකරය ප්රකාශන දායකත්වයන් සමඟ ගැලපී පිටපත් බෙදාහරියි. එය බ්රව්සර ඉල්ලීමක් යනු කුමක්දැයි නොදනී, උපාංගයේ වෙබ් සේවාදායකයට HTTP GET යැවීමද නොකරයි. පවතින ස්ථිරාංග මෘදුකාංගය HTTP පමණක් කථා කරන්නේ නම්, බ්රෝකර නිර්මාණයට යෙදුම් වෙනසක් හෝ හිතාමතා සකසන ලද පරිවර්තන අංගයක් අවශ්ය වේ.
විෂය නාම ද අවසරයක් නොවේ. බොහෝ බ්රෝකර සෑම සේවාලාභියෙකුටම ප්රවේශ පාලන ලැයිස්තු සහාය දක්වයි, උපාංග එක් ගෝලීය නාම අවකාශයක් බෙදා ගැනීම වෙනුවට ඒවායේම ප්රකාශන සහ දායකත්ව ගස්වලට සීමා කළ යුතුය.
උපාංග සම්පත් TLS හැඩය තීරණය කරයි
ESP8266 සීමිත RAM ඇත, TLS අත් සෙල්ලම එය කරන මිල අධිකම දෙයයි. Arduino හරය BearSSL සපයන්නේ හරියටම මෙම සීමාව නිසාය, CA සත්යාපනය කිරීම සහ ඇඟිලි සලකුණක් පින් කිරීම අතර තේරීම මතක පියසටහන සහ වෙනත් නාමයක් සඳහා වලංගු සහතිකයක් ඇති ප්රහාරකයාට කළ හැකි දේ දෙකම වෙනස් කරයි. හීප් ඉඩ දෙන විට බ්රෝකරයේ CA සත්යාපනය කිරීම ශක්තිමත් විකල්පයයි. ගෙවුම් භාරයේ ප්රමාණයද වැදගත්: MQTT සේවාලාභියා බෆරයක් රඳවා ගනී, එයට වඩා විශාල පණිවිඩ බෆරය හිතාමතා වැඩි නොකළහොත් නිශ්ශබ්දව කපා දැමේ.
කීප්අලයිව් සහ සොකට් කාල සීමා එකම අයවැයේ කොටසකි, මන්ද මළ සම්බන්ධතාවයක් කිසි විටෙක නොදකින සේවාලාභියා දෝෂයක් වාර්තා නොකර විධාන ලැබීම නවත්වයි.
සපා කන පණිවිඩ අර්ථය
රඳවා ගත් පණිවිඩයක් බ්රෝකරය විසින් ගබඩා කර පසුව ගැලපෙන දායකයින්ට බෙදාහරියි, එය වර්තමාන තත්ත්වයට විශිෂ්ට වන අතර එක් වරක් විධාන සඳහා අනතුරුදායකය: නැවත සම්බන්ධ වන උපාංගයකට ඊයේ විධානය අලුත් එකක් මෙන් ලැබිය හැක. QoS 1 අවම වශයෙන් එක් වරක් බෙදාහැරීම සහතික කරයි, එබැවින් අනුපිටපත් සාමාන්යය, යෙදුම නැවත ධාවනයට ආරක්ෂිත විය යුතුය, වඩාත් සුදුසු වන්නේ එය ප්රතික්ෂේප කළ හැකි හඳුනාගැනීමක් හෝ කාල මුද්රාවක් සමඟය. අවසන් කැමැත්ත උපාංගය වැටෙන විට තත්ත්ව සංඥාවක් ලබා දෙයි, නමුත් සම්බන්ධතාවය එල්ලී නොසිට සැබවින්ම අසාර්ථක වුවහොත් පමණි.
පිරිසිදු සැසියේ හැසිරීම තීරණය කරන්නේ ඔබ නොමැති විට බ්රෝකරය ඔබේ දායකත්ව තබා ගනීද යන්නය, එහි වැරැද්දක් කිරීම නිසාම සමහර උපාංග සෑම නැවත සම්බන්ධතාවයකින් පසු පළමු පණිවිඩය අතපසු කරයි.
TLS බ්රෝකරය දක්වා කොටස ආරක්ෂා කරයි. එය බ්රෝකර ක්රියාකරුට එරෙහිව ගෙවුම් භාරයේ කෙළවරේ සිට කෙළවර දක්වා සංකේතනයක් නොවේ, ඔහුට ඔබ එය හරහා ප්රකාශයට පත් කරන සියල්ල කියවිය හැක.
ජීවන චක්රය සීමා කර හානිකර නොවන දත්ත සමඟ පරීක්ෂා කරන්න
තද නැවත උත්සාහ ලූපයක් වෙනුවට පසුබැසීම සමඟ නැවත සම්බන්ධ වීම සැලසුම් කරන්න, සැසිය ස්ථිර නොවේ නම් පැහැදිලිව නැවත දායක වන්න, සහ සම්බන්ධතා ප්රතිඵලය ලොග් කරන්න, එවිට නිශ්ශබ්ද අල්ලට ඈත් උපාංගයක් සාක්ෂි ඉතිරි කරයි. නැවත සම්බන්ධ වීමේ මාර්ගය කිසිවක් නොකරන නියැදි ගෙවුම් භාර සමඟ පරීක්ෂා කරන්න, මන්ද විධාන නාලිකාවක පළමු නිෂ්පාදන පරීක්ෂණය සැබෑ විධානයක් නොවිය යුතුය. පසුව පැරණි රඳවා ගත් පණිවිඩයක් නැවත සම්බන්ධ වීමේදී කුමක් කරයිදැයි තහවුරු කර, එම හැසිරීම සෑම විෂයයකටම පිළිගත හැකිදැයි තීරණය කරන්න.
මේ ආකාරයට කළ විට, නිර්මාණය එක් එන ජාල අවශ්යතාවක් ඉවත් කර උපාංග මෘදුකාංගය, බ්රෝකර ප්රතිපත්තිය සහ පණිවිඩ අර්ථය සැඟවුණු උපකල්පන වෙනුවට දෘශ්ය කාර්යයක් ලෙස තබයි.