Оглавление:

Руководство для начинающих по ESP8266 и твиты с использованием ESP8266: 17 шагов (с изображениями)
Руководство для начинающих по ESP8266 и твиты с использованием ESP8266: 17 шагов (с изображениями)

Видео: Руководство для начинающих по ESP8266 и твиты с использованием ESP8266: 17 шагов (с изображениями)

Видео: Руководство для начинающих по ESP8266 и твиты с использованием ESP8266: 17 шагов (с изображениями)
Видео: Обзор ESP8266 "Witty Cloud", преимущества или недостатки? 2024, Июль
Anonim
Руководство для начинающих по ESP8266 и твиты с использованием ESP8266
Руководство для начинающих по ESP8266 и твиты с использованием ESP8266

Я узнал об Arduino 2 года назад, поэтому начал экспериментировать с простыми вещами, такими как светодиоды, кнопки, двигатели и т. Д., А потом подумал, что было бы здорово подключиться, чтобы делать такие вещи, как отображение погоды дня, курсов акций, расписания поездов. ЖК-дисплей. Я обнаружил, что это можно сделать, отправляя и получая данные через Интернет. Таким образом, решение было подключением к Интернету. Я начал поиски того, как подключить Arduino к Интернету и отправлять и получать данные. Я узнал о модулях Wi-Fi в Интернете и обнаружил, что они очень дорогие. Затем я узнал о ESP8266.

Я много читал в Интернете о модуле ESP8266 около года назад и купил один, но начал работать с ними только в прошлом месяце. В то время обширной информации не было, но сейчас доступно много документации, видео. в Интернете о прошивках, AT-командах, проектах и т. д. Поэтому я решил начать.

Я написал это руководство как руководство для новичков, так как столкнулся с множеством проблем при подключении и начале работы с ESP8266, поэтому я решил написать это руководство, чтобы другие люди, которые сталкиваются с проблемами со своими модулями, могли их решать быстрее.

В этой инструкции я постараюсь показать

  • Как подключить ESP8266 и связаться с ним через Arduino Uno.
  • Я также постараюсь показать, как через него можно отправить твит с помощью Thingspeak.

Что может делать ESP8266? Это ограничено вашим воображением. Я видел в Интернете проекты и учебные пособия, показывающие, как узнать температуру в городе, цены на акции, отправлять и получать электронные письма, совершать телефонные звонки и многое другое. это руководство, как отправить твит.

Шаг 1. Вещи, которые вам понадобятся

Вещи, которые вам понадобятся
Вещи, которые вам понадобятся

Вот те вещи, которые вам понадобятся. Большинство из них можно купить в любом магазине электротоваров или в Интернете (я предоставил ссылки для справки).

  • 1xESP8266 (ESP-01) -ebay
  • 1xBreadboard адаптер (узнайте, как его сделать здесь, или используйте несколько перемычек)
  • 1xLM2596 -ebay
  • Конвертер уровня 1xLogic -ebay
  • 1xArduino Uno
  • USB-кабель для Arduino Uno
  • 1x макетная плата - ebay
  • Провода -ebay
  • IDE Arduino
  • Аккаунт в Thingspeak

Общая стоимость составит около 600 рупий (около 9 долларов). Я исключил стоимость Arduino Uno, поскольку это зависит от того, хотите ли вы оригинал или клон. Самые дешевые клоны доступны по цене около 500 рупий (около 4 долларов).

Шаг 2: некоторая информация о ESP8266

ESP8266 был выпущен в 2014 году, всего год назад, поэтому он довольно новый, чипы производятся Espressif.

Преимущество

Самым большим преимуществом ESP8266 является, пожалуй, его стоимость. Он довольно дешев, и вы можете купить пару таких за раз. До того, как я узнал об этом, я даже не мог подумать о покупке модуля Wi-Fi, они были слишком дорогими.. Новые версии ESP8266 выпускаются довольно часто, и последняя из них - ESP 12. Однако в этой инструкции я остановлюсь только на ESP 01, который довольно популярен. Более того, когда вы покупаете ESP8266, он поставляется с предустановленной прошивкой AT по умолчанию. Вы можете приступить к работе, как только купите его. Кроме того, как вы увидите из этого руководства, их довольно легко связать с интерфейсом.

Недостаток

У каждого устройства есть свои преимущества и недостатки, и ESP ничем не отличается. ESP иногда может оказаться очень сложным и утомительным для работы. Поскольку оно довольно новое, вам будет сложно получить информацию о нем. К счастью, сообщество на esp8266.com существует, что очень помогает, более того, иногда он также начинает делать неожиданные вещи, например, выбрасывать кучу мусора через последовательное соединение и т. д.

Обратите внимание, что в Интернете доступно много документации, и некоторые ее части противоречат друг другу. Эта инструкция ничем не отличается. Поигрывая с моим ESP8266, я обнаружил, что он действительно сильно отличается от того, что было упомянуто в Интернете (вы можете тоже), но все работало нормально.

Шаг 3: Распиновка ESP8266

Распиновка ESP8266
Распиновка ESP8266

ESP8266 имеет 8 контактов, как показано.

Gnd и Vcc должны быть подключены как обычно к земле и источнику питания соответственно. ESP8266 работает от 3,3 В.

Вывод RESET используется для ручного сброса ESP. Обычно он должен быть подключен на 3,3 В. Если вы хотите сбросить ESP, подключите этот вывод на мгновение к земле, а затем обратно к 3,3 В.

CH_PD - это отключение питания чипа, который обычно должен быть подключен к 3,3 В.

GPIO0 и GPIO2 - это входные выходные контакты общего назначения. Обычно они должны быть подключены к напряжению 3,3 В. Однако при прошивке прошивки подключите GPIO0 к земле.

Контакты Rx и Tx - это передающие и принимающие контакты ESP8266. Они работают на логике 3,3 В, т.е. 3,3 В - это ВЫСОКИЙ логический уровень для ESP8266.

Подробные подключения представлены на более поздних этапах.

Шаг 4. Что следует использовать для связи с ESP8266?

Что следует использовать для связи с ESP8266?
Что следует использовать для связи с ESP8266?
Что следует использовать для связи с ESP8266?
Что следует использовать для связи с ESP8266?
Что следует использовать для связи с ESP8266?
Что следует использовать для связи с ESP8266?

Существует множество устройств, которые можно использовать для связи с ESP8266, например программаторы FTDI, последовательный преобразователь USB в TTL, Arduino и т. Д., Однако я использовал Arduino Uno просто потому, что он самый простой и он есть почти у всех. Если у вас есть Arduino, у вас также есть Arduino IDE, и его последовательный монитор может использоваться для связи с ESP8266, поэтому не нужно тратить деньги на программистов FTDI и т. д.

Однако, если вы хотите или если он у вас уже есть, вы можете использовать программатор FTDI или последовательный преобразователь USB в TTL (подробнее о том, как подключить их позже). Также существует много программного обеспечения, такого как RealTerm или putty. это так же, как серийный монитор Arduino IDE.

Шаг 5: Установка ESP8266 на макетную плату

Установка ESP8266 на макетную плату
Установка ESP8266 на макетную плату
Установка ESP8266 на макетную плату
Установка ESP8266 на макетную плату

Обратите внимание, что контакты ESP8266 не подходят для макетной платы. Это можно решить двумя способами.

Используйте перемычки «мама-папа», которые могут

Сделайте, как показано в этом Руководстве, или

Используйте плату адаптера, сделайте ее самостоятельно (их много на Instructables), и она будет аккуратной.

Шаг 6: Источник питания

Источник питания
Источник питания

ESP8266 работает от источника питания 3,3 В. Не подключайте его к выводу 5 В на Arduino, он, вероятно, сгорит.

В некоторых руководствах предлагалось сделать схему делителя напряжения с использованием резисторов 1 кОм, 2 кОм с 5 В на входе и получить 3,3 В на резисторе 2 кОм и подать его на Arduino. Однако я обнаружил, что ESP даже не включился, когда я это сделал.

Я смог включить его, используя 3,3 В на Arduino, но обнаружил, что через некоторое время ESP нагрелся.

Можно использовать стабилизатор напряжения 3,3 В.

Или вы можете использовать понижающий преобразователь постоянного тока LM2596. Они довольно дешевые. Я использовал их. Подайте на вход 5 В от Arduino. Отрегулируйте потенциометр на модуле, пока выход не станет 3,3 В. Я обнаружил, что ESP можно запитать. от одного из них в течение нескольких часов. Выполните соединения, как показано на рисунке.

Шаг 7: преобразование логического уровня

Преобразование логического уровня
Преобразование логического уровня

Упоминается, что ESP имеет логику 3,3 В, а Arduino - 5 В.

Это означает, что в ESP 3,3 В имеет ВЫСОКИЙ логический уровень, а в Arduino 5 В - ВЫСОКИЙ логический уровень. Это может вызвать некоторые проблемы при их соединении.

В Интернете я обнаружил, что необходимо применять преобразование логического уровня при взаимодействии ESP Rx и Tx с Arduino.

В некоторых руководствах упоминалось, что преобразование логического уровня необходимо при взаимодействии с выводом ESP Rx.

Однако я обнаружил, что обычное подключение контактов ESP Rx и Tx к Arduino не вызывает никаких проблем

Я подключил Rx и Tx через преобразователь логического уровня, а также только Rx, но не получил никакого ответа.

Однако я обнаружил, что подключение вывода ESP Tx через преобразователь логического уровня при прямом подключении Tx также не вызывает проблем

Таким образом, преобразователь логического уровня может использоваться или не использоваться.

Используйте тот метод, который вам подходит, методом проб и ошибок.

Шаг 8: Подключения

Подключения
Подключения

Подключения ESP8266:

ESP8266

Земля ------------------- Земля

GPIO2 --------------- 3,3 В

GPIO0 --------------- 3,3 В

Rx -------------------- Rx Arduino

Tx --------------------- Tx Arduino (прямой или через преобразователь логического уровня)

CH_PD -------------- 3,3 В

СБРОС -------------- 3,3 В

Vcc -------------------- 3,3 В

(Обратите внимание, что в некоторых версиях ESP Rx должен быть подключен к Arduino Tx, а ESP Tx должен быть подключен к Arduino Rx).

Если вы используете программатор FTDI или последовательный преобразователь USB в TTL, подключите их Tx и Rx к Rx и Tx ESP8266 соответственно.

Шаг 9: начало работы

После подключения загрузите

установка void ()

{}

пустой цикл ()

{}

то есть пустой скетч для Arduino..

Откройте монитор последовательного порта и установите для него «И NL, и CR».

Поэкспериментируйте со скоростью передачи данных. Обычно она должна быть 9600, но иногда может быть 115200.

Шаг 10: команды AT

Команды AT
Команды AT

Проще говоря, AT-команды - это команды, которые можно отправлять на ESP8266, чтобы он мог выполнять некоторые функции, такие как перезапуск, подключение к Wi-Fi и т. Д. ESP в ответ отправит подтверждение в виде текста. Ниже я объяснил некоторые из них. AT-команды и то, как ESP на них реагирует. Обратите внимание, что под отправкой я подразумеваю ввод команды и нажатие Enter (возврат).

Отправьте AT через последовательный монитор

Эта команда используется как тестовая.

Как реагирует ESP: нужно вернуть ОК.

Отправьте AT + RST через последовательный монитор

Эта команда используется для перезапуска модуля.

Как реагирует ESP: ESP возвращает кучу мусора, но ищите Готово или Готово.

Отправьте AT + GMR через последовательный монитор

Эта команда используется для определения версии прошивки модуля.

Как реагирует ESP: Необходимо вернуть версию прошивки.

Прошивка - это часть программного обеспечения, которое обычно устанавливается на устройство в его ПЗУ (постоянное запоминающее устройство), то есть оно не предназначено для частой смены или вообще не меняется. Оно обеспечивает управление устройством и управление данными. ESP8266 имеет номер различных прошивок, все из которых довольно легко прошить (установить).

Шаг 11: Общий синтаксис AT-команд

Приведен общий синтаксис AT-команд для выполнения различных функций:

AT + параметр =?

Когда команда этого типа отправляется через последовательный монитор, ESP возвращает все значения, которые может принимать параметр.

AT + параметр = val

Когда команда этого типа отправляется через последовательный монитор, ESP устанавливает значение параметра равным val.

Параметр AT +?

Когда команда этого типа отправляется через последовательный монитор, ESP возвращает текущее значение параметра.

Некоторые AT-команды могут принимать только один из вышеперечисленных типов, а некоторые - все 3.

Примером команды, которая возможна во всех трех перечисленных выше типах, является CWMODE, которая используется для установки режима Wi-Fi.

Отправить AT + CWMODE =? через серийный монитор

Как реагирует ESP: все значения, которые может принимать ESP CWMODE (1-3), возвращаются конкретно + CWMODE (1-3).

1 = Статический

2 = AP

3 = И статический, и AP

Отправьте AT + CWMODE = 1 через последовательный монитор

Как реагирует ESP: ОК должно быть возвращено, если есть изменение в CWMODE по сравнению с его предыдущим значением и он установлен на статический, иначе никакие изменения не должны возвращаться, если нет изменений в значении CWMODE.

ВАЖНО: Если для CWMODE не установлено значение 1, команды на последующих этапах не будут работать.

Отправить AT + CWMODE? через серийный монитор

Как реагирует ESP: должно быть возвращено текущее значение CWMODE, в частности, если вы выполнили вышеуказанный шаг + CWMODE: 1 должен быть возвращен.

Шаг 12. Подключение к Wi-Fi

Отправить AT + CWLAP через последовательный монитор

Эта команда используется для вывода списка всех сетей в данной области.

Как реагирует ESP: должен быть возвращен список всех доступных точек доступа или сетей Wi-Fi.

Отправить AT + CWJAP = "SSID", "пароль"

(включая двойные кавычки).

Эта команда используется для подключения к сети Wi-Fi.

Как реагирует ESP: следует вернуть ОК, если модуль был подключен к сети.

Отправить AT + CWJAP? через последовательный монитор

Эта команда используется для определения сети, к которой в настоящее время подключен ESP.

Как реагирует ESP: будет возвращена сеть, к которой подключен ESP. В частности, + CWJAP: "SSID"

Отправить AT + CWQAP через последовательный монитор

Эта команда используется для отключения от сети, к которой в настоящее время подключен ESP.

Как реагирует ESP: ESP выходит из сети, к которой он подключен, и возвращается OK.

Отправить AT + CIFSR через последовательный монитор

Эта команда используется для определения IP-адреса ESP.

Как реагирует ESP: возвращается IP-адрес ESP.

Шаг 13: Thingspeak

Thingspeak
Thingspeak
Thingspeak
Thingspeak
Thingspeak
Thingspeak
Thingspeak
Thingspeak

Если вы еще не создали аккаунт на Thingspeak, сделайте его сейчас.

После создания учетной записи на Thingspeak перейдите в Приложения> ThingTweet.

Свяжите с ним свою учетную запись Twitter.

Обратите внимание на созданный ключ API.

Здесь, после того как приложение ThingTweet было использовано для привязки учетной записи Twitter к вашей учетной записи ThingSpeak, вы можете отправить твит, используя TweetContol API.

API (интерфейс прикладной программы) - это код, который позволяет двум программам взаимодействовать друг с другом.

Некоторые другие API, доступные разработчикам, - это Google Maps API, Open Weather API и т. Д.

Только после того, как ESP будет настроен, проверен и подключен к Wi-Fi (в основном все шаги, указанные в предыдущих 2 шагах), выполните действия, указанные ниже.

Шаг 14: еще несколько AT-команд

Отправьте AT + CIPMODE = 0 через последовательный монитор

Как реагирует ESP: возвращается ОК.

Команда CIPMODE используется для установки режима передачи.

0 = нормальный режим

1 = сквозной режим UART-WiFi

Отправить AT + CIPMUX = 1 через последовательный монитор

Как реагирует ESP: возвращается ОК.

Команда CIPMUX используется для установки одного или нескольких соединений.

0 = одиночное соединение

1 = множественное соединение

Шаг 15: Настройка TCP-соединения

Настройка TCP-соединения
Настройка TCP-соединения
Настройка TCP-соединения
Настройка TCP-соединения

Обратите внимание, что, начиная с первой команды, как только вы отправите первую, соединение будет установлено только на ограниченное время, поэтому отправляйте команды как можно быстрее.

Отправьте AT + CIPSTART = 0, «TCP», «api.thingspeak.com», 80 через последовательный монитор

Как реагирует ESP: Связано возвращается, если соединение было установлено.

Эта команда используется для установления TCP-соединения.

Синтаксис: AT + CIPSTART = идентификатор ссылки, тип, удаленный IP, удаленный порт.

куда

Link ID = ID сетевого подключения (0 ~ 4), используется для множественного подключения.

тип = строка, «TCP» или «UDP».

удаленный IP = строка, удаленный IP-адрес (адрес веб-сайта).

удаленный порт = строка, номер удаленного порта (обычно выбирается 80).

Отправить AT + CIPSEND = 0, 110 через последовательный монитор

Как реагирует ESP:> (больше) возвращается, если команда выполнена успешно.

Эта команда используется для отправки данных.

Синтаксис: AT + CIPSEND = идентификатор ссылки, длина.

куда

Link ID = ID соединения (0 ~ 4), для множественного соединения. Поскольку CIPMUX установлен на 1, это 1.

length = длина данных, MAX 2048 байт. Обычно выбирайте большое число для длины.

Шаг 16: отправка твита

Отправка твита
Отправка твита

Теперь для отправки твита

Отправьте GET / apps / thingtweet / 1 / statuses / update? Api_key = yourAPI & status = yourtweet через последовательный монитор.

Замените yourAPI на ключ API, а свой твит - на любой твит, какой захотите.

Как только вы отправите вышеуказанную команду, начните нажимать Enter (возврат) с интервалом примерно в 1 секунду. Через некоторое время будут возвращены SEND OK, + IPD, 0, 1: 1 и OK, что означает, что твит был опубликован.

Откройте свой твиттер и проверьте, был ли опубликован твит.

Также обратите внимание, что один и тот же твит нельзя отправлять повторно.

Приведенная выше строка, которая была отправлена (GET….), Является HTTP-запросом GET.

Запрос GET используется для получения данных с заданного сервера (api.thingspeak.com).

Шаг 17: что делать после этого

(Смотрите видео как минимум в формате 360p)

Перейдите в этот репозиторий, чтобы загрузить код и схемы. Нажмите кнопку «Клонировать или загрузить» (зеленый цвет справа) и выберите «Загрузить ZIP», чтобы загрузить zip-файл. Теперь извлеките содержимое на свой компьютер, чтобы получить код и схемы (в папке схем). Я также загрузил в этот репозиторий шпаргалку, в которой резюмируются все AT-команды.

В Интернете доступно множество отличных ресурсов, посвященных ESP8266. Я упомянул некоторые из них здесь:

  • Кевин Дарра видео.
  • ALLaboutEE видео.
  • esp8266.com

Вы также можете больше поэкспериментировать с AT-командами. В Интернете доступно множество API-интерфейсов, которые могут делать все, что угодно, например, получать информацию о погоде, ценах на акции и т. Д.

Полная документация по AT-командам

Также в настоящее время я работаю над программой, которая автоматически публикует в Твиттере аналоговые значения датчика, и я опубликую ее, как только она заработает должным образом.

Если вам понравился мой поучительный голос за это в конкурсе Arduino all the things.

Рекомендуемые: