Iskra Neo + ESP8266 = Интернет вещей. Часть 5. Как загрузить скетч в модуль ESP8266 KosachenkoSV's blog / 13.01.2017 Предыдущие посты: Iskra Neo + ESP8266 = Интернет вещей. Часть 1 Iskra Neo + ESP8266 = Интернет вещей. Часть 2 (Модуль с чипом ESP8266 ESP-01 V090 с поддержкой WiFi) Iskra Neo + ESP8266 = Интернет вещей. Часть 3. Как проверить модуль ESP8266 Iskra Neo + ESP8266 = Интернет вещей. Часть 4. Настройка Arduino IDE для ESP8266 Как загрузить скетч в модуль ESP8266 Теперь мы можем приступить к загрузке программ в модуль ESP8266. Должен признаться, мне не сразу удалось "прошить" в ESP8266 свою программу. Пришлось "гуглить" несколько различных схем подключения USB-TTL конвертера для программирования ESP8266 и статей, посвященных этой теме, прежде, чем экспериментально подобрал удачную схему и прошивки стали проходить "без сучка, без задоринки". Чтобы прошить скетч в ESP8266, нужно перевести его в режим программирования, для этого GPIO_0 подсоединим к GND, а к GPIO_2 подключим светодиод через токоограничивающий резистор 220 Ом. Для прошивки скетча из Arduino IDE воспользуемся USB-TTL конвертером на 3,3 Вольт. Существуют модели с возможностью переключения на 5 вольт и 3,3 вольт, например, я использую USB-Serial Light адаптер от DFRobot с таким переключателем, который когда-то приобрел для прошивки LilyPad (см.предыдущий пост). Обратите внимание, что USB-TTL конвертеры на 5 вольт не подходят, т.к. могут повредить модуль ESP8266! Подробнее о соединении контактов модуля ESP8266, USB-TTL конвертера и контроллера Iskra Neo указано в таблице "Подключение контактов ESP8266 для режима программирования": Прежде чем загружать скетч в модуль ESP8266 вам потребуется: - Плата Iskra Neo - USB-Serial адаптер (USB-TTL конвертер) 3,3 Вольт на базе FTDI, PL2303 или аналогичном чипе. - Макетная плата - Резистор 220 Ом - Светодиод - Соединительные провода Соберите с помощью макетной платы следующую схему: Питание для ESP8266 будем брать от контакта 3.3V платы Iskra Neo. Несмотря на то, что USB-TTL конвертер также имеет вывод 3,3 Вольта, он не подходит, т.к. максимальный ток нагрузки USB-TTL конвертера ниже, чем требуется для ESP8266. Когда соберете, проверите схему и подключите питание к Iskra Net, то горящий на макетной плате светодиод будет показывать готовность модуля ESP8266 к прошивке. После окончания прошивки этот светодиод погаснет. ESP8266 в роли Telnet-сервера для WiFi-сетиДля реализации концепции «Интернета вещей» в качестве точки для обмена информацией часто используется сервер. Сервер (от англ. server, обслуживающий) — программное обеспечение, принимающее запросы от клиентов. Мы будем использовать возможности модуля ESP8266 подключаться к имеющейся WiFi сети и создавать telnet-сервер. TELNET (сокр. от англ. terminal network) — сетевой протокол для реализации текстового интерфейса по сети (при помощи транспорта TCP). Стандарт протокола описан в RFC 854. С помощью telnet-сервера можно передавать подключившемуся к нему через WiFi telnet-клиенту, данные, полученные через Serial соединение (UART) от платы Iskra Neo. Используя библиотеку ESP8266 из стандартных примеров, мы запрограммируем передачу данных между Iskra Neo и telnet-клиентом по схеме: Из данной схемы видно, что модуль ESP8266 выполняет роль информационного шлюза между Iskra Neo и telnet-клиентом. В качестве telnet-клиента можно использовать ноутбук или персональный компьютер, смартфон или планшет, подключенные к WiFi сети, с установленной программой telnet. Пользователь telnet-клиента, сможет получать данные от Iskra Neo и передавать ей свои команды, находясь в любой точке зоны покрытия WiFi сети, а при соответствующей настройке WiFi-роутера (что требует знаний системного администратора) - из любой точки земного шара, где имеется доступ к Интернет. Для настройки модуля ESP8266 на подключение к нужной сети WiFi необходимо в следующем скетче перед прошивкой заменить значения переменных ssid и password, заменив звездочки правильными значениями. Загрузите в плату ESP8266 следующий скетч: Во время прошивки на плате ESP8266 будет мигать синий светодиод. Данный скетч использует библиотеку для ESP8266: В начале скетча, что сервер должен работать на 23 TCP-порту, и определяется сколько клиентов он должен обслуживать одновременно: В процедуре setup() инициализируется интерфейс UART на рабочую скорость 115200 бод, и осуществляется подключение модуля ESP8266 к WiFi сети: При успешном подключении к WiFi сети производится старт telnet-сервера на 23 порту и через интерфейс UART передается сообщение о том, как можно будет подключиться к серверу, в частности, ip-адрес сервера. В процедуре loop() проверяются подключения клиентов (споты) и, если произошло подключение нового клиента, то ему передается текстовое приветствие: Далее проверяется, поступали ли данные по WiFi от telnet-клиентов, и если поступали, то они передаются на интерфейс UART, т.е. на плату Iskra Neo: В заключение проверяется, поступали ли данные по UART, чтобы передать их по WiFi всем telnet-клиентам: После успешного окончании прошивки модуля ESP8266, мы можем приступить к сборке схемы «умного датчика температуры». Продолжение следует... ESP8266 IoT Iskra Neo arduino freeduino интернет вещей микроэлектроника