Мазмұны:
- 1 -қадам: MQTT деген не және ол қалай жұмыс істейді
- 2 -қадам: Raspberry Pi
- 3 -қадам: статикалық IP мекенжайын қалай орнату керек
- 4 -қадам: NodeMCU
- 5 -қадам: Python сценарийі
- 6 -қадам: Қосылымдар мен схема диаграммасы
- 7 -қадам: Нәтиже
Бейне: Raspberry Pi ESP8266 MQTT көмегімен сөйлеседі: 8 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:26
Бұл жобада мен MQTT протоколының не екенін және ол құрылғылар арасында қалай байланысуға болатынын түсіндіремін, содан кейін практикалық демонстрация ретінде мен клиент пен брокер жүйесін қалай орнату керектігін көрсетемін, онда ESP8266 модулі, сондай -ақ RPi сөйлесу бір -біріне хабар жіберу немесе түйме басылған кезде хабар жіберу.
Қажетті материал
1. Таңқурай Pi 3
2. NodeMCU
3. Жарық диоды
4. Түйме
5. Резисторлар (10к, 475 Ом)
1 -қадам: MQTT деген не және ол қалай жұмыс істейді
MQTT
MQTT-бұл машинадан машинаға (M2M) деректерді беру хаттамасы. MQTT көптеген құрылғылардан деректерді жинау, содан кейін бұл ақпаратты IT инфрақұрылымына тасымалдау мақсатында құрылған. Бұл жеңіл, сондықтан қашықтан бақылау үшін өте ыңғайлы, әсіресе 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 apt-key қосу mosquitto-repo.gpg.key
2. Репозиторийді apt үшін қол жетімді етіңіз.
cd /etc/apt/sources.list.d/
3. Сіз Debian қай нұсқасын қолданатындығыңызға байланысты.
sudo wget https://repo.mosquitto.org/debian/mosquitto-wheezy.listsudo wget
sudo wget
sudo apt-get жаңартуы
4. Mosquitto серверін пәрмен арқылы орнатыңыз.
sudo apt-get mosquitto орнатыңыз
Егер сіз Mosquitto бағдарламасын орнатуда қате алсаңыз.
#################################################################
Келесі пакеттерде орындалмаған тәуелділіктер бар: москит: тәуелді: libssl1.0.0 (> = 1.0.1), бірақ оны орнату мүмкін емес тәуелді: libwebsockets3 (> = 1.2), бірақ оны орнату мүмкін емес E: ақауларды түзету мүмкін емес, сіз бұзылған күйде қалдыңыз пакеттер.
#################################################################
Содан кейін ақауларды жою үшін осы пәрменді пайдаланыңыз.
sudo apt-түзету бұзылған орнату
5. MQTT серверін орнатқаннан кейін клиентті пәрмен арқылы орнатыңыз
sudo apt-get москит-клиенттерді орнатыңыз
Команданың көмегімен қызметтерді тексеруге болады.
systemctl күйі mosquitto.service
Біздің 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_adress = 192.168.1.68
статикалық маршрутизаторлар = 192.168.1.1 // сіздің әдепкі шлюз
static domain_name_servers = 192.168.1.1
Осыдан кейін оны сақтап, pi -ді қайта жүктеңіз.
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 сценарийі
Жоғарыда талқылағанымдай, бізге LED көмегімен түймелерді басқару үшін питон сценарийі қажет. Сонымен, біз сценарий құрамыз. Сценарий жоғарыда берілген.
Сценарийді іске қосқанда, сіздің сценарийіңіз суретте көрсетілгендей болуы керек, егер нәтиже коды нөлге тең болмаса, онда олар қате болып табылады, сіз paho веб -сайтындағы қатені тексере аласыз.
6 -қадам: Қосылымдар мен схема диаграммасы
Түйменің интерфейсі, NodeMCU бар жарық диоды
NodeMCU ===> ButtonGnd ===> Gnd
3.3V ===> PIN1
GPIO4 (D2) ===> PIN2
NodeMCU ===> жарық диоды
Gnd ===> Катод (-ve)
GPIO5 (D1) ===> Анод (+ve)
Түйменің интерфейсі, RPi бар жарық диоды
RPi ===> ButtonGnd ===> PIN1
GPIO 23 ===> PIN2
RPi ===> жарық диоды
Gnd ==> Катод (-ve)
GPIO 24 ===> Анод (+ve)
7 -қадам: Нәтиже
Сценарийдің жұмыс істеп тұрғанына көз жеткізіңіз, әйтпесе ол түймешіктердің көмегімен светодиодты басқара алмайды.
Ұсынылған:
Uno бар ESP8266 WeMos D1 R1 Wifi процессорының көмегімен ESP32-Cam көмегімен суретке түсіру және жіберу: 7 қадам
ESP32 камерамен суреттерді түсіру және жіберу ESP8266 WeMos D1 R1 Wifi процессоры Uno көмегімен: ESP8266 WeMos D1 R1 WiFI процессоры көмегімен ESP32-Cam (OV2640) көмегімен суретке түсіру және оны электрондық поштаға жіберу, Google Drive-қа сақтау және оны жіберу Twilio арқылы Whatsapp. Талаптар: Uno бар ESP8266 WeMos D1 R1 WiFI процессоры (https: // протосуплистер
Интернет сағаты: NTP протоколы бар ESP8266 NodeMCU көмегімен OLED көмегімен күн мен уақытты көрсету: 6 қадам
Интернет сағаты: NTP протоколы бар ESP8266 NodeMCU көмегімен OLED көмегімен күн мен уақытты көрсету: Сәлеметсіз бе, балалар, біз интернеттен уақыт алатын интернет сағатын құрамыз, сондықтан бұл жобаны іске қосу үшін RTC қажет емес, оған тек қажет. жұмыс істейтін интернет байланысы Бұл жоба үшін сізге esp8266 қажет, ол
ESP8266 көмегімен Интернеттен уақыт алу - ESP8266 Nodemcu көмегімен NTP сағаты жобасы: 5 қадам
ESP8266 көмегімен Интернеттен уақыт алу | ESP8266 Nodemcu көмегімен NTP сағаттары жобасы: Бұл оқулықта біз Arduino IDE көмегімен ESP8266/nodemcu көмегімен уақытты қалай алуға болатынын көреміз. Уақытты алу, әсіресе, оқылымдардың уақыт белгісін қою үшін деректерді тіркеуде пайдалы. Егер сіздің ESP8266 жобаңызда Интернетке кіру мүмкіндігі болса, сіз Network T арқылы уақыт ала аласыз
MQTT -ті Raspberry Pi және ESP8266/sonoff көмегімен қалай қолдануға болады: 4 қадам
MQTT -ді Raspberry Pi және ESP8266/sonoff көмегімен қалай қолдануға болады: Сәлем баршаңызға! Бүгін мен сіздерге таңқурай pi мен ESP8266 негізіндегі sonoff wifi реле қосқышын әлемнің кез келген нүктесінен басқару үшін конфигурациялауды көрсетемін. Егер сіз менің нұсқаулығымды мұқият орындасаңыз, бұл нұсқаулық
MQTT -ді Raspberry Pi және ESP8266 көмегімен қалай қолдануға болады: 8 қадам (суреттермен)
MQTT -ті Raspberry Pi және ESP8266 көмегімен қалай қолдануға болады: Бұл нұсқаулықта мен MQTT протоколы не екенін және оның құрылғылар арасында қалай байланысуға болатынын түсіндіремін, содан кейін практикалық демонстрация ретінде мен сізге қарапайым екеуін қалай орнату керектігін көрсетемін. клиенттік жүйе, онда ESP8266 модулі хабарлама жібереді