Esp32 драйвер для windows 10 x64

ESP-32 is still quite new, therefore uploading a sketch is not as straightforward as with ESP-8266. It's still easy though if you follow these steps

ESP-32 is still quite new, therefore uploading a sketch is not as straightforward as with ESP-8266. It’s still easy though if you follow below steps:

Install Python

First, install Python 2.7 if you don’t already have.

https://www.python.org/download/releases/2.7/

Then install python library called wget using pip.

pip install wget

The above is needed for all operating systems. Things are still almost the same in Windows, Linux or MacOS.

Install ESP-32 drivers (for Windows users)

Windows users need to install some drivers. Linux and MacOS users can skip this step.

Go to below address:

https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers

download and install CP210x_Universal_Windows_Driver.zip

Install ESP-32 board manager

You cannot install ESP-32 by boards manager in Arduino IDE (at least in June 2018). Additional Boards Manager URLs is no use when installing ESP-32.

You need to create a new folder hardwareespressif under your sketchbook folder. If you don’t know this location simply open Arduino IDE. Then go to Preferences and see Sketchbook location section at the top. Then change this location wherever needed in the below command list.

For me it was «C:UsersAliustaogluDocumentsArduino». Change yours accordingly

arduino-location

For Windows

It is quite simple for Windows. Execute below commands one by one. It will first get the source code from git and then download necessary files to the location where Arduino IDE will be looking for.

My sketchbook location was C:UsersAliustaogluDocumentsArduino for Windows-10.

md C:UsersAliustaogluDocumentsArduinohardwareespressif
cd C:UsersAliustaogluDocumentsArduinohardwareespressif
git clone https://github.com/espressif/arduino-esp32.git esp32
cd esp32
git submodule update --init --recursive
cd tools
get.exe

It might take a while. But after the download and installation finishes, you should be able to see the list of ESP-32 devices under board menu. You don’t need to go to Boards Manager anymore.

WindowsInstallation

For Linux and Mac OS

My sketchbook location was /Users/cuneytaliustaoglu/Documents/Arduino for Mac OS.

It is almost the same for UNIX users. Execute below steps:

mkdir -p /Users/cuneytaliustaoglu/Documents/Arduino/hardware/espressif
cd /Users/cuneytaliustaoglu/Documents/Arduino/hardware/espressif
git clone https://github.com/espressif/arduino-esp32.git esp32
cd esp32
git submodule update --init --recursive
cd tools
python get.py

But I got an error while executing the last step

IOError: [Errno socket error] [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:726

If you get this error change the contents of get.py with the one below. Open a text editor:

sudo nano get.py

and replace whole content with below:

#!/usr/bin/env python
# This script will download and extract required tools into the current directory.
# Tools list is obtained from package/package_esp8266com_index.template.json file.
# Written by Ivan Grokhotkov, 2015.
#
from __future__ import print_function
import os
import shutil
import errno
import os.path
import hashlib
import json
import platform
import sys
import tarfile
import zipfile
import re
import wget
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
if sys.version_info[0] == 3:
    from urllib.request import urlretrieve
else:
    # Not Python 3 - today, it is most likely to be Python 2
    from urllib import urlretrieve

if 'Windows' in platform.system():
    import requests

current_dir = os.path.dirname(os.path.realpath(unicode(__file__)))
dist_dir = current_dir + '/dist/'

def sha256sum(filename, blocksize=65536):
    hash = hashlib.sha256()
    with open(filename, "rb") as f:
        for block in iter(lambda: f.read(blocksize), b""):
            hash.update(block)
    return hash.hexdigest()

def mkdir_p(path):
    try:
        os.makedirs(path)
    except OSError as exc:
        if exc.errno != errno.EEXIST or not os.path.isdir(path):
            raise

def report_progress(count, blockSize, totalSize):
    percent = int(count*blockSize*100/totalSize)
    percent = min(100, percent)
    sys.stdout.write("r%d%%" % percent)
    sys.stdout.flush()

def unpack(filename, destination):
    dirname = ''
    print('Extracting {0}'.format(os.path.basename(filename)))
    sys.stdout.flush()
    if filename.endswith('tar.gz'):
        tfile = tarfile.open(filename, 'r:gz')
        tfile.extractall(destination)
        dirname= tfile.getnames()[0]
    elif filename.endswith('zip'):
        zfile = zipfile.ZipFile(filename)
        zfile.extractall(destination)
        dirname = zfile.namelist()[0]
    else:
        raise NotImplementedError('Unsupported archive type')

    # a little trick to rename tool directories so they don't contain version number
    rename_to = re.match(r'^([a-z][^-]*-*)+', dirname).group(0).strip('-')
    if rename_to != dirname:
        print('Renaming {0} to {1}'.format(dirname, rename_to))
        if os.path.isdir(rename_to):
            shutil.rmtree(rename_to)
        shutil.move(dirname, rename_to)

def get_tool(tool):
    sys_name = platform.system()
    archive_name = tool['archiveFileName']
    local_path = dist_dir + archive_name
    url = tool['url']
    #real_hash = tool['checksum'].split(':')[1]
    if not os.path.isfile(local_path):
        print('Downloading ' + archive_name);
        sys.stdout.flush()
        if 'CYGWIN_NT' in sys_name:
            import ssl
            ctx = ssl.create_default_context()
            ctx.check_hostname = False
            ctx.verify_mode = ssl.CERT_NONE
            urlretrieve(url, local_path, report_progress, context=ctx)
        elif 'Windows' in sys_name:
            r = requests.get(url)
            f = open(local_path, 'wb')
            f.write(r.content)
            f.close()
        else:
            #urlretrieve(url, local_path, report_progress)
            wget.download(url, local_path)
        sys.stdout.write("rDonen")
        sys.stdout.flush()
    else:
        print('Tool {0} already downloaded'.format(archive_name))
        sys.stdout.flush()
    #local_hash = sha256sum(local_path)
    #if local_hash != real_hash:
    #    print('Hash mismatch for {0}, delete the file and try again'.format(local_path))
    #    raise RuntimeError()
    unpack(local_path, '.')

def load_tools_list(filename, platform):
    tools_info = json.load(open(filename))['packages'][0]['tools']
    tools_to_download = []
    for t in tools_info:
        tool_platform = [p for p in t['systems'] if p['host'] == platform]
        if len(tool_platform) == 0:
            continue
        tools_to_download.append(tool_platform[0])
    return tools_to_download

def identify_platform():
    arduino_platform_names = {'Darwin'  : {32 : 'i386-apple-darwin',   64 : 'x86_64-apple-darwin'},
                              'Linux'   : {32 : 'i686-pc-linux-gnu',   64 : 'x86_64-pc-linux-gnu'},
                              'LinuxARM': {32 : 'arm-linux-gnueabihf', 64 : 'aarch64-linux-gnu'},
                              'Windows' : {32 : 'i686-mingw32',        64 : 'i686-mingw32'}}
    bits = 32
    if sys.maxsize > 2**32:
        bits = 64
    sys_name = platform.system()
    sys_platform = platform.platform()
    print('System: %s, Info: %s' % (sys_name, sys_platform))
    if 'Linux' in sys_name and sys_platform.find('arm') > 0:
        sys_name = 'LinuxARM'
    if 'CYGWIN_NT' in sys_name:
        sys_name = 'Windows'
    return arduino_platform_names[sys_name][bits]

if __name__ == '__main__':
    identified_platform = identify_platform()
    print('Platform: {0}'.format(identified_platform))
    tools_to_download = load_tools_list(current_dir + '/../package/package_esp32_index.template.json', identified_platform)
    mkdir_p(dist_dir)
    for tool in tools_to_download:
        get_tool(tool)
    print('Done')

Now if you restart Arduino IDE, you will see the list of ESP-32 devices.

Subscribe to Full Stack Developer & Amateur Musician

Get the latest posts delivered right to your inbox

Display and touchpad drivers for ESP32 using LVGL

For a ready to use ESP32 project take look at the lv_port_esp32 repository.

Table of content

  • Supported display controllers
  • Supported indev controllers
  • Support for predefined development kits
  • Thread-safe I2C with I2C Manager
  • Backlight control

NOTE: You need to set the display horizontal and vertical size, color depth and
swap of RGB565 color on the LVGL configuration menuconfig (it’s not handled automatically).

Supported display controllers

Display Controller Type Interface Color depth (LV_COLOR_DEPTH) Swap RGB565 color (LV_COLOR_16_SWAP)
ILI9341 TFT SPI 16: RGB565 Yes
ILI9163C TFT SPI 16: RGB565 Yes
ILI9486 TFT SPI 16: RGB565 Yes
ILI9488 TFT SPI 16: RGB565 No
HX8357B/HX8357D TFT SPI 16: RGB565 Yes
ST7789 TFT SPI 16: RGB565 Yes
ST7735S TFT SPI 16: RGB565 Yes
FT81x TFT Single, Dual, Quad SPI 16: RGB565 No
GC9A01 TFT SPI 16: RGB565 Yes
RA8875 TFT SPI 16: RGB565 Yes
SH1107 Monochrome SPI 1: 1byte per pixel No
SSD1306 Monochrome I2C 1: 1byte per pixel No
PCD8544 Monochrome SPI 1: 1byte per pixel No
IL3820 e-Paper SPI 1: 1byte per pixel No
UC8151D/ GoodDisplay GDEW0154M10 DES e-Paper SPI 1: 1byte per pixel No
FitiPower JD79653A/ GoodDisplay GDEW0154M09 e-Paper SPI 1: 1byte per pixel No

Supported indev controllers

  • XPT2046
  • FT3236, FT6X36
  • FT6206 controllers should work as well (not tested)
  • STMPE610
  • FT81x (Single, Dual, and Quad SPI)

If your display or input device (touch) controller is not supported consider contributing to this repo by
adding support to it! Contribute controller support

Support for predefined development kits

You can also use the predefined kits, which selects the correct display controllers on the kit,
and sets the gpio numbers for the interface.

Kit name Display controller Interface Hor. Res. Ver. Res.
ESP Wrover Kit v4.1 ILI9341 SPI 240 320
M5Stack ILI9341 SPI 240 320
M5Stack Core2 ILI9341 SPI 240 320
M5Stick SH1107 SPI
M5StickC ST7735S SPI 80 160
Adafruit 3.5 Featherwing HX8357 SPI 480 320
RPi MPI3501 ILI9486 SPI
Wemos Lolin OLED SSD1306 SPI 64 128
ER-TFT035-6 ILI9488 SPI 480 320
AIRcable ATAGv3 IL3820 SPI 128 296
TTGO T-Display ST7789 SPI 135 240
TTGO Camera Plus ST7789 SPI 240 240

NOTE: See Supported display controllers for more information on display configuration.
NOTE: See Supported indev controllers for more information about indev configuration.

Thread-safe I2C with I2C Manager

LVGL can use I2C to read from a touch sensor or write to a display, possibly
many times a second. Meanwhile, other tasks may also want to read from i2c
devices on the same bus. I2C using the ESP-IDF is not thread-safe.

I2C Manager (i2c_manager) is a component that will let code in multiple threads
talk to devices on the I2C ports without getting in each other’s way. These drivers
use a built-in copy of I2C Manager to talk to the I2C port, but you can also use
the I2C Manager component itself and have others play nice with LVGL and vice-versa.
Click here for details.

Backlight control

Control of LCD’s backlight is provided by separate module that is independent from the display driver.
Configuration of the backlight controller can be found in menuconfig LVGL ESP Drivers -> LVGL TFT Display controller.

There are three modes of operation:

  1. Off — No backlight control
  2. Switch — Allows ON/OFF control
  3. PWM — Allows brightness control (by Pulse-Width-Modulated signal)

На данной странице находится максимально подробный гайд по началу работы с Arduino, в котором можно найти ответы на все вопросы касательно установки, подключения и загрузки прошивки, а также по работе с моими проектами. Внимательно изучите гайд, прежде чем писать мне на почту или в нашу группу ВК, если у вас что-то не получается, тут есть ответы на все вопросы. Также прилагаю список уроков на этом сайте, где можно найти ещё больше базовой информации:

  • Начало работы
  • Работа с Arduino IDE
  • Первая прошивка, ошибки, FAQ
  • Питание платы

Arduino  IDE


Arduino IDE – программа для написания и загрузки прошивки в плату, скачать можно с официального сайта вот здесь. Внимание! Перевод языка страницы в браузере ломает кнопки! На данный момент называется Legacy IDE (1.8.X), так как вышла новая IDE v2. Новичкам рекомендуется начать с версии 1.8.X.

Перед загрузкой вам предложат пожертвовать на развитие проекта, можно отказаться и нажать JUST DOWNLOAD (только скачать). Либо открываем прямую ссылку на загрузку версии 1.8.19 и сразу качаем файл.

Для работы рекомендуется компьютер с Winodws 7 или выше, либо Linux/MacOS

  • Если у вас Windows XP, придётся установить версию 1.6.13, более свежие версии будут очень сильно тормозить или не будут работать вообще. Есть ещё одна проблема: некоторые библиотеки не будут работать на старых версиях Arduino IDE, также не будет работать поддержка плат семейства esp8266, поэтому крайне рекомендуется обновить свой компьютер до Windows 7 или выше
  • Установка на Linux из системного репозитория – читать тут
  • Установка на MacOS – читать тут

Arduino Windows app
Не рекомендуется устанавливать Arduino Windows app из магазина приложений Windows, так как с ней бывают проблемы

Другие версии
Не устанавливайте старые версии IDE, если нет на то весомых причин, а также beta и hourly-билды

Java


Для старых версий Arduino IDE, а также для некоторых других программ, понадобится пакет Java JRE. Скачать можно с официального сайта для своей операционной системы.

Установка


Arduino IDE устанавливается как обычная программа, запускам и жмём далее далее далее…

Драйвер


Во время установки Arduino IDE программа попросит разрешения установить драйвера от неизвестного производителя, нужно согласиться на установку всего предложенного.

Обновление


Перед установкой новой версии нужно удалить старую. Ни в коем случае не удаляйте папку установленной IDE из Program Files, удалять нужно через “Установка и удаление программ“, либо запустив файл uninstall.exe из папки с установленной программой. Иначе установщик откажется устанавливать новую программу, так как в системе остались следы от старой. Решение этой проблемы описано в видео ниже. Вкратце о том, как удалить IDE вручную:

Удаление остатков IDE

Удаляем папки:

  • Папка с программой
    • C:Program Files (x86)Arduino (64-битная версия Windows)
    • C:Program FilesArduino (32-битная версия Windows)
  • Папка со скетчами и библиотеками
    • ДокументыArduino
  • Папка с настройками и дополнительными “ядрами” плат
    • C:Пользователи (или Users)Ваш_пользовательAppDataLocalArduino15

Удаляем следы из реестра:

  • Открыть редактор системного реестра:
    • Windows 10: Пуск/regedit
    • Предыдущие: Пуск/Выполнить/regedit
    • Инструкция для всех Windows
  • В открывшемся окне: Правка/Найти…
    • В окне поиска пишем arduinouninstall
    • Поиск
  • Удаляем найденный параметр (см. скриншот ниже)
  • На всякий случай Правка/Найти далее
  • Удаляем и так далее, пока не удалим все найденные параметры с arduinouninstall
  • После этого можно запускать установщик и устанавливать новую программу

Другие проблемы


  • Если перестала запускаться Arduino IDE – удаляем файлик preferences.txt из C:Пользователи (или Users)Ваш_пользовательAppDataLocalArduino15

Портативная версия


Вместо полной установки программы можно скачать архив с уже “установленной”, на странице загрузки он называется Windows ZIP file. Вот прямая ссылка на 1.8.19. Распаковав архив, получим портативную версию Arduino IDE, которую можно скинуть на флешку и использовать на любом компьютере без установки программы. Но понадобится установить драйвер CH341 для китайских плат, а также драйверы из папки с программой Arduino IDE (подробнее в следующем уроке). Возможно понадобится установить Java.

Работа на смартфоне


Писать и загружать прошивку через смартфон тоже можно, понадобится смартфон на Android и приложение ArduinoDroid. Также для тренировки и удобного редактирования скетчей можно использовать CppDroid, но загружать в плату она не умеет.

Первое подключение

Осмотр платы


Перед подключением к компьютеру рекомендуется провести визуальный осмотр платы на предмет дефектов пайки компонентов. Что можно встретить (в порядке фотографий):

  • Замкнутые пины (вроде бы паяются китайцами вручную)
  • Неприпаянная нога компонента
  • “Торчащие” вверх или под углом компоненты типа резисторов и конденсаторов, припаянные только с одной стороны
  • Компоненты со смещением
  • “Сопля” между ногами компонента

blank

blank

Плату с обнаруженным дефектом не рекомендуется подключать к компьютеру! Всё можно исправить паяльником, если не умеете сами – попросите того, кто умеет.

Реакция на подключение питания


Как понять, что плата работает корректно? На примере Nano/Uno:

  • При подключении USB загорается и горит светодиод PWR
  • Если плата новая и на ней прошит загрузчик (он обязан быть прошит) – однократно мигает светодиод L
  • Примечание: светодиоды могут быть любого цвета
  • На новой плате прошито “мигание светодиодом”, поэтому светодиод L продолжит мигать один или два раза в секунду в зависимости от версии загрузчика
  • При нажатии на кнопку сброса (RESET, единственная кнопка на плате) должен однократно мигнуть светодиод L, сигнализируя о завершении работы загрузчика.

Если ваша плата ведёт себя иначе – скорее всего это заводской брак, если плата новая, или кривые руки – если плата уже паялась и или куда то подключалась =)

Драйвер USB контроллера

CH341


В своих проектах я использую “Ардуино-совместимые” китайские платы, у которой для подключения по USB используется контроллер CH340/CH341. Чтобы он распознавался компьютером, нужно установить драйвер.

Windows

Скачать драйвер можно по ссылке:

  • FTP сайта
  • Яндекс.Диск
  • Сайт driverslab

Запускаем и в появившемся окошке нажимаем INSTALL. Готово!

Если во время установки Arduino IDE вы по какой-то причине пропустили установку драйверов, то их можно установить вручную из папки с программой, расположенной по пути

  • C/Program Files/Arduino/drivers (для 32-х разрядной системы)
  • C/Program Files (x86)/Arduino/drivers (для 64-х разрядной системы).

Запустить файл

  • dpinst-x86.exe (для 32-х разрядной системы)
  • dpinst-amd64.exe (для 64-х разрядной системы)

blank

Linux Mint

В Linux уже встроен необходимый драйвер, но Arduino IDE может отказаться с ним работать: Linux определяет ардуинку как устройство ttyUSB*, обычно это ttyUSB0 (это можно узнать командой dmesg в терминале), то есть в системе появляется интерфейс /dev/ttyUSB0. Чтобы с ним работать, нужны права доступа. Читать и писать на устройство /dev/ttyUSB0 имеет пользователь root и пользователи группы dialout. Работы с правами суперпользователя лучше избегать, поэтому следует занести своего пользователя в группу dialout. Это можно сделать следующей командой (обратите внимание, команда whoami в обратных кавычках)

sudo usermod -a -G dialout `whoami`

После этого нужно перелогиниться. Дальше запускаем Arduino IDE и в меню «Инструменты/Порт» ставим галочку напротив /dev/ttyUSB0.

Linux Arch

Вся информация по работе с IDE на данной ОСи есть вот в этой статье

FT232


На оригинальных Arduino Nano стоит USB контроллер производства FTDI – FT232, драйвер для всех версий ОС можно скачать с официального сайта (прямая ссылка на инсталлятор для Windows). Некоторые очень редкие китайцы паяют на свои Наны поддельные FTDI контроллеры, которые буквально выходят из строя после некоторых обновлений Windows. Если вам достался такой экземпляр (я никогда не даю ссылки на такие поделки) – подробности по ситуации читайте здесь. Как восстановить контроллер и сделать рабочий драйвер – читайте здесь.

CP2102


На некоторые Arduino-совместимые платы китайцы ставят контроллер USB CP2102. Драйвер на него в большинстве случаев уже есть в системе (на Linux точно есть), если не работает – скачать можно с официального сайта.

  • Прямая ссылка на драйвер для Windows всех версий
  • Прямая ссылка на драйвер для Mac OS

На Windows установка производится следующим образом: достаём из архива и

Настройка и прошивка

Подключение платы


Плата подключается к компьютеру по USB, на ней должны замигать светодиоды. Если этого не произошло:

  • Неисправен USB кабель
  • Неисправен USB порт компьютера
  • Неисправен USB порт Arduino
  • Попробуйте другой компьютер, чтобы исключить часть проблем из списка
  • Попробуйте другую плату (желательно новую), чтобы исключить часть проблем из списка
  • На плате Arduino сгорел входной диод по линии USB из-за короткого замыкания, устроенного пользователем при сборке схемы
  • Плата Arduino сгорела полностью из-за неправильного подключения пользователем внешнего питания или короткого замыкания

Компьютер издаст характерный сигнал подключения нового оборудования, а при первом подключении появится окошко “Установка нового оборудования”. Если этого не произошло:

  • См. предыдущий список неисправностей
  • Кабель должен быть data-кабелем, а не “зарядным”
  • Кабель желательно втыкать напрямую в компьютер, а не через USB-хаб
  • Не установлены драйверы Arduino (во время установки IDE или из папки с программой), вернитесь к установке.

В списке портов (Arduino IDE/Инструменты/Порт) появится новый порт, обычно COM3. Если этого не произошло:

  • См. предыдущий список неисправностей
  • Некорректно установлен драйвер на USB контроллер Arduino
    • Переверните плату и найдите “узкую” микросхему. Если на ней написано CH341 – ставим драйвер по инструкции выше
    • Если написано FT232R – опять же инструкция выше
    • Если ничего не написано – открываем “Диспетчер устройств”, смотрим блок “Другие устройства”. Если при подключении платы к компьютеру там появляется FT232R USB UART – смотрим инструкцию выше
  • Если список портов вообще неактивен – драйвер Arduino установлен некорректно, вернитесь к установке
  • Возникла системная ошибка, обратитесь к знакомому компьютерщику или экзорцисту

Выбор и настройка платы (Arduino NANO)


  • Выбираем соответствующую плату в ИнструментыПлата Большинство моих проектов сделаны на Arduino Nano. Если вы используете Nano:
    •  В микроконтроллер китайских плат зашит “старый” загрузчик, поэтому выбираем ИнструментыПроцессорATmega328p (Old Bootloader). Если вам по какой-то причине пришлют платы с новым загрузчиком – прошивка не загрузится (будет минутная загрузка и ошибка), можно попробовать сменить пункт Процессор на ATmega328p
  • Теперь выбираем порт, к которому подключена плата. COM1 – в большинстве случаев системный порт, у вас должен появиться ещё один (обычно COM3)

Загрузка прошивки


“Загрузка” прошивки происходит в два этапа – компиляция и непосредственно загрузка в микроконтроллер. Компиляция – проверка кода на наличие ошибок, её можно запустить, нажав кнопку с символом галочки в верхнем меню программы. Компилировать код можно даже не подключая плату к компьютеру! При нажатии на кнопку с символом стрелочки начнётся компиляция, а затем загрузка скомпилированного кода в плату.

Вставьте следующий код с полной заменой содержимого в IDE и загрузите его. Должен начать мигать светодиод на плате, это означает что все программы настроены верно и можно переходить к работе!

Примечание: данный код является универсальным для всех Arduino-совместимых плат

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
  digitalWrite(LED_BUILTIN, 0);
  delay(300);
  digitalWrite(LED_BUILTIN, 1);
  delay(300);
}

ESP8266 (Wemos, NodeMCU)


ESP8266  – микроконтроллер с WiFi на борту, на его базе сделаны платы Wemos D1 mini, NodeMCU и другие.

  • Читайте вводный урок по esp8266.
  • На популярных платах Wemos и NodeMCU стоит бортовой USB и CH340 или CP2102 (обычно это указано на странице товара).
  • Установка драйверов описана выше на этой странице.

Для работы с esp8266 нужно добавить поддержку плат в Arduino IDE:

  • Arduino IDE/Файл/Настройки/
  • В окошко “Дополнительные ссылки…” Вставить
  • http://arduino.esp8266.com/stable/package_esp8266com_index.json
  • Нажать ОК
  • Arduino IDE/Инструменты/Плата/Менеджер плат… Начать вводить в поиске “esp”. Выбрать и установить ESP8266 boards
    • Рекомендуемая версия – 2.7.4, на более высоких пока что наблюдаются проблемы с совместимостью
  • В списке плат Инструменты/Плата/ появится семейство плат на esp8266. Выбираем плату
    • NodeMCU – NodeMCU 1.0
    • Wemos Mini – LOLIN Wemos D1 R2 & mini
    • Или другую согласно своей конфигурации
  • Выбираем порт, к которому подключена плата
  • На четвёртом скриншоте ниже показаны настройки платы по умолчанию, изменены только выделенные красным (плата и порт)

Заметка для NodeMCU. Перед началом загрузки нужно ввести плату в режим прошивки. Подключить к компьютеру, выбрать появившийся порт для загрузки. Зажать кнопку Flash. Кликнуть по кнопке Reset. Отпустить кнопку Flash. И только после этого нажать стрелочку в программе для загрузки прошивки.

ESP32


ESP32  – мощный микроконтроллер с WiFi на борту

  • На плате стоит бортовой USB и CH340 или CP2102 (обычно это указано на странице товара).
  • Установка драйверов описана выше на этой странице.

Для работы с ESP32 нужно добавить поддержку плат в Arduino IDE:

  • Arduino IDE/Файл/Настройки/
  • В окошко “Дополнительные ссылки…” Вставить
  • https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
  • Нажать ОК
  • Arduino IDE/Инструменты/Плата/Менеджер плат… Начать вводить в поиске “esp”. Выбрать и установить esp32
  • В списке плат Инструменты/Плата/ появится семейство плат на esp32. Выбираем плату согласно купленной модификации
  • Выбираем порт, к которому подключена плата

У некоторых плат не работает автоматический запуск в режиме прошивки, поэтому в самом начале процесса загрузки прошивки нужно зажать кнопку Flash (BOOT) на плате

Digispark


Digispark – плата на базе ATtiny85.

  • Читайте вводный урок по Digispark.
  • Подключение к ПК по USB (реализован программно)
  • Нужно установить специальный драйвер, скачать можно на официальном GitHub проекта (в разделе Релизы, вот прямая ссылка на архив), либо с моего FTP. Драйвера есть для Win, MacOS и Linux.
  • Пользователям Linux читать здесь

Для работы с Digispark нужно добавить поддержку плат в Arduino IDE:

  • Arduino IDE/Файл/Настройки/
  • В окошко “Дополнительные ссылки…” Вставить
    • http://digistump.com/package_digistump_index.json
    • или https://raw.githubusercontent.com/digistump/arduino-boards-index/master/package_digistump_index.json
  • Нажать ОК
  • Arduino IDE/Инструменты/Плата/Менеджер плат… Начать вводить в поиске “Digispark”. Выбрать и установить Digistump AVR Boards
  • В списке плат Arduino IDE/Инструменты/Плата/ появится семейство плат Digispark. Выбираем Digispark (Default – 16.5mhz)

Прошивка загружается следующим образом: ПЛАТУ НЕ ПОДКЛЮЧАЕМ, ПОРТ НЕ ВЫБИРАЕМ, нажимаем загрузка, ждём компиляции. Появится надпись “подключите плату”. Втыкаем плату в USB и прошивка загружается.

LGT8F328


LGT8F328 – китайский клон ATmega328

  • Читайте вводный урок по lgt8f328.
  • Может понадобиться драйвер (прямая ссылка на архив)

Для работы с LGT8F328 нужно добавить поддержку плат в Arduino IDE:

  • Запустить Arduino IDE, перейти в Файл/Настройки/
  • В окошко “Дополнительные ссылки…” Вставить
  • https://raw.githubusercontent.com/dbuezas/lgt8fx/master/package_lgt8fx_index.json
  • Нажать ОК
  • Перейти в Инструменты/Плата/Менеджер плат… Начать вводить в поиске “lgt8”. Выбрать и установить LGT8fx Boards
  • Теперь в списке плат Инструменты/Плата/ появится семейство плат Logic Green… Выбираем свою плату

“Голые” МК


Для начала рекомендуется изучить вот эти два урока: первый и второй. У проектов на базе голого микроконтроллера есть два варианта:

  • Если проект основан на ATmega328 (Arduino Nano/Mini) и на плате есть источник тактирования на 16 МГц (резонатор), то микроконтроллер можно просто перепаять с Arduino и загружать прошивку через внешний USB-TTL переходник, как на Arduino Pro Mini. Либо загрузить прошивку, и потом перепаивать – всё будет работать.
    • Если источника тактирования нет – так делать нельзя! Сначала нужно настроить МК на внутреннее тактирование, подключив ISP программатор к плате Arduino и выбрав внутренний источник тактирования в настройках ядра. Подробнее читайте в уроке.
  • Если используется новый микроконтроллер (или припаянный китайцами) – он по умолчанию настроен на внутреннее тактирование и его можно паять на плату в любом случае. Загрузить прошивку можно только при помощи ISP программатора. Также можно прошить загрузчик и в дальнейшем загружать прошивку через USB-TTL преобразователь.

Установка библиотек


Библиотека – несколько файлов с кодом, облегчающим работу с датчиками и другими модулями. К моим проектам библиотеки идут в архиве (об этом ниже). Рассмотрим все способы загрузки и установки библиотек.

Менеджер библиотек


Большинство Ардуино-библиотек можно установить автоматически из встроенного в программу менеджера библиотек:

  • Скетч/Подключить библиотеку/Управлять библиотеками…
  • Комбинация клавиш Ctrl+Shift+I

Нужную библиотеку можно найти в поиске по названию и нажать Установка, библиотека будет автоматически установлена в папку с библиотеками. Arduino IDE проверяет обновления библиотек при запуске и предложит обновиться, если найдёт обновления.

Скачивание с GitHub


Не все существующие библиотеки есть в менеджере библиотек и скачать их можно только с GitHub. Есть два способа: скачать весь репозиторий и скачать релиз. Весь репозиторий со всеми “лишними” служебными файлами можно скачать одним архивом вот так, нажав Code/Download ZIP

Если у библиотеки есть релизы – справа будет отмечен последний (свежий) релиз. Нажимаем на него:

И в новом окне нажимаем Source code (zip) – начнётся загрузка архива. Скачивание релиза более предпочтительно, так как содержит только файлы библиотеки.

blank

В обоих случаях библиотека скачается как .zip архив.

Автоматическая установка


Скачанный .zip архив можно установить в автоматическом режиме через Скетч/Подключить библиотеку/Добавить .ZIP библиотеку… В открывшемся окне выбрать скачанный архив, библиотека будет установлена по указанному в настройках пути.

Ручная установка


Для начала нужно распаковать архив (стандартный архиватор Windows или WinRAR). Чтобы Arduino IDE смогла использовать библиотеку, нам нужно положить её туда, где программа будет её искать. Таких мест три (на примере Windows):

  • Документы/Arduino/libraries/
  • Папка с программой/libraries/
    • C/Program Files/Arduino/libraries/ (Windows 32)
    • C/Program Files (x86)/Arduino/libraries/ (Windows 64)
    • В портативной версии IDE желательно держать библиотеки в Папка с программой/libraries

Рекомендуется держать все библиотеки в одном месте, чтобы не было путаницы. Лично я устанавливаю все библиотеки в папку с программой (в Program Files), но для этого могут потребоваться права администратора (зависит от версии и настроек Windows). Если у вас возникли с этим проблемы – устанавливайте в Документы/Arduino/libraries/. На скриншотах показана установка скачанной с GitHub библиотеки в папку с программой и в документы. Ставить нужно в одно место, я просто показываю оба варианта.

Ошибки компиляции


Возникает на этапе сборки и компиляции прошивки. Ошибки компиляции вызваны проблемами в коде прошивки, то есть проблема сугубо программная. Слева от кнопки “загрузить” есть кнопка с галочкой – проверка. Во время проверки производится компиляция прошивки и выявляются ошибки, если таковые имеются. Ардуино в этом случае может быть вообще не подключена к компьютеру.

  • В некоторых случаях ошибка возникает при наличии кириллицы (русских букв) в пути к папке со скетчем. Решение: завести для скетчей отдельную папочку в корне диска с английским названием.
  • В чёрном окошке в самом низу Arduino IDE можно прочитать полный текст ошибки и понять, куда копать
  • В скачанных с интернета готовых скетчах часто возникает ошибка с описанием <название файла>.h no such file or directory. Это означает, что в скетче используется библиотека <название файла>, и нужно положить её в Program Files/Arduino/libraries/. Ко всем моим проектам всегда идёт папочка с использованными библиотеками, которые нужно установить. Также библиотеки всегда можно поискать в гугле по <название файла>.
  • При использовании каких-то особых библиотек, методов или функций, ошибкой может стать неправильно выбранная плата в “Инструменты/плата“. Пример: прошивки с библиотекой Mouse.h или Keyboard.h компилируются только для Leonardo и Micro.
  • Если прошивку пишете вы, то любые синтаксические ошибки в коде будут подсвечены, а снизу в чёрном окошке можно прочитать более детальное описание, в чём собственно косяк. Обычно указывается строка, в которой сделана ошибка, также эта строка подсвечивается красным.
  • Иногда причиной ошибки бывает слишком старая, или слишком новая версия Arduino IDE. Читайте комментарии разработчика скетча.
  • Ошибка недостаточно свободного места возникает по вполне понятным причинам. Оптимизация: статическая память – память, занимаемая кодом (циклы, функции). Динамическая память занята переменными.

Частые ошибки в коде, приводящие к ошибке компиляции

  • …no such file or directory – компилятор не может найти файл, который используется в коде. Чаще всего это библиотека, которую не установили или установили неправильно
  • expected ‘,’ or ‘;’ – пропущена запятая или точка запятой на предыдущей строке
  • stray ‘320’ in program – русские символы в коде
  • expected unqualified-id before numeric constant – имя переменной не может начинаться с цифры
  • … was not declared in this scope – переменная или функция используется, но не объявлена. Компилятор не может её найти
  • redefinition of … – повторное объявление функции или переменной
  • storage size of … isn’t known – массив задан без указания размера

Ошибки загрузки


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

  • Если неправильно выбран COM порт – прошивка не загрузится с ошибкой avrdude: ser_open(): can’t open device. Вернитесь к пункту “Выбор и настройка платы” этого урока и убедитесь в том, что выбор порта активен и при подключении платы появляется новый.
  • Большинство проблем при загрузке, вызванных “зависанием” ардуины или загрузчика, лечатся полным отключением Ардуины от питания. Потом вставляем USB и по новой прошиваем.
  • Причиной ошибки загрузки может быть неправильно выбранная плата в “Инструменты/Плата”, а также неправильно выбранный процессор в “Инструменты/Процессор”.
    • Если это Arduino Nano – попробуйте оба, Old и не Old.
  • Если у вас открыт монитор COM порта в другом окне Arduino IDE или плата общается через СОМ порт с другой программой (Ambibox, HWmonitor, SerialPortPlotter и т.д.), то вы получите ошибку загрузки, потому что порт занят. Отключитесь от порта или закройте другие окна и программы.
  • Если у вас задействованы пины RX или TX – отключите от них всё! По этим пинам Arduino общается с компьютером, в том числе для загрузки прошивки.
  • Если в описании ошибки встречается bootloader is not responding и not in sync, из-за ошибок записи мог “слететь” загрузчик, его можно попробовать прошить заново.
  • Если все пункты из этого списка проверены, а загрузчик прошить не удаётся – микроконтроллер скорее всего необратимо повреждён, то есть сгорел.

Предупреждения


Помимо ошибок, по причине которых проект вообще не загрузится в плату и не будет работать, есть ещё предупреждения, которые выводятся оранжевым текстом в чёрной области лога ошибок. Предупреждения могут появиться даже тогда, когда выше лога ошибок появилась надпись “Загрузка завершена“. Это означает, что в прошивке нет несовместимых с жизнью ошибок, она скомпилировалась и загрузилась в плату. Что же тогда означают предупреждения? Чаще всего можно увидеть такие:

  • # Pragma message……. – сообщения с директивой Pragma обычно выводят библиотеки, сообщая о своей версии или каких-то настройках. Это даже не предупреждение, а просто вывод текста в лог.
  • Недостаточно памяти, программа может работать нестабильно – чуть выше этого предупреждения обычно идёт информация о задействованной памяти. Память устройства можно добивать до 99%, ничего страшного не случится. Это флэш память и во время работы она не изменяется. А вот динамическую память желательно забивать не более 85-90%, иначе реально могут быть непонятные глюки в работе, так как память постоянно “бурлит” во время работы. НО. Это зависит от скетча и в первую очередь от количества локальных переменных. Можно написать такой код, который будет стабильно работать при 99% занятой SRAM памяти.
  • Предупреждения о несовместимых типах данных. Компилятор не смог привести один тип к другому и сообщает о потенциальных ошибках в ходе выполнения программы. В большинстве случаев ничего плохого не случится, но лучше найти проблемную строку и помочь компилятору преобразовать тип.

Частые вопросы


  • Ардуину можно прошить только один раз? Нет, несколько десятков тысяч раз, всё упирается в ресурс flash памяти. А он довольно большой.
  • Как стереть/нужно ли стирать старую прошивку при загрузке новой? Память автоматически очищается при прошивке, старая прошивка автоматически удаляется.
  • Можно ли записать две прошивки, чтобы они работали вместе? Нет, при прошивке удаляются абсолютно все старые данные. Из двух прошивок нужно сделать одну, причём так, чтобы не было конфликтов.
  • Можно ли “вытащить” прошивку с уже прошитой Ардуины? Теоретически можно, но только в виде нечитаемого машинного кода, в который преобразуется прошивка на С++ при компиляции, т.е. вам это НИКАК не поможет, если вы не имеете диплом по низкоуровневому программированию.
    • Зачем это нужно? Например есть у нас прошитый девайс, и мы хотим его “клонировать”. В этом случае да, есть вариант сделать дамп прошивки и загрузить его в другую плату на таком же микроконтроллере.
    • Если есть желание почитать код – увы, прошивка считывается в виде бинарного машинного кода, превратить который обратно в читаемый Си-подобный код обычному человеку не под силу
    • Вытащить прошивку, выражаясь более научно – сделать дамп прошивки, можно при помощи ISP программатора, об этом можно почитать здесь
    • Снять дамп прошивки можно только в том случае, если разработчик не ограничил такую возможность, например записав лок-биты, запрещающие считывание Flash памяти, или вообще отключив SPI шину. Если же разработчик – вы, и есть желание максимально защитить своё устройство от копирования – гуглите про лок-биты и отключение SPI

▶Проекты AlexGyver◀


ВНИМАТЕЛЬНО ЧИТАЙ ИНСТРУКЦИЮ
Если это твой первый опыт работы с Arduino — внимательно изучи каждый пункт инструкции выше, здесь всё написано!!!

Все мои проекты имеют одинаковую структуру и устанавливаются/прошиваются одинаково, поэтому вот финальная общая инструкция:

1. Установить Arduino IDE и драйверы, как написано в гайде выше. Если это ваш первый раз – желательно не подключать ничего к новой плате, а загрузить пробную прошивку из гайда и убедиться, что всё загружается и работает. Если после сборки схемы прошивка перестанет загружаться – увы, схема собрана с ошибками и плата уже могла сгореть. Но она работала, мы это проверили =)

  • Если проект основан не на стандартной Arduino плате, а например на esp8266, ESP32, Digispark, lgt8f328 – устанавливаем поддержку этих плат, как описано выше.

2. Скачать архив со страницы проекта. Ссылка всегда одна, она ведёт на прямую загрузку архива с хранилища GitHub. Когда проект обновляется (об этом может быть написано на странице проекта), ссылка на архив остаётся той же, но в нём будут уже какие-то изменённые файлы, добавлены новые версии прошивки и т.д. Все обновления указаны на странице проекта.

3. Распаковать архив. Архив имеет формат .zip, для его распаковки можно использовать встроенные инструменты операционной системы, либо популярный WinRAR. Если не распаковать архив – прошивка откроется неправильно. Я не отличаюсь буйной фантазией и всегда называю папки одинаково, вот что может быть в архиве проекта:

  • firmware – прошивки для Arduino
  • software – программы для ПК
  • libraries – библиотеки
  • schemes – схемы
  • PCB – gerber файлы печатных плат
  • docs – всякие документы
  • Android – исходники приложения
  • 3Dprint – модели для печати
  • processing – программа на Processing

Извлечение WinRAR

Извлечение Windows

Распакованная папка

4. Установить библиотеки. К прошивкам моих проектов всегда идут библиотеки, необходимые для работы кода. Библиотеки в проектах часто пересекаются, но рекомендуется ставить именно идущую в комплекте с проектом версию, так как более старые или новые могут быть несовместимы.

Содержимое папки libraries из архива помещаем в

  • С/Program Files/Arduino/libraries/ (Windows x32)
  • C/Program Files (x86)/Arduino/libraries/ (Windows x64)

Установка в libraries

Если возникнут проблемы с доступом к этой папке (на Windows 10), то библиотеки можно положить в

  • Документы/Arduino/libraries/

Установка в документы

Примечание: к разным проектам идут разные версии одних и тех же библиотек, они не всегда совместимы. При возникновении ошибок рекомендуется удалить текущие версии и заменить их теми, которые идут в архиве.

5. Открыть скетч (так называется файл с программой). При запуске файла скетча автоматически откроется Arduino IDE. Важно: если в папке со скетчем есть несколько файлов – запускаем любой с логотипом Arduino. Остальные файлы должны подтянуться автоматически и образовать вкладки в окне программы. Если запускать скетч прямо из архива – вкладки не откроются и скомпилировать/загрузить программу будет невозможно.

Вкладки в Arduino IDE

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

  • Для проектов на Arduino Nano выбираем Arduino Nano, а также ИнструментыПроцессорATmega328p (Old Bootloader). Если вам по какой-то причине пришлют платы с новым загрузчиком – прошивка не загрузится (будет минутная загрузка и ошибка), можно попробовать сменить пункт Процессор на ATmega328p
  • Для проектов на Wemos выбираем (LOLIN)Wemos D1 R2 & mini
  • Для проектов на NodeMCU выбираем NodeMCU 1.0
  • В некоторых проектах, например GyverLamp2 (второй версии) для прошивки в esp8266 нужно выбрать плату Generic esp8266, читайте особенности загрузки на странице проекта!
  • Для проектов на Digispark порт выбирать не надо, читай инструкцию выше

blank

blank

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

#define SOME_SETTING 1  // 1 включено, 0 выключено

где цифра отвечает за значение настройки, менять нужно только цифру согласно комментарию.

8. Загрузить прошивку. Нажимаем стрелочку в левом верхнем углу окна программы и прошивка загружается. Не загружается? Читаем гайд выше, там описаны все возможные причины.

Загружать прошивку желательно до подключения компонентов, чтобы убедиться в том, что плата рабочая. После сборки можно прошить ещё раз, плата должна спокойно прошиться. В проектах с мощными потребителями в цепи питания платы 5V (адресная светодиодная лента, сервоприводы, моторы и проч.) необходимо подать на схему внешнее питание 5V перед подключением Arduino к компьютеру, потому что USB не обеспечит нужный ток, если потребитель его потребует – это может привести к выгоранию защитного диода на плате Arduino.

9. Если что-то не работает – читай инструкцию, в ней описан каждый шаг и решение всех проблем. Также в самом начале есть видео, где всё показано ещё более подробно.

Заметка для тех, кто не читал инструкцию и получил какую-то ошибку. Вот список самых частых причин:

  • Не распаковал архив и запустил скетч прямо из него, получил ошибку компиляции в стиле not declared in this scope. РАСПАКУЙ АРХИВ
  • В логе ошибок встречается фраза no such file or directory – не установил библиотеки. УСТАНОВИ БИБЛИОТЕКИ
  • Происходит ошибка загрузки. ВЕРНИСЬ К ИНСТРУКЦИИ ПО НАСТРОЙКЕ IDE
  • На плате что-то греется и прошивка не грузится. ДОПУСТИЛ ОШИБКУ ПРИ СБОРКЕ, ВСЁ СГОРЕЛО
  • Установил старую или кривую версию Arduino IDE и получил непонятные ошибки – удали старую и УСТАНОВИ СВЕЖУЮ ВЕРСИЮ
  • Некоторые проекты будут работать только на тех платах, что показаны в видео и описаны на странице проекта. Под другие платы прошивка компилироваться не будет!

Содержание

  1. Скачать драйвер CP2102 для NodeMCU (ESP8266)
  2. Установка драйвера для CP2102 в Windows
  3. Проверка виртуального COM-порта
  4. USB to UART драйвер CP210x для NodeMCU (ESP8266)
  5. Установка ESP32 в Arduino IDE (руководство для ОС Windows)
  6. Первое включение:
  7. Настройка Arduino IDE:
  8. Первая программа:
  9. ESP32 и Ардуино
  10. Спецификации
  11. Цена вопроса
  12. Поддержка в Arduino IDE
  13. Добавление поддержки ESP32 в Arduino IDE
  14. Неочевидные моменты инсталляции ESP32
  15. Версии Arduino IDE
  16. Преимущества ESP32
  17. Скорость работы
  18. Прочие достоинства
  19. Примеры работы с кодом
  20. Энергонезависимая память
  21. AnalogWrite()
  22. Прочие примеры кода на ESP32
  23. Стабильность работы
  24. Arduino Mega Server для ESP32
  25. Перспективы
  26. Заключение
  27. Establish Serial Connection with ESP32В¶
  28. Connect ESP32 to PC¶
  29. Check port on Windows¶
  30. Check port on Linux and macOS¶
  31. Adding user to dialout on Linux¶
  32. Verify serial connection¶
  33. Windows and Linux¶
  34. macOS¶
  35. Example Output¶
  36. Знакомимся с ESP32, часть 1: установка в Arduino IDE
  37. Дубликаты не найдены
  38. Arduino & Pi
  39. Правила сообщества
  40. HTTP-сервер ESP8266. Основы HTML разметки, Javascript, CSS
  41. Esp8266 нужен совет

Скачать драйвер CP2102 для NodeMCU (ESP8266)

Микросхема CP2102 является мостом USB – UART, позволяющим NodeMCU обмениваться данными с компьютером с помощью USB.

Существует несколько версий NodeMCU (ESP8266) и следует удостовериться в том, что ваша версия платы имеет на борту именно чип CP2102.

Для того, чтобы определить какая у вас плата NodeMCU (ESP8266), рассмотрим рисунок, на котором приводится сравнение двух популярных плат (NodeMCU с CP2102 расположена справа). Чипы, отвечающие за связь NodeMCU с компьютером по USB, обведены красным.

NodeMcu CP2102 CH340

Установка драйвера для CP2102 в Windows

1. Подключаем NodeMCU к компьютеру при помощи кабеля USB.

2. Скачиваем архив с драйвером. В конце статьи приводятся ссылки на файлы с драйверами для операционных систем Windows и MacOS.

3. Распаковываем архив.

4. Запускаем файл с инсталлятором CP210xVCPInstaller_x64.exe для 64-битной или CP210xVCPInstaller_x86.exe для 32-битной версии Windows.

nodemcu cp2102 01

Нажмимаем кнопку «Далее» в появившемся окне.

nodemcu cp2102 02

Принимаем лицензионное соглашение.

nodemcu cp2102 03

Дожидаемся появления сообщения об успешной установке. Нажимаем кнопку «Готово».
На этом установка драйвера завершена.

Если драйвер установлен правильно, то в диспетчере устройств в разделе «Порты COM и LPT» можно увидеть виртуальный COM-порт, созданный Windows для CP2102.

Заходим в диспетчер устройств (Панель управления >> Система и безопасность >> Система >> Диспетчер устройств) и проверяем наличие драйвера CP210x USB to UART. В вашем случае номер COM-порта может быть другим.

nodemcu cp2102 04

USB to UART драйвер CP210x для NodeMCU (ESP8266)

Скачать драйвер CP210x для Windows

Скачать драйвер CP210x для Mac OS

Источник

Установка ESP32 в Arduino IDE (руководство для ОС Windows)

Первое включение:

Платы ESP 32 оснащены микроконтроллером ESP32-WROOM-32 с интерфейсом Wi-Fi, подключаются к компьютеру через WiFi или USB порт.

Настройка Arduino IDE:

Писать скетчи под микроконтроллер ESP32 можно в среде разработки «Arduino IDE», но перед загрузкой скетча нужно выбрать тип используемой платы из списка меню «Инструменты» > «Плата», а там по умолчанию нет плат ESP32. Вся настройка сводится к тому, что бы в этом списке меню появились эти платы.

В среде «Arduino IDE» имеется «Менеджер плат» который поможет быстро добавить интересующие платы в список. Для этого нужно выполнить следующие действия:

dadaafac25807ae989a8417bfebfce16

Откройте «Arduino IDE» и выберите пункт меню: «Файл» > «Настройки»

b3973291fe77635bfb5a0ea6fd83640e

В открывшемся окне заполните поле «Дополнительные ссылки для Менеджера плат» введя в него строку: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json И нажмите на кнопку «Ok».

f795c3fcea4038107f026aaf7d2762e5

Запустите «Менеджер плат» выбрав пункт меню «Инструменты» > «Плата» > «Менеджер плат».

fac2dbea24d63306fb20bb8572fdea0f

В открывшемся окне «Менеджер плат» выберите пункт «esp32 by Espressif Systems» из списка сборок и нажмите на кнопку «Установка» (при желании можно выбрать версию устанавливаемой сборки).

b8f5a288d06a2036976639e0d5557d54

Дождитесь окончания установки сборки.

f711a8431c5cb04b748eefb760e4b6f4

После успешной установки сборки, в списке, напротив её названия «esp32 by ESP32 Systems» появится фраза «INSTALLED». Закройте «Менеджер плат» нажав на кнопку «Закрыть».

На этом настройка «Arduino IDE» завершена! Теперь в списке плат есть раздел «ESP32 Arduino».

Первая программа:

026044d207823206aae3d7591b832376

Для работы с платами ESP 32 нужно в пункте меню «Инструменты» > «Плата» > «ESP32 Arduino» выбрать соответствующую плату. В нашем случае это будет Piranha ESP32.

b9166b28567039ba0356e3caf1e15681

Так же нужно выбрать COM-порт после подключения платы к компьютеру через USB порт. На рисунке выбран порт «COM10», но Вам нужно выбрать тот порт, который появился у Вас в списке доступных портов после подключения платы. Если после подключения платы новый порт не появился, значит не установлен драйвер для чипа CH340C ссылки на драйверы указаны в конце данной статьи.

Осталось загрузить скетч и проверить его работу.

1025309e82a699f2e7a5997442e1b6b9

или выбрать плату соответствующую Вашей в пункте меню «Инструменты» > «Плата» > «ESP32 Arduino»

364c5ca7a2e05c3d5914f15757df97e5

Нажмите левой кнопкой мыши на кнопку загрузки скетча в плату (или на клавиатуре + ). Начнётся компиляция и загрузка двоичного кода в микроконтроллер платы.

2ab8ca29697350b89fd7a612d9f73612

В зависимости от конфигурации системы и используемой платы, возможно понадобится перевести плату в режим программирования. Для этого зажмите на плате одновременно RESET и BOOT, а затем отпустите RESET не отпуская BOOT. Через несколько секунд можно отпустить BOOT, начнётся загрузка кода в микроконтроллер платы.

Источник

ESP32 и Ардуино

15476f44869044d9a4b37e7c8a520ef2

Случилось то, чего все так долго ждали и о чём так много говорили — новые модули ESP32 стали широко продаваться и пошли в народ. Сегодня мы поговорим об этих модулях с точки зрения непрофессионального пользователя, привыкшего работать с Ардуино и создавать небольшие проекты для домашней автоматизации или просто для удовольствия и самообучения.

Работает ли это вообще? Что там с поддержкой этих модулей в Arduino IDE? Стоит ли платить больше или лучше ограничиться ставшим уже привычным ESP8266? Мы постараемся вместе ответить на все эти вопросы, а в конце статьи я дам ссылку на реальное воплощение работы ESP32 с Ардуино — дистрибутив бесплатной версии Arduino Mega Server для платформы ESP32.

Спецификации

Я не буду здесь подробно останавливаться на спецификациях ESP32, вы без труда найдёте их в Интернет: каждый обзорщик считает своим долгом привести простыню спецификаций в начале обзора ESP32. Скажу только, что они впечатляют и если подходить к делу серьёзно и вдумчиво, то можно потратить не один год на изучение всех возможностей модуля и эксперименты с ним.

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

Цена вопроса

Начнём с цены. На данный момент модуль ESP32 в китайских интернет-магазинах стоит 350 рублей и 500 в варианте платы с обвязкой и USB интерфейсом. Это против 100 и 160 рублей для модуля ESP8266, соответственно. Как видим, разница в три с лишним раза, хотя абсолютные значения невелики, каждый, при желании, может позволить себе потратить 350 — 500 рублей на микроконтроллер. Для сравнения, Arduino Mega 2560 в том же Китае стоит 600 рублей, а в России около 1000 (плюс ещё стоимость Ethernet Shield).

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

Поддержка в Arduino IDE

Для того, чтобы что-то сделать с модулем, нужно сначала иметь его поддержку в Arduino IDE. На данный момент поддержка ESP32 в Arduino IDE находится хоть и на начальном, но вполне приличном и работоспособном уровне. Те, кто боится встретить тут непреодолимые трудности, может не беспокоиться — основные функции работают нормально и вы, скорее всего, не заметите никакой разницы по сравнению с работой на других контроллерах.

Несколько хуже дела обстоят с драйверами устройств, но это, безусловно, временное явление. Модуль настолько популярен, что поддержка любой периферии неизбежно появится в ближайшее время.

Добавление поддержки ESP32 в Arduino IDE

Теперь немного практической информации об инсталляции поддержки ESP32 в Arduino IDE. Интернет полон инструкциями на эту тему, вы их также можете в изобилии найти в нём. Замечу только, что все инструкции делятся на «старые», там, где упоминается Python и «новые», где упоминается GIT. Вам, естественно, нужно руководствоваться новыми.

Из множества инструкций лучшей можно назвать (как это ни странно) официальную инструкцию от производителя модуля.

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

Примечание. Все нижеизложенное касается инсталляции под Windows 7 64-bit, поскольку все эксперименты я производил именно на ней, в других операционных системах пути могут отличаться от указанных.

Файлы дистрибутива должны находиться в папке

где C: — это имя вашего диска с Windows, а User — это имя пользователя в операционной системе (и то и другое у вас может отличаться от указанных).

Неочевидные моменты инсталляции ESP32

Многие пользователи жалуются, что у них ничего не работает и не появляется поддержка ESP32 в Arduino IDE. Тут дело вот в чём: поскольку драйвера ESP32 только разрабатываются, то несколько изменён порядок расположения системных директорий. В качестве папки для расположения скетчей в настройках Arduino IDE должна быть указана папка

(с теми же поправками на диск и имя пользователя), а файлы дистрибутива должны располагаться внутри этой папки так, как рекомендует производитель. Если не будет учтён этот момент, то поддержка ESP32 в Arduino IDE не появится и ничего работать не будет.

Версии Arduino IDE

Часто приходится слышать, что поддержка ESP32 есть только в последних версиях Arduino IDE, это не так — ESP32 прекрасно работает в более ранних версиях, например, дистрибутив Arduino Mega Server для ESP32 разрабатывался в версии 1.6.5 r2.

Преимущества ESP32

Теперь поговорим о преимуществах ESP32 перед его предшественником, ESP8266. На таких очевидных вещах как мощность процессора и объём оперативной памяти я останавливаться не буду, скажу только, что нужно сильно постараться, чтобы загрузить ESP32 полностью на задачах DIY и домашней автоматизации.

Ахиллесовой пятой его предшественника, модуля ESP8266, было (и есть) экстремально малое количество выводов. После работы с такими контроллерами как Arduino Mega и Arduino Due с их десятками цифровых и аналоговых пинов, работа с ESP8266 вызывает недоумение: счёт GPIO идёт буквально на единицы и это сильно ограничивает применение этого модуля в реальных проектах.

image loader

ESP32 если не полностью, то в значительной степени лишён этого недостатка. Количество доступных выводов значительно увеличено, появилось также множество аналоговых входов. Полностью свободными и доступными для использования можно назвать 13 выводов

В случае необходимости к ним можно добавить ограниченно функциональные и работающие только на вход

Если пожертвовать некоторыми возможностями и не использовать в конкретных проектах Serial, SPI или I2C, то к этому числу можно добавить ещё 8 пинов

Ну и возможно удастся использовать ещё 6 выводов, которые предназначены для работы с внутренней флеш-памятью (например, если подключить внешнюю SD карту)

Как видим, с ESP8266 нет никакого сравнения — новый модуль выглядит просто отлично по количеству возможных подключений и это очень ценно в реальных проектах, в которых дорог каждый пин.

Скорость работы

Я уже упоминал мощный процессор, теперь несколько слов нужно сказать о скорости сетевой работы. Я затрудняюсь сказать с чем это связано, возможно с мощным процессором, возможно с оптимизацией сетевого стека, но модуль ESP32 под управлением Arduino Mega Server показал рекордную сетевую производительность.

image loader

Загрузка страницы с объёмным кодом CSS и JavaScript и обилием графики занимает всего одну с небольшим секунды — быстрее, чем на любом другом протестированном контроллере, включая проводные контроллеры с W5100 и W5500 Ethernet интерфейсом.

Применительно к Arduino Mega Server это снимает все ограничения на использование графики и любых JavaScript библиотек как по размеру, так и их количеству.

Прочие достоинства

ESP32 это чрезвычайно высокотехнологичное устройство, одно только сухое перечисление доступных возможностей может занять не одну страницу, а перечисление достоинств и возможностей с комментариями займёт целый том. Поэтому я на этом ограничусь, чтобы не загромождать статью и приведу несколько примеров работы с кодом на ESP32 в среде Ардуино.

Примеры работы с кодом

Энергонезависимая память

Это то, что применительно к Arduino Mega мы привыкли называть EEPROM. В ESP32 этой памяти нет как таковой, но у этого модуля есть её аналог и соответствующая библиотека для работы с ней. Называется эта память «NVS» (Non-volatile storage).

Но для нас нет никакой разницы — можно точно так же сохранять значения и читать их после выключения и последующего включения контроллера.

Пример использования. Подключаем библиотеку:

Создаём объект prefs

Инициализируем хранилище с идентификатором, например, «nvs»:

false относится в выбору режима чтение/запись, в данном случае и чтение и запись. Сохраняем байт под именем «addr»:

Читаем сохранённый байт:

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

Если разобраться, то это даже проще, чем работа со стандартной энергонезависимой памятью EEPROM на контроллерах Ардуино.

AnalogWrite()

Ещё одно нововведение, которое может поставить в тупик начинающего пользователя — в ESP32 отсутствует привычная функция AnalogWrite(). В первый момент это очень непривычно, но на самом деле эта функция всего лишь заменена своим более функциональным аналогом.

Рассмотрим пример. Начнём с подключения соответствущей библиотеки, хотя библиотекой в полном смысле слова это назвать нельзя, скорее это специализированный файл с описанием нужных функций. Дело в том, что не все функции присутствуют напрямую в Arduino IDE, часть функций доступна в файлах, находящихся в каталоге

В данном случае нас интересует файл работы с ШИМ и светодиодами, который мы подключаем следующей инструкцией:

Далее нам нужно установить номер канала (0), частоту ШИМ (например, 50 Гц) и разрешение (8 бит).

Номера каналов могут устанавливаться в диапазоне от 0 до 15, а разрешение от 1 до 16 бит. При выборе разрешения 8 бит, диапазон данных, управляющих ШИМ, будет находиться в интервале от 0 до 255.

Далее нам нужно привязать наш канал (0) к какому-либо выводу GPIO, в данном случае к выводу 22:

И нужно не забыть обычным образом настроить 22-й пин на выход.

Всё, теперь мы можем управлять, например, яркостью свечения светодиода, просто указывая номер канала и значение ШИМ (яркости) из диапазона от 0 до 255.

Прочие примеры кода на ESP32

Дистрибутив Arduino Mega Server, ссылку на который я дам в конце статьи, кроме полностью работоспособной системы являет собой обширный сборник структурированного кода, протестированный и проверенный на работоспособность на модуле ESP32. Вы можете его использовать как обучающее пособие для вхождения в тему программирования под ESP32.

Стабильность работы

Arduino Mega Server для ESP8266 имеет подтверждённые аптаймы в несколько месяцев и демонстрирует абсолютно стабильную работу и у меня нет никаких причин думать, что у модуля ESP32 могут быть какие-то проблемы со стабильностью. По крайней мере за всё время создания дистрибутива AMS для ESP32 я не наблюдал ни единого сбоя или несанкционированной перезагрузки модуля. Всё работает очень чётко и предсказуемо.

Arduino Mega Server для ESP32

Это ещё один представитель экосистемы AMS, включающей в себя контроллеры и платы Arduino Mega, Due, 101, M0, AMS Home, ESP8266, Sonoff, ESP32, OLIMEX ESP32-EVB и т. д. Благодаря мощному процессору и быстрой сетевой работе модуля ESP32, интерфейс Arduino Mega Server содержит обилие графики и скриптов и это никак не сказывается на скорости его работы — страницы загружается почти мгновенно.

d5c429e3a76b47ddb558b80b130674ef

Всё работает стабильно и предсказуемо, никаких сбоев или неадекватного поведения системы или модуля не выявлено. Ниже приведён лог загрузки AMS, из которого можно узнать некоторые подробности о системе.

image loader

Температура модуля, измеряемая встроенным датчиком температуры колеблется от 50 градусов Цельсия при старте до 55 градусов в процессе работы. Во время работы ток потребления модуля составляет около 130 мА.

Перспективы

87891b9324f44c0f8973ca0a119ca761

Заключение

Вот, собственно и всё, что я могу сказать о новом модуле ESP32 и его работе с Ардуино. Впечатления он оставляет исключительно положительные, мне по крайней мере, было очень приятно и интересно с ним работать. Немного портит картину отсутствие библиотек для поддержки датчиков и периферии, но это временное явление и вскоре с этим всё будет в порядке.

Источник

Establish Serial Connection with ESP32В¶

This section provides guidance how to establish serial connection between ESP32 and PC.

Connect ESP32 to PC¶

Connect the ESP32 board to the PC using the USB cable. If device driver does not install automatically, identify USB to serial converter chip on your ESP32 board (or external converter dongle), search for drivers in internet and install them.

Below is the list of USB to serial converter chips installed on most of the ESP32 boards produced by Espressif together with links to the drivers:

Please check the board user guide for specific USB to serial converter chip used. The drivers above are primarily for reference. Under normal circumstances, the drivers should be bundled with an operating system and automatically installed upon connecting the board to the PC.

Check port on Windows¶

Check the list of identified COM ports in the Windows Device Manager. Disconnect ESP32 and connect it back, to verify which port disappears from the list and then shows back again.

Figures below show serial port for ESP32 DevKitC and ESP32 WROVER KIT

esp32 devkitc in device manager1

USB to UART bridge of ESP32-DevKitC in Windows Device Manager В¶

esp32 wrover kit in device manager1

Two USB Serial Ports of ESP-WROVER-KIT in Windows Device Manager В¶

Check port on Linux and macOS¶

To check the device name for the serial port of your ESP32 board (or external converter dongle), run this command two times, first with the board / dongle unplugged, then with plugged in. The port which appears the second time is the one you need:

Adding user to dialout on Linux¶

The currently logged user should have read and write access the serial port over USB. On most Linux distributions, this is done by adding the user to dialout group with the following command:

on Arch Linux this is done by adding the user to uucp group with the following command:

Make sure you re-login to enable read and write permissions for the serial port.

Verify serial connection¶

Now verify that the serial connection is operational. You can do this using a serial terminal program by checking if you get any output on the terminal after reseting ESP32.

Windows and Linux¶

In this example we will use PuTTY SSH Client that is available for both Windows and Linux. You can use other serial program and set communication parameters like below.

Run terminal, set identified serial port, baud rate = 115200, data bits = 8, stop bits = 1, and parity = N. Below are example screen shots of setting the port and such transmission parameters (in short described as 115200-8-1-N) on Windows and Linux. Remember to select exactly the same serial port you have identified in steps above.

putty settings windows1

Setting Serial Communication in PuTTY on Windows В¶

putty settings

Setting Serial Communication in PuTTY on Linux В¶

Then open serial port in terminal and check, if you see any log printed out by ESP32. The log contents will depend on application loaded to ESP32, see Example Output.

Close the serial terminal after verification that communication is working. If you keep the terminal session open, the serial port will be inaccessible for uploading firmware later.

macOS¶

To spare you the trouble of installing a serial terminal program, macOS offers the screen command.

You should see similar output:

The output will vary depending on the type and the number of boards connected to your PC. Then pick the device name of your board and run:

Do not forget to exit the screen session after verifying that the communication is working. If you fail to do it and just close the terminal window, the serial port will be inaccessible for uploading firmware later.

Example Output¶

An example log by ESP32 is shown below. Reset the board if you do not see anything.

If you can see readable log output, it means serial connection is working and you are ready to proceed with installation and finally upload of application to ESP32.

For some serial port wiring configurations, the serial RTS & DTR pins need to be disabled in the terminal program before the ESP32 will boot and produce serial output. This depends on the hardware itself, most development boards (including all Espressif boards) do not have this issue. The issue is present if RTS & DTR are wired directly to the EN & GPIO0 pins. See the esptool documentation for more details.

Источник

Знакомимся с ESP32, часть 1: установка в Arduino IDE

Всем привет! С этого поста я начинаю серию «Знакомимся с ESP32». В этой части я опишу сам микроконтроллер, а так же процесс установки в Arduino IDE. Поехали!

1509176387191194418

-Двухъядерный 32-х битный процессор, работающий на частоте 80, 160 или 240 МГц (ну плюс ещё одно энергосберегающее ядро с урезанным набором команд и на частоте 32 КГц)

-448 КБ flash-памяти (на самом деле доступно больше, рассмотрим далее)

-Дополнительно внешняя flash-память на 4-16 МБ (о чём я говорил ранее)

-Wi-Fi 802.11n с максимальной скоростью 150 Мбит в секунду

-BT 4.2 BR/EDR и Low Energy

-Встроенный датчик температуры

-Инфракрасный контроллер, причём, как на приём, так и на передачу

-PWM на всех портах вроде

-Встроенный датчик Холла

-Куча периферии для криптографии (шифровальщики, хешеры, ГСЧ)

А так же энергопотребление:

-При передаче Wi-Fi 160-260 мА

-Без Wi-Fi и BT 20 мА

-Режим «мягкого» сна 0.8 мА

-Режим «глубокого» сна 10 мкА

-Гибернизация со включенным ядром низкого энергопотребления 5 мкА

АХТУНГ! Вы часто будете встречать слово RTC при использовании ESP32. Однако, это не Real Time Clock, а ядро низкого энергопотребления.

Я заказал отладочную плату на Али, которая обошлась мне в 335 рублей, это без доставки.

1. Скачиваем Arduino IDE

2. Устанавливаем Git с сайта

3. Запускаем Git GUI

3.1. Выбираем Clone Existing Repository

3.2. В Source Location пишем

3.3. В Target Directory пишем

4. Открываем директорию

и запускаем файл get.exe

5. Подключаем нашу плату

5.1. Если драйвера сами не установились, то устанавливаем драйвера для CP210x (у меня был CP2102) отсюда

6. Запускаем Arduino IDE

7. Выбираем плату в Tools > Board (Инструменты > Плата) (У меня DOIT ESP32 DEVKIT V1)

8. Выбираем COM-порт, в который установилась плата

8.1. Как определить порт?

8.1.1. Открываем диспетчер устройств

8.1.2. Раскрываем группу «Порты (COM и LPT)»

8.1.3. Смотрим название устройств. Среди них должно быть что-то подобное

1509175842136152384

9. Выбираем любой пример (например, вот)

10. Загружаем, нажав Ctrl+U

10.1. В некоторых инструкциях говорят, что во время загрузки нужно нажать кнопку BOOT на плате. Однако, у меня всё завелось и без неё.

Поздравляю, теперь вы загрузили свою первую программу на ESP32! Ждите следующих частей, в которых я расскажу некоторые тонкости и трудности, с которыми я столкнулся.

Дубликаты не найдены

152152692524870827

Arduino & Pi

1K поста 18K подписчиков

Правила сообщества

В нашем сообществе запрещается:

• Добавлять посты не относящиеся к тематике сообщества, либо не несущие какой-либо полезной нагрузки (флуд)

• Задавать очевидные вопросы в виде постов, не воспользовавшись перед этим поиском

• Рассуждать на темы политики

> «-Двухъядерный 32-х битный процессор, работающий на частоте 80, 160 или 240 МГц (ну плюс ещё одно энергосберегающее ядро с урезанным набором команд и на частоте 32 КГц)»

Это разные версии платы или программно регулируется?

подписался. Плату купил, хочу поковыряться с ней.

Просадки питания можно победить, попробуй поставить электролит 100 мкФ на вход. Важно чтобы он был на проходе БП->стаб.

Набрасывался на этот вопрос пару раз, но так и не понял, есть ли в ЕПС32 RTC, тот что Real Time Clock с батарейным бэкапом.

Про ядро понятно, а про часы нет.

Очень жаль. DS3231 нам в помощь.

Чукча не писатель, тут уж извините. Текст ориентирован на тех, кто знаком с Arduino, но совсем не знаком с ESP32

Пытался и boot зажимать при прошивке и при старте. Уже совсем голову сломал.. может плата бракованная?

Привет! В сети есть инструкции, как прошить Pro mini через Nano. Удобно, когда нет программатора. Пользовался несколько раз.

Сейчас в наличии esp32 и надо прошить pro mini. Опыта с 32 почти нет. Подскажите, можно ли и как прошить про мини через исп32?

У ESP32 точно такие же цифровые входы-выходы, дайте мне пару часов, я вам отвечу, в принципе просто должно быть.

Здравствуйте! подскажите пожалуйста что я делаю не так

заливаю скетч в ESP8266 в котором указаны данные моего модема/роутера, то есть имя сети и пароль, но после заливки плата работает (со смартфона) только в на расстоянии сигнала от роутера, то есть если уехать в другой город то связи не будет, а моя идея такая: написать скетч, под ЕСП8266 и со смартфона включать приборы

1574502488180899881

Каким вы способом собираетесь прошивать Pro Mini? Как SPI-программатор или как UART-конвертер?

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

Надо с чего-то начинать с этой esp32. Пока только осилил заливку собранной прошивки с wifi-iot.com для WiFi радио.

Кто мешает вам извратиться и хранить переменные на SD-карте?)

Здравый смысл? Да можно конечно организовать своп, но зачем?

а как двухядерный процессор работает там? в ардуино вроде нет многопоточности

Одно ядро занимается задачами BT/Wi-Fi, на втором крутится прошивка. Если бы двухъядерности не было, то программа бы зависала на время работы Wi-Fi/BT

Собственно, как это есть в 8266. BT и I2S ковыряли?

Пока нет. Ждите следующие части 🙂

Лежит такая, поставил туда espruino, там и npm-модули и программировать не на огрызке от C, а на JavaScript полноценном, удобно.

uCLinux наверное можно, не помню есть ли MMU. Но зачем? Если сдк из коробки дает FreeRTOS.

Так. Спасибо за идею.

не знаешь случайно есть ли у этого микроконтроллера аналоги от ST Microelectronics или On Semiconductor.

Конечно! Два 32-битных ядра, встроенные Wi-Fi и Bluetooth, куча других прибамбасов, другая архитектура процессора. Простите, вы видимо невнимательно пост читали

А зачем она нужна? для майнинга что-ли?

m3019465 916757295

152152692524870827

HTTP-сервер ESP8266. Основы HTML разметки, Javascript, CSS

Сегодня поговорим о том, как сделать HTTP-сервер ESP8266. Рассмотрим основы HTML разметки и Javascript, CSS.

Исходные материалы данного урока тут.

На основе полученных данных можно сделать более интересные вещи.

Веб-сервер ESP32 (ESP8266) в среде Arduino IDE

Исходные материалы данного урока тут.

Подключаем DHT11, DHT22 к ESP32, ESP8266. Выводим показание на веб-странице.

Исходные материалы данного урока тут.

ESP32 и ESP8266 выводим статус на веб страницу и на OLED дисплей

Исходные материалы данного урока тут.

Надеюсь моя информация будет полезной.

Спасибо! Всем добра!

152152692524870827

Esp8266 нужен совет

Прошу совета у ардуинщиков и еспешников.

Второй год занимаюсь с соседскими детьми Ардуинками частным образом. Дети от 6 до 9 класса. Ребята уже соображают лучше меня.

В основном собирают метеоприборы, но есть и другое. Работаем с уно, нано, мега. В прошлом году закупил esp32 и esp8266. Несколько esp32 использовали для светодиодных матриц 2812b. Другие для сбора данных с датчиков bme280, 1750, uv и других. Через телефон или на дисплей. Короче все работало по sda и scl.

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

Релюшки управляемые нулем и единицей отказываются переключаться от esp8266 и d1 mini. От есп32, меги, уно, нано работают.

Даже самый примитивный код типа:

void setup() <
pinMode(13, OUTPUT);
>
void loop() <
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000);
>

не работает. На еsp8266 нумерация gpio не совпадает с d или пином. Проверяли разные номера. Подключали к разным пинам. Например, ставили пин 4, цепляли рабочий светодиод ко всем выводам, кроме питания и земли поочередно. Ставили принтлайн, в мониторе порта показывается переключение.

Несколько детей и я ищем решение по тематическим форумам. Везде указывают на несоответствие gpio нумерации и нумерации пинов. Например gpio2 это пин 4.

Контроллеры и датчики через i2c работают отлично. А вот на пинах пусто.

Проблема еще в том, что сейчас нано, уно подорожали сильно. Закупил для ребят с Али больше 10 esp8266 версии 340 (у меня 2101).

Ребята получат контроллеры, которыми не смогут выдавать сигналы на пины.

Куда копать, как заставить esp8266 менять состояние пинов? Вернеее не так. Как определить какой именно номер d будет переключаться по команде на пин 2?

Плату в АрдуиноИДЕ версии 1.8.5 я выбираю правильно. Порт и скорост так же.

Источник

Post Reply

  • Print view

Advanced search

2 posts
• Page 1 of 1

Herman Overgaauw

Posts: 1
Joined: Sun Apr 01, 2018 3:03 pm

CP210x_Universal_Windows_Driver

  • Quote

Postby Herman Overgaauw » Mon Apr 09, 2018 12:07 pm

I bought a esp32-pico-kit-dev-board-v4
I installed esp32_win32_msys2_environment_and_toolchain-20180110
and I installed with CP210xVCPInstaller_x86.exe the USBtoCOM driver.
I was able to compile the Hello_world sample.
But when I connect the esp32-pico-kit-dev-board-v4 the USB driver is not recognized by Windows 10 Home.

only for the Ardduino toolkit exists a COM4

How can I solve this problem?

Top


Reiner1210

Posts: 39
Joined: Tue Mar 20, 2018 6:28 pm

Re: CP210x_Universal_Windows_Driver

  • Quote

Postby Reiner1210 » Mon Apr 09, 2018 9:50 pm

Install the driver

https://www.silabs.com/products/develop … cp-drivers

and look in the device manager which COM port it uses

Top


Display posts from previous:
Sort by

Post Reply

  • Print view

2 posts
• Page 1 of 1

Return to “ESP-IDF”


Jump to

  • English Forum
  •    Explore
  •       News
  •       General Discussion
  •          全国大学生物联网设计竞赛乐鑫答疑专区
  •       FAQ
  •    Documentation
  •       Documentation
  •       Sample Code
  •    Discussion Forum
  •       Hardware
  •       ESP-IDF
  •       ESP-BOX
  •       ESP-ADF
  •       ESP-MDF
  •       ESP-WHO
  •       ESP-SkaiNet
  •       ESP32 Arduino
  •       IDEs for ESP-IDF
  •       ESP-AT
  •       ESP IoT Solution
  •       ESP RainMaker
  •       Rust
  •       Report Bugs
  •       Showcase
  • Chinese Forum 中文社区
  •    活动区
  •       乐鑫活动专区
  •    讨论区
  •       ESP-IDF 中文讨论版
  •       《ESP32-C3 物联网工程开发实战》书籍讨论版
  •       ESP-AT 中文讨论版
  •       ESP-BOX 中文讨论版
  •       ESP IoT Solution 中文讨论版
  •       ESP-ADF 中文讨论版
  •       ESP-MDF 中文讨论版
  •       ESP Cloud 中文讨论版
  •       ESP-WHO 中文讨论版
  •       ESP-SkaiNet 中文讨论版
  •       ESP 生产支持讨论版
  •       硬件问题讨论
  •       项目展示

Who is online

Users browsing this forum: Bing [Bot], ESP_Sprite, georgatos7 and 43 guests

Установка ESP32 в Arduino IDE (руководство для ОС Windows)

Для среды Arduino IDE существует дополнение, которое позволяет программировать модуль ESP32. В этом руководстве мы покажем, как установить плату с ESP32 в Arduino IDE, работающую на ОС Windows.

Установка дополнения для ESP32 в Arduino IDE

Важно: перед началом установки убедитесь, что ваша среда Arduino IDE обновлена до актуальной версии. Если нет, то рекомендуется удалить и установить актуальную версию. Если у вас установлена старая версия среды Arduino IDE, то у вас может не получится настроить.

После установки последней версии Arduino IDE из источника, вы можете продолжить изучение руководства.

ВАЖНОЕ ПРИМЕЧАНИЕ:

  1. Если вы впервые устанавливаете поддержку ESP32 микроконтроллера в среде разработки Arduino IDE, то просто выполните нижеприведённые инструкции.
  2. Если вы уже установили дополнение ESP32 используя старый способ, то вам необходимо сначала удалить папку «espressif». Ниже вы сможете найти инструкцию как это сделать.

Установка ESP32 в Менеджере плат

Чтобы установить ESP32 в среду Arduino IDE, выполните следующее.

1) Откройте окно настроек в среде Arduino IDE. Выберите пункт меню «Файл > Настройки» («File > Preferences»).

Установка ESP32 в Arduino IDE (руководство для ОС Windows)

2) В поле «Дополнительные ссылки для Менеджера плат» (Additional Boards Manager URLs) скопируйте адрес

https://dl.espressif.com/dl/package_esp32_index.json

Затем нажмите кнопку «OK».

Установка ESP32 в Arduino IDE (руководство для ОС Windows)

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

https://dl.espressif.com/dl/package_esp32_index.json, http://arduino.esp8266.com/stable/package_esp8266com_index.json

3) Откройте менеджер плат. Нажмите «Инструменты > Плата > Менеджер плат» («Tools > Boards > Boards Manager»).

Установка ESP32 в Arduino IDE (руководство для ОС Windows)

4) Введите в поиске «ESP32» и нажмите кнопку «Установка» (Install) для «ESP32 by Espressif Systems».

Установка ESP32 в Arduino IDE (руководство для ОС Windows)

5) Готово. Дополнение должно установиться за несколько секунд.

Удаление папки «espressif»

Если вы впервые устанавливаете поддержку микроконтроллера ESP32 в среду Arduino IDE, то вы можете проигнорировать этот раздел.

Если уже вы выполнили старые инструкции и вручную установили дополнение ESP32 посредством системы управления версиями Git с графическим интерфейсом, то вам необходимо удалить папку «espressif» из среды Arduino IDE.

Чтобы найти папку «espressif» и папку, где установлена Arduino IDE (путь установки), запустите среду разработки и выберите пункт меню «Файл > Настройки» («File > Preferences»).

Установка ESP32 в Arduino IDE (руководство для ОС Windows)

Скопируйте адрес из поля «Размещение папки скетчей» («Sketchbook location»).

Пройдите в папку, где установлена среда Arduino IDE: «C:UsersruisantosDocumentsArduino» и откройте папку «hardware».

Установка ESP32 в Arduino IDE (руководство для ОС Windows)

Затем удалите папку «espressif».

Проверка установки

Подключите плату ESP32 к компьютеру. Затем выполните следующее:

1) Запустите среду Arduino IDE.

2) Пройдите в меню «Инструменты > Плата» («Tools > Board») и выберите свою плату (в нашем случае это DOIT ESP32 DEVKIT V1)

Установка ESP32 в Arduino IDE (руководство для ОС Windows)

3) Выберите порт в меню «Порт» («Port») (если вы не видите COM-порт в среде Arduino IDE, то вам необходимо установить драйвер для адаптера CP210x USB to UART Bridge VCP).

4) Откройте следующий пример «Файл > Примеры > WiFi (ESP32) > WiFi Scan» («File > Examples > WiFi (ESP32) > WiFi Scan»).

Установка ESP32 в Arduino IDE (руководство для ОС Windows)

5) Откроется новый готовый пример.

Установка ESP32 в Arduino IDE (руководство для ОС Windows)

6) Нажмите кнопку «Загрузка» («Upload») в среде Arduino IDE. Подождите несколько секунд, пока код компилируется и загружается в плату.

7) Если всё прошло, как ожидается, то вы должны увидеть сообщение «Done uploading» (Загрузка завершена).

Установка ESP32 в Arduino IDE (руководство для ОС Windows)

8) Откройте окно последовательного COM-порта (Serial Monitor) среды Arduino IDE и настройте скорость передачи на 115 200 бод.

9) Нажмите кнопку «Enable» на плате с микроконтроллером ESP32, после этого вы должны увидеть сети, доступные для ESP32.

Установка ESP32 в Arduino IDE (руководство для ОС Windows)

Заключение

В этом руководстве показаны только основы подготовки среды разработки Arduino IDE на ПК с ОС Windows для работы с микроконтроллером ESP32.

Самые популярные материалы в блоге

За все время

За сегодня

Вольтик — это слаженная команда амбициозных и заядлых инженеров. Мы создали этот проект с целью вовлечения вас, талантливых и начинающих профессионалов, в увлекательный мир мейкерской микроэлектроники!

Понравилась статья? Поделить с друзьями:
  • Event id 1001 windows error reporting
  • Excel 2019 скачать бесплатно для windows 7 x64
  • Event filter with query select from instancemodificationevent windows 7 x64
  • Excel 2016 скачать бесплатно для windows 7 64 бит на русском
  • Eve online тормозит на windows 10