ΠΡΠ΅ΠΌ ΠΏΡΠΈΠ²Π΅Ρ! Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°ΡΡΠΊΠ°Π·Π°Π½ΠΎ ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΠΊΠ°ΠΊ Π±ΡΠΊΠ²Π°Π»ΡΠ½ΠΎ Π·Π° 20 ΠΌΠΈΠ½ΡΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π°ΡΡΡΠΎΠΈΡΡ Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ esp8266 Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Android ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ MQTT.
ΠΠ΄Π΅Ρ Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄ΠΎΡΠ°ΠΆΠΈΠ»Π° ΡΠΌΡ ΡΠ²Π»Π΅ΡΠ΅Π½Π½ΡΡ
Π² ΡΠ»Π΅ΠΊΡΡΠΎΠ½ΠΈΠΊΠ΅ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π»ΡΠ΄Π΅ΠΉ. ΠΠ΅Π΄Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π² Π»ΡΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ»ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π½ΡΠΆΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, Π½Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π΄Π°Π΅Ρ ΡΠΈΡΠΎΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ. Π ΡΠ²ΠΎΠΈΡ
ΠΏΡΠΎΡΠ»ΡΡ
ΡΡΠ°ΡΡΡΡ
(
ΠΠ° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ MQTT ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ΠΎΠ²ΡΠΌ ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ
ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌΠΈ Π² ΡΠ°ΠΌΠΊΠ°Ρ
ΡΠΈΡΡΠ΅ΠΌ Β«Π£ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ°Β». ΠΠ½ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ ΡΡΠ΄ΠΎΠΌ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ² ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°ΠΌ:
β Π½ΠΈΠ·ΠΊΠΎΠ΅ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΡΡΠ°ΡΠΈΠΊΠ°;
β ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ Π²ΡΠ΅Π³Π΄Π° ΠΎΡΠΊΡΡΡΠΎ;
β Π½Π΅ Π½Π°Π³ΡΡΠΆΠ°Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ ΠΊΠ°Π½Π°Π»;
β ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ Π·Π°Π΄Π΅ΡΠΆΠ΅ΠΊ Π² ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ Π΄Π°Π½Π½ΡΡ
;
β ΡΠ΄ΠΎΠ±Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΠΎΠ΄ΠΏΠΈΡΠΎΠΊ Π½Π° ΡΠΎΠΏΠΈΠΊΠΈ;
ΠΡΡ ΡΡΠΎ Π΄Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ MQTT ΡΡΠ΅Π±ΡΠ΅Ρ Π½Π°Π»ΠΈΡΠΈΠ΅ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠΎΠ»Ρ ΠΏΠΎΡΡΠ΅Π΄Π½ΠΈΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌΠΈ ΡΠ΅ΡΠΈ. Π’ΡΡ Π΅ΡΡΡ Π΄Π²Π° Π²ΡΡ
ΠΎΠ΄Π° Π»ΠΈΠ±ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ²ΠΎΠΉ ΡΠ΅ΡΠ²Π΅Ρ Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ.
ΠΠΏΠΈΡΡΠ²Π°Π΅ΠΌΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π΄Π²ΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠ°ΡΡΠ΅ΠΉ: ΡΠ΅ΡΠ²Π΅ΡΠ° MQTT (ΠΎΠ½ ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΠΎΠ΄ΠΈΠ½) ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ. Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² Π±ΡΠ΄ΡΡ Π²ΡΡΡΡΠΏΠ°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Android ΠΈ ΡΠ°ΠΌ ΠΌΠΎΠ΄ΡΠ»Ρ esp8266.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠ°Π±ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ. ΠΠ»ΠΈΠ΅Π½ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ ΠΈ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π½ΠΈΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅Ρ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΡ Π½Π° ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΡΡΠΈΠ΅ Π΅Π³ΠΎ ΡΠΎΠΏΠΈΠΊΠΈ. ΠΡΡ ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌΠΈ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ ΡΡΠ°Π½Π·ΠΈΡΠΎΠΌ ΡΠ΅ΡΠ΅Π· ΡΠ΅ΡΠ²Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ Π΄ΡΡΠ³ΠΈΠΌ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌ Ρ ΡΡΠ΅ΡΠΎΠΌ ΠΈΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠΎΠΊ.
MQTT ΡΠ΅ΡΠ²Π΅Ρ.
Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΡΠ°ΠΉΠ½Π΅ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ
ΠΡΠΎΠΉΠ΄ΡΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ Π½Π° ΡΠ°ΠΉΡΠ΅ ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ. ΠΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΡΠ½ΡΠΉ ΠΠΎΡΡ ( Π±Π΅Π· SSL ΠΈ TLS).
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Android.
ΠΠ°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ Π²ΡΡΡΡΠΏΠ°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠ»ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π»Ρ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°, Π° ΡΠ°ΠΊ ΠΆΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ Π²ΡΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΡ esp8266.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ
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"; // ΠΠΌΡ Π²Π°ΠΉΡΠ°ΠΉ ΡΠΎΡΠΊΠΈ Π΄ΠΎΡΡΡΠΏΠ°
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("Connecting to ");
Serial.print(ssid);
Serial.println("...");
WiFi.begin(ssid, pass);
if (WiFi.waitForConnectResult() != WL_CONNECTED)
return;
Serial.println("WiFi connected");
}
// ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΡ ΠΊ MQTT ΡΠ΅ΡΠ²Π΅ΡΡ
if (WiFi.status() == WL_CONNECTED) {
if (!client.connected()) {
Serial.println("Connecting to MQTT server");
if (client.connect(MQTT::Connect("arduinoClient2")
.set_auth(mqtt_user, mqtt_pass))) {
Serial.println("Connected to MQTT server");
client.set_callback(callback);
client.subscribe("test/led"); // ΠΏΠΎΠ΄ΠΏΠΈΡΡΠ²Π°Π°Π΅ΠΌΡΡ ΠΏΠΎ ΡΠΎΠΏΠΈΠΊ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ Π΄Π»Ρ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π°
} else {
Serial.println("Could not connect to MQTT server");
}
}
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