MQTT: ஒரு திறந்த பிணைய நெறிமுறை மற்றும் IoT இல் அதன் முக்கியத்துவம்

MQTT நெறிமுறை நெட்வொர்க் IoT

பெயரை நினைவில் கொள்ளுங்கள் MQTT, இது ஒரு பிணைய தகவல்தொடர்பு நெறிமுறை வகை M2M (மெஷின் டு மெஷின்) என்பதால் இது கொஞ்சம் கொஞ்சமாக ஒலிக்கும். இது ஆங்கிலத்தில் அதன் சுருக்கெழுத்துக்காக இன்டர்நெட் ஆஃப் திங்ஸ் அல்லது ஐஓடி (இன்டர்நெட் ஆஃப் திங்ஸ்) இன் புதிய சகாப்தத்திற்கு மிகவும் பிரபலமான நன்றி. கூடுதலாக, இது ஒரு திறந்த நெறிமுறை, இது பல நன்மைகளைத் தருகிறது.

உண்மையில், இது IoT இன் மைய தூண்களில் ஒன்றாக மாறியுள்ளது, ஏனெனில் இது போன்ற சில பரிமாற்ற வரம்புகளைக் கொண்ட சாதனங்களில் இது மிகவும் நல்லது. MQTT என்ற சுருக்கெழுத்து வந்தது செய்தி வரிசை டெலிமெட்ரி போக்குவரத்து, நெட்வொர்க் தகவல்தொடர்புகளுக்கான OASIS மற்றும் ISO (ISO / IEC 20922) ஆகியவற்றிலிருந்து திறந்த தரநிலை மற்றும் இது பொதுவாக பிரபலமான TCP / IP இல் இயங்குகிறது.

பிணைய நெறிமுறைகள்

OSI மாதிரி மற்றும் அதன் அடுக்குகள்

தி தொடர்பு நெறிமுறைகள் அவை இரண்டு அல்லது அதற்கு மேற்பட்ட சாதனங்கள் அல்லது அமைப்புகள் ஒருவருக்கொருவர் தொடர்பு கொள்ள அனுமதிக்கும் விதிகள். அதாவது, மென்பொருள் மற்றும் வன்பொருள் (அல்லது இரண்டும்) செயல்படுத்தினாலும், பல்வேறு வழிகளில் மற்றும் வரையறுக்கப்பட்ட வடிவத்துடன் தகவல்களை அனுப்ப ஒரு நெறிமுறை இது.

El நிலையான நெறிமுறை பல தகவல்தொடர்பு பண்புகளை வரையறுக்கிறது. இது ஒத்திசைவு, சொற்பொருள், தொடரியல், பாக்கெட் வடிவம் போன்ற விதிகளிலிருந்து செல்லலாம். உண்மை என்னவென்றால், அவை மிகக் குறைவானவை அல்ல, ஏனெனில் இந்த நெறிமுறைகளுக்கு நன்றி இன்று நாம் இணையத்தையும் பிற தகவல் தொடர்பு நெட்வொர்க்குகளையும் பயன்படுத்தலாம் ...

நிச்சயமாக, ஒரு நெறிமுறை மட்டுமல்ல, பலவும் உள்ளன. உதாரணத்திற்கு, புகழ்பெற்ற பயன்பாட்டு அடுக்குக்கு DNS, FTP, MQTT, HTTP மற்றும் HTTPS, IMAP, LDAP, NTP, DHCP, SSH, Telnet, SNMP, SMTP போன்றவை. போக்குவரத்து அடுக்கில் இருக்கும்போது, ​​டி.சி.பி, யு.டி.பி போன்ற பிரபலமான சிலவற்றையும், அதே போல் ஐபிவி 4, அல்லது ஐபிவி 6 போன்ற இணைய அடுக்கையும் காணலாம் (கிடைக்கக்கூடிய அதிக எண்ணிக்கையிலான ஐபிக்கள் மற்றும் வருகையை சாத்தியமாக்கிய ஒன்று IoT), IPSec, மற்றும் டி.எஸ்.எல், ஈதர்நெட், வைஃபை, ஏஆர்பி போன்ற இணைப்பு அடுக்கின் மற்றவர்கள்.

IoT நெறிமுறைகளைப் பற்றி

MQTT நெறிமுறை

நிச்சயமாக, குறிப்பிட்ட தகவல்தொடர்பு நெறிமுறைகள் உள்ளன அல்லது அவை பயன்படுத்தப்படலாம் சனத்தொகை. அதாவது, முந்தைய பகுதியைக் கருத்தில் கொண்டு, அவை வரையறுக்கப்பட்ட தரங்களின் வரிசையாக இருக்கும், இதனால் இரண்டு அல்லது அதற்கு மேற்பட்ட ஐஓடி சாதனங்கள் ஒருவருக்கொருவர் தொடர்பு கொள்ளவும் புரிந்துகொள்ளவும் முடியும், மேலும் அவை வழக்கமாக எம் 2 எம், அதாவது இயந்திரத்திலிருந்து இயந்திரம் வரை தொடர்பு கொள்ளலாம். உள்ளன. பல IoT சாதனங்கள் சென்சார்கள் அல்லது பிற மூலங்களிலிருந்து தகவல்களைப் பகிர்ந்துகொள்கின்றன.

அதிக எண்ணிக்கையிலான ஐஓடி சாதனங்கள் காரணமாக, இந்த நெறிமுறைகள் அலைவரிசை, வேகம் போன்றவற்றின் வரம்புகளுக்கு அப்பால் தேவைகளைப் பூர்த்தி செய்ய வேண்டும். (பல சாதனங்கள் உட்பொதிக்கப்பட்டவை மற்றும் மலிவானவை என்பதை நினைவில் கொள்ளுங்கள்), இது பொதுவாக சில சாதனங்களில் இருக்கும். நான் அந்த உண்மையை அர்த்தப்படுத்துகிறேன் அளவிடக்கூடியதாக இருக்க வேண்டும், தேவைப்பட்டால் மற்றும் உலகளாவிய அமைப்பை பாதிக்காமல் மேலும் இணைக்கப்பட்ட சாதனங்களைச் சேர்க்க முடியும்.

மேலும், அவர்கள் ஒரு வேண்டும் குறைந்த சார்பு சாதனங்களுக்கிடையில் இணைத்தல், இதனால் ஒரு சாதனம் அகற்றப்பட்டால் சிக்கல்கள் உருவாகாது. நிச்சயமாக, அதே நேரத்தில், ஒரு உயர் இயங்குதன்மை கோரப்படுகிறது, இதனால் இது ஏராளமான சாதனங்கள் மற்றும் மிகவும் மாறுபட்ட அமைப்புகளுடன் இயங்குகிறது, ஏனெனில் IoT உலகம் மிகவும் பன்முகத்தன்மை கொண்டது.

பிற பயனுள்ள அம்சங்கள் அவற்றை செயல்படுத்த எளிதாக இருக்கும், பாதுகாப்பு, முதலியன. பாதுகாப்பு அம்சத்தில் IoT பெரும் சவால்களை உருவாக்குகிறது என்பதை நினைவில் கொள்ளுங்கள். இன்னும் பல இணைக்கப்பட்ட சாதனங்கள் சில சந்தர்ப்பங்களில் முக்கியமானதாக இருக்கும்போது ... எடுத்துக்காட்டாக, சிறார்களுக்கான பொம்மைகள்.

முக்கியமான கருத்துக்கள்

IoT க்கான தீர்வுகள் ஒரு மையப்படுத்தப்பட்ட சேவையகத்தைப் பயன்படுத்துகின்றன, அவை இணைக்கப்பட்ட அனைத்து சாதனங்களிலிருந்தும் செய்திகளைப் பெறுகின்றன, அவற்றைக் கேட்கும் அனைத்து இணைக்கப்பட்ட IoT சாதனங்களுக்கும் விநியோகிக்கின்றன. அந்த சேவையகம் என்று அழைக்கப்படுகிறது திசைவி அல்லது தரகர். சில வழிகளில் வழக்கமான கிளையன்ட்-சர்வர் உறவிலிருந்து வெகு தொலைவில் உள்ள ஒன்று.

மறுபுறம், முறைகள் IoT க்கான இந்த தகவல்தொடர்பு நெறிமுறைகளில் நீங்கள் காணலாம்:

  • பப்ஸப்: வெளியிடு / சப்ஸ்கிரைப் என்பது ஒரு செய்தியைப் பெற விரும்புவதாக ஒரு சாதனம் (துணை) தரகருக்குத் தெரிவிக்கும் ஒரு செய்தி முறை, மற்றொரு சாதனம் (பப்) தரகர் அவர்களுக்காகக் காத்திருக்கும் மற்ற சாதனங்களுக்கு விநியோகிக்க செய்திகளை வெளியிடுகிறது.
  • ஆர்ஆர்பிசி: திசைவி மறுசீரமைப்பு செயல்முறை அழைப்புகள் தொலைநிலை செயல்முறை செயலாக்கத்தின் மற்றொரு முறை. அதில், ஒரு சாதனம் (காலீ) ஒரு குறிப்பிட்ட நடைமுறையை மேற்கொள்ளும் என்று தரகருக்குத் தெரிவிக்கிறது மற்றும் தரகர் அதை மற்றொரு சாதனத்திற்கு (அழைப்பாளர்) விநியோகிக்கிறார், அதில் செயல்முறை செயல்படுத்தப்படுகிறது.

இப்போது, ​​இந்த முறைகள் அல்லது வடிவங்களை மேற்கொள்ள, a செய்தி உள்கட்டமைப்பு. இந்த அர்த்தத்தில் இரண்டை வேறுபடுத்தலாம்:

  • செய்தி வரிசை: தரகருக்கான சந்தாவைத் தொடங்கும் அனைத்து வாடிக்கையாளர்களுக்கும் ஒற்றை செய்தி வரிசை உருவாக்கப்படும் செய்தி சேவை. பிந்தையது செய்திகளை வாடிக்கையாளருக்கு வழங்கும் வரை சேமித்து வைத்திருக்கும். கிளையன்ட் அல்லது பெறுநர் இணைக்கப்படவில்லை என்றால், அது இணைக்கப்படும் வரை பராமரிக்கப்படுகிறது. இந்த வகையான சேவைகள் டெலிகிரா, வாட்ஸ்அப், மெசஞ்சர் போன்ற உடனடி செய்தி பயன்பாடுகளில் பயன்படுத்தப்படுவது போன்றவை.
  • செய்தி சேவை: இது மற்றொரு சேவையாகும், இதில் தரகர் இணைக்கப்பட்ட பெறுநர் வாடிக்கையாளருக்கு செய்திகளை அனுப்புகிறார், செய்தியின் வகையால் வடிகட்டுகிறார். கிளையன்ட் அல்லது பெறும் சாதனம் துண்டிக்கப்பட்டுவிட்டால், செய்திகள் இழக்கப்படுகின்றன (இது சில பதிவு முறைமை இருந்தாலும்).

IoT நெறிமுறைகள்

மேற்கண்டவற்றைப் பார்த்த பிறகு, இப்போது ஒரு கூர்ந்து கவனிப்போம் IoT நெறிமுறைகள் அவை நன்கு அறியப்பட்டவை. M2M இன் மிக முக்கியமானவை:

  • AMQP (மேம்பட்ட செய்தி வரிசைமுறை நெறிமுறை): செய்தி வரிசையின் பப்ஸப் வகை நெறிமுறை. நல்ல இயங்குதன்மை மற்றும் நம்பகத்தன்மையை உறுதிப்படுத்த வடிவமைக்கப்பட்டுள்ளது. குறிப்பாக கார்ப்பரேட் பயன்பாடுகள், அதிக செயல்திறன், அதிக செயலற்ற நெட்வொர்க்குகள், முக்கியமானவை.
  • WAMP (வலை பயன்பாட்டு செய்தியிடல் நெறிமுறை): இது ஆர்ஆர்பிசி போன்ற பப்ஸப் வகையின் மற்றொரு திறந்த நெறிமுறை, இது வெப்சாக்கெட்டுகளில் இயங்குகிறது.
  • CoAP (கட்டுப்படுத்தப்பட்ட பயன்பாட்டு நெறிமுறை): குறைந்த திறன் பயன்பாடுகளுக்காக சிறப்பாக வடிவமைக்கப்பட்ட ஒரு நெறிமுறை.
  • TOMP (ஸ்ட்ரீமிங் உரை சார்ந்த செய்தி அனுப்பும் நெறிமுறை): மிகவும் எளிமையான நெறிமுறை மற்றும் அதிகபட்ச இயங்குதளத்தை அடைய. உரை செய்திகளை அனுப்ப HTTP பயன்படுத்தப்படுகிறது.
  • XMPP (விரிவாக்கக்கூடிய செய்தி மற்றும் இருப்பு நெறிமுறை): உடனடி செய்தியிடல் பயன்பாடுகளுக்காக மற்றும் XML ஐ அடிப்படையாகக் கொண்ட IoT இல் பயன்படுத்தப்படும் மற்றொரு நெறிமுறை. ஜனவரி இந்த வழக்கும் திறந்திருக்கும்.
  • WMQ (வெப்ஸ்பியர் செய்தி வரிசை): ஐபிஎம் உருவாக்கிய நெறிமுறை. இது செய்தி வரிசை வகையைச் சேர்ந்தது, அதன் பெயர் குறிப்பிடுவது போல, செய்தி சார்ந்ததாகும்.
  • MQTT: (அடுத்த பகுதியைப் பார்க்கவும்)

MQTT பற்றி எல்லாம்

MQTT தொகுப்பு

El MQTT நெறிமுறை இது ஒரு செய்தி வரிசை தகவல்தொடர்பு நெறிமுறை, இது ஒரு பப்ஸப் வடிவத்தைப் பின்பற்றுகிறது, மற்றும் நான் ஏற்கனவே குறிப்பிட்டபடி M2M வகை. இது IoT இல் பரவலாகப் பயன்படுத்தப்படுகிறது, மேலும் இது இணையத்தில் பயன்படுத்தப்படும் TCP / IP அடுக்கை அடிப்படையாகக் கொண்டது.

MQTT விஷயத்தில், ஒவ்வொரு இணைப்பும் திறந்திருக்கும் தேவையான ஒவ்வொரு தகவல்தொடர்புகளிலும் இது மீண்டும் பயன்படுத்தப்படுகிறது. அறியப்பட்ட பிற நெறிமுறைகளில் என்ன நடக்கிறது என்பதிலிருந்து வேறுபட்டது, ஒவ்வொரு தகவல்தொடர்பு நடைபெறும் புதிய இணைப்பு தேவை.

நன்மை

IoT க்கான M2M தகவல்தொடர்புகளின் அடிப்படையில் MQTT நெறிமுறையின் நன்மைகள் மிகவும் தெளிவாக உள்ளன. மேலே சொன்ன எல்லாவற்றிற்கும் மேலாக, இது வழங்கும் ஒரு நெறிமுறை:

  • அளவிடுதல், மேலும் அதிகமான வாடிக்கையாளர்களை இணைக்க.
  • குறைந்த சார்புநிலைக்கு, வாடிக்கையாளர்களிடையே துண்டித்தல்.
  • ஒத்திசைவு.
  • எளிமை.
  • அதிக வளங்களை நுகரக்கூடாது என்பதற்காக லேசான தன்மை (டி.எல்.எஸ் / எஸ்.எஸ்.எல் பாதுகாப்புடன் இது உயரும் என்றாலும்).
  • பேட்டரி அல்லது வேலை 24/7 சார்ந்து இருக்கும் சாதனங்களுக்கு ஆற்றல் திறன், இதற்கு பெரிய அலைவரிசை தேவையில்லை (சில வயர்லெஸ் போன்ற மெதுவான இணைப்புகளுக்கு ஏற்றது).
  • பாதுகாப்பு மற்றும் தரம், தகவல்தொடர்புகளில் அதிக நம்பகத்தன்மை மற்றும் வலுவான தன்மைக்கு.

வரலாறு

MQTT 90 களில் உருவாக்கப்பட்டது, இதன் ஆரம்ப பதிப்பு நெறிமுறை 1999 இல். இது ஐ.பி.எம்மின் டாக்டர் ஆண்டி ஸ்டான்போர்ட்-கிளார்க் மற்றும் சிரஸ் லிங்கின் ஆர்லன் நிப்பர் (முன்பு யூரோடெக்) ஆகியோரால் உருவாக்கப்பட்டது.

La ஆரம்ப யோசனை திறமையான தகவல்தொடர்பு நெறிமுறை (குறைந்த அலைவரிசை நுகர்வு), ஒளி மற்றும் குறைந்த ஆற்றல் நுகர்வு ஆகியவற்றைக் கொண்டு, பாலைவனத்தின் வழியாக பயணிக்கும் ஒரு குழாயைக் கண்காணிக்க ஒரு நெறிமுறையை உருவாக்குவதாகும். அந்த நேரத்தில் அது மிகவும் விலை உயர்ந்தது, ஆனால் இப்போது அது மலிவான மற்றும் திறந்த நெறிமுறையாக மாறியுள்ளது.

ஆரம்ப நெறிமுறை தோற்றத்துடன் மேம்படுத்தப்பட்டது புதிய பதிப்புகள், OASIS (கட்டமைக்கப்பட்ட தகவல் தரநிலைகளின் முன்னேற்றத்திற்கான அமைப்பு) விவரக்குறிப்பின் கீழ் MQTT v3.1 (2013) போன்றவை. ஆரம்பத்தில் இது ஒரு தனியுரிம ஐபிஎம் நெறிமுறை என்பதை நீங்கள் அறிந்து கொள்ள வேண்டும், ஆனால் அது 2010 இல் வெளியிடப்படும், மேலும் இது OASIS இல் ஒரு தரமாக மாறியது ...

MQTT இணைப்பு எவ்வாறு செயல்படுகிறது

MQTT நெறிமுறை பயன்படுத்துகிறது ஒரு வடிகட்டி, ஒவ்வொரு வாடிக்கையாளருக்கும் அனுப்பப்படும் செய்திகளுக்கு, தலைப்புகள் அல்லது தலைப்புகளின் அடிப்படையில் வரிசைப்படுத்தப்படும். இந்த வழியில், ஒரு வாடிக்கையாளர் ஒரு குறிப்பிட்ட தலைப்பில் ஒரு செய்தியை இடுகையிடலாம். இந்த வழியில், தலைப்புக்கு குழுசேர்ந்த அனைத்து வாடிக்கையாளர்கள் அல்லது இணைக்கப்பட்ட சாதனங்கள் தரகர் மூலம் செய்திகளைப் பெறும்.

MQ போல, செய்திகள் வரிசையில் இருக்கும் கிளையன்ட் அந்த செய்தியைப் பெறும் வரை அவை இழக்கப்படாது.

இணைப்புகள், நான் சுட்டிக்காட்டியபடி, செய்யப்பட்டுள்ளன TCP / IP வழியாக, மற்றும் சேவையகம் அல்லது தரகர் இணைக்கப்பட்ட வாடிக்கையாளர்களின் பதிவை வைத்திருக்கும். இயல்பாக, சாதனங்கள் தகவல்தொடர்பு துறைமுக எண் 1883 ஐப் பயன்படுத்தும், இருப்பினும் கூடுதல் பாதுகாப்புக்காக நீங்கள் SSL / TLS ஐப் பயன்படுத்தினால் போர்ட் 8883 ஐ சந்திக்க நேரிடும்.

இணைப்பு சாத்தியமாக இருக்க, வாடிக்கையாளர்கள், சேவையகங்கள் மற்றும் துறைமுகங்கள் மட்டுமல்ல. மற்றவர்களும் தொகுப்புகள் அல்லது செய்திகள் அனுப்பப்பட்டன தொடர்பு நடைபெற:

  • இணைப்பை நிறுவுங்கள்: தேவையான அனைத்து தகவல்களுடனும் கிளையன்ட் அனுப்பிய செய்தி / பாக்கெட்டை இணைக்கவும். அந்த தகவலில் வாடிக்கையாளர் ஐடி, பயனர்பெயர், கடவுச்சொல் போன்றவை அடங்கும். இணைப்பு ஏற்றுக்கொள்ளப்பட்டது, நிராகரிக்கப்பட்டது போன்றவற்றை வாடிக்கையாளருக்கு தெரிவிக்கும் ஒரு தொடர்பு பாக்கெட் மூலம் தரகர் அல்லது சேவையகம் பதிலளிக்கிறது.
  • செய்திகளை அனுப்பவும் பெறவும்: இணைப்பு நிறுவப்பட்டதும், தலைப்பு மற்றும் புரோக்கருக்கு அனுப்பப்படும் செய்தியின் பேலோட் ஆகியவற்றுடன் பப்ளிஷ் தொகுப்புகள் அல்லது செய்திகள் பயன்படுத்தப்படுகின்றன. மறுபுறம், ஆர்வமுள்ள வாடிக்கையாளர் அல்லது வாடிக்கையாளர்கள் தங்கள் சந்தாவை முறையே குழுசேர அல்லது திரும்பப் பெற SUBSCRIBE மற்றும் UNSUSCRIBE தொகுப்புகளைப் பயன்படுத்துகின்றனர். வாடிக்கையாளர் கோரிய செயல்பாட்டின் வெற்றியைப் புகாரளிக்க தரகர் முறையே ஒரு SUBACK மற்றும் UNSUBACK தொகுப்புடன் பதிலளிப்பார்.
  • இணைப்பை பராமரித்தல்: இணைப்பு திறந்த நிலையில் இருப்பதை உறுதி செய்ய, வாடிக்கையாளர்கள் அவ்வப்போது ஒரு PINGREQ பாக்கெட்டை அனுப்பலாம், அவை சேவையகத்திலிருந்து PINGRESP பாக்கெட்டுடன் பொருந்தும்.
  • இணைப்பு முடிவு: ஒரு கிளையன்ட் துண்டிக்கப்படும்போது, ​​அந்த நிகழ்வைப் புகாரளிக்க ஒரு துண்டிக்கப்பட்ட பாக்கெட்டை அனுப்புகிறது.

அந்த செய்திகள் அல்லது தொகுப்புகள் நான் பேசியவை மற்ற பிணைய நெறிமுறைகளின் மற்ற பாக்கெட்டுகளைப் போலவே உள்ளன:

  • தலைப்பு அல்லது நிலையான தலைப்பு: என்பது 2-5 பைட்டுகளுக்கு இடையில் இருக்கும் ஒரு நிலையான பகுதி. இது ஒரு கட்டுப்பாட்டு குறியீடு, அனுப்பிய செய்தியின் ஐடி மற்றும் அதன் நீளம் ஆகியவற்றைக் கொண்டுள்ளது. 1-4 பைட்டுகளுக்கு இடையில் நீளத்தை குறியாக்கப் பயன்படுகிறது, ஒவ்வொரு ஆக்டெட்டின் முதல் 7 பிட்களை நீளத்திற்கான தரவுகளாகவும், செய்தியின் நீளத்தை உருவாக்கும் ஒன்றுக்கு மேற்பட்ட பைட்டுகள் உள்ளனவா என்பதைத் தீர்மானிக்க கூடுதல் பிட் தொடர்ச்சியாகவும் பயன்படுத்தப்படுகின்றன.
  • மாறி தலைப்பு: எப்போதும் கட்டாயமில்லை, ஆனால் விருப்பமானது. இது சில சூழ்நிலைகளில் அல்லது குறிப்பிட்ட செய்திகளில் சில தொகுப்புகளில் மட்டுமே உள்ளது.
  • உள்ளடக்கம் அல்லது தரவு: பாக்கெட் தரவு உண்மையில் அனுப்ப வேண்டிய செய்தியைக் கொண்டுள்ளது. இது ஒரு சில kB முதல் 256 MB வரம்பு வரை இருக்கலாம்.

நீங்கள் தெரிந்து கொள்ள ஆர்வமாக இருந்தால் ஹெக்ஸாடெசிமலில் தொடர்புடைய குறியீடு அனுப்பப்பட்ட செய்திகளின் வகைகள்:

செய்தி குறியீடு
இணை 0x10
தொடர்பு 0x20
வெளியிடு 0x30
PUBACK 0x40
பப்ரெக் 0x50
பொது 0x60
பப்காம்ப் 0x70
SUBSCRBE 0x80
துணை 0x90
குழுவிலகவும் 0xA0
இடைநீக்கம் 0xB0
பிங்க்ரெக் 0xC =
பிங்ரெஸ்ப் 0xD0
துண்டிக்கவும் 0xE0

தகவல்தொடர்புகளின் தரம் மற்றும் பாதுகாப்பு

MQTT இன் செய்திகளின் மற்றொரு முக்கியமான விவரம் சேவையின் தரம் அல்லது QoS, மற்றும் பாதுகாப்பு. தோல்விகள் ஏற்பட்டால் தகவல் தொடர்பு அமைப்பின் வலிமையும் அதன் பாதுகாப்பும் இதைப் பொறுத்தது.

அதன் தரம் குறித்து, அதை தீர்மானிக்க முடியும் 3 வெவ்வேறு நிலைகள்:

  • QoS 0 (அறியப்படாதது)- செய்தி ஒரு முறை மட்டுமே அனுப்பப்படுகிறது, தோல்வியுற்றால் அது வழங்கப்படாது. இது முக்கியமானதாக இல்லாதபோது பயன்படுத்தப்படுகிறது.
  • QoS 1 (ஒப்புக்கொள்): வாடிக்கையாளருக்கு வழங்குவதற்கு உத்தரவாதம் அளிக்க தேவையான பல முறை செய்தி அனுப்பப்படும். தீங்கு என்னவென்றால், வாடிக்கையாளர் அதே செய்தியை பல முறை பெற முடியும்.
  • QoS 2 (உறுதி)- மேலே உள்ளதைப் போன்றது, ஆனால் ஒரு முறை மட்டுமே வழங்கப்படும் என்று உத்தரவாதம். அதிக நம்பகத்தன்மை தேவைப்படும் மிகவும் சிக்கலான அமைப்புகளுக்கு இது பெரும்பாலும் பயன்படுத்தப்படுகிறது.

மறுபுறம், என MQTT பாதுகாப்பு, இது தொடர்பாக அதன் வலிமையை உறுதிப்படுத்த பல்வேறு நடவடிக்கைகள் பயன்படுத்தப்படலாம். நான் முன்பே குறிப்பிட்டது போல, பல நெறிமுறைகளைப் போலவே பயனர்பெயர் மற்றும் கடவுச்சொல்லின் அங்கீகாரத்தையும் SSL / TLS மூலம் உறுதிப்படுத்த முடியும். குறைந்த திறன் அல்லது வளங்களைக் கொண்ட பல ஐஓடி சாதனங்கள், இந்த வகை பாதுகாப்பான தகவல்தொடர்புகளைப் பயன்படுத்தும் போது அதிக சுமை கொண்ட சிக்கல்களைக் கொண்டிருக்கலாம் ...

இந்த காரணத்திற்காக, MQTT ஐப் பயன்படுத்தும் பல IoT சாதனங்கள் கடவுச்சொற்களையும் பயனர்களையும் பயன்படுத்துகின்றன விமான உரை, இது யாரையாவது நெட்வொர்க் ட்ராஃபிக்கை மிக எளிதாகப் பெற வைக்கும். அது போதாது எனில், தரகர் அநாமதேய இணைப்புகளை ஏற்றுக்கொள்ளும்படி கட்டமைக்க முடியும், இது எந்தவொரு பயனரையும் தகவல்தொடர்புகளை நிறுவ அனுமதிக்கும், அதிக ஆபத்தை உள்ளடக்கியது.

Arduino உடன் MQTT ஐப் பயன்படுத்துதல்

Arduino UNO MQTT உடன்

கண்டிப்பாக உன்னால் முடியும் Arduino உடன் MQTT நெறிமுறையைப் பயன்படுத்தவும் மற்றும் பிற மேம்பாட்டு வாரியங்கள், அத்துடன் ராப்ஸ்பெர்ரி பை போன்றவை. இதைச் செய்ய, உங்கள் ஆர்டுயினோ போர்டு இல்லை என்றால், அதை இணைப்புடன் வழங்க வேண்டும். மேலும், நூலகம் MQTT க்கான Arduino கிளையண்ட் இது இந்த பணிகளில் உங்களுக்கு உதவும். இந்த நூலகம் இதனுடன் இணக்கமானது:

கட்டளையைப் பயன்படுத்தி உங்கள் Arduino IDE இல் நூலகத்தை பதிவிறக்கம் செய்து நிறுவலாம் என்பது உங்களுக்கு ஏற்கனவே தெரியும்: கிட் குளோன் https://github.com/knolleary/pubsubclient.git

விரைவில் MQTT ஐப் பயன்படுத்துவதற்கான குறியீட்டிற்கு சில பயன்பாட்டில், உண்மை என்னவென்றால் அது எளிது. ஃப்ரிட்ஸிங் படத்தில் நீங்கள் ஒரு தகடு காணலாம் Arduino UNO Arduino ஈத்தர்நெட் மூலம் எந்த இணைப்பு சேர்க்கப்பட்டுள்ளது, அது இணைக்கப்பட்டுள்ளது ஒரு DHT22 ஈரப்பதம் மற்றும் வெப்பநிலை சென்சார், இது வேறு ஏதாவது இருந்திருக்கலாம் என்றாலும் ...

சரி, அதைக் கொண்டு, நீங்கள் உருவாக்க வேண்டிய குறியீட்டிற்கு Arduino IDE Arduino இல் MQTT நெறிமுறையுடன் பணிபுரிய, இது மிகவும் எளிது:

  • பாரா செய்திகளை அனுப்புங்கள் MQTT
#include <SPI.h>
#include <Ethernet.h>
#include <PubSubClient.h>
#include <DHT.h>

#define DHTPIN 2
#define DHTTYPE DHT22

// Direccion MAC del adaptador Ethernet
byte mac[] = { 0xCE, 0xAB, 0x0E, 0x3F, 0xFE, 0xD4 };

// IP del servidor (broker)
IPAddress mqtt_server(192, 168, 1, 4);

// Topic o tema con el que se trabaja
const char* topicName = "test";

DHT dht(DHTPIN, DHTTYPE);
EthernetClient ethClient;
PubSubClient client(ethClient);

void setup()
{
  Serial.begin(9600);
  if (Ethernet.begin(mac) == 0) {
    Serial.println("Fallo en Ethernet usando DHCP");
  }
// Puerto 1883 de comunicación
  client.setServer(mqtt_server, 1883);
  dht.begin();
}

void loop()
{
  if (!client.connected()) {
    Serial.print("Conectando ...\n");
    client.connect("Cliente Arduino");
  }
  else {
    // Envío de informacion del sensor de temperatura y humedad
    float temp = dht.readTemperature();
    char buffer[10];
    dtostrf(temp,0, 0, buffer);
    client.publish(topicName, buffer);
  }
  // Tiempo entre envíos en ms (cada 10 segundos)
  delay(10000);
}

  • பாரா செய்திகளைப் பெறுங்கள் MQTT மூலம் உங்களுக்கு தட்டு மட்டுமே தேவை Arduino UNO மற்றும் Arduino ஈத்தர்நெட் அல்லது வேறு எந்த உறுப்புடனும் இணைப்பு. குறியீட்டைப் பொறுத்தவரை, ஒரு எடுத்துக்காட்டு:
#include <SPI.h>
#include <Ethernet.h>
#include <PubSubClient.h>

// Direccion MAC del adaptador Ethernet
byte mac[] = { 0xCE, 0xAB, 0x0E, 0x3F, 0xFE, 0xD4 };

// IP del servidor (broker)
IPAddress mqtt_server(192, 168, 1, 4);

// Topic o tema con el que trabajr
const char* topicName = "test";

EthernetClient ethClient;
PubSubClient client(ethClient);

void callback(char* topic, byte* payload, unsigned int length) {
  Serial.print("El mensaje ha llegado [");
  Serial.print(topic);
  Serial.print("] ");
  int i=0;
  for (i=0;i<length;i++) {
    Serial.print((char)payload[i]);
  }
  Serial.println();
}

void setup()
{
  Serial.begin(9600);
  if (Ethernet.begin(mac) == 0) {
    Serial.println("Fallo en Ethernet al usar configuración DHCP");
  }
  client.setServer(mqtt_server, 1883);
  client.setCallback(callback)
}

void loop()
{
  if (!client.connected()) {
      Serial.print("Conectando ...");
      if (client.connect("rece_arduino")) {
        Serial.println("conectado");
        client.subscribe(topicName);
      } else {
        delay(10000);
      }
  }
  // Cliente a la escucha
  client.loop();
}

ஐபியை சேவையகத்திற்கு பொருத்தமானதாக மாற்ற வேண்டும் என்பதை நினைவில் கொள்ளுங்கள், மேலும் உங்கள் ஈத்தர்நெட் நெட்வொர்க் அடாப்டரின் MAC முகவரியையோ அல்லது நீங்கள் பயன்படுத்தும் முகவரியையோ மாற்ற வேண்டும், மேலும் மீதமுள்ள குறியீட்டை நீங்கள் மாற்றியமைக்க விரும்பினால் வேறு திட்டம். இது ஒரு எடுத்துக்காட்டு!

மேலும் தகவலுக்கு, உங்களால் முடியும் இலவசமாக பதிவிறக்கவும் எங்கள் PDF கையேடு நிரலாக்கத்தைத் தொடங்க Arduino IDE பாடநெறியுடன்.


கருத்து தெரிவிப்பதில் முதலில் இருங்கள்

உங்கள் கருத்தை தெரிவிக்கவும்

உங்கள் மின்னஞ்சல் முகவரி வெளியிடப்பட்ட முடியாது. தேவையான புலங்கள் குறிக்கப்பட்டிருக்கும் *

*

*

  1. தரவுக்கு பொறுப்பு: மிகுவல் ஏஞ்சல் கேடன்
  2. தரவின் நோக்கம்: கட்டுப்பாட்டு ஸ்பேம், கருத்து மேலாண்மை.
  3. சட்டபூர்வமாக்கல்: உங்கள் ஒப்புதல்
  4. தரவின் தொடர்பு: சட்டபூர்வமான கடமையால் தவிர மூன்றாம் தரப்பினருக்கு தரவு தெரிவிக்கப்படாது.
  5. தரவு சேமிப்பு: ஆக்சென்டஸ் நெட்வொர்க்குகள் (EU) வழங்கிய தரவுத்தளம்
  6. உரிமைகள்: எந்த நேரத்திலும் உங்கள் தகவல்களை நீங்கள் கட்டுப்படுத்தலாம், மீட்டெடுக்கலாம் மற்றும் நீக்கலாம்.