Мазмұны:

Егер сіздің сілтемеңіз бұзылса ше ?: 5 қадам
Егер сіздің сілтемеңіз бұзылса ше ?: 5 қадам

Бейне: Егер сіздің сілтемеңіз бұзылса ше ?: 5 қадам

Бейне: Егер сіздің сілтемеңіз бұзылса ше ?: 5 қадам
Бейне: Top 10 Foods To Detox Your Kidneys 2024, Қараша
Anonim
Image
Image
Егер сіздің сілтемеңіз бұзылса ше?
Егер сіздің сілтемеңіз бұзылса ше?

Бұл бейнеде біз ESP32 және SIM800 бар сілтеме түсіру сенсорын жасаймыз. Бұл дегеніміз, бұл жобаның көмегімен біз Интернетке қосылуды тексере аламыз, ал байланыс үзілген жағдайда, желіде ақау бар екенін хабарлау үшін телефон нөміріне қоңырау шалыңыз.

Бұл бақылаудың бұл түрін жүргізудің көптеген әдістерінің бірі. Қарапайым болғанымен, бұл сіздің CPD ішінде болуы мүмкін әр түрлі құрылғыларды тексеруге мүмкіндік береді. ESP32 пайдалану кезінде оның тексеру күші едәуір артады. Мен бұл мысалда WiFi қолданғаныммен, қаласаңыз, сымды интернетті қолдана аласыз.

1 -қадам: құрастыру

Ассамблея
Ассамблея

2 -қадам: Ассамблея - Кесте

Құрастыру - кесте
Құрастыру - кесте

3 -қадам: TFT_eSPI кітапханасы

TFT_eSPI кітапханасы
TFT_eSPI кітапханасы
TFT_eSPI кітапханасы
TFT_eSPI кітапханасы

Arduino IDE-де Sketch-> Қосу тармағына өтіңіз

Кітапхана-> Кітапханаларды басқару …

TFT_eSPI орнатыңыз

Кітапхана қалтасына өтіп, суретте көрсетілгендей қалу үшін User_Setup.h файлының жолдарын өзгертіңіз.

4 -қадам: ESP32_Check_Internet_Connection.ino

Қосады және анықтайды

#анықтау TINY_GSM_MODEM_SIM800#қосу

#қосу

#қосу

#қосу

// Сымсыз SSID «SSID» анықтаңыз #«12345678» ПАРОЛЬДІ анықтаңыз //+55 DDD Número do celular #deferine USER_PHONE_NUMBER «+5518912345678» // Тапсырысты шешіңіз como desconectado #dexine MAX_DISCONNECTED_TIME 10000 // 10 сегмент // Уақыттың ұзақтығы #define MAX_CALL_TIME_INTERVAL 1800000 // 30 мин // Usar 1 сериялы HardwareSerialGSM (1); TinyGsm модемі GSM (SerialGSM); // Интернетке кіру жылдамдығы және уақыт uint32_t lastTimeConnected = 0; // Уақыт өте келе. Colocamoso como -MAX_CALL_TIME_INTERVAL -бұл ең алдымен //intech_int lastTimeCalledPhone = -MAX_CALL_TIME_INTERVAL; // User_Setup.h макаронының тізімі, TFT_eSPI библиотекасының дисплейі = TFT_eSPI ();

Орнату

void setup () {Serial.begin (115200); setupDisplay (); // GSM () дисплейінің конфигурациясы мен конфигурациясы; // GSM xTaskCreatePinnedToCore қызметін тексеру (checkWiFiConnection, // «checkWiFiConnection» функциясын орындау, // 10000 номері, // Таманьо да пилха NULL, // Parametro de tarefa (ешқандай артықшылықтар жоқ) // NULL, // TAREFA NAVO SERVERENA CREADA (ешқандай шарт жоқ) 0); // Негізгі тапсырмаларды орындау үшін негізгі функция (x 0) xTaskCreatePinnedToCore (checkInternet, // «CheckInternet» функциясының орындалуы, // Nome da tarefa 10000, // Таманхо да) NULL, // Parametro da tarefa (no caso não usamos) 2, // Priorityade da tarefa NULL, // Caso queria manter uma referência a tarefa que vai ser criada (caso não precisamos жоқ) 0); // Тапсырмалар орындалады (ядро 0 -ге тең болады);

Орнату Дисплей

void setupDisplay () {display.init (); // Display.setRotation (1) дисплейін көрсету; // Rotaciona display.fillScreen (TFT_BLUE); // Limpa дисплейі немесе дисплейі.setTextColor (TFT_WHITE, TFT_BLUE); // Coloca немесе texto como branco com fundo azul display.setTextWrap (жалған, жалған); // Display.setTextSize (1); // Текст дисплей.setCursor (0, 0, 2); // Позициялар, мәтіндер}

GSM орнату

void setupGSM () {showDisplay («GSM орнату»); // OMODO GSM GPIO 4 немесе 2 SerialGSM.begin (9600, SERIAL_8N1, 4, 2, жалған); кешіктіру (1000); // Қайта іске қосыңыз, егер (! ModemGSM.restart ()) {ESP.restart (); қайтару; } // Espera pela rede celular if (! ModemGSM.waitForNetwork ()) {display.setCursor (0, 0); showDisplay («GSM желісінің қатесі»); кешіктіру (3000); ESP.restart (); қайтару; }}

Wi -Fi қосылымын тексеріңіз

жарамсыз checkWiFiConnection (void* p) {while (true) {// Егер (WiFi.status ()! = WL_CONNECTED) {// Manda conectar connectWiFi (); } // 1s da tarefa кідірісі. Кенелер. Тапсырыс порт -TICK_PERIOD_MS TickType_t taskDelay = 1000 / portTICK_PERIOD_MS; vTaskDelay (taskDelay); }}

Wi -Fi желісіне қосылу

жарамсыз connectWiFi () {// Wi -Fi.begin (SSID, PASSWORD) байланыстарын орнату; Serial.println («Қосылу»); // Espera no while até conectar while (WiFi.status ()! = WL_CONNECTED) {Serial.print («.»); кешіктіру (500); } // Serial.println () сілтемесін таңдаңыз; Serial.println («Қосылды»); }

Интернетті тексеру

void checkInternet (void* p) {// Delay de 5 segundos da tarefa. Кенелер. Міндетті түрде портTICK_PERIOD_MS TickType_t taskDelay = 5000 / portTICK_PERIOD_MS; while (true) {// Интернет байланысы if (hasInternet ()) {// Ақпараттың жылдамдығы lastTimeConnected = millis (); } // Қолдану немесе кешіктіру vTaskDelay (taskDelay); }}

Интернет бар

bool hasInternet () {WiFiClient клиенті; // Endreço IP do google 172.217.3.110 IPAddress adr = IPAddress (172, 217, 3, 110); // client.setTimeout (5) үшін уақытша шектеулер; // Tenta conectar bool қосылған = client.connect (adr, 80); // Fex a conexão client.stop (); // Retorna true se está conectado ou false se está desconectado қайтару қосылды; }

Цикл

void loop () {// Егер сіз isDisconnectedForTooLong ()) анықтайтын болсаңыз, онда // // DisplayDisplay («Ажыратылған») дисплейі жоқ; // Егер телефон байланысы анықталса, онда (hasNotCalledPhoneInAWhile ()) {// Телефон байланысының анықтамасы CallPhone (); }} else {// Mostra no display que está conectado showDisplay («Қосылды»); } // Espera 1 циклды кешіктіру (1000); }

isDisconnectedForTooLong

bool isDisconnectedForTooLong () {// Қайтару жылдамдығы миллис () - lastTimeConnected> MAX_DISCONNECTED_TIME; } bool hasNotCalledPhoneInAWhile () {// қайтару үшін миллис () - lastTimeCalledPhone> MAX_CALL_TIME_INTERVAL; }

қоңырау Телефон

жарамсыз callPhone () {// телефон байланысының анықтамасы, егер (модемGSM.callNumber (USER_PHONE_NUMBER)) {// Тіркелу Serial.println («қоңырау шалу жақсы») мүмкін болса; // Ақырғы уақыттың жылдамдығы соңғыTimeCalledPhone = millis (); } else {// Serial.println («телефон байланысы істен шықты»); } // Терминал модулі GSM.callHangup (); }

showDisplay

void showDisplay (String хабарламасы) {// Дисплейде дисплей, дисплейде көрсетілетін қызметтер, extras display.setCursor (0, 0); display.println (хабар + «»); }

5 -қадам: файлдарды жүктеңіз

PDF

МЕН ЖОҚ

Ұсынылған: