ዝርዝር ሁኔታ:
- ደረጃ 1 - ስብሰባ
- ደረጃ 2 - ስብሰባ - ሠንጠረዥ
- ደረጃ 3 TFT_eSPI ቤተመጽሐፍት
- ደረጃ 4: ESP32_Check_Internet_Connection.ino
- ደረጃ 5 - ፋይሎቹን ያውርዱ
ቪዲዮ: አገናኝዎ ቢሰናከልስ? - 5 ደረጃዎች
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:31
በዚህ ቪዲዮ ውስጥ ፣ ከ ESP32 እና ከሲም 800 ጋር የአገናኝ ጠብታ ዳሳሽ እንፈጥራለን። ይህ ማለት በዚህ ፕሮጀክት ፣ ከበይነመረቡ ጋር ያለውን ግንኙነት ማረጋገጥ እንችላለን ፣ እና የግንኙነት ውድቀት ከተከሰተ ፣ አውታረ መረቡ ችግር እንዳለበት ለማሳወቅ የስልክ ቁጥር ይደውሉ።
ይህ ዓይነቱን ክትትል ማድረግ የሚችሉበት ብዙ መንገዶች ይህ ናቸው። ቀላል ቢሆንም ፣ በ CPD ውስጥ ሊኖሩ የሚችሉ የተለያዩ መሳሪያዎችን እንዲሞክሩ ያስችልዎታል። ESP32 ን ሲጠቀሙ የእሱ የመፈተሽ ኃይል በጣም ይበልጣል። በዚህ ምሳሌ ውስጥ WiFi ን ብጠቀምም ፣ ከፈለጉ ፣ ባለገመድ በይነመረብን መጠቀም ይችላሉ።
ደረጃ 1 - ስብሰባ
ደረጃ 2 - ስብሰባ - ሠንጠረዥ
ደረጃ 3 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
የሚመከር:
በ Flick ውስጥ የጨዋታ ንድፍ በ 5 ደረጃዎች 5 ደረጃዎች
በ 5 ደረጃዎች ውስጥ በ Flick ውስጥ የጨዋታ ንድፍ -ፍሊክስ ጨዋታን በተለይም በእውነቱ እንደ እንቆቅልሽ ፣ የእይታ ልብ ወለድ ወይም የጀብድ ጨዋታ የመሰለ ቀላል መንገድ ነው።
የአርዱዲኖ መኪና የተገላቢጦሽ የመኪና ማቆሚያ ማስጠንቀቂያ ስርዓት - ደረጃዎች በደረጃ: 4 ደረጃዎች
የአርዱዲኖ መኪና የተገላቢጦሽ የመኪና ማቆሚያ ማንቂያ ስርዓት | ደረጃዎች በደረጃ-በዚህ ፕሮጀክት ውስጥ አርዱዲኖ UNO እና HC-SR04 Ultrasonic Sensor ን በመጠቀም ቀላል የአርዱዲኖ መኪና የተገላቢጦሽ የመኪና ማቆሚያ ዳሳሽ ወረዳ እቀዳለሁ። ይህ በአርዱዲኖ ላይ የተመሠረተ የመኪና ተገላቢጦሽ የማስጠንቀቂያ ስርዓት ለራስ ገዝ አሰሳ ፣ ሮቦት ሬንጅንግ እና ለሌላ ክልል አር
በ Raspberry Pi 4B ላይ የፊት ለይቶ ማወቅ በ 3 ደረጃዎች 3 ደረጃዎች
በ Raspberry Pi 4B ላይ የፊት ለይቶ ማወቅ በ 3 እርከኖች-በዚህ መመሪያ ውስጥ የሹንያፊትን ቤተመፃሕፍት በመጠቀም ከ Rasyaberry O/S ጋር Raspberry Pi 4 ላይ የፊት ለይቶ ማወቅን እናከናውናለን። ሹነፊታ የፊት መታወቂያ/ማወቂያ ቤተ -መጽሐፍት ነው። ፕሮጀክቱ ፈጣን የመለየት እና የማወቅ ፍጥነትን ለማሳካት ያለመ ነው
በ GameGo ላይ በ ‹GoGo› ላይ ማለቂያ ከሌላቸው ደረጃዎች ጋር የመሣሪያ ስርዓት - 5 ደረጃዎች (ከስዕሎች ጋር)
በ GameGo ላይ በ MakeGo Arcade የመጫወቻ ማዕከል ላይ ገደብ የለሽ ደረጃዎች ያለው የመሣሪያ ስርዓት - GameGo በ TinkerGen STEM ትምህርት የተገነባ የ Microsoft Makecode ተኳሃኝ የሆነ የሬትሮ ጨዋታ ተንቀሳቃሽ ኮንሶል ነው። እሱ በ STM32F401RET6 ARM Cortex M4 ቺፕ ላይ የተመሠረተ እና ለ STEM አስተማሪዎች ወይም የሬትሮ ቪዲዮ ጨዋታን መፍጠር መዝናናትን ለሚወዱ ሰዎች ብቻ የተሰራ ነው
ቀላል ደረጃዎች (DID Strip Lights በመጠቀም) DIY Vanity Mirror - 4 ደረጃዎች
DIY Vanity Mirror በቀላል ደረጃዎች (የ LED ስትሪፕ መብራቶችን በመጠቀም) - በዚህ ልጥፍ ውስጥ በ LED ሰቆች እገዛ የ DIY Vanity Mirror ን ሠራሁ። በእውነቱ አሪፍ ነው እና እርስዎም እነሱን መሞከር አለብዎት