Kazalo:
- 1. korak: Montaža
- 2. korak: Montaža - miza
- 3. korak: Knjižnica TFT_eSPI
- 4. korak: ESP32_Check_Internet_Connection.ino
- 5. korak: Prenesite datoteke
Video: Kaj, če se vaša povezava zruši?: 5 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:04
V tem videu bomo ustvarili senzor padca povezave z ESP32 in SIM800. To pomeni, da lahko s tem projektom preverimo povezavo z internetom in v primeru izpada povezave pokličemo telefonsko številko, da vas obvestimo, da je omrežje v težavah.
To je eden od mnogih načinov, kako lahko izvajate to vrsto spremljanja. Čeprav je preprost, vam omogoča, da preizkusite različne naprave, ki morda obstajajo v vašem CPD. Njegova moč preverjanja postane veliko večja pri uporabi ESP32. Čeprav v tem primeru uporabljam WiFi, lahko po želji uporabite žični internet.
1. korak: Montaža
2. korak: Montaža - miza
3. korak: Knjižnica TFT_eSPI
V Arduino IDE pojdite na Sketch-> Include
Knjižnica-> Upravljanje knjižnic …
Namestite TFT_eSPI
Pojdite v mapo knjižnice in spremenite vrstice datoteke User_Setup.h, da jo pustite, kot je prikazano na sliki.
4. korak: ESP32_Check_Internet_Connection.ino
Vključuje in opredeljuje
#define TINY_GSM_MODEM_SIM800#include
#vključi
#vključi
#vključi
// Mode para o nome e senha da sua rede wi 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 obzir como desconectado #define MAX_DISCONNECTED_TIME 10000 // 10 seg // Tempo que deve esperar para cada ligação #define MAX_CALL_TIME_INTERVAL 1800000 // 30 min // Uporabljajte serijsko 1 od parametrov gsm HardwareSerial SerialGSM (1); Modem TinyGsmGSM (SerialGSM); // Tempo em que conectou à internet pela última vez uint32_t lastTimeConnected = 0; // Tempo em que fez a última ligação. Colocamos 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 na priloženo knjižnico TFT_eSPI display = TFT_eSPI ();
Nastaviti
void setup () {Serial.begin (115200); setupDisplay (); // Inicializa e configura o display setupGSM (); // Inicializa o módulo GSM xTaskCreatePinnedToCore (checkWiFiConnection, // Função que será executada "checkWiFiConnection", // Nome da tarefa 10000, // Tamanho da pilha NULL, // Parâmetro da tarefa (no caso não prednost) da tarefa NULL, // Caso queria manter uma referência para a tarefa que vai ser criada (no caso não precisamos) 0); // Numero do core que será executada a tarefa (usamos o core 0 za zanko ficar livre com o core 1) xTaskCreatePinnedToCore (checkInternet, // Função que será executada "checkInternet", // Ime 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); // Numero do core que será executada a tarefa (usamos o core 0 para o zanka ficar livre com o core 1)}
SetupDisplay
void setupDisplay () {display.init (); // Inicializa o zaslonu display.setRotation (1); // Rotaciona display.fillScreen (TFT_BLUE); // Limpa o display com a cor azul display.setTextColor (TFT_WHITE, TFT_BLUE); // Coloca o texto como branco com fundo azul display.setTextWrap (false, false); // Desativa a quebra de linha display.setTextSize (1); // Monda o tamanho do texto display.setCursor (0, 0, 2); // Posição x, y e fonte do texto}
Nastavitev GSM
void setupGSM () {showDisplay ("Setup GSM"); // O Módulo GSM eSTá nos GPIOs 4 e 2 SerialGSM.begin (9600, SERIAL_8N1, 4, 2, false); zamuda (1000); // Znova zaženite način, če (! ModemGSM.restart ()) {ESP.restart (); vrnitev; } // Espera pela rede celular if (! ModemGSM.waitForNetwork ()) {display.setCursor (0, 0); showDisplay ("Napaka omrežja GSM"); zamuda (3000); ESP.restart (); vrnitev; }}
checkWiFiConnection
void checkWiFiConnection (void* p) {while (true) {// Se não estiver conectado ao roteador if (WiFi.status ()! = WL_CONNECTED) {// Manda conectar connectWiFi (); } // Zakasnitev 1s da tarefa. É feita em klopi. Za izvajalca, ki je razdeljen na konstantno portTICK_PERIOD_MS TickType_t taskDelay = 1000 / portTICK_PERIOD_MS; vTaskDelay (taskDelay); }}
connectWiFi
void connectWiFi () {// Najprej poveži ao roteador com o nome e senha WiFi.begin (SSID, GESLO); Serial.println ("Povezovanje"); // Espera no while até conectar while (WiFi.status ()! = WL_CONNECTED) {Serial.print ("."); zamuda (500); } // Se chegou aqui está conectado Serial.println (); Serial.println ("Povezano"); }
checkInternet
void checkInternet (void* p) {// Zakasnitev 5 sekund do tarefa. É feita em klopi. Za izvajalca, ki je razdeljen na konstantno portTICK_PERIOD_MS TickType_t taskDelay = 5000 / portTICK_PERIOD_MS; while (true) {// Se tem internet if (hasInternet ()) {// Atualiza o tempo em que aconteceu a útlima conexão lastTimeConnected = millis (); } // Aplikacija o zakasnitvi vTaskDelay (taskDelay); }}
hasInternet
bool hasInternet () {odjemalec WiFiClient; // Endreço IP do Google 172.217.3.110 IPAddress adr = IPAddress (172, 217, 3, 110); // Tempo limite para conexão client.setTimeout (5); // Tenta conectar bool connected = client.connect (adr, 80); // Fecha a conexão client.stop (); // Retorna true se está conectado ou false se está desconectado return connected; }
Zanka
void 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 telefonu definido if (hasNotCalledPhoneInAWhile ()) {// Liga para o telefonu definido callPhone (); }} else {// Mostra no display que está conectado showDisplay ("Connected"); } // Espera 1 segundo para próxima iteração do zanke zanke (1000); }
isDisconnectedForTooLong
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 ali telefon for maior que o definido return millis () - lastTimeCalledPhone> MAX_CALL_TIME_INTERVAL; }
pokličite telefon
void callPhone () {// Faz a ligação para or phone definition 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 (); } else {// Se entrou aqui é porque não conseguiu fazer a ligação Serial.println ("callphone failed"); } // Termina in ligação modemGSM.callHangup (); }
showDisplay
void showDisplay (sporočilo niza) {// Prikaz menija na prvi povezavi do prikaza, omejitev dogodkov z dodatnimi prikazi display.setCursor (0, 0); display.println (sporočilo + ""); }
5. korak: Prenesite datoteke
JAZ NE
Priporočena:
RF -oddajnik Flysky, ki se napaja prek USB -ja + žična signalna povezava z računalnikom + brezplačna programska oprema simulatorja: 6 korakov
Oddajnik Flysky RF, ki se napaja prek povezave USB + žični signal z računalnikom + brezplačna programska oprema simulatorja: Če ste podobni meni, boste radi preizkusili svoj RF oddajnik in se naučili, preden strmoglavite svoje drago RF letalo/brezpilotni letalnik. To vam bo prineslo dodatno zabavo, hkrati pa prihranilo na tone denarja in časa. Če želite to narediti, je najboljši način, da svoj RF oddajnik povežete z vami
Esp8266 Firebase Povezava: 10 korakov
Esp8266 Firebase Connection: Za začetek tega projekta potrebujete naslednje komponente: esp8266 (NodeMcu v3 Lua) google račun (firebase) esp8266 lahko kupite tukaj: amazon.com aliexpress.com
Kako popraviti zvočnik Logitech X100, ko povezava Bluetooth ne deluje: 6 korakov
Kako popraviti zvočnik Logitech X100, ko povezava Bluetooth ne deluje: Ko mi je zvočnik Bluetooth padel v vodo, je bilo uničujoče, med tuširanjem nisem mogel več poslušati svoje glasbe. Predstavljajte si, da se zjutraj zbudite ob 6.30 in se ob toplem tuširate s svojimi najljubšimi melodijami. Zdaj pa si predstavljajte, da se morate zbuditi
Kaj je procesor, kaj počne in kako ga odpraviti: 5 korakov
Kaj je CPU, kaj počne in kako ga odpraviti: vsak dan najdete izraze " CPU " ali " Procesor " Razpravljal sem o tem, kaj je CPU in kaj počne, nato pa bom preučil pogosta vprašanja CPU -ja in kako jih lahko odpravim
Zruši Microsoft Word!: 4 koraki
Crash Microsoft Word !: Ta navodila govorijo o tem, kako zrušiti Microsoft Word (ali ga vsaj upočasniti). Najboljše od vsega pa je, da je to mogoče narediti v približno 30 sekundah na ciljnem računalniku! Hahaha