Π£ΠΌΠ½ΠΎΠ΅ Ρ€Π΅Π»Π΅ Π½Π° ESP8266 ΠΈ MQTT: ΠΏΠΎΠ»Π½ΠΎΠ΅ руководство ΠΏΠΎ сборкС

БоврСмСнная автоматизация ΠΆΠΈΠ»ΠΈΡ‰Π° Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° Π±Π΅Π· Π½Π°Π΄Π΅ΠΆΠ½Ρ‹Ρ… ΠΈ Π΄Π΅ΡˆΠ΅Π²Ρ‹Ρ… ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ², срСди ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ESP8266 Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π»ΠΈΠ΄ΠΈΡ€ΡƒΡŽΡ‰ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ благодаря своСй доступности ΠΈ встроСнному ΠΌΠΎΠ΄ΡƒΠ»ΡŽ Wi-Fi. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ собствСнного устройства для ΠΊΠΎΠΌΠΌΡƒΡ‚Π°Ρ†ΠΈΠΈ Π½Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ позволяСт Π½Π΅ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ ΠΏΡ€ΠΎΠΏΡ€ΠΈΠ΅Ρ‚Π°Ρ€Π½Ρ‹Ρ… ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Ρ… сСрвисов китайских ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ, сохраняя ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ° систСмы. ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» MQTT Π² связкС с этим Ρ‡ΠΈΠΏΠΎΠΌ обСспСчиваСт лСгковСсный ΠΈ быстрый ΠΎΠ±ΠΌΠ΅Π½ сообщСниями, Ρ‡Ρ‚ΠΎ критичСски Π²Π°ΠΆΠ½ΠΎ для ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ свСта ΠΈΠ»ΠΈ Π±Ρ‹Ρ‚ΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΈΠ±ΠΎΡ€ΠΎΠ².

Π’Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΎΠΉ систСмы Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ понимания Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ части, Π½ΠΎ ΠΈ ΠΏΡ€Π°Π²ΠΈΠ» элСктробСзопасности, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π° вСдСтся с сСтСвым напряТСниСм 220 Π²ΠΎΠ»ΡŒΡ‚. ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ Π³Π°Π»ΡŒΠ²Π°Π½ΠΈΡ‡Π΅ΡΠΊΠ°Ρ развязка ΠΈ использованиС качСствСнных ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Ρ€Π΅Π»Π΅ с ΠΎΠΏΡ‚Ρ€ΠΎΠ½Π°ΠΌΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ условиСм ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹, ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅ΠΉ Π»ΠΎΠΆΠ½Ρ‹Π΅ срабатывания ΠΈΠ·-Π·Π° Π½Π°Π²ΠΎΠ΄ΠΎΠΊ ΠΈΠ»ΠΈ ΠΏΠΎΠΌΠ΅Ρ… Π² сСти. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΏΠΎΠ»Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» создания ΡƒΠ·Π»Π° ΡƒΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ°, ΠΎΡ‚ Π²Ρ‹Π±ΠΎΡ€Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Π΄ΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ Π² популярныС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹ связки ESP8266 ΠΈ MQTT

Основой взаимодСйствия Π² Π΄Π°Π½Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ выступаСт модСль Β«Π˜Π·Π΄Π°Ρ‚Π΅Π»ΡŒ-ΠŸΠΎΠ΄ΠΏΠΈΡΡ‡ΠΈΠΊΒ» (Publish-Subscribe). ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ NodeMCU ΠΈΠ»ΠΈ Wemos D1 Mini выступаСт Π² Ρ€ΠΎΠ»ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΊ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠΌΡƒ сСрвСру, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΌΡƒ Π±Ρ€ΠΎΠΊΠ΅Ρ€ΠΎΠΌ. ИмСнно Π±Ρ€ΠΎΠΊΠ΅Ρ€ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ сообщСния ΠΌΠ΅ΠΆΠ΄Ρƒ устройствами, позволяя ΠΈΠΌ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ Π±Π΅Π· нСобходимости Π·Π½Π°Ρ‚ΡŒ IP-адрСса Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Π°.

КаТдоС устройство подписываСтся Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ тСматичСскиС строки, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ Ρ‚ΠΎΠΏΠΈΠΊΠ°ΠΌΠΈ. Когда Π²Ρ‹ отправляСтС ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π½Π° Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅Π»Π΅, сообщСниС публикуСтся Π² Ρ‚ΠΎΠΏΠΈΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, home/livingroom/light/set. ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€, подписанный Π½Π° этот Ρ‚ΠΎΠΏΠΈΠΊ, ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ payload (ΠΏΠΎΠ»Π΅Π·Π½ΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ) ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ физичСский ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Ρ€Π΅Π»Π΅ часто Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π½ΠΈΠ·ΠΊΠΈΠΌ логичСским ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ (LOW), Π° Π½Π΅ высоким. ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΈΠ½Π²Π΅Ρ€ΡΠΈΡŽ сигнала, Ρ‡Ρ‚ΠΎΠ±Ρ‹ устройство Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π»ΠΎΡΡŒ ΡΠ°ΠΌΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΡ‚Π΅Ρ€ΠΈ связи с Ρ€ΠΎΡƒΡ‚Π΅Ρ€ΠΎΠΌ.

ИспользованиС ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° MQTT Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΌ ΠΎΠ±Ρ€Ρ‹Π²Π΅ связи состояниС устройства ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ сохранСно ΠΈΠ»ΠΈ восстановлСно благодаря ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡƒ Retained Messages. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠ²ΡˆΠΈΠΉΡΡ ΠΊ Ρ‚ΠΎΠΏΠΈΠΊΡƒ, сразу ΡƒΠ·Π½Π°Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС Ρ€Π΅Π»Π΅, Ρ‡Ρ‚ΠΎ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎ для синхронизации интСрфСйсов управлСния.

πŸ“Š Какой Π±Ρ€ΠΎΠΊΠ΅Ρ€ MQTT Π²Ρ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ?
Mosquitto
EMQX
RabbitMQ
ΠžΠ±Π»Π°Ρ‡Π½Ρ‹ΠΉ сСрвис (HiveMQ)
Π”Ρ€ΡƒΠ³ΠΎΠΉ

НСобходимыС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° оборудования

Для сборки Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΡƒΠ·Π»Π° Π²Π°ΠΌ потрСбуСтся ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ доступных элСктронных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². Π‘Π°Π·ΠΎΠ²Ρ‹ΠΌ элСмСнтом являСтся ΠΏΠ»Π°Ρ‚Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° Π±Π°Π·Π΅ Ρ‡ΠΈΠΏΠ° ESP8266, которая ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° Π² Ρ„ΠΎΡ€ΠΌ-Ρ„Π°ΠΊΡ‚ΠΎΡ€Π΅ NodeMCU v3 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎΠΌ Wemos D1 Mini. Π­Ρ‚ΠΈ ΠΏΠ»Π°Ρ‚Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ встроСнный USB-ΠΏΠΎΡ€Ρ‚ для ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ ΠΈ питания, Ρ‡Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ.

Π’Ρ‚ΠΎΡ€Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ элСмСнтом выступаСт ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Ρ€Π΅Π»Π΅. Для Π΄ΠΎΠΌΠ°ΡˆΠ½ΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π½Π° 1, 2 ΠΈΠ»ΠΈ 4 ΠΊΠ°Π½Π°Π»Π° с ΠΎΠΏΡ‚ΠΎΠΏΠ°Ρ€ΠΎΠΉ. ΠžΠΏΡ‚Ρ€ΠΎΠ½ обСспСчиваСт ΡΠ»Π΅ΠΊΡ‚Ρ€ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΈΠ·ΠΎΠ»ΡΡ†ΠΈΡŽ Ρ†Π΅ΠΏΠΈ управлСния ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° (3.3 Π’) ΠΎΡ‚ Ρ†Π΅ΠΏΠΈ ΠΊΠ°Ρ‚ΡƒΡˆΠΊΠΈ Ρ€Π΅Π»Π΅ (5 Π’ ΠΈΠ»ΠΈ 12 Π’), защищая Ρ‡ΠΈΠΏ ΠΎΡ‚ скачков напряТСния.

  • πŸ”Œ ΠŸΠ»Π°Ρ‚Π° ESP8266 (NodeMCU ΠΈΠ»ΠΈ Wemos D1 Mini) β€” ΠΌΠΎΠ·Π³ систСмы.
  • ⚑ ΠœΠΎΠ΄ΡƒΠ»ΡŒ Ρ€Π΅Π»Π΅ с оптоизоляциСй β€” ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ.
  • πŸ”Œ Π‘Π»ΠΎΠΊ питания 5Π’ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΡ‚ зарядки Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°) β€” для ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹.
  • πŸ“‘ Π‘ΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π° Dupont β€” для ΠΌΠΎΠ½Ρ‚Π°ΠΆΠ° схСмы.
  • πŸ’» КабСль Micro-USB β€” для программирования.

ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ Π±Π»ΠΎΠΊΠ° питания Π²Π°ΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠΈΠΊΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΎΠΊ потрСблСния. Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρ€Π΅Π»Π΅ ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Wi-Fi модуля Ρ‚ΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΠ΄ΡΠΊΠ°ΠΊΠΈΠ²Π°Ρ‚ΡŒ Π΄ΠΎ 300-400 мА. Π‘Π»Π°Π±Ρ‹ΠΉ источник питания ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ°ΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠΈ Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ сСти.

Π‘Ρ…Π΅ΠΌΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈ ΠΌΠΎΠ½Ρ‚Π°ΠΆ модуля Ρ€Π΅Π»Π΅

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ модуля Ρ€Π΅Π»Π΅ ΠΊ ΠΏΠ»Π°Ρ‚Π΅ ESP8266 Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΊ распиновкС. Π‘ΠΈΠ³Π½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΈΠ½ модуля Ρ€Π΅Π»Π΅ (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ ΠΊΠ°ΠΊ IN) ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΊ Π»ΡŽΠ±ΠΎΠΌΡƒ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΌΡƒ GPIO ΠΏΠΎΡ€Ρ‚Ρƒ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°. ΠŸΠΈΡ‚Π°Π½ΠΈΠ΅ модуля (VCC) подаСтся Π½Π° ΠΏΠΈΠ½ 5V, Π° зСмля (GND) соСдиняСтся с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΏΠΈΠ½ΠΎΠΌ Π½Π° ΠΏΠ»Π°Ρ‚Π΅.

Π’Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ GPIO ΠΏΠΎΡ€Ρ‚Ρ‹ Π½Π° ESP8266 ΠΈΠΌΠ΅ΡŽΡ‚ спСцифичСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅. НапримСр, GPIO15 Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ подтянут ΠΊ Π·Π΅ΠΌΠ»Π΅, Π° GPIO0, GPIO2 ΠΈ GPIO16 Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ для Π±ΡƒΡ‚Π»ΠΎΠ°Π΄Π΅Ρ€Π°. Для управлСния Ρ€Π΅Π»Π΅ Π»ΡƒΡ‡ΡˆΠ΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡ€Ρ‚Ρ‹ D1 (GPIO5), D2 (GPIO4) ΠΈΠ»ΠΈ D5-D8, избСгая D3 ΠΈ D4, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ ΠΏΡ€ΠΈ стартС.

|Π‘ΠΈΠ³Π½Π°Π» управлСния

ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚ модуля Ρ€Π΅Π»Π΅ ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚ ESP8266 (NodeMCU) НазначСниС ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅
VCC 5V (Vin) ΠŸΠΈΡ‚Π°Π½ΠΈΠ΅ модуля НС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΊ 3.3V
GND GND ΠžΠ±Ρ‰Π°Ρ зСмля ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ для Ρ€Π°Π±ΠΎΡ‚Ρ‹
IN D1 (GPIO5) БСзопасный ΠΏΠΎΡ€Ρ‚
COM - ΠžΠ±Ρ‰ΠΈΠΉ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Ρ„Π°Π·Ρ‹ 220Π’
NO - ΠΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ РазмыкаСтся Π² Π²Ρ‹ΠΊΠ». состоянии

ΠŸΡ€ΠΈ ΠΌΠΎΠ½Ρ‚Π°ΠΆΠ΅ силовой части (220Π’) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ качСствСнныС ΠΊΠ»Π΅ΠΌΠΌΠ½ΠΈΠΊΠΈ ΠΈ слСдитС Π·Π° Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π° высокого напряТСния Π½Π΅ касались Π½ΠΈΠ·ΠΊΠΎΠ²ΠΎΠ»ΡŒΡ‚Π½ΠΎΠΉ части ΠΏΠ»Π°Ρ‚Ρ‹. Для ΠΏΠ΅Ρ€Π²Ρ‹Ρ… тСстов ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡ‚Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Ρ€Π΅Π»Π΅ ΠΎΡ‚ USB, Π½ΠΎ для постоянной Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ внСшний Π±Π»ΠΎΠΊ 5Π’, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΊ ΠΏΠΈΠ½Ρƒ Vin.

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠΎΠ΄Π°Ρ‡Π΅ΠΉ напряТСния

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 1

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ESP8266 Ρ‡Π΅Ρ€Π΅Π· Arduino IDE

Для написания ΠΊΠΎΠ΄Π° ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΡƒΡŽ срСду Arduino IDE. ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΏΠ»Π°Ρ‚ ESP8266 Π² ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ устройств. Для этого Π² настройках IDE Π² ΠΏΠΎΠ»Π΅ Β«Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ URL-адрСса для ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° ΠΏΠ»Π°Ρ‚Β» Π½ΡƒΠΆΠ½ΠΎ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ссылку Π½Π° Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ сообщСства ESP8266.

ПослС установки ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² создаСм Π½ΠΎΠ²Ρ‹ΠΉ скСтч ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌΠΈ здСсь ΡΠ²Π»ΡΡŽΡ‚ΡΡ ESP8266WiFi.h для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с бСспроводной ΡΠ΅Ρ‚ΡŒΡŽ ΠΈ PubSubClient.h для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° MQTT. Код Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ автоматичСского ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ Wi-Fi Π² случаС Ρ€Π°Π·Ρ€Ρ‹Π²Π° связи.


#include

#include

const char* ssid = "ВАШ_SSID";

const char* password = "ВАШ_ΠŸΠΠ ΠžΠ›Π¬";

const char* mqtt_server = "192.168.1.100"; // IP адрСс Π±Ρ€ΠΎΠΊΠ΅Ρ€Π°

WiFiClient espClient;

PubSubClient client(espClient);

void callback(char* topic, byte* payload, unsigned int length) {

// Π›ΠΎΠ³ΠΈΠΊΠ° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ входящих сообщСний

String message;

for (int i = 0; i < length; i++) {

message += (char)payload[i];

}

if (String(topic) == "home/relay/set") {

if (message == "ON") {

digitalWrite(D1, LOW); // Активация Ρ€Π΅Π»Π΅ (инвСрсия)

} else {

digitalWrite(D1, HIGH); // ДСактивация

}

}

}

void setup() {

pinMode(D1, OUTPUT);

digitalWrite(D1, HIGH); // ΠΠ°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ состояниС Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ

// ... ΠΊΠΎΠ΄ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ WiFi ΠΈ MQTT

}

ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡƒΠ΄Π΅Π»ΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ callback, которая вызываСтся ΠΏΡ€ΠΈ поступлСнии сообщСний. ИмСнно здСсь происходит физичСскоС ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΈΠ½Π°. НС Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎ Debounce (Π·Π°Ρ‰ΠΈΡ‚Ρƒ ΠΎΡ‚ Π΄Ρ€Π΅Π±Π΅Π·Π³Π°), Ссли Π²Ρ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ физичСскиС ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ с сСтСвым ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли ΠΏΠ»Π°Ρ‚Π° Π½Π΅ опрСдСляСтся Π² Arduino IDE?

Если ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Π½Π΅ Π²ΠΈΠ΄ΠΈΡ‚ ΠΏΠ»Π°Ρ‚Ρƒ ESP8266, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ USB-кабСль Π½Π° качСствСнный, способный ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°Ρ€ΡΠΆΠ°Ρ‚ΡŒ. Π’Π°ΠΊΠΆΠ΅ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ установлСны Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ Ρ‡ΠΈΠΏΠ° USB-UART (Ρ‡Π°Ρ‰Π΅ всСго CH340 ΠΈΠ»ΠΈ CP2102). Π’ Ρ€Π΅Π΄ΠΊΠΈΡ… случаях трСбуСтся Π·Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ FLASH Π½Π° ΠΏΠ»Π°Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ питания.

Настройка MQTT Π±Ρ€ΠΎΠΊΠ΅Ρ€Π° ΠΈ интСграция

Π’ качСствС Π±Ρ€ΠΎΠΊΠ΅Ρ€Π° для домашнСго использования Ρ‡Π°Ρ‰Π΅ всСго Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ Mosquitto. Π•Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π½Π° Raspberry Pi, Π² Docker-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π½Π° самом Ρ€ΠΎΡƒΡ‚Π΅Ρ€Π΅, Ссли ΠΎΠ½ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ установку ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². Настройка доступа Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ созданиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€Π°Π² доступа ΠΊ Ρ‚ΠΎΠΏΠΈΠΊΠ°ΠΌ.

Для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с систСмами ΡƒΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ°, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Home Assistant, достаточно Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ MQTT Π² Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ configuration.yaml. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° автоматичСски ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ устройства, Ссли ΠΎΠ½ΠΈ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΡŽΡ‚ сообщСния Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ discovery-Ρ‚ΠΎΠΏΠΈΠΊΠΈ, ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈΡ… Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.

  • 🏠 Home Assistant β€” ΠΌΠΎΡ‰Π½Π΅ΠΉΡˆΠ°Ρ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° с графичСским интСрфСйсом.
  • πŸ“± Node-RED β€” Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΈΠΊΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ.
  • πŸ“Š OpenHAB β€” Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Π°Ρ Java-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° для ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.
  • 🌐 Domoticz β€” лСгковСсная систСма для слабых сСрвСров.

ΠŸΡ€ΠΈ настройкС ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ Π²Π°ΠΆΠ½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚ΠΎΠΏΠΈΠΊ состояния (state_topic) ΠΈ Ρ‚ΠΎΠΏΠΈΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ (command_topic). Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ систСмС Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π½ΠΎ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ статус Ρ€Π΅Π»Π΅, отобраТая Π΅Π³ΠΎ Π² интСрфСйсС.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с внСшними сСрвисами ΠΈΠ»ΠΈ ΠΎΠ±Π»Π°ΠΊΠ°ΠΌΠΈ Π½Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΡ€Ρ‚ MQTT (1883) Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ Π±Π΅Π· ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ (SSL/TLS) ΠΈ сильной Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π­Ρ‚ΠΎ сдСлаСт Π²Π°ΡˆΡƒ домашнюю ΡΠ΅Ρ‚ΡŒ уязвимой для Π°Ρ‚Π°ΠΊ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ VPN ΠΈΠ»ΠΈ Ρ‚ΡƒΠ½Π½Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ для ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ доступа.

ΠžΡ‚Π»Π°Π΄ΠΊΠ° ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ

Π’ процСссС эксплуатации Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΡΡ с Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ устройства. Π§Π°Ρ‰Π΅ всСго ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π²Ρ‹Π·Π²Π°Π½Ρ‹ ΠΏΠ»ΠΎΡ…ΠΈΠΌ сигналом Wi-Fi. Π§ΠΈΠΏ ESP8266 чувствитСлСн ΠΊ ΡƒΡ€ΠΎΠ²Π½ΡŽ сигнала, ΠΈ ΠΏΡ€ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ RSSI Π½ΠΈΠΆΠ΅ -80 dBm Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ постоянныС ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ установка внСшнСй Π°Π½Ρ‚Π΅Π½Π½Ρ‹ ΠΈΠ»ΠΈ relocation Ρ€ΠΎΡƒΡ‚Π΅Ρ€Π°.

Другая распространСнная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° β€” «зависаниС» устройства. Π­Ρ‚ΠΎ часто происходит ΠΈΠ·-Π·Π° watchdog timer (WDT), Ссли Ρ†ΠΈΠΊΠ» ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ выполняСтся слишком Π΄ΠΎΠ»Π³ΠΎ Π±Π΅Π· обращСния ΠΊ систСмС. Π’ ΠΊΠΎΠ΄Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ рСгулярно Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ client.loop() ΠΈΠ»ΠΈ yield(), Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π°Π²Π°Ρ‚ΡŒ процСссору врСмя Π½Π° обслуТиваниС Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ Wi-Fi.

Для Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠΉ диагностики ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅Serial-ΠΏΠΎΡ€Ρ‚ для Π²Ρ‹Π²ΠΎΠ΄Π° ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠ² ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ ΠΏΠΎΡ€Ρ‚Π° Π² Arduino IDE, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ процСсс ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, ошибки Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΎΡ‚ Π±Ρ€ΠΎΠΊΠ΅Ρ€Π°. Π›ΠΎΠ³ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ быстро Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ, Π³Π΄Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ обрываСтся Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ° связи.

Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π° ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ

Базовая Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ β€” лишь Π½Π°Ρ‡Π°Π»ΠΎ. На Π±Π°Π·Π΅ ESP8266 ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ слоТныС сцСнарии: ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎ Ρ€Π°ΡΠΏΠΈΡΠ°Π½ΠΈΡŽ, рСакция Π½Π° Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρƒ, интСграция с голосовыми ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠ°ΠΌΠΈ. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ² (Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹, влаТности, двиТСния) ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ простоС Ρ€Π΅Π»Π΅ Π² ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΉ ΡƒΠ·Π΅Π» IoT.

Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠΌ. Помимо ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ Π½Π° Wi-Fi ΠΈ MQTT, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Watchdog для автоматичСской ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΏΡ€ΠΈ сбоях. Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π²Π½Π΅Π΄Ρ€ΠΈΡ‚ΡŒ OTA (Over-The-Air) обновлСния, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π±Π°Π³ΠΈ ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π±Π΅Π· физичСского доступа ΠΊ устройству.

РСгулярно обновляйтС ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΡƒ Π±Ρ€ΠΎΠΊΠ΅Ρ€Π° ΠΈ самого ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°Ρ… связи пСриодичСски находят уязвимости. Π˜Π·ΠΎΠ»ΡΡ†ΠΈΡ устройств ΡƒΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ° Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Π³ΠΎΡΡ‚Π΅Π²ΡƒΡŽ ΡΠ΅Ρ‚ΡŒ (VLAN) ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ ΠΏΡ€ΠΎΠ½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠΎΠ² Π² Π²Π°ΡˆΡƒ ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΡΠ΅Ρ‚ΡŒ с ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°ΠΌΠΈ ΠΈ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°ΠΌΠΈ.

Часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы (FAQ)

МоТно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ESP8266 Π±Π΅Π· внСшнСго Π±Π»ΠΎΠΊΠ° питания 5Π’?

ВСорСтичСски ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡ‚Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Ρ€Π΅Π»Π΅ ΠΈ ESP ΠΎΡ‚ USB, Ссли Ρ‚ΠΎΠΊ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΌΠ°Π». Однако USB-ΠΏΠΎΡ€Ρ‚Ρ‹ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² часто ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Ρ‹ Ρ‚ΠΎΠΊΠΎΠΌ 500 мА, Π° ΠΏΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Ρ€Π΅Π»Π΅ ΠΈ ΠΏΠΈΠΊΠ΅ Wi-Fi этого ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ Ρ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ сбросу ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°. Для ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ всСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ качСствСнный внСшний Π±Π»ΠΎΠΊ питания 5Π’/2А.

Какой ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΎΠΊ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ стандартноС Ρ€Π΅Π»Π΅ Π½Π° ΠΌΠΎΠ΄ΡƒΠ»Π΅?

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π° модулях установлСны Ρ€Π΅Π»Π΅ Ρ‚ΠΈΠΏΠ° SRD-05VDC-SL-C, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ рассчитаны Π½Π° 10А ΠΏΡ€ΠΈ 250Π’ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΎΠΊΠ° ΠΈΠ»ΠΈ 10А ΠΏΡ€ΠΈ 30Π’ постоянного Ρ‚ΠΎΠΊΠ°. Однако для продлСния срока слуТбы ΠΈ бСзопасности Π½Π΅ рСкомСндуСтся Π½Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΈΡ… Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ Π½Π° 70-80% ΠΎΡ‚ Π½ΠΎΠΌΠΈΠ½Π°Π»Π°, особСнно ΠΏΡ€ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ (ΠΈΠ½Π΄ΡƒΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ) Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Ρ€Π΅Π»Π΅ Ρ‰Π΅Π»ΠΊΠ°Π΅Ρ‚ само ΠΏΠΎ сСбС ΠΏΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ питания?

Π­Ρ‚ΠΎ происходит ΠΈΠ·-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ стартС ESP8266 Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ GPIO ΠΏΠΎΡ€Ρ‚Ρ‹ ΠΌΠ΅Π½ΡΡŽΡ‚ своС состояниС. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ этого, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠΎΡ€Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΌΠ΅Π½ΡΡŽΡ‚ состояниС ΠΏΡ€ΠΈ Π±ΡƒΡ‚Π΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, D1, D2, D5-D8), ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΠΈΠ½Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ внСшниС подтяТки.

НуТСн Π»ΠΈ рСзистор ΠΌΠ΅ΠΆΠ΄Ρƒ ESP8266 ΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ Ρ€Π΅Π»Π΅?

Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Ρ€Π΅Π»Π΅ с ΠΎΠΏΡ‚ΠΎΠΏΠ°Ρ€ΠΎΠΉ ΠΈ транзисторным ΠΊΠ»ΡŽΡ‡ΠΎΠΌ, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ рСзистор Π½Π΅ Π½ΡƒΠΆΠ΅Π½, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΡƒΠΆΠ΅ содСрТит Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ обвязку. ΠŸΡ€ΡΠΌΠΎΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ GPIO ΠΊ ΠΊΠ°Ρ‚ΡƒΡˆΠΊΠ΅ Ρ€Π΅Π»Π΅ Π±Π΅Π· транзисторного ΠΊΠ»ΡŽΡ‡Π° катСгоричСски Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½ΠΎ β€” это соТТСт ΠΏΠΎΡ€Ρ‚ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°.