Мазмуну:

Ардуинону IP тармагына туташтыруу үчүн өз WIFI шлюзун кантип түзүү керек?: 11 кадам (сүрөттөр менен)
Ардуинону IP тармагына туташтыруу үчүн өз WIFI шлюзун кантип түзүү керек?: 11 кадам (сүрөттөр менен)

Video: Ардуинону IP тармагына туташтыруу үчүн өз WIFI шлюзун кантип түзүү керек?: 11 кадам (сүрөттөр менен)

Video: Ардуинону IP тармагына туташтыруу үчүн өз WIFI шлюзун кантип түзүү керек?: 11 кадам (сүрөттөр менен)
Video: ESP8STP-02 Степпер с ESP8266 D1 Mini NodeMCU через WiFi под любым углом 2024, Декабрь
Anonim
Ардуинону IP тармагына туташтыруу үчүн өз WIFI шлюзун кантип түзүү керек?
Ардуинону IP тармагына туташтыруу үчүн өз WIFI шлюзун кантип түзүү керек?

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

Бирок байланыштын шартында Arduinos жөн гана сериялык шилтемелер менен келет.

Мен роботтун үстүндө иштеп жатам, ал жасалма интеллект коду менен иштеген сервер менен биротоло туташып турушу керек. Мен RF тармагын домотик үчүн колдонуп жүргөндөй колдонууга аракет кылдым, бирок ал жетишерлик натыйжалуу эмес. Робот кыймылдап жатканда мен Ethernet Arduino Shield колдоно албайм. Arduino Wifi Shield кымбат жана мага эски дизайн окшойт.

Мага сервер менен абдан жөнөкөй жана эффективдүү түрдө маалымат алмашуучу нерсе керек болчу.

Мына ошондуктан мен Gatewayди абдан арзан жана энергияны үнөмдүү ESP8266 микроконтроллеринин негизинде түзүүнү чечтим

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

Мен бул шлюзду үйдү автоматташтыруу жана роботтоштуруу үчүн колдондум.

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

Мен ESP8266 калканчын колдонгон жана ширетүүдөн качкан дагы бир көрсөтмө бердим

Жабдуулар

Мен бул темада башка көрсөтмө жаздым

1 -кадам: Бул кантип иштейт?

Бул кантип иштейт ?
Бул кантип иштейт ?

Шлюз ESP8266 модулуна негизделген

Бул модуль бир тараптан Wifi менен IP тармагына сериялык шилтеме менен туташкан.

Бул кара кутуча катары иштейт. Сериялык шилтемеден келген маалымат пакеттери IP/Udp портуна жөнөтүлөт жана тескерисинче.

Шлюзду биринчи жолу иштеткенден кийин, сиз өзүңүздүн конфигурацияңызды (IP, WIFI…) орнотушуңуз керек.

Ал чийки ASCIIди жана экилик маалыматтарды өткөрүп бере алат (HTTP жок, JSON …)

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

Бир нече UART (мисалы, Arduino Mega) бар, бирок БУУ менен иштей турган Arduino Mega менен колдонуу эң оңой.

2 -кадам: Негизги функциялар кайсылар?

Көбүнчө бул UDP пакетине сериялык маалыматтарды эки жол менен тең айландыруучу жана жөнөтүүчү кара куту.

Бул шлюздун абалын жана трафигин көрсөтүүчү 3 LED бар.

Бул Arduino тарабынан колдонула турган GPIO менен камсыз кылынат, ал шлюз WIFI жана IP туташуусун күтөт.

Бул которгучтар менен орнотулган 3 башка режимде иштейт:

  • Шлюз режими кадимки режим
  • Параметрлерди коюу үчүн конфигурация режими колдонулат
  • Мүчүлүштүктөрдү оңдоо режимине арналган мүчүлүштүктөрдү оңдоо режими

Параметрлердин көбү сиздин муктаждыктарыңызга жараша өзгөртүлүшү мүмкүн.

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

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

Сиздин Arduino үстүнө сизге керек болот

  • 1 x ESP8266 модулу-Мен MODEX-WIFI-ESP8266-DEV тандап алам, баасы 5 еврого жакын, аны колдонуу абдан оңой.
  • 1 x 5v кубат булагы
  • 1 x 3.3v кубатын жөнгө салуучу - Мен LM1086 колдоном
  • 1 x 100 микрофараддык конденсатор
  • 1 x ULN2803 APG модулу (3 х транзистор менен алмаштырылышы мүмкүн)
  • 8 х резистор (3 x 1K, 1 x 2K, 1 x 2.7k, 1x 3.3K, 1x 27K, 1x 33k)
  • 3 х LED (кызыл, жашыл, көк)
  • 1 х Breadboard PCB
  • кээ бир зымдар жана туташтыргычтар

Курулуштун жүрүшүндө гана сизге керек болот

  • Конфигурация үчүн 1 x FTDI 3.3v
  • Калай жана темир

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

4 -кадам: Келгиле, электрондук жадыбалда

Электрондук баракчадан баштайлы!
Электрондук баракчадан баштайлы!

Электрондук макет Fritzing форматында жеткиликтүү

Сиз бул жерден 1 -кадамды жүктөп алсаңыз болот:

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

Жөн эле чыңалууга кам көрүү менен схеманы аткарыңыз.

ESP8266 3.3v. The FTDI жогору 3.3v үчүн колдоого албайт экенин унутпа.

5 -кадам: Программалык камсыздоого өтөлү

Программалык камсыздоого өтөлү!
Программалык камсыздоого өтөлү!

Gateway тараптан баштайлы

Мен кодду Arduino IDE менен жаздым. Ошентип, IDE тарабынан такта катары белгилүү болуу үчүн сизге ESP8266 керек. Куралдар / такталар менюсу менен тиешелүү тактаны тандаңыз.

Эгерде сиз тизмеде эч кандай ESP266 көрбөсөңүз, анда сиз ESP8266 Arduino Addon орнотушуңуз керек болот (бул жерде процедураны таба аласыз).

Сизге керектүү бардык код GitHubда жеткиликтүү. Аны жүктөп алууга убакыт келди!

Шлюздун негизги коду бар:

Стандарттык Arduino жана ESP8266 үстүнө негизги кодду камтыйт, буларга 2 кирет: Саптарды башкаруу үчүн колдонулган LookFoString жана бар:

Eeprom ansтеги параметрлерди окуу жана сактоо үчүн колдонулган ManageParamEeprom бар:

Бардык кодду алгандан кийин, аны ESP8266ге жүктөө убактысы келди. Алгач FTDIди компьютериңиздин USB портуна туташтырыңыз.

Жүктөп берүүдөн мурун туташууну текшерүүнү сунуштайм.

  • Arduino сериялык мониторун жаңы USB портуна коюңуз.
  • Ылдамдыкты 115200 да cr nl деп коюңуз (Olimex үчүн өчүрүү ылдамдыгы)
  • Банктагы кубат (ESP8266 AT буйруктары менен иштеген программа менен келет)
  • Сериялык курал менен "AT" жөнөтүңүз.
  • Сиз "OK" кайтарып алышыңыз керек.

Эгерде туташууңузду текшербеңиз жана ESP8266 спецификацияларыңызды караңыз.

Эгерде сизде "OK" болсо, анда сиз кодду жүктөөгө даярсыз

  • Нан тактасын өчүрүп, бир нече секунд күтө туруңуз,
  • ESP8266 кара микро-тездигин басыңыз. Таштандыларды сериялык мониторго алуу кадыресе көрүнүш.
  • Arduino үчүн IDE жүктөө баскычын басыңыз.
  • Жүктөө аяктагандан кийин сериялык ылдамдык 38400 болуп калды.

Сүрөттөгүдөй бир нерсени көрөсүз.

Куттуктайбыз, сиз кодду ийгиликтүү жүктөдүңүз!

6 -кадам: Конфигурацияны жасайбыз

Келгиле, конфигурацияны жасайбыз!
Келгиле, конфигурацияны жасайбыз!

ConfigGPIO конфигурация режимине кирүү үчүн 1ге коюлушу керек

Адегенде WIFI'ди скандоо: ScanWifi. Сиз табылган тармактын тизмесин көрөсүз.

  • Андан кийин "SSID1 = yournetwork" деп кирип, SSIDиңизди орнотуңуз.
  • Андан кийин сырсөзүңүздү киргизиңиз "PSW1 = yourpassword"
  • Андан кийин учурдагы тармакты аныктоо үчүн "SSID = 1" киргизиңиз
  • Шлюзду WIFIге туташтыруу үчүн "Кайра баштоону" киргизиңиз.
  • Сиз "ShowWifi" кирүү менен IP бар экениңизди ырастай аласыз.
  • Көк LED күйөт жана кызыл LED жаркырайт.

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

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

Акыркы талап кылынган кадам UDP серверинин угуу портун "listenPort = xxxx" деп киргизип коюу.

Eepromдо эмнени сактап калганыңызды текшерүү үчүн "ShowEepromго" кириңиз

Эми конфигурация режиминен чыгуу үчүн GPIO2ди жерге туташтырыңыз

Сиздин шлюз иштөөгө даяр

Документтерде таба турган башка командалар бар.

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

Келгиле, Arduino тарабын кылалы!
Келгиле, Arduino тарабын кылалы!
Келгиле, Arduino тарабын кылалы!
Келгиле, Arduino тарабын кылалы!

Биринчиден, Arduino менен туташыңыз

Эгер сизде Мега бар болсо, аны баштоо эң оңой болот. Ошентсе да, сиз Uno колдоно аласыз.

Жумушуңузду текшерүү үчүн эң жакшы мисалды колдонуу.

Аны ошол жерден жүктөп алсаңыз болот:

Бул жерде SerialNetwork коду камтылган:

Жөн гана кодду Arduino ичине жүктөңүз.

Жашыл LED Arduino маалыматтарды жөнөткөн сайын күйүп турат.

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

Келгиле, Server жагын кылалы!
Келгиле, Server жагын кылалы!
Келгиле, Server жагын кылалы!
Келгиле, Server жагын кылалы!

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

Жөн эле иштет

Java консолун караңыз.

Arduino мониторун караңыз.

Arduino 2 башка пакетти жөнөтөт.

  • Биринчисинде 2ден 6га чейинки санарип казыктар бар.
  • Экинчисинде 2 туш келди маани камтылган, чыңалуу деңгээли m0 жана кошумча эсептөө.

Java программасы

  • алынган маалыматтарды он алтылык форматта басып чыгаруу
  • маалыматтын биринчи түрүнө туш келди күйгүзүү/өчүрүү мааниси менен жооп берүү, Arduino LEDди күйгүзүү/өчүрүү
  • алынган маалымат жана кокустук мааниси бар экинчи түрдөгү маалыматка жооп берүү.

9 -кадам: Бир аз ширетүү убактысы келди

Бир аз ширетүү убактысы келди!
Бир аз ширетүү убактысы келди!
Бир аз ширетүү убактысы келди!
Бир аз ширетүү убактысы келди!
Бир аз ширетүү убактысы келди!
Бир аз ширетүү убактысы келди!

Бул нан тактасында иштейт!

ПХБда тетиктерди ширетүү менен аны күчтүүрөөк кылуунун мезгили келди

Нан менен эмне кылганыңыздын үстүнө 3 туташтыргычты кошушуңуз керек.

  • C1 1 x pin, ал тармакты издөө режимине кирүү үчүн колдонулат.
  • C2 3 x казыктары, алар чуркоо жана конфигурация режимин которуштуруу үчүн колдонулат.
  • C3 6 x pins, бул шлюзду Arduino же FTDIге туташтыруу үчүн колдонулат.

GPIO2ге туташкан C1, эгер сиз тармактын издерин иштетүүнү кааласаңыз, кол менен негизделиши керек.

GPIO 4кө туташкан C2ди 2 башка позицияда коюуга болот. Кадимки иштөө режимине негизделген жана конфигурация режимине кирүү үчүн 3.3v коюлган.

ПХБдагы бардык компоненттерди диаграммага ылайык орнотуп, кийин акыркы продуктту алуу үчүн ширетүүнү баштаңыз!

10 -кадам: Келгиле, акыркы тестти кылалы

Image
Image

Java тест программасын баштаңыз.

Arduino туташуу.

Шлюздагы күч.

Жана Java консолун, Arduino мониторун, Arduino LED жана Gateway LEDдерин караңыз.

11 -кадам: Сиз бул дизайнды өзүңүздүн талаптарыңызга ылайыкташтыра аласыз

Аппаратура жөнүндө

  • Эгерде сиз башка ESP8266 тандасаңыз, анда сиз өзгөчөлүктөргө тууралашыңыз керек болот.
  • Эгерде сиз башка 3.3v жөндөгүчтү тандасаңыз, ал 500 мАдан ашык жеткириши керек жана сиз конденсаторду ыңгайлаштырышыңыз керек болот.
  • Сиз жарыктыгын тууралоо үчүн LED каршылыгын өзгөртө аласыз.
  • Сиз бардык светодиодду өчүрө аласыз, бирок мен жок дегенде кызыл түстү күйгүзүүнү сунуштайм.
  • Сиз ULN2803тү 3 транзисторго алмаштыра аласыз (же мен 3 LEDди сактабоону тандагам).
  • Мен сынап көрдүм, бирок ал жерде 3.3v Arduino такталары менен иштеш керек. Жөн гана Tx Rxти 3.3v коннекторуна туташтырыңыз.

Конфигурация жөнүндө

  • Сиз 2 башка SSIDди сактап, алмаштыра аласыз
  • Сиз колдонгон GPIO өзгөртө аласыз

Программалык камсыздоо жөнүндө

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