Илфат
Значит в другом месте Х меняться
Maxwal
там какбы вся программа на 56 строк с большими дырами))) Х используется только
#include <Servo.h>;
Servo myservo;
int srednee=0;
int x;
......
void setup() {
.....
x=0;
и в моей функции
Maxwal
ща проверю одну теорию
Maxwal
переименовал Х в xuy, но и это не помогло
Maxwal
причем в "дырах" графика он равен 1.
Илфат
Объяви её внутри функции как static
Denis
тестирование ESPAsyncWebServer
Ruslan
Ну и финалочка, включи мозг и подумай
Ruslan
P. S. Я не думал, мне пофиг)
Nonverbis
framework = arduino
Библиотеки не нужны
Не получилось. Фреймворк, вроде, встал. Он устанавливался, наверное, полчаса. Но это ладно.
Но код не компилируется. И еще он весь вообще стал красным подчеркнут в IDE.
Скажите, пожалуйста, что не так сделал?
Max
Nonverbis
Nonverbis
#include <Arduino.h>
А ини вот такой пойдет?
[env:nodemcu-32s]
platform = espressif32
board = nodemcu-32s
framework = arduino
Max
Max
Они прям там есть
Max
Nonverbis
Ща, до ноутбука доберусь, посмотрю, что можно посоветовать
Вообще-то после пересоздания проекта он скомпилился. Я там раньше наошибался в аннотациях, теперь ясно. Но залить на плату что-то у меня не получается.
Но теперь другая проблема - залить не могу:
A fatal error occurred: Failed to connect to ESP32: Wrong boot mode detected (0x13)! The chip needs to be in download mode.
Скажите, пожалуйста, что делать с ним?
Nonverbis
Maxwal
Вылечилась?
wokwi корявые данные выдавал - вживую все графики ровные и работает корректно. Не знаю что помоголо, но спасибо.
Max
я уже утратил возможность что-либо понимать. вроде, у меня esp, но фреймворк arduino. либы неизвестно какие. где документацию брать - непонятно. и неясно, какие тьюториалы изучать.
В общем, кратко и на матершине.
Есть PlatforIO - это система сборки + плагин для VS для обеспечения среды разработки.
Читать по ней можно прямо тут - https://docs.platformio.org/en/latest/
Ее делали украинцы, так что английский там вполне себе понятный.
PlatformIO поддерживает определенные платы (поскольку у каждой платы есть свои запердохи), но можно использовать обобщенные профили для конкретного чипа/модуля.
Помимо плат есть frameworks - это то, что предлагает разработчику некий обобщенный интерфейс. Для esp32 их два - idf (FreeRTOS + система сборки) и arduino (FreeRTOS + обвязка для совместимости с большинством Arduino-кода).
Код в общем случае пишется на С/С++. Т.е. совсем как в Arduino не выйдет (ЕМНИП, там какой-то диалект Processing, похоже на Си, но свои вольности).
Для новичков проще брать Arduino и смотреть примеры при установке framework-а, все это находится (хоть и не сразу) в закладке PIO Home.
Max
Nonverbis
Nonverbis
Max
Nonverbis
Nonverbis
На этой же плате?
У меня наблюдательный результат пока маленький. Но, мне кажется, сразу просто заливало и все.
Max
Шайтан знает, может быть оно делало несколько попыток подряд.
Evgen
Evgen
Max
Alex
Serjio
тэкс, ну что же, проверил чатгптовый код - он не заработал 🙁
как правильно делать перебор из списка имеющихся сетей/паролей для подключения?
Serjio
если я задаю вот такой массив
wifi_config_t known_networks[] = {
{.sta = {.ssid = "Network1", .password = "password1"}},
{.sta = {.ssid = "Network4", .password = "password4"}}
}
и потом в цикле for делаю
esp_wifi_set_config(ESP_IF_WIFI_STA, &known_networks[i]);
ESP_ERROR_CHECK(esp_wifi_start() );
даже если пара ssid/pwd правильная и происходит подключение, IP адрес при этом получается какой-то совсем белибердовый.
а если сеть не первая в списке - похоже, оно пытается несколько раз подключиться к первой сети, и по истечению лимита попыток сдается, без итерации по массиву...
Serjio
а если поменять esp_wifi_start на esp_wifi_connect - и вовсе краш происходит...
Serjio
причем по-моему теперь я просто скопировал их собственный пример, и он не работает. в смысле с IP фигня происходит какаято
Serjio
пример getting_started, sta
Max
Serjio
Адреса
Serjio
Вместо них бессмысленный набор цифр
Serjio
есть догадка, что это может быть потому, что в менюконфиге в примере указана точка доступа, но как-то маловероятно
Max
Мож DHCP не отработал, ибо не успел
Serjio
задержку включить?
Max
Агась
Max
И поболее
Max
А потом уменьшать
Serjio
хотя стоп
Serjio
вот эта строка говнит
esp_netif_t *netif = get_example_netif();
Serjio
адрес там получается..
SSR
Serjio
каюсь, был слеп
Serjio
это функция, видимо, из остатков примера, когда через менюконфиг что-то там подключалось..
Serjio
но в любом случае, в моем коде он на первой итерации зависает
Serjio
в смысле если сети с таким именем не найдет - оно выходит из цикла(
Serjio
тэкс. есть идея
Serjio
да, надо было обнулить счетчик ретраев и биты ошибки сбросить. вроде заработало.
Serjio
интересно, если снифить трафик, 192.168.0.5 и 192.168.000.005 - это разные адреса?
w
Serjio
просто он там кое-где строкой задается - отсюда и глупый вопрос
Serjio
угу
Serjio
еще интереснее. скажите, а есп32 должна пинговаться (по умолчанию или где на это посмотреть?)
Serjio
блин, затык какойто.
вроде к ссети подключился, айпиадрес/шлюз назвал. на роутере его видно. не пингуется (чорт с ним)
отправляет датаграммы, которые никто не видит - а вот это хуже. хз что я мог сломать, вроде все же просто.
Serjio
ухты. пошли. только ждать пришлось долго. такое ощущение, что буфер накапливался
Serjio
как-то бы его научиться сразу высвобождать
SSR
Прикольное у тебя общение с собой
Serjio
нутк никто не отвечает...
Serjio
наткнулся
Limitations
Calling send() or sendto() repeatedly on a UDP socket may eventually fail with errno equal to ENOMEM. This is a limitation of buffer sizes in the lower layer network interface drivers. If all driver transmit buffers are full then UDP transmission will fail. Applications sending a high volume of UDP datagrams who don’t wish for any to be dropped by the sender should check for this error code and re-send the datagram after a short delay.
Serjio
но это вроде как не мой случай
iҚØN🐾🐾
Serjio
короче хз чо и куда смотреть. перестала работать сеть похоже. айпи получает. пинг не идет. как проверить?
iҚØN🐾🐾
Колупать роутер