विषयसूची:

ESP32 के साथ सेलुलर नेटवर्क के साथ IOT: 23 कदम
ESP32 के साथ सेलुलर नेटवर्क के साथ IOT: 23 कदम

वीडियो: ESP32 के साथ सेलुलर नेटवर्क के साथ IOT: 23 कदम

वीडियो: ESP32 के साथ सेलुलर नेटवर्क के साथ IOT: 23 कदम
वीडियो: ESP32 HOME AUTOMATION WITH GOOGLE ASSISTANT | BEST ESP32 IOT PROJECT 2022 2024, नवंबर
Anonim
Image
Image
प्रदर्शन
प्रदर्शन

आज हम जीपीआरएस मॉडम, या यों कहें, ईएसपी32 और सेलुलर टेलीफोन नेटवर्क के साथ इसके उपयोग के बारे में चर्चा करेंगे। यह कुछ ऐसा है जो बहुत अच्छा काम करता है। MQTT प्रोटोकॉल का उपयोग करते हुए, हम डेटा को Ubidots डैशबोर्ड पर भेजेंगे। इस असेंबली में SIM800L और एक सेल फोन चिप के अलावा सर्किट की प्रतिक्रिया के लिए एक डिस्प्ले का उपयोग करें। इसलिए, इस परियोजना के साथ, हम जीपीआरएस और एमक्यूटीटी के माध्यम से तापमान और आर्द्रता डेटा भेजेंगे, और डेटा को एक लाइन चार्ट में कल्पना करेंगे।

चरण 1: प्रदर्शन

चरण 2: विधानसभा

सभा
सभा

चरण 3: विधानसभा - तालिका

विधानसभा - तालिका
विधानसभा - तालिका

चरण 4: यूबीडॉट्स

उबिडॉट्स
उबिडॉट्स

चरण 5: SimpleDHT लाइब्रेरी

सिंपलडीएचटी लाइब्रेरी
सिंपलडीएचटी लाइब्रेरी

Arduino IDE में, स्केच पर जाएं-> लाइब्रेरी शामिल करें-> लाइब्रेरी प्रबंधित करें …

सरलडीएचटी स्थापित करें

चरण 6: पबसब क्लाइंट लाइब्रेरी

पबसब क्लाइंट लाइब्रेरी
पबसब क्लाइंट लाइब्रेरी

Arduino IDE में, स्केच पर जाएं-> लाइब्रेरी शामिल करें-> लाइब्रेरी प्रबंधित करें …

पबसब क्लाइंट स्थापित करें

चरण 7: टाइनीजीएसएम लाइब्रेरी

टाइनीजीएसएम लाइब्रेरी
टाइनीजीएसएम लाइब्रेरी

Arduino IDE में, स्केच पर जाएं-> लाइब्रेरी शामिल करें-> लाइब्रेरी प्रबंधित करें …

टाइनीजीएसएम स्थापित करें

चरण 8: TFT_eSPI लाइब्रेरी

TFT_eSPI लाइब्रेरी
TFT_eSPI लाइब्रेरी

Arduino IDE में, स्केच पर जाएं-> लाइब्रेरी शामिल करें-> लाइब्रेरी प्रबंधित करें …

TFT_eSPI स्थापित करें

चरण 9: TFT_eSPI लाइब्रेरी

TFT_eSPI लाइब्रेरी
TFT_eSPI लाइब्रेरी

lib फ़ोल्डर में डिस्प्ले पिन बदलें।

पिनिंग User_Setup.h फ़ाइल में है

सी: / उपयोगकर्ता / \ दस्तावेज़ / Arduino / पुस्तकालय / TFT_eSPI

इन डिफ़ॉल्ट को छवि में निम्न मानों में बदलें।

चरण 10: उबिडॉट्स

उबिडॉट्स
उबिडॉट्स
उबिडॉट्स
उबिडॉट्स
उबिडॉट्स
उबिडॉट्स

अपने खाते से यूबीडॉट्स में लॉग इन करें और डिवाइसेस पर क्लिक करें

ऊपरी दाएं कोने में "+" बटन पर क्लिक करें

खाली क्लिक करें

डिवाइस का नाम दर्ज करें। "डिवाइस लेबल" पर ध्यान दें, क्योंकि इसका उपयोग "विषय" में किया जाएगा जिसका उपयोग हम.ino. में करेंगे

उपकरणों की सूची में, आपके द्वारा अभी बनाया गया उपकरण दिखाई देगा। इस पर क्लिक करें।

दिखाई देने वाली स्क्रीन पर, "वेरिएबल जोड़ें" पर क्लिक करें। एक पॉपअप दिखाई देगा। "रॉ" पर क्लिक करें।

टेक्स्ट बॉक्स पर क्लिक करें और प्रॉपर्टी का नाम दर्ज करें।

यह वही होना चाहिए जो हम.ino के जोंस में भेजेंगे। दूसरी संपत्ति के लिए इसे दोहराएं।

Ubidots logo पर क्लिक करके वापस डैशबोर्ड पर जाएं।

डैशबोर्ड में, "नया विजेट जोड़ें" पर क्लिक करें

विजेट्स की सूची में, "डबल एक्सिस" चुनें

चरण 11: डेटा को.ino. में बदलना

डेटा को.ino. में बदलना
डेटा को.ino. में बदलना
डेटा को.ino. में बदलना
डेटा को.ino. में बदलना

चरण 12: GPRS_ESP32_DHT.ino - घोषणाएं और चर

GPRS_ESP32_DHT.ino - घोषणाएं और चर
GPRS_ESP32_DHT.ino - घोषणाएं और चर

#परिभाषित करें TINY_GSM_MODEM_SIM800 // टिपो डी मॉडेम क्यू एस्टामोस यूएसंडो#शामिल #शामिल करें #शामिल करें #शामिल करें (esp32_gprs é o nome do dispositivo no Ubidots) #define TOPIC "/v1.6/devices/esp32_gprs" // id do dispositivo que pegamos no Painel do Ubidots #define DEVICE_ID "5c01234567890abc12345678" mqtt://things.ubidots.com" // पोर्टा पैड्रो डू MQTT #define MQTT_PORT 1883 // Pino onde está o DHT22 #define DHT_PIN 27

चरण 13: पिनिंग

पिनिंग
पिनिंग

//Pinagem em User_Setup.h और पास्ता दा bibliotecaTFT_eSPI डिस्प्ले = TFT_eSPI(); // इंटरवलो एंटर ओएस एनविओस ई रिफ्रेश दा तेल # डिफाइन इंटरवल 10000 // कैनाल सीरियल क्यू वामोस यूसर पैरा कॉम्यूनिकारमोस कॉम ओ मॉडेम। सेपर 1 हार्डवेयर सीरियल सीरियल जीएसएम (1) का उपयोग करें; टाइनीजीएसएम मॉडेमजीएसएम (सीरियलजीएसएम); TinyGsmClient gsmClient (modemGSM); // क्लाइंट MQTT, एक url do सर्वर, एक पोर्टा // e o क्लाइंट GSM PubSubClient क्लाइंट (MQTT_SERVER, MQTT_PORT, gsmClient); // टेम्पो एम क्यू ओ último envio/refresh foi feito uint32_t lastTime = 0; फ्लोट नमी; // वेरिआवेल ओन्डे इरेमोस आर्मज़ेनर या वेलोर दा उमिददे फ्लोट तापमान; // वेरिअवेल ओन्डे इरेमोस आर्मज़ेनर या वेलोर दा टेम्पेरेटुरा सिंपलडीएचटी२२ डीएचटी; // ओब्जेतो क्यू रियलिज़रा ए लीतुरा दा उमिददे ई टेम्परेचर

चरण 14: सेटअप

शून्य सेटअप () {Serial.begin(११५२००); सेटअप डिस्प्ले (); // इनिशियलाइज़ा ई कॉन्फिगुरा या डिस्प्ले सेटअपजीएसएम (); // इनिशियलाइज़ा e configura या मॉडेम GSM ConnectMQTTServer (); // Conectamos ao mqtt सर्वर // Espera 2 segundos e limpamos o display देरी (2000); डिस्प्ले.फिलस्क्रीन (TFT_BLUE); डिस्प्ले.सेट कर्सर (0, 0); }

चरण 15: सेटअप प्रदर्शन

शून्य सेटअप डिस्प्ले () {डिस्प्ले.इनिट (); डिस्प्ले.सेटरोटेशन(1); डिस्प्ले.फिलस्क्रीन (TFT_BLUE); // लिम्पा ओ डिस्प्ले कॉम ए कोर अज़ुल डिस्प्ले।सेटटेक्स्टकोलर (टीएफटी_व्हाइट, टीएफटी_बीएलयूई); // कोलोका या टेक्स्टो कोमो ब्रैंको कॉम फंडो अज़ुल डिस्प्ले.सेटटेक्स्टव्रैप (सच, सच);//अतिवा क्यूब्रा डे लिन्हा डिस्प्ले।सेटटेक्स्टसाइज(1); डिस्प्ले.सेट कर्सर (0, 0, 2); // Posicção x, y e fonte do texto display.println ("सेटअप डिस्प्ले पूर्ण"); }

चरण 16: सेटअपजीएसएम

शून्य सेटअपजीएसएम(){ display.println ("जीएसएम सेटअप करें …"); // इनिशिएलिज़ामोस एक सीरियल ऑनडे एस्टा ओ मॉडेम सीरियलजीएसएम.बेगिन (9600, SERIAL_8N1, 4, 2, असत्य); देरी (3000); // मोडेम सीरियल.प्रिंट्लन (modemGSM.getModemInfo ()); // प्रारंभिक मोडेम अगर (!modemGSM.restart ()) {display.println ("जीएसएम मोडेम को पुनरारंभ करना विफल"); देरी (10000); ईएसपी.पुनरारंभ (); वापसी; } // Espera pela rede if (!modemGSM.waitForNetwork()) { display.println ("नेटवर्क से कनेक्ट करने में विफल"); देरी (10000); ईएसपी.पुनरारंभ (); वापसी; } //Conecta rede gprs (APN, usuário, senha) if (!modemGSM.gprsConnect("", "", "")) {display.println("GPRS Connection Failed"); देरी (10000); ईएसपी.पुनरारंभ (); वापसी; } display.println ("सेटअप जीएसएम सक्सेस"); }

चरण 17: ConnectMQTTServer

void ConnectMQTTServer() { display.println ("MQTT सर्वर से कनेक्ट हो रहा है …"); // से कनेक्ट एओ डिवाइस क्यू निश्चित रूप से अगर (क्लाइंट.कनेक्ट (DEVICE_ID, टोकन, "")) {// से एक कोनेक्सो फोई बेम सुसेडिडा डिस्प्ले।प्रिंटल ("कनेक्टेड"); } और {// से ocorreu algum त्रुटि प्रदर्शन.प्रिंट ("त्रुटि ="); डिस्प्ले.प्रिंट्लन (क्लाइंट.स्टेट ()); देरी (10000); ईएसपी.पुनरारंभ (); } }

चरण 18: लूप

शून्य लूप () {// फ़ैज़ ए लेइटुरा दा उमिददे ई टेम्परेचर रीडडीएचटी (); // से डिस्कोनेक्टो सर्वर एमक्यूटीटी करते हैं अगर (! क्लाइंट। कनेक्टेड ()) {//मैंडामोस कोनेक्टर कनेक्टएमक्यूटीटीसेवर (); } // टेम्पो डेकोरिडो देसदे ओ बूट एम मिलिसेगुंडोस अहस्ताक्षरित लॉन्ग नाउ = मिलिस (); // से पासो ओ इंटरवलो डे एनवियो अगर (अब - लास्टटाइम> इंटरवल) {//पब्लिकमोस पैरा ओ सर्वर एमक्यूटी पब्लिश एमक्यूटीटी (); // मोस्ट्रामोस ओएस डैडोस नो डिस्प्ले शोडेटाऑनडिस्प्ले (); // अटुआलिज़ामोस ओ टेम्पो एम क्यू फोई फीटो ओ अल्टिमो एनवियो लास्टटाइम = अब; } }

चरण 19: डीएचटी पढ़ें

शून्य रीडडीएचटी () {फ्लोट टी, एच; // फ़ैज़ ए लेइटुरा दा उमिदडे ई टेम्परेचर ई एपेनस अट्यूलिज़ा एज़ वेरिएविस से फ़ोई बेम सुसेडिडो अगर (dht.read2(DHT_PIN, &t, &h, NULL) == SimpleDHTErrSuccess) {तापमान = t; आर्द्रता = एच; } }

चरण 20: प्रकाशित करेंएमक्यूटीटी

शून्य प्रकाशित एमक्यूटीटी () {//क्रिया या जेसन क्यू iremos enviar ओ सर्वर एमक्यूटीटी स्ट्रिंग संदेश = createJsonString (); सीरियल.प्रिंट ("संदेश प्रकाशित करें:"); सीरियल.प्रिंट्लन (संदेश); //Publicamos no topico int status = client.publish(TOPIC, msg.c_str ()); Serial.println("Status:" + String(status));//Status 1 se sucesso ou 0 se deu erro }

चरण 21: CreateJsonString

क्रिएटजेसनस्ट्रिंग
क्रिएटजेसनस्ट्रिंग

स्ट्रिंग createJsonString () {स्ट्रिंग डेटा = "{"; if(!isnan(humidity) && !isnan(temperature)) { data+="\"humidity\":"; डेटा + = स्ट्रिंग (आर्द्रता, 2); डेटा + = ","; डेटा+="\"तापमान\":"; डेटा + = स्ट्रिंग (तापमान, 2); } डेटा+="}"; डेटा वापस करें; }

चरण 22: ShowDataOnDisplay

शून्य शोडाटाऑनडिस्प्ले () {// रीसेट ए पॉसीकाओ डो कर्सर ई मोस्टरा umidade और टेम्परेचर लिडास डिस्प्ले। सेट कर्सर (0, 0, 2); display.println ("आर्द्रता:" + स्ट्रिंग (आर्द्रता, 2)); display.println ("तापमान:" + स्ट्रिंग (तापमान, 2)); }

चरण 23: फ़ाइलें

फ़ाइलें डाउनलोड करें

मैं नहीं

पीडीएफ

सिफारिश की: