Isi kandungan:

Gerbang UDP / IP bersiri untuk Arduino Berdasarkan Perisai ESP8266: 8 Langkah
Gerbang UDP / IP bersiri untuk Arduino Berdasarkan Perisai ESP8266: 8 Langkah

Video: Gerbang UDP / IP bersiri untuk Arduino Berdasarkan Perisai ESP8266: 8 Langkah

Video: Gerbang UDP / IP bersiri untuk Arduino Berdasarkan Perisai ESP8266: 8 Langkah
Video: APLIKASI KAMERA UNTUK DETEKSI OBJEK PADA REVOLUSI INDUSTRI 4.0 | AMIKOM WEBINAR SERIES #02 2024, November
Anonim
Serial UDP / IP Gateway untuk Arduino Berdasarkan ESP8266 Shield
Serial UDP / IP Gateway untuk Arduino Berdasarkan ESP8266 Shield

Saya telah menerbitkan pada tahun 2016 ini arahan "Bagaimana membuat gateway Wifi anda sendiri untuk menghubungkan Arduino anda ke Rangkaian IP". Oleh kerana saya melakukan beberapa penambahbaikan kod dan saya masih menggunakan penyelesaian ini.

Walaupun begitu sekarang terdapat beberapa pelindung ESP8266 yang memungkinkan untuk melakukan perkara yang sama tanpa pematerian selagi anda tidak menggunakan papan Mikro atau Nano.

Petunjuk ini akan menerangkan bagaimana menggunakan pelindung ESP82 ini sebagai gerbang UDP / IP bersiri.

Ini mengambil bahagian dari infrastruktur automasi rumah global yang boleh anda lihat di sini

Lebih banyak maklumat mengenai perisai dengan arahan ini

Bekalan

1 Arduino Mega (yang terbaik adalah mempunyai sekurang-kurangnya 1 Mega untuk pembangunan dan 1 Uno untuk fasa berjalan)

1 Rokoo ESP8266 ESP-12E UART WIFI Convertisseur

1 FTDI 3.3v

2 wayar papan roti

Langkah 1: Bagaimana Ia Berfungsi?

Bagaimanakah ia berfungsi ?
Bagaimanakah ia berfungsi ?

Gateway berdasarkan modul ESP8266

Modul ini dihubungkan dari satu sisi dengan pautan bersiri dari sisi lain ke rangkaian IP dengan Wifi.

Ia bertindak sebagai kotak hitam. Paket data yang berasal dari pautan bersiri dihantar ke port IP / Udp dan sebaliknya.

Anda hanya perlu menetapkan konfigurasi anda sendiri (IP, WIFI…) sekali kali pertama anda akan menggunakan Gateway.

Ia boleh memindahkan data ASCII mentah dan binari (tidak ada HTTP, JSON…)

Ia dirancang untuk menghubungkan objek dengan perisian buatan rumah pelayan yang memerlukan pemindahan paket data pendek yang cepat dan kerap.

Langkah 2: Apakah Fungsi Utama?

Kebanyakannya adalah kotak hitam yang menukar data bersiri ke paket UDP dengan dua cara.

Tetapi pintu gerbang juga dapat bertindak sendiri dengan menghantar maklumat dalaman ke pelayan dan menerima beberapa perintah dari pelayan.

Arduino dapat menghantar dan menerima mesej ke / dari pelayan yang disambungkan melalui Internet hanya dengan mencetak / membaca pautan bersiri. Tidak perlu bagi pembangun Arduino untuk mengganggu protokol IP.

Di samping itu, ia menyediakan GPIO yang dapat digunakan oleh Arduino untuk memeriksa bahawa Gateway disambungkan dengan betul ke WIFI dan Gateway dapat secara automatik dengan dua SSID yang berbeza sekiranya berlaku kegagalan

Gateway mempunyai 2 mod berjalan yang dipilih dengan menetapkan GPIO

Menetapkan GPIO ke tanah dan Gateway masuk dalam mod konfigurasi.

Menetapkan GPIO percuma dan Gateway masuk dalam mod jalan masuk.

Selain itu, konfigurasi UDP / IP Gateway dapat diubah dari jauh

Langkah 3: Pembinaan Bahan

Binaan Bahan
Binaan Bahan

Sangat sedikit perkara yang diperlukan

1 ESP8266 Shield - Saya dapati Modul Papan Pelindung WiFi Bersiri UNO R3 ESP8266 ini dengan harga kurang dari 9 €

1 UNO yang menjadi sasaran Arduino

1 Mega yang merupakan alat pengembangan arduino (anda boleh lakukan tanpa tetapi agak sukar untuk debug)

1 FTDI 3.3 / 5v untuk pembangunan

Beberapa wayar

Langkah 4: Muat turun Gateway Code

Muat turun Kod Gateway
Muat turun Kod Gateway

Selama langkah ini, Arduino hanya digunakan untuk menyalakan (dengan USB atau sumber kuasa lain) pada pelindung ESP8266

Sambungkan ESP8266 GPIO4 ke tanah (untuk memasuki mod konfigurasi)

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

Sambungkan FTDI ke perisai (RX ke TX)

Tetapkan suis perisai set ke 1: mati 2: mati 3: pada 4: hidup

Sambungkan bahagian USB FTDI ke komputer anda

Tetapkan semula perisai dengan butang tekan ESP-RST

Muat turun kod Gateway di GitHub

Buka Arduino IDE

  • Pilih port monitor FTDI
  • Buka Monitor Serial IDE - Tetapkan kelajuan ke 38400
  • Pilih papan modul Generic ES8266
  • Tingkatkan firmware perisai dengan kod gerbang

Tetapkan suis 3: mati 4: mati

Buka Monitor Serial IDE

Tetapkan semula perisai dengan butang tekan ESP-RST

Anda mesti melihat mesej di monitor bermula dengan "EEPROM inisialisasi" "Permulaan selesai" ….

Sudah tiba masanya untuk melakukan konfigurasi

Langkah 5: Mari Lakukan Konfigurasi Gateway

Semasa memuat turun kod gateway untuk pertama kalinya, ESP8266 Eeprom akan dimulakan dengan nilai lalai. Anda akan melihat jenis mesej ini "set parameter: x size: yy"

Anda boleh mendapatkan nilai-nilai ini dalam definisi kod paramValue. Sudah tentu anda boleh mengubah nilai lalai ini sebelum memuat turun kod tetapi anda juga boleh menetapkan konfigurasi anda dengan perintah kemudian. Ini lebih baik jika anda merancang untuk mempunyai gateway multipe dan hanya menyimpan satu versi kod.

Gunakan port bersiri monitor untuk menghantar arahan (set ke NL dan CR).

Oleh kerana SSID tidak ditentukan pada masa ini, tunggu "Tidak dapat menyambung ke percubaan kedua anda: 5"

Kemudian imbasan WIFI akan bermula secara automatik

Sudah tiba masanya untuk menetapkan SSID anda dengan arahan berikut:

  • SSID1 = pilihan anda1
  • PSW1 = yourpsw1
  • SSID2 = pilihan anda2
  • PSW2 = yourpsw2
  • SSID = 1 (untuk memilih SSID mana yang akan dimulakan)
  • Mulakan semula Wifi

Selepas beberapa saat anda boleh memeriksa sambungan dengan arahan "ShowWifi". Anda mesti melihat alamat IP yang diperoleh gerbang dari pelayan DNS anda. Sekiranya ia berlaku, inilah masanya untuk melangkah lebih jauh

Sudah waktunya untuk menentukan alamat pelayan IP anda dengan memasukkan 4 subadress (pelayan yang akan menjalankan kod ujian Java). Contohnya:

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

Dengan menghantar arahan kosong, anda akan melihat semua arahan yang disokong yang boleh anda gunakan kemudian untuk memenuhi keperluan anda. Semua nilai parameter disimpan di Eeprom dan memerlukan reboot untuk diambil kira.

Tanggalkan wayar konfigurasi

Perisai kini berfungsi sebagai pintu masuk

Langkah 6: Muat turun Contoh Kod Arduino

Muat turun Contoh Kod Arduino
Muat turun Contoh Kod Arduino

Muat turun dahulu kod Arduino utama di GitHub

Kemudian muat turun kod Arduino ini definisi perintah dan kod pautan bersiri ini ke perpustakaan anda

Kemudian buka kod utama dengan Arduino IDE baru

Tetapkan tutup Perisai 1 dan 2 untuk membebaskan pautan bersiri Arduino 0 untuk sambungan USB

Tetapkan semula perisai

Sambungkan wayar FTDI ke Mega Serial 2 (TX FTDI ke RX Mega dan sebagainya)

Mulakan Arduino IDE baru (atau alat TTY), sambungkan FTDI Usb dan mula memantau pautan bersiri

Muat naik kod Arduino di dalam Mega

Pasang perisai Switch 1 dan 2 untuk menyambung pautan bersiri Arduino 0

Tetapkan semula perisai

Anda mesti melihat mesej ini "mulakan cetakan usb" di monitor

Langkah 7: Mari Lakukan Bahagian Pelayan

Contoh pelayan adalah program Java yang boleh anda muat turun di sini di GitHub

Jalankan sahaja dan lihat konsol Java dan lihat monitor FTDI

Anda akan melihat pertukaran data antara pelayan dan Arduino

Langkah 8: Untuk Melangkah Lebih Lanjut

Untuk Melangkah Lebih Lanjut
Untuk Melangkah Lebih Lanjut
Untuk Melangkah Lebih Lanjut
Untuk Melangkah Lebih Lanjut

Contoh kod Arduino ini berdasarkan pada bahagian kerangka infrastruktur automasi rumah saya.

Sekiranya anda berminat dengan infrastruktur ini, beritahu saya. Saya akan menerbitkan sumber.

Sekiranya anda hanya mahu menggunakan gateway, anda boleh mempermudah kod Arduino.

Setelah mengembangkan dan menguji kod anda di Arduino Mega, anda boleh menggantinya dengan mudah dengan Uno!

Di atasnya, anda boleh menyambungkan wayar antara Arduino GPIO 7 dan ESP8266 GPIO 5 jika anda mahu Arduino anda memeriksa sambungan Wifi

Disyorkan: