Tambahkan WiFi ke Arduino UNO

Hubungkan mincrocontroller Anda ke internet dengan menambahkan Modul WiFi ESP8266!

Modul ESP8266 Wifi adalah jaringan WiFi yang lengkap di mana Anda dapat dengan mudah terhubung sebagai adaptor Wi-Fi yang melayani, antarmuka akses internet nirkabel ke desain berbasis mikrokontroler apa pun berdasarkan konektivitasnya yang sederhana melalui Serial Communication atau antarmuka UART.

Menambahkan modul ini ke UNO Arduino Anda akan membuka Anda untuk proyek yang lebih menarik

Langkah 1: Bangun Sirkuit

Hubungkan pin yang lebih dijelaskan pada tabel Pin terlampir

Ikuti langkah ini.

  • sambungkan kabel merah ke VIN (3.3V) ke daya + 3.3V dari mikrokontroler.
  • hubungkan kabel hitam ke tanah.
  • sambungkan kabel hijau ke TX dari modul Wifi dan mikrokontroler
  • hubungkan wite kuning ke RX dari modul wifi dan mikrokontroler

Tentang sirkuit

ESP8266 hanya ditenagai hanya untuk 3.3 V. Lebih dari itu akan menghancurkan modul.

PENTING jangan gunakan voltase lebih dari 3.3V!

Hubungkan VIN ke 3.3v untuk menghidupkan dan juga pin ENABLE untuk mengaktifkan modul.

TX terhubung ke RX yang berarti apa pun yang ingin kami Transmit di ESP8266 akan Terima oleh Arduino UNO. Dan sebaliknya untuk RX ke TX. Setelah membangun sirkuit ini, kami sekarang siap untuk memulai WIFI dengan Arduino UNO.

Langkah 2: Bicaralah dengan Modul

Komunikasi dengan ESP8266 adalah melalui Perintah Perhatian atau Perintah AT.

Periksa tabel AT Perintah yang terlampir untuk meninjau kode.

Mengatur papan Anda

1. Unggah sampel sketsa yang dilampirkan di sini ke Arduino UNO Anda.

2. Unduh Telnet Client untuk Android

3. Hubungkan ke Wifi ESP8266 Anda

4. Setelah terhubung, dapatkan alamat IP

5. Buka Telnet Client di ponsel Android.

6. buat koneksi dengan mengklik connect, Add IP dan port 80.

Setelah terhubung kirim permintaan dengan mengetik:

 esp8266: 

Atau nyalakan LED bawaan menggunakan perintah

 MEMIMPIN 

Atau matikan LED bawaan menggunakan perintah

 LEDOFF 

Atau katakan saja

 HALO 

Lampiran

  • Unduh esp8266Sample.ino

Langkah 3: Tentang Kode

Semua permintaan kami akan dibaca dan diuraikan pada fungsi loop ()

if (wifiSerial.available ()> 0) {

Pesan string = readWifiSerialMessage (); if (find (message, "esp8266:")) {String result = sendToWifi (message.substring (8, message.length ()), responseTime, DEBUG); if (find (result, "OK")) sendData ("\ n" + result); lain sendData ("\ nErrRead"); // Atas perintah KODE KESALAHAN untuk pernyataan Eksekusi Gagal} lain jika (find (message, "HELLO")) {// menerima HELLO dari wifi sendData ("\\ nHI!"); // arduino mengatakan HI} else if (find (message, "LEDON")) {digitalWrite (13, HIGH); } lain jika (find (message, "LEDOFF")) {digitalWrite (13, LOW); } else {sendData ("\ nErrRead"); // Perintah KESALAHAN KODE agar TIDAK BISA DIBACA}}

Jika Anda ingin berkomunikasi dengan Arduino UNO atau meminta untuk melakukan sesuatu, cukup tambahkan kondisi Anda

if (find (message, "")) {
// ada yang dilakukan di sini

}

Saya menambahkan beberapa fungsi untuk berkomunikasi dengan ESP8266.

/ *
* Nama: sendData
* Keterangan: Fungsi yang digunakan untuk mengirim string ke klien tcp menggunakan cipsend * Params: * Pengembalian: void * / void sendData (String str) {String len = ""; len + = str.length (); sendToWifi ("AT + CIPSEND = 0, " + len, responseTime, DEBUG); keterlambatan (100); sendToWifi (str, responseTime, DEBUG); keterlambatan (100); sendToWifi ("AT + CIPCLOSE = 5", responseTime, DEBUG); }

/ * * Nama: temukan * Keterangan: Fungsi yang digunakan untuk mencocokkan dua string * Params: * Pengembalian: true jika cocok lain salah * / boolean find (String string, Nilai string) {if (string.indexOf (nilai)> = 0) kembali benar; return false; }

/ * * Nama: readSerialMessage * Keterangan: Fungsi yang digunakan untuk membaca data dari Arduino Serial. * Params: * Pengembalian: Tanggapan dari Arduino (jika ada tanggapan) * / String readSerialMessage () {char value [100]; int index_count = 0; while (Serial.available ()> 0) {value [index_count] = Serial.read (); index_count ++; value [index_count] = '\ 0'; // Null mengakhiri string} String str (value); str.trim (); str kembali; }

/ * * Nama: readWifiSerialMessage * Keterangan: Fungsi yang digunakan untuk membaca data dari ESP8266 Serial. * Params: * Pengembalian: Tanggapan dari esp8266 (jika ada tanggapan) * / String readWifiSerialMessage () {char value [100]; int index_count = 0; while (wifiSerial.available ()> 0) {value [index_count] = wifiSerial.read (); index_count ++; value [index_count] = '\ 0'; // Null mengakhiri string} String str (value); str.trim (); str kembali; }

/ * * Nama: sendToWifi * Deskripsi: Fungsi yang digunakan untuk mengirim data ke ESP8266. * Params: command - data / perintah untuk dikirim; timeout - waktu untuk menunggu respons; debug - cetak ke jendela Serial? (true = yes, false = no) * Pengembalian: Tanggapan dari esp8266 (jika ada respons) * / String sendToWifi (perintah String, timeout konstan, debug boolean) {String response = ""; wifiSerial.println (perintah); // kirim karakter baca ke esp8266 long int time = millis (); while ((time + timeout)> millis ()) {while (wifiSerial.available ()) {// esp memiliki data jadi tampilkan outputnya ke jendela serial char c = wifiSerial.read (); // baca karakter selanjutnya. respon + = c; }} if (debug) {Serial.println (response); } kembalikan respons; }

/ * * Nama: sendToUNO * Keterangan: Fungsi yang digunakan untuk mengirim data ke UNO. * Params: command - data / perintah untuk dikirim; timeout - waktu untuk menunggu respons; debug - cetak ke jendela Serial? (true = yes, false = no) * Pengembalian: Respons dari UNO (jika ada respons) * / String sendToUno (perintah String, timeout konstan, debug boolean) {String response = ""; Serial.println (perintah); // kirim karakter baca ke esp8266 long int time = millis (); while ((time + timeout)> millis ()) {while (Serial.available ()) {// esp memiliki data sehingga menampilkan outputnya ke jendela serial char c = Serial.read (); // baca karakter selanjutnya. respon + = c; }} if (debug) {Serial.println (response); } kembalikan respons; }

Itu dia! Sekarang Anda telah belajar bagaimana berkomunikasi dengan ESP8266, Anda sekarang dapat menjelajahi lebih banyak proyek Internet of Things. Maksimalkan kekuatan modul WiFI ini dan jadilah Pembuat !.
Jangan ragu untuk menambahkan revisi pada repo github saya

Artikel Terkait