Arduino IDE, ESP8266, आसान IOT, एक रिले।

Arduino IDE, ESP8266, आसान IOT, एक रिले: 3 चरण

एकल इंटरनेट स्विच के लिए सरल रूपरेखा। Arduino esp8266 और EasyIOT का उपयोग करना

मेरी शैली न्यूनतम है। अभी के लिए।

बिजली के साथ * मत करो!

आपूर्ति:

चरण 1: Arduino पर्यावरण

कस्टम URL के साथ बोर्ड प्रबंधक को अपडेट करें। Arduino खोलें, फिर प्राथमिकताएं (फ़ाइल> प्राथमिकताएं) पर जाएं। URL को "अतिरिक्त बोर्ड प्रबंधक URL" पाठ बॉक्स में कॉपी करें:

http: //arduino.esp8266.com/stable/package_esp8266c ... उपकरण> बोर्ड> बोर्ड प्रबंधक पर जाएं। Esp8266 के लिए देखें। उस प्रविष्टि पर क्लिक करें, फिर इंस्टॉल चुनें।

MQTT लाइब्रेरी स्थापित करें, यह पढ़ें http: //iot-playground.com/blog/2-uncategorised/77-...

यहां जाएं http://github.com/iot-playground/EasyIoT-Cloud, क्लोन डाउनलोड पर क्लिक करें।

ओपेन जिप कॉपी डॉक्यूमेंट्स / आर्कडिनो / लाइब्रेरीज़ फोल्डर में एस्प-म्कट कॉपी करता है।

Arduino क्लिक में, लाइब्रेरी शामिल करें, लाइब्रेरी प्रबंधित करें। तस्वीर देखो

अब आप इसे प्रोजेक्ट में जोड़ सकते हैं। #शामिल

चरण 2: कोड

इसे संशोधित किया

http: //github.com/iot-playground/EasyIoT-Cloud/bl ...

#include ESP8266WiFi.h // फ़ाइल नाम <> में होना चाहिए

#include MQTT.h // फ़ाइल नाम <> में होना चाहिए

#define AP_SSID "आपका ssid"

#define AP_PASSWORD "आपका पासवर्ड"

#define EIOTCLOUD_USERNAME "uSERNAM" //http://easyiot-cloud.com

#define EIOTCLOUD_PASSWORD "पासवर्ड"

// MQTT ऑब्जेक्ट बनाएँ

#define EIOT_CLOUD_ADDRESS "cloud.iot-playground.com"

#define DO_TOPIC "/ Sensor.Parameter1" // इसे आसान आईओटी से प्राप्त करें

#define PIN_DO_2 2 // DO pin2

#define MODULE_ID_2 2

MQTT myMqtt ("", EIOT_CLOUD_ADDRESS, 1883);

शून्य सेटअप () {Serial.begin (115200);

WiFi.mode (WIFI_STA); WiFi.begin (AP_SSID, AP_PASSWORD); Serial.println (); Serial.println (); Serial.print ("कनेक्ट करने के लिए"); Serial.println (AP_SSID); जबकि (WiFi.status ()! = WL_CONNECTED) {विलंब (500); Serial.print ( "।"); };

Serial.println ("वाईफाई कनेक्टेड"); Serial.println ("MQTT सर्वर से कनेक्ट करना");

// सेट क्लाइंट आईडी // मैक एड्रेस के आधार पर क्लाइंट का नाम उत्पन्न करें और माइक्रोसेकंड काउंटर के अंतिम 8 बिट्स स्ट्रिंग क्लाइंटनेम; uint8_t mac [6]; WiFi.macAddress (मैक); clientName + = macToStr (mac); ग्राहक नाम + = "-"; ग्राहक नाम + = स्ट्रिंग (माइक्रो) (और 0xff, 16); myMqtt.setClientId ((char *) clientName.c_str ());

Serial.print ("MQTT ग्राहक आईडी:"); Serial.println (CLIENTNAME);

// सेटअप कॉलबैक myMqtt.onConnected (myConnectedCb); myMqtt.onDisconnected (myDisconnectedCb); myMqtt.onPublished (myPublishedCb); myMqtt.onData (myDataCb); //////Serial.println("connect mqtt ... "); myMqtt.setUserPwd (EIOTCLOUD_USERNAME, EIOTCLOUD_PASSWORD); myMqtt.connect ();

देरी (500);

pinMode (PIN_DO_2, OUTPUT);

सदस्यता के (); }

शून्य लूप () {जबकि (WiFi.status ()! = WL_CONNECTED) {विलंब (500); Serial.print ( "।"); }}

स्ट्रिंग macToStr (const uint8_t * mac) {स्ट्रिंग परिणाम; for (int i = 0; मैं <6; ++ i) {result + = स्ट्रिंग (मैक [i], 16); if (i <5) परिणाम + = ':'; } वापसी परिणाम; }

शून्य सदस्यता () {myMqtt.subscribe ("/" + स्ट्रिंग (MODULE_ID_2) + DO_TOPIC); // DO 2}

void myConnectedCb () {Serial.println ("MQTT सर्वर से जुड़ा"); सदस्यता के (); }

शून्य myDisconnectedCb () {Serial.println ("डिस्कनेक्ट किया गया ... पुन: कनेक्ट करने का प्रयास करें ..."); देरी (500); myMqtt.connect (); }

शून्य myPublishedCb () {Serial.println ("प्रकाशित" "); }

void myDataCb (स्ट्रिंग और विषय, स्ट्रिंग और डेटा) {if (विषय == स्ट्रिंग ("/" + स्ट्रिंग (MODULE_ID_2) + DO_TOPIC)) {if (डेटा == स्ट्रिंग ("1")) digitalWrite (PIN_DO_2, HIGH); अन्य डिजिटलवाइट (PIN_DO_2, LOW);

Serial.print ("डू 2:"); Serial.println (डेटा); }

}

चरण 3: चिप पर अपलोड करें।

योजनाबद्ध बनाएं। चित्र।

3.3V MAX !!!! सभी पिन

Vcc के लिए 2x 1.5V बैटरी का उपयोग करें। USB काम नहीं करता है। मैंने घंटों कोशिश करके बर्बाद किया।

कार्यक्रम मोड में प्रवेश करने के लिए: GPIO0 ग्राउंड पर, रीसेट टू ग्राउंड, रीसेट फ़्लोटिंग। GPIO0 फ़्लोटिंग। अर्थात। GPIO0 को जमीन पर रखने के लिए जमीन पर रीसेट दबाएं।

3V आउटपुट के साथ FTDI232 का उपयोग कर फ्लैश। तस्वीर देखो।

रिले को GPIO0 तक हुक करें

मुझे भरोसा है ये काम करेगा।