Daftar Isi:

Cara Membuat Gateway WIFI Anda Sendiri untuk Menghubungkan Arduino Anda ke Jaringan IP ?: 11 Langkah (dengan Gambar)
Cara Membuat Gateway WIFI Anda Sendiri untuk Menghubungkan Arduino Anda ke Jaringan IP ?: 11 Langkah (dengan Gambar)

Video: Cara Membuat Gateway WIFI Anda Sendiri untuk Menghubungkan Arduino Anda ke Jaringan IP ?: 11 Langkah (dengan Gambar)

Video: Cara Membuat Gateway WIFI Anda Sendiri untuk Menghubungkan Arduino Anda ke Jaringan IP ?: 11 Langkah (dengan Gambar)
Video: Cara Setting IP Address untuk Nembak Wifi dan Topologi Jaringan 2024, November
Anonim
Bagaimana Cara Membuat Gateway WIFI Anda Sendiri untuk Menghubungkan Arduino Anda ke Jaringan IP?
Bagaimana Cara Membuat Gateway WIFI Anda Sendiri untuk Menghubungkan Arduino Anda ke Jaringan IP?

Karena begitu banyak orang yang Anda pikir Arduino adalah solusi yang sangat baik untuk melakukan otomatisasi rumah dan robot

Tetapi dalam hal komunikasi, Arduino hanya datang dengan tautan serial.

Saya sedang mengerjakan robot yang perlu terhubung secara permanen dengan server yang menjalankan kode kecerdasan buatan. Saya mencoba menggunakan jaringan RF seperti yang biasa saya lakukan untuk domotic tetapi tidak cukup efisien. Saat robot bergerak, saya tidak dapat menggunakan Ethernet Arduino Shield. Arduino Wifi Shield mahal dan menurut saya desainnya lama.

Saya membutuhkan sesuatu yang dapat bertukar data dengan cara yang sangat sederhana dan efisien dengan server.

Itu sebabnya saya memutuskan untuk merancang Gateway berdasarkan mikrokontroler ESP8266 yang sangat murah dan hemat daya

Di sini Anda dapat menemukan cara membuat komponen elektronik dan mengunduh perangkat lunaknya.

Saya menggunakan gateway ini untuk otomatisasi Rumah dan untuk Robot.

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

Saya membuat instruksi lain yang menggunakan perisai ESP8266 dan menghindari penyolderan

Perlengkapan

Saya menulis instruksi lain tentang topik ini

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.

Paling mudah digunakan dengan Arduino Mega yang memiliki lebih dari satu UART (Arduino Mega misalnya) tetapi dapat juga dijalankan dengan UNO.

Langkah 2: Apa Fungsi Utamanya?

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

Ini memiliki 3 LED yang menunjukkan status dan lalu lintas Gateway.

Ini menyediakan GPIO yang dapat digunakan oleh Arduino untuk menunggu Gateway terhubung ke WIFI dan IP.

Ini berjalan dalam 3 mode berbeda yang diatur dengan sakelar:

  • Mode gerbang yang merupakan mode normal
  • Mode konfigurasi yang digunakan untuk mengatur parameter
  • Mode debug untuk mode debug

Sebagian besar parameter dapat dimodifikasi agar sesuai dengan kebutuhan Anda.

Langkah 3: Membangun Bahan

Membangun Bahan
Membangun Bahan

Di atas Arduino Anda, Anda akan membutuhkan

  • 1 x modul ESP8266 - Saya memilih MOD-WIFI-ESP8266-DEV dari Olimex yang harganya sekitar 5 euro yang cukup mudah digunakan.
  • 1 x 5v sumber daya
  • 1 x 3.3v power regulator - saya menggunakan LM1086
  • 1x100 mikrofarad kapasitor
  • 1 x ULN2803 modul APG (dapat diganti dengan 3 x transistor)
  • 8 x resistor (3 x 1K, 1 x 2K, 1 x 2.7k, 1x 3.3K, 1x 27K, 1x 33k)
  • 3 x LED (merah, hijau, biru)
  • 1 x papan tempat memotong roti PCB
  • beberapa kabel dan konektor

Selama langkah pembangunan saja, Anda akan membutuhkan

  • 1 x FTDI 3.3v untuk konfigurasi
  • Besi solder dan timah

Sebelum menyolder, penting untuk mengatur semua komponen pada papan tempat memotong roti dan memeriksa semuanya baik-baik saja.

Langkah 4: Mari Mulai Dengan Elektronik di Breadboard

Mari Mulai Dengan Elektronik di Breadboard !
Mari Mulai Dengan Elektronik di Breadboard !

Tata letak elektronik tersedia dalam format Fritzing

Anda dapat mengunduhnya di sini langkah 1:

github.com/cuillerj/Esp8266IPSerialGateway/blob/master/GatewayElectronicStep1.fzz

Lakukan saja sebagai skema dengan memperhatikan tegangan.

Ingat bahwa ESP8266 tidak mendukung tegangan lebih tinggi dari 3.3v. FTDI harus diatur ke 3.3v.

Langkah 5: Ayo Pergi ke Perangkat Lunak

Mari Pergi ke Perangkat Lunak!
Mari Pergi ke Perangkat Lunak!

Mari kita mulai dengan sisi Gateway

Saya menulis kode dengan Arduino IDE. Jadi Anda perlu ESP8266 untuk dikenal sebagai papan oleh IDE. Pilih papan yang sesuai dengan menu Alat / papan.

Jika Anda tidak melihat ESP266 dalam daftar, itu berarti Anda mungkin harus menginstal ESP8266 Arduino Addon (Anda dapat menemukan prosedurnya di sini).

Semua kode yang Anda butuhkan tersedia di GitHub. Saatnya mengunduhnya!

Kode utama Gateway ada di sana:

Di atas standar Arduino dan ESP8266 menyertakan kode utama yang membutuhkan 2 ini termasuk: LookFoString yang digunakan untuk memanipulasi string dan ada di sana:

ManageParamEeprom yang digunakan untuk membaca dan menyimpan parameter di Eeprom dan ada di sana:

Setelah Anda mendapatkan semua kode, saatnya untuk mengunggahnya ke ESP8266. Pertama sambungkan FTDI ke port USB komputer Anda.

Saya sarankan Anda memeriksa koneksi sebelum mencoba mengunggah.

  • Atur monitor serial Arduino ke port USB baru.
  • Atur kecepatan ke 115200 keduanya cr nl (kecepatan default untuk Olimex)
  • Power on the breadboard (ESP8266 dilengkapi dengan perangkat lunak yang menangani perintah AT)
  • Kirim "AT" dengan alat serial.
  • Anda harus mendapatkan "OK" sebagai balasannya.

Jika tidak periksa koneksi Anda dan lihat spesifikasi ESP8266 Anda.

Jika Anda mendapatkan "OK", Anda siap untuk mengunggah kode

  • Matikan papan tempat memotong roti, tunggu beberapa detik,
  • tekan pada micro-swith hitam dari ESP8266. Adalah normal untuk mendapatkan beberapa sampah di monitor serial.
  • Tekan pada IDE unggah seperti untuk Arduino.
  • Setelah pengunggahan selesai, atur kecepatan serial ke 38400.

Anda akan melihat sesuatu seperti pada gambar.

Selamat Anda berhasil mengupload kode!

Langkah 6: Ayo Lakukan Konfigurasi

Ayo Lakukan Konfigurasi!
Ayo Lakukan Konfigurasi!

configGPIO harus disetel ke 1 untuk masuk dalam mode konfigurasi

Pertama scan WIFI dengan memasukkan perintah: ScanWifi. Anda akan melihat daftar jaringan yang terdeteksi.

  • Kemudian atur SSID Anda dengan memasukkan "SSID1=yournetwork"
  • Kemudian atur kata sandi Anda dengan memasukkan "PSW1 = kata sandi Anda"
  • Kemudian masukkan "SSID=1" untuk menentukan jaringan saat ini
  • Masukkan "Restart" untuk menghubungkan Gateway ke WIFI Anda.
  • Anda dapat memverifikasi bahwa Anda mendapatkan IP dengan memasukkan "ShowWifi".
  • LED biru akan menyala dan LED merah berkedip.

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"

Langkah terakhir yang diperlukan adalah mengatur port mendengarkan server UDP dengan memasukkan "listenPort=xxxx".

Masukkan "ShowEeprom" untuk memeriksa apa yang baru saja Anda simpan di Eeprom

Sekarang colokkan GPIO2 ke ground untuk keluar dari mode konfigurasi

Gateway Anda siap bekerja

Ada beberapa perintah lain yang dapat Anda temukan di dokumentasi.

Langkah 7: Mari Lakukan Sisi Arduino

Mari Lakukan Sisi Arduino!
Mari Lakukan Sisi Arduino!
Mari Lakukan Sisi Arduino!
Mari Lakukan Sisi Arduino!

Pertama hubungkan Arduino

Jika Anda memiliki Mega, itu akan lebih mudah untuk memulai. Namun demikian Anda dapat menggunakan Uno.

Untuk memeriksa pekerjaan Anda, yang terbaik adalah menggunakan contoh.

Anda dapat mengunduhnya di sana:

Ini termasuk kode SerialNetwork yang ada di sini:

Cukup unggah kode di dalam Arduino Anda.

LED hijau berkedip setiap kali Arduino mengirim data.

Langkah 8: Mari Lakukan Sisi Server

Mari Lakukan Sisi Server!
Mari Lakukan Sisi Server!
Mari Lakukan Sisi Server!
Mari Lakukan Sisi Server!

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

Jalankan saja

Lihatlah konsol Java.

Lihatlah monitor Arduino.

Arduino mengirim 2 paket berbeda.

  • Yang pertama berisi pin digital 2 sampai 6 status.
  • Yang kedua berisi 2 nilai acak, level tegangan A0 dalam mV dan hitungan tambahan.

Program Java

  • mencetak data yang diterima dalam format heksadesimal
  • membalas jenis data pertama dengan nilai on/off acak untuk mengaktifkan/menonaktifkan LED Arduino
  • membalas jenis data kedua dengan jumlah yang diterima dan nilai acak.

Langkah 9: Saatnya Melakukan Solder

Saatnya Melakukan Solder!
Saatnya Melakukan Solder!
Saatnya Melakukan Solder!
Saatnya Melakukan Solder!
Saatnya Melakukan Solder!
Saatnya Melakukan Solder!

Ini bekerja di papan tempat memotong roti!

Saatnya membuatnya lebih kuat dengan menyolder bagian-bagian pada PCB

Di atas apa yang Anda lakukan dengan papan tempat memotong roti, Anda harus menambahkan 3 konektor.

  • C1 1 x pin one yang akan digunakan untuk masuk ke network trace mode.
  • C2 3 x pin yang akan digunakan untuk beralih antara mode running dan konfigurasi.
  • C3 6 x pin satu yang akan digunakan untuk menghubungkan Gateway baik ke Arduino atau FTDI.

C1 yang terhubung ke GPIO2 harus di-ground secara manual jika Anda ingin mengaktifkan pelacakan jaringan.

C2 yang terhubung ke GPIO 4 dapat diatur dalam 2 posisi berbeda. Satu yang disetel ke ground untuk mode berjalan normal dan satu set ke 3.3v untuk masuk dalam mode konfigurasi.

Atur semua komponen pada PCB sesuai dengan diagram dan setelah itu mulailah menyolder untuk mendapatkan produk akhir!

Langkah 10: Ayo Lakukan Tes Akhir

Image
Image

Mulai program pengujian Java.

Hubungkan Arduinonya.

Nyalakan Gerbang.

Dan lihat konsol Java, monitor Arduino, LED Arduino dan LED Gateway.

Langkah 11: Anda Dapat Menyesuaikan Desain Ini dengan Kebutuhan Anda Sendiri

Mengenai perangkat keras

  • Jika Anda memilih ESP8266 lain, Anda harus menyesuaikan dengan spesifikasinya.
  • Jika Anda memilih regulator 3.3v lainnya, itu harus menghasilkan lebih dari 500mA dan Anda harus menyesuaikan kapasitor.
  • Anda dapat memodifikasi resistor LED untuk menyesuaikan kecerahan.
  • Anda dapat menekan semua LED tetapi saya sarankan untuk tetap menyala setidaknya merah.
  • Anda dapat mengganti ULN2803 dengan 3 transistor (atau kurang saya Anda memilih untuk tidak menyimpan 3 LED).
  • Saya melakukan tes tetapi di sana harus bekerja dengan papan Arduino 3.3v. Cukup sambungkan Tx Rx ke konektor 3.3v.

Mengenai konfigurasi

  • Anda dapat menyimpan 2 SSID dan sakelar yang berbeda
  • Anda dapat memodifikasi GPIO yang digunakan

Mengenai perangkat lunak

Direkomendasikan: