İçindekiler:

ESP8266 Kalkanı Tabanlı Arduino için Seri UDP/IP Ağ Geçidi: 8 Adım
ESP8266 Kalkanı Tabanlı Arduino için Seri UDP/IP Ağ Geçidi: 8 Adım

Video: ESP8266 Kalkanı Tabanlı Arduino için Seri UDP/IP Ağ Geçidi: 8 Adım

Video: ESP8266 Kalkanı Tabanlı Arduino için Seri UDP/IP Ağ Geçidi: 8 Adım
Video: Arduino ESP8266 Kullanımı - Thingspeak Nasıl Kullanılır? 2024, Temmuz
Anonim
ESP8266 Kalkanı Tabanlı Arduino için Seri UDP/IP Ağ Geçidi
ESP8266 Kalkanı Tabanlı Arduino için Seri UDP/IP Ağ Geçidi

2016'da bu talimatı "Arduino'nuzu IP Ağına bağlamak için kendi Wifi ağ geçidinizi nasıl oluşturabilirsiniz" yayınladım. Bazı kod iyileştirmeleri yaptığımdan ve hala bu çözümü kullanıyorum.

Yine de, Mikro veya Nano kartlar kullanmadığınız sürece, lehimlemeden tamamen aynı şeyi yapmanıza izin veren bazı ESP8266 kalkanları var.

Bu talimat, bu ESP82 kalkanlarının seri UDP/IP ağ geçidi olarak nasıl kullanılacağını açıklayacaktır.

Bu, küresel bir ev otomasyonu altyapısının bir parçasıdır, buradan göz atabilirsiniz

Bu talimatla kalkan hakkında daha fazla bilgi

Gereçler

1 Arduino Mega (en iyisi geliştirme için en az 1 Mega ve çalıştırma aşaması için 1 Uno'ya sahip olmaktır)

1 adet Rokoo ESP8266 ESP-12E UART WIFI Dönüştürücü

1 FTDI 3.3v

2 adet ekmek tahtası teli

Adım 1: Nasıl Çalışır?

O nasıl çalışır ?
O nasıl çalışır ?

Ağ Geçidi, bir ESP8266 modülüne dayanmaktadır

Bu modül bir taraftan seri bağlantı ile diğer taraftan Wifi ile IP ağına bağlanır.

Kara kutu görevi görür. Seri bağlantıdan gelen veri paketleri bir IP/Udp bağlantı noktasına gönderilir ve bunun tersi de geçerlidir.

Ağ Geçidini ilk açtığınızda sadece kendi konfigürasyonunuzu (IP, WIFI …) ayarlamanız yeterlidir.

Hem ham ASCII hem de ikili verileri aktarabilir (HTTP, JSON… yok)

Kısa veri paketlerinin hızlı ve sık transferine ihtiyaç duyan sunucu ev yapımı yazılımlarla nesneleri bağlamak için tasarlanmıştır.

Adım 2: Ana Fonksiyonlar Nelerdir?

Çoğunlukla seri verileri her iki şekilde de UDP paketine dönüştüren bir kara kutudur.

Ancak ağ geçidi, sunucuya dahili bilgi göndererek ve sunucudan bazı komutlar alarak kendi başına da hareket edebilir.

Arduino, sadece bir seri bağlantı yazdırarak / okuyarak İnternet üzerinden bağlı bir sunucuya / sunucudan mesaj gönderebilir ve alabilir. Arduino geliştiricisinin IP protokolü ile uğraşmasına gerek yoktur.

Bunun üzerine Arduino tarafından Gateway'in WIFI'a doğru şekilde bağlandığını kontrol etmek için kullanılabilecek bir GPIO sağlar ve Gateway, arıza durumunda 2 farklı SSID arasında otomatik olarak geçiş yapabilir.

Ağ Geçidi, bir GPIO ayarlanarak seçilen 2 farklı çalışma moduna sahiptir.

GPIO'nun toprağa ayarlanması ve Ağ Geçidi yapılandırma moduna girer.

GPIO'nun serbest bırakılması ve Ağ Geçidi, ağ geçidi çalıştırma moduna girer.

Bunun üzerine Ağ Geçidi UDP/IP yapılandırması uzaktan değiştirilebilir

Adım 3: Malzemenin İnşası

Malzeme Yapısı
Malzeme Yapısı

Çok az şey gerekli

1 ESP8266 Shield - Bu UNO R3 ESP8266 Seri WiFi Shield Genişletilmiş Kart Modülünü 9€'dan daha ucuza buldum

Hedef Arduino hedefi olan 1 UNO

Arduino geliştirme aracı olan 1 Mega (onsuz yapabilirsiniz ancak hata ayıklaması oldukça zordur)

Geliştirme için 1 FTDI 3.3/5v

Bazı teller

4. Adım: Ağ Geçidi Kodunu İndirin

Ağ Geçidi Kodunu İndirin
Ağ Geçidi Kodunu İndirin

Bu adım sırasında Arduino, yalnızca ESP8266 kalkanına güç sağlamak için (USB veya başka bir güç kaynağı ile) kullanılır.

ESP8266 GPIO4'ü toprağa bağlayın (yapılandırma moduna girmek için)

Kalkanın gerektirdiği şekilde FTDI'yi 3.3v'ye ayarlamaya özen gösterin

FTDI'yi kalkana bağlayın (RX - TX)

Kalkan anahtarını 1:kapalı 2:kapalı 3:açık 4:açık olarak ayarlayın

FTDI'nin USB tarafını bilgisayarınıza bağlayın

ESP-RST basma düğmesiyle kalkanı sıfırlayın

Ağ Geçidi kodunu GitHub'da indirin

Arduino IDE'yi açın

  • FTDI monitör bağlantı noktasını seçin
  • IDE Seri Monitörü açın - Hızı 38400 olarak ayarlayın
  • Genel ES8266 modül kartını seçin
  • Ağ geçidi koduyla kalkan üretici yazılımını yükseltin

Anahtarı ayarla 3:kapalı 4:kapalı

IDE Seri Monitörü açın

ESP-RST basma düğmesiyle kalkanı sıfırlayın

Monitörde "EEPROM başlatma" "Başlatma tamamlandı"… ile başlayan mesajlar görmelisiniz.

Yapılandırmayı yapmanın zamanı geldi

Adım 5: Ağ Geçidi Yapılandırmasını Yapalım

Ağ geçidi kodunu ilk kez indirirken, ESP8266 Eeprom varsayılan değerlerle başlatılacaktır. Bu tür mesajlar göreceksiniz "parametreyi ayarla: x boyutu: yy"

Bu değerleri paramValue kod tanımı içinde bulabilirsiniz. Elbette bu varsayılan değerleri kodu indirmeden önce değiştirebilirsiniz, ancak yapılandırmanızı daha sonra komutla da ayarlayabilirsiniz. Bu, çoklu ağ geçidine sahip olmayı ve yalnızca bir kod sürümünü tutmayı planlıyorsanız daha iyidir.

Komut göndermek için monitörün seri bağlantı noktasını kullanın (NL ve CR olarak ayarlayın).

SSID şu anda tanımlı olmadığı için "Saniyenizin yeniden denemesine bağlanılamadı: 5" için bekleyin.

Ardından WIFI taraması otomatik olarak başlayacaktır

SSID'lerinizi aşağıdaki komutlarla ayarlamanın zamanı geldi:

  • SSID1=seçiminiz1
  • PSW1=yourpsw1
  • SSID2=seçiminiz2
  • PSW2=yourpsw2
  • SSID=1 (hangi SSID ile başlayacağınızı seçmek için)
  • Yeniden BaşlatWifi

Birkaç saniye sonra "ShowWifi" komutuyla bağlantıyı kontrol edebilirsiniz. Ağ geçidinin DNS sunucunuzdan aldığı IP adresini görmelisiniz. Eğer durum buysa, daha ileri gitme zamanı

4 alt adresi (Java test kodunu çalıştıracak sunucu) girerek IP sunucu adresinizi tanımlamanın zamanı geldi. Örneğin:

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

Boş bir komut göndererek, daha sonra gereksinimlerinize uyacak şekilde kullanabileceğiniz desteklenen tüm komutları göreceksiniz. Tüm parametre değerleri Eeprom'da saklanır ve dikkate alınması için yeniden başlatma gerekir.

Yapılandırma kablosunu çıkarın

Kalkan şimdi bir ağ geçidi olarak çalışıyor

Adım 6: Arduino Kod Örneği'ni İndirin

Arduino Kod Örneği'ni indirin
Arduino Kod Örneği'ni indirin

İlk önce ana Arduino kodunu GitHub'da indirin

Ardından Arduino kodunu bu komut tanımını ve bu seri bağlantı kodunu kütüphanelerinize indirin

Ardından ana kodu yeni bir Arduino IDE ile açın

Arduino seri bağlantısını 0 USB bağlantısı için boşaltmak için Shield Switch 1 ve 2'yi kapatın

Kalkanı sıfırla

FTDI kablolarını Mega Seri 2'ye bağlayın (TX FTDI to RX Mega vb.)

Yeni bir Arduino IDE (veya bir TTY aracı) başlatın, FTDI Usb'yi bağlayın ve seri bağlantıyı izlemeye başlayın

Arduino kodunu Mega içine yükleyin

Arduino seri bağlantısını 0 bağlamak için kalkan Anahtarı 1 ve 2'yi açın

Kalkanı sıfırla

Monitörde bu "usb yazdırmayı başlat" mesajını görmelisiniz

Adım 7: Sunucu Tarafını Yapalım

Sunucu örneği, buradan GitHub'dan indirebileceğiniz bir Java programıdır.

Sadece çalıştırın ve Java konsoluna bakın ve FTDI monitörüne bakın

Sunucu ve Arduino arasındaki veri alışverişini göreceksiniz

Adım 8: Daha İleri Gitmek

Daha İleri Gitmek
Daha İleri Gitmek
Daha İleri Gitmek
Daha İleri Gitmek

Bu Arduino kod örneği, ev otomasyon altyapımın bir çerçeve kısmına dayanmaktadır.

Bu altyapıyla ilgileniyorsanız, bana bildirin. Kaynakları yayınlayacağım.

Sadece ağ geçidini kullanmak istiyorsanız Arduino kodunu basitleştirebilirsiniz.

Kodunuzu bir Arduino Mega üzerinde geliştirip test ettikten sonra, kolayca bir Uno ile değiştirebilirsiniz!

Bunun üzerine Arduino'nuzun Wifi bağlantısını kontrol etmesini istiyorsanız Arduino GPIO 7 ve ESP8266 GPIO 5 arasında bir kablo bağlayabilirsiniz.

Önerilen: