• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Делюсь опытом Настройка Visual Studio Code и PlatformIO под Windows

kvn234

New member
Или инструкция от Espressif.
Спасибо.

Пара вопросов.

1. Можно ли использовать Ардуиновские функции?
2. В чем преимущество по сравнению с Espressif-IDE под Windows?
 

aZholtikov

Active member
Спасибо.

Пара вопросов.

1. Можно ли использовать Ардуиновские функции?
Даже немного странный вопрос... Вы изначально пытались настроить плагин Esressif 32 для компиляции PlatformIO с framework = espidf???
В ESP-IDF (espidf по Ардуиновски) нет и не может быть Ардуиновских функций! Всякие там DigitalRead, Serial.print и иже с ними отсутствуют как класс. Только функции SDK от Espressif.
 

kvn234

New member
Даже немного странный вопрос... Вы изначально пытались настроить плагин Esressif 32 для компиляции PlatformIO с framework = espidf???
Как вариант например.

Делаю некий проект и нужно мне сделать то что делает функция (конкретный IP адрес)
WiFi.config(ip, dns, gateway, subnet); (реально несколько дней ищу как реализовать на Espressif-IDE под Windows ).
Чтобы продолжить работу я бы временно использовал Ардуиновскую функцию WiFi.config(ip, dns, gateway, subnet);, а затем сделал реализацию на с помощью функций Espressif-IDE под Windows
 

aZholtikov

Active member
Как вариант например.

Делаю некий проект и нужно мне сделать то что делает функция (конкретный IP адрес)
WiFi.config(ip, dns, gateway, subnet); (реально несколько дней ищу как реализовать на Espressif-IDE под Windows ).
Чтобы продолжить работу я бы временно использовал Ардуиновскую функцию WiFi.config(ip, dns, gateway, subnet);, а затем сделал реализацию на с помощью функций Espressif-IDE под Windows
В ESP-IDF для этого существует функция esp_err_t esp_netif_set_ip_info(esp_netif_t *esp_netif, const esp_netif_ip_info_t *ip_info).
 

kvn234

New member
Делаю некий проект и нужно мне сделать то что делает функция (конкретный IP адрес)
WiFi.config(ip, dns, gateway, subnet); (реально несколько дней ищу как реализовать на Espressif-IDE под Windows ).
Нашел рабочий вариант

#include "lwip/ip4_addr.h"


esp_netif_t *my_sta = esp_netif_create_default_wifi_sta();
esp_netif_dhcpc_stop(my_sta);

esp_netif_ip_info_t ip_info;

IP4_ADDR(&ip_info.ip, 192, 168, 1, 122);
IP4_ADDR(&ip_info.gw, 192, 168, 1, 1);
IP4_ADDR(&ip_info.netmask, 255, 255, 255, 0);
esp_netif_set_ip_info(my_sta, &ip_info);
 

enjoynering

Well-known member
ESP-IDF это хорошо. А как на счёт логики сервера HTTP? В Arduino ESP32 для этого все есть из коробки, а вот на голом ESP-IDF придется все писать с нуля самому.
 

aZholtikov

Active member
ESP-IDF это хорошо. А как на счёт логики сервера HTTP? В Arduino ESP32 для этого все есть из коробки, а вот на голом ESP-IDF придется все писать с нуля самому.
А никто и не говорил что будет легко... :) По моему ESP-IDF это уже уровень посложнее для желающих получить после Ардуино немного больше гемора на чистом С... ;-)
На любителя вообщем.
 

aZholtikov

Active member
И в дополнение... Например ESP8266 RTOS_SDK v3.4 (IDF Style) (в Ардуино не поддерживается) позволяет написать полностью аналогичную Ардуино по функционалу прошивку (да - тяжело и со скрипом с нуля) в несколько раз меньше объемом. Для меня это стало принципиальным переходом на голую Espressif SDK.
 

kvn234

New member
ESP-IDF это хорошо. А как на счёт логики сервера HTTP? В Arduino ESP32 для этого все есть из коробки, а вот на голом ESP-IDF придется все писать с нуля самому.

Вот нашел.

 
Сверху Снизу