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

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

Ответить
Аватара пользователя
Anydy
Администратор
Сообщения: 2359
Зарегистрирован: 30.12.2017{, 12:10}
Репутация: 157
Имя: Андрей

Установка платы 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
Рядовой
Сообщения: 39
Зарегистрирован: 03.11.2017{, 17:56}
Репутация: 2
Откуда: Анапа

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

#2

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

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

Аватара пользователя
o_l_e_g64
Рядовой
Сообщения: 10
Зарегистрирован: 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 КБ) 2864 просмотра

av
Лейтенант
Сообщения: 663
Зарегистрирован: 25.09.2017{, 13:25}
Репутация: 33
Имя: Алексей

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

#4

Сообщение av » 24.01.2019{, 13:23}

Anydy, уважаемый Андрей как там насчет программирования ЕСП32 на FLProg ? Есть ли продвижение по теме ?

Аватара пользователя
Anydy
Администратор
Сообщения: 2359
Зарегистрирован: 30.12.2017{, 12:10}
Репутация: 157
Имя: Андрей

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

#5

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

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

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

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

#6

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

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

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

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

#7

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

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

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

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

#8

Сообщение 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
Майор
Сообщения: 1129
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 109
Откуда: Уфа
Имя: Айдар
Контактная информация:

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

#9

Сообщение 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}
Репутация: 53

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

#10

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

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

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

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

#11

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

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

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

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

#12

Сообщение 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
Рядовой
Сообщения: 19
Зарегистрирован: 15.03.2018{, 14:39}
Репутация: 0
Имя: Dima

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

#13

Сообщение 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
Майор
Сообщения: 1129
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 109
Откуда: Уфа
Имя: Айдар
Контактная информация:

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

#14

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

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

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

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

#15

Сообщение 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
Майор
Сообщения: 1129
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 109
Откуда: Уфа
Имя: Айдар
Контактная информация:

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

#16

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

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

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

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

#17

Сообщение 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!
СпойлерПоказать
Изображение

Ответить

Вернуться в «Тех. вопросы, решения.»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость