Esp8266 ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π· ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» MQTT

Esp8266 ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π· ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» MQTT
Π—Π΄Ρ€Π°Π²Π΅ΠΉΡ‚Π΅ Π½Π° всички! Π’ Ρ‚Π°Π·ΠΈ статия Ρ‰Π΅ бъдС ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ обяснСно ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΠΊΠ°ΠΊ Π±ΡƒΠΊΠ²Π°Π»Π½ΠΎ Π·Π° 20 ΠΌΠΈΠ½ΡƒΡ‚ΠΈ свободно Π²Ρ€Π΅ΠΌΠ΅ Π΄Π° настроитС дистанционно ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΠΎΠ΄ΡƒΠ»Π° esp8266 с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π° Android ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» MQTT.

Π˜Π΄Π΅ΡΡ‚Π° Π·Π° дистанционно ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ Π²ΠΈΠ½Π°Π³ΠΈ Π΅ Π²ΡŠΠ»Π½ΡƒΠ²Π°Π»Π° ΡƒΠΌΠΎΠ²Π΅Ρ‚Π΅ Π½Π° Π·Π°ΠΏΠ°Π»Π΅Π½ΠΈΡ‚Π΅ ΠΏΠΎ Π΅Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½ΠΈΠΊΠ° ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅. Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΈΠ»ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‚ΠΈΡ‚Π΅ Π½ΡƒΠΆΠ½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ ΠΏΠΎ всяко Π²Ρ€Π΅ΠΌΠ΅, нСзависимо ΠΎΡ‚ Π²Π°ΡˆΠ΅Ρ‚ΠΎ мСстополоТСниС, ΠΏΡ€Π΅Π΄Π»Π°Π³Π° ΡˆΠΈΡ€ΠΎΠΊΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ. Π’ ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½ΠΈΡ‚Π΅ си статии ( Бтатия 1 ΠΈ Бтатия 2) сС ΠΎΠΏΠΈΡ‚Π°Ρ… Π΄Π° Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌ няколко Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΈ ΠΈ относитСлно простички Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° Π·Π° рСализация Π½Π° дистанционно ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΠΈ ΠΏΡ€Π΅Π· ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚. Но Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ ΠΈ ΡΠ²Π΅Ρ‚ΡŠΡ‚ Π½Π΅ стоят Π½Π° място – ΠΏΡ€ΠΎΠ³Ρ€Π΅ΡΡŠΡ‚ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π° своСто Π½Π΅ΡƒΠΌΠΎΠ»ΠΈΠΌΠΎ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π½Π°ΠΏΡ€Π΅Π΄. Π—Π° Ρ‚ΠΎΠ·ΠΈ ΠΊΡ€Π°Ρ‚ΡŠΠΊ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ ΠΌΠΎΠ΄ΡƒΠ»ΡŠΡ‚ esp8266 ΠΏΡ€ΠΈΠ΄ΠΎΠ±ΠΈ ΡˆΠΈΡ€ΠΎΠΊΠ° популярност, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ, Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° ниската си Ρ†Π΅Π½Π° ΠΈ Π²Π³Ρ€Π°Π΄Π΅Π½ΠΎΡ‚ΠΎ wi-fi, стана Π΅Π΄ΠΈΠ½ ΠΎΡ‚ основнитС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ Π½Π° "Умния Π΄ΠΎΠΌ".

Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° MQTT Π΅ Π½Π°ΠΉ-ΡΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈΡΡ‚ ΠΈ Π½Π°ΠΉ-популярният ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π·Π° ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΡ‚Π΄Π΅Π»Π½ΠΈΡ‚Π΅ устройства Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° систСмитС "Π£ΠΌΠ΅Π½ Π΄ΠΎΠΌ". Π’ΠΎΠΉ ΠΏΡ€Π΅Π΄Π»Π°Π³Π° Ρ€Π΅Π΄ΠΈΡ†Π° прСдимства ΠΏΡ€Π΅Π΄ Π΄Ρ€ΡƒΠ³ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΈ:
β€” ниска консумация Π½Π° Ρ‚Ρ€Π°Ρ„ΠΈΠΊ;
β€” Π²Ρ€ΡŠΠ·ΠΊΠ°Ρ‚Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈ ΡΡŠΡ€Π²ΡŠΡ€Π° Π²ΠΈΠ½Π°Π³ΠΈ Π΅ ΠΎΡ‚Π²ΠΎΡ€Π΅Π½Π°;
β€” Π½Π΅ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π° ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ ΠΊΠ°Π½Π°Π»Π°;
β€” липса Π½Π° забавянС ΠΏΡ€ΠΈ ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ;
β€” ΡƒΠ΄ΠΎΠ±Π½Π° систСма Π·Π° Π°Π±ΠΎΠ½Π°ΠΌΠ΅Π½Ρ‚ΠΈ Π·Π° Ρ‚Π΅ΠΌΠΈ;
Всичко Ρ‚ΠΎΠ²Π° позволява ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² Ρ€Π΅Π°Π»Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π° MQTT изисква Π½Π°Π»ΠΈΡ‡ΠΈΠ΅Ρ‚ΠΎ Π½Π° собствСн ΡΡŠΡ€Π²ΡŠΡ€, ΠΊΠΎΠΉΡ‚ΠΎ Π΄Π° ΠΈΠ³Ρ€Π°Π΅ ролята Π½Π° посрСдник ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈΡ‚Π΅ Π² ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°. Π’ΡƒΠΊ ΠΈΠΌΠ° Π΄Π²Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°: ΠΈΠ»ΠΈ Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ свой собствСн ΡΡŠΡ€Π²ΡŠΡ€, ΠΈΠ»ΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ външни услуги.

ΠžΠΏΠΈΡΠ²Π°Π½Π°Ρ‚Π° систСма Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ сС ΡΡŠΡΡ‚ΠΎΠΈ ΠΎΡ‚ Π΄Π²Π΅ основни части: MQTT ΡΡŠΡ€Π²ΡŠΡ€ (ΠΊΠΎΠΉΡ‚ΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π΅ Π΅Π΄ΠΈΠ½) ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ доста ΠΌΠ½ΠΎΠ³ΠΎ. Π’ нашия случай ΠΊΠ°Ρ‚ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ Ρ‰Π΅ дСйства ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Android ΠΈ самият ΠΌΠΎΠ΄ΡƒΠ» esp8266.

ΠΠ»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΡŠΡ‚ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° систСмата Π΅ слСдният. ΠšΠ»ΠΈΠ΅Π½Ρ‚ΠΈΡ‚Π΅ сС ΡΠ²ΡŠΡ€Π·Π²Π°Ρ‚ със ΡΡŠΡ€Π²ΡŠΡ€Π° ΠΈ Π²Π΅Π΄Π½Π°Π³Π° слСд ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅Ρ‚ΠΎ всСки ΠΎΡ‚ тях ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° Π°Π±ΠΎΠ½Π°ΠΌΠ΅Π½Ρ‚ Π·Π° интСрСсуващитС Π³ΠΎ Ρ‚Π΅ΠΌΠΈ. Всичкото ΠΎΠ±Ρ‰ΡƒΠ²Π°Π½Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈΡ‚Π΅ ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π° Ρ‚Ρ€Π°Π½Π·ΠΈΡ‚ΠΎΠΌ ΠΏΡ€Π΅Π· ΡΡŠΡ€Π²ΡŠΡ€Π°, ΠΊΠΎΠΉΡ‚ΠΎ прСнасочва Π΄Π°Π½Π½ΠΈ към Π΄Ρ€ΡƒΠ³ΠΈΡ‚Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ с ΠΎΠ³Π»Π΅Π΄ Π½Π° Ρ‚Π΅Ρ…Π½ΠΈΡ‚Π΅ Π°Π±ΠΎΠ½Π°ΠΌΠ΅Π½Ρ‚ΠΈ.

MQTT ΡΡŠΡ€Π²ΡŠΡ€.

Π’ нашия случай Ρ‰Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΡƒΠ΄ΠΎΠ±Π΅Π½ сСрвис www.cloudmqtt.com ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΡ€Π΅Π΄Π»Π°Π³Π° Π±Π΅Π·ΠΏΠ»Π°Ρ‚Π΅Π½ Ρ‚Π°Ρ€ΠΈΡ„Π΅Π½ ΠΏΠ»Π°Π½ (Cute Cat), ΠΊΠΎΠΉΡ‚ΠΎ напълно Ρ‰Π΅ ΠΏΠΎΠΊΡ€ΠΈΠ΅ Π½ΡƒΠΆΠ΄ΠΈΡ‚Π΅ Π·Π° Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΌΠ°Π»ΠΊΠ° собствСна систСма Π·Π° "умния Π΄ΠΎΠΌ".
Esp8266 ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π· ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» MQTT
НСка сС рСгистрирамС Π½Π° сайта ΠΈ Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ ΡΡŠΡ€Π²ΡŠΡ€Π°. ΠŸΡ€ΠΈ настройката Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈΡ‚Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° стандартСн ΠΏΠΎΡ€Ρ‚ (Π±Π΅Π· SSL ΠΈ TLS).
Esp8266 ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π· ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» MQTT

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π° Android.

ΠΠ°ΡˆΠ΅Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ‰Π΅ слуТи ΠΊΠ°Ρ‚ΠΎ дистанционно ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€Π°, Π° ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Ρ‰Π΅ ΠΏΡ€ΠΈΠ΅ΠΌΠ° ΠΈ ΠΏΠΎΠΊΠ°Π·Π²Π° цялата информация ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π° ΠΎΡ‚ esp8266.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ сС Π½Π°Ρ€ΠΈΡ‡Π° IoT MQTT Dashboard ΠΈ прСдставлява Π³ΠΎΡ‚ΠΎΠ² mqtt ΠΊΠ»ΠΈΠ΅Π½Ρ‚ с ΠΌΠ°Π»ΠΊΠΎ количСство ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΈ Π΄ΠΆΠ°Π΄ΠΆΠΈ. По-ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ във Π²ΠΈΠ΄Π΅ΠΎΡ‚ΠΎ.

Esp8266.

ΠœΠΎΠ΄ΡƒΠ»ΡŠΡ‚ сС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π° Π² срСда Arduino, ΠΎΠ±Π°Ρ‡Π΅ искам Π΄Π° ΠΎΡ‚Π±Π΅Π»Π΅ΠΆΠ°, Ρ‡Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŠΡ‚ ΠΈΠΌΠ° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ с Ρ„Π»Π°ΡˆΠ²Π°Π½Π΅Ρ‚ΠΎ Π² послСднитС вСрсии Π½Π° Arduino, Π·Π°Ρ‚ΠΎΠ²Π° ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π²Π°ΠΌ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° вСрсия 1.6.4.
Π—Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, към esp8266 са ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ свСтодиод (5-Ρ‚ΠΈ ΠΏΠΈΠ½) ΠΈ сСнзор Π·Π° Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π° ds18b20 (2-Ρ€ΠΈ ΠΏΠΈΠ½).
Въй ΠΊΠ°Ρ‚ΠΎ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° свСтодиода Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ Π΄Π°Π½Π½ΠΈ, слСд ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅Ρ‚ΠΎ esp трябва Π΄Π° сС Π°Π±ΠΎΠ½ΠΈΡ€Π° Π·Π° ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΈΡ Ρ‚ΠΎΠΏΠΈΠΊ "test/led", Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π΅Π½ случай всички ΠΈΠ·ΠΏΡ€Π°Ρ‚Π΅Π½ΠΈ Π΄Π°Π½Π½ΠΈ Ρ‰Π΅ ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Ρ‚ ΠΏΠΎΠΊΡ€Π°ΠΉ нашия ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€.
Π—Π° ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ Π·Π° Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π°, Π°Π±ΠΎΠ½Π°ΠΌΠ΅Π½Ρ‚ Π½Π΅ Π΅ Π½ΡƒΠΆΠ΅Π½, Π½ΠΎ ΠΏΡ€ΠΈ ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° стойности Π½Π° Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π°Ρ‚Π° Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° сС посочи Ρ‚ΠΎΠΏΠΈΠΊΠ°, Π² ΠΊΠΎΠΉΡ‚ΠΎ Ρ‚Π΅Π·ΠΈ Π΄Π°Π½Π½ΠΈ Ρ‰Π΅ ΠΎΡ‚ΠΈΠ΄Π°Ρ‚.

По-Π΄ΠΎΠ»Ρƒ Π΅ Π΄Π°Π΄Π΅Π½ скСтч с ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΈ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈ.

Π‘ΠΊΠ΅Ρ‚Ρ‡ Esp8266_mqtt.ino// Π‘Π²Π΅Ρ‚ΠΎΠ΄ΠΈΠΎΠ΄ ΠΏΠΎΠ΄Π»ΠΊΡŽΡ‡Π΅Π½ ΠΊ 5 ΠΏΠΈΠ½Ρƒ
// Π”Π°Ρ‚Ρ‡ΠΈΠΊ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ ds18b20 ΠΊ 2 ΠΏΠΈΠ½Ρƒ

#include <ESP8266WiFi.h>
#include <PubSubClient.h>
#include <OneWire.h>
#include <DallasTemperature.h>

#define ONE_WIRE_BUS 2
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

const char *ssid = "AIRPORT"; // ИмС Π½Π° WiFi ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°
const char *pass = "PASSWORD"; // ΠŸΠ°Ρ€ΠΎΠ»Π°Ρ‚Π° Π·Π° ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°

const char *mqtt_server = "server"; // ИмС Π½Π° MQTT ΡΡŠΡ€Π²Π΅Ρ€Π°
const int mqtt_port = 11140; // ΠŸΠΎΡ€Ρ‚ Π·Π° ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ с MQTT ΡΡŠΡ€Π²Π΅Ρ€Π°
const char *mqtt_user = "Login"; // Π›ΠΎΠ³ΠΈΠ½ Π·Π° ΡΡŠΡ€Π²Π΅Ρ€Π°
const char *mqtt_pass = "Pass"; // ΠŸΠ°Ρ€ΠΎΠ»Π°Ρ‚Π° Π·Π° ΡΡŠΡ€Π²Π΅Ρ€Π°

#define BUFFER_SIZE 100

bool LedState = false;
int tm=300;
float temp=0;

// Ѐункция получСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ‚ сСрвСра

void callback(const MQTT::Publish& pub)
{
Serial.print(pub.topic()); // ΠΈΠ·Π²Π΅ΠΆΠ΄Π°ΠΌΠ΅ Π² сСриСн ΠΏΠΎΡ€Ρ‚ ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° Ρ‚ΠΎΠΏΠΈΠΊΠ°
Serial.print(" => ");
Serial.print(pub.payload_string()); // ΠΈΠ·Π²Π΅ΠΆΠ΄Π°ΠΌΠ΅ Π² сСриСн ΠΏΠΎΡ€Ρ‚ стойността Π½Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ

String payload = pub.payload_string();

if(String(pub.topic()) == "test/led") // провСрявамС Π΄Π°Π»ΠΈ Π΄Π°Π½Π½ΠΈΡ‚Π΅ ΠΈΠ΄Π²Π°Ρ‚ ΠΎΡ‚ нуТния Π½ΠΈ Ρ‚ΠΎΠΏΠΈΠΊ
{
int stled = payload.toInt(); // ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°ΠΌΠ΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ Π² Ρ‚ΠΈΠΏ integer
digitalWrite(5,stled); // Π²ΠΊΠ»ΡŽΡ‡Π²Π°ΠΌΠ΅ ΠΈΠ»ΠΈ ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π²Π°ΠΌΠ΅ свСтодиода Π² зависимост ΠΎΡ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΡ‚Π΅ стойности
}
}

WiFiClient wclient;
PubSubClient client(wclient, mqtt_server, mqtt_port);

void setup() {

sensors.begin();
Serial.begin(115200);
delay(10);
Serial.println();
Serial.println();
pinMode(5, OUTPUT);
}

void loop() {
// ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡΡ ΠΊ wi-fi
if (WiFi.status() != WL_CONNECTED) {
Serial.print("Π‘Π²ΡŠΡ€Π·Π²Π°Π½Π΅ с ");
Serial.print(ssid);
Serial.println("...");
WiFi.begin(ssid, pass);

if (WiFi.waitForConnectResult() != WL_CONNECTED)
return;
Serial.println("WiFi Π²Ρ€ΡŠΠ·ΠΊΠ°Ρ‚Π° Π΅ установСна");
}

// ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡΡ ΠΊ MQTT сСрвСру
if (WiFi.status() == WL_CONNECTED) {
if (!client.connected()) {
Serial.println("Π‘Π²ΡŠΡ€Π·Π²Π°Π½Π΅ с MQTT ΡΡŠΡ€Π²ΡŠΡ€Π°");
if (client.connect(MQTT::Connect("arduinoClient2")
.set_auth(mqtt_user, mqtt_pass))) {
Serial.println("Π‘Π²ΡŠΡ€Π·Π°Π½ΠΈ с MQTT ΡΡŠΡ€Π²ΡŠΡ€Π°");
client.set_callback(callback);
client.subscribe("test/led"); // подписвамС сС ΠΏΠΎ Ρ‚ΠΎΠΏΠΈΠΊ с Π΄Π°Π½Π½ΠΈ Π·Π° свСтодиода
} else {
Serial.println("НС успяхмС Π΄Π° сС ΡΠ²ΡŠΡ€ΠΆΠ΅ΠΌ с MQTT ΡΡŠΡ€Π²ΡŠΡ€Π°");
}
}

if (client.connected()){
client.loop();
TempSend();
}

}
} // ΠΊΡ€Π°ΠΉ Π½Π° основния Ρ†ΠΈΠΊΡŠΠ»

// Ѐункция ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΠΉ с Ρ‚Π΅Ρ€ΠΌΠΎΠ΄Π°Ρ‚Ρ‡ΠΈΠΊΠ°
void TempSend(){
if (tm==0)
{
sensors.requestTemperatures(); // ΠΎΡ‚ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ стойността Π½Π° Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π°Ρ‚Π°
float temp = sensors.getTempCByIndex(0);
client.publish("test/temp",String(temp)); // ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°ΠΌΠ΅ Π² Ρ‚ΠΎΠΏΠΈΠΊ Π·Π° Ρ‚Π΅Ρ€ΠΌΠΎΠ΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° стойността Π½Π° Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π°Ρ‚Π°
Serial.println(temp);
tm = 300; // ΠΏΠ°ΡƒΠ·Π° ΠΌΠ΅ΠΆΠ΄Ρƒ изпращанията Π½Π° стойности Π½Π° Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π°Ρ‚Π° ΠΎΠΊΠΎΠ»ΠΎ 3 сСкунди
}
tm--;
delay(10);
}

Π’ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ ΡƒΠ΄ΠΎΠ±Π΅Π½ инструмСнт Π·Π° дистанционно ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ Π½Π° Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ доста прост Π·Π° овладяванС ΠΈ Ρ‰Π΅ бъдС ΠΏΠΎ силитС Π΄ΠΎΡ€ΠΈ Π½Π° Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‰ΠΈ.

Π’ΠΈΠ΄Π΅ΠΎ с дСмонстрация Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ

ΠŸΡƒΡΠ½Π΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅ΠΎΡ‚ΠΎ

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π° видСоинструкция Π·Π° настройка Π½Π° систСмата

ΠŸΡƒΡΠ½Π΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅ΠΎΡ‚ΠΎ

Π•Π΄ΠΈΠ½ ΠΎΡ‚ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΈΡ‚Π΅ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° esp8266 Ρ‡Ρ€Π΅Π· MQTT ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»

ΠŸΡƒΡΠ½Π΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅ΠΎΡ‚ΠΎ

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° свСтодиодната Π»Π΅Π½Ρ‚Π° ΠΏΡ€Π΅Π· ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚

ΠŸΡƒΡΠ½Π΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅ΠΎΡ‚ΠΎ

Ако ΠΈΠΌΠ°Ρ‚Π΅ Π²ΡŠΠΏΡ€ΠΎΡΠΈ относно Ρ‚ΠΎΠ·ΠΈ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π», Π²ΠΈ ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π²Π°ΠΌ Π΄Π° Π³Π»Π΅Π΄Π°Ρ‚Π΅ Π²Ρ‚ΠΎΡ€Π°Ρ‚Π° част Π½Π° Π²ΠΈΠ΄Π΅ΠΎΡ‚ΠΎ, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΡŠΡ‚ Π΅ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ ΠΏΠΎ-ясно.

Π’ Π°Ρ€Ρ…ΠΈΠ²Π° сС Π½Π°ΠΌΠΈΡ€Π°Ρ‚ ΡΠΊΠ΅Ρ‡ΡŠΡ‚ ΠΈ всички Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π·Π° Ρ„Π»Π°ΡˆΠ²Π°Π½Π΅ Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€Π° със скСча ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°.
ΠžΠ±ΡŠΡ€Π½Π΅Ρ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° ESP8266WiFi.h Π½Π΅ Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π² Ρ‚ΠΎΠ·ΠΈ Π°Ρ€Ρ…ΠΈΠ², тя сС инсталира Ρ‡Ρ€Π΅Π· Boards manager Π² срСдата Π½Π° Arduino.

АРΠ₯Π˜Π’

MQTT ΡΡŠΡ€Π²ΡŠΡ€ β€” www.cloudmqtt.com

Π’Ρ€ΡŠΠ·ΠΊΠ° към ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ IoT MQTT Dashboard β€” play.google.com/store/apps/details?id=com.thn.iotmqttdashboard&hl=ru

Благодаря Π½Π° всички Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅Ρ‚ΠΎ.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster