İçindekiler:

Arduino'nuzu IP Ağına Bağlamak İçin Kendi WIFI Ağ Geçidinizi Nasıl Yaparsınız?: 11 Adım (Resimlerle)
Arduino'nuzu IP Ağına Bağlamak İçin Kendi WIFI Ağ Geçidinizi Nasıl Yaparsınız?: 11 Adım (Resimlerle)

Video: Arduino'nuzu IP Ağına Bağlamak İçin Kendi WIFI Ağ Geçidinizi Nasıl Yaparsınız?: 11 Adım (Resimlerle)

Video: Arduino'nuzu IP Ağına Bağlamak İçin Kendi WIFI Ağ Geçidinizi Nasıl Yaparsınız?: 11 Adım (Resimlerle)
Video: Arduino ile Esp8266 Kullanımı - Esp-01 2024, Kasım
Anonim
Arduino'nuzu IP Ağına Bağlamak için Kendi WIFI Ağ Geçidinizi Nasıl Yapabilirsiniz?
Arduino'nuzu IP Ağına Bağlamak için Kendi WIFI Ağ Geçidinizi Nasıl Yapabilirsiniz?

Pek çok insan gibi, Arduino'nun ev otomasyonu ve robotik yapmak için çok iyi bir çözüm olduğunu düşünüyorsunuz

Ancak iletişim açısından Arduinos sadece seri bağlantılarla gelir.

Yapay zeka kodu çalıştıran bir sunucuya kalıcı olarak bağlanması gereken bir robot üzerinde çalışıyorum. Domotic için alıştığım gibi RF ağını kullanmaya çalıştım ama yeterince verimli değil. Robot hareket ettikçe Ethernet Arduino Shield kullanamıyorum. Arduino Wifi Shield pahalı ve bana eski tasarım gibi geliyor.

Bir sunucuyla çok basit ve verimli bir şekilde veri alışverişi yapabilecek bir şeye ihtiyacım vardı.

Bu nedenle, çok ucuz ve güç açısından verimli ESP8266 mikro denetleyiciye dayalı bir Ağ Geçidi tasarlamaya karar verdim

Burada elektronik bileşeni nasıl oluşturacağınızı ve yazılımı nasıl indireceğinizi bulabilirsiniz.

Bu ağ geçidini Ev otomasyonu ve Robotik için kullandım.

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

ESP8266 kalkanı kullanan ve lehimlemeyi önleyen başka bir talimat verdim

Gereçler

Bu konuyla ilgili başka bir talimat yazdım

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.

Birden fazla UART'a (örneğin Arduino Mega) sahip olan ancak bir UNO ile de çalışabilen Arduino Mega ile kullanımı en kolay olanıdır.

Adım 2: Ana Fonksiyonlar Nelerdir?

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

Ağ Geçidinin durumunu ve trafiğini gösteren 3 LED'i vardır.

Ağ Geçidinin WIFI ve IP'ye bağlı olmasını beklemek için Arduino tarafından kullanılabilecek bir GPIO sağlar.

Anahtarlarla ayarlanan 3 farklı modda çalışır:

  • Normal mod olan ağ geçidi modu
  • Parametreleri ayarlamak için kullanılan konfigürasyon modu
  • Hata ayıklama modu için olan hata ayıklama modu

Parametrelerin çoğu ihtiyaçlarınıza göre değiştirilebilir.

Adım 3: Malzemenin İnşası

Malzeme Yapısı
Malzeme Yapısı

Arduino'nuzun üstünde ihtiyacınız olacak

  • 1 x ESP8266 modülü - Olimex'in MOD-WIFI-ESP8266-DEV modelini seçiyorum ve yaklaşık 5 Euro'ya mal oluyor ve kullanımı oldukça kolay.
  • 1 x 5v güç kaynağı
  • 1 x 3.3v güç regülatörü - LM1086 kullanıyorum
  • 1 x 100 mikrofarad kapasitör
  • 1 x ULN2803 APG modülü (3 x transistör ile değiştirilebilir)
  • 8 x direnç (3 x 1K, 1 x 2K, 1 x 2.7k, 1x 3.3K, 1x 27K, 1x 33k)
  • 3 x LED (kırmızı, yeşil, mavi)
  • 1 x Breadboard PCB
  • bazı teller ve konektörler

Yalnızca yapım adımları sırasında, ihtiyacınız olacak

  • Yapılandırma için 1 x FTDI 3.3v
  • Havya ve kalay

Lehimlemeden önce tüm bileşenleri breadboard üzerine kurmak ve her şeyin yolunda olup olmadığını kontrol etmek önemlidir.

Adım 4: Breadboard'daki Elektronikle Başlayalım

Breadboard'daki Elektronikle Başlayalım!
Breadboard'daki Elektronikle Başlayalım!

Elektronik düzen Fritzing formatında mevcuttur

Adım 1'i buradan indirebilirsiniz:

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

Sadece voltaja dikkat ederek şema gibi yapın.

ESP8266'nın 3,3v'den yüksek voltajı desteklemediğini unutmayın. FTDI, 3,3v olarak ayarlanmalıdır.

Adım 5: Yazılıma Geçelim

Gelelim Yazılıma!
Gelelim Yazılıma!

Ağ Geçidi tarafıyla başlayalım

Kodu Arduino IDE ile yazdım. Bu nedenle, IDE tarafından kart olarak bilinmesi için ESP8266'ya ihtiyacınız var. Araçlar / panolar menüsü ile uygun panoyu seçin.

Listede herhangi bir ESP266 görmüyorsanız, bu, ESP8266 Arduino Addon'u kurmanız gerekebileceği anlamına gelir (burada prosedürü bulabilirsiniz).

İhtiyacınız olan tüm kodlar GitHub'da mevcuttur. İndirmenin zamanı geldi!

Ağ Geçidinin ana kodu orada:

Standart Arduino ve ESP8266'nın üstünde, bu 2'ye ihtiyaç duyan ana kodu içerir: Dizeleri işlemek için kullanılan LookFoString ve orada:

Eeprom'da parametreleri okumak ve saklamak için kullanılan ManageParamEeprom burada:

Tüm kodu aldığınızda, ESP8266'ya yükleme zamanı gelmiştir. İlk olarak FTDI'yi bilgisayarınızın bir USB bağlantı noktasına bağlayın.

Yüklemeyi denemeden önce bağlantıyı kontrol etmenizi öneririm.

  • Arduino seri monitörünü yeni USB bağlantı noktasına ayarlayın.
  • Hızı her iki cr nl'de 115200'e ayarlayın (Olimex için varsayılan hız)
  • Breadboard'u açın (ESP8266, AT komutlarıyla ilgilenen yazılımla birlikte gelir)
  • Seri aletle "AT" gönderin.
  • Karşılığında "Tamam" almalısın.

Bağlantınızı kontrol etmezseniz ve ESP8266 özelliklerine bakın.

"Tamam" aldıysanız, kodu yüklemeye hazırsınız

  • Breadboard'u kapatın, birkaç saniye bekleyin,
  • ESP8266'nın siyah mikro anahtarına basın. Seri monitörde biraz çöp olması normaldir.
  • Arduino'da olduğu gibi yükleme IDE'sine basın.
  • Yükleme tamamlandıktan sonra seri hızı 38400 olarak ayarlayın.

Resimdeki gibi bir şey göreceksiniz.

Tebrikler, kodu başarıyla yüklediniz!

Adım 6: Yapılandırmayı Yapalım

Yapılandırmayı Yapalım!
Yapılandırmayı Yapalım!

Yapılandırma moduna girmek için configGPIO 1 olarak ayarlanmalıdır

İlk önce şu komutu girerek WIFI'ı tarayın: ScanWifi. Algılanan ağın bir listesini göreceksiniz.

  • Ardından "SSID1=ağınız" yazarak SSID'nizi ayarlayın.
  • Ardından "PSW1=parolanız" yazarak parolanızı belirleyin
  • Ardından mevcut ağı tanımlamak için "SSID=1" girin
  • Ağ Geçidini WIFI'nize bağlamak için "Yeniden Başlat" girin.
  • "ShowWifi" girerek bir IP aldığınızı doğrulayabilirsiniz.
  • Mavi LED yanacak ve kırmızı LED yanıp sönecektir.

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"

Gerekli son adım, "listenPort=xxxx" girerek UDP sunucusunun dinleme portunu ayarlamaktır.

Eeprom'da ne depoladığınızı kontrol etmek için "ShowEeprom" girin

Şimdi yapılandırma modundan çıkmak için GPIO2'yi toprağa bağlayın

Ağ Geçidiniz çalışmaya hazır

Belgelerde bulabileceğiniz başka komutlar da var.

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

Arduino Tarafını Yapalım!
Arduino Tarafını Yapalım!
Arduino Tarafını Yapalım!
Arduino Tarafını Yapalım!

Öncelikle Arduino'yu bağlayın

Bir Mega'nız varsa, başlamak en kolay olacaktır. Yine de bir Uno kullanabilirsiniz.

Çalışmanızı kontrol etmek için en iyisi örneği kullanmaktır.

Oradan indirebilirsiniz:

Burada bulunan SerialNetwork kodunu içerir:

Sadece Arduino'nuzun içindeki kodu yükleyin.

Arduino her veri gönderdiğinde yeşil LED yanıp sönüyor.

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

Sunucu Tarafını Yapalım!
Sunucu Tarafını Yapalım!
Sunucu Tarafını Yapalım!
Sunucu Tarafını Yapalım!

Sunucu örneği, buradan indirebileceğiniz bir Java programıdır:

sadece çalıştır

Java konsoluna bakın.

Arduino monitörüne bakın.

Arduino 2 farklı paket gönderir.

  • İlki, 2 ila 6 arasındaki dijital pinleri içerir.
  • İkincisi 2 rastgele değer, mV cinsinden A0 voltaj seviyesi ve artımsal sayı içerir.

Java programı

  • alınan verileri onaltılık biçimde yazdır
  • Arduino LED'ini açmak/kapatmak için rastgele bir açma/kapama değeriyle ilk tür verilere yanıt verin
  • alınan sayı ve rastgele bir değer ile ikinci tür verilere yanıt verin.

Adım 9: Biraz Lehimleme Zamanı

Biraz Lehimleme Yapmanın Zamanı Geldi!
Biraz Lehimleme Yapmanın Zamanı Geldi!
Biraz Lehimleme Yapmanın Zamanı Geldi!
Biraz Lehimleme Yapmanın Zamanı Geldi!
Biraz Lehimleme Yapmanın Zamanı Geldi!
Biraz Lehimleme Yapmanın Zamanı Geldi!

Breadboard üzerinde çalışıyor!

Parçaları PCB'ye lehimleyerek daha sağlam hale getirmenin zamanı geldi

Breadboard ile yaptıklarınızın üzerine 3 adet bağlayıcı eklemelisiniz.

  • Ağ izleme moduna girmek için kullanılacak C1 1 x pin bir.
  • Çalışma ve konfigürasyon modu arasında geçiş yapmak için kullanılacak olan C2 3 x pin.
  • Ağ Geçidini bir Arduino veya bir FTDI'ye bağlamak için kullanılacak olan C3 6 x pin.

Ağ izlerini etkinleştirmek istiyorsanız, GPIO2'ye bağlı C1'in manuel olarak topraklanması gerekir.

GPIO 4'e bağlı C2, 2 farklı konumda ayarlanabilir. Biri normal çalışma modu için toprağa ayarlanmış ve diğeri konfigürasyon moduna girmek için 3.3v'ye ayarlanmış.

PCB üzerindeki tüm bileşenleri şemaya göre ayarlayın ve ardından nihai ürünü elde etmek için lehimlemeye başlayın!

Adım 10: Son Testi Yapalım

Image
Image

Java test programını başlatın.

Arduino'yu bağlayın.

Ağ Geçidini açın.

Java konsoluna, Arduino monitörüne, Arduino LED'ine ve Gateway LED'lerine bakın.

Adım 11: Bu Tasarımı Kendi Gereksinimlerinize Uyarlayabilirsiniz

Donanımla ilgili

  • Başka bir ESP8266 seçerseniz, teknik özelliklere göre ayarlamanız gerekecektir.
  • Başka bir 3.3v regülatör seçerseniz, 500mA'in üzerinde bir güç sağlamalıdır ve kapasitörü uyarlamanız gerekecektir.
  • Parlaklığı ayarlamak için LED dirençlerini değiştirebilirsiniz.
  • Tüm LED'leri bastırabilirsiniz ancak en azından kırmızıyı açık tutmanızı öneririm.
  • ULN2803'ü 3 transistörle değiştirebilirsiniz (veya daha azını 3 LED'i tutmamayı seçersiniz).
  • Test ettim ama orada 3.3v Arduino kartlarıyla çalışması gerekiyor. Sadece Tx Rx'i 3.3v konektöre bağlayın.

Yapılandırma ile ilgili

  • 2 farklı SSID saklayabilir ve değiştirebilirsiniz.
  • Kullanılan GPIO'yu değiştirebilirsiniz

Yazılımla ilgili

Önerilen: