Агуулгын хүснэгт:
- Алхам 1: MQTT гэж юу вэ, энэ нь хэрхэн ажилладаг талаар
- Алхам 2: Raspberry Pi
- Алхам 3: Статик IP хаягийг хэрхэн яаж тохируулах вэ
- Алхам 4: NodeMCU
- Алхам 5: Python скрипт
- Алхам 6: Холболт ба хэлхээний диаграм
- Алхам 7: Үр дүн
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:04
Энэхүү төсөлд би 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 -д шаардлагатай кодыг байршуулж, сервер болон үйлчлүүлэгч талаас LED -ийг удирдахын тулд python скриптийг ажиллуулдаг. Энд сервер нь RPi бөгөөд үйлчлүүлэгч нь NodeMCU юм.
Алхам 2: Raspberry Pi
1. Хамгийн сүүлийн үеийн MQTT сервер болон клиентийг RPi дээр суулгахын тулд шинэ репозиторыг ашиглахын тулд та эхлээд репозиторийн багц гарын үсэг зурах түлхүүрийг импортлох хэрэгтэй.
wget https://repo.mosquitto.org/debian/mosquitto-repo.gpg.keysudo apt-key нэмэх шумуул-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 шумуул суулгах
Хэрэв та ийм шумуул суулгахад алдаа гарвал.
#################################################################
Дараах багцууд хангагдаагүй хамааралтай байна: шумуул: Хамаарна: libssl1.0.0 (> = 1.0.1) гэхдээ үүнийг суулгах боломжгүй Хамаарах: libwebsockets3 (> = 1.2) гэхдээ үүнийг суулгах боломжгүй E: Асуудлыг засах боломжгүй, та эвдэрсэн байна багцууд.
#################################################################
Дараа нь асуудлыг шийдэхийн тулд энэ тушаалыг ашиглана уу.
sudo apt-засварласан эвдэрсэн суулгалт
5. MQTT серверийг суулгасны дараа командыг ашиглан клиент суулгана уу
sudo apt-get шумуул үйлчлүүлэгчдийг суулгаарай
Та командын тусламжтайгаар үйлчилгээг шалгаж болно.
systemctl status шумуул.үйлчилгээ
Манай MQTT сервер болон үйлчлүүлэгчийг суулгасан болно. Одоо бид захиалах, нийтлэх ашиглан үүнийг шалгаж болно. Бүртгүүлэх, нийтлэхийн тулд та командыг шалгаж эсвэл доорх вэбсайтад зочилж болно.
Шумуулын дэд
Шумуулын паб
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
Үүний дараа хадгалаад 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 скрипт
Дээр дурдсанчлан бид товчлуур ашиглан leds -ийг удирдах python скрипт хэрэгтэй. Тиймээс бид скрипт үүсгэх гэж байна. Дээрх скриптийг өгсөн болно.
Скриптийг ажиллуулахад таны скрипт зураг дээр үзүүлсэн шиг байх ёстой, хэрэв үр дүнгийн код тэг биш бол тэдгээрийн алдаа бол 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: Үр дүн
Скрипт ажиллаж байгаа эсэхийг шалгаарай, эс бөгөөс энэ нь товчлуур ашиглан удирдагчийг удирдах боломжгүй болно.
Зөвлөмж болгож буй:
Санта Blowmold ярьж байна: 5 алхам
Санта Блоулмолд ярьж байна: Энэ төсөл нь хэн нэгэн хажуугаар өнгөрөхөд дууны файл тоглодог чимэглэлийг хэрхэн хийхийг тайлбарласан болно. Үүнийг Motion програмыг ажиллуулж чаддаг компьютер, ямар нэгэн төрлийн камер ашиглан хялбархан хийж болно. Энэ тохиолдолд би 20 " өндөр Санта Клаус
Тоглоомын талбайн экспресс ашиглан ярьж буй малгайг сэгсрэх: 12 алхам (зурагтай)
Тоглоомын талбайн экспресс ашиглан ярьж буй малгайг сэгсэрнэ үү: Энэхүү хялбар бөгөөд хурдан заавар нь ярих малгай хийхийг танд заадаг! Энэ нь таныг асуулт асуухад анхааралтай боловсруулсан хариултаар хариулах бөгөөд магадгүй танд санаа зовох юм уу асуудал байгаа эсэхийг шийдэхэд тань туслах болно. Wearable Tech ангидаа би
LM386 ашиглан Arduino текстээс ярианы хөрвүүлэгч - Ярьж буй Arduino төсөл - Talkie Arduino номын сан: 5 алхам
LM386 ашиглан Arduino текстээс ярианы хөрвүүлэгч | Ярьж буй Arduino төсөл | Talkie Arduino номын сан: Сайн байна уу, залуус аа, олон төслийн хувьд бид Arduino -аас цагийг ярих эсвэл зарим өгөгдлийг хэлэх гэх мэт зүйлийг ярихыг шаарддаг бөгөөд ингэснээр бид Arduino ашиглан текстийг яриа болгон хөрвүүлэх болно
Neopixel Ws2812 Солонго солонгоруулагч LED нь M5stick-C - M5stack M5stick C ашиглан Arduino IDE ашиглан Neopixel Ws2812 дээр Солонго ажиллуулж байна: 5 алхам
Neopixel Ws2812 Солонго солонгоруулагч LED нь M5stick-C | Neopixel Ws2812 дээр солонго ажиллуулах нь M5stack M5stick C ашиглан Arduino IDE-ийг ашиглана уу: Сайн байна уу залуусаа энэ зааварчилгаанд бид Arduino IDE ашиглан m5stack m5stick-C хөгжүүлэлтийн самбар бүхий neopixel ws2812 LED эсвэл LED тууз эсвэл LED матриц эсвэл LED цагираг ашиглах талаар сурах болно. түүнтэй хамт солонгын загвар
Ярьж буй Ардуино - Ямар ч модульгүй Arduino ашиглан MP3 тоглуулах - PCM ашиглан Arduino -аас Mp3 файл тоглуулах: 6 алхам
Ярьж буй Ардуино | Ямар ч модульгүй Arduino ашиглан MP3 тоглуулах | PCM ашиглан Arduino -аас Mp3 файл тоглуулах: Энэхүү зааварчилгаанд бид ямар ч аудио модуль ашиглахгүйгээр mp3 файлыг arduino ашиглан хэрхэн тоглуулах талаар сурах болно, энд бид 8 кГц давтамжтай 16 битийн PCM тоглодог Arduino -д зориулсан PCM номын санг ашиглах болно