Як встановити брокер/сервер Mosquitto MQTT на Ubuntu 16.04

MQTT — це «полегшений» протокол обміну повідомленнями через TCP/IP, заснований на моделі публікації/передплати, для зв’язку між пристроями «Інтернету речей», такими як ESP8266, Raspberry Pi тощо. Він дуже популярний серед програм із низьким рівнем ресурсів і живлення від акумулятора, таких як домашній. автоматики, охоронної сигналізації та сенсорних мереж з акумуляторним живленням.

Mosquitto — це брокер (або сервер) з відкритим вихідним кодом, який реалізує протоколи MQTT. Завдяки гарній підтримці спільноти, документації та простоті встановлення він став одним із найпопулярніших брокерів MQTT.

Передумови

  • Сервер Ubuntu 16.04 з rootдоступом
  • Відкрийте порт TCP:1883на брандмауері

Крок перший: установіть Mosquitto Broker

Оновіть список пакетів Ubuntu та встановіть останню версію Mosquitto Broker

sudo apt-get update
sudo apt-get install mosquitto

Послуга Mosquitto запуститься після встановлення.

Крок другий: встановіть клієнти та перевірте

Встановіть клієнти MQTT

sudo apt-get install mosquitto-clients

Клієнти Mosquitto допомагають нам легко протестувати MQTT за допомогою утиліти командного рядка. Ми будемо використовувати два командних вікна: одне для підписки на тему з назвою, "test"а інше для публікації повідомлення до неї.

Теми — це мітки, які використовуються брокером для фільтрації повідомлень для кожного підключеного клієнта. Клієнтська програма, підписана на тему "Home1/BedroomTemp", слухатиме лише повідомлення, опубліковані на ту саму тему іншими клієнтами.

Підпишіться на тему "test"

mosquitto_sub -t "test"

Mosquito_subце клієнт для підписки, який ми встановили в попередній команді. Тут ми вказуємо " -t", а потім назву теми.

Опублікувати повідомлення в темі "test"

Увійдіть у термінал як другий екземпляр і опублікуйте повідомлення в "test"темі.

mosquitto_pub -m "message from mosquitto_pub client" -t "test"

Тут за додатковим параметром " –m" слід повідомлення, яке ми хочемо опублікувати. Натисніть " Enter", і ви побачите повідомлення з mosquitto_pub clientвідображеного в іншому терміналі, де mosquito_sub clientзапущено.

Крок третій: захистити за допомогою пароля

Mosquitto постачається з утилітою для створення файлів паролів під назвою mosquitto_passwd.

sudo mosquitto_passwd -c /etc/mosquitto/passwd dave
Password: password

Створіть файл конфігурації для Mosquitto, вказуючи на файл паролів, який ми щойно створили.

sudo nano /etc/mosquitto/conf.d/default.conf

Це відкриє порожній файл. Вставте в нього наступне.

allow_anonymous false
password_file /etc/mosquitto/passwd

Збережіть і вийдіть із текстового редактора за допомогою " Ctrl+O", " Enter" і " Ctrl+X".

Тепер перезапустіть сервер Mosquitto і перевірте наші зміни.

sudo systemctl restart mosquitto

У вікні клієнта підписки натисніть " Ctrl+C", щоб вийти з клієнта підписки та перезапустити його за допомогою наступної команди.

mosquitto_sub -t "test" -u "dave" -P "password"

Зверніть увагу на велику -P тут .

У вікні клієнта публікації спробуйте опублікувати повідомлення без пароля.

mosquitto_pub -t "test" -m "message from mosquitto_pub client"

Повідомлення буде відхилено з наступним повідомленням про помилку.

Connection Refused: not authorised.
Error: The connection was refused.

Тепер опублікуйте повідомлення з usernameі password.

mosquitto_pub -t "test" -m "message from mosquitto_pub client" -u "dave" -P "password"

Натисніть « Enter«, і ви побачите повідомлення у вікні клієнта підписки, як у другому кроці.

Висновок

Тепер ми налаштували захищений паролем сервер MQTT. Ви можете використовувати публічну IP-адресу свого сервера Ubuntu як брокер MQTT для своїх проектів.

Залишити коментар

Повстання машин: застосування ШІ в реальному світі

Повстання машин: застосування ШІ в реальному світі

Штучний інтелект не в майбутньому, він тут прямо в сьогоденні У цьому блозі Прочитайте, як програми штучного інтелекту вплинули на різні сектори.

DDOS-атаки: короткий огляд

DDOS-атаки: короткий огляд

Ви також стали жертвою DDOS-атак і спантеличені методами запобігання? Прочитайте цю статтю, щоб вирішити свої запитання.

Ви коли-небудь замислювалися, як хакери заробляють гроші?

Ви коли-небудь замислювалися, як хакери заробляють гроші?

Можливо, ви чули, що хакери заробляють багато грошей, але чи замислювалися ви коли-небудь, як вони заробляють такі гроші? давайте обговоримо.

Революційні винаходи від Google, які полегшать ваше життя.

Революційні винаходи від Google, які полегшать ваше життя.

Ви хочете побачити революційні винаходи Google і як ці винаходи змінили життя кожної людини сьогодні? Тоді читайте в блозі, щоб побачити винаходи Google.

Friday Essential: Що сталося з автомобілями, керованими штучним інтелектом?

Friday Essential: Що сталося з автомобілями, керованими штучним інтелектом?

Концепція самокерованих автомобілів, щоб вирушати в дороги за допомогою штучного інтелекту, є мрією, яку ми давно мріємо. Але, незважаючи на кілька обіцянок, їх ніде не видно. Прочитайте цей блог, щоб дізнатися більше…

Технологічна сингулярність: віддалене майбутнє людської цивілізації?

Технологічна сингулярність: віддалене майбутнє людської цивілізації?

Оскільки наука розвивається швидкими темпами, бере на себе багато наших зусиль, ризики піддати себе незрозумілій Сингулярності також зростає. Читайте, що може означати для нас сингулярність.

Функціональні можливості шарів еталонної архітектури великих даних

Функціональні можливості шарів еталонної архітектури великих даних

Прочитайте блог, щоб дізнатися про різні шари архітектури великих даних та їх функціональні можливості найпростішим способом.

Еволюція зберігання даних – інфографіка

Еволюція зберігання даних – інфографіка

Методи зберігання даних можуть розвиватися з моменту народження Даних. Цей блог висвітлює еволюцію зберігання даних на основі інфографіки.

6 дивовижних переваг використання пристроїв розумного дому в нашому житті

6 дивовижних переваг використання пристроїв розумного дому в нашому житті

У цьому цифровому світі пристрої розумного дому стали важливою частиною життя. Ось кілька дивовижних переваг пристроїв розумного дому щодо того, як вони роблять наше життя гідним життя та спрощують його.

Оновлення доповнення macOS Catalina 10.15.4 спричиняє більше проблем, ніж вирішує

Оновлення доповнення macOS Catalina 10.15.4 спричиняє більше проблем, ніж вирішує

Нещодавно Apple випустила додаткове оновлення macOS Catalina 10.15.4, щоб виправити проблеми, але схоже, що оновлення викликає більше проблем, що призводять до блокування комп’ютерів Mac. Прочитайте цю статтю, щоб дізнатися більше