Управление станком по WIFI Wemod D1mini ESP8266

Да вроде ОКейнее и не бывает :)
Другая ж к нему коннектится.
А эта - коннект-дисконнект и так по кругу...

про кварц не будем? Иль пофлудим про скорости, сн340, ещечегонитьпридумаем?

оффтоп
 
будем считать, что не получилось.

неправильная ЭТА, которая коннект-дисконнект

оффтоп
 
Сам мучаюсь с 8266 уже несколько дней. Сначала сделал как сервер telnet на 23 порту, зависал, работал нестабильно. Потом на сервер на 81 порту, не получилось. На 81 порту добился записи на флешку через браузер. Перед этим попробовал сд, олед дисплей подключить и три кнопки, из кнопок - две работало, третья нет. На двух кнопках все переполняется (не знаю чем, debug платы нет) и идёт в ребут. Я уже и вачдог отключал, все равно. Когда подключен олед, сд, 3 кнопки, там всего один аналоговый пин остаётся, т.е. на пределе своих возможностей. Выбросить жалко. Использовать, даже не знаю куда... Сейчас буду так же как и Вы на esp32 экспериментировать, а 8266 на автополив домашних растений присобачу.
 
Процесс и полученный опыт уже приобрел, что эта плата только светодиод по wifi включать :D
На самом деле очень интересно, отказался от Ардуино Иде, перешёл на visual studio code с platformio, насколько удобный инструмент для программирования, все под рукой. Правда по началу как всегда приспособиться пришлось, пока все найдешь...
 


Ардуино-редактор неудобный, да, но альтернативу всегда можно найти.
Я когда-то такой прикупил по скидке - тоже надстройка, но всяко поудобнее.
Bilderman 2023.02.28 23-07-37.png

оффтоп
 
В линуксе офигенно, ставишь прогу socat и всё!
Запуск
socat pty,link=/dev/virtualcom0,raw tcp:192.168.XXX.XXX:23&
 
  • Последнее редактирование:
Последнее редактирование:
Мучаюсь над будущим контроллером WiFi на Wemos D1, уже вчера хотел выбросить, а с утра желание пропало и начал заново. Через HTTP сервер, построенный на Wemos-е могу отправлять файлы, вот только одна задача вырисовалась: строка uploadSD.write(uploadHTML.buf, uploadHTML.currentSize); перезаписывает из буфера в созданный мною файл постоянно, и получается, если отправлять файл через server.on("/upload", HTTP_POST, handleUpload) 3000байт, то на SD записывается всего последние 952 байта, а первая часть (2048 байт, как раз размер буфера) не записываются. Как бы это все в цикл завести, чтобы все записалось? (uploadSD - переменная File, а uploadHTMP - File который и пришел с компьютера). Использую библитеку SD.h, все стандартные функции под спойлеров в блоке void handleUpload() оттуда.

блок кода напишу под
void handleUpload() {
HTTPUpload& uploadHTML = server.upload();
File uploadSD;
uploadSD = SD.open(uploadHTML.filename.c_str(), "w");
uploadSD.write(uploadHTML.buf, uploadHTML.currentSize); // вот эта строка мне весь мозг выносит:mad:
uploadSD.close();
server.send(200, "text/plain", "File uploaded successfully!");
}

а запускается все это дело:

server.on("/", HTTP_GET, handleRoot);
server.on("/upload", HTTP_POST, handleUpload);
server.begin();
}
void loop() {
server.handleClient();
}

а изначально все идет отсюда:

html += "<form method=\"POST\" action=\"/upload\" enctype=\"multipart/form-data\">";
 
Судя по обработчику handleUpload каздый раз создаётся новый фай, записывается туда содержимое в размере буфера и файл закрывается. И так несколько раз. В итоге, там остаётся "хвост", меньший размера буфера.
А попробуй файловую переменную создавать не на запись
C++:
uploadSD = SD.open(uploadHTML.filename.c_str(), "w");
а на добавление
C++:
uploadSD = SD.open(uploadHTML.filename.c_str(), "a");

или задавай размер буфера динамически, под размер файла.

Я не шарю, но мне так кажется :)
 
а на добавление
C++:
uploadSD = SD.open(uploadHTML.filename.c_str(), "a");
Фокус не удался:(. Я даже строчки пробовал подряд 3 раза записать, так он записывает данные в файл, только одни и теже... остаток буфера, но 3 раза...
 
Спасибо, но тоже не фурычит - порт в системе создаётся, но "connection failed".
Беру свои обратно, это я не фурычил :)
В общем, оно запустилось.
Искал программы-аналоги, кучу всяких перелопатил.
Сперва заработала странная связка - Com0Com и SerialToIPGUI.
Правда, в один прекрасный момент и она получила отлуп. Начал смотреть код для ESP32 - а я там, как оказалось, выставил ограничитель подключенных клиентов в 1. А так, как сом-порт от NetBurner добросовестно выполнял свою задачу, то остальные клиенты "грызли бамбук".
Опосля, снёс все другое "ретрансляторы" и вновь поставил USR-VCOM и оно приконнектилось и заработало стабильно.
Насчёт "шустрости" не скажу, но одну и ту же УП Кэндл через вышеупомянутую связку или USR-VCOM и АК выполняют за одинаковое время.
Ну, как бы вот...
 
Сверху Снизу
Обнаружен блокировщик рекламы AdBlock

МЫ ДОГАДЫВАЕМСЯ, ЧТО РЕКЛАМА ВАС РАЗДРАЖАЕТ!

Конечно, Ваше программное обеспечение для блокировки рекламы отлично справляется с блокировкой рекламы на нашем сайте, но оно также блокирует полезные функции. Мы стараемся для Вас и не обязываем Вас донатить и скидывать денег на наши кошельки, чтобы пользоваться форумом, но реклама это единственное, что позволяет поддерживать проект и развивать его.

Спасибо за Ваше понимание!

Я отключил свой AdBlock    Нет, я не буду ничего отключать