આ પોસ્ટમાં અમે તમને ESP8266 આઉટપુટને કેવી રીતે નિયંત્રિત કરવું અને નોડ-રેડ પર ESP8266 માંથી સેન્સર ડેટા પ્રદર્શિત કરવા તે બતાવવા જઈશું. નોડ-રેડ સ software Raspberry Pi પર ચાલે છે, NODEMCU 8266 અને નોડ-રેડ સ softwareફ્ટવેર વચ્ચેનો સંપર્ક એમક્યુટીટી કમ્યુનિકેશન પ્રોટોકોલથી પ્રાપ્ત થાય છે.
નીચે આપેલ આકૃતિ આ ટ્યુટોરીયલમાં આપણે શું કરવા જઈશું તેની એક ઝાંખી બતાવે છે.
નોડ-રેડ અને નોડ-રેડ ડેશબોર્ડ
--------------------------------------------------------------
તમારે તમારા રાસ્પબરી પાઇમાં નોડ-રેડ અને નોડ-રેડ ડેશબોર્ડ ઇન્સ્ટોલ કરવું આવશ્યક છે. નીચેની બ્લ blog પોસ્ટ્સ નોડ-રેડ અને નોડ-રેડ ડેશબોર્ડથી પ્રારંભ કરવા માટે ઉપયોગી છે:
રાસ્પબરી પાઇ પર નોડ-રેડ સાથે પ્રારંભ
નોડ-રેડ ડેશબોર્ડથી પ્રારંભ કરો
એમક્યુટીટી પ્રોટોકોલ
આ ટ્યુટોરીયલમાં આપણે રાસબેરિ પાઇ નોડ-રેડ સ software ચલાવતા અને એમક્યુટીટીનો ઉપયોગ કરીને
NODEMCU 8266 વચ્ચે સંપર્ક સ્થાપિત કરવા જઈ રહ્યા છીએ.MQTT એ એમક્યુ ટેલિમેટ્રી ટ્રાન્સપોર્ટનો અર્થ છે અને તે એક સરસ લાઇટવેઇટ પબ્લિશ અને સબ્સ્ક્રાઇબ સિસ્ટમ છે જ્યાં તમે ક્લાઈન્ટ તરીકે સંદેશા પ્રકાશિત અને પ્રાપ્ત કરી શકો છો. તે એક સરળ મેસેજિંગ પ્રોટોકોલ છે, જે નિયંત્રિત ઉપકરણો માટે અને લો-બેન્ડવિડ્થ સાથે રચાયેલ છે. તેથી, તે INTERNET OF THINGS એપ્લિકેશનોનો સંપૂર્ણ ઉપાય છે.
જો તમે એમક્યુટીટી વિશે વધુ જાણવા માંગતા હો, તો નીચેની વિડિઓ જુઓ.
મોસ્કિટ્ટો બ્રોકર સ્થાપિત કરી રહ્યું છે
એમક્યુટીટીમાં, બ્રોકર મુખ્યત્વે બધા સંદેશા પ્રાપ્ત કરવા, સંદેશાઓને ફિલ્ટર કરવા, તેમાં કોને રસ છે તે નક્કી કરવા અને પછી બધા સબ્સ્ક્રાઇબ કરેલા ગ્રાહકોને સંદેશ પ્રકાશિત કરવા માટે મુખ્યત્વે જવાબદાર છે.
ત્યાં ઘણા દલાલો છે જેનો તમે ઉપયોગ કરી શકો છો. આ ટ્યુટોરીયલમાં આપણે મોસ્ક્વિટ્ટો બ્રોકરનો ઉપયોગ કરવા જઈ રહ્યા છીએ જેને રાસ્પબેરી પાઇ પર ઇન્સ્ટોલ કરવાની જરૂર છે.
રાસ્પબેરી પી પર મોસ્ક્વિટ્ટો બ્રોકર સ્થાપિત કરવા માટે આ ટ્યુટોરીયલને અનુસરો: રાસ્પબેરી પી પર મોસ્કિટ્ટો બ્રોકર કેવી રીતે ઇન્સ્ટોલ કરવું.
Testing
મોસ્ક્યુટ્ટો દલાલ સફળતાપૂર્વક સ્થાપિત થયેલ છે કે કેમ તે જોવા માટે, આગળનો આદેશ ચલાવો:
pi@raspberry:~ $ mosquitto -v
આ મોસ્ક્વિટો સંસ્કરણ આપે છે જે હાલમાં તમારા રાસ્પબરી પાઇમાં ચાલી રહ્યું છે. તે 1.4 અથવા તેથી વધુ હોવું જોઈએ.
નોડ-રેડ સાથે એમક્યુટીટી કમ્યુનિકેશનની સ્થાપના
આ વિભાગમાં આપણે નોડ-રેડ ગાંઠોનો ઉપયોગ કરીને એક એમક્યુટીટી સંચાર સ્થાપિત કરીશું.
ડેશબોર્ડ લેઆઉટ
પ્રથમ પગલું ડેશબોર્ડ લેઆઉટ બનાવવાનું છે. આ ઉદાહરણમાં, અમારી પાસે ESP8266 આઉટપુટને નિયંત્રિત કરવા માટે બટન હશે; ડીએચટી 11 સેન્સરથી તાપમાન અને ભેજનું વાંચન પ્રદર્શિત કરવા માટે એક ચાર્ટ અને ગેજ.
નોડ-રેડ વિંડોના ઉપરના જમણા ખૂણા પર, ડેશબોર્ડ ટેબ હેઠળ લેઆઉટ ટેબ પસંદ કરો. રૂમ નામનું એક ટેબ બનાવો અને રૂમ ટેબની અંદર, બે જૂથો બનાવો: દીવો અને સેન્સર નીચેની આકૃતિમાં બતાવ્યા પ્રમાણે.
પ્રવાહ બનાવી રહ્
યા છે
પ્રવાહ માટે નીચેના ગાંઠો ખેંચો - નીચે આકૃતિ જુઓ:

સ્વીચ - આ ESP8266 આઉટપુટને નિયંત્રિત કરશે
એમક્યુટીટી આઉટપુટ નોડ - આ સ્વીચ સ્થિતિ અનુસાર ઇએસપી 8266 ને સંદેશ પ્રકાશિત કરશે
2x એમક્ટીટી ઇનપુટ નોડ્સ - ઇએસપી પાસેથી સેન્સર ડેટા પ્રાપ્ત કરવા માટે આ ગાંઠો તાપમાન અને ભેજ વિષયના સબ્સ્ક્રાઇબ થશે
ચાર્ટ - તાપમાન સેન્સર રીડિંગ્સ પ્રદર્શિત કરશે
ગેજ - ભેજ સેન્સર રીડિંગ્સ પ્રદર્શિત કરશે
નોડ-રેડ અને એમક્યુટીટી બ્રોકરને કનેક્ટ થવાની જરૂર છે. ન્યુક-આરઈડી સાથે એમક્યુટીટી બ્રોકરને કનેક્ટ કરવા માટે, એમક્યુટીટી આઉટપુટ નોડ પર ડબલ-ક્લિક કરો. નવી વિંડો પsપ અપ - નીચે આકૃતિમાં બતાવ્યા પ્રમાણે
નવું એમક્ટીએટીટી-બ્રોકર ઉમેરો વિકલ્પને ક્લિક કરો.
સર્વર ફીલ્ડમાં લોકલહોસ્ટ લખો
અન્ય બધી સેટિંગ્સ ડિફ byલ્ટ રૂપે યોગ્ય રીતે ગોઠવેલ છે.
ઉમેરો દબાવો અને એમક્યુટીટી આઉટપુટ નોડ આપમેળે તમારા બ્રોકર સાથે કનેક્ટ થાય છે.
સ્વીચ - જ્યારે ચાલુ હોય ત્યારે સ્વીચ anન સ્ટ્રિંગ સંદેશ મોકલે છે; અને stringફ સ્ટ્રિંગ મેસેજ મોકલે છે જ્યારે તે બંધ હોય. આ નોડ ખંડ / દીવો વિષય પર પ્રકાશિત કરશે. પછી તમારા ઇએસપીને તેના સંદેશા પ્રાપ્ત કરવા માટે, આ મુદ્દા પર સબ્સ્ક્રાઇબ કરવામાં આવશે.
mqtt આઉટપુટ નોડ. આ નોડ મચ્છર દલાલ સાથે જોડાયેલ છે અને તે ઓરડા / દીવો વિષયમાં પ્રકાશિત કરશે.

mqtt ઇનપુટ નોડ. ESP8266 માંથી તાપમાન સેન્સર ડેટા પ્રાપ્ત કરવા માટે આ નોડ ખંડ / તાપમાનના વિષય પર સબ્સ્ક્રાઇબ થયેલ છે. ESP8266 આ મુદ્દા પર તાપમાન વાંચનને ધ્યાને રાખશે.
ચાર્ટ. ચાર્ટ ખંડ / તાપમાનના વિષય પર પ્રાપ્ત રીડિંગ્સ પ્રદર્શિત કરશે.

mqtt ઇનપુટ નોડ. ESP8266 માંથી ભેજ સેન્સર ડેટા પ્રાપ્ત કરવા માટે આ નોડ ખંડ / ભેજ વિષય પર સબ્સ્ક્રાઇબ થયેલ છે. ESP8266 આ જ વિષય પર ભેજનું વાંચન દબાણ કરશે.
ગેજ. ગેજ રૂમ / ભેજ વિષય પર પ્રાપ્ત રીડિંગ્સ પ્રદર્શિત કરશે.
તમારા આર્દુનો IDE તૈયાર કરી રહ્યા છીએ
અમે અરડિનો આઇડીઇનો ઉપયોગ કરીને ESP8266 પ્રોગ્રામ કરીશું. અરડિનો IDE નો ઉપયોગ કરીને તમારા ESP8266 પર કોડ અપલોડ કરવા માટે, તમારે ESP8266 82ડ-installન સ્થાપિત કરવું પડશે (અરડુનો IDE માં ESP8266 બોર્ડ કેવી રીતે ઇન્સ્ટોલ કરવું). તમારા ESP8266 માટે બધું તૈયાર રાખવા માટે તમારે બે વધારાની પુસ્તકાલયો પણ ઇન્સ્ટોલ કરવાની રહેશે.
પબસબ્લ્યુઅન્ટ લાઇબ્રેરી સ્થાપિત કરી રહ્યું છે
પબસબ્લક્લાયન્ટ લાઇબ્રેરી, સર્વર સાથે સરળ પબ્લિશ / સબ્સ્ક્રાઇબ મેસેજિંગ કરવા માટે ક્લાયંટ પ્રદાન કરે છે જે એમક્યુટીટીને સપોર્ટ કરે છે (મૂળભૂત રીતે તમારા ઇએસપી 8266 ને નોડ-રેડ સાથે વાત કરવાની મંજૂરી આપે છે).
1) પબસ્બ્લક્લાયન્ટ લાઇબ્રેરીને ડાઉનલોડ કરવા અહીં ક્લિક કરો. તમારી પાસે તમારા ડાઉનલોડ્સ ફોલ્ડરમાં. ઝિપ ફોલ્ડર હોવું જોઈએ
2). ઝિપ ફોલ્ડરને અનઝિપ કરો અને તમારે પબ્સબ્લક્લિએન્ટ-માસ્ટર ફોલ્ડર મેળવવું જોઈએ
3) તમારા ફોલ્ડરને પબ્સબ્લક્લીઅનથી નામ બદલો
#include <ESP8266WiFi.h>
#include <PubSubClient.h>
#include "DHT.h"
#define DHTTYPE DHT11
const char* ssid = "REPLACE_WITH_YOUR_SSID";
const char* password = "REPLACE_WITH_YOUR_PASSWORD";
const char* mqtt_server = "REPLACE_WITH_YOUR_RPI_IP_ADDRESS";
WiFiClient espClient;
PubSubClient client(espClient);
const int DHTPin = 5;
const int lamp = 4;
DHT dht(DHTPin, DHTTYPE);
long now = millis();
long lastMeasure = 0;
void setup_wifi() {
delay(10);
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.print("WiFi connected - ESP IP address: ");
Serial.println(WiFi.localIP());
}
void callback(String topic, byte* message, unsigned int length) {
Serial.print("Message arrived on topic: ");
Serial.print(topic);
Serial.print(". Message: ");
String messageTemp;
for (int i = 0; i < length; i++) {
Serial.print((char)message[i]);
messageTemp += (char)message[i];
}
Serial.println();
if(topic=="room/lamp"){
Serial.print("Changing Room lamp to ");
if(messageTemp == "on"){
digitalWrite(lamp, HIGH);
Serial.print("On");
}
else if(messageTemp == "off"){
digitalWrite(lamp, LOW);
Serial.print("Off");
}
}
Serial.println();
}
void reconnect() {
while (!client.connected()) {
Serial.print("Attempting MQTT connection...");
if (client.connect("ESP8266Client")) {
Serial.println("connected");
client.subscribe("room/lamp");
} else {
Serial.print("failed, rc=");
Serial.print(client.state());
Serial.println(" try again in 5 seconds");
delay(5000);
}
}
}
void setup() {
pinMode(lamp, OUTPUT);
dht.begin();
Serial.begin(115200);
setup_wifi();
client.setServer(mqtt_server, 1883);
client.setCallback(callback);
}
void loop() {
if (!client.connected()) {
reconnect();
}
if(!client.loop())
client.connect("ESP8266Client");
now = millis();
if (now - lastMeasure > 30000) {
lastMeasure = now;
float h = dht.readHumidity();
float t = dht.readTemperature();
float f = dht.readTemperature(true);
if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
float hic = dht.computeHeatIndex(t, h, false);
static char temperatureTemp[7];
dtostrf(hic, 6, 2, temperatureTemp);
static char humidityTemp[7];
dtostrf(h, 6, 2, humidityTemp);
client.publish("room/temperature", temperatureTemp);
client.publish("room/humidity", humidityTemp);
Serial.print("Humidity: ");
Serial.print(h);
Serial.print(" %\t Temperature: ");
Serial.print(t);
Serial.print(" *C ");
Serial.print(f);
Serial.print(" *F\t Heat index: ");
Serial.print(hic);
Serial.println(" *C ");
}
} કોડ અપલોડ કર્યા પછી, અને રાસ્પબરી પાઇ તમારી નોડ-આરઇડી એપ્લિકેશન અને મોસ્કિટ્ટો બ્રોકર ચલાવશે પછી, તમે 115200 ના બાઉડ દરે આર્ડિનો આઈડીઈ સીરીયલ મોનિટર ખોલી શકો છો અને રીઅલ ટાઇમમાં શું થઈ રહ્યું છે તે જોઈ શકો છો.
ESP એ તમારા રાઉટર અને મોસ્ક્વિટ્ટો બ્રોકર સાથે સફળ જોડાણ સ્થાપિત કર્યું છે કે કેમ તે તપાસવામાં આ મદદરૂપ છે. તમે ઇએસપી પ્રાપ્ત કરેલા અને પ્રકાશિત થયેલા સંદેશાઓને પણ જોઈ શકો છો.
Comments
Post a Comment