Lean IoT протокол Як працює MQTT; Спілкування; Electronicsnet

08 грудня 2017 р., 13:53 | Домінік Обермаєр

mqtt

Простий протокол IoT MQTT відіграє центральну роль у роботі мереж IoT-пристроїв. Сотні тисяч пристроїв можуть бути об’єднані в мережі за допомогою простих основних принципів.

Мережа сотень, тисяч або навіть сотень тисяч пристроїв є центральним викликом багатьох проектів Інтернету речей. Завдяки такому масштабуванню звичайні архітектури програмного забезпечення клієнт-сервер та протоколи зв'язку на стороні сервера часто досягають своїх меж. З боку клієнта, з іншого боку, часто можна очікувати низької якості з'єднання, особливо коли дані передаються через стільникові мережі.

Стандартизований та відкритий протокол IoT MQTT став одним із найпопулярніших стандартів мережевих пристроїв в Інтернеті речей, оскільки протокол дає відповіді на такі теми, як масштабування, надійна передача даних через ненадійні канали зв'язку та стандартизовані заходи безпеки. MQTT - це так званий протокол обміну повідомленнями, тому він пропонує спілкування, орієнтоване на повідомлення. Завдяки своїй стрункості та простоті, він використовується в багатьох проектах, в яких інші протоколи, такі як OPC UA, занадто важкі, пропонують занадто багато непотрібних функцій або занадто складні для конкретного застосування.

Одного разу власницька

MQTT був розроблений IBM та Arcom у 1999 році для підключення нафтопроводів через супутникові лінії зв'язку. Метою було створити максимально ефективний пропускну здатність та економію заряду акумулятора. Сам протокол був власністю протягом багатьох років і використовувався в багатьох сценаріях SCADA. У 2010 році IBM випустила специфікацію MQTT 3.1 без ліцензії, що призвело до багатьох власних та безкоштовних програмних продуктів як для сервера, так і для клієнта. У 2013 році розпочалася офіційна стандартизація MQTT - серед таких компаній, як IBM, Cisco, Software AG та dc-square. Зараз MQTT є стандартом ISO (ISO/IEC 20922: 2016) та стандартом OASIS, і тому є відкритим та вільним доступом.

Причини популярності MQTT як комунікаційного протоколу для сучасних викликів в Інтернеті речей криються в ряді властивостей протоколу:

  • Простота протоколу
  • Ефективність пропускної здатності
  • Масштабованість до мільйонів мережевих пристроїв
  • Протокол стандартизований і на 100% відкритий
  • Спілкування зумовлене подіями
  • MQTT є агностичним і двійковим

Завдяки своїм властивостям, MQTT використовується в широкому спектрі застосувань у багатьох галузях промисловості по всьому світу: від підключених автомобілів до військових додатків, мережевих промислових пристроїв, для управління
від дронів до простого обміну даними з мобільних пристроїв та комп’ютерів. Для більшості випадків використання спільним є те, що використовується з’єднання з Інтернетом (переважно через стільникову мережу), а низькі затримки елементарні навіть при низькій пропускній здатності.

MQTT не описує жодних даних семантично (наприклад, OPC UA) і є суто протоколом передачі даних. Він слідує принципу UNIX "роби одне і роби це добре", і тому його можна використовувати надзвичайно гнучко, оскільки він "лише" визначає транспортний рівень програми. Ось чому він використовується рідше в типових додатках Industry 4.0, оскільки тут часто потрібен семантичний рівень, і часто немає зв'язку через Інтернет.

Малюнок 1. У моделі рівня OSI MQTT знаходиться на рівні програми. На рівні 4 він абсолютно потребує TCP, оскільки працює, орієнтований на підключення.