Mundarija:

O'zingizning Arduino -ni IP -tarmog'iga ulash uchun o'zingizning WIFI shlyuzingizni qanday qilish kerak?: 11 qadam (rasmlar bilan)
O'zingizning Arduino -ni IP -tarmog'iga ulash uchun o'zingizning WIFI shlyuzingizni qanday qilish kerak?: 11 qadam (rasmlar bilan)

Video: O'zingizning Arduino -ni IP -tarmog'iga ulash uchun o'zingizning WIFI shlyuzingizni qanday qilish kerak?: 11 qadam (rasmlar bilan)

Video: O'zingizning Arduino -ni IP -tarmog'iga ulash uchun o'zingizning WIFI shlyuzingizni qanday qilish kerak?: 11 qadam (rasmlar bilan)
Video: 😋 Arduino mikrokontrolleri orqali yorug'lik diodlarini boshqarish 😋 2024, Iyul
Anonim
O'zingizning Arduino -ni IP -tarmog'iga ulash uchun o'zingizning Wi -Fi shlyuzingizni qanday qilish kerak?
O'zingizning Arduino -ni IP -tarmog'iga ulash uchun o'zingizning Wi -Fi shlyuzingizni qanday qilish kerak?

Ko'p odamlar sizning fikringizcha, Arduino uyni avtomatlashtirish va robotlashtirish uchun juda yaxshi echim

Ammo aloqa nuqtai nazaridan Arduinos ketma -ket havolalarga ega.

Men robot ustida ishlayapman, u sun'iy intellekt kodi bilan ishlaydigan serverga doimiy ulanishi kerak, men RF tarmog'idan domotiklar uchun bo'lgani kabi foydalanishga harakat qildim, lekin u etarli darajada samarali emas. Robot harakatlanayotganda men Ethernet Arduino Shield -dan foydalana olmayman. Arduino Wifi Shield qimmat va menga eski dizayndek tuyuladi.

Menga server bilan ma'lumotlar almashishni osonlashtiradigan narsa kerak edi.

Shuning uchun men juda arzon va energiya tejaydigan ESP8266 mikrokontrolleriga asoslangan Gateway loyihalashga qaror qildim

Bu erda siz elektron komponentni yaratish va dasturiy ta'minotni yuklab olishni topishingiz mumkin.

Men bu shlyuzni uyni avtomatlashtirish va robotlashtirish uchun ishlatardim.

Bu global uy avtomatlashtirish infratuzilmasining bir qismidir, siz bu erda ko'rishingiz mumkin

Men ESP8266 qalqonidan foydalanadigan va lehimdan qochadigan yana bir ko'rsatma berdim

Ta'minotlar

Men bu mavzu bo'yicha boshqa ko'rsatma yozdim

1 -qadam: Bu qanday ishlaydi?

Bu qanday ishlaydi ?
Bu qanday ishlaydi ?

Gateway ESP8266 moduliga asoslangan

Bu modul bir tomondan ketma -ket havola orqali Wi -Fi tarmog'iga ulangan.

U qora quti vazifasini bajaradi. Ketma -ket havoladan keladigan ma'lumotlar paketlari IP/Udp portiga yuboriladi va aksincha.

Shlyuzni birinchi marta ishga tushirganingizda, siz o'z konfiguratsiyangizni (IP, WIFI…) o'rnatishingiz kerak.

U xom ASCII va ikkilik ma'lumotlarni uzatishi mumkin (HTTP, JSON yo'q …)

Qisqa ma'lumotlar paketini tez va tez -tez uzatishni talab qiladigan, uy qurilishi dasturlari bilan ob'ektlarni ulash uchun mo'ljallangan.

Bir nechta UART (masalan, Arduino Mega) bo'lgan, lekin UNO bilan ham ishlaydigan Arduino Mega -dan foydalanish eng oson.

2 -qadam: Asosiy vazifalar nima?

Asosan, UDP paketiga ketma -ket ma'lumotlarni har ikki usulda o'zgartiradigan va yuboradigan qora quti.

U shlyuzning holati va trafikini ko'rsatuvchi 3 ta LEDga ega.

U Gateway WIFI va IP ulanishini kutish uchun Arduino tomonidan ishlatilishi mumkin bo'lgan GPIO -ni taqdim etadi.

U 3 xil rejimda ishlaydi, ular kalitlarga o'rnatiladi:

  • Gateway rejimi - bu oddiy rejim
  • Parametrlarni sozlash uchun ishlatiladigan konfiguratsiya rejimi
  • Nosozliklarni tuzatish rejimi uchun tuzatish rejimi

Ko'p parametrlar sizning ehtiyojlaringizga mos ravishda o'zgartirilishi mumkin.

3 -qadam: Materiallarni yig'ish

Materiallar qurilishi
Materiallar qurilishi

Arduino -ning tepasida sizga kerak bo'ladi

  • 1 x ESP8266 moduli-Men Olimex-dan MOD-WIFI-ESP8266-DEV ni tanlayman, uning narxi 5 evroga teng, ulardan foydalanish juda oson.
  • 1 x 5V quvvat manbai
  • 1 x 3,3v quvvat regulyatori - men LM1086 dan foydalanaman
  • 1 x 100 mikrofaradli kondansatör
  • 1 x ULN2803 APG moduli (3 x tranzistor bilan almashtirilishi mumkin)
  • 8 x rezistorlar (3 x 1K, 1 x 2K, 1 x 2,7k, 1x 3,3K, 1x 27K, 1x33k)
  • 3 x LED (qizil, yashil, ko'k)
  • 1 x Non paneli uchun tenglikni
  • ba'zi simlar va ulagichlar

Faqat qurilish bosqichlarida sizga kerak bo'ladi

  • Konfiguratsiya uchun 1 x FTDI 3.3v
  • Lehimlovchi temir va qalay

Lehimlashdan oldin, non panelidagi barcha komponentlarni o'rnatish va hamma narsa yaxshi ekanligini tekshirish kerak.

4 -qadam: Keling, elektron jadvalni elektron jadvaldan boshlaylik

Keling, elektron jadvalni elektron jadvaldan boshlaylik!
Keling, elektron jadvalni elektron jadvaldan boshlaylik!

Elektron tartib Fritzing formatida mavjud

Siz 1 -qadamni bu erdan yuklab olishingiz mumkin:

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

Faqat kuchlanish haqida g'amxo'rlik qilib, sxemani bajaring.

Esingizda bo'lsin, ESP8266 3.3v dan yuqori kuchlanishni qo'llab -quvvatlamaydi, FTDI 3.3v ga o'rnatilishi kerak.

5 -qadam: Keling, dasturiy ta'minotga o'tamiz

Keling, dasturiy ta'minotga o'tamiz!
Keling, dasturiy ta'minotga o'tamiz!

Gateway tomondan boshlaylik

Men kodni Arduino IDE bilan yozdim. Shunday qilib, sizga IDE taxtasi sifatida ma'lum bo'lish uchun ESP8266 kerak. "Asboblar / taxtalar" menyusidan mos keladigan taxtani tanlang.

Agar siz ro'yxatda hech qanday ESP266 ni ko'rmasangiz, demak siz ESP8266 Arduino Addon -ni o'rnatishingiz kerak bo'ladi (bu erda siz protsedurani topishingiz mumkin).

Sizga kerak bo'lgan barcha kod GitHub -da mavjud. Uni yuklab olish vaqti keldi!

Shlyuzning asosiy kodi u erda:

Standart Arduino va ESP8266 -ning asosiy kodiga quyidagilar kiradi: satrlarni boshqarish uchun ishlatiladigan LookFoString va u erda:

Eeprom ans -da parametrlarni o'qish va saqlash uchun ishlatiladigan ManageParamEeprom bu erda:

Barcha kodni olganingizdan so'ng, uni ESP8266 -ga yuklash vaqti keldi, birinchi navbatda FTDI -ni kompyuteringizning USB portiga ulang.

Yuklamasdan oldin ulanishni tekshirishingizni maslahat beraman.

  • Arduino seriyali monitorini yangi USB portiga o'rnating.
  • Tezlikni 115200 ga ikkala cr nl ga sozlang (Olimex uchun defaut tezligi)
  • Quvvat paneli (ESP8266 AT buyruqlari bilan ishlaydigan dastur bilan ta'minlangan)
  • Seriya vositasi bilan "AT" ni yuboring.
  • Buning evaziga "OK" ni olishingiz kerak.

Agar ulanishni tekshirmasangiz va ESP8266 texnik xususiyatlariga qarang.

Agar sizda "OK" bo'lsa, siz kodni yuklashga tayyormiz

  • Non panelini o'chiring, bir necha soniya kuting,
  • ESP8266 qora mikroto'lqinini bosing. Seriyali monitorda axlat yig'ish odatiy holdir.
  • Yuklab olish IDE -ni Arduino -da bo'lgani kabi bosing.
  • Yuklash tugagandan so'ng, ketma -ket tezlik 38400 ga o'rnatildi.

Siz rasmdagi kabi bir narsani ko'rasiz.

Tabriklaymiz, siz kodni muvaffaqiyatli yukladingiz!

6 -qadam: Keling, konfiguratsiyani qilamiz

Keling, konfiguratsiyani bajaramiz!
Keling, konfiguratsiyani bajaramiz!

Konfiguratsiya rejimiga kirish uchun configGPIO ni 1 ga o'rnatish kerak

Avval Wi -Fi -ni skanerlang: ScanWifi. Siz aniqlangan tarmoqlar ro'yxatini ko'rasiz.

  • Keyin "SSID1 = sizning tarmog'ingiz" ni kiritib, SSID -ni o'rnating.
  • Keyin parolni kiriting "PSW1 = sizning parolingiz"
  • Keyin joriy tarmoqni aniqlash uchun "SSID = 1" kiriting
  • Shlyuzni Wi -Fi tarmog'iga ulash uchun "Qayta ishga tushirish" ni kiriting.
  • IP -manzilingiz borligini "ShowWifi" ga kirgan holda tasdiqlashingiz mumkin.
  • Moviy LED yonadi va qizil LED yonadi.

IP -manzilingizni 4 ta qo'shimcha manzilni (Java test kodini ishlatadigan server) kiritish orqali aniqlash vaqti keldi. Masalan; misol uchun:

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

Oxirgi zarur qadam - "listenPort = xxxx" ni kiritish orqali UDP serverining tinglash portini o'rnatish.

Eeprom -da saqlangan narsalarni tekshirish uchun "ShowEeprom" ni kiriting

Endi konfiguratsiya rejimidan chiqish uchun GPIO2 ni yerga ulang

Sizning shlyuzingiz ishlashga tayyor

Hujjatlarda topishingiz mumkin bo'lgan boshqa buyruqlar mavjud.

7 -qadam: Arduino tomonini qilaylik

Keling, Arduino tomonini qilaylik!
Keling, Arduino tomonini qilaylik!
Keling, Arduino tomonini qilaylik!
Keling, Arduino tomonini qilaylik!

Birinchidan, Arduino -ni ulang

Agar sizda Mega bo'lsa, uni boshlash osonroq bo'ladi. Shunga qaramay, siz Uno -dan foydalanishingiz mumkin.

O'zingizning ishingizni tekshirish uchun misolni ishlatish eng yaxshisidir.

Siz uni u erdan yuklab olishingiz mumkin:

Bu erda SerialNetwork kodi mavjud:

Kodni Arduino -ga yuklang.

Har safar Arduino ma'lumot yuborganida yashil LED yonadi.

8 -qadam: Server tomonini qilaylik

Keling, server tomonini qilaylik!
Keling, server tomonini qilaylik!
Keling, server tomonini qilaylik!
Keling, server tomonini qilaylik!

Server misoli bu Java dasturidir, uni bu erdan yuklab olishingiz mumkin:

Faqat ishga tushiring

Java konsoliga qarang.

Arduino monitoriga qarang.

Arduino 2 xil paketni yuboradi.

  • Birinchisi, 2 dan 6 gacha bo'lgan raqamli pinlarni o'z ichiga oladi.
  • Ikkinchisida 2 tasodifiy qiymat, mVda A0 kuchlanish darajasi va ortib boruvchi hisoblash mavjud.

Java dasturi

  • olingan ma'lumotlarni o'n oltilik formatida chop eting
  • Arduino LED -ni yoqish/o'chirish uchun tasodifiy yoqish/o'chirish qiymati bilan birinchi turdagi ma'lumotlarga javob berish
  • olingan ma'lumot va tasodifiy qiymat bilan ikkinchi turdagi ma'lumotlarga javob bering.

9 -qadam: Lehimlash vaqti keldi

Lehimlash vaqti keldi!
Lehimlash vaqti keldi!
Lehimlash vaqti keldi!
Lehimlash vaqti keldi!
Lehimlash vaqti keldi!
Lehimlash vaqti keldi!

Bu taxtada ishlaydi!

PCB qismlarini lehimlash orqali uni yanada mustahkam qilish vaqti keldi

Non paneli bilan qilgan ishlaringizga 3 ta ulagich qo'shishingiz kerak.

  • C1 1 x pinli, bu tarmoqni kuzatish rejimiga o'tish uchun ishlatiladi.
  • C2 3 x pinli, bu ishlaydigan va konfiguratsiya rejimini almashtirish uchun ishlatiladi.
  • Gatewayni Arduino yoki FTDI -ga ulash uchun ishlatiladigan C3 6 x pinli.

Agar tarmoq izlarini faollashtirmoqchi bo'lsangiz, GPIO2 ga ulangan C1 qo'lda topraklanmalıdır.

GPIO 4 ga ulangan C2 ni 2 xil pozitsiyada sozlash mumkin. Ulardan biri oddiy ish rejimiga, ikkinchisi esa konfiguratsiya rejimiga o'tish uchun 3.3v ga o'rnatiladi.

PCBdagi barcha komponentlarni diagramma bo'yicha o'rnating va keyin yakuniy mahsulotni olish uchun lehimlashni boshlang!

10 -qadam: Keling, yakuniy testni o'tkazamiz

Image
Image

Java test dasturini ishga tushiring.

Arduino -ni ulang.

Shlyuzni yoqish.

Va Java konsoliga, Arduino monitoriga, Arduino LED va Gateway LEDlariga qarang.

11 -qadam: Siz ushbu dizaynni o'z talablaringizga moslashtira olasiz

Uskuna haqida

  • Agar siz boshqa ESP8266 -ni tanlasangiz, siz texnik xususiyatlarga moslashishingiz kerak bo'ladi.
  • Agar siz boshqa 3.3V regulyatorni tanlasangiz, u 500mA dan oshishi kerak va siz kondansatkichni moslashtirishingiz kerak bo'ladi.
  • Yorqinlikni sozlash uchun siz LED rezistorlarini o'zgartirishingiz mumkin.
  • Siz barcha LEDlarni o'chirib qo'yishingiz mumkin, lekin men hech bo'lmaganda qizilni yoqishni maslahat beraman.
  • Siz ULN2803 -ni 3 ta tranzistor bilan almashtirishingiz mumkin (yoki siz 3 LEDni saqlamaslikni tanlaysiz).
  • Men sinab ko'rdim, lekin u erda 3.3v Arduino platalari bilan ishlashi kerak. Faqat Tx Rx -ni 3.3v ulagichga ulang.

Konfiguratsiya haqida

  • Siz 2 xil SSID saqlashingiz va almashtirishingiz mumkin
  • Siz ishlatilgan GPIO -ni o'zgartirishingiz mumkin

Dasturiy ta'minot haqida

Tavsiya: