MQTT: ಓಪನ್ ನೆಟ್‌ವರ್ಕ್ ಪ್ರೋಟೋಕಾಲ್ ಮತ್ತು ಐಒಟಿಯಲ್ಲಿ ಅದರ ಪ್ರಾಮುಖ್ಯತೆ

MQTT ಪ್ರೊಟೊಕಾಲ್ ನೆಟ್‌ವರ್ಕ್ IoT

ಹೆಸರನ್ನು ನೆನಪಿಡಿ MQTT, ಇದು ನೆಟ್‌ವರ್ಕ್ ಸಂವಹನ ಪ್ರೋಟೋಕಾಲ್ ಪ್ರಕಾರ M2M (ಮೆಷಿನ್ ಟು ಮೆಷಿನ್) ಆಗಿದ್ದು ಅದು ಸ್ವಲ್ಪಮಟ್ಟಿಗೆ ಧ್ವನಿಸುತ್ತದೆ. ಇಂಗ್ಲಿಷ್ನಲ್ಲಿ ಇದರ ಸಂಕ್ಷಿಪ್ತ ರೂಪಕ್ಕಾಗಿ ಇಂಟರ್ನೆಟ್ ಆಫ್ ಥಿಂಗ್ಸ್ ಅಥವಾ ಐಒಟಿ (ಇಂಟರ್ನೆಟ್ ಆಫ್ ಥಿಂಗ್ಸ್) ನ ಹೊಸ ಯುಗಕ್ಕೆ ಇದು ಸಾಕಷ್ಟು ಜನಪ್ರಿಯವಾಗುತ್ತಿದೆ. ಇದಲ್ಲದೆ, ಇದು ತೆರೆದ ಪ್ರೋಟೋಕಾಲ್ ಆಗಿದೆ, ಇದು ಅನೇಕ ಪ್ರಯೋಜನಗಳನ್ನು ನೀಡುತ್ತದೆ.

ವಾಸ್ತವವಾಗಿ, ಇದು ಐಒಟಿಯ ಕೇಂದ್ರ ಸ್ತಂಭಗಳಲ್ಲಿ ಒಂದಾಗಿದೆ, ಏಕೆಂದರೆ ಈ ರೀತಿಯ ಕೆಲವು ಪ್ರಸರಣ ಮಿತಿಗಳನ್ನು ಹೊಂದಿರುವ ಸಾಧನಗಳಲ್ಲಿ ಇದು ಸಾಕಷ್ಟು ಉತ್ತಮವಾಗಿದೆ. MQTT ಎಂಬ ಸಂಕ್ಷಿಪ್ತ ರೂಪ ಬಂದಿದೆ ಸಂದೇಶ ಕ್ಯೂಯಿಂಗ್ ಟೆಲಿಮೆಟ್ರಿ ಸಾರಿಗೆ, ನೆಟ್‌ವರ್ಕ್ ಸಂವಹನಕ್ಕಾಗಿ OASIS ಮತ್ತು ISO (ISO / IEC 20922) ನಿಂದ ಮುಕ್ತ ಮಾನದಂಡವಾಗಿದೆ ಮತ್ತು ಇದು ಸಾಮಾನ್ಯವಾಗಿ ಪ್ರಸಿದ್ಧ TCP / IP ಯಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ.

ನೆಟ್‌ವರ್ಕ್ ಪ್ರೋಟೋಕಾಲ್‌ಗಳು

ಒಎಸ್ಐ ಮಾದರಿ ಮತ್ತು ಅದರ ಪದರಗಳು

ದಿ ಸಂವಹನ ಪ್ರೋಟೋಕಾಲ್ಗಳು ಅವು ಎರಡು ಅಥವಾ ಹೆಚ್ಚಿನ ಸಾಧನಗಳು ಅಥವಾ ವ್ಯವಸ್ಥೆಗಳು ಪರಸ್ಪರ ಸಂವಹನ ನಡೆಸಲು ಅನುವು ಮಾಡಿಕೊಡುವ ನಿಯಮಗಳಾಗಿವೆ. ಅಂದರೆ, ಸಾಫ್ಟ್‌ವೇರ್ ಮತ್ತು ಹಾರ್ಡ್‌ವೇರ್ (ಅಥವಾ ಎರಡೂ) ನಿಂದ ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗಿದ್ದರೂ, ವಿವಿಧ ವಿಧಾನಗಳ ಮೂಲಕ ಮತ್ತು ವ್ಯಾಖ್ಯಾನಿಸಲಾದ ಸ್ವರೂಪದೊಂದಿಗೆ ಮಾಹಿತಿಯನ್ನು ರವಾನಿಸುವ ಪ್ರೋಟೋಕಾಲ್ ಇದು.

El ಪ್ರಮಾಣಿತ ಪ್ರೋಟೋಕಾಲ್ನ ಸಂವಹನ ಗುಣಲಕ್ಷಣಗಳ ಬಹುಸಂಖ್ಯೆಯನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುತ್ತದೆ. ಇದು ಸಿಂಕ್ರೊನೈಸೇಶನ್, ಸೆಮ್ಯಾಂಟಿಕ್ಸ್, ಸಿಂಟ್ಯಾಕ್ಸ್, ಪ್ಯಾಕೆಟ್ ಫಾರ್ಮ್ಯಾಟ್ ಇತ್ಯಾದಿ ನಿಯಮಗಳಿಂದ ಹೋಗಬಹುದು. ಮತ್ತು ಸತ್ಯವೆಂದರೆ ಅವುಗಳು ನಗಣ್ಯವಲ್ಲ, ಏಕೆಂದರೆ ಈ ಪ್ರೋಟೋಕಾಲ್‌ಗಳಿಗೆ ಧನ್ಯವಾದಗಳು ಇಂದು ನಾವು ಇಂಟರ್ನೆಟ್ ಮತ್ತು ಇತರ ಸಂವಹನ ನೆಟ್‌ವರ್ಕ್‌ಗಳನ್ನು ಬಳಸಬಹುದು ...

ಮತ್ತು ಸಹಜವಾಗಿ, ಕೇವಲ ಒಂದು ಪ್ರೋಟೋಕಾಲ್ ಮಾತ್ರವಲ್ಲ, ಆದರೆ ಹಲವು. ಉದಾಹರಣೆಗೆ, ಪ್ರಸಿದ್ಧ ಅಪ್ಲಿಕೇಶನ್ ಲೇಯರ್‌ಗಾಗಿ ಡಿಎನ್‌ಎಸ್, ಎಫ್‌ಟಿಪಿ, ಎಂಕ್ಯೂಟಿಟಿ, ಎಚ್‌ಟಿಟಿಪಿ ಮತ್ತು ಎಚ್‌ಟಿಟಿಪಿಎಸ್, ಐಎಂಎಪಿ, ಎಲ್‌ಡಿಎಪಿ, ಎನ್‌ಟಿಪಿ, ಡಿಎಚ್‌ಸಿಪಿ, ಎಸ್‌ಎಸ್‌ಹೆಚ್, ಟೆಲ್ನೆಟ್, ಎಸ್‌ಎನ್‌ಎಂಪಿ, ಎಸ್‌ಎಮ್‌ಟಿಪಿ, ಇತ್ಯಾದಿ. ಸಾರಿಗೆ ಪದರದಲ್ಲಿರುವಾಗ ನೀವು ಟಿಸಿಪಿ, ಯುಡಿಪಿ, ಇತ್ಯಾದಿಗಳಂತಹ ಪ್ರಸಿದ್ಧತೆಯನ್ನು ಕಾಣಬಹುದು, ಜೊತೆಗೆ ಇಂಟರ್ನೆಟ್ ಲೇಯರ್ಗಳಾದ ಐಪಿವಿ 4, ಅಥವಾ ಐಪಿವಿ 6 (ಲಭ್ಯವಿರುವ ಹೆಚ್ಚಿನ ಸಂಖ್ಯೆಯ ಐಪಿಗಳು ಮತ್ತು ಆಗಮನವನ್ನು ಸಾಧ್ಯವಾಗಿಸಿದೆ ಐಒಟಿ), ಐಪಿಎಸ್ಸೆಕ್, ಮತ್ತು ಇತರರು ಡಿಎಸ್ಎಲ್, ಎತರ್ನೆಟ್, ವೈಫೈ, ಎಆರ್ಪಿ, ಮುಂತಾದ ಲಿಂಕ್ ಲೇಯರ್‌ನಿಂದ.

ಐಒಟಿ ಪ್ರೋಟೋಕಾಲ್ಗಳ ಬಗ್ಗೆ

MQTT ಪ್ರೋಟೋಕಾಲ್

ಸಹಜವಾಗಿ, ನಿರ್ದಿಷ್ಟ ಸಂವಹನ ಪ್ರೋಟೋಕಾಲ್‌ಗಳಿವೆ ಅಥವಾ ಅದನ್ನು ಅನ್ವಯಿಸಬಹುದು ಐಒಟಿ. ಅಂದರೆ, ಹಿಂದಿನ ವಿಭಾಗವನ್ನು ಪರಿಗಣಿಸಿ, ಅವುಗಳು ಎರಡು ಅಥವಾ ಹೆಚ್ಚಿನ ಐಒಟಿ ಸಾಧನಗಳು ಪರಸ್ಪರ ಸಂವಹನ ಮತ್ತು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಸಾಧ್ಯವಾಗುವಂತೆ ವ್ಯಾಖ್ಯಾನಿಸಲಾದ ಮಾನದಂಡಗಳ ಸರಣಿಯಾಗಿರುತ್ತವೆ ಮತ್ತು ಅವು ಸಾಮಾನ್ಯವಾಗಿ ಎಂ 2 ಎಂ, ಅಂದರೆ ಯಂತ್ರದಿಂದ ಯಂತ್ರಕ್ಕೆ ಸಂವಹನ. ಇವೆ. ಅನೇಕ ಐಒಟಿ ಸಾಧನಗಳು ಸಂವೇದಕಗಳು ಅಥವಾ ಇತರ ಮೂಲಗಳಿಂದ ಸಂಪರ್ಕಗೊಂಡಿವೆ ಮತ್ತು ಮಾಹಿತಿಯನ್ನು ಹಂಚಿಕೊಳ್ಳುತ್ತವೆ.

ಹೆಚ್ಚಿನ ಸಂಖ್ಯೆಯ ಐಒಟಿ ಸಾಧನಗಳ ಕಾರಣ, ಈ ಪ್ರೋಟೋಕಾಲ್‌ಗಳು ಬ್ಯಾಂಡ್‌ವಿಡ್ತ್, ವೇಗ ಇತ್ಯಾದಿಗಳ ಮಿತಿಗಳನ್ನು ಮೀರಿ ಅವಶ್ಯಕತೆಗಳನ್ನು ಪೂರೈಸಬೇಕು. (ಅನೇಕ ಸಾಧನಗಳು ಎಂಬೆಡೆಡ್ ಮತ್ತು ಅಗ್ಗವಾಗಿವೆ ಎಂಬುದನ್ನು ಗಮನಿಸಿ), ಇದು ಸಾಮಾನ್ಯವಾಗಿ ಕೆಲವು ಸಾಧನಗಳಲ್ಲಿರುತ್ತದೆ. ಮತ್ತು ನಾನು ಅದನ್ನು ಅರ್ಥೈಸುತ್ತೇನೆ ಸ್ಕೇಲೆಬಲ್ ಆಗಿರಬೇಕು, ಅಗತ್ಯವಿದ್ದರೆ ಮತ್ತು ಜಾಗತಿಕ ವ್ಯವಸ್ಥೆಗೆ ಧಕ್ಕೆಯಾಗದಂತೆ ಹೆಚ್ಚು ಸಂಪರ್ಕಿತ ಸಾಧನಗಳನ್ನು ಸೇರಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ.

ಅಲ್ಲದೆ, ಅವರು ಎ ಹೊಂದಿರಬೇಕು ಕಡಿಮೆ ಅವಲಂಬನೆ ಸಾಧನಗಳ ನಡುವೆ ಜೋಡಣೆ, ಆದ್ದರಿಂದ ಸಾಧನವನ್ನು ತೆಗೆದುಹಾಕಿದರೆ ಸಮಸ್ಯೆಗಳು ಉಂಟಾಗುವುದಿಲ್ಲ. ಮತ್ತು ಸಹಜವಾಗಿ, ಅದೇ ಸಮಯದಲ್ಲಿ, ಹೆಚ್ಚಿನ ಪರಸ್ಪರ ಕಾರ್ಯಸಾಧ್ಯತೆಯನ್ನು ಬಯಸಲಾಗುತ್ತದೆ, ಇದರಿಂದಾಗಿ ಇದು ಹೆಚ್ಚಿನ ಸಂಖ್ಯೆಯ ಸಾಧನಗಳು ಮತ್ತು ವೈವಿಧ್ಯಮಯ ವ್ಯವಸ್ಥೆಗಳೊಂದಿಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ, ಏಕೆಂದರೆ ಐಒಟಿ ಪ್ರಪಂಚವು ಸಾಕಷ್ಟು ಭಿನ್ನಜಾತಿಯಾಗಿದೆ.

ಇತರ ಉಪಯುಕ್ತ ವೈಶಿಷ್ಟ್ಯಗಳು ಅವುಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವ ಸುಲಭ, ಭದ್ರತೆ, ಇತ್ಯಾದಿ. ಭದ್ರತಾ ಅಂಶದಲ್ಲಿ ಐಒಟಿ ದೊಡ್ಡ ಸವಾಲುಗಳನ್ನು ಸೃಷ್ಟಿಸುತ್ತಿದೆ ಎಂಬುದನ್ನು ನೆನಪಿನಲ್ಲಿಡಿ. ಇನ್ನೂ ಹೆಚ್ಚಾಗಿ, ಸಂಪರ್ಕಿತ ಸಾಧನಗಳು ಕೆಲವು ಸಂದರ್ಭಗಳಲ್ಲಿ ನಿರ್ಣಾಯಕವಾಗಿದ್ದಾಗ ... ಉದಾಹರಣೆಗೆ, ಅಪ್ರಾಪ್ತ ವಯಸ್ಕರಿಗೆ ಆಟಿಕೆಗಳು.

ಪ್ರಮುಖ ಪರಿಕಲ್ಪನೆಗಳು

ಐಒಟಿಗೆ ಪರಿಹಾರಗಳು ಕೇಂದ್ರೀಕೃತ ಸರ್ವರ್ ಅನ್ನು ಬಳಸುತ್ತವೆ ಮತ್ತು ಎಲ್ಲಾ ಸಂಪರ್ಕಿತ ಸಾಧನಗಳಿಂದ ಸಂದೇಶಗಳನ್ನು ಸ್ವೀಕರಿಸಲು ಮತ್ತು ಅವುಗಳನ್ನು ಕೇಳುವ ಎಲ್ಲಾ ಸಂಪರ್ಕಿತ ಐಒಟಿ ಸಾಧನಗಳಿಗೆ ವಿತರಿಸುತ್ತವೆ ಎಂದು ಹೇಳಬೇಕು. ಆ ಸರ್ವರ್ ಅನ್ನು ಕರೆಯಲಾಗುತ್ತದೆ ರೂಟರ್ ಅಥವಾ ಬ್ರೋಕರ್. ಕೆಲವು ರೀತಿಯಲ್ಲಿ ಸಾಂಪ್ರದಾಯಿಕ ಕ್ಲೈಂಟ್-ಸರ್ವರ್ ಸಂಬಂಧದಿಂದ ದೂರವಿರುವ ಯಾವುದೋ.

ಮತ್ತೊಂದೆಡೆ, ವಿಧಾನಗಳು IoT ಗಾಗಿ ಈ ಸಂವಹನ ಪ್ರೋಟೋಕಾಲ್‌ಗಳಲ್ಲಿ ನೀವು ಕಾಣಬಹುದು:

  • ಪಬ್‌ಸಬ್: ಪ್ರಕಟಿಸು / ಸಬ್‌ಸ್ಕ್ರೈಬ್ ಎನ್ನುವುದು ಸಂದೇಶ ಕಳುಹಿಸುವ ಮಾದರಿಯಾಗಿದ್ದು, ಅಲ್ಲಿ ಒಂದು ಸಾಧನವು (ಉಪ) ಬ್ರೋಕರ್‌ಗೆ ಸಂದೇಶವನ್ನು ಸ್ವೀಕರಿಸಲು ಬಯಸುತ್ತದೆ ಎಂದು ತಿಳಿಸುತ್ತದೆ, ಆದರೆ ಮತ್ತೊಂದು ಸಾಧನ (ಪಬ್) ಬ್ರೋಕರ್‌ಗಾಗಿ ಸಂದೇಶಗಳನ್ನು ಪ್ರಕಟಿಸುತ್ತದೆ.
  • ಆರ್‌ಆರ್‌ಪಿಸಿ: ರೂಟರ್ ರಿಮೋಡರ್ ಪ್ರೊಸೀಜರ್ ಕರೆಗಳು ರಿಮೋಟ್ ಪ್ರಕ್ರಿಯೆ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯ ಮತ್ತೊಂದು ಮಾದರಿಯಾಗಿದೆ. ಅದರಲ್ಲಿ, ಒಂದು ಸಾಧನ (ಕಾಲೀ) ಬ್ರೋಕರ್‌ಗೆ ಅದು ಒಂದು ನಿರ್ದಿಷ್ಟ ಕಾರ್ಯವಿಧಾನವನ್ನು ಕೈಗೊಳ್ಳುತ್ತದೆ ಎಂದು ತಿಳಿಸುತ್ತದೆ ಮತ್ತು ಬ್ರೋಕರ್ ಅದನ್ನು ಮತ್ತೊಂದು ಸಾಧನಕ್ಕೆ (ಕಾಲರ್) ವಿತರಿಸುತ್ತಾನೆ, ಅದರ ಮೇಲೆ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ.

ಈಗ, ಈ ವಿಧಾನಗಳು ಅಥವಾ ಮಾದರಿಗಳನ್ನು ಕೈಗೊಳ್ಳಲು, ಎ ಸಂದೇಶ ಮೂಲಸೌಕರ್ಯ. ಮತ್ತು ಈ ಅರ್ಥದಲ್ಲಿ ಎರಡನ್ನು ಪ್ರತ್ಯೇಕಿಸಬಹುದು:

  • ಸಂದೇಶ ಕ್ಯೂ: ಬ್ರೋಕರ್‌ಗೆ ಚಂದಾದಾರಿಕೆಯನ್ನು ಪ್ರಾರಂಭಿಸುವ ಎಲ್ಲಾ ಕ್ಲೈಂಟ್‌ಗಳಿಗೆ ಒಂದೇ ಸಂದೇಶ ಕ್ಯೂ ಉತ್ಪತ್ತಿಯಾಗುವ ಸಂದೇಶ ಸೇವೆ. ಎರಡನೆಯದು ಸಂದೇಶಗಳನ್ನು ಕ್ಲೈಂಟ್‌ಗೆ ತಲುಪಿಸುವವರೆಗೆ ಸಂಗ್ರಹಿಸುತ್ತದೆ. ಕ್ಲೈಂಟ್ ಅಥವಾ ಸ್ವೀಕರಿಸುವವರನ್ನು ಸಂಪರ್ಕಿಸದಿದ್ದರೆ, ಸಂಪರ್ಕಗೊಳ್ಳುವವರೆಗೆ ಅದನ್ನು ನಿರ್ವಹಿಸಲಾಗುತ್ತದೆ. ಈ ರೀತಿಯ ಸೇವೆಗಳು ಟೆಲಿಗ್ರಾ, ವಾಟ್ಸಾಪ್, ಮೆಸೆಂಜರ್ ಮುಂತಾದ ತ್ವರಿತ ಮೆಸೇಜಿಂಗ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಲ್ಲಿ ಬಳಸಿದಂತೆಯೇ ಇರುತ್ತವೆ.
  • ಸಂದೇಶ ಸೇವೆ: ಇದು ಬ್ರೋಕರ್ ಸಂಪರ್ಕಿತ ಸ್ವೀಕರಿಸುವ ಕ್ಲೈಂಟ್‌ಗೆ ಸಂದೇಶಗಳನ್ನು ಕಳುಹಿಸುವ ಮತ್ತೊಂದು ಸೇವೆಯಾಗಿದ್ದು, ಸಂದೇಶದ ಪ್ರಕಾರ ಫಿಲ್ಟರ್ ಮಾಡುತ್ತದೆ. ಕ್ಲೈಂಟ್ ಅಥವಾ ಸ್ವೀಕರಿಸುವ ಸಾಧನ ಸಂಪರ್ಕ ಕಡಿತಗೊಂಡಿದ್ದರೆ, ನಂತರ ಸಂದೇಶಗಳು ಕಳೆದುಹೋಗುತ್ತವೆ (ಆದರೂ ಇದು ಕೆಲವು ಲಾಗಿಂಗ್ ವ್ಯವಸ್ಥೆಯನ್ನು ಹೊಂದಿರಬಹುದು).

ಐಒಟಿ ಪ್ರೋಟೋಕಾಲ್ಗಳು

ಮೇಲಿನದನ್ನು ನೋಡಿದ ನಂತರ, ಈಗ ಹತ್ತಿರದಿಂದ ನೋಡೋಣ ಐಒಟಿ ಪ್ರೋಟೋಕಾಲ್ಗಳು ಅದು ಹೆಚ್ಚು ತಿಳಿದಿದೆ. M2M ನ ಪ್ರಮುಖವಾದವುಗಳೆಂದರೆ:

  • AMQP (ಸುಧಾರಿತ ಸಂದೇಶ ಕ್ಯೂಯಿಂಗ್ ಪ್ರೋಟೋಕಾಲ್): ಸಂದೇಶ ಕ್ಯೂನ ಪಬ್‌ಸಬ್ ಪ್ರಕಾರದ ಪ್ರೋಟೋಕಾಲ್ ಆಗಿದೆ. ಉತ್ತಮ ಪರಸ್ಪರ ಕಾರ್ಯಸಾಧ್ಯತೆಯನ್ನು ಹೊಂದಲು ಮತ್ತು ವಿಶ್ವಾಸಾರ್ಹತೆಯನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ. ವಿಶೇಷವಾಗಿ ಕಾರ್ಪೊರೇಟ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು, ಹೆಚ್ಚಿನ ಕಾರ್ಯಕ್ಷಮತೆ, ಹೆಚ್ಚಿನ ಲೇಟೆನ್ಸಿ ನೆಟ್‌ವರ್ಕ್‌ಗಳು, ವಿಮರ್ಶಾತ್ಮಕ, ಇತ್ಯಾದಿ.
  • WAMP (ವೆಬ್ ಅಪ್ಲಿಕೇಷನ್ ಮೆಸೇಜಿಂಗ್ ಪ್ರೊಟೊಕಾಲ್): ಇದು ಆರ್‌ಆರ್‌ಪಿಸಿಯಂತಹ ಪಬ್‌ಸಬ್ ಪ್ರಕಾರದ ಮತ್ತೊಂದು ಮುಕ್ತ ಪ್ರೋಟೋಕಾಲ್ ಆಗಿದೆ, ಮತ್ತು ಇದು ವೆಬ್‌ಸಾಕೆಟ್‌ಗಳಲ್ಲಿ ಚಲಿಸುತ್ತದೆ.
  • CoAP (ನಿರ್ಬಂಧಿತ ಅಪ್ಲಿಕೇಶನ್ ಪ್ರೋಟೋಕಾಲ್): ಕಡಿಮೆ ಸಾಮರ್ಥ್ಯದ ಅನ್ವಯಿಕೆಗಳಿಗಾಗಿ ವಿಶೇಷವಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಲಾದ ಪ್ರೋಟೋಕಾಲ್ ಆಗಿದೆ.
  • TOMP (ಸ್ಟ್ರೀಮಿಂಗ್ ಟೆಕ್ಸ್ಟ್ ಓರಿಯೆಂಟೆಡ್ ಮೆಸೇಜಿಂಗ್ ಪ್ರೊಟೊಕಾಲ್): ತುಂಬಾ ಸರಳವಾದ ಪ್ರೋಟೋಕಾಲ್ ಮತ್ತು ಗರಿಷ್ಠ ಪರಸ್ಪರ ಕಾರ್ಯಸಾಧ್ಯತೆಯನ್ನು ಸಾಧಿಸಲು. ಪಠ್ಯ ಸಂದೇಶಗಳನ್ನು ರವಾನಿಸಲು HTTP ಅನ್ನು ಬಳಸಲಾಗುತ್ತದೆ.
  • XMPP (ಎಕ್ಸ್‌ಟೆನ್ಸಿಬಲ್ ಮೆಸೇಜಿಂಗ್ ಮತ್ತು ಪ್ರೆಸೆನ್ಸ್ ಪ್ರೊಟೊಕಾಲ್): ತ್ವರಿತ ಮೆಸೇಜಿಂಗ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗಾಗಿ ಮತ್ತು XML ಆಧರಿಸಿ ಐಒಟಿಯಲ್ಲಿ ಬಳಸುವ ಮತ್ತೊಂದು ಪ್ರೋಟೋಕಾಲ್. ಜನವರಿ ಈ ಪ್ರಕರಣವೂ ಮುಕ್ತವಾಗಿದೆ.
  • WMQ (ವೆಬ್‌ಸ್ಪಿಯರ್ ಸಂದೇಶ ಕ್ಯೂ): ಐಬಿಎಂ ಅಭಿವೃದ್ಧಿಪಡಿಸಿದ ಪ್ರೋಟೋಕಾಲ್. ಇದು ಮೆಸೇಜ್ ಕ್ಯೂ ಪ್ರಕಾರದದ್ದಾಗಿದ್ದು, ಅದರ ಹೆಸರೇ ಸೂಚಿಸುವಂತೆ, ಮತ್ತು ಇದು ಸಂದೇಶ ಆಧಾರಿತವಾಗಿದೆ.
  • MQTT: (ಮುಂದಿನ ವಿಭಾಗವನ್ನು ನೋಡಿ)

MQTT ಬಗ್ಗೆ ಎಲ್ಲಾ

MQTT ಪ್ಯಾಕೇಜ್

El MQTT ಪ್ರೋಟೋಕಾಲ್ ಇದು ಮೆಸೇಜ್ ಕ್ಯೂ ಸಂವಹನ ಪ್ರೋಟೋಕಾಲ್ ಆಗಿದೆ, ಇದು ಪಬ್‌ಸಬ್ ಮಾದರಿಯನ್ನು ಅನುಸರಿಸುತ್ತದೆ ಮತ್ತು ನಾನು ಈಗಾಗಲೇ ಹೇಳಿದಂತೆ M2M ಪ್ರಕಾರವಾಗಿದೆ. ಇದನ್ನು ಐಒಟಿಯಲ್ಲಿ ವ್ಯಾಪಕವಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ, ಮತ್ತು ಇದು ಇಂಟರ್ನೆಟ್‌ನಲ್ಲಿ ಬಳಸುವ ಟಿಸಿಪಿ / ಐಪಿ ಸ್ಟ್ಯಾಕ್ ಅನ್ನು ಆಧರಿಸಿದೆ.

MQTT ಯ ಸಂದರ್ಭದಲ್ಲಿ, ಪ್ರತಿಯೊಂದು ಸಂಪರ್ಕವನ್ನು ಮುಕ್ತವಾಗಿಡಲಾಗಿದೆ ಮತ್ತು ಅಗತ್ಯವಿರುವ ಪ್ರತಿಯೊಂದು ಸಂವಹನದಲ್ಲೂ ಇದನ್ನು ಮರುಬಳಕೆ ಮಾಡಲಾಗುತ್ತದೆ. ತಿಳಿದಿರುವ ಇತರ ಪ್ರೋಟೋಕಾಲ್‌ಗಳಲ್ಲಿ ಏನಾಗುತ್ತದೆ ಎನ್ನುವುದಕ್ಕಿಂತ ಭಿನ್ನವಾದದ್ದು, ಪ್ರತಿ ಸಂವಹನ ನಡೆಯುವ ಹೊಸ ಸಂಪರ್ಕದ ಅಗತ್ಯವಿದೆ.

ಪ್ರಯೋಜನಗಳು

ಐಒಟಿಗಾಗಿ ಎಂ 2 ಎಂ ಸಂವಹನಗಳ ವಿಷಯದಲ್ಲಿ ಎಂಕ್ಯೂಟಿಟಿ ಪ್ರೋಟೋಕಾಲ್ನ ಅನುಕೂಲಗಳು ಸಾಕಷ್ಟು ಸ್ಪಷ್ಟವಾಗಿವೆ. ಮೇಲೆ ಹೇಳಿದ ಎಲ್ಲದರ ಜೊತೆಗೆ, ಇದು ಒದಗಿಸುವ ಪ್ರೋಟೋಕಾಲ್ ಆಗಿದೆ:

  • ಸ್ಕೇಲೆಬಿಲಿಟಿ, ಹೆಚ್ಚು ಹೆಚ್ಚು ಗ್ರಾಹಕರನ್ನು ಸಂಪರ್ಕಿಸಲು.
  • ಕಡಿಮೆ ಅವಲಂಬನೆಗಾಗಿ ಗ್ರಾಹಕರ ನಡುವೆ ಡಿಕೌಪ್ಲಿಂಗ್.
  • ಅಸಮಕಾಲಿಕತೆ.
  • ಸರಳತೆ.
  • ಹೆಚ್ಚಿನ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಬಳಸದಿರಲು ಲಘುತೆ (ಟಿಎಲ್‌ಎಸ್ / ಎಸ್‌ಎಸ್‌ಎಲ್ ಭದ್ರತೆಯೊಂದಿಗೆ ಅದು ಹೆಚ್ಚಾಗುತ್ತದೆ).
  • ಬ್ಯಾಟರಿ ಅಥವಾ 24/7 ಕೆಲಸದ ಮೇಲೆ ಅವಲಂಬಿತವಾಗಿರುವ ಸಾಧನಗಳಿಗೆ ಶಕ್ತಿಯ ದಕ್ಷತೆ, ಇದಕ್ಕೆ ದೊಡ್ಡ ಬ್ಯಾಂಡ್‌ವಿಡ್ತ್ ಅಗತ್ಯವಿಲ್ಲ (ಕೆಲವು ವೈರ್‌ಲೆಸ್ ಸಾಧನಗಳಂತೆ ನಿಧಾನ ಸಂಪರ್ಕಗಳಿಗೆ ಸೂಕ್ತವಾಗಿದೆ).
  • ಸುರಕ್ಷತೆ ಮತ್ತು ಗುಣಮಟ್ಟ, ಸಂವಹನಗಳಲ್ಲಿ ಹೆಚ್ಚಿನ ವಿಶ್ವಾಸಾರ್ಹತೆ ಮತ್ತು ದೃ ust ತೆಗಾಗಿ.

ಇತಿಹಾಸ

90 ರ ದಶಕದಲ್ಲಿ MQTT ಅನ್ನು ರಚಿಸಲಾಗಿದೆ, ಇದರ ಆರಂಭಿಕ ಆವೃತ್ತಿಯೊಂದಿಗೆ 1999 ರಲ್ಲಿ ಪ್ರೋಟೋಕಾಲ್. ಇದನ್ನು ಐಬಿಎಂನ ಡಾ. ಆಂಡಿ ಸ್ಟ್ಯಾನ್‌ಫೋರ್ಡ್-ಕ್ಲಾರ್ಕ್ ಮತ್ತು ಸಿರಸ್ ಲಿಂಕ್‌ನ ಅರ್ಲೆನ್ ನಿಪ್ಪರ್ (ಹಿಂದೆ ಯುರೋಟೆಕ್) ರಚಿಸಿದ್ದಾರೆ.

La ಆರಂಭಿಕ ಕಲ್ಪನೆ ಪರಿಣಾಮಕಾರಿಯಾದ ಸಂವಹನ ಪ್ರೋಟೋಕಾಲ್ (ಕಡಿಮೆ ಬ್ಯಾಂಡ್‌ವಿಡ್ತ್ ಬಳಕೆ), ಬೆಳಕು ಮತ್ತು ಕಡಿಮೆ ಶಕ್ತಿಯ ಬಳಕೆಯೊಂದಿಗೆ ಮರುಭೂಮಿಯ ಮೂಲಕ ಪ್ರಯಾಣಿಸುವ ಪೈಪ್‌ಲೈನ್ ಅನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಲು ಪ್ರೋಟೋಕಾಲ್ ಅನ್ನು ರಚಿಸುವುದು. ಆ ಸಮಯದಲ್ಲಿ ಅದು ತುಂಬಾ ದುಬಾರಿಯಾಗಿದೆ, ಆದರೆ ಈಗ ಅದು ಅಗ್ಗದ ಮತ್ತು ಮುಕ್ತ ಪ್ರೋಟೋಕಾಲ್ ಆಗಿ ಮಾರ್ಪಟ್ಟಿದೆ.

ಆರಂಭಿಕ ಪ್ರೋಟೋಕಾಲ್ ಅನ್ನು ಗೋಚರಿಸುವುದರೊಂದಿಗೆ ಸುಧಾರಿಸಲಾಗಿದೆ ಹೊಸ ಆವೃತ್ತಿಗಳು, ಉದಾಹರಣೆಗೆ OASIS (ಆರ್ಗನೈಸೇಶನ್ ಫಾರ್ ದಿ ಅಡ್ವಾನ್ಸ್‌ಮೆಂಟ್ ಆಫ್ ಸ್ಟ್ರಕ್ಚರ್ಡ್ ಇನ್ಫಾರ್ಮೇಶನ್ ಸ್ಟ್ಯಾಂಡರ್ಡ್ಸ್) ವಿವರಣೆಯಡಿಯಲ್ಲಿ MQTT v3.1 (2013), ಇತ್ಯಾದಿ. ಆರಂಭದಲ್ಲಿ ಇದು ಐಬಿಎಂನಿಂದ ಸ್ವಾಮ್ಯದ ಪ್ರೋಟೋಕಾಲ್ ಎಂದು ನೀವು ತಿಳಿದಿರಬೇಕು, ಆದರೆ ಅದು 2010 ರಲ್ಲಿ ಬಿಡುಗಡೆಯಾಗಲಿದೆ, ಮತ್ತು ಇದು ಒಯಾಸಿಸ್‌ನಲ್ಲಿ ಮಾನದಂಡವಾಗಿ ಪರಿಣಮಿಸಿತು ...

MQTT ಸಂಪರ್ಕವು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ

MQTT ಪ್ರೋಟೋಕಾಲ್ ಬಳಸುತ್ತದೆ ಫಿಲ್ಟರ್, ಕ್ರಮಾನುಗತವಾಗಿ ಆಯೋಜಿಸಲಾದ ವಿಷಯಗಳು ಅಥವಾ ವಿಷಯಗಳ ಆಧಾರದ ಮೇಲೆ ಪ್ರತಿ ಕ್ಲೈಂಟ್‌ಗೆ ಕಳುಹಿಸಲಾದ ಸಂದೇಶಗಳಿಗಾಗಿ. ಈ ರೀತಿಯಾಗಿ, ಗ್ರಾಹಕರು ನಿರ್ದಿಷ್ಟ ವಿಷಯದ ಕುರಿತು ಸಂದೇಶವನ್ನು ಪೋಸ್ಟ್ ಮಾಡಬಹುದು. ಈ ರೀತಿಯಾಗಿ, ವಿಷಯಕ್ಕೆ ಚಂದಾದಾರರಾಗಿರುವ ಎಲ್ಲ ಕ್ಲೈಂಟ್‌ಗಳು ಅಥವಾ ಸಂಪರ್ಕಿತ ಸಾಧನಗಳು ಬ್ರೋಕರ್ ಮೂಲಕ ಸಂದೇಶಗಳನ್ನು ಸ್ವೀಕರಿಸುತ್ತವೆ.

MQ ಯಂತೆ, ಸಂದೇಶಗಳು ಸರದಿಯಲ್ಲಿ ಉಳಿಯುತ್ತವೆ ಮತ್ತು ಕ್ಲೈಂಟ್ ಆ ಸಂದೇಶವನ್ನು ಸ್ವೀಕರಿಸುವವರೆಗೆ ಅವು ಕಳೆದುಹೋಗುವುದಿಲ್ಲ.

ಸಂಪರ್ಕಗಳನ್ನು, ನಾನು ಸೂಚಿಸಿದಂತೆ, ಮಾಡಲಾಗಿದೆ ಟಿಸಿಪಿ / ಐಪಿ ಮೂಲಕ, ಮತ್ತು ಸರ್ವರ್ ಅಥವಾ ಬ್ರೋಕರ್ ಸಂಪರ್ಕಿತ ಗ್ರಾಹಕರ ದಾಖಲೆಯನ್ನು ಇಡುತ್ತದೆ. ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ, ಸಾಧನಗಳು ಸಂವಹನ ಪೋರ್ಟ್‌ಗಳ ಸಂಖ್ಯೆ 1883 ಅನ್ನು ಬಳಸುತ್ತವೆ, ಆದರೂ ನೀವು ಹೆಚ್ಚುವರಿ ಸುರಕ್ಷತೆಗಾಗಿ ಎಸ್‌ಎಸ್‌ಎಲ್ / ಟಿಎಲ್‌ಎಸ್ ಬಳಸುತ್ತಿದ್ದರೆ ಪೋರ್ಟ್ 8883 ಅನ್ನು ಸಹ ನೀವು ಎದುರಿಸಬಹುದು.

ಸಂಪರ್ಕವು ಸಾಧ್ಯವಾಗಬೇಕಾದರೆ, ಗ್ರಾಹಕರು, ಸರ್ವರ್‌ಗಳು ಮತ್ತು ಪೋರ್ಟ್‌ಗಳು ಮಾತ್ರವಲ್ಲ. ಇತರರು ಪ್ಯಾಕೇಜುಗಳು ಅಥವಾ ಸಂದೇಶಗಳನ್ನು ಕಳುಹಿಸಲಾಗಿದೆ ಸಂವಹನ ನಡೆಯಲು:

  • ಸಂಪರ್ಕವನ್ನು ಸ್ಥಾಪಿಸಿ: ಅಗತ್ಯವಿರುವ ಎಲ್ಲ ಮಾಹಿತಿಯೊಂದಿಗೆ ಕ್ಲೈಂಟ್ ಕಳುಹಿಸಿದ ಸಂದೇಶ / ಪ್ಯಾಕೆಟ್ ಅನ್ನು ಸಂಪರ್ಕಿಸಿ. ಆ ಮಾಹಿತಿಯು ಗ್ರಾಹಕ ID, ಬಳಕೆದಾರಹೆಸರು, ಪಾಸ್‌ವರ್ಡ್ ಇತ್ಯಾದಿಗಳನ್ನು ಒಳಗೊಂಡಿದೆ. ಸಂಪರ್ಕವನ್ನು ಸ್ವೀಕರಿಸಲಾಗಿದೆ, ತಿರಸ್ಕರಿಸಲಾಗಿದೆ, ಇತ್ಯಾದಿ ಎಂದು ಕ್ಲೈಂಟ್‌ಗೆ ತಿಳಿಸುವ CONNACK ಪ್ಯಾಕೆಟ್‌ನೊಂದಿಗೆ ಬ್ರೋಕರ್ ಅಥವಾ ಸರ್ವರ್ ಪ್ರತಿಕ್ರಿಯಿಸುತ್ತದೆ.
  • ಸಂದೇಶಗಳನ್ನು ಕಳುಹಿಸಿ ಮತ್ತು ಸ್ವೀಕರಿಸಿ: ಸಂಪರ್ಕವನ್ನು ಸ್ಥಾಪಿಸಿದ ನಂತರ, ವಿಷಯದ ಪ್ಯಾಕೇಜ್‌ಗಳು ಅಥವಾ ಸಂದೇಶಗಳನ್ನು ಬ್ರೋಕರ್‌ಗೆ ಕಳುಹಿಸಿದ ವಿಷಯ ಮತ್ತು ಸಂದೇಶದ ಪೇಲೋಡ್‌ನೊಂದಿಗೆ ಬಳಸಲಾಗುತ್ತದೆ. ಮತ್ತೊಂದೆಡೆ, ಆಸಕ್ತ ಕ್ಲೈಂಟ್ ಅಥವಾ ಕ್ಲೈಂಟ್‌ಗಳು ತಮ್ಮ ಚಂದಾದಾರಿಕೆಯನ್ನು ಕ್ರಮವಾಗಿ ಚಂದಾದಾರರಾಗಲು ಅಥವಾ ಹಿಂಪಡೆಯಲು ಸಬ್‌ಸ್ಕ್ರೈಬ್ ಮತ್ತು ಅನ್‌ಸಸ್ಕ್ರೈಬ್ ಪ್ಯಾಕೇಜ್‌ಗಳನ್ನು ಬಳಸುತ್ತಾರೆ. ಕ್ಲೈಂಟ್ ವಿನಂತಿಸಿದ ಕಾರ್ಯಾಚರಣೆಯ ಯಶಸ್ಸನ್ನು ವರದಿ ಮಾಡಲು ಬ್ರೋಕರ್ ಕ್ರಮವಾಗಿ SUBACK ಮತ್ತು UNSUBACK ಪ್ಯಾಕೇಜ್‌ನೊಂದಿಗೆ ಪ್ರತಿಕ್ರಿಯಿಸುತ್ತಾರೆ.
  • ಸಂಪರ್ಕವನ್ನು ನಿರ್ವಹಿಸುವುದು: ಸಂಪರ್ಕವು ಮುಕ್ತವಾಗಿ ಉಳಿದಿದೆ ಎಂದು ಖಾತರಿಪಡಿಸಿಕೊಳ್ಳಲು, ಗ್ರಾಹಕರು ನಿಯತಕಾಲಿಕವಾಗಿ PINGREQ ಪ್ಯಾಕೆಟ್ ಅನ್ನು ಕಳುಹಿಸಬಹುದು, ಅದು ಸರ್ವರ್‌ನಿಂದ PINGRESP ಪ್ಯಾಕೆಟ್‌ನೊಂದಿಗೆ ಹೊಂದಿಕೆಯಾಗುತ್ತದೆ.
  • ಸಂಪರ್ಕವನ್ನು ಕೊನೆಗೊಳಿಸಿ: ಕ್ಲೈಂಟ್ ಸಂಪರ್ಕ ಕಡಿತಗೊಂಡಾಗ ಅದು ಆ ಘಟನೆಯನ್ನು ವರದಿ ಮಾಡಲು ಡಿಸ್ಕನೆಕ್ಟ್ ಪ್ಯಾಕೆಟ್ ಅನ್ನು ಕಳುಹಿಸುತ್ತದೆ.

ಸಂದೇಶಗಳು ಅಥವಾ ಪ್ಯಾಕೇಜುಗಳು ನಾನು ಮಾತನಾಡಿದವು ಇತರ ನೆಟ್‌ವರ್ಕ್ ಪ್ರೋಟೋಕಾಲ್‌ಗಳ ಇತರ ಪ್ಯಾಕೆಟ್‌ಗಳಂತೆಯೇ ರಚನೆಯನ್ನು ಹೊಂದಿವೆ:

  • ಹೆಡರ್ ಅಥವಾ ಸ್ಥಿರ ಹೆಡರ್: 2-5 ಬೈಟ್‌ಗಳ ನಡುವೆ ಇರುವ ಒಂದು ಸ್ಥಿರ ಭಾಗವಾಗಿದೆ. ಇದು ನಿಯಂತ್ರಣ ಕೋಡ್, ಕಳುಹಿಸಿದ ಸಂದೇಶದ ಐಡಿ ಮತ್ತು ಅದರ ಉದ್ದವನ್ನು ಒಳಗೊಂಡಿದೆ. 1-4 ಬೈಟ್‌ಗಳ ನಡುವೆ ಉದ್ದವನ್ನು ಎನ್‌ಕೋಡ್ ಮಾಡಲು ಬಳಸಲಾಗುತ್ತದೆ, ಪ್ರತಿ ಆಕ್ಟೇಟ್‌ನ ಮೊದಲ 7 ಬಿಟ್‌ಗಳನ್ನು ಉದ್ದದ ದತ್ತಾಂಶವಾಗಿ ಮತ್ತು ಸಂದೇಶದ ಉದ್ದವನ್ನು ರೂಪಿಸುವ ಒಂದಕ್ಕಿಂತ ಹೆಚ್ಚು ಬೈಟ್‌ಗಳಿವೆ ಎಂದು ನಿರ್ಧರಿಸಲು ಹೆಚ್ಚುವರಿ ಬಿಟ್ ನಿರಂತರತೆಯನ್ನು ಬಳಸಲಾಗುತ್ತದೆ.
  • ವೇರಿಯಬಲ್ ಹೆಡರ್: ಯಾವಾಗಲೂ ಕಡ್ಡಾಯವಲ್ಲ, ಆದರೆ ಐಚ್ .ಿಕ. ಇದು ಕೆಲವು ಸಂದರ್ಭಗಳಲ್ಲಿ ಅಥವಾ ನಿರ್ದಿಷ್ಟ ಸಂದೇಶಗಳಲ್ಲಿ ಕೆಲವು ಪ್ಯಾಕೇಜ್‌ಗಳಲ್ಲಿ ಮಾತ್ರ ಇರುತ್ತದೆ.
  • ವಿಷಯ ಅಥವಾ ಡೇಟಾ: ಪ್ಯಾಕೆಟ್ ಡೇಟಾವು ಕಳುಹಿಸಬೇಕಾದ ಸಂದೇಶವನ್ನು ನಿಜವಾಗಿ ಒಳಗೊಂಡಿದೆ. ಇದು ಕೆಲವು ಕೆಬಿಯಿಂದ 256 ಎಂಬಿ ಮಿತಿಯವರೆಗೆ ಇರಬಹುದು.

ನಿಮಗೆ ತಿಳಿಯಲು ಆಸಕ್ತಿ ಇದ್ದರೆ ಹೆಕ್ಸಾಡೆಸಿಮಲ್ನಲ್ಲಿನ ಅನುಗುಣವಾದ ಕೋಡ್ ಕಳುಹಿಸಿದ ಸಂದೇಶಗಳ ಪ್ರಕಾರಗಳು:

ಸಂದೇಶ ಕೋಡ್
ಸಂಪರ್ಕಿಸು 0x10
ಸಂಪರ್ಕಿಸಿ 0x20
ಪ್ರಕಟಿಸಿ 0x30
ಪುಬ್ಯಾಕ್ 0x40
ಪುಬ್ರೆಕ್ 0x50
ಪುಬ್ರೆಲ್ 0x60
pubcomp 0x70
SUBSCRBE 0x80
ಸಬ್ಯಾಕ್ 0x90
ಅನ್ಸಸ್ಕ್ರೈಬ್ ಮಾಡಿ 0xA0
ಸಲ್ಲಿಸಬೇಡಿ 0xB0
ಪಿಂಗ್ರೆಕ್ 0xC =
ಪಿಂಗ್ರೆಸ್ 0xD0
ಸಂಪರ್ಕ ಕಡಿತಗೊಳಿಸಿ 0xE0

ಸಂವಹನಗಳ ಗುಣಮಟ್ಟ ಮತ್ತು ಸುರಕ್ಷತೆ

MQTT ಯ ಸಂದೇಶಗಳ ಮತ್ತೊಂದು ಪ್ರಮುಖ ವಿವರವೆಂದರೆ ಸೇವೆಯ ಗುಣಮಟ್ಟ ಅಥವಾ QoS, ಮತ್ತು ಭದ್ರತೆ. ವೈಫಲ್ಯಗಳು ಮತ್ತು ಅದರ ಸುರಕ್ಷತೆಯ ಸಂದರ್ಭದಲ್ಲಿ ಸಂವಹನ ವ್ಯವಸ್ಥೆಯ ದೃ ust ತೆ ಇದನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ.

ಅದರ ಗುಣಮಟ್ಟಕ್ಕೆ ಸಂಬಂಧಿಸಿದಂತೆ, ಅದನ್ನು ನಿರ್ಧರಿಸಬಹುದು 3 ವಿವಿಧ ಹಂತಗಳು:

  • QoS 0 (ಅಜ್ಞಾತ)- ಸಂದೇಶವನ್ನು ಒಮ್ಮೆ ಮಾತ್ರ ಕಳುಹಿಸಲಾಗುತ್ತದೆ, ಮತ್ತು ವಿಫಲವಾದರೆ ಅದನ್ನು ತಲುಪಿಸಲಾಗುವುದಿಲ್ಲ. ಇದು ವಿಮರ್ಶಾತ್ಮಕವಲ್ಲದಿದ್ದಾಗ ಬಳಸಲಾಗುತ್ತದೆ.
  • QoS 1 (ಅಂಗೀಕರಿಸಿ): ಗ್ರಾಹಕರಿಗೆ ವಿತರಣೆಯನ್ನು ಖಾತರಿಪಡಿಸಿಕೊಳ್ಳಲು ಅಗತ್ಯವಿರುವಷ್ಟು ಬಾರಿ ಸಂದೇಶವನ್ನು ಕಳುಹಿಸಲಾಗುತ್ತದೆ. ತೊಂದರೆಯೆಂದರೆ ಕ್ಲೈಂಟ್ ಒಂದೇ ಸಂದೇಶವನ್ನು ಹಲವಾರು ಬಾರಿ ಸ್ವೀಕರಿಸಬಹುದು.
  • QoS 2 (ಭರವಸೆ)- ಮೇಲಿನಂತೆಯೇ, ಆದರೆ ಒಮ್ಮೆ ಮಾತ್ರ ತಲುಪಿಸುವ ಭರವಸೆ ಇದೆ. ಹೆಚ್ಚಿನ ವಿಶ್ವಾಸಾರ್ಹತೆಯ ಅಗತ್ಯವಿರುವ ಹೆಚ್ಚು ನಿರ್ಣಾಯಕ ವ್ಯವಸ್ಥೆಗಳಿಗೆ ಇದನ್ನು ಹೆಚ್ಚಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ.

ಮತ್ತೊಂದೆಡೆ, ಹಾಗೆ MQTT ಭದ್ರತೆ, ಈ ನಿಟ್ಟಿನಲ್ಲಿ ಅದರ ಶಕ್ತಿಯನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ವಿವಿಧ ಕ್ರಮಗಳನ್ನು ಬಳಸಬಹುದು. ನಾನು ಮೊದಲೇ ಹೇಳಿದಂತೆ, ಇತರ ಪ್ರೋಟೋಕಾಲ್‌ಗಳಂತೆ ಬಳಕೆದಾರಹೆಸರು ಮತ್ತು ಪಾಸ್‌ವರ್ಡ್‌ನ ದೃ ation ೀಕರಣವನ್ನು ಎಸ್‌ಎಸ್‌ಎಲ್ / ಟಿಎಲ್‌ಎಸ್ ಮೂಲಕ ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಬಹುದು. ಕಡಿಮೆ ಸಾಮರ್ಥ್ಯ, ಅಥವಾ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಹೊಂದಿರುವ ಅನೇಕ ಐಒಟಿ ಸಾಧನಗಳು ಈ ರೀತಿಯ ಸುರಕ್ಷಿತ ಸಂವಹನವನ್ನು ಬಳಸುವಾಗ ಕೆಲಸದ ಮಿತಿಮೀರಿದ ಸಮಸ್ಯೆಗಳನ್ನು ಹೊಂದಿರಬಹುದು ...

ಈ ಕಾರಣಕ್ಕಾಗಿ, MQTT ಬಳಸುವ ಅನೇಕ IoT ಸಾಧನಗಳು ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ಮತ್ತು ಬಳಕೆದಾರರನ್ನು ಬಳಸುತ್ತವೆ ಸಮತಲ ಪಠ್ಯ, ಇದು ಯಾರಾದರೂ ಸುಲಭವಾಗಿ ಪಡೆಯಲು ನೆಟ್‌ವರ್ಕ್ ದಟ್ಟಣೆಯನ್ನು ಕಸಿದುಕೊಳ್ಳುವಂತೆ ಮಾಡುತ್ತದೆ. ಮತ್ತು ಅದು ಸಾಕಾಗದಿದ್ದರೆ, ಅನಾಮಧೇಯ ಸಂಪರ್ಕಗಳನ್ನು ಸ್ವೀಕರಿಸಲು ಬ್ರೋಕರ್ ಅನ್ನು ಸಹ ಕಾನ್ಫಿಗರ್ ಮಾಡಬಹುದು, ಇದು ಯಾವುದೇ ಬಳಕೆದಾರರಿಗೆ ಹೆಚ್ಚಿನ ಅಪಾಯವನ್ನು ಒಳಗೊಂಡಂತೆ ಸಂವಹನಗಳನ್ನು ಸ್ಥಾಪಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ.

Arduino ನೊಂದಿಗೆ MQTT ಅನ್ನು ಬಳಸುವುದು

Arduino UNO MQTT ಯೊಂದಿಗೆ

ಖಂಡಿತ ನೀವು ಮಾಡಬಹುದು Arduino ನೊಂದಿಗೆ MQTT ಪ್ರೊಟೊಕಾಲ್ ಬಳಸಿ ಮತ್ತು ಇತರ ಅಭಿವೃದ್ಧಿ ಮಂಡಳಿಗಳು, ಮತ್ತು ರಾಪ್ಸ್‌ಬೆರಿ ಪೈ, ಇತ್ಯಾದಿ. ಇದನ್ನು ಮಾಡಲು, ನಿಮ್ಮ ಆರ್ಡುನೊ ಬೋರ್ಡ್ ಸಂಪರ್ಕವನ್ನು ಹೊಂದಿಲ್ಲದಿದ್ದರೆ ಅದನ್ನು ಒದಗಿಸಬೇಕು. ಅಲ್ಲದೆ, ಗ್ರಂಥಾಲಯ MQTT ಗಾಗಿ Arduino ಕ್ಲೈಂಟ್ ಇದು ಈ ಕಾರ್ಯಗಳಲ್ಲಿ ನಿಮಗೆ ಸಹಾಯ ಮಾಡುತ್ತದೆ. ಈ ಲೈಬ್ರರಿ ಇದರೊಂದಿಗೆ ಹೊಂದಿಕೊಳ್ಳುತ್ತದೆ:

ಆಜ್ಞೆಯನ್ನು ಬಳಸಿಕೊಂಡು ನಿಮ್ಮ ಆರ್ಡುನೊ ಐಡಿಇಯಲ್ಲಿ ಗ್ರಂಥಾಲಯವನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡಬಹುದು ಮತ್ತು ಸ್ಥಾಪಿಸಬಹುದು ಎಂದು ನಿಮಗೆ ಈಗಾಗಲೇ ತಿಳಿದಿದೆ: ಜಿಟ್ ಕ್ಲೋನ್ https://github.com/knolleary/pubsubclient.git

ತಕ್ಷಣ MQTT ಅನ್ನು ಬಳಸಲು ಕೋಡ್‌ಗೆ ಕೆಲವು ಅಪ್ಲಿಕೇಶನ್‌ನಲ್ಲಿ, ಇದು ಸರಳವಾಗಿದೆ ಎಂಬುದು ಸತ್ಯ. ಫ್ರಿಟ್ಜಿಂಗ್ ಚಿತ್ರದಲ್ಲಿ ನೀವು ಪ್ಲೇಕ್ ಅನ್ನು ನೋಡಬಹುದು Arduino UNO ಆರ್ಡುನೊ ಎತರ್ನೆಟ್ ಯಾವ ಸಂಪರ್ಕವನ್ನು ಸೇರಿಸಿದೆ ಮತ್ತು ಅದನ್ನು ಸಹ ಸಂಪರ್ಕಿಸಲಾಗಿದೆ ಡಿಹೆಚ್ಟಿ 22 ಆರ್ದ್ರತೆ ಮತ್ತು ತಾಪಮಾನ ಸಂವೇದಕ, ಅದು ಬೇರೆ ಯಾವುದಾದರೂ ಆಗಿರಬಹುದು ...

ಸರಿ, ಆ ಮೂಲಕ, ನೀವು ರಚಿಸಬೇಕಾದ ಕೋಡ್‌ಗಾಗಿ ಆರ್ಡುನೊ ಐಡಿಇ 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 ಮತ್ತು ಆರ್ಡುನೊ ಎತರ್ನೆಟ್ ಅಥವಾ ಇತರ ಯಾವುದೇ ಅಂಶದೊಂದಿಗೆ ಸಂಪರ್ಕ. ಕೋಡ್‌ನಂತೆ, ಒಂದು ಉದಾಹರಣೆ ಹೀಗಿರುತ್ತದೆ:
#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 ವಿಳಾಸವನ್ನು ಅಥವಾ ನೀವು ಬಳಸುತ್ತಿರುವ ವಿಳಾಸವನ್ನು ಸಹ ನೀವು ಬದಲಾಯಿಸಬೇಕು, ಹಾಗೆಯೇ ಉಳಿದ ಕೋಡ್ ಅನ್ನು ನೀವು ಹೊಂದಿಸಲು ಬಯಸಿದರೆ ಅದನ್ನು ಬದಲಾಯಿಸಬೇಕು ವಿಭಿನ್ನ ಯೋಜನೆ. ಇದು ಕೇವಲ ಒಂದು ಉದಾಹರಣೆ!

ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ, ನೀವು ಮಾಡಬಹುದು ಉಚಿತವಾಗಿ ಡೌನ್‌ಲೋಡ್ ಮಾಡಿ ನಮ್ಮ ಪಿಡಿಎಫ್ ಕೈಪಿಡಿ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಪ್ರಾರಂಭಿಸಲು ಆರ್ಡುನೊ ಐಡಿಇ ಕೋರ್ಸ್ನೊಂದಿಗೆ.


ಕಾಮೆಂಟ್ ಮಾಡಲು ಮೊದಲಿಗರಾಗಿರಿ

ನಿಮ್ಮ ಅಭಿಪ್ರಾಯವನ್ನು ಬಿಡಿ

ನಿಮ್ಮ ಈಮೇಲ್ ವಿಳಾಸ ಪ್ರಕಟವಾದ ಆಗುವುದಿಲ್ಲ. ಅಗತ್ಯವಿರುವ ಜಾಗ ಗುರುತಿಸಲಾಗಿದೆ *

*

*

  1. ಡೇಟಾಗೆ ಜವಾಬ್ದಾರಿ: ಮಿಗುಯೆಲ್ ಏಂಜೆಲ್ ಗಟಾನ್
  2. ಡೇಟಾದ ಉದ್ದೇಶ: ನಿಯಂತ್ರಣ SPAM, ಕಾಮೆಂಟ್ ನಿರ್ವಹಣೆ.
  3. ಕಾನೂನುಬದ್ಧತೆ: ನಿಮ್ಮ ಒಪ್ಪಿಗೆ
  4. ಡೇಟಾದ ಸಂವಹನ: ಕಾನೂನುಬದ್ಧ ಬಾಧ್ಯತೆಯನ್ನು ಹೊರತುಪಡಿಸಿ ಡೇಟಾವನ್ನು ಮೂರನೇ ವ್ಯಕ್ತಿಗಳಿಗೆ ಸಂವಹನ ಮಾಡಲಾಗುವುದಿಲ್ಲ.
  5. ಡೇಟಾ ಸಂಗ್ರಹಣೆ: ಆಕ್ಸೆಂಟಸ್ ನೆಟ್‌ವರ್ಕ್‌ಗಳು (ಇಯು) ಹೋಸ್ಟ್ ಮಾಡಿದ ಡೇಟಾಬೇಸ್
  6. ಹಕ್ಕುಗಳು: ಯಾವುದೇ ಸಮಯದಲ್ಲಿ ನೀವು ನಿಮ್ಮ ಮಾಹಿತಿಯನ್ನು ಮಿತಿಗೊಳಿಸಬಹುದು, ಮರುಪಡೆಯಬಹುದು ಮತ್ತು ಅಳಿಸಬಹುದು.