Мазмуну:
- 1 -кадам: MQTT деген эмне жана ал кантип иштейт
- 2 -кадам: Raspberry Pi
- 3 -кадам: статикалык Ip дарегин кантип орнотсо болот
- 4 -кадам: NodeMCU
- 5 -кадам: Python Script
- 6 -кадам: Байланыштар жана Райондук диаграмма
- 7 -кадам: Жыйынтык
Video: Raspberry Pi MQTT колдонуу менен ESP8266 менен сүйлөшүүдө: 8 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:42
Бул долбоордо мен MQTT протоколу деген эмне экенин жана ал түзмөктөрдүн ортосунда кантип байланышуу үчүн колдонулаарын түшүндүрөм, андан кийин практикалык демонстрация катары мен ESP8266 модулу, ошондой эле RPi сүйлөшүүсү болгон кардар менен брокер системасын кантип орнотууну көрсөтөм. бири -бирине же баскыч басылганда билдирүү жөнөтүү.
Материал талап кылынат
1. Raspberry Pi 3
2. NodeMCU
3. LED
4. Баскыч
5. Резисторлор (10k, 475 ом)
1 -кадам: MQTT деген эмне жана ал кантип иштейт
MQTT
MQTT-бул машинадан машинага (M2M) маалыматтарды берүү протоколу. MQTT көптөгөн түзмөктөрдөн маалыматтарды чогултуу жана андан кийин ал инфраструктурага жеткирүү максатында түзүлгөн. Бул жеңил, ошондуктан алыскы мониторинг үчүн идеалдуу, айрыкча кичинекей коддун изин талап кылган же тармактын өткөрүү жөндөмдүүлүгү чектелген M2M туташууларында.
MQTT кантип иштейт
MQTT-бул тармактын четки түзмөктөрүнө брокерге жарыялоого мүмкүндүк берүүчү жарыялоо/жазылуу протоколу. Кардарлар бул брокерге туташат, ал эки түзмөктүн ортосундагы байланышты ортомчу кылат. Ар бир түзмөк белгилүү темаларга жазылып же каттала алат. Башка кардар жазылган тема боюнча билдирүү жарыялаганда, брокер ал катты каалаган кардарга жөнөтөт.
MQTT эки багыттуу болуп саналат жана мамлекеттик сессиянын маалымдуулугун сактайт. Эгерде тармактын четиндеги түзмөк туташуусун жоготсо, бардык жазылган кардарларга MQTT серверинин "Акыркы керээз жана керээз" өзгөчөлүгү кабарланат, ошондо системанын ыйгарым укуктуу кардары жаңы бааны кайра четине жарыялай алат. тармак түзмөгү, эки тараптуу байланышты сактоо.
Долбоор 3 бөлүккө бөлүнгөн
Биринчиден, биз RPiде MQTT серверин түзөбүз жана кээ бир китепканаларды орнотобуз.
Экинчиден, MQTT менен иштөө үчүн NodeMCU үчүн Arduino IDEдеги китепканаларды орнотобуз, кодду жүктөп, сервердин иштеп жаткандыгын текшеребиз.
Акыр -аягы, биз Rpiде сценарий түзөбүз, NodeMCUге керектүү кодду жүктөйбүз жана серверди да, кардарды да леддерди башкаруу үчүн питон скриптин иштетебиз. Бул жерде сервер RPi жана кардар NodeMCU.
2 -кадам: Raspberry Pi
1. Акыркы MQTT серверин жана кардарын RPiге орнотуу үчүн, жаңы репозиторийди колдонуу үчүн алгач репозиторий пакетине кол коюу ачкычын импорттоо керек.
wget https://repo.mosquitto.org/debian/mosquitto-repo.gpg.keysudo апт-ачкыч кошуу mosquitto-repo.gpg.key
2. Репозиторийди ылайыктуу кылуу.
cd /etc/apt/sources.list.d/
3. Debianдын кайсы версиясын колдонуп жатканыңызга жараша.
sudo wget https://repo.mosquitto.org/debian/mosquitto-wheezy.listsudo wget
sudo wget
sudo apt-get update
4. Mosquitto серверин буйрукту колдонуп орнотуңуз.
sudo apt-get чиркейди орнотуңуз
Эгерде сизде Mosquitto орнотууда мындай каталар пайда болсо.
#################################################################
Төмөнкү пакеттерде канааттандырылбаган көз карандылыктар бар: чиркей: Көз каранды: libssl1.0.0 (> = 1.0.1), бирок аны орнотуу мүмкүн эмес Көз каранды: libwebsockets3 (> = 1.2), бирок аны орнотуу мүмкүн эмес E: Проблемаларды оңдоо мүмкүн эмес, сиз бузулдуңуз пакеттер.
#################################################################
Андан кийин көйгөйлөрдү чечүү үчүн бул буйрукту колдонуңуз.
sudo apt-оңдоо-бузулган орнотуу
5. MQTT серверин орноткондон кийин, буйрукту колдонуп кардарды орнотуңуз
sudo apt-get чиркей-кардарларды орнотуңуз
Сиз буйрукту колдонуу менен кызматтарды текшере аласыз.
systemctl абалы чиркей.кызмат
Биздин MQTT сервер жана кардар орнотулгандыктан. Эми биз аны жазылуу жана жарыялоо аркылуу текшере алабыз. Жазылуу жана жарыялоо үчүн сиз буйруктарды текшере аласыз же төмөндө көрсөтүлгөн вебсайтка кире аласыз.
Mosquitto Sub
Mosquitto Pub
Paho-mqtt китепканасын орнотуу үчүн төмөнкү буйрукту колдонуңуз.
sudo pip орнотуу paho-mqtt
Пахо
3 -кадам: статикалык Ip дарегин кантип орнотсо болот
Cd /etc каталогуна өтүңүз жана каалаган редакторду колдонуп dhcpcd.conf файлын ачыңыз. Аягында бул төрт сапты жазыңыз.
интерфейси eth0 static ip_address = 192.168.1.100 // ip сиз колдонгуңуз келет
wlan0 интерфейси
статикалык ip_address = 192.168.1.68
статикалык роутерлер = 192.168.1.1 // сиздин демейки шлюзуңуз
static domain_name_servers = 192.168.1.1
Андан кийин аны сактап, пиңизди кайра жүктөңүз.
4 -кадам: NodeMCU
NodeMCU үчүн Arduino IDEге керектүү китепканаларды орнотуңуз
1. Sketch ==> Китепкананы кошуу ==> Китепканаларды башкаруу бөлүмүнө өтүңүз.
2. mqtt издеп, Adafruit тарабынан китепкана орнотуңуз же каалаган китепкананы орното аласыз.
3. Бул sleepydog китепканасынан көз каранды, ошондуктан бизге бул китепкана дагы керек.
Программа жогоруда берилген, анын иштейби же жокпу текшерүү үчүн. Бул жерде мен RPiде эч кандай сценарий жараткан жокмун. Биз жөн гана жазылуу жана жарыялоо үчүн буйруктарды колдонуп жатабыз. Кийинчерээк көзөмөлдөө үчүн скрипт түзөбүз.
mosquitto_pub -h raspberrypi -t "/leds/pi" -m "ON"
mosquitto_pub -h raspberrypi -t "/leds/pi" -m "OFF"
mosquitto_pub -h raspberrypi -t "/leds/pi" -m "TOGGLE"
mosquitto_pub -h raspberrypi -t "/leds/esp8266" -m "ON"
mosquitto_pub -h raspberrypi -t "/leds/esp8266" -m "OFF"
mosquitto_pub -h raspberrypi -t "/leds/esp8266" -m "TOGGLE"
-h ==> хосттун аты-t ==> темасы
-m ==> билдирүү
Mqtt_check программасын текшергенден кийин NodeMCUге программаны жүктөп бериңиз
5 -кадам: Python Script
Мен жогоруда талкуулаганымдай, кнопкаларды колдонуу менен леддерди көзөмөлдөө үчүн питон скрипти керек. Ошентип, биз скрипт түзөбүз. Скрипт жогоруда берилген.
Сценарийди иштеткенде, сценарийиңиз сүрөттө көрсөтүлгөндөй болушу керек, эгерде натыйжа коду нөлгө барабар болбосо, анда алар ката болуп саналат, сиз paho вебсайтындагы катаны текшере аласыз.
6 -кадам: Байланыштар жана Райондук диаграмма
Баскычтын интерфейси, NodeMCU менен LED
NodeMCU ===> ButtonGnd ===> Gnd
3.3V ===> PIN1
GPIO4 (D2) ===> PIN2
NodeMCU ===> LED
Gnd ===> Катод (-ve)
GPIO5 (D1) ===> Анод (+ve)
Баскычтын интерфейси, RPi менен LED
RPi ===> ButtonGnd ===> PIN1
GPIO 23 ===> PIN2
RPi ===> LED
Gnd ==> Катод (-ve)
GPIO 24 ===> Анод (+ve)
7 -кадам: Жыйынтык
Скрипт иштеп жатканын текшериңиз, антпесе ал кнопкаларды колдонуу менен жетектөөнү башкара албайт.
Сунушталууда:
MQTT жана ESP8266 колдонуу менен үйдү автоматташтыруу: 6 кадам
MQTT жана ESP8266 колдонуу менен үйдү автоматташтыруу: Азыркы учурда, үйдү автоматташтыруу IoTнин (Интернет нерселеринин) тренди жана жаңы доору. Ар бир адам үйдү автоматташтырууга аракет кылат, андан кийин алыстан башкарылып же кол менен башкарылышы мүмкүн. Жана бул алардын жашоосун жеңилдетет. Адамды башкара турган техникалар бар
Neopixel Ws2812 Rainbow LED жарыгы M5stick-C - менен Rainbowту Neopixel Ws2812де иштетүү M5stack M5stick Cди колдонуу Arduino IDEди колдонуу: 5 кадам
Neopixel Ws2812 Rainbow LED Glow with M5stick-C | Rainbow боюнча Neopixel Ws2812де чуркоо M5stack M5stick Cди колдонуу Arduino IDEди колдонуу: Салам балдар бул көрсөтмөлөрдө биз неопиксел ws2812 светодиоддорун же LED тилкесин же LED матрицасын же LED шакегин m5stack m5stick-C өнүктүрүү тактасы менен Arduino IDE менен колдонууну үйрөнөбүз жана биз жасайбыз. аны менен асан -үсөн үлгүсү
Ардуино менен 2.4Ghz NRF24L01 модулун колдонуу менен зымсыз алыстан башкаруу - Nrf24l01 4 каналы / 6 каналды берүүчү Quadcopter үчүн алуучу - Rc Helicopter - Rc учагы Arduino колдонуу: 5 кадам (сүрөттөр менен)
Ардуино менен 2.4Ghz NRF24L01 модулун колдонуу менен зымсыз алыстан башкаруу | Nrf24l01 4 каналы / 6 каналды берүүчү Quadcopter үчүн алуучу | Rc Helicopter | Arduino менен Rc учагы: Rc машинасын иштетүү | Quadcopter | Дрон | RC учагы | RC кайыгы, бизге дайыма рецептор жана өткөргүч керек, RC QUADCOPTER үчүн бизге 6 каналдуу өткөргүч жана кабыл алгыч керек деп ойлойбуз жана TX менен RXтин бул түрү өтө кымбат, ошондуктан биз аны өзүбүздө жасайбыз
Wemos ESP-Wroom-02 D1 Mini WiFi модулун кантип колдонуу керек Blynkти колдонуу менен ESP8266 + 18650: 10 кадам
Wemos ESP-Wroom-02 D1 Mini WiFi модулун кантип колдонуу керек Blynkти колдонуу менен ESP8266 + 18650: Мүнөздөмөсү: nodemcu 18650 кубаттоо тутумунун интеграциясы менен шайкеш келет. туташтыргычы уйку режиминде колдонулушу мүмкүн · 1 кошуу
Blynkти колдонуу менен Arduino WeMos D1 WiFi UNO ESP8266 IOT IDEге шайкеш келген тактаны кантип колдонуу керек: 10 кадам
Blynkти колдонуу менен Arduino WeMos D1 WiFi UNO ESP8266 IOT IDEге шайкеш келген тактаны кантип колдонсо болот: Arduino WeMos D1 WiFi UNO ESP8266 IOT IDE Compatible Board Description: Description: WiFi ESP8266 Development Board WEMOS D1. WEMOS D1 - ESP8266 12Eге негизделген WIFI өнүктүрүү тактасы. Иштөө тутуму NODEMCUга окшош, бирок аппараттык жабдуулар бузулган