ዝርዝር ሁኔታ:

አገናኝዎ ቢሰናከልስ? - 5 ደረጃዎች
አገናኝዎ ቢሰናከልስ? - 5 ደረጃዎች

ቪዲዮ: አገናኝዎ ቢሰናከልስ? - 5 ደረጃዎች

ቪዲዮ: አገናኝዎ ቢሰናከልስ? - 5 ደረጃዎች
ቪዲዮ: በነጻ $ 500 + በኢሜል በነፃ (ክሬዲት ካርድ አያስፈልግም)-በመስመ... 2024, ሀምሌ
Anonim
Image
Image
የእርስዎ አገናኝ ቢሰናከልስ?
የእርስዎ አገናኝ ቢሰናከልስ?

በዚህ ቪዲዮ ውስጥ ፣ ከ ESP32 እና ከሲም 800 ጋር የአገናኝ ጠብታ ዳሳሽ እንፈጥራለን። ይህ ማለት በዚህ ፕሮጀክት ፣ ከበይነመረቡ ጋር ያለውን ግንኙነት ማረጋገጥ እንችላለን ፣ እና የግንኙነት ውድቀት ከተከሰተ ፣ አውታረ መረቡ ችግር እንዳለበት ለማሳወቅ የስልክ ቁጥር ይደውሉ።

ይህ ዓይነቱን ክትትል ማድረግ የሚችሉበት ብዙ መንገዶች ይህ ናቸው። ቀላል ቢሆንም ፣ በ CPD ውስጥ ሊኖሩ የሚችሉ የተለያዩ መሳሪያዎችን እንዲሞክሩ ያስችልዎታል። ESP32 ን ሲጠቀሙ የእሱ የመፈተሽ ኃይል በጣም ይበልጣል። በዚህ ምሳሌ ውስጥ WiFi ን ብጠቀምም ፣ ከፈለጉ ፣ ባለገመድ በይነመረብን መጠቀም ይችላሉ።

ደረጃ 1 - ስብሰባ

ስብሰባ
ስብሰባ

ደረጃ 2 - ስብሰባ - ሠንጠረዥ

ስብሰባ - ሠንጠረዥ
ስብሰባ - ሠንጠረዥ

ደረጃ 3 TFT_eSPI ቤተመጽሐፍት

TFT_eSPI ቤተ -መጽሐፍት
TFT_eSPI ቤተ -መጽሐፍት
TFT_eSPI ቤተ -መጽሐፍት
TFT_eSPI ቤተ -መጽሐፍት

በ Arduino IDE ውስጥ ወደ Sketch-> አካትት ይሂዱ

ቤተመፃህፍት-> ቤተመጽሐፍት አስተዳድር…

TFT_eSPI ን ይጫኑ

በምስሉ ላይ እንደሚታየው ለመተው ወደ ቤተ -መጽሐፍት አቃፊው ይሂዱ እና የተጠቃሚ_Setup.h ፋይል መስመሮችን ይለውጡ።

ደረጃ 4: ESP32_Check_Internet_Connection.ino

ያካትታል እና ይገልጻል

#TINY_GSM_MODEM_SIM800#ን ይግለጹ

#ያካትቱ

#ያካትቱ

#ያካትቱ

// Mude para o nome e senha da sua rede WiFi que quer testar #define SSID "SSID" #define PASSWORD "12345678" //+55 DDD Número do celular #define USER_PHONE_NUMBER "+5518912345678" // Tempo que deve esperar para ግምት como desconectado #define MAX_DISCONNECTED_TIME 10000 // 10 seg // Tempo que deve esperar para cada ligação #define MAX_CALL_TIME_INTERVAL 1800000 // 30 ደቂቃ // Usar ተከታታይ 1 para o módulo gsm HardwareSial SerialGSM (1); TinyGsm modemGSM (SerialGSM); // Tempo em que conectou à በይነመረብ pela última vez uint32_t lastTimeConnected = 0; // Tempo em que fez a última ligação. ኮላኮሞስ como -MAX_CALL_TIME_INTERVAL para ligar imediatamente // da primeira vez que cair uint32_t lastTimeCalledPhone = -MAX_CALL_TIME_INTERVAL; // Pinagem em User_Setup.h እና pasta da biblioteca TFT_eSPI ማሳያ = TFT_eSPI ();

አዘገጃጀት

ባዶነት ማዋቀር () {Serial.begin (115200); setupDisplay (); // Inicializa e configura o ማሳያ setupGSM (); // Inicializa o módulo GSM xTaskCreatePinnedToCore (checkWiFiConnection, // Função que será executada "checkWiFiConnection", // Nome da tarefa 10000, // Tamanho da Pil NULL, // Parâmetro da tarefa (ምንም caso não usamos) da tarefa NULL ፣ // Caso queria manter uma referência para a tarefa que vai ser criada (no caso não precisamos) 0); // Nueme do core que será executada a tarefa (usamos o core 0 para o loop ficar livre com o core 1) xTaskCreatePinnedToCore (checkInternet, // Função que será executada "checkInternet", // Nome da tarefa 10000, // Tamanho da pilha NULL ፣ // Parâmetro 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); // Nuemero do core que será executada a tarefa (usamos o core 0 para o loop ficar livre com o core 1)}

SetupDisplay

ባዶነት ማዋቀር ማሳያ () {display.init (); // Inicializa o ማሳያ ማሳያ.setRotation (1); // Rotaciona display.fillScreen (TFT_BLUE); // ሊምፓ ወይም ማሳያ ከኮር አዙል ማሳያ ጋር። setTextColor (TFT_WHITE ፣ TFT_BLUE); // ኮሎካ ወይም ቴክቶ ኮሞ ብራናኮ ኮም ፈንዶ አዙል ማሳያ። ቅንብር ጽሑፍ // ሙዳ o tamanho do texto display.setCursor (0, 0, 2); // Posição x ፣ y fonte do texto}

ማዋቀርGSM

ባዶነት ማዋቀር GSM () {showDisplay («GSM Setup»); // O Módulo GSM está nos GPIOs 4 e 2 SerialGSM.begin (9600 ፣ SERIAL_8N1 ፣ 4 ፣ 2 ፣ ሐሰት) ፤ መዘግየት (1000); // (! ModemGSM.restart ()) {ESP.restart (); መመለስ; } // Espera pela rede celular ((modemGSM.waitForNetwork ()) {display.setCursor (0, 0) ፤ ማሳያ ማሳያ ("የ GSM አውታረ መረብ ስህተት"); መዘግየት (3000); ESP.restart (); መመለስ; }}

checkWiFiConnection

ባዶነት ማረጋገጫ Wi -FiConnection (ባዶ* ገጽ) {እያለ (እውነት) {// Se não estiver conectado ao roteador if (WiFi.status ()! = WL_CONNECTED) {// ማንዳ ኮንቴክታር connectWiFi (); } // መዘግየት 1s da tarefa. É feita em መዥገሮች። Para executar em millis dividimos pela constante portTICK_PERIOD_MS TickType_t taskDelay = 1000 / portTICK_PERIOD_MS; vTaskDelay (taskDelay); }}

Wi -Fi ን ያገናኙ

ባዶነት connectWiFi () {// ማንዳ conectar ao roteador com o nome e senha WiFi.begin (SSID ፣ PASSWORD); Serial.println ("ማገናኘት"); // Espera በሚገናኝበት ጊዜ (WiFi.status ()! = WL_CONNECTED) {Serial.print (".")); መዘግየት (500); } // Se chegou aqui está conectado Serial.println (); Serial.println ("ተገናኝቷል"); }

ቼክ በይነመረብ

ባዶነት ኢንተርኔት (ባዶ* ገጽ) {// መዘግየት de 5 segundos da tarefa. É feita em መዥገሮች። Para executar em millis dividimos pela constante portTICK_PERIOD_MS TickType_t taskDelay = 5000 / portTICK_PERIOD_MS; (እውነት) {// ኢንተርኔት ካለ (hasInternet ()) {// Atualiza o tempo em que aconteceu a útlima conexão lastTimeConnected = millis (); } // አፕሊካ ወይም መዘግየት vTaskDelay (taskDelay); }}

በይነመረብ አለው

bool hasInternet () {WiFiClient client; // Endreço IP ለ Google 172.217.3.110 IPAddress adr = IPAddress (172 ፣ 217 ፣ 3 ፣ 110) ፤ // Tempo limite para conexão client.setTimeout (5); // Tenta conectar bool ተገናኝቷል = client.connect (adr, 80); // Fecha a conexão client.stop (); // Retorna true se está conectado ou false se está desconectado መመለስ ተገናኝቷል ፤ }

ሉፕ

ባዶነት loop () {// Se está desconectado por mais tempo que definimos if (isDisconnectedForTooLong ()) {// Mostra no display que está desconectado showDisplay (“Disconnected”); // Se faz tempo que não liga para o telefone definido if (hasNotCalledPhoneInAWhile ()) {// Liga ለ o telefone definido callPhone (); }} ሌላ {// Mostra no display que está conectado showDisplay ("ተገናኝቷል"); } // Espera 1 segundo para a próxima iteração do loop delay (1000); }

አይገናኝም ለቶሎንግ

bool 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; }

ጥሪ ስልክ

ባዶ ጥሪ ስልክ () {// Faz a ligação para o telefone definido if (modemGSM.callNumber (USER_PHONE_NUMBER)) {// Se entrou aqui é porque conseguiu realizar a ligação Serial.println ("callphone ok"); // Atualiza o tempo em que foi feita a última ligação lastTimeCalledPhone = millis (); } ሌላ {// Se entrou aqui é porque não conseguiu fazer a ligação Serial.println ("የስልክ ጥሪ አልተሳካም"); } // Termina a ligação modemGSM.callHangup (); }

አሳይ ማሳያ

ባዶነት ማሳያ ማሳያ (ሕብረቁምፊ መልእክት) {// Mostra a mensagem and primeira linha do display, limpando os eventuais caracteres extras display.setCursor (0, 0); display.println (መልዕክት + ""); }

ደረጃ 5 - ፋይሎቹን ያውርዱ

ፒዲኤፍ

INO

የሚመከር: