Мазмұны:
- 1 -қадам: құрастыру
- 2 -қадам: Ассамблея - Кесте
- 3 -қадам: TFT_eSPI кітапханасы
- 4 -қадам: ESP32_Check_Internet_Connection.ino
- 5 -қадам: файлдарды жүктеңіз
Бейне: Егер сіздің сілтемеңіз бұзылса ше ?: 5 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:24
Бұл бейнеде біз ESP32 және SIM800 бар сілтеме түсіру сенсорын жасаймыз. Бұл дегеніміз, бұл жобаның көмегімен біз Интернетке қосылуды тексере аламыз, ал байланыс үзілген жағдайда, желіде ақау бар екенін хабарлау үшін телефон нөміріне қоңырау шалыңыз.
Бұл бақылаудың бұл түрін жүргізудің көптеген әдістерінің бірі. Қарапайым болғанымен, бұл сіздің CPD ішінде болуы мүмкін әр түрлі құрылғыларды тексеруге мүмкіндік береді. ESP32 пайдалану кезінде оның тексеру күші едәуір артады. Мен бұл мысалда WiFi қолданғаныммен, қаласаңыз, сымды интернетті қолдана аласыз.
1 -қадам: құрастыру
2 -қадам: Ассамблея - Кесте
3 -қадам: 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 -қадам: файлдарды жүктеңіз
МЕН ЖОҚ
Ұсынылған:
Raspberry Pi 4 Retropie жүктеуі, егер SD картасы болмаса, 5 қадам
SD картасы болмаса Raspberry Pi 4 Retropie жүктеуі: ~ github.com/engrpanda
Егер түтін анықталса, SMS жіберу (Arduino+GSM SIM900A: 5 қадам
Егер түтін табылса, SMS жіберу (Arduino+GSM SIM900A: Сәлем баршаңызға! Мен бірінші нұсқаулықта газ дабылын қолданамын, егер ластану анықталса, қолданушыға хабарлама жіберемін. Бұл Arduino, GSM модулін және электрохимиялық қосылысты қолданатын қарапайым прототип болады. түтін датчигі. Болашақта оны ұзартуға болады
Экспресс-робот- егер бұл одан да көп болса: 5 қадам
Экспресс-робот- Егер бұл одан да көп болса: Сәлеметсіз бе, экспрессивті робот Instructable.DIt is it instruable is a way to be auf heber gewerkt tijdens mijn les van. If If Than Tho. . Де робот серіктестігі
Егер бұл ArDino болса: 3 қадам
Егер бұл ArDino болса: біздің мектеп жобасы үшін, егер бұл жағдайда біз ардуино көмегімен интерактивті объект жасауымыз керек еді. Мен сүйкімді Ардино жасауды шештім. Ол өте талантты және түймені басу арқылы юра саябағының тақырыбын айтады
Ковид-19 маскасы, егер сіз бетіңізге тигізсеңіз, сізге айқайлайды: 4 қадам
Ковид-19 маскасы, егер сіз бетіңізге тигізсеңіз, сізге айқайлайды: бетіңізге тигізуді тоқтата алмайсыз ба? Бұл электрониканы маскаға жабыстырыңыз, сонда сіз мұны жасамауды үнемі ескертесіз