Обсуждение ошибок, "хотелок", доработок которые будут в версии 8.х
я обновил новым файлом выложенным выше и снес 7.5.2 чо бы все пути к ней удалились и пока все обновляется без передергивания .
Код: Выделить всё
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>
ESP8266WebServer server(80);
void handleRoot() {
server.send(200, "text/plain", "Root of WebServer!");
}
void setup() {
IPAddress ip(10.1.1.100);
IPAddress gateway(10.1.1.1);
IPAddress subnet(...);
WiFi.begin(ssid, password);
WiFi.config(ip, gateway, subnet);
// put your setup code here, to run once:
WiFi.begin(ssid, password);
// Wait for connection
while (WiFi.status() != WL_CONNECTED) {
delay(500);
}
server.on("/", handleRoot);
server.on("/myfunc", [](){
String message = "";
message += "URI: ";
message += server.uri();
message += "\nMethod: ";
message += (server.method() == HTTP_GET)?"GET":"POST";
message += "\nArguments: ";
message += server.args();
message += "\n";
for (uint8_t i=0; i<server.args(); i++){
message += " " + server.argName(i) + ": " + server.arg(i) + "\n";
}
String num = server.arg(0);
server.send(200, "text/plain", message);
});
server.on("/myfunc", HTTP_OPTIONS, []() {
[highlight=red] server.sendHeader("Access-Control-Allow-Origin","*")[/highlight]
server.send(204);
});
server.onNotFound(handleNotFound);
server.begin();
}
void loop() {
delay(1000);
Нашёл. Ещё раз спасибо.artemka19 писал(а): ↑01.12.2022{, 17:00}DrScorpion86,
есть же блок CORS)))
viewtopic.php?f=202&t=7761&start=120#p115053
или имеешь ввиду встроить CORS в флпрог штатно?
Ошибку исправил, падать не будетНовыйUser писал(а): ↑03.12.2022{, 00:49}support,
если на контроллер 2560 мега поставить w5100 и подключиться через генератор драйвер tb6600 и записать только выходы DIR и PUL в скетче - работает двигатель , но стоит поместить webserverpage блок в моей простой схеме из трех блоков, то генератор начинает работать с выходом PUL спустя случайное количество минут. При этом работает в среде 7.3.8 . На 8.0.0 - как упомянул ранее среда webserverpage ловит крэш при установки блока в схему. К этому блок webserverpage на другой сборке (2560+5100) странно работает. То есть, то нет страницы в локальной сети. Предположу, что необходимо блок webserverpage для w5100 на mega2560 внимательно протестировать т.к w5100 не редкое устройство.
НЕ МОГУ повторить как у вас ,у меня все нормально .можете свой файл проекта выложить ?
спасибо. если появиться время и возможность протестировать связку 2560+w5100 шилд , взгляните пожалуйста их работу. Веб сервера на всех моих подобных сборках рандомно то появляется, то исчезает из сети вплоть до отсутствия видимости со стороны роутера. С какой версии это началось сказать трудно. Ранее работало все замечательно.
похоже это только у вас такой глюк , не могу повторить как у вас опять же.
А разве указанный механизм не может быть воспроизведен с помощью выбора библиотеки блоков под тот, или иной контроллер? Вроде можно настроить, чтобы с одним контроллером использовались одни блоки, а с другим другие? Просто создать абсолютно универсальный блок наверное невозможно. А существующий профессиональный редактор уже и так не прост - если мне нужно просто и быстро слепить блок, то я пользуюсь обычным редактором вообще.av писал(а): ↑17.12.2022{, 21:55}support, Вы планируете в следующих версиях расширить возможности Профессионального редактора ? Очень не хватает скрытия отдельных блоков по условию (по принципу входов/выходов по условию) . Допустим создается некое количество блоков в пакете. Но есть некоторые блоки которые в силу своих параметров не могут использоваться для Ардуино 328-х версий, а вот с ЕСП 8266 или ЕСП 32 как раз подходят. И было бы не плохо скрыть эти блоки при выборе в параметрах блока определенного микроконтроллера. Такая возможность позволит создавать более универсальные блоки. В данный момент приходится запихивать все блоки в один пакет для разных микроконтроллеров и в этом случае пользователь может не знать что какой то блок ему не подходит. Ведь есть те кто редко читает описание блоков и донести пользователю тогда не представляется возможным.
Я сам не пробовал и надеялся, что народ знающий подключится к обсуждению и ответит. Но сейчас посмотрел, что например при создании описания своего контроллера можно выбрать, какие из стандартных блоков использовать, а какие запретить. Мне кажется этот путь и проще и понятнее. Если такой поддержки нет для стандартных контроллеров, то вот с этим можно было бы к автору и обратиться, наверное. Пишите блок для определенного контроллера, ставите для него галку Разрешить, для остальных, по умолчанию запрещено и они его не видят. Надо для них тоже - либо просто разрешаете, либо создаете модифицированный код блока и уже здесь ставите Разрешить = эти видят, другие нет. Такой подход мне кажется более просто реализуемым и потенциально более свободным от ошибок. Отладить универсальный блок "для всего" гораздо более проблематично, чем даже несколько простых.