Агуулгын хүснэгт:

ESP8266 Shield дээр суурилсан Arduino -д зориулсан цуваа UDP/IP гарц: 8 алхам
ESP8266 Shield дээр суурилсан Arduino -д зориулсан цуваа UDP/IP гарц: 8 алхам

Видео: ESP8266 Shield дээр суурилсан Arduino -д зориулсан цуваа UDP/IP гарц: 8 алхам

Видео: ESP8266 Shield дээр суурилсан Arduino -д зориулсан цуваа UDP/IP гарц: 8 алхам
Видео: Как запрограммировать модуль реле Wi-Fi ESP8266 ESP-01 2024, Долдугаар сарын
Anonim
ESP8266 Shield дээр суурилсан Arduino -д зориулсан цуваа UDP/IP гарц
ESP8266 Shield дээр суурилсан Arduino -д зориулсан цуваа UDP/IP гарц

Би 2016 онд "Arduino -г IP сүлжээнд холбох Wifi гарцыг өөрийн гараар хэрхэн яаж хийх вэ" гэсэн зааварчилгааг хэвлүүлсэн. Би кодын зарим сайжруулалтыг хийснээс хойш энэ шийдлийг ашиглаж байна.

Гэсэн хэдий ч одоо бичил эсвэл нано хавтан ашиглаагүй байгаа тохиолдолд гагнуур хийхгүйгээр ижил зүйлийг хийх боломжтой ESP8266 бамбай байдаг.

Энэхүү зааварчилгаа нь эдгээр ESP82 бамбайг UDP/IP цуврал гарц болгон хэрхэн ашиглах талаар тайлбарлах болно.

Энэ бол дэлхийн гэрийн автоматжуулалтын дэд бүтцийн нэг хэсэг бөгөөд эндээс үзэх боломжтой

Энэхүү зааварчилгааны тусламжтайгаар бамбайгийн талаар дэлгэрэнгүй мэдээлэл авах боломжтой

Хангамж

1 Arduino Mega (хамгийн сайн нь хөгжүүлэхийн тулд дор хаяж 1 мега, ажиллуулахад 1 Uno байх ёстой)

1 Rokoo ESP8266 ESP-12E UART WIFI хөрвүүлэгч

1 FTDI 3.3v

2 талхны утас

Алхам 1: Энэ нь хэрхэн ажилладаг вэ?

Энэ яаж ажилдаг вэ ?
Энэ яаж ажилдаг вэ ?

Гарц нь ESP8266 модуль дээр суурилдаг

Энэ модуль нь нөгөө талаасаа цуваа холбоосоор Wifi ашиглан IP сүлжээнд холбогддог.

Энэ нь хар хайрцагны үүргийг гүйцэтгэдэг. Цуваа холбоосоос ирж буй өгөгдлийн пакетуудыг IP/Udp порт руу илгээдэг.

Та гарцыг асаахад анх удаа өөрийн тохиргоог (IP, WIFI…) тохируулах хэрэгтэй.

Энэ нь түүхий ASCII болон хоёртын өгөгдлийг шилжүүлэх боломжтой (HTTP байхгүй, JSON …)

Энэ нь богино хэмжээний өгөгдлийн багцыг хурдан, байнга дамжуулах шаардлагатай серверийн гэрийн хийсэн програм хангамжтай объектуудыг холбох зориулалттай.

Алхам 2: Үндсэн функцууд юу вэ?

Ихэнхдээ энэ нь цуваа өгөгдлийг UDP пакет руу хоёр аргаар хөрвүүлдэг хар хайрцаг юм.

Гэхдээ гарц нь дотоод мэдээллийг сервер рүү илгээж, серверээс зарим команд хүлээн авах замаар өөрийн гараар ажиллах боломжтой.

Arduino нь цуваа холбоосыг хэвлэх / унших замаар интернетээр холбогдсон сервер рүү / мессеж илгээх, хүлээн авах боломжтой. Arduino хөгжүүлэгч IP протоколын талаар санаа зовох шаардлагагүй болно.

Нэмж дурдахад энэ нь гарц нь WIFI -тэй зөв холбогдсон эсэхийг шалгахын тулд Arduino -ийн ашиглаж болох GPIO -ийг хангаж өгдөг бөгөөд алдаа гарсан тохиолдолд гарц нь 2 өөр SSID -ийн хооронд автоматаар ажиллах боломжтой болно.

Гарц нь GPIO тохируулах замаар сонгосон 2 өөр горимтой

GPIO -ийг газардуулж, гарц тохиргооны горимд орно.

GPIO -г үнэгүй болгож, гарц нь гарцын ажиллах горимд орно.

Дээрээс нь гарцын UDP/IP тохиргоог алсаас өөрчлөх боломжтой

Алхам 3: Материалыг бүрдүүлэх

Материалын бүтэц
Материалын бүтэц

Маш цөөхөн зүйл шаардагдана

1 ESP8266 Shield - Би энэ UNO R3 ESP8266 цуваа WiFi бамбайг самбарын модулийг 9 еврогоос бага үнээр олсон.

1 НҮБ бол Arduino -ийн зорилт юм

1 мега бол arduino хөгжүүлэх хэрэгсэл юм (та үүнийг хийхгүйгээр хийж болно, гэхдээ дибаг хийх нь маш хэцүү байдаг)

Хөгжүүлэлтийн хувьд 1 FTDI 3.3/5v

Зарим утаснууд

Алхам 4: Гарцын кодыг татаж авах

Гарцын кодыг татаж авах
Гарцын кодыг татаж авах

Энэ үе шатанд Arduino нь зөвхөн ESP8266 бамбай дээр (USB эсвэл өөр тэжээлийн эх үүсвэрээр) асаахад ашиглагддаг.

ESP8266 GPIO4 -ийг газарт холбоно уу (тохиргооны горимд орохын тулд)

Бамбайны шаардлагын дагуу FTDI -ийг 3.3v болгож тохируулах хэрэгтэй

FTDI -ийг бамбай руу холбоно уу (RX - TX)

Бамбай унтраалгыг 1: унтраах 2: унтраах 3: асаах 4: асаалттай болгоно

FTDI -ийн USB талыг компьютерт холбоно уу

ESP-RST товчлуураар бамбайгаа дахин тохируулна уу

GateHub дээрээс Gateway кодыг татаж аваарай

Arduino IDE -ийг нээнэ үү

  • FTDI дэлгэцийн портыг сонгоно уу
  • IDE Serial Monitor -ийг нээнэ үү - Хурдны хэмжээг 38400 болгож тохируулна уу
  • Ерөнхий ES8266 модулийн самбарыг сонгоно уу
  • Бамбай програмыг гарцын кодоор шинэчилнэ үү

Шилжүүлэгч 3: унтраах 4: унтраах

IDE сериал мониторыг нээнэ үү

ESP-RST товчлуураар бамбайгаа дахин тохируулна уу

Та дэлгэц дээр "EEPROM -ийг эхлүүлэх", "Эхлүүлэх ажил дууссан" гэж эхэлсэн мессежүүдийг харах ёстой.

Тохиргоог хийх цаг болжээ

Алхам 5: Гарцын тохиргоог хийцгээе

Гарцын кодыг анх удаа татаж авахдаа ESP8266 Eeprom -ийг анхдагч утгаар нь эхлүүлэх болно. Та "set parameter: x size: yy" гэсэн мессежийг харах болно.

Та эдгээр утгыг paramValue кодын тодорхойлолтоос олж болно. Мэдээжийн хэрэг та кодыг татаж авахаасаа өмнө эдгээр анхдагч утгыг өөрчилж болно, гэхдээ та дараа нь тушаалаар тохиргоогоо тохируулж болно. Хэрэв та олон төрлийн гарцтай байхаар төлөвлөж байгаа бол кодын зөвхөн нэг хувилбарыг хадгалж үлдэх нь дээр.

Хяналтын цуваа портыг ашиглан командыг илгээнэ үү (NL ба CR гэж тохируулна уу).

SSID одоогоор тодорхойлогдоогүй байгаа тул "Таны хоёр дахь холболтыг хийж чадсангүй, дахин оролдоно уу: 5" гэж хүлээнэ үү.

Дараа нь WIFI -ийн хайлт автоматаар эхлэх болно

Дараах тушаалуудыг ашиглан SSID -ээ тохируулах цаг болжээ.

  • SSID1 = таны сонголт1
  • PSW1 = таны pps1
  • SSID2 = таны сонголт2
  • PSW2 = yourpsw2
  • SSID = 1 (аль SSID -ийг эхлүүлэхээ сонгохын тулд)
  • Wifi -г дахин эхлүүлнэ үү

Хэдэн секундын дараа та "ShowWifi" командыг ашиглан холболтыг шалгаж болно. Та гарц нь таны DNS серверээс авсан IP хаягийг харах ёстой. Хэрэв тийм бол цааш явах цаг болжээ

4 дэд хаягийг (Java тестийн кодыг ажиллуулах сервер) оруулснаар IP серверийн хаягаа тодорхойлох цаг болжээ. Жишээлбэл:

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

Хоосон команд илгээсэнээр та өөрийн хэрэгцээнд нийцүүлэн дараа нь ашиглаж болох бүх дэмжигдсэн тушаалуудыг харах болно. Параметрүүдийн бүх утгыг Eeprom дээр хадгалдаг бөгөөд үүнийг дахин ачаалах шаардлагатай болно.

Тохиргооны утсыг салга

Бамбай одоо гарц болж ажиллаж байна

Алхам 6: Arduino кодын жишээг татаж аваарай

Arduino кодын жишээг татаж аваарай
Arduino кодын жишээг татаж аваарай

Эхлээд GitHub дээрээс үндсэн Arduino кодыг татаж аваарай

Дараа нь Arduino кодыг энэ тушаалын тодорхойлолт болон энэ цуваа холбоос кодыг татаж аваад татаж аваарай

Дараа нь үндсэн кодыг шинэ Arduino IDE ашиглан нээнэ үү

USB холболтын Arduino сериал линк 0 -ийг суллахын тулд бамбай шилжүүлэгч 1 ба 2 -ийг унтраана уу

Бамбайг дахин тохируулна уу

FTDI утсыг Mega Serial 2 (TX FTDI -ээс RX Mega гэх мэт) руу холбоно уу.

Шинэ Arduino IDE (эсвэл TTY хэрэгсэл) эхлүүлээд FTDI USB -ийг холбоод цуваа холбоосыг хянаж эхлээрэй.

Mega дотор Arduino кодыг байршуулна уу

Arduino цуваа холбоос 0 -ийг холбохын тулд бамбай шилжүүлэгч 1 ба 2 -ийг асаана уу

Бамбайг дахин тохируулна уу

Та дэлгэц дээр "usb print эхлүүлэх" гэсэн мессежийг харах ёстой

Алхам 7: Серверийн талыг хийцгээе

Серверийн жишээ бол Java програм бөгөөд та үүнийг GitHub дээрээс татаж авах боломжтой

Үүнийг ажиллуулаад Java консолыг хараад FTDI дэлгэцийг үзээрэй

Та сервер ба Arduino хооронд өгөгдөл солилцохыг харах болно

Алхам 8: Цааш явах

Цаашид явахын тулд
Цаашид явахын тулд
Цаашид явахын тулд
Цаашид явахын тулд

Энэхүү Arduino кодын жишээ нь миний гэрийн автоматжуулалтын дэд бүтцийн нэг хэсэг дээр суурилсан болно.

Хэрэв та энэ дэд бүтцийг сонирхож байвал надад мэдэгдээрэй. Би эх сурвалжаа нийтлэх болно.

Хэрэв та гарцыг ашиглахыг хүсч байвал Arduino кодыг хялбарчилж болно.

Arduino Mega дээр кодоо хөгжүүлээд туршиж үзсэнийхээ дараа үүнийг Uno -аар амархан сольж болно!

Дээрээс нь та Arduino -г Wifi холболтыг шалгахыг хүсч байвал Arduino GPIO 7 ба ESP8266 GPIO 5 хооронд утас холбож болно.

Зөвлөмж болгож буй: