- Що таке ESP8266?
- Основи теорії WiFi:
- Типи програмування на ESP8266:
- Апаратне забезпечення для програмування модуля ESP8266:
- Необхідні матеріали:
- Пояснення схеми:
- Будівництво ради програмування ESP8266:
Інтернет речей та автоматизація житла справді була розкрученою темою в останні дні. Побудувати самостійно щось, що може спілкуватися із Всесвітньою павутиною і до якого можна отримати доступ з будь-якої точки світу, справді звучить круто, чи не так?
Але, почекайте !!! Це теж звучить складно ???….
Так зробив це для мене, я думав, що знадобиться величезний час і навички, щоб побудувати речі, які можуть взаємодіяти з Інтернетом. НІ, я був абсолютно неправий, завдяки цьому фантастичному модулю під назвою ESP8266 від Espressif Systems. Тепер ви можете легко відкрити свої двері для проектів IoT за допомогою цього модуля. Цей недорогий, невеликий за розмірами модуль може творити чудеса, він дійсно простий і простий у використанні, якщо ми дотримуємося правильних кроків.
Ці посібники мають на меті познайомити вас із цим модулем ESP8266-01 та допомогти вам розпочати роботу з ним. Можливо, ви вже принесли свій модуль і застрягли при спробі його використання. Тоді ви не самі, не хвилюйтеся, багатьом людям дуже важко розпочати роботу з модулем, оскільки для цього модуля немає належних вказівок чи документації. Це є причиною створення цього підручника. Дотримуйтесь інструкцій тут, і ви зможете швидко запустити і запустити свій модуль ESP8266-01; тут ми будемо використовувати модуль послідовного адаптера FTDI USB до TTL для програмування ESP8266. Перегляньте детальне відео в кінці підручника.
Перш ніж входити в тему, давайте розглянемо деякі основи модуля ESP8266-01.
Що таке ESP8266?
Більшість людей називають ESP8266 модулем WIFI, але насправді це мікроконтролер. ESP8266 - це назва мікроконтролера, розробленого Espressif Systems, що є компанією із Шанхаю. Цей мікроконтролер має можливість виконувати пов'язані з WIFI дії, тому він широко використовується як модуль WIFI.
Доступно багато типів модулів ESP8266, починаючи від ESP8266-01 і закінчуючи ESP8266-12. У підручнику ми використовуємо ESP8266-01, оскільки він найдешевший і легко доступний. Однак усі модулі ESP мають лише один тип процесора ESP, різниться лише тип використовуваного барда. Пробойна плата ESP8266-01 матиме лише 2 штирі GPIO, тоді як у інших плат вона буде вище.
Повна специфікація модуля наведена в таблиці нижче
Напруга |
3,3 В |
Поточне споживання |
10uA-170mA |
Максимальне споживання струму під час блимання |
800 мА |
Флеш-пам'ять |
16 Мб (512 тис. Нормальних) |
Процесор |
Тенсіліка L106 32 біт |
Швидкість процесора |
80-160 МГц |
ОЗП |
32K + 80K |
GPIO |
17 (але більшість із них мультиплексні) |
Аналого-цифровий перетворювач |
1 (10-біт) |
Максимум TCP-з'єднань |
5 |
Добре, кілька речей, які могли б здивувати вас щодо специфікації, це те, що ТАК модуль ESP8266 постачається з перетворювачем АЦП, і він споживає дуже високий струм 0,8 А під час прошивання вашого пристрою.
Також перевірте наші різні цікаві проекти IoT на основі ESP8266.
Основи теорії WiFi:
Протокол управління передачею (TCP), Інтернет-протокол (IP), Протокол користувальницьких датаграм (UDP), Точка доступу (AP), Станція (Sta), Ідентифікатор набору послуг (SSID), Інтерфейс програмування програм (API), Веб-сервер…..
Чи всі вищезазначені терміни мають для вас сенс?
Якщо так. Потім, BINGO, ви можете перейти до цієї частини та перейти до наступного розділу.
Якщо ні, ні. Тоді ви, мабуть, один із багатьох студентів-електриків, які просто промайнули більшістю цих термінів, як і я, коли мене вперше познайомили з усіма цими речами. Отже, давайте швидко переглянемо всі ці терміни, бо лише тоді ми змогли вступити у світ IOT.
Протокол управління передачею (TCP):
Більшість з нас знали б, що це означає. Так, це набір правил, на основі яких працює Інтернет. Оскільки ESP8266 має можливість встановлювати з'єднання WIFI. На високому рівні Wi-Fi - це можливість брати участь у TCP / IP-з'єднаннях по бездротовому каналу. Ви можете змусити свій ESP працювати над протоколом TCP / IP або UDP.
Протокол датаграм користувачів (UDP):
UDP - це ще один тип інтернет-протоколу. Цей тип зв'язку швидший, ніж TCP, але менш точний. Причина полягає в тому, що TCP використовує підтвердження під час спілкування, але UDP - ні. TCP в основному використовується в мережах, де є вимога високої надійності. UDP використовується в місцях, де швидкість має вищий пріоритет, ніж надійність. Наприклад, UDP використовується у відеоконференціях, оскільки там навіть якщо деякі пікселі не передаються, це не так сильно вплине на якість відео, але швидкість дуже важлива.
Більшість проектів і кодів ESP8266 працюють навколо TCP / IP, UDP буде найменше турбувати.
Точка доступу (AP) та станція (STA):
Як тільки ви почнете працювати з модулем ESP, ви часто стикаєтесь із цими двома термінами. Скажімо, ви та ваш друг хотіли б користуватися Інтернетом на своїх смартфонах, але оскільки у нього немає активного з’єднання з Інтернетом, ви вирішили увімкнути свою точку доступу, а ваш друг підключився до неї. Тут вашим телефоном, який отримує з’єднання з Інтернетом, є точка доступу (AP), а телефоном вашого друга, який користується Інтернетом, називається станція (STA).
Модуль ESP8266 можна використовувати в трьох режимах, режимі точки доступу, режимі STA або в режимах STA і AP (комбіновані).
Ідентифікатор набору послуг (SSID):
Це досить простий термін. Майже всі ми користувалися WIFI. Назва мережі Wi-Fi називається її SSID. Коли у нас є кілька точок доступу для станції, до якої потрібно підключитися, станція повинна знати, до якої точки доступу вона повинна підключитися, отже, кожна точка доступу (AP) отримує ідентичність, яка називається SSID.
Інтерфейс прикладного програмування (API):
Простіше кажучи, API - це месенджер, який приймає ваші запити, обробляє їх і повертає вашій системі бажаний результат. Більшість заходів, які ми робимо в Інтернеті, використовують API, наприклад, коли ви бронюєте рейс, робите покупки в Інтернеті тощо. Кожен веб-сайт посилає вас на API, де якась частина роботи, як реєстрація, здійснення платежів тощо, виконується за вас. там.
ESP8266 використовує API для спілкування зі світом Інтернету. Наприклад, якщо він хоче знати час, клімат або все, що йому слід запросити у формі API на відповідний веб-сайт. Цей веб-сайт отримає запит і поверне бажаний результат назад до нашого модуля ESP.
Веб-сервер:
Веб-сервер - це те, що відповідає за відображення вмісту веб-сайту. Весь вміст цього веб-сайту буде завантажено на його веб-сервер. Існують спеціальні комп’ютери, завдання яких - виконувати лише функції веб-сервера. Ми також можемо запрограмувати наш ESP8266 на роботу як веб-сервер і підключатися до нього з будь-якої точки світу.
Гаразд, цього нам достатньо для початку. Тепер давайте візьмемо до рук обладнання.
Типи програмування на ESP8266:
Існує два способи роботи з вашим модулем ESP8266. Цей посібник допоможе вам розпочати роботу з обома. Один із способів - використання команд AT. Інший спосіб - використання IDE Arduino. Давайте зрозуміємо, що це означає.
Усі модулі ESP8266, що постачаються із заводу, матимуть завантажену прошивку за замовчуванням (SDK + API). Ця прошивка допоможе вам запрограмувати модуль ESP8266 за допомогою команд AT.
Інший спосіб - це безпосереднє програмування модуля ESP8266 за допомогою IDE Arduino (плата не потрібна) та його бібліотеки. Всі проекти можуть бути виконані обома методами. Але якщо ви почнете використовувати IDE Arduino для програмування вашого ESP8266, можливо, ви не зможете використовувати команди AT, оскільки SDK за замовчуванням може бути пошкоджений. У такому випадку вам доведеться прошивати ваш ESP із типовими налаштуваннями. Ми розглянемо це в іншому підручнику.
Апаратне забезпечення для програмування модуля ESP8266:
ESP8266 - це 8-термінальний модуль. Шпилька з тієї ж наведена нижче.
На жаль, цей модуль не є зручним для макетів, і тому ми не можемо встановити його безпосередньо на наш макет. Також, на відміну від Arduino, у нього немає вбудованого USB-послідовного драйвера; отже, ми повинні використовувати “FTDI USB to TTL Serial Adapter Module” для спілкування з ним. Переконайтеся, що плата FTDI також може працювати на 3,3 В; той, який ми використовуємо в цьому посібнику, показаний нижче.
Тепер, як ми знаємо, нам слід увімкнути ESP8266 на 3,3 В. Але поточне споживання становить 0,8 А, тому воно може не працювати належним чином, якщо живити від нашої плати прориву FTDI. Отже, ми повинні побудувати власну схему живлення. Тут ми використовували LM317 для живлення; деталі виготовлення повного обладнання наведені в наступних розділах.
Необхідні матеріали:
- Perf Board
- ESP8266-01
- Дошка прориву ПІІ
- LM317
- 0,1 мкФ конденсатор
- Конденсатор 10 мкФ
- Барель Джек
- Бергстік Чоловік і Жінка
- Нажимна Кнопка
- Підключення проводів
- 12В адаптер для живлення плати.
Пояснення схеми:
Схеми дошки показані нижче
Деякі, можливо, спробували подати живлення на ваш ESP безпосередньо з вашого FTDI і змусили його працювати, але наведено нижче причини побудови власної плати з кількома додатковими компонентами:
- Лише кілька плат FTDI можуть подавати достатньо струму для модуля ESP. Небагато модулів ESP можуть споживати сильний струм, ніж інші під час прошивання. Отже, завжди безпечно мати власне джерело живлення, і буде простіше інтегрувати схему живлення на точкову дошку замість макетної дошки.
- Нам слід завжди скидати модуль ESP перед завантаженням коду, побудова власної дошки допоможе нам легко скинути модуль. Ми використали кнопку для скидання ESP8266.
- Штифт GPIO0 повинен бути заземлений під час програмування за допомогою Arduino і повинен залишатися вільним при використанні команд AT, це можна легко переключити, якщо ми створимо власну плату. Ми використовували перемичку для перемикання між режимом команд AT та режимом програмування Arduino IDE.
- Все програмування виконується за допомогою послідовного зв'язку , якщо ви використовуєте макетну панель, деякі вільні термінали можуть спричинити помилку на половині шляху і змусити нас знову прошити модуль.
З огляду на це, ви можете вибрати між використанням макетної дошки та виготовленням власної дошки для програмування модуля. Якщо ви все-таки хочете використовувати макет, то ж схема, показана вище, може бути побудована за допомогою вашої макети. Тільки зовнішній вигляд буде іншим, усі інші інструкції в цьому посібнику застосовуватимуться однаково.
Будівництво ради програмування ESP8266:
Отже, тут ми будуємо плату для програмування модуля ESP8266, який має власну схему живлення для живлення ESP8266.
Як вже було сказано, на наш модуль буде потрібно близько 800 мА при програмуванні. Отже, ми сконструювали власний силовий модуль, використовуючи регулятор напруги LM317 зі змінною напругою, оскільки струм джерела LM317 становить майже 1,2 А Вхідна напруга LM317 становитиме 12 В, що подаватиметься за допомогою адаптера для настінного кріплення 12 В 2А. Вихід LM317 буде регулюватися постійно до 3,3 В за допомогою резисторів 220 Ом та 360 Ом. Також перевірте наш ланцюг зарядного пристрою за допомогою LM317, щоб дізнатись більше про LM317.
Формули для розрахунку вихідної напруги LM317 наведені нижче:
Vout = 1,25 * (1+ (R2 / R1))
Де R1 становить 220 Ом, а R2 - 360 Ом.
Модуль ESP8266 підключений згідно контактів, показаних у таблиці нижче.
No контакту |
Назва контактного ESP |
Пов'язаний з |
1 |
Земля |
Земля модуля FTDI |
2 |
GPIO2 |
Залишили вільним або підключили до палиці Berg для подальшого використання |
3 |
GPIO0 |
Переключіться для перемикання між режимами програмування |
4 |
Rx |
Tx модуля FTDI |
5 |
Tx |
Rx модуля FTDI |
6 |
CH_PH |
3,3 В від LM317 |
7 |
Скинути |
Кнопка для скидання модуля |
8 |
Vcc |
3,3 В від LM317 |
Для зручного перемикання між режимом командного режиму AT та режимом програмування Arduino я розмістив перемикач (перемичку), який буде тягнути GPIO 0 на землю при використанні Arduino IDE і залишатиме його плаваючим під час використання команд AT.
Існує кнопка, яка при натисканні скидає модуль ESP. Це робиться простим підключенням штифта RST модуля ESP до заземлювача через кнопку. Кожного разу, перш ніж ми програмуємо наш модуль ESP, ми повинні скинути його.
Після того, як ви зібрали схему, вона повинна виглядати приблизно так нижче.
Я використовував дошку Perf, але ви також можете використовувати макет, якщо вам це цікаво (як обговорювалося вище). Повна збірка та пояснення наведено у відео нижче.
Закінчивши з підключеннями. Увімкніть плату без плат ESP та FTDI та перевірте, чи правильно ми отримуємо 3,3 В на клемах Vcc та Ground позицій модулів ESP. Тепер переконайтеся, що ваша плата FTDI перебуває в режимі 3,3 В, і підключіть модулі FTDI та ESP до плати.
Увімкніть адаптер і підключіть його до плати, модуль ESP повинен загорітися червоним кольором.
Потім підключіть плату FTDI до комп’ютера за допомогою кабелю mini-USB на USB і перейдіть до Диспетчера пристроїв на комп’ютері, і ви повинні знайти плату FTDI, підключену до порту COM, як показано нижче:
Тепер час взяти до рук програмування нашого модуля ESP8266. Ви можете почати з використання AT-команд, а потім перейти до використання Arduino IDE. Не забудьте перевірити інші наші проекти на основі ESP8266.