
ΠΠ΄ΡΠ°Π²Π΅ΠΉΡΠ΅ Π½Π° Π²ΡΠΈΡΠΊΠΈ! Π ΡΠ°Π·ΠΈ ΡΡΠ°ΡΠΈΡ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠ±ΡΡΠ½Π΅Π½ΠΎ ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΠΊΠ°ΠΊ Π±ΡΠΊΠ²Π°Π»Π½ΠΎ Π·Π° 20 ΠΌΠΈΠ½ΡΡΠΈ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π΄Π° Π½Π°ΡΡΡΠΎΠΈΡΠ΅ Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΠΎΠ΄ΡΠ»Π° esp8266 Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π° Android ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» MQTT.
ΠΠ΄Π΅ΡΡΠ° Π·Π° Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π²ΠΈΠ½Π°Π³ΠΈ Π΅ Π²ΡΠ»Π½ΡΠ²Π°Π»Π° ΡΠΌΠΎΠ²Π΅ΡΠ΅ Π½Π° Π·Π°ΠΏΠ°Π»Π΅Π½ΠΈΡΠ΅ ΠΏΠΎ Π΅Π»Π΅ΠΊΡΡΠΎΠ½ΠΈΠΊΠ° ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅. ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΈΠ»ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠΈΡΠ΅ Π½ΡΠΆΠ½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ ΠΏΠΎ Π²ΡΡΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ Π²Π°ΡΠ΅ΡΠΎ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΏΡΠ΅Π΄Π»Π°Π³Π° ΡΠΈΡΠΎΠΊΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ. Π ΠΏΡΠ΅Π΄ΠΈΡΠ½ΠΈΡΠ΅ ΡΠΈ ΡΡΠ°ΡΠΈΠΈ ( ΠΈ ) ΡΠ΅ ΠΎΠΏΠΈΡΠ°Ρ
Π΄Π° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΠΈ ΠΈ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΡΠΎΡΡΠΈΡΠΊΠΈ Π²Π°ΡΠΈΠ°Π½ΡΠ° Π·Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠΈ ΠΏΡΠ΅Π· ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ. ΠΠΎ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ ΠΈ ΡΠ²Π΅ΡΡΡ Π½Π΅ ΡΡΠΎΡΡ Π½Π° ΠΌΡΡΡΠΎ β ΠΏΡΠΎΠ³ΡΠ΅ΡΡΡ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° ΡΠ²ΠΎΠ΅ΡΠΎ Π½Π΅ΡΠΌΠΎΠ»ΠΈΠΌΠΎ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π½Π°ΠΏΡΠ΅Π΄. ΠΠ° ΡΠΎΠ·ΠΈ ΠΊΡΠ°ΡΡΠΊ ΠΏΠ΅ΡΠΈΠΎΠ΄ ΠΌΠΎΠ΄ΡΠ»ΡΡ esp8266 ΠΏΡΠΈΠ΄ΠΎΠ±ΠΈ ΡΠΈΡΠΎΠΊΠ° ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡ, ΡΡΠΉ ΠΊΠ°ΡΠΎ, Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π½ΠΈΡΠΊΠ°ΡΠ° ΡΠΈ ΡΠ΅Π½Π° ΠΈ Π²Π³ΡΠ°Π΄Π΅Π½ΠΎΡΠΎ wi-fi, ΡΡΠ°Π½Π° Π΅Π΄ΠΈΠ½ ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π½Π° "Π£ΠΌΠ½ΠΈΡ Π΄ΠΎΠΌ".
Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° MQTT Π΅ Π½Π°ΠΉ-ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈΡΡ ΠΈ Π½Π°ΠΉ-ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΈΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π·Π° ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΡΠ΄Π΅Π»Π½ΠΈΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ "Π£ΠΌΠ΅Π½ Π΄ΠΎΠΌ". Π’ΠΎΠΉ ΠΏΡΠ΅Π΄Π»Π°Π³Π° ΡΠ΅Π΄ΠΈΡΠ° ΠΏΡΠ΅Π΄ΠΈΠΌΡΡΠ²Π° ΠΏΡΠ΅Π΄ Π΄ΡΡΠ³ΠΈΡΠ΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈ:
β Π½ΠΈΡΠΊΠ° ΠΊΠΎΠ½ΡΡΠΌΠ°ΡΠΈΡ Π½Π° ΡΡΠ°ΡΠΈΠΊ;
β Π²ΡΡΠ·ΠΊΠ°ΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈ ΡΡΡΠ²ΡΡΠ° Π²ΠΈΠ½Π°Π³ΠΈ Π΅ ΠΎΡΠ²ΠΎΡΠ΅Π½Π°;
β Π½Π΅ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π° ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ ΠΊΠ°Π½Π°Π»Π°;
β Π»ΠΈΠΏΡΠ° Π½Π° Π·Π°Π±Π°Π²ΡΠ½Π΅ ΠΏΡΠΈ ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ;
β ΡΠ΄ΠΎΠ±Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° Π°Π±ΠΎΠ½Π°ΠΌΠ΅Π½ΡΠΈ Π·Π° ΡΠ΅ΠΌΠΈ;
ΠΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π² ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π° MQTT ΠΈΠ·ΠΈΡΠΊΠ²Π° Π½Π°Π»ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½ ΡΡΡΠ²ΡΡ, ΠΊΠΎΠΉΡΠΎ Π΄Π° ΠΈΠ³ΡΠ°Π΅ ΡΠΎΠ»ΡΡΠ° Π½Π° ΠΏΠΎΡΡΠ΅Π΄Π½ΠΈΠΊ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅ Π² ΠΌΡΠ΅ΠΆΠ°ΡΠ°. Π’ΡΠΊ ΠΈΠΌΠ° Π΄Π²Π° Π²Π°ΡΠΈΠ°Π½ΡΠ°: ΠΈΠ»ΠΈ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½ ΡΡΡΠ²ΡΡ, ΠΈΠ»ΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Π²ΡΠ½ΡΠ½ΠΈ ΡΡΠ»ΡΠ³ΠΈ.
ΠΠΏΠΈΡΠ²Π°Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ ΡΡΡΡΠΎΠΈ ΠΎΡ Π΄Π²Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΈ ΡΠ°ΡΡΠΈ: MQTT ΡΡΡΠ²ΡΡ (ΠΊΠΎΠΉΡΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π΅ Π΅Π΄ΠΈΠ½) ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ Π΄ΠΎΡΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ. Π Π½Π°ΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉ ΠΊΠ°ΡΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Android ΠΈ ΡΠ°ΠΌΠΈΡΡ ΠΌΠΎΠ΄ΡΠ» esp8266.
ΠΠ»Π³ΠΎΡΠΈΡΡΠΌΡΡ Π½Π° ΡΠ°Π±ΠΎΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π΅ ΡΠ»Π΅Π΄Π½ΠΈΡΡ. ΠΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅ ΡΠ΅ ΡΠ²ΡΡΠ·Π²Π°Ρ ΡΡΡ ΡΡΡΠ²ΡΡΠ° ΠΈ Π²Π΅Π΄Π½Π°Π³Π° ΡΠ»Π΅Π΄ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ΡΠΎ Π²ΡΠ΅ΠΊΠΈ ΠΎΡ ΡΡΡ ΠΈΠ·Π²ΡΡΡΠ²Π° Π°Π±ΠΎΠ½Π°ΠΌΠ΅Π½Ρ Π·Π° ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ²Π°ΡΠΈΡΠ΅ Π³ΠΎ ΡΠ΅ΠΌΠΈ. ΠΡΠΈΡΠΊΠΎΡΠΎ ΠΎΠ±ΡΡΠ²Π°Π½Π΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π° ΡΡΠ°Π½Π·ΠΈΡΠΎΠΌ ΠΏΡΠ΅Π· ΡΡΡΠ²ΡΡΠ°, ΠΊΠΎΠΉΡΠΎ ΠΏΡΠ΅Π½Π°ΡΠΎΡΠ²Π° Π΄Π°Π½Π½ΠΈ ΠΊΡΠΌ Π΄ΡΡΠ³ΠΈΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ Ρ ΠΎΠ³Π»Π΅Π΄ Π½Π° ΡΠ΅Ρ Π½ΠΈΡΠ΅ Π°Π±ΠΎΠ½Π°ΠΌΠ΅Π½ΡΠΈ.
MQTT ΡΡΡΠ²ΡΡ.
Π Π½Π°ΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠ΄ΠΎΠ±Π΅Π½ ΡΠ΅ΡΠ²ΠΈΡ ΠΊΠΎΠΉΡΠΎ ΠΏΡΠ΅Π΄Π»Π°Π³Π° Π±Π΅Π·ΠΏΠ»Π°ΡΠ΅Π½ ΡΠ°ΡΠΈΡΠ΅Π½ ΠΏΠ»Π°Π½ (Cute Cat), ΠΊΠΎΠΉΡΠΎ Π½Π°ΠΏΡΠ»Π½ΠΎ ΡΠ΅ ΠΏΠΎΠΊΡΠΈΠ΅ Π½ΡΠΆΠ΄ΠΈΡΠ΅ Π·Π° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΌΠ°Π»ΠΊΠ° ΡΠΎΠ±ΡΡΠ²Π΅Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° "ΡΠΌΠ½ΠΈΡ Π΄ΠΎΠΌ".

ΠΠ΅ΠΊΠ° ΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°ΠΌΠ΅ Π½Π° ΡΠ°ΠΉΡΠ° ΠΈ Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΡΡΠ²ΡΡΠ°. ΠΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΡΠ° Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅ Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ΅Π½ ΠΏΠΎΡΡ (Π±Π΅Π· SSL ΠΈ TLS).

ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π° Android.
ΠΠ°ΡΠ΅ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅ ΡΠ»ΡΠΆΠΈ ΠΊΠ°ΡΠΎ Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠ°, Π° ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠ΅ ΠΏΡΠΈΠ΅ΠΌΠ° ΠΈ ΠΏΠΎΠΊΠ°Π·Π²Π° ΡΡΠ»Π°ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π° ΠΎΡ esp8266.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΡΠ΅ Π½Π°ΡΠΈΡΠ° ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ²Π° Π³ΠΎΡΠΎΠ² 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 ΡΡΡΠ²ΡΡ β
ΠΡΡΠ·ΠΊΠ° ΠΊΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ IoT MQTT Dashboard β
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ Π½Π° Π²ΡΠΈΡΠΊΠΈ Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ΡΠΎ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
