Cara Menetapkan Alamat IP Statik ESP32

Cara Menetapkan Alamat Ip Statik Esp32



Alamat IP ialah siri nombor unik yang boleh mengenal pasti peranti dalam rangkaian. Berbilang peranti dan komputer menggunakan alamat IP untuk berkomunikasi antara satu sama lain. IP statik alamat adalah seperti alamat tetap sama seperti alamat jalan. Ia menunjukkan bahawa alamat IP statik tidak berubah dan ia membantu peranti lain untuk menyemak di mana peranti atau komputer tertentu berada.

Dalam artikel ini kami akan menetapkan alamat IP statik ESP32 yang boleh diingati oleh peranti lain.

Pengenalan kepada Alamat IP ESP32

Bekerja dengan ESP32 mungkin memerlukan alamat IP statik yang berasingan kerana apabila kami mereka bentuk pelayan web untuk ESP32, kami mengakses pelayan web tersebut menggunakan alamat IP ESP32. Alamat IP ini diberikan oleh rangkaian WiFi di mana ESP32 disambungkan.







Ini mungkin menyebabkan masalah semasa berurusan dengan ESP32 dalam projek kerana setiap kali penutupan atau penetapan semula ESP32 alamat IP baharu akan diberikan kepadanya oleh rangkaian WiFi. Akibatnya, kami memerlukan alamat IP baharu untuk pelayan web. Jadi, penyelesaian pantas untuk ini ialah menetapkan alamat IP statik untuk ESP32 yang kekal tidak berubah walaupun ESP32 dimatikan atau ditetapkan semula.



Biasalah DHCP (Protokol Konfigurasi Hos Dinamik) alat pengurusan rangkaian memberikan alamat IP kepada semua peranti yang disambungkan di dalam rangkaian WiFi. DHCP membantu kerana ia mengelakkan keperluan pentadbir rangkaian untuk memberikan alamat IP secara manual kepada semua peranti yang disambungkan di dalam rangkaian. Dalam rangkaian rumah biasanya penghala WiFi bertindak sebagai pelayan DHCP.



Bersama-sama dengan alamat IP DHCP juga memberikan beberapa parameter lain yang termasuk:





  • Topeng subnet: Ia adalah nombor 32-bit yang menutup alamat IP dan membahagikannya kepada rangkaian dan alamat hos.
  • Alamat pintu masuk: Ia ialah alamat IP peranti yang memautkan peranti rangkaian tempatan ke internet biasanya di rumah, ia adalah penghala WiFi.
  • DNS: Ia adalah alamat IP pelayan nama domain.

Semua parameter ini penting untuk mengakses pelayan web ESP32. Apabila kami akan menggunakan alamat IP statik untuk ESP32 semua parameter ini mesti diluluskan jika tidak ESP32 akan gagal mewujudkan komunikasi.

Sebaik sahaja ESP32 diberikan dengan alamat IP statik, ia tidak akan menggunakan DHCP pelayan dan tidak akan mengambil data yang diperlukan. Jadi, untuk menyambungkan ESP32 dalam rangkaian WiFi dengan alamat IP statik kita mesti mengetahui parameter yang disebutkan di atas untuk itu pertama kita akan menyambungkannya ke rangkaian WiFi dan menyemak semua parameter rangkaian termasuk subnet mask, alamat gateway dan IP DNS alamat.



Selepas mengetahui parameter, kami boleh menetapkan alamat IP statik.

Mencari Parameter Rangkaian Lalai

Seperti yang dibincangkan dalam bahagian sebelumnya, kami akan menyambungkan ESP32 dengan rangkaian WiFi untuk mendapatkan semua parameter rangkaian itu. Jadi, dengan mentakrifkan SSID rangkaian dan kata laluan dan menggunakan perpustakaan WiFi.h kita boleh menyambungkan ESP32 ke rangkaian.

Kod

Muat naik kod yang diberikan di bawah dalam papan ESP32 dan ingat untuk menukar SSID dan kata laluan dengan kelayakan rangkaian anda sendiri.

#include


const char * ssid = 'nama rangkaian anda' ;
const char * kata laluan = 'YourNetworkPass' ;

batal persediaan ( ) {
bersiri. bermula ( 115200 ) ;

WiFi. bermula ( ssid , kata laluan ) ;

sementara ( WiFi. status ( ) != WL_CONNECTED ) {
kelewatan ( 500 ) ;
bersiri. cetak ( 'Menyambung... \n \n ' ) ;
}

bersiri. cetak ( 'IP Tempatan: ' ) ;
bersiri. println ( WiFi. localIP ( ) ) ;
bersiri. cetak ( 'Topeng subnet: ' ) ;
bersiri. println ( WiFi. topeng subnet ( ) ) ;
bersiri. cetak ( 'IP Gerbang: ' ) ;
bersiri. println ( WiFi. gatewayIP ( ) ) ;
bersiri. cetak ( 'DNS 1:' ) ;
bersiri. println ( WiFi. dnsIP ( 0 ) ) ;
bersiri. cetak ( 'DNS 2:' ) ;
bersiri. println ( WiFi. dnsIP ( 1 ) ) ;
}

batal gelung ( ) { }

Kod dimulakan dengan memasukkan perpustakaan WiFi.h. Seterusnya, kami menentukan SSID dan kata laluan. Di sini ESP32 disambungkan ke rangkaian WiFi dan semua parameter yang diperlukan akan ditetapkan oleh pelayan DHCP.

Dalam bahagian kedua kod, kami mencetak alamat IP yang diberikan oleh pelayan DHCP bersama-sama dengan parameter tambahan: topeng subnet, IP get laluan dan kedua-dua IP pelayan DNS.

Pengeluaran

Dalam output kita boleh melihat semua parameter rangkaian dicetak pada monitor bersiri.

Sekarang kami akan menetapkan IP statik kepada ESP32. Kecuali untuk alamat IP tempatan semua parameter yang tinggal akan digunakan dalam bahagian seterusnya.

Menetapkan Alamat IP Statik untuk ESP32

Seperti yang telah kita ketahui parameter rangkaian di mana ESP32 disambungkan sekarang, kami akan menggunakan alamat IP tersuai untuk menyambungkan ESP32 dalam rangkaian yang sama sambil menggunakan parameter lain yang tidak berubah seperti yang kami dapat dalam output sebelumnya.

Tetapi sebelum itu kita perlu memasang ESP32Ping.h perpustakaan dalam Arduino IDE. Menggunakan perpustakaan ini, kami boleh mengesahkan cuaca alamat IP statik kami berfungsi atau tidak. Klik untuk memuat turun ESP32Ping.h perpustakaan.

Setelah fail zip dimuat turun Pergi ke: Lakaran>Sertakan Pustaka>Tambah Pustaka .Zip

  Antara muka pengguna grafik, teks, Perihalan aplikasi dijana secara automatik

Kod

Sekarang muat naik kod yang diberikan di bawah dalam ESP32. Kod ini akan menetapkan alamat IP statik untuk ESP32. Ingat untuk menggantikan SSID dan Kata Laluan untuk rangkaian.

#include

#include

const char * ssid = 'nama rangkaian anda' ;
const char * kata laluan = 'YourNetworkPass' ;

IPAddress IP statik ( 192 , 168 , 18 , 53 ) ;
Gerbang IPAddress ( 192 , 168 , 18 , 1 ) ;
Subnet IPAddress ( 255 , 255 , 255 , 0 ) ;
IPAddress dns ( 101 , lima puluh , 101 , lima puluh ) ;

batal persediaan ( ) {
bersiri. bermula ( 115200 ) ;

jika ( WiFi. konfigurasi ( staticIP , pintu masuk , subnet , dns , dns ) == salah ) {
bersiri. println ( 'Konfigurasi gagal.' ) ;
}

WiFi. bermula ( ssid , kata laluan ) ;

sementara ( WiFi. status ( ) != WL_CONNECTED ) {
kelewatan ( 500 ) ;
bersiri. cetak ( 'Menyambung... \n \n ' ) ;
}

bersiri. cetak ( 'IP Tempatan: ' ) ;
bersiri. println ( WiFi. localIP ( ) ) ;
bersiri. cetak ( 'Topeng subnet: ' ) ;
bersiri. println ( WiFi. topeng subnet ( ) ) ;
bersiri. cetak ( 'IP Gerbang: ' ) ;
bersiri. println ( WiFi. gatewayIP ( ) ) ;
bersiri. cetak ( 'DNS 1:' ) ;
bersiri. println ( WiFi. dnsIP ( 0 ) ) ;
bersiri. cetak ( 'DNS 2:' ) ;
bersiri. println ( WiFi. dnsIP ( 1 ) ) ;

kejayaan bool = Ping. ping ( 'www.google.com' , 3 ) ;

jika ( ! kejayaan ) {
bersiri. println ( ' \n Ping gagal' ) ;
kembali ;
}

bersiri. println ( ' \n Ping berjaya.' ) ;
}

batal gelung ( ) { }

Kod dimulakan dengan memasukkan WiFi dan perpustakaan Ping. Seterusnya, kami menentukan SSID dan kata laluan untuk rangkaian WiFi.

Selepas itu kami menentukan semua parameter termasuk alamat IP statik bersama-sama dengan DNS, get laluan IP dan subnet. Ambil perhatian bahawa kami telah memberikan alamat IP (192, 168, 18, 53) yang berada dalam subnet alamat IP yang sama yang kami peroleh sebelumnya dalam kod sebelumnya. Pastikan alamat IP ini tidak digunakan oleh mana-mana peranti lain di dalam rangkaian.

Setelah WiFi disambungkan, kami mencetak semua parameter rangkaian dan menguji Ping menggunakan Google. Jika semua parameter ditakrifkan dengan betul Ping berjaya mesej akan muncul.

Pengeluaran

Sekarang apabila kami menyambung semula papan ESP32 ke PC selepas diputuskan sambungan, alamat IP statiknya sekali lagi dikonfigurasikan, menunjukkan bahawa ia tidak akan berubah walaupun kuasa padam.

Kami telah berjaya memberikan alamat IP statik kepada ESP32.

Kesimpulan

Semasa bekerja dengan ESP32 dalam mereka bentuk projek, alamat IP statik diperlukan. Apabila berbilang peranti perlu bersambung dengan alamat IP statik ESP32 menjadikan keseluruhan proses lancar. Menggunakan parameter rangkaian, kami boleh menentukan sebarang alamat IP statik. Di sini dalam artikel ini, kami membincangkan langkah-langkah yang diperlukan untuk menentukan alamat IP statik.