Mündəricat:

ESP8266 Shield əsasında Arduino üçün Serial UDP/IP Gateway: 8 Addım
ESP8266 Shield əsasında Arduino üçün Serial UDP/IP Gateway: 8 Addım

Video: ESP8266 Shield əsasında Arduino üçün Serial UDP/IP Gateway: 8 Addım

Video: ESP8266 Shield əsasında Arduino üçün Serial UDP/IP Gateway: 8 Addım
Video: Arduino Shield Üretiyoruz! HaberDuino LiPo Shield || JLCPCB #1 2024, Iyul
Anonim
ESP8266 Shield əsasında Arduino üçün Serial UDP/IP Gateway
ESP8266 Shield əsasında Arduino üçün Serial UDP/IP Gateway

Artıq 2016 -cı ildə bu təlimatlı "Arduino -nuzu IP Şəbəkəsinə bağlamaq üçün öz Wifi ağ geçidinizi necə düzəltmək olar" dərc etmişdim. Bəzi kod təkmilləşdirmələri etdiyimdən və hələ də bu həlli istifadə edirəm.

Buna baxmayaraq, indi Micro və ya Nano lövhələrdən istifadə etmədiyiniz müddətdə lehimləmədən eyni şeyi etməyə imkan verən bəzi ESP8266 qalxanları var.

Bu təlimat, bu ESP82 qalxanlarının seriyalı UDP/IP ağ geçidi olaraq necə istifadə ediləcəyini izah edəcək.

Bura baxa biləcəyiniz qlobal ev avtomatlaşdırma infrastrukturunun bir hissəsidir

Bu təlimatla qalxan haqqında daha çox məlumat

Təchizat

1 Arduino Mega (ən yaxşısı, inkişaf üçün ən azı 1 Mega və qaçış mərhələsi üçün 1 Uno olmasıdır)

1 Rokoo ESP8266 ESP-12E UART WIFI Tərtibatçısı

1 FTDI 3.3v

2 ədəd taxta tel

Addım 1: Necə işləyir?

Bu necə işləyir ?
Bu necə işləyir ?

Gateway bir ESP8266 moduluna əsaslanır

Bu modul bir tərəfdən serial bağlantısı ilə digər tərəfdən Wifi ilə IP şəbəkəsinə qoşulur.

Qara qutu rolunu oynayır. Serial bağlantıdan gələn məlumat paketləri bir IP/Udp limanına göndərilir və ya əksinə.

Gateway -i ilk dəfə işə saldıqda öz konfiqurasiyanızı (IP, WIFI…) təyin etməlisiniz.

Həm xam ASCII, həm də ikili məlumatları ötürə bilər (HTTP, JSON yoxdur …)

Qısa məlumat paketinin sürətli və tez -tez köçürülməsinə ehtiyacı olan obyektləri ev quruluşlu server proqramları ilə birləşdirmək üçün nəzərdə tutulmuşdur.

Addım 2: Əsas funksiyalar nələrdir?

Çoğunlukla, serial məlumatlarını UDP paketinə hər iki şəkildə çevirən bir qara qutudur.

Ancaq ağ geçidi, serverə daxili məlumat göndərərək və serverdən bəzi əmrlər alaraq da öz fəaliyyətini göstərə bilər.

Arduino, İnternet bağlantısı olan bir serverə yalnız bir serial bağlantısını çap edərək / oxuyaraq mesaj göndərə və qəbul edə bilər. Arduino geliştiricisinin IP protokolundan narahat olmasına ehtiyac yoxdur.

Bunun üzərinə, Gateway -in WIFI -yə düzgün bağlı olduğunu yoxlamaq üçün Arduino tərəfindən istifadə edilə bilən bir GPIO təmin edir və Gateway, 2 fərqli SSID -in arızalanması halında avtomatik olaraq işləyə bilər.

Gateway, bir GPIO quraraq seçilən 2 fərqli iş rejiminə malikdir

GPIO -nun yerə qoyulması və Gateway konfiqurasiya rejiminə keçir.

GPIO -nu sərbəst qurmaq və Gateway ağ geçidi iş rejiminə keçir.

Bunun üzərinə Gateway UDP/IP konfiqurasiyası uzaqdan dəyişdirilə bilər

Addım 3: Materialın qurulması

Materialın qurulması
Materialın qurulması

Çox az şey tələb olunur

1 ESP8266 Shield - Mən bu UNO R3 ESP8266 Serial WiFi Shield Board Board Modulunu 9 € -dan aşağı qiymətə tapdım

1 Arduino hədəfi olan UNO

Arduino inkişaf etdirmə vasitəsi olan 1 Mega (onsuz edə bilərsiniz, ancaq düzəltmək olduqca çətindir)

İnkişaf üçün 1 FTDI 3.3/5v

Bəzi tellər

Addım 4: Ağ geçidi kodunu yükləyin

Gateway Kodunu yükləyin
Gateway Kodunu yükləyin

Bu mərhələdə Arduino yalnız ESP8266 qalxanından (USB və ya başqa bir enerji mənbəyi ilə) istifadə etmək üçün istifadə olunur.

ESP8266 GPIO4 -ü yerə bağlayın (konfiqurasiya rejiminə daxil olmaq üçün)

Qalxanın tələb etdiyi kimi FTDI -ni 3.3v -ə qoymağa diqqət edin

FTDI -ni qalxana qoşun (RX -TX)

Qalxan açarını 1: söndür 2: söndür 3: aç 4: aç

FTDI -nin USB tərəfini kompüterinizə qoşun

ESP-RST düyməsini istifadə edərək qalxanı sıfırlayın

Orada Gateway kodunu GitHub -da yükləyin

Arduino IDE -ni açın

  • FTDI monitor portunu seçin
  • IDE Serial Monitorunu açın - Sürəti 38400 olaraq təyin edin
  • Ümumi ES8266 modul lövhəsini seçin
  • Gateway kodu ilə qalxan firmware -ni təkmilləşdirin

Şalteri 3: söndür 4: söndürün

IDE Serial Monitorunu açın

ESP-RST düyməsini istifadə edərək qalxanı sıfırlayın

Monitorda "EEPROM başlatma" "Başlatma tamamlandı" ilə başlayan mesajları görməlisiniz.

Konfiqurasiya etmə vaxtıdır

Addım 5: Gateway Konfiqurasiyasını edək

Şlüz kodunu ilk dəfə endirərkən, ESP8266 Eeprom standart dəyərlərlə işə salınacaq. Bu cür mesajları "set parameter: x size: yy" görəcəksiniz.

Bu dəyərləri paramValue kod tərifində tapa bilərsiniz. Əlbəttə ki, kodu yükləməzdən əvvəl bu standart dəyərləri dəyişə bilərsiniz, ancaq konfiqurasiyanı sonradan əmrlə də təyin edə bilərsiniz. Çox yollu şlüzə sahib olmağı planlaşdırsanız və kodun yalnız bir versiyasını saxlasanız bu daha yaxşıdır.

Komanda göndərmək üçün monitorun seriyalı portundan istifadə edin (NL və CR olaraq təyin edin).

SSID hazırda müəyyən edilmədiyi üçün "ikinci saniyə bağlanıla bilmədi: 5" gözləyin

Sonra WIFI taraması avtomatik olaraq başlayacaq

Aşağıdakı əmrlərlə SSID -lərinizi qurmağın vaxtı gəldi:

  • SSID1 = seçiminiz1
  • PSW1 = sənin1
  • SSID2 = seçiminiz2
  • PSW2 = sənin2
  • SSID = 1 (hansı SSID ilə başlayacağınızı seçmək üçün)
  • Wifi yenidən başladın

Bir neçə saniyədən sonra "ShowWifi" əmri ilə əlaqəni yoxlaya bilərsiniz. Şluzun DNS serverinizdən aldığı IP ünvanını görməlisiniz. Əgər belədirsə, daha irəli getməyin vaxtıdır

4 alt ünvanı (Java test kodunu işlədən server) daxil edərək IP server ünvanınızı təyin etməyin vaxtı gəldi. Məsələn:

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

Boş bir əmr göndərməklə, tələblərinizə uyğun olaraq daha sonra istifadə edə biləcəyiniz bütün dəstəklənən əmrləri görəcəksiniz. Bütün parametrlər Eeprom -da saxlanılır və nəzərə alınmaq üçün yenidən başlatma tələb olunur.

Konfiqurasiya telini çıxarın

Qalxan indi bir keçid olaraq işləyir

Addım 6: Arduino Kod nümunəsini yükləyin

Arduino Kod nümunəsini yükləyin
Arduino Kod nümunəsini yükləyin

Əvvəlcə GitHub -da əsas Arduino kodunu yükləyin

Sonra bu əmrlərin tərifini və bu serial bağlantı kodunu Arduino kodunuza yükləyin

Sonra yeni Arduino IDE ilə əsas kodu açın

USB bağlantısı üçün Arduino serial 0 bağlantısını boşaltmaq üçün 1 və 2 -ci kalkan keçidini söndürün

Qalxanı sıfırlayın

FTDI tellərini Mega Serial 2 -yə qoşun (TX FTDI -dən RX Mega -a və s.)

Yeni bir Arduino IDE (və ya TTY vasitəsi) işə salın, FTDI Usb -ı bağlayın və serial bağlantısını izləməyə başlayın

Mega daxilində Arduino kodunu yükləyin

Arduino serial bağlantısı 0 -a qoşulmaq üçün 1 və 2 -ci kalkan keçidini işə salın

Qalxanı sıfırlayın

Monitörde "usb print başlat" mesajını görməlisiniz

Addım 7: Server tərəfini edək

Server nümunəsi, burada GitHub -da yükləyə biləcəyiniz bir Java proqramıdır

Yalnız onu işə salın və Java konsoluna baxın və FTDI monitoruna baxın

Server və Arduino arasında məlumat mübadiləsini görəcəksiniz

Addım 8: İrəli getmək üçün

İrəli getmək üçün
İrəli getmək üçün
İrəli getmək üçün
İrəli getmək üçün

Bu Arduino kod nümunəsi ev avtomatlaşdırma infrastrukturumun bir çərçivə hissəsinə əsaslanır.

Bu infrastrukturla maraqlanırsınızsa, mənə bildirin. Mənbələri dərc edəcəyəm.

Yalnız ağ geçidindən istifadə etmək istəyirsinizsə, Arduino kodunu sadələşdirə bilərsiniz.

Kodunuzu bir Arduino Mega -da inkişaf etdirdikdən və sınadıqdan sonra asanlıqla Uno ilə əvəz edə bilərsiniz!

Bunun üzərinə Arduino -nun Wifi bağlantısını yoxlamasını istəyirsinizsə Arduino GPIO 7 və ESP8266 GPIO 5 arasında bir tel bağlaya bilərsiniz.

Tövsiyə: