Mündəricat:

Arduino -nuzu IP Şəbəkəsinə Qoşmaq üçün Öz WIFI Şlüzünüzü necə qurmalısınız?: 11 Adım (Şəkillərlə)
Arduino -nuzu IP Şəbəkəsinə Qoşmaq üçün Öz WIFI Şlüzünüzü necə qurmalısınız?: 11 Adım (Şəkillərlə)

Video: Arduino -nuzu IP Şəbəkəsinə Qoşmaq üçün Öz WIFI Şlüzünüzü necə qurmalısınız?: 11 Adım (Şəkillərlə)

Video: Arduino -nuzu IP Şəbəkəsinə Qoşmaq üçün Öz WIFI Şlüzünüzü necə qurmalısınız?: 11 Adım (Şəkillərlə)
Video: Evdə WIFI zəif tutur? 2024, Noyabr
Anonim
Arduino -nu IP Şəbəkəsinə bağlamaq üçün öz WIFI Gatewayinizi necə qurmalısınız?
Arduino -nu IP Şəbəkəsinə bağlamaq üçün öz WIFI Gatewayinizi necə qurmalısınız?

Bir çox insanın fikrincə, Arduino ev avtomatlaşdırılması və robotlaşdırma üçün çox yaxşı bir həlldir

Ancaq ünsiyyət baxımından Arduinos sadəcə serial bağlantıları ilə gəlir.

Süni intellekt kodu işləyən bir serverlə daimi olaraq əlaqəli olması lazım olan bir robot üzərində işləyirəm. Dom şəbəkəsində istifadə etdiyim kimi RF şəbəkəsini istifadə etməyə çalışdım, amma kifayət qədər səmərəli deyil. Robot hərəkət edərkən Ethernet Arduino Shield istifadə edə bilmirəm. Arduino Wifi Shield bahalıdır və mənə köhnə dizayn kimi görünür.

Bir serverlə çox sadə və səmərəli şəkildə məlumat mübadiləsi edə biləcək bir şeyə ehtiyacım var idi.

Bu səbəbdən çox ucuz və enerjiyə qənaətcil ESP8266 mikro nəzarətçisinə əsaslanan bir Gateway dizayn etmək qərarına gəldim

Burada elektron komponenti necə quracağınızı və proqramı yükləyə bilərsiniz.

Bu keçidi Ev avtomatlaşdırması və Robotik üçün istifadə etdim.

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

ESP8266 qalxanı istifadə edən və lehimdən qaçan başqa bir təlimat verdim

Təchizat

Bu mövzuda başqa bir təlimat yazdım

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.

Birdən çox UART (məsələn, Arduino Mega) olan, lakin UNO ilə işləyə bilən Arduino Mega ilə istifadə etmək ən asandır.

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

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

Gatewayin vəziyyətini və trafikini göstərən 3 LED var.

Gateway -in WIFI və IP -yə qoşulmasını gözləmək üçün Arduino tərəfindən istifadə edilə bilən bir GPIO təmin edir.

Şalter ilə təyin olunan 3 fərqli rejimdə çalışır:

  • Gateway rejimi normal rejimdir
  • Parametrləri təyin etmək üçün istifadə olunan konfiqurasiya rejimi
  • Ayıklama rejimi üçün olan debug rejimi

Parametrlərin çoxu ehtiyaclarınıza uyğun olaraq dəyişdirilə bilər.

Addım 3: Materialın qurulması

Materialın qurulması
Materialın qurulması

Arduinonun üstündə sizə lazım olacaq

  • 1 x ESP8266 modulu-Olimex-dən 5 avroya başa gələn MOD-WIFI-ESP8266-DEV istifadə etmək olduqca asandır.
  • 1 x 5v güc mənbəyi
  • 1 x 3.3v güc tənzimləyicisi - LM1086 istifadə edirəm
  • 1 x 100 mikrofaradlıq kondansatör
  • 1 x ULN2803 APG modulu (3 x tranzistorla əvəz edilə bilər)
  • 8 x rezistor (3 x 1K, 1 x 2K, 1 x 2,7k, 1x 3,3K, 1x 27K, 1x 33k)
  • 3 x LED (qırmızı, yaşıl, mavi)
  • 1 x Breadboard PCB
  • bəzi tellər və bağlayıcılar

Yalnız tikinti mərhələlərində ehtiyacınız olacaq

  • Konfiqurasiya üçün 1 x FTDI 3.3v
  • Lehimləmə dəmir və qalay

Lehimdən əvvəl çörək taxtasındakı bütün komponentləri qurmaq və hər şeyin düzgün olub olmadığını yoxlamaq vacibdir.

Addım 4: Çörək lövhəsindəki elektrondan başlayaq

Çörək lövhəsindəki elektrondan başlayaq!
Çörək lövhəsindəki elektrondan başlayaq!

Elektron plan Fritzing formatında mövcuddur

1 -ci addımı buradan yükləyə bilərsiniz:

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

Yalnız gərginliyə diqqət yetirərək sxem kimi edin.

Unutmayın ki, ESP8266 3.3v -dən yüksək gərginliyi dəstəkləmir, FTDI isə 3.3v -ə təyin edilməlidir.

Addım 5: Proqram təminatına keçək

Proqram təminatına keçək!
Proqram təminatına keçək!

Gateway tərəfdən başlayaq

Kodu Arduino IDE ilə yazdım. Beləliklə, IDE tərəfindən board kimi tanınmaq üçün ESP8266 -ya ehtiyacınız var. Alətlər / lövhələr menyusundan uyğun lövhəni seçin.

Siyahıda heç bir ESP266 görmürsənsə, deməli, ESP8266 Arduino Addon -u yükləməli ola bilərsən (proseduru burada tapa bilərsiniz).

Lazım olan bütün kod GitHub -da mövcuddur. Yükləmək vaxtıdır!

Ağ geçidinin əsas kodu oradadır:

Standart Arduino və ESP8266 -nın üstünə bu 2 əsas kod daxildir: simləri idarə etmək üçün istifadə olunan LookFoString və orada:

Eeprom ans -da parametrləri oxumaq və saxlamaq üçün istifadə olunan ManageParamEeprom var:

Bütün kodu əldə etdikdən sonra onu ESP8266 -ya yükləməyin vaxtı gəldi. Əvvəlcə FTDI -ni kompüterinizin USB portuna qoşun.

Yükləməyə başlamazdan əvvəl əlaqəni yoxlamağı məsləhət görürəm.

  • Arduino serial monitorunu yeni USB portuna qoyun.
  • Sürəti həm cr nl üçün 115200 olaraq təyin edin (Olimex üçün defaut sürəti)
  • Çörək taxtasında güc (ESP8266, AT əmrləri ilə məşğul olan bir proqramla gəlir)
  • Serial vasitəsi ilə "AT" göndərin.
  • Bunun müqabilində "OK" almalısınız.

Əlaqənizi yoxlamayın və ESP8266 xüsusiyyətlərinizə baxın.

"OK" varsa, kodu yükləməyə hazırsınız

  • Çörək taxtasını söndürün, bir neçə saniyə gözləyin,
  • ESP8266-nın qara mikro çubuğuna basın. Serial monitorda zibilin olması normaldır.
  • Arduino kimi IDE yükləmə düyməsini basın.
  • Yükləmə tamamlandıqdan sonra serial sürətini 38400 olaraq təyin edin.

Şəkildəki kimi bir şey görəcəksiniz.

Kodu uğurla yüklədiyiniz üçün təbrik edirik!

Addım 6: Konfiqurasiya edək

Konfiqurasiya edək!
Konfiqurasiya edək!

Konfiqurasiya rejiminə daxil olmaq üçün configGPIO 1 olaraq təyin olunmalıdır

Əvvəlcə əmr daxil edərək WIFI -i tarayın: ScanWifi. Tapılan şəbəkənin siyahısını görəcəksiniz.

  • Sonra "SSID1 = şəbəkəniz" yazaraq SSID -ni təyin edin.
  • Sonra "PSW1 = şifrənizi" daxil edərək parolunuzu təyin edin.
  • Sonra cari şəbəkəni təyin etmək üçün "SSID = 1" daxil edin
  • Gateway'i WIFI -yə bağlamaq üçün "Yenidən Başlat" daxil edin.
  • "ShowWifi" daxil olaraq bir IP aldığınızı təsdiqləyə bilərsiniz.
  • Mavi LED yanacaq və qırmızı LED yanıb -sönəcək.

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"

Son tələb olunan addım "listenPort = xxxx" daxil edərək UDP server dinləmə limanını təyin etməkdir.

Eepromda nə saxladığınızı yoxlamaq üçün "ShowEeprom" a daxil olun

İndi konfiqurasiya rejimindən çıxmaq üçün GPIO2 -ni yerə qoşun

Ağ geçidiniz işə hazırdır

Sənədlərdə tapa biləcəyiniz bəzi digər əmrlər var.

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

Arduino tərəfini edək!
Arduino tərəfini edək!
Arduino tərəfini edək!
Arduino tərəfini edək!

Əvvəlcə Arduino -ya qoşulun

Bir Mega varsa, başlamaq ən asan olacaq. Buna baxmayaraq, Uno istifadə edə bilərsiniz.

İşinizi yoxlamaq üçün ən yaxşı nümunəni istifadə etməkdir.

Oradan yükləyə bilərsiniz:

Bura daxil olan SerialNetwork kodu daxildir:

Kodu yalnız Arduino -ya yükləyin.

Arduino hər dəfə məlumat göndərəndə yaşıl LED yanıb -sönür.

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

Server tərəfini edək!
Server tərəfini edək!
Server tərəfini edək!
Server tərəfini edək!

Server nümunəsi, buradan yükləyə biləcəyiniz bir Java proqramıdır:

Sadəcə çalıştırın

Java konsoluna baxın.

Arduino monitoruna baxın.

Arduino 2 fərqli paket göndərir.

  • Birincisi, 2 -dən 6 -dək rəqəmsal pinləri ehtiva edir.
  • İkincisi 2 təsadüfi dəyərdən ibarətdir, mV -də A0 gərginlik səviyyəsi və artan say.

Java proqramı

  • alınan məlumatları onaltılıq formatda çap edin
  • Arduino LEDini açmaq/söndürmək üçün təsadüfi açma/söndürmə dəyəri olan ilk növ məlumatlara cavab verin
  • alınan say və təsadüfi bir dəyərlə ikinci növ məlumatlara cavab verin.

Addım 9: Biraz Lehimləmə Vaxtıdır

Biraz Lehimləmə Vaxtıdır!
Biraz Lehimləmə Vaxtıdır!
Biraz Lehimləmə Vaxtıdır!
Biraz Lehimləmə Vaxtıdır!
Biraz Lehimləmə Vaxtıdır!
Biraz Lehimləmə Vaxtıdır!

Çörək taxtasında işləyir!

Bir PCB üzərində hissələri lehimləməklə daha möhkəm hala gətirməyin vaxtı gəldi

Çörək taxtası ilə etdiklərinizin üzərinə 3 bağlayıcı əlavə etməlisiniz.

  • Şəbəkə izləmə rejiminə girmək üçün istifadə ediləcək C1 1 x pin.
  • C2 3 x sancaqlar, işləyən və konfiqurasiya rejimi arasında keçid üçün istifadə ediləcəkdir.
  • Gateway'i bir Arduino və ya FTDI ilə birləşdirmək üçün istifadə ediləcək C3 6 x pin.

Şəbəkə izlərini aktivləşdirmək istəyirsinizsə, GPIO2 -yə qoşulan C1 əl ilə əsaslandırılmalıdır.

GPIO 4 -ə qoşulan C2 2 fərqli mövqedə qurula bilər. Normal işləmə rejiminə, konfiqurasiya rejiminə girmək üçün isə 3.3v -ə təyin olunanlardan biri.

PCB üzərindəki bütün komponentləri diaqrama uyğun olaraq qurun və sonra son məhsulu əldə etmək üçün lehimləməyə başlayın!

Addım 10: Gəlin Final Testi edək

Image
Image

Java test proqramını başladın.

Arduino'yu qoşun.

Gateway üzərində güc.

Java konsoluna, Arduino monitoruna, Arduino LED -ə və Gateway LED -lərinə baxın.

Addım 11: Bu dizaynı öz tələblərinizə uyğunlaşdıra bilərsiniz

Aparata gəlincə

  • Başqa bir ESP8266 seçsəniz, spesifikasiyalara uyğunlaşmalı olacaqsınız.
  • Başqa bir 3.3v tənzimləyici seçsəniz, 500 mA -dan çox güc verməlidir və kondansatörü uyğunlaşdırmalı olacaqsınız.
  • Parlaqlığı tənzimləmək üçün LED rezistorlarını dəyişə bilərsiniz.
  • Bütün LED -ləri söndürə bilərsiniz, amma ən azından qırmızı işıqda olmağı məsləhət görürəm.
  • ULN2803 -ü 3 tranzistorla əvəz edə bilərsiniz (ya da 3 LED -i saxlamamağı seçdiyiniz halda).
  • Test etdim, amma orada 3.3v Arduino lövhələri ilə işləməlidir. Tx Rx -i 3.3v bağlayıcıya bağlamaq kifayətdir.

Konfiqurasiya ilə əlaqədar

  • 2 fərqli SSID saxlaya və dəyişə bilərsiniz
  • İstifadə olunan GPIO -nu dəyişdirə bilərsiniz

Proqram təminatı ilə əlaqədar

Tövsiyə: