Daftar Isi:

Serial UDP/IP Gateway untuk Arduino Berbasis ESP8266 Shield: 8 Langkah
Serial UDP/IP Gateway untuk Arduino Berbasis ESP8266 Shield: 8 Langkah

Video: Serial UDP/IP Gateway untuk Arduino Berbasis ESP8266 Shield: 8 Langkah

Video: Serial UDP/IP Gateway untuk Arduino Berbasis ESP8266 Shield: 8 Langkah
Video: +6285743320570 dynamic ip setting ethernet shield arduino via serial 2024, Juli
Anonim
Serial UDP/IP Gateway untuk Arduino Berbasis ESP8266 Shield
Serial UDP/IP Gateway untuk Arduino Berbasis ESP8266 Shield

Saya sudah menerbitkan pada tahun 2016 instruksi ini "Cara membuat gateway Wifi Anda sendiri untuk menghubungkan Arduino Anda ke Jaringan IP". Karena saya melakukan beberapa perbaikan kode dan saya masih menggunakan solusi ini.

Namun demikian sekarang ada beberapa perisai ESP8266 yang memungkinkan melakukan hal yang sama tanpa menyolder selama Anda tidak menggunakan papan Mikro atau Nano.

Instruksi ini akan menjelaskan cara menggunakan perisai ESP82 ini sebagai gateway UDP/IP serial.

Ini mengambil bagian dari infrastruktur otomatisasi rumah global yang dapat Anda lihat di sini

Informasi lebih lanjut tentang perisai dengan instruksi ini

Perlengkapan

1 Arduino Mega (yang terbaik adalah memiliki setidaknya 1 Mega untuk pengembangan dan 1 Uno untuk fase berjalan)

1 Rokoo ESP8266 ESP-12E UART WIFI Convertisseur

1 FTDI 3.3v

2 kabel papan tempat memotong roti

Langkah 1: Bagaimana Cara Kerjanya?

Bagaimana cara kerjanya ?
Bagaimana cara kerjanya ?

Gateway didasarkan pada modul ESP8266

Modul ini terhubung dari satu sisi dengan tautan serial dari sisi lain ke jaringan IP dengan Wifi.

Ini bertindak sebagai kotak hitam. Paket data yang berasal dari link serial dikirim ke port IP/Udp dan sebaliknya.

Anda hanya perlu mengatur konfigurasi Anda sendiri (IP, WIFI …) setelah pertama kali Anda menyalakan Gateway.

Itu dapat mentransfer data ASCII mentah dan biner (tanpa HTTP, JSON …)

Ini dirancang untuk menghubungkan objek dengan perangkat lunak buatan server yang membutuhkan transfer paket data pendek yang cepat dan sering.

Langkah 2: Apa Fungsi Utamanya?

Sebagian besar adalah kotak hitam yang mengubah data serial ke paket UDP dengan dua cara.

Tetapi gateway juga dapat bertindak sendiri dengan mengirimkan informasi internal ke server dan menerima beberapa perintah dari server.

Arduino dapat mengirim dan menerima pesan ke / dari server yang terhubung melalui Internet hanya dengan mencetak / membaca tautan serial. Pengembang Arduino tidak perlu repot dengan protokol IP.

Selain itu, ia menyediakan GPIO yang dapat digunakan oleh Arduino untuk memeriksa apakah Gateway terhubung dengan benar ke WIFI dan Gateway dapat secara otomatis beralih antara 2 SSID yang berbeda jika terjadi kegagalan.

Gateway memiliki 2 mode berjalan berbeda yang dipilih dengan menyetel GPIO

Mengatur GPIO ke ground dan Gateway masuk dalam mode konfigurasi.

Mengatur GPIO gratis dan Gateway masuk dalam mode menjalankan gateway.

Selain itu, konfigurasi Gateway UDP/IP dapat dimodifikasi dari jarak jauh

Langkah 3: Membangun Bahan

Membangun Bahan
Membangun Bahan

Sangat sedikit hal yang diperlukan

1 ESP8266 Shield - Saya menemukan UNO R3 ESP8266 Serial WiFi Shield Extend Board Module ini dengan harga kurang dari € 9

1 UNO yang menjadi target target Arduino

1 Mega yang merupakan alat pengembangan arduino (Anda dapat melakukannya tanpa tetapi cukup sulit untuk di-debug)

1 FTDI 3.3/5v untuk pengembangan

Beberapa kabel

Langkah 4: Unduh Kode Gateway

Unduh Kode Gerbang
Unduh Kode Gerbang

Selama langkah ini Arduino hanya digunakan untuk memberi daya (dengan USB atau sumber daya lainnya) pada pelindung ESP8266

Hubungkan ESP8266 GPIO4 ke ground (untuk masuk ke mode konfigurasi)

Berhati-hatilah untuk mengatur FTDI ke 3.3v seperti yang dipersyaratkan oleh perisai

Hubungkan FTDI ke pelindung (RX ke TX)

Setel sakelar pelindung ke 1: mati 2: mati 3: hidup 4: hidup

Hubungkan sisi USB FTDI ke komputer Anda

Setel ulang pelindung dengan tombol tekan ESP-RST

Unduh kode Gateway di sana di GitHub

Buka Arduino IDE

  • Pilih port monitor FTDI
  • Buka IDE Serial Monitor - Atur kecepatan ke 38400
  • Pilih papan modul ES8266 Generik
  • Tingkatkan firmware pelindung dengan kode gateway

Setel sakelar 3: mati 4: mati

Buka Monitor Serial IDE

Setel ulang pelindung dengan tombol tekan ESP-RST

Anda harus melihat pesan di monitor yang dimulai dengan "Inisialisasi EEPROM" "Inisialisasi selesai"….

Saatnya melakukan konfigurasi

Langkah 5: Mari Lakukan Konfigurasi Gateway

Saat mengunduh kode gateway untuk pertama kalinya, ESP8266 Eeprom akan diinisialisasi dengan nilai default. Anda akan melihat pesan seperti ini "set parameter: x size: yy"

Anda dapat menemukan nilai-nilai ini di dalam definisi kode paramValue. Tentu saja Anda dapat mengubah nilai default ini sebelum mengunduh kode, tetapi Anda juga dapat mengatur konfigurasi Anda dengan perintah nanti. Ini lebih baik jika Anda berencana untuk memiliki gateway multipe dan hanya menyimpan satu versi kode.

Gunakan port serial monitor untuk mengirim perintah (diatur ke NL dan CR).

Karena SSID saat ini tidak ditentukan, tunggu "Tidak dapat terhubung ke coba ulang detik Anda: 5"

Kemudian pemindaian WIFI akan dimulai secara otomatis

Saatnya untuk mengatur SSID Anda dengan perintah berikut:

  • SSID1=pilihan Anda1
  • PSW1=psw1 Anda
  • SSID2=pilihan Anda2
  • PSW2=psw2 Anda
  • SSID=1 (untuk memilih SSID yang akan digunakan)
  • Mulai ulang Wifi

Setelah beberapa detik Anda dapat memeriksa koneksi dengan perintah "ShowWifi". Anda harus melihat alamat IP yang didapat gateway dari server DNS Anda. Jika demikian, inilah saatnya untuk melangkah lebih jauh

Saatnya menentukan alamat IP server Anda dengan memasukkan 4 subalamat (server yang akan menjalankan kode uji Java). Contohnya:

  • "IP1=192"
  • "IP2 = 168"
  • "IP3=1"
  • "IP4 = 10"

Dengan mengirim perintah kosong, Anda akan melihat semua perintah yang didukung yang dapat Anda gunakan nanti agar sesuai dengan kebutuhan Anda. Semua nilai parameter disimpan di Eeprom dan perlu reboot untuk diperhitungkan.

Lepaskan kabel konfigurasi

Perisai sekarang berjalan sebagai gerbang

Langkah 6: Unduh Contoh Kode Arduino

Unduh Contoh Kode Arduino
Unduh Contoh Kode Arduino

Pertama unduh kode Arduino utama di GitHub

Kemudian unduh kode Arduino definisi perintah ini dan kode tautan serial ini ke perpustakaan Anda

Kemudian buka kode utama dengan Arduino IDE baru

Setel sakelar pelindung 1 dan 2 untuk membebaskan tautan serial Arduino 0 untuk koneksi USB

Setel ulang perisai

Hubungkan kabel FTDI ke Mega Serial 2 (TX FTDI ke RX Mega dan seterusnya)

Mulai Arduino IDE baru (atau alat TTY), sambungkan Usb FTDI dan mulai pantau tautan serial

Unggah kode Arduino di dalam Mega

Atur sakelar pelindung 1 dan 2 untuk menghubungkan tautan serial Arduino 0

Setel ulang perisai

Anda harus melihat pesan ini "mulai cetak usb" di monitor

Langkah 7: Mari Lakukan Sisi Server

Contoh server adalah program Java yang dapat Anda unduh di sini di GitHub

Jalankan saja dan lihat konsol Java dan lihat monitor FTDI

Anda akan melihat pertukaran data antara server dan Arduino

Langkah 8: Untuk Melangkah Lebih Jauh

Untuk Melangkah Lebih Jauh
Untuk Melangkah Lebih Jauh
Untuk Melangkah Lebih Jauh
Untuk Melangkah Lebih Jauh

Contoh kode Arduino ini didasarkan pada bagian kerangka kerja infrastruktur otomatisasi rumah saya.

Jika Anda tertarik dengan infrastruktur ini, beri tahu saya. Saya akan menerbitkan sumber.

Jika Anda hanya ingin menggunakan gateway, Anda dapat menyederhanakan kode Arduino.

Setelah mengembangkan dan menguji kode Anda pada Arduino Mega, Anda dapat dengan mudah menggantinya dengan Uno !

Selain itu Anda dapat menghubungkan kabel antara Arduino GPIO 7 dan ESP8266 GPIO 5 jika Anda ingin Arduino Anda memeriksa koneksi Wifi

Direkomendasikan: