Установка платы ESP32 в Arduino IDE

Начало работы

Контроллеры на основе ESP32
Anydy

Установка платы ESP32 в Arduino IDE

#1

Сообщение Anydy » 17.11.2018{, 01:28}

Как включить поддержку плат ESP32 в Arduino IDE.

Для Arduino IDE есть надстройка, которая позволяет вам программировать ESP32 с помощью Arduino IDE и его языка программирования.
Важно: перед началом этой процедуры установки желательно установите ​​последнюю версия IDE Arduino.
Чтобы установить плату ESP32 в вашу среду разработки Arduino, выполните следующие инструкции:
1) Откройте окно настроек из IDE Arduino. Перейдите в меню « Файл» > « Настройки».
2) Введите https://dl.espressif.com/dl/package_esp32_index.json в поле «Дополнительные адреса для менеджера плат».
Примечание. Если у вас уже есть URL-адрес для плат ESP8266, вы можете разделить URL-адреса запятой следующим образом:
https://dl.espressif.com/dl/package_esp32_index.json, http://arduino.esp8266.com/stable/packa ... index.json
3) Откройте меню « Инструменты» > « Плата» > « Менеджер плат» ...
4) Найдите в поиске ESP32 и нажмите кнопку установки для « ESP32 от Espressif Systems »
5) Дождитесь скачивания и установки. Все должно быть установлено через некоторое время.
Вам станут доступны различные платы с ESP32 на борту.
Есть еще один способ с использованием Git, если надо скину ссылку...

Теперь можно подключать плату с ESP32 по USB и программировать ее через Arduino IDE.

Так же можно ее программировать из FLProg, чуть позже проверю....

Аватара пользователя
Psix_anp
Рядовой
Сообщения: 50
Зарегистрирован: 03.11.2017{, 17:56}
Репутация: 2
Откуда: Анапа
Имя: Сергей

Установка платы ESP32 в Arduino IDE

#2

Сообщение Psix_anp » 17.11.2018{, 11:37}

Надо бы попробовать, ну тогда еще бы блоки лоры))) у меня как раз гибрид

Аватара пользователя
o_l_e_g64
Рядовой
Сообщения: 12
Зарегистрирован: 04.01.2018{, 16:58}
Репутация: 0

Установка платы ESP32 в Arduino IDE

#3

Сообщение o_l_e_g64 » 12.12.2018{, 15:46}

а кто нибудь занимался такими esp? Изображение
Вложения
Скриншот 12-12-2018 173737.png
Скриншот 12-12-2018 173737.png (122.66 КБ) 5017 просмотров

Anydy

Установка платы ESP32 в Arduino IDE

#4

Сообщение Anydy » 24.01.2019{, 13:49}

av писал(а):
24.01.2019{, 13:23}
как там насчет программирования ЕСП32 на FLProg ? Есть ли продвижение по теме ?
Этот вопрос скорее Автору программы нужно задавать.....
У вас что то не получается?
ESP32 можно программировать как и ESP8266 с небольшими "костылями" в коде...
В общем мне ESP32 понравилась, нужно добавлять в FLProg!

aidar_i
Полковник
Сообщения: 3120
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 674
Откуда: Уфа
Имя: Айдар
Контактная информация:

Установка платы ESP32 в Arduino IDE

#5

Сообщение aidar_i » 24.01.2019{, 17:36}

Да, я тоже за. Тем более,что модуль на подходе.

starmos
Сержант
Сообщения: 114
Зарегистрирован: 11.04.2016{, 15:46}
Репутация: 13
Откуда: Челябинск

Установка платы ESP32 в Arduino IDE

#6

Сообщение starmos » 06.02.2019{, 09:36}

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

Andropa
Рядовой
Сообщения: 54
Зарегистрирован: 13.12.2018{, 14:22}
Репутация: 0
Имя: Andron

Установка платы ESP32 в Arduino IDE

#7

Сообщение Andropa » 03.03.2019{, 04:14}

Anydy писал(а):
24.01.2019{, 13:49}
av писал(а):
24.01.2019{, 13:23}
как там насчет программирования ЕСП32 на FLProg ? Есть ли продвижение по теме ?
Этот вопрос скорее Автору программы нужно задавать.....
У вас что то не получается?
ESP32 можно программировать как и ESP8266 с небольшими "костылями" в коде...
В общем мне ESP32 понравилась, нужно добавлять в FLProg!
День добрый пробую данные платы пришла с Китая пачка модулей , заказывал вемосы , киты потошибке положили три платы с названием wemos d1 r 32 , подключение к точки доступа не проходит при помощи блоков для есп , не могли бы вы уточнить какие " костыли " использовали. Делаю в данный момент проэкт автоматизации теплиц со всеми вытекающими последствиями( использую датчики дс 18 б20 дхт 22 , мхз 19 люкс метры , tds ,ec , ph ,кислородные углекислотные контролееры , помпы высокого давления ,перестальтические насосы , iot ,мониторинг, планирую добавить дачик окислительно восстановительного потенциала и будет фарш полный !!,код не маленткий вышел , и хотелось бы задействовать чип помощнее .в данный момент использую плату меги с распаяным модулем есп и внешней антенной

aidar_i
Полковник
Сообщения: 3120
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 674
Откуда: Уфа
Имя: Айдар
Контактная информация:

Установка платы ESP32 в Arduino IDE

#8

Сообщение aidar_i » 03.03.2019{, 08:39}

Сперва нужно поменять библиотеки.
СпойлерПоказать
# include < ESP8266WiFi.h >
на
# include < WiFi.h >

# include < ESP8266WebServer.h >
на
# include < WebServer.h >

https://github.com/zhouhan0126/WebServer-esp32
И это добавить https://github.com/zhouhan0126/DNSServer---esp32
Блоки WiFiManager тоже работают после замены.

Аватара пользователя
AVGN
Капитан
Сообщения: 727
Зарегистрирован: 03.02.2017{, 12:23}
Репутация: 56

Установка платы ESP32 в Arduino IDE

#9

Сообщение AVGN » 03.03.2019{, 16:41}

Вовремя сегодня подняли тему, по рекомендации Anydy, все встало для ID 1.8.1
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн

Аватара пользователя
dimonsustr
Рядовой
Сообщения: 39
Зарегистрирован: 15.03.2018{, 14:39}
Репутация: 1
Имя: Dima

Установка платы ESP32 в Arduino IDE

#10

Сообщение dimonsustr » 02.08.2019{, 18:25}

Пока ESP32 официально не присутствует в FLProg, пытаюсь запустить с костылями. Подскажите гуру IDE, на что менять библиотеки, фото прилагаю. ESP8266WiFi.h и ESP8266WebServer.h понятно на что, а остальные? Как это вообще правильно сделать?
СпойлерПоказать
Изображение

aidar_i
Полковник
Сообщения: 3120
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 674
Откуда: Уфа
Имя: Айдар
Контактная информация:

Установка платы ESP32 в Arduino IDE

#11

Сообщение aidar_i » 02.08.2019{, 19:26}

Попробуйте поменять на
ESP8266mDNS.h -> ESPmDNS.h
ESP8266HTTPUpdateSerwer.h -> HTTPUpdate.h
Остальные вроде имеют одинаковые названия или одну и ту же библиотеку.
Ничего качать и устанавливать не надо. Всё уже у Вас установлено.
Попробуйте скомпилировать, гарантии 100% что заработает - нет. Внутри библиотек не копался. Лучше выложите скетч и ошибки при компиляции.
Последний раз редактировалось aidar_i 02.08.2019{, 22:13}, всего редактировалось 1 раз.

Аватара пользователя
dimonsustr
Рядовой
Сообщения: 39
Зарегистрирован: 15.03.2018{, 14:39}
Репутация: 1
Имя: Dima

Установка платы ESP32 в Arduino IDE

#12

Сообщение dimonsustr » 02.08.2019{, 21:51}

aidar_i писал(а):
02.08.2019{, 19:26}
Лучше выложите скетч и ошибки при компиляции.
СпойлерПоказать
#include <WiFi.h>
extern "C" {
#include "user_interface.h";
}
extern "C" {
#include "user_interface.h"
}
os_timer_t watchDogTimer;
int _PWDC = 0;
bool ESP8266ControllerWifiClient_HRD = 0;
bool ESP8266ControllerWifiClient_status = 1;
bool ESP8266ControllerWifiClient_isDHCP = 1;
bool ESP8266ControllerWifiClient_IsNeedReconect = 0;
bool ESP8266ControllerWifiClient_workStatus = 1;
char ESP8266ControllerWifiClient_SSID[40] = "";
char ESP8266ControllerWifiClient_password[40] = "";
IPAddress ESP8266ControllerWifiClient_ip(0, 0, 0, 0);
 IPAddress  ESP8266ControllerWifiClient_dns (0, 0, 0, 1);
 IPAddress  ESP8266ControllerWifiClient_gateway (0, 0, 0, 1);
IPAddress ESP8266ControllerWifiClient_subnet (255, 255, 255, 0);
 uint8_t ESP8266ControllerWifiClient_mac[6] = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0};
bool _gen1I = 0;
bool _gen1O = 0;
unsigned long _gen1P = 0UL;
void setup()
{
WiFi.mode(WIFI_STA);
_esp8266WifiModuleClientReconnect();
satrtWachDogTimer();
pinMode(2, OUTPUT); 

}
void loop()
{_PWDC = 0;
if(ESP8266ControllerWifiClient_IsNeedReconect) {_esp8266WifiModuleClientReconnect(); ESP8266ControllerWifiClient_IsNeedReconect = 0; }
ESP8266ControllerWifiClient_status = WiFi.status() == WL_CONNECTED;
if (ESP8266ControllerWifiClient_status) { if ( ! ESP8266ControllerWifiClient_HRD) { ESP8266ControllerWifiClient_ip =  WiFi.localIP();
ESP8266ControllerWifiClient_subnet =  WiFi.subnetMask();
ESP8266ControllerWifiClient_gateway =  WiFi.gatewayIP();
ESP8266ControllerWifiClient_dns =  WiFi.dnsIP();
WiFi.macAddress(ESP8266ControllerWifiClient_mac);
ESP8266ControllerWifiClient_HRD = 1;
}} else {ESP8266ControllerWifiClient_HRD = 0;}





//Плата:1
if (1) { if (! _gen1I) { _gen1I = 1; _gen1O = 1; _gen1P = millis(); } } else { _gen1I = 0 ; _gen1O= 0;}
 if (_gen1I) {  if ( _isTimer ( _gen1P , 500 )) { _gen1P = millis(); _gen1O = ! _gen1O;}}
digitalWrite(2, _gen1O);




}
bool _isTimer(unsigned long startTime, unsigned long period )
  {
  unsigned long currentTime;
currentTime = millis();
if (currentTime>= startTime) {return (currentTime>=(startTime + period));} else {return (currentTime >=(4294967295-startTime+period));}
  }

void wachDogTimerTick(void *pArg) {
if (_PWDC >= 100){ ESP.reset(); }else{_PWDC = _PWDC+1;}
} 
void satrtWachDogTimer(void ) {
os_timer_setfn(&watchDogTimer, wachDogTimerTick, NULL);
os_timer_arm(&watchDogTimer, 100, true);
} 
int hexStrToInt(String instring)
{
  byte len = instring.length();
  if  (len == 0) return 0;
  int result = 0;
  for (byte i = 0; i < 8; i++)   // только первые 8 цыфар влезуть в uint32
  {
    char ch = instring;
    if (ch == 0) break;
    result <<= 4;
    if (isdigit(ch))
      result = result | (ch - '0');
    else result = result | (ch - 'A' + 10);
  }
  return result;
}
 void _esp8266WifiModuleClientReconnect()
{
 if( _checkMacAddres(ESP8266ControllerWifiClient_mac)) {  wifi_set_macaddr(0, const_cast<uint8*>(ESP8266ControllerWifiClient_mac));}
if( ESP8266ControllerWifiClient_isDHCP) { WiFi.config(0U, 0U, 0U, 0U, 0U); } else { 
WiFi.config(ESP8266ControllerWifiClient_ip, ESP8266ControllerWifiClient_gateway, ESP8266ControllerWifiClient_subnet, ESP8266ControllerWifiClient_dns , ESP8266ControllerWifiClient_dns );
}
 WiFi.begin(ESP8266ControllerWifiClient_SSID, ESP8266ControllerWifiClient_password);
}
bool _checkMacAddres(byte array[])
{
  bool result = 0;
  for (byte i = 0; i < 6; i++)
  {
    if (array == 255) {
      return 0;
    }
    if (array > 0 ) {
      result = 1;
    }
  }
  return result;
}
СпойлерПоказать
Изображение

User_interface.h не находит :smile37:
проект простейший:
СпойлерПоказать
Изображение

aidar_i
Полковник
Сообщения: 3120
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 674
Откуда: Уфа
Имя: Айдар
Контактная информация:

Установка платы ESP32 в Arduino IDE

#13

Сообщение aidar_i » 02.08.2019{, 22:07}

Удалите эти строки.
extern "C" {
#include "user_interface.h";
}

Аватара пользователя
dimonsustr
Рядовой
Сообщения: 39
Зарегистрирован: 15.03.2018{, 14:39}
Репутация: 1
Имя: Dima

Установка платы ESP32 в Arduino IDE

#14

Сообщение dimonsustr » 02.08.2019{, 22:19}

aidar_i писал(а):
02.08.2019{, 22:07}
Удалите эти строки.
extern "C" {
#include "user_interface.h";
}
пока не помогает:
СпойлерПоказать
#include <WiFi.h>
bool ESP8266ControllerWifiClient_HRD = 0;
bool ESP8266ControllerWifiClient_status = 1;
bool ESP8266ControllerWifiClient_isDHCP = 1;
bool ESP8266ControllerWifiClient_IsNeedReconect = 0;
bool ESP8266ControllerWifiClient_workStatus = 0;
char ESP8266ControllerWifiClient_SSID[40] = "";
char ESP8266ControllerWifiClient_password[40] = "";
IPAddress ESP8266ControllerWifiClient_ip(0, 0, 0, 0);
 IPAddress  ESP8266ControllerWifiClient_dns (0, 0, 0, 1);
 IPAddress  ESP8266ControllerWifiClient_gateway (0, 0, 0, 1);
IPAddress ESP8266ControllerWifiClient_subnet (255, 255, 255, 0);
 uint8_t ESP8266ControllerWifiClient_mac[6] = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0};
bool _gen1I = 0;
bool _gen1O = 0;
unsigned long _gen1P = 0UL;
void setup()
{
WiFi.mode(WIFI_STA);
_esp8266WifiModuleClientReconnect();
pinMode(2, OUTPUT); 

}
void loop()
{if(ESP8266ControllerWifiClient_IsNeedReconect) {_esp8266WifiModuleClientReconnect(); ESP8266ControllerWifiClient_IsNeedReconect = 0; }
ESP8266ControllerWifiClient_status = WiFi.status() == WL_CONNECTED;
if (ESP8266ControllerWifiClient_status) { if ( ! ESP8266ControllerWifiClient_HRD) { ESP8266ControllerWifiClient_ip =  WiFi.localIP();
ESP8266ControllerWifiClient_subnet =  WiFi.subnetMask();
ESP8266ControllerWifiClient_gateway =  WiFi.gatewayIP();
ESP8266ControllerWifiClient_dns =  WiFi.dnsIP();
WiFi.macAddress(ESP8266ControllerWifiClient_mac);
ESP8266ControllerWifiClient_HRD = 1;
}} else {ESP8266ControllerWifiClient_HRD = 0;}





//Плата:1
if (1) { if (! _gen1I) { _gen1I = 1; _gen1O = 1; _gen1P = millis(); } } else { _gen1I = 0 ; _gen1O= 0;}
 if (_gen1I) {  if ( _isTimer ( _gen1P , 500 )) { _gen1P = millis(); _gen1O = ! _gen1O;}}
digitalWrite(2, _gen1O);




}
bool _isTimer(unsigned long startTime, unsigned long period )
  {
  unsigned long currentTime;
currentTime = millis();
if (currentTime>= startTime) {return (currentTime>=(startTime + period));} else {return (currentTime >=(4294967295-startTime+period));}
  }
int hexStrToInt(String instring)
{
  byte len = instring.length();
  if  (len == 0) return 0;
  int result = 0;
  for (byte i = 0; i < 8; i++)   // только первые 8 цыфар влезуть в uint32
  {
    char ch = instring;
    if (ch == 0) break;
    result <<= 4;
    if (isdigit(ch))
      result = result | (ch - '0');
    else result = result | (ch - 'A' + 10);
  }
  return result;
}
 void _esp8266WifiModuleClientReconnect()
{
 if( _checkMacAddres(ESP8266ControllerWifiClient_mac)) {  wifi_set_macaddr(0, const_cast<uint8*>(ESP8266ControllerWifiClient_mac));}
if( ESP8266ControllerWifiClient_isDHCP) { WiFi.config(0U, 0U, 0U, 0U, 0U); } else { 
WiFi.config(ESP8266ControllerWifiClient_ip, ESP8266ControllerWifiClient_gateway, ESP8266ControllerWifiClient_subnet, ESP8266ControllerWifiClient_dns , ESP8266ControllerWifiClient_dns );
}
 WiFi.begin(ESP8266ControllerWifiClient_SSID, ESP8266ControllerWifiClient_password);
}
bool _checkMacAddres(byte array[])
{
  bool result = 0;
  for (byte i = 0; i < 6; i++)
  {
    if (array == 255) {
      return 0;
    }
    if (array > 0 ) {
      result = 1;
    }
  }
  return result;
}

ошибки, конец:
СпойлерПоказать
Arduino: 1.8.9 (Windows 10), Плата:"ESP32 Dev Module, Disabled, Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS), 240MHz (WiFi/BT), QIO, 80MHz, 4MB (32Mb), 921600, None"

"C:\\Users\\dimon\\AppData\\Local\\Temp\\arduino_build_932192\\sketch\\pr8.ino.cpp" -o "C:\\Users\\dimon\\AppData\\Local\\Temp\\arduino_build_932192\\sketch\\pr8.ino.cpp.o"
C:\Users\dimon\AppData\Local\Temp\flprog\pr8\pr8.ino: In function 'void _esp8266WifiModuleClientReconnect()':

pr8:72:90: error: 'uint8' does not name a type

  if( _checkMacAddres(ESP8266ControllerWifiClient_mac)) {  wifi_set_macaddr(0, const_cast<uint8*>(ESP8266ControllerWifiClient_mac));}

                                                                                          ^

pr8:72:95: error: expected '>' before '*' token

  if( _checkMacAddres(ESP8266ControllerWifiClient_mac)) {  wifi_set_macaddr(0, const_cast<uint8*>(ESP8266ControllerWifiClient_mac));}

                                                                                               ^

pr8:72:95: error: expected '(' before '*' token

pr8:72:96: error: expected primary-expression before '>' token

  if( _checkMacAddres(ESP8266ControllerWifiClient_mac)) {  wifi_set_macaddr(0, const_cast<uint8*>(ESP8266ControllerWifiClient_mac));}

                                                                                                ^

Несколько библиотек найдено для "WiFi.h"
 Используется: c:\FLProg_5-3_Win64\ideV3\portable\packages\esp32\hardware\esp32\1.0.2\libraries\WiFi
Не используется: c:\FLProg_5-3_Win64\ideV3\libraries\WiFi
Используем библиотеку WiFi версии 1.0 из папки: c:\FLProg_5-3_Win64\ideV3\portable\packages\esp32\hardware\esp32\1.0.2\libraries\WiFi 
exit status 1
'uint8' does not name a type

aidar_i
Полковник
Сообщения: 3120
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 674
Откуда: Уфа
Имя: Айдар
Контактная информация:

Установка платы ESP32 в Arduino IDE

#15

Сообщение aidar_i » 02.08.2019{, 23:39}

Попробуйте удалить if( _checkMacAddres(ESP8266ControllerWifiClient_mac)) { wifi_set_macaddr(0, const_cast<uint8*>(ESP8266ControllerWifiClient_mac));}

Аватара пользователя
dimonsustr
Рядовой
Сообщения: 39
Зарегистрирован: 15.03.2018{, 14:39}
Репутация: 1
Имя: Dima

Установка платы ESP32 в Arduino IDE

#16

Сообщение dimonsustr » 03.08.2019{, 08:13}

aidar_i писал(а):
02.08.2019{, 23:39}
Попробуйте удалить if( _checkMacAddres(ESP8266ControllerWifiClient_mac)) { wifi_set_macaddr(0, const_cast<uint8*>(ESP8266ControllerWifiClient_mac));}
Спасибо, это помогло. Жду с нетерпением поддержку ESP32 в FLProg!
СпойлерПоказать
Изображение

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

Установка платы ESP32 в Arduino IDE

#17

Сообщение Rovki » 27.07.2020{, 18:36}

Может кто знает как из ФЛпрог работать по Bluetooth c есп32???
Электронщик до мозга костей и не только

Аватара пользователя
slavas
Лейтенант
Сообщения: 595
Зарегистрирован: 14.09.2015{, 22:29}
Репутация: 1
Откуда: Санкт-Петербург

Установка платы ESP32 в Arduino IDE

#18

Сообщение slavas » 27.07.2020{, 18:51}

Добрый день всем, на днях получил ESP32 CAM. Запустил плату без проблем к точке доступа подключается в лёт, работает устойчиво но питать придётся от хорошего блока питания. К стати детектор лица работает надёжно и достаточно быстро, узнаёт быстро и ошибок не заметил.
Сейчас пользовательский блок делаю

Отправлено спустя 21 минуту 20 секунд:
Надыбал секретную прошивку для работы по RTSP теперь платка сможет выдавать потоковое видео которое смогут обрабатывать видеорегистраторы.

Anydy

Установка платы ESP32 в Arduino IDE

#19

Сообщение Anydy » 27.07.2020{, 20:02}

slavas писал(а):
27.07.2020{, 19:13}
Надыбал секретную прошивку для работы по RTSP теперь платка сможет выдавать потоковое видео которое смогут обрабатывать видеорегистраторы.
Чего там секретного? в соседней теме же размещал! viewtopic.php?f=156&t=5723&start=40#p91930

Аватара пользователя
slavas
Лейтенант
Сообщения: 595
Зарегистрирован: 14.09.2015{, 22:29}
Репутация: 1
Откуда: Санкт-Петербург

Установка платы ESP32 в Arduino IDE

#20

Сообщение slavas » 27.07.2020{, 20:28}

Это я шучу, чёта блок не пишется.

Ответить

Вернуться в «ESP32»