Съдържание:
- Консумативи
- Стъпка 1: Как работи?
- Стъпка 2: Какви са основните функции?
- Стъпка 3: Изграждане на материал
- Стъпка 4: Нека започнем с електронното на макета
- Стъпка 5: Да преминем към софтуера
- Стъпка 6: Нека направим конфигурацията
- Стъпка 7: Нека направим Arduino Side
- Стъпка 8: Да направим от страна на сървъра
- Стъпка 9: Време е за запояване
- Стъпка 10: Нека направим последния тест
- Стъпка 11: Можете да адаптирате този дизайн към вашите собствени изисквания
Видео: Как да направите свой собствен WIFI шлюз за свързване на вашия Arduino към IP мрежа?: 11 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
Както много хора смятате, че Arduino е много добро решение за домашна автоматизация и роботизация
Но по отношение на комуникацията Arduinos идва само със серийни връзки.
Работя върху робот, който трябва да бъде постоянно свързан със сървър, който работи с код за изкуствен интелект. Опитах се да използвам RF мрежа, както съм свикнал да правя за domotic, но не е достатъчно ефективен. Докато роботът се движи, не мога да използвам Ethernet Arduino Shield. Arduino Wifi Shield са скъпи и ми се струва стар дизайн.
Имах нужда от нещо, което може да обменя данни по много прост и ефективен начин със сървър.
Ето защо реших да проектирам Gateway на базата на много евтиния и енергийно ефективен микроконтролер ESP8266
Тук можете да намерите как да изградите електронния компонент и да изтеглите софтуера.
Използвах този шлюз за домашна автоматизация и за роботизиран.
Това е част от глобална инфраструктура за домашна автоматизация, която можете да разгледате тук
Направих друга инструкция, която използва щит ESP8266 и избягва запояване
Консумативи
Написах друга инструкция по тази тема
Стъпка 1: Как работи?
Шлюзът е базиран на модул ESP8266
Този модул е свързан от едната страна със серийна връзка от другата страна към IP мрежа с Wifi.
Той действа като черна кутия. Пакетите данни, идващи от серийната връзка, се изпращат към IP/Udp порт и обратно.
Просто трябва да зададете своя собствена конфигурация (IP, WIFI …) веднъж при първото включване на шлюза.
Той може да прехвърля или необработени ASCII и двоични данни (без HTTP, JSON …)
Той е предназначен за свързване на обекти със сървърни домашно приготвени софтуери, които се нуждаят от бързи и чести прехвърляния на кратък пакет данни.
Най -лесно е да се използва с Arduino Mega, който има повече от един UART (Arduino Mega например), но може да работи и с UNO.
Стъпка 2: Какви са основните функции?
Най -често това е черна кутия, която преобразува и изпраща серийни данни към UDP пакет по двата начина.
Той има 3 светодиода, които показват състоянието и трафика на шлюза.
Той осигурява GPIO, който може да се използва от Arduino, за да изчака Gateway да бъде свързан с WIFI и IP.
Той работи в 3 различни режима, които се настройват с превключватели:
- Нормален режим на шлюз
- Конфигурационен режим, използван за задаване на параметрите
- Режим на отстраняване на грешки, който е за режим на отстраняване на грешки
Повечето от параметрите могат да бъдат модифицирани според вашите нужди.
Стъпка 3: Изграждане на материал
Отгоре на вашия Arduino ще ви трябва
- 1 x модул ESP8266-Избирам MOD-WIFI-ESP8266-DEV от Olimex, който струва около 5 евро и е доста лесен за използване.
- 1 x 5v източник на захранване
- 1 x 3.3v регулатор на мощността - използвам LM1086
- 1 х 100 микрофарад кондензатор
- 1 x ULN2803 APG модул (може да бъде заменен с 3 x транзистора)
- 8 x резистора (3 x 1K, 1 x 2K, 1 x 2.7k, 1x 3.3K, 1x 27K, 1x 33k)
- 3 x LED (червено, зелено, синьо)
- 1 x платка за платка
- някои проводници и конектори
Само по време на строителните стъпки ще ви трябва
- 1 x FTDI 3.3v за конфигурацията
- Поялник и калай
Преди запояване е важно да настроите всички компоненти на макета и да проверите дали всичко е наред.
Стъпка 4: Нека започнем с електронното на макета
Електронното оформление се предлага във формат Fritzing
Можете да го изтеглите тук стъпка 1:
github.com/cuillerj/Esp8266IPSerialGateway/blob/master/GatewayElectronicStep1.fzz
Просто направете схемата, като внимавате за напрежението.
Не забравяйте, че ESP8266 не поддържа напрежение по -високо от 3.3v. FTDI трябва да бъде настроен на 3.3v.
Стъпка 5: Да преминем към софтуера
Нека започнем от страната на Gateway
Написах кода с Arduino IDE. Така че имате нужда от ESP8266, за да бъдете известни като борда от IDE. Изберете подходящата дъска с меню Инструменти / дъски.
Ако не виждате никакъв ESP266 в списъка, това означава, че може да се наложи да инсталирате ESP8266 Arduino Addon (тук можете да намерите процедурата).
Целият код, от който се нуждаете, е достъпен на GitHub. Време е да го изтеглите!
Основният код на шлюза е там:
Освен стандартните Arduino и ESP8266 включва основния код, от който се нуждаят тези 2 включва: LookFoString, който се използва за манипулиране на низове и е там:
ManageParamEeprom, който се използва за четене и съхраняване на параметри в Eeprom ans е там:
След като получите целия код, е време да го качите в ESP8266. Първо свържете FTDI към USB порт на вашия компютър.
Предлагам ви да проверите връзката, преди да опитате да качите.
- Настройте серийния монитор на Arduino към новия USB порт.
- Задайте скоростта на 115200 и двете cr nl (скорост по подразбиране за Olimex)
- Включете чертежа (ESP8266 се предлага със софтуер, който се занимава с AT команди)
- Изпратете „AT“със серийния инструмент.
- В замяна трябва да получите „OK“.
Ако не проверите връзката си и вижте спецификациите на ESP8266.
Ако получите „OK“, вие сте готови да качите кода
- Изключете чертежа, изчакайте няколко секунди,
- натиснете черния микро-суич на ESP8266. Нормално е да получите малко боклук на серийния монитор.
- Натиснете върху IDE за качване като за Arduino.
- След приключване на качването задайте серийна скорост на 38400.
Ще видите нещо както е на снимката.
Поздравления, че успешно качихте кода!
Стъпка 6: Нека направим конфигурацията
ConfigGPIO трябва да бъде зададен на 1 за влизане в режим на конфигуриране
Първо сканирайте WIFI, като въведете командата: ScanWifi. Ще видите списък с откритата мрежа.
- След това задайте своя SSID, като въведете „SSID1 = вашата мрежа“
- След това задайте паролата си, като въведете „PSW1 = вашата парола“
- След това въведете „SSID = 1“, за да определите текущата мрежа
- Въведете „Рестартиране“, за да свържете Gateway към вашия WIFI.
- Можете да потвърдите, че имате IP, като въведете „ShowWifi“.
- Синият светодиод ще свети, а червеният ще мига.
Време е да определите адреса на вашия IP сървър, като въведете 4 -те подадреса (сървър, който ще изпълнява тестовия код на Java). Например:
- "IP1 = 192"
- "IP2 = 168"
- "IP3 = 1"
- "IP4 = 10"
Последната необходима стъпка е да настроите порта за слушане на UDP сървъра, като въведете „listenPort = xxxx“.
Въведете „ShowEeprom“, за да проверите какво току -що сте съхранили в Eeprom
Сега включете GPIO2 към земята, за да напуснете конфигурационния режим
Вашият шлюз е готов за работа
Има някои други команди, които можете да намерите в документацията.
Стъпка 7: Нека направим Arduino Side
Първо свържете Arduino
Ако имате Mega, ще бъде най -лесно да започнете. Въпреки това можете да използвате Uno.
За да проверите работата си най -добре е да използвате примера.
Можете да го изтеглите от тук:
Той включва кода на SerialNetwork, който е тук:
Просто качете кода във вашия Arduino.
Зеленият светодиод мига всеки път, когато Arduino изпраща данни.
Стъпка 8: Да направим от страна на сървъра
Примерът за сървър е Java програма, която можете да изтеглите тук:
Просто го стартирайте
Погледнете конзолата на Java.
Погледнете монитора Arduino.
Arduino изпраща 2 различни пакета.
- Първият съдържа състоянието на цифровите щифтове от 2 до 6.
- Втората съдържа 2 случайни стойности, нивото на напрежение A0 в mV и инкрементален брой.
Програмата Java
- отпечатайте получените данни в шестнадесетичен формат
- отговорете на първия вид данни със случайна стойност за включване/изключване, за да включите/изключите светодиода Arduino
- отговор на втория вид данни с полученото броене и случайна стойност.
Стъпка 9: Време е за запояване
Работи на макет!
Време е да го направите по -здрав чрез запояване на части върху печатна платка
Освен всичко, което сте направили с макета, трябва да добавите 3 конектора.
- C1 1 x пин, който ще се използва за влизане в режим на проследяване на мрежата.
- C2 3 x пина, който ще се използва за превключване между работещ и конфигурационен режим.
- C3 6 x пина, който ще се използва за свързване на Gateway към Arduino или FTDI.
С1, свързан към GPIO2, трябва да бъде заземен ръчно, ако искате да активирате мрежовите следи.
C2, свързан към GPIO 4, може да бъде настроен в 2 различни позиции. Този, който е настроен на земята за нормален режим на работа и един, зададен на 3.3v за влизане в режим на конфигуриране.
Поставете всички компоненти на печатната платка според схемата и след това започнете да запоявате, за да получите крайния продукт!
Стъпка 10: Нека направим последния тест
Стартирайте тестовата програма на Java.
Свържете Arduino.
Захранване на шлюза.
И погледнете конзолата Java, монитора Arduino, светодиодите Arduino и светодиодите на шлюза.
Стъпка 11: Можете да адаптирате този дизайн към вашите собствени изисквания
Относно хардуера
- Ако изберете друг ESP8266, ще трябва да се приспособите към спецификациите.
- Ако изберете друг 3.3V регулатор, той трябва да достави над 500mA и ще трябва да адаптирате кондензатора.
- Можете да промените LED резисторите, за да регулирате яркостта.
- Можете да потиснете целия светодиод, но препоръчвам да запазите поне червеното включено.
- Можете да замените ULN2803 с 3 транзистора (или по -малко аз избирате да не запазвате 3 светодиода).
- Направих тест, но там трябва да работи с 3.3v Arduino платки. Просто свържете Tx Rx към конектора 3.3v.
Относно конфигурацията
- Можете да съхранявате 2 различни SSID и да превключвате
- Можете да промените използвания GPIO
Относно софтуера
Препоръчано:
Как да направите свой собствен прост RC реактивен самолет?: 10 стъпки
Как да си направите собствен прост RC реактивен самолет?: Как да си направим RC (дистанционно управление) самолет с пяна или пенопласт, който обикновено използвам, е доста прост и лесен, ако знаете общата формула. Защо формулата на облака? защото, ако обясните подробно и използвате sin cos tan и неговите приятели, на c
Ръководство за свързване на PLSD: Свързване към телевизори на Apple чрез AirPlay [неофициално]: 10 стъпки
Ръководство за свързване на PLSD: Свързване към Apple TV чрез AirPlay [Неофициално]: Следното ръководство е предоставено, за да илюстрира процеса на свързване към Apple TV към конферентна зала чрез AirPlay. Този неофициален ресурс е предоставен с любезното съдействие на администрацията, персонала и упълномощените гости на местния училищен район Perkins
Как да изградите свой собствен анемометър с помощта на тръстикови превключватели, сензор за ефекта на Хол и някои отпадъци на Nodemcu - Част 2 - Софтуер: 5 стъпки (със снимки)
Как да изградите свой собствен анемометър с помощта на тръстикови превключватели, сензор за ефекта на Хол и някои отпадъци на Nodemcu - Част 2 - Софтуер: Въведение Това е продължение на първата публикация „Как да изградите свой собствен анемометър с помощта на тръстикови превключватели, сензор за Холов ефект и някои отпадъци на Nodemcu - Част 1 - Хардуер " - където показвам как се сглобява измерване на скоростта и посоката на вятъра
Как да направите свой собствен, безплатен скицник: 6 стъпки
Как да направите свой собствен, безплатен скицник: В тази инструкция ще ви покажа как да направите свой собствен скицпад с домакински неща
Techduino -- Как да направите свой собствен Arduino Uno R3 --: 9 стъпки (със снимки)
Techduino || Как да направите свой собствен домашен Arduino Uno R3 ||: Ако сте като мен, след като си взех Arduino и изпълних окончателно програмиране на първия си чип, исках да го изтегля от моя Arduino Uno R3 и да го сложа на моята собствена верига. Това също би освободило моя Arduino за бъдещи проекти. След като прочетох много