Мазмуну:

ESP8266 Shield негизинде Arduino үчүн UDP/IP сериялык шлюзи: 8 кадам
ESP8266 Shield негизинде Arduino үчүн UDP/IP сериялык шлюзи: 8 кадам

Video: ESP8266 Shield негизинде Arduino үчүн UDP/IP сериялык шлюзи: 8 кадам

Video: ESP8266 Shield негизинде Arduino үчүн UDP/IP сериялык шлюзи: 8 кадам
Video: ESP8266 Project: How to control 2 AC bulb or load using 2 Relay with NodeMCU and D1 Mini over WiFi 2024, Июль
Anonim
ESP8266 Shield негизинде Arduino үчүн UDP/IP сериялык шлюзу
ESP8266 Shield негизинде Arduino үчүн UDP/IP сериялык шлюзу

Мен буга чейин 2016 -жылы бул инструктивдүү "Ардуинону IP тармагына туташтыруу үчүн өзүңүздүн Wifi шлюзун кантип жасоо керектигин" жарыялаган элем. Мен кодду жакшырткандан бери, мен дагы эле бул чечимди колдонуп жатам.

Ошентсе да, азыр ESP8266 калканчтары бар, алар Micro же Nano такталарын колдонбогонуңузга карабастан, дал ушундай кылууга мүмкүндүк берет.

Бул көрсөтмө ESP82 калкандарын UDP/IP сериялы шлюз катары кантип колдонууну түшүндүрөт.

Бул глобалдык үйдү автоматташтыруу инфраструктурасынын бир бөлүгүн камтыйт, бул жерден карап көрсөңүз болот

Бул көрсөтмө менен калкан жөнүндө көбүрөөк маалымат

Жабдуулар

1 Arduino Mega (эң жакшысы, жок дегенде 1 Mega иштеп чыгуу жана 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 протоколу менен убара болушунун кажети жок.

Анын үстүнө, бул Arduino тарабынан колдонула турган GPIO менен камсыз кылынат, шлюз WIFIге туура туташкандыгын текшерүү үчүн жана шлюз иштебей калган учурда 2 башка SSIDдин ортосунда автоматтык түрдө иштей алат.

Gatewayде GPIO орнотуу менен тандалган 2 башка иштөө режими бар

GPIOну жерге коюу жана шлюз конфигурация режимине кирет.

GPIO бекер коюлуп, шлюз шлюз иштөө режимине кирет.

Анын үстүнө Gateway UDP/IP конфигурациясын алыстан өзгөртүүгө болот

3 -кадам: Материалды куруу

Материалдын курулушу
Материалдын курулушу

Абдан аз нерселер талап кылынат

1 ESP8266 Shield - Мен бул UNO R3 ESP8266 Serial WiFi Shield тактасынын модулун 9 € дан азыраак деп таптым

1 БУУ - бул Arduino бутасы

1 Mega - бул arduino өнүктүрүү куралы (ансыз деле кыла аласыз, бирок мүчүлүштүктөрдү оңдоо кыйын)

1 FTDI 3.3/5v өнүктүрүү үчүн

Кээ бир зымдар

4 -кадам: Gateway кодун жүктөп алыңыз

Gateway кодун жүктөп алыңыз
Gateway кодун жүктөп алыңыз

Бул кадамда Arduino ESP8266 калканчында (USB же башка энергия булагы менен) кубаттоо үчүн гана колдонулат.

ESP8266 GPIO4 жерге туташтырыңыз (конфигурация режимине кирүү үчүн)

Калкан талап кылгандай FTDIди 3.3v деп коюуга кам көрүңүз

FTDIди калканга туташтыруу (RX - TX)

Калкан которгучту 1: өчүрүү 2: өчүрүү 3: күйгүзүү 4: күйгүзүңүз

FTDIдин USB тарабын компьютериңизге туташтырыңыз

Калканды ESP-RST баскычы менен баштапкы абалга келтирүү

GitHubдан шлюздун кодун жүктөп алыңыз

Arduino IDE ачыңыз

  • FTDI монитор портун тандаңыз
  • IDE сериялык мониторун ачыңыз - 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 = yourpsw1
  • SSID2 = сиздин тандоо2
  • PSW2 = yourpsw2
  • SSID = 1 (кайсы SSID менен башталаарын тандоо үчүн)
  • Wifi өчүрүп күйгүзүү

Бир нече секунддан кийин "ShowWifi" буйругу менен туташууну текшере аласыз. Сиз шлюздун DNS серверинен алган IP дарегин көрүшүңүз керек. Эгер андай болсо, андан ары кетүүгө убакыт келди

Сиздин IP сервер дарегиңизди 4 субдректи (Java тест кодун иштете турган сервер) киргизүү менен аныктоого убакыт келди. Мисалы үчүн:

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

Бош буйрукту жөнөтүү менен, сиз кийинчерээк талаптарга жооп берүү үчүн колдоно турган бардык колдоого алынган буйруктарды көрөсүз. Бардык параметрлердин мааниси Eepromдо сакталат жана эске алуу үчүн кайра жүктөө керек.

Конфигурация зымын алып салыңыз

Калкан азыр шлюз катары иштеп жатат

6 -кадам: Arduino кодунун мисалын жүктөп алыңыз

Arduino кодунун мисалын жүктөп алыңыз
Arduino кодунун мисалын жүктөп алыңыз

Алгач GitHubдан негизги Arduino кодун жүктөп алыңыз

Андан кийин Arduino кодун бул буйруктун аныктамасын жана бул сериялык шилтеме кодун librairies'иңизге жүктөп алыңыз

Андан кийин жаңы Arduino IDE менен негизги кодду ачыңыз

USB туташуусу үчүн Arduino сериялык шилтемесин 0 бошотуу үчүн 1 жана 2 калканы өчүрүңүз

Калканды кайра коюңуз

FTDI зымдарын Mega Serial 2ге туташтырыңыз (TX FTDI to RX Mega ж.б.)

Жаңы Arduino IDE (же TTY куралын) баштаңыз, FTDI Usb туташтырыңыз жана сериялык шилтемени көзөмөлдөй баштаңыз

Mega ичинде Arduino кодун жүктөө

Arduino сериялык шилтемесин 0 туташтыруу үчүн калкан алмаштыргычты 1 жана 2 күйгүзүңүз

Калканды кайра коюңуз

Сиз монитордо "usb printти баштоо" деген билдирүүнү көрүшүңүз керек

7 -кадам: Келгиле, Server жагын кылалы

Сервердин мисалы, бул жерде GitHubдан жүктөп ала турган Java программасы

Жөн эле иштетип, Java консолун карап, FTDI мониторун караңыз

Сиз сервер менен Arduino ортосунда маалымат алмашууну көрөсүз

8 -кадам: Андан ары өтүү үчүн

Андан ары кетүү үчүн
Андан ары кетүү үчүн
Андан ары кетүү үчүн
Андан ары кетүү үчүн

Бул Arduino кодунун мисалы менин үйдү автоматташтыруунун инфраструктурасынын бир бөлүгүнө негизделген.

Эгер сиз бул инфраструктурага кызыксаңыз, мага кабарлаңыз. Мен булактарды жарыялайм.

Эгерде сиз жөн гана шлюзду колдонууну кааласаңыз, Arduino кодун жөнөкөйлөтө аласыз.

Ардуино Мегада кодуңузду иштеп чыккандан кийин, аны Uno менен оңой алмаштыра аласыз!

Анын үстүнө сиз Arduino Wifi туташуусун текшергиңиз келсе, Arduino GPIO 7 менен ESP8266 GPIO 5 ортосундагы зымды туташтырсаңыз болот.

Сунушталууда: