विषयसूची:
- चरण 1: विधानसभा
- चरण 2: विधानसभा - तालिका
- चरण 3: TFT_eSPI लाइब्रेरी
- चरण 4: ESP32_Check_Internet_Connection.ino
- चरण 5: फ़ाइलें डाउनलोड करें
वीडियो: क्या होगा यदि आपका लिंक क्रैश हो जाता है ?: 5 कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:21
इस वीडियो में, हम एक ESP32 और एक SIM800 के साथ एक लिंक ड्रॉप सेंसर बनाएंगे। इसका मतलब यह है कि इस परियोजना के साथ, हम इंटरनेट से कनेक्शन को सत्यापित कर सकते हैं, और कनेक्शन विफल होने की स्थिति में, एक टेलीफोन नंबर पर कॉल करके सूचित करें कि नेटवर्क संकट में है।
यह कई तरीकों में से एक है जिससे आप इस प्रकार की निगरानी कर सकते हैं। हालांकि यह आसान है, यह आपको विभिन्न उपकरणों का परीक्षण करने की अनुमति देता है जो आपके सीपीडी में मौजूद हो सकते हैं। ESP32 का उपयोग करते समय इसकी जांच की शक्ति बहुत अधिक हो जाती है। हालांकि मैं इस उदाहरण में वाईफाई का उपयोग करता हूं, आप चाहें तो वायर्ड इंटरनेट का उपयोग कर सकते हैं।
चरण 1: विधानसभा
चरण 2: विधानसभा - तालिका
चरण 3: TFT_eSPI लाइब्रेरी
Arduino IDE में, स्केच पर जाएँ-> शामिल करें
पुस्तकालय-> पुस्तकालय प्रबंधित करें …
TFT_eSPI स्थापित करें
लाइब्रेरी फोल्डर में जाएं और User_Setup.h फाइल की लाइन्स को बदलें, जैसा कि इमेज में दिखाया गया है।
चरण 4: ESP32_Check_Internet_Connection.ino
शामिल करें और परिभाषित करें
#परिभाषित करें TINY_GSM_MODEM_SIM800#शामिल करें
#शामिल
#शामिल
#शामिल
// मड पैरा ओ नोम ई सेना दा सुआ रेड वाईफाई क्यू टेस्टर #परिभाषित एसएसआईडी "एसएसआईडी" # परिभाषित पासवर्ड "12345678" // +55 डीडीडी नोमेरो सेल्यूलर # परिभाषित करें USER_PHONE_NUMBER "+5518912345678" // टेम्पो पर विचार करें कोमो डिस्कोनेक्टैडो #define MAX_DISCONNECTED_TIME 10000 ///10 seg // टेम्पो क्यू देवे एस्पेरार पैरा कैडा लीगाको #define MAX_CALL_TIME_INTERVAL 1800000 // 30 मिनट // उसर सीरियल 1 पैरा ओ मोडुलो जीएसएम हार्डवेयर सीरियल सीरियल जीएसएम (1); टाइनीजीएसएम मॉडेमजीएसएम (सीरियलजीएसएम); // टेम्पो एम क्यू कनेक्टो इंटरनेट पेला ltima vez uint32_t lastTimeConnected = 0; // टेम्पो एम क्यू फेज़ ए अल्टिमा लिगाकाओ। कोलोकैमोस कोमो -MAX_CALL_TIME_INTERVAL पैरा लीगर इमीडियाटामेंट // दा प्राइमेरा वेज़ क्यू केयर uint32_t lastTimeCalledPhone = -MAX_CALL_TIME_INTERVAL; //Pinagem em User_Setup.h और पास्ता दा biblioteca TFT_eSPI डिस्प्ले = TFT_eSPI();
सेट अप
शून्य सेटअप () {Serial.begin (115200); सेटअप डिस्प्ले (); // इनिशियलाइज़ा ई कॉन्फिगुरा या डिस्प्ले सेटअपजीएसएम (); // इनिशियलाइज़ा ओ मोडुलो जीएसएम xTaskCreatePinnedToCore(checkWiFiConnection, //Função que será executada "checkWiFiConnection", // Nome da tarefa 10000, //Tamanho da pilha NULL, // Parametro da tarefa (no caso não usamos) दा तारेफा न्यूल, // कैसो क्वेरिया मैन्टर उमा रेफरेन्सिया पैरा ए तारेफा क्यू वै सेर क्रिआडा (नो कैसो नो प्रीसीसामोस) 0); // नोमेरो डू कोर क्यू सेरा एक्सक्यूटाडा ए तारेफा (उसमोस ओ कोर 0 पैरा ओ लूप फिकर लाइवर कॉम ओ कोर 1) xTaskCreatePinnedToCore(checkInternet, //Função que será executada "checkInternet", //Nome da tarefa 10000, //Tamanho da पिला नल, // Parametro da tarefa (no caso não usamos) 2, //Prioridade da tarefa NULL, //Caso queria manter uma Referência para a tarefa que Vai ser criada (no caso não precisamos) 0); // नोमेरो डू कोर क्यू सेरा एक्जीक्यूटाडा ए तारेफा (उसमोस ओ कोर ० पैरा ओ लूप फिकर लिवर कॉम ओ कोर १) }
सेटअप प्रदर्शन
शून्य सेटअप डिस्प्ले () {डिस्प्ले.इनिट (); // इनिशियलाइज़ या डिस्प्ले डिस्प्ले.सेटरोटेशन(1); // रोटासिओना डिस्प्ले.फिलस्क्रीन (TFT_BLUE); // लिम्पा ओ डिस्प्ले कॉम ए कोर अज़ुल डिस्प्ले।सेटटेक्स्टकोलर (टीएफटी_व्हाइट, टीएफटी_बीएलयूई); // कोलोका या टेक्स्टो कोमो ब्रैंको कॉम फंडो अज़ुल डिस्प्ले.सेटटेक्स्टवाप (झूठा, झूठा);//Desativa a quebra de linha display.setTextSize(1); // मुदा ओ तमनहो दो टेक्स्टो डिस्प्ले।सेट कर्सर (0, 0, 2); // Posição x, y e Fonte do texto }
सेटअपजीएसएम
शून्य सेटअपजीएसएम () {शोडिस्प्ले ("सेटअप जीएसएम"); // ओ मोडुलो जीएसएम एस्टा नोस जीपीआईओ 4 ई 2 सीरियलजीएसएम.बेगिन (9600, SERIAL_8N1, 4, 2, झूठा); देरी (1000); // रीस्टार्ट या मोडुलो अगर (!modemGSM.restart ()) {ESP.restart (); वापसी; } // Espera pela rede celular if (!modemGSM.waitForNetwork()) {display.setCursor(0, 0); शोडिस्प्ले ("जीएसएम नेटवर्क त्रुटि"); देरी (3000); ईएसपी.पुनरारंभ (); वापसी; } }
चेकवाईफाईकनेक्शन
void checkWiFiConnection(void* p){ जबकि(true) {//Se não estiver conectado ao roteador if(WiFi.status() != WL_CONNECTED) { // Manda conectar ConnectWiFi (); }//दे 1s दा तारिफा। फीता एम टिक। पैरा एक्जीक्यूटर एम मिलिस डिविडिमोस पेला कॉन्स्टेंट पोर्टTICK_PERIOD_MS TickType_t टास्कडेल = 1000 / portTICK_PERIOD_MS; vTaskDelay (टास्कडेले); } }
कनेक्टवाईफाई
शून्य कनेक्टवाईफाई () {// मांडा कनेक्टर एओ रोटेडोर कॉम ओ नोम ई सेना वाईफाई। बेगिन (एसएसआईडी, पासवर्ड); Serial.println ("कनेक्टिंग"); // Espera no जबकि até conectar जबकि(WiFi.status() != WL_CONNECTED) { Serial.print("."); देरी (500); } // से चेगौ एक्वी एस्टा कोनेक्टैडो सीरियल.प्रिंट्लन (); Serial.println ("कनेक्टेड"); }
चेकइंटरनेट
शून्य चेकइंटरनेट (शून्य * पी) {// विलंब डे 5 सेगुंडोस दा तारेफा। फीता एम टिक। पैरा एक्जीक्यूटर एम मिलिस डिविडिमोस पेला कॉन्स्टेंट पोर्टTICK_PERIOD_MS TickType_t टास्कडेल = 5000 / portTICK_PERIOD_MS; जबकि (सच) {// इंटरनेट से इंटरनेट अगर (हैइंटरनेट ()) {//अटुआलिज़ा ओ टेम्पो एम क्यू एक कॉन्टेसेयू ए útlima conexão lastTimeConnected = मिलिस (); }//अनुप्रयोग या विलंब vTaskDelay(taskDelay); } }
इंटरनेट है
बूल हैइंटरनेट () {वाईफाई क्लाइंट क्लाइंट; //Endreço IP do Google 172.217.3.110 IPAddress adr = IPAddress(172, 217, 3, 110); // क्लाइंट के लिए टेम्पो लिमिट। क्लाइंट.सेटटाइमआउट(5); // टेंटा कनेक्टर बूल कनेक्टेड = क्लाइंट। कनेक्ट (एडीआर, 80); // एक ग्राहक के लिए फेचा।स्टॉप (); // रिटोर्ना ट्रू से एस्टा कनेक्टेडो या फॉल्स से एस्टा डिस्कोनेक्टैडो रिटर्न कनेक्टेड; }
कुंडली
शून्य लूप () {// इस तरह से इस गति को परिभाषित करता है अगर (isDisconnectedForTooLong ()) {//Mostra कोई प्रदर्शन नहीं इस प्रकार प्रदर्शित किया जाता है शोडिस्प्ले ("डिस्कनेक्ट किया गया"); // से फ़ैज़ टेम्पो क्यू नो लीगा पैरा ओ टेलीफ़ोन डेफिनिडो अगर (हैसनॉटकॉलेडफ़ोनइनएव्हाइल ()) {//लिगा पैरा ओ टेलीफ़ोन डेफिनिडो कॉलफ़ोन (); } } और {// मोस्ट्रा नो डिस्प्ले क्यू एस्टा कोनेक्टैडो शोडिस्प्ले ("कनेक्टेड"); } // Espera 1 segundo para a proxima iteração do लूप विलंब(1000); }
डिसकनेक्टेडफॉरटूलॉन्ग
बूल isDisconnectedForTooLong(){//Retorna true se o tempo desde a ltima conexão for maior que o definido return Millis() - lastTimeConnected > MAX_DISCONNECTED_TIME; } bool hasNotCalledPhoneInAWhile() {//Retorna true se o tempo desde a ltima ligacão para o telefone for maior que o definido return Millis() - lastTimeCalledPhone > MAX_CALL_TIME_INTERVAL; }
स्वन करो
शून्य कॉलफ़ोन () {// फ़ज़ ए लिगाकाओ पैरा ओ टेलीफ़ोन डिफिनिडो अगर (मोडेमजीएसएम। कॉलनंबर (USER_PHONE_NUMBER)) {// से एंट्रो एक्वी और पोर्क कॉन्सेगुई रियलिज़र ए लीगाको सीरियल.प्रिंटल ("कॉलफ़ोन ओके"); // अटुआलिज़ा ओ टेम्पो एम क्यू फोई फीता ए अंतिम लिगाकाओ लास्टटाइमकॉलेडफोन = मिलिस (); } और {// से एंट्रौ एक्वी é porque não conseguiu fazer a ligação Serial.println ("कॉलफ़ोन विफल"); } // टर्मिना ए लीगाकाओ मोडेमजीएसएम.कॉलहैंगअप (); }
शोडिस्प्ले
शून्य शोडिस्प्ले (स्ट्रिंग संदेश) {// मोस्ट्रा ए मेन्सेजम और प्राइमिरा लिन्हा डू डिस्प्ले, लिम्पांडो ओएस इवेंटुआइस कैरेक्टर एक्स्ट्रा डिस्प्ले।सेट कर्सर (0, 0); display.println (संदेश + ""); }
चरण 5: फ़ाइलें डाउनलोड करें
पीडीएफ
मैं नहीं
सिफारिश की:
क्या आप जानते हैं कि आपके पौधे कैसा महसूस कर रहे हैं? [कण+यूबिडॉट्स]: ६ कदम
क्या आप जानते हैं कि आपके पौधे कैसा महसूस कर रहे हैं? [पार्टिकल+यूबिडॉट्स]: बाहर घूमने और मिट्टी को संभालने की जगह कुछ भी नहीं ले सकता है, लेकिन आज की तकनीक ने मिट्टी की दूर से निगरानी करना और मेरी मानवीय संवेदनाओं को मापने योग्य मापदंडों को ट्रैक करना संभव बना दिया है। SHT10 जैसी मिट्टी की जांच अब बेहद सटीक है और
ESP32: क्या आप जानते हैं कि DAC क्या है?: 7 कदम
ESP32: क्या आप जानते हैं कि DAC क्या है?: आज, हम दो मुद्दों के बारे में बात करेंगे। पहला DAC (डिजिटल-टू-एनालॉग कन्वर्टर) है। मैं इसे महत्वपूर्ण मानता हूं, क्योंकि इसके माध्यम से, उदाहरण के लिए, हम ESP32 में एक ऑडियो आउटपुट बनाते हैं। दूसरा मुद्दा जिसे हम आज संबोधित करने जा रहे हैं वह है दोलन
यदि अनुदेशों पर प्रताड़ित किया जाए तो क्या करें: 7 कदम
अगर इंस्ट्रक्शंस पर प्रताड़ित किया जाए तो क्या करें: इंस्ट्रक्शंस दुनिया भर के सदस्यों के साथ DIYers का एक परिवार है। परिवार पर जोर दें। कभी-कभी (शुक्र है कि बहुत बार नहीं) कुछ खराब सेब हमारे परिवार में घुस जाते हैं और बाधित करते हैं। इस तरह की स्थिति से निपटना इस निर्देश का विषय है
गुप्त रूप से देखें कि क्या हो रहा है चाहे आप कहीं भी हों: 4 कदम
गुप्त रूप से देखें कि क्या हो रहा है कोई फर्क नहीं पड़ता कि आप कहां हैं: यह निर्देश आपको दिखाएगा कि आप जहां भी हों, अपने वेबकैम का उपयोग करके क्या हो रहा है, यह देखने के लिए आईफोन / आईपॉड टच ऐप "आईकैम" और आपके कंप्यूटर का उपयोग कैसे करें। यह मेरी पहली शिक्षाप्रद है, इसलिए कृपया, कोई कठोर आलोचना न करें। मुझे आपके किसी भी फीडबैक से कोई ऐतराज नहीं है
मेमोरी की कमी से क्रैश होने से बचने के लिए अपना आइपॉड टच कैसे प्राप्त करें (या Iphone यदि आपने वास्तव में इसे गड़बड़ कर दिया है): 3 कदम
मेमोरी की कमी से क्रैश होने से बचने के लिए अपना आइपॉड टच (या आईफोन इफ यू रियली मेस्ड अप) कैसे प्राप्त करें: नमस्ते, आईपॉड टच और आईफोन उपयोगकर्ता। ठीक है, तो मुझे पूरा यकीन है कि आप सभी को ऐप्पल आईपॉड कैसे काम करता है, इसकी थोड़ी बुनियादी समझ है, है ना? आप एक ऐप खोलें। वह ऐप शायद आईपॉड टच 1 जी, उपलब्ध 5-30 एमबी के बीच कहीं भी उपयोग करेगा