Агуулгын хүснэгт:
- Алхам 1: угсрах
- Алхам 2: Угсралт - Хүснэгт
- Алхам 3: TFT_eSPI номын сан
- Алхам 4: ESP32_Check_Internet_Connection.ino
- Алхам 5: Файлуудыг татаж авах
Видео: Таны линк эвдэрвэл яах вэ ?: 5 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:02
Энэ видеон дээр бид ESP32 болон SIM800 -тай холбоосын уналт мэдрэгчийг бүтээх болно. Энэ нь энэ төслийн тусламжтайгаар бид интернетэд холбогдсон эсэхийг шалгах боломжтой бөгөөд холболт тасарсан тохиолдолд утасны дугаар руу залгаж сүлжээнд асуудал үүсч байгааг мэдэгдэнэ.
Энэ бол танд ийм төрлийн хяналт тавих олон арга зам юм. Энгийн боловч энэ нь таны CPD дотор байж болох янз бүрийн төхөөрөмжийг турших боломжийг танд олгоно. ESP32 -ийг ашиглах үед түүний шалгах хүчин чадал илүү хүчтэй болно. Энэ жишээн дээр би WiFi ашиглаж байгаа боловч хэрэв та хүсвэл утастай интернет ашиглаж болно.
Алхам 1: угсрах
Алхам 2: Угсралт - Хүснэгт
Алхам 3: TFT_eSPI номын сан
Arduino IDE дээр Sketch-> Include руу очно уу
Номын сан-> Номын санг удирдах …
TFT_eSPI суулгана уу
Номын сангийн фолдер руу ороод User_Setup.h файлын мөрүүдийг зурган дээрх шиг үлдээгээрэй.
Алхам 4: ESP32_Check_Internet_Connection.ino
Оруулдаг ба тодорхойлдог
#тодорхойлох TINY_GSM_MODEM_SIM800#оруулах
#оруулах
#оруулах
#оруулах
// Олон тооны WiFi сүлжээний шалгалтыг #SSID "SSID" -г тодорхойлох #"12345678" нууц үгийг тодорхойлох //+55 DDD Número do celular #define USER_PHONE_NUMBER "+5518912345678" // Тэмдэглэл хийх шаардлагатай como desconectado #dexine MAX_DISCONNECTED_TIME 10000 // 10 сегмент // Tempo que deve esperar para cada ligação #define MAX_CALL_TIME_INTERVAL 1800000 // 30 min // Usar series 1 para o módulo gsm HardwareSerial SerialGSM (1); TinyGsm модемGSM (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 мөнгө шилжүүлэх нь чухал юм. // User_Setup.h гэснээс эхлээд библиотека TFT_eSPI display = TFT_eSPI ();
Тохируулах
void setup () {Serial.begin (115200); setupDisplay (); // Дэлгэцийн тохиргоо эсвэл дэлгэцийн тохиргооGSM (); // GSM xTaskCreatePinnedToCore (checkWiFiConnection, // "CheckWiFiConnection", // Nome da tarefa 10000, // Tamanho da pilha NULL, // Parametro da tarefa (no preco não usamade) 2, 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á гүйцэтгэх програм (a 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 (caso não precisamos байхгүй) 0); // Гол үүрэг гүйцэтгэнэ үү (үндсэн цэс 0 пара -гийн давталт хийх ёстой))
Дэлгэцийг тохируулах
void setupDisplay () {display.init (); // Дэлгэцийг харуулах.setRotation (1); // Rotaciona display.fillScreen (TFT_BLUE); // Хязгаарлагдмал дэлгэцийг харуулах.setTextColor (TFT_WHITE, TFT_BLUE); // Coloca o texto como branco com fundo azul display.setTextWrap (худал, худлаа); // Текстийг харуулах.setCursor (0, 0, 2); // Текст бичих Posiceão x, y e fonte хийх}
GSM тохируулах
хүчингүй тохиргооGSM () {showDisplay ("GSM -ийг тохируулах"); // O Módulo GSM нь GPIOs 4 e 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 холболтыг шалгана уу
void checkWiFiConnection (void* p) {while (true) {// Хэрэв та (WiFi.status ()! = WL_CONNECTED) {// Manda conectar connectWiFi (); } // 1s da tarefa -ийг хойшлуулах. Хачигтай. Гүйцэтгэх үүрэг гүйцэтгэгч нь портTICK_PERIOD_MS TickType_t taskDelay = 1000 / портTICK_PERIOD_MS; vTaskDelay (taskDelay); }}
Wi -Fi холбоно уу
void connectWiFi () {// Manda conectar ao roteador com o nome e senha WiFi.begin (SSID, PASSWORD); Serial.println ("Холбогдож байна"); // Espera no while até conectar while (WiFi.status ()! = WL_CONNECTED) {Serial.print ("."); саатал (500); } // Seggou aqui está conectado Serial.println (); Serial.println ("Холбогдсон"); }
Интернетийг шалгах
void checkInternet (void* p) {// Delay de 5 segundos da tarefa. Хачигтай. Гүйцэтгэх үүрэг гүйцэтгэгч нь портTICK_PERIOD_MS TickType_t taskDelay = 5000 / портTICK_PERIOD_MS; while (үнэн) {// Интернет холболт if (hasInternet ()) {// Тэмдэглэлийг тохируулах нь lastTimeConnected = millis (); } // Aplica эсвэл delay vTaskDelay (taskDelay); }}
интернеттэй
bool hasInternet () {WiFiClient үйлчлүүлэгч; // Endreço IP do do 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 буцах холболт; }
Гогцоо
void loop () {// Se está desconectado por mais tempo que definimos if (isDisconnectedForTooLong ()) {// Mostra no display que está desconectado showDisplay ("Салгагдсан"); // Хязгаарлагдмал бус тохиолдолд (hasNotCalledPhoneInAWhile ()) {// Лигийн дуудлага эсвэл утасны дуудлагад дуудлага хийх (); }} өөр {// Mostra no display que está conectado showDisplay ("Холбогдсон"); } // Espera 1 програмын давталтын саатал (1000); }
isDonnectedForTooLong
bool isDisconnectedForTooLong () {// Retorna үнэн зөв өгөгдөл буцаах millis () - lastTimeConnected> MAX_DISCONNECTED_TIME; } bool hasNotCalledPhoneInAWhile () {// Retorna үнэн зөв өгөгдөл буцааж өгөх millis () - lastTimeCalledPhone> MAX_CALL_TIME_INTERVAL; }
утас
хүчингүй callPhone () {// Faz a ligação para or telefone definito if (modemGSM.callNumber (USER_PHONE_NUMBER)) {// Энэ нь Serial.println ("дуудлага утасны дугаар"); // 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 ("дуудлагын утас амжилтгүй болсон"); } // Терминал нь GSM.callHangup (); }
showDisplay
void showDisplay (String message) {// Дэлгэцийг харуулах, дэлгэцийн үйл ажиллагааг идэвхжүүлэх, дэлгэцийн нэмэлт дэлгэц.setCursor (0, 0); display.println (зурвас + ""); }
Алхам 5: Файлуудыг татаж авах
INO
Зөвлөмж болгож буй:
Sugarcube бүхий twine дахь хувьсагчдын линк: 10 алхам
Sugarcube бүхий twine дахь хувьсагчдын линкүүд: Та надтай дахин нэгдээд маш их баяртай байна! Энэ нь Вумпус чамайг хараахан идээгүй байгаа гэсэн үг юм. Сайн байна уу? Танил биш хүмүүст зориулан энэ бол миний хөөрхөн царай муутай авга ахынхаа ахлах төсөлд туслах зорилгоор хийж буй хичээлүүд юм. Эдгээр заавар
Тиймээс та STM32duino Bootloader -ийг "Цэнхэр эм" дээрээ ачаалж байна Тэгвэл одоо яах вэ?: 7 алхам
Тиймээс та STM32duino Bootloader -ийг "Цэнхэр эм" дээрээ ачаалж байна … Тэгвэл одоо яах вэ?: Хэрэв та STM32duino bootloader эсвэл үүнтэй төстэй бусад баримт бичгийг хэрхэн ачаалж байгааг тайлбарласан миний зааварчилгааг уншсан бол кодын жишээг ачаалаад үзээрэй. Асуудал нь " Ерөнхий " STM32 байх болно
OpenManipulator линк: 20 алхам (зурагтай)
OpenManipulator Link: Робот манипуляторуудыг олон төрлийн бүтцэд зориулж боловсруулсан болно. OpenManipulator нь хамгийн энгийн цуваа холболтын бүтэцтэй боловч бусад бүтэц нь тодорхой ажлуудад хэрэг болдог тул бид OpenManipulat гэх мэт янз бүрийн бүтэцтэй манипуляторуудыг өгдөг
Ethernet линк шалгагч: 5 алхам (зурагтай)
Ethernet холболтыг шалгагч: Энэ бол таны хийсэн холболт эсвэл Ethernet кабель таны сүлжээнд холбогдох эсэхийг хурдан тодорхойлох боломжийг олгодог хялбар шалгагч юм. Хэрэв та корпорацийн мэдээллийн технологийн орчинд ажиллаж байгаа бол сүлжээний портууд илүү олон байдгийг та мэднэ
ITunes таны IPod -ийг танихгүй бол яах вэ: 7 алхам
ITunes таны IPod -ийг танихгүй бол яах вэ: Тиймээс та шинэ iPod -ээ авсан бөгөөд үүнийг ашиглахдаа маш их баяртай байна. Та USB кабелийг компьютерт, нөгөө үзүүрийг iPod руу залгаарай. Одоо та асуудалтай тулгарч байна. Зарим шалтгааны улмаас iTunes таны iPod -ийг илрүүлэхгүй байна. Та үүнийг практик гэж бодож магадгүй