Мазмұны:

Raspberry Pi ESP8266 MQTT көмегімен сөйлеседі: 8 қадам
Raspberry Pi ESP8266 MQTT көмегімен сөйлеседі: 8 қадам

Бейне: Raspberry Pi ESP8266 MQTT көмегімен сөйлеседі: 8 қадам

Бейне: Raspberry Pi ESP8266 MQTT көмегімен сөйлеседі: 8 қадам
Бейне: Погодная станция на ESP8266, MQTT и Epaper дисплее 2024, Қараша
Anonim
Raspberry Pi MQTT көмегімен ESP8266 -мен сөйлесуде
Raspberry Pi MQTT көмегімен ESP8266 -мен сөйлесуде

Бұл жобада мен 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

Raspberry Pi
Raspberry Pi
Raspberry Pi
Raspberry Pi
Raspberry Pi
Raspberry Pi
Raspberry Pi
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 мекенжайын қалай орнату керек

Статикалық IP мекенжайын қалай орнатуға болады
Статикалық 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
NodeMCU
NodeMCU
NodeMCU
NodeMCU
NodeMCU
NodeMCU
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 сценарийі

Python сценарийі
Python сценарийі
Python сценарийі
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 -қадам: Нәтиже

Image
Image
Нәтиже
Нәтиже

Сценарийдің жұмыс істеп тұрғанына көз жеткізіңіз, әйтпесе ол түймешіктердің көмегімен светодиодты басқара алмайды.

Ұсынылған: