Daftar Isi:
- Langkah 1: Perakitan
- Langkah 2: Perakitan – Tabel
- Langkah 3: Perpustakaan TFT_eSPI
- Langkah 4: ESP32_Check_Internet_Connection.ino
- Langkah 5: Unduh File
Video: Bagaimana Jika Tautan Anda Rusak?: 5 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:55
Dalam video ini, kami akan membuat sensor link drop dengan ESP32 dan SIM800. Artinya dengan proyek ini, kami dapat memverifikasi koneksi ke internet, dan jika terjadi kegagalan koneksi, hubungi nomor telepon untuk memberi tahu bahwa jaringan sedang bermasalah.
Ini adalah salah satu dari banyak cara Anda dapat melakukan jenis pemantauan ini. Meskipun sederhana, ini memungkinkan Anda untuk menguji berbagai perangkat yang mungkin ada dalam CPD Anda. Kekuatan ceknya menjadi jauh lebih besar saat menggunakan ESP32. Meskipun saya menggunakan WiFi dalam contoh ini, Anda dapat menggunakan internet kabel, jika Anda mau.
Langkah 1: Perakitan
Langkah 2: Perakitan – Tabel
Langkah 3: Perpustakaan TFT_eSPI
Di Arduino IDE, buka Sketsa-> Sertakan
Perpustakaan-> Kelola Perpustakaan …
Instal TFT_eSPI
Buka folder perpustakaan dan ubah baris file User_Setup.h menjadi seperti yang ditunjukkan pada gambar.
Langkah 4: ESP32_Check_Internet_Connection.ino
Termasuk dan mendefinisikan
#tentukan TINY_GSM_MODEM_SIM800#sertakan
#termasuk
#termasuk
#termasuk
//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 untuk pertimbangan como desconectado #define MAX_DISCONNECTED_TIME 10000 //10 seg //Deve esperar untuk waktu yang lama #define MAX_CALL_TIME_INTERVAL 1800000 //30 mnt //Usar serial 1 untuk módulo gsm HardwareSerial SerialGSM(1); modem GSM kecilGSM(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 untuk ligar imediatamente //da primeira vez que cair uint32_t lastTimeCalledPhone = -MAX_CALL_TIME_INTERVAL; //Pinagem em User_Setup.h dan pasta da biblioteca Tampilan TFT_eSPI = TFT_eSPI();
Mempersiapkan
void setup(){ Serial.begin(115200); setupTampilan(); //Inisialisasi dan konfigurasi tampilan 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 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); //Nmero 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); //Nmero do core que será executada a tarefa (usamos o core 0 para o loop ficar livre com o core 1) }
Tampilan Pengaturan
void setupDisplay(){ display.init(); //Inisialisasi tampilan 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); //Muda o tamanho do texto display.setCursor(0, 0, 2); //Posição x, y e fonte do texto }
SetupGSM
void setupGSM(){ showDisplay("Setup GSM"); //O Modul GSM untuk GPIO 4 dan 2 SerialGSM.begin(9600, SERIAL_8N1, 4, 2, false); penundaan (1000); //Mulai ulang modul jika (!modemGSM.restart()) { ESP.restart(); kembali; } //Espera pela rede celular if (!modemGSM.waitForNetwork()) { display.setCursor(0, 0); showDisplay("Kesalahan Jaringan GSM"); penundaan(3000); ESP.mulai ulang(); kembali; } }
periksaKoneksiWiFi
void checkWiFiConnection(void* p){ while(true) { //Se no estiver conectado ao roteador if(WiFi.status() != WL_CONNECTED) { //Manda conectar connectWiFi(); } //Delay de 1s da tarefa. feita em kutu. Untuk executar em millis dividimos pela constante portTICK_PERIOD_MS TickType_t taskDelay = 1000 / portTICK_PERIOD_MS; vTaskDelay(penundaan tugas); } }
sambungkan WiFi
void connectWiFi(){ //Manda conectar ao roteador com o nome e senha WiFi.begin(SSID, PASSWORD); Serial.println("Menghubungkan"); //Espera no while até conectar while(WiFi.status() != WL_CONNECTED) { Serial.print("."); penundaan (500); } //Se chegou aqui está conectado Serial.println(); Serial.println("Terhubung"); }
cekInternet
void checkInternet(void* p){ //Delay de 5 segundos da tarefa. feita em kutu. Untuk executar em millis dividimos pela constante 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 = milis(); } //Aplikasi atau penundaan vTaskDelay(taskDelay); } }
memiliki internet
bool hasInternet(){ klien WiFiClient; //Endreço IP do Google 172.217.3.110 IPAaddress adr = IPAddress(172, 217, 3, 110); //Tempo limite para conexão client.setTimeout(5); //Tenta conectar bool connected = client.connect(adr, 80); //Mengambil klien conexão.stop(); //Retorna true se está conectado ou false se está desconectado return connected; }
Lingkaran
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 telefone definido if(hasNotCalledPhoneInAWhile()) { //Liga para o telefon definido callPhone(); } } else { //Sebagian besar tidak ada tampilan setelah terhubung showDisplay("Connected"); } //Espera 1 segundo para a próxima iteração do loop delay(1000); }
TerputusUntukTerlalu Panjang
bool isDisconnectedForTooLong(){ //Retorna true se o tempo desde a ltima conexão untuk antrian utama o definido return millis() - lastTimeConnected > MAX_DISCONNECTED_TIME; } bool hasNotCalledPhoneInAWhile() { //Retorna true se o tempo desde a ltima ligacão para o telepon untuk permintaan utama o definido return milis() - lastTimeCalledPhone > MAX_CALL_TIME_INTERVAL; }
panggilan telepon
void callPhone(){ //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"); //Atualisasi tempo em que foi feita a ltima ligação lastTimeCalledPhone = milis(); } else { //Se entrou aqui é porque não conseguiu fazer a ligação Serial.println("telepon gagal"); } //Termina a ligação modemGSM.callHangup(); }
tampilkanTampilan
void showDisplay(String message){ //Mostra a mensagem na primeira linha do display, limpando os eventuais caracteres extras display.setCursor(0, 0); display.println(pesan + " "); }
Langkah 5: Unduh File
SAYA TIDAK
Direkomendasikan:
Masker Covid-19 yang Menjerit pada Anda Jika Anda Menyentuh Wajah Anda: 4 Langkah
Masker Covid-19 yang Menjerit pada Anda Jika Anda Menyentuh Wajah Anda: Tidak Bisa Berhenti Menyentuh Wajah Anda? Tempelkan elektronik ini ke topeng yang Anda miliki dan Anda akan terus diingatkan untuk tidak melakukannya
Bagaimana Mendapatkan Musik Dari Hampir Semua Website (Haha) (Selama Anda Bisa Mendengarnya Anda Bisa Mendapatkannya Oke Baik Jika Itu Tertanam dalam Flash Anda Mungkin Tidak Bisa) DIEDIT!!!!! Info Tambahan: 4 Langkah
Cara Mendapatkan Musik Dari HAMPIR Website (Haha) (Selama Anda Bisa Mendengarnya Anda Bisa Mendapatkannya… Oke Baik Jika Tertanam di Flash Anda Mungkin Tidak Bisa) DIEDIT!!!!! Info Tambahan: jika Anda pernah pergi ke situs web dan memainkan lagu yang Anda sukai dan inginkan, maka inilah instruksi untuk Anda, bukan salah saya jika Anda mengacaukan sesuatu (satu-satunya cara itu akan terjadi adalah jika Anda mulai menghapus barang tanpa alasan ) sudah bisa mendapatkan musik untuk
Memperbaiki Masalah Dasar Perangkat Keras Komputer (Disk Sistem Rusak dan PSU Rusak dan File Hilang/rusak): 4 Langkah
Memperbaiki Masalah Perangkat Keras Komputer Dasar (Kegagalan Disk sistem dan PSU Rusak dan File Hilang/rusak): PANDUAN INI BELUM SELESAI, SAYA AKAN TAMBAHKAN INFORMASI LEBIH LANJUT KETIKA SAYA MENDAPATKAN KESEMPATAN.Jika Anda memerlukan bantuan untuk memperbaiki komputer atau jika Anda memiliki pertanyaan sama sekali jangan ragu untuk mengirim pesan kepada saya"Dalam instruksi ini saya akan memberi tahu Anda cara memperbaiki ko
Bagaimana Mengetahui Jika Yahoo! Pengguna Masuk Sebagai Mode Tak Terlihat: 6 Langkah
Bagaimana Mengetahui Jika Yahoo! Pengguna Masuk Sebagai Mode Tak Terlihat: ini akan menunjukkan kepada Anda cara mengetahui apakah pengguna yahoo masuk sebagai mode tak terlihat dan itu benar-benar berfungsi untuk yahoo messenger 8 tetapi saya tidak mencobanya ke 9 (beta)…. cara kerjanya: doodle akan dimulai jika teman Anda dalam mode tak terlihat seperti ini:::"JOHN" muncul
Bagaimana Mendapatkan Ipod Touch Anda (atau Iphone Jika Anda Benar-Benar Mengacaukannya) untuk Berhenti Menerjang Karena Kekurangan Memori: 3 Langkah
Bagaimana Mendapatkan Ipod Touch Anda (atau Iphone Jika Anda Benar-Benar Mengacaukannya) untuk Berhenti Menerjang Karena Kekurangan Memori: Hai, Pengguna ipod touch dan iphone. Ok, jadi saya yakin kalian semua memiliki pemahaman yang sedikit mendasar tentang cara kerja apple ipod, bukan? Anda membuka aplikasi. Aplikasi itu akan digunakan di mana saja antara mungkin di ipod touch 1G, 5-30MB dari yang tersedia