STM32F103 + W5500, работающий на веб -сервер?!

Matrixxx
Чт 29 марта 2018 г., 11:54
Всем привет,

Я использую небольшой веб -сервер на STM32F103 с прикрепленным W5500. Служба запрашивает значения vomr массив и возвращает ее в качестве результата JSON. Но, к сожалению, через некоторое время (возможно, час), веб -сервер больше не отвечает. Я использовал Firefox.
Некоторые тесты, которые я уже сделал:
- Система работала за ночь без каких -либо запросов. Но после нескольких запросов утром он снова остановился.
- Я изменил W5500 на различный
- Пока он не остановился, я запускаю запрос каждую секунду.

Обновлять:
- Протестировано с помощью Microsoft Edge => Та же проблема
- Установить Firefox http.Максимальное соединение и веб-питания.MAX-Connection оба до 4 в FF. Теперь запущенный тест. Обновление: я запускал тест более 3 часов. И все было хорошо :)

Так что это имеет что -то связано с запросами. Это выполняет сотни запросов, но вдруг остановился. Может, я сделал что -то, что вырвал в коде - я не знаю. Помогите, чтобы быть оцененным.

Спасибо, что изучили это и отличное пасхальное время,
Майк.

Стивестронг
Чт 29 марта 2018 г., 21:18
Вы должны сбросить тайм -аут "Ctime", когда клиент доступен, в противном случае вы можете закрыть клиента, у которого все еще могут быть данные, ожидающие прочитать. Это заблокирует розетку.

Matrixxx
Чт 29 марта 2018 г., 21:36
Привет, Стив,

Я нашел от вас этот фиксатор CTime во время поиска этой проблемы: P Трудно отладить неудачу, если это потребуется до часа, чтобы увидеть, как это произошло... Может это что -то отличное от https: // github.com/arduino-libraries/ethernet/проблемы/42 или нет.. Хм..

Но я могу сказать, что это также не помогло. Вещество, которая работает в течение нескольких часов без проблем,-это установление HTTP-MAX-Connection и WebSockets на 4 или ниже. Это помогло.. Но с этой конфигурацией подключения трудно просмотреть другие страницы...

Кажется, что это похоже на проблему, которую вы обсуждали с Роджером некоторое время назад.. но еще сложнее... Я не знаю, висит ли контроллер или просто клиент.Подключить возвращение 0. Происходит через 20 минут... или после 1H..

Так приветствуем Мюнхен из Нюрнберга - если у тебя есть время, мы обсуждаем это немного глубже. Премьер -министр? И большое спасибо за ответ :)

Майк.

Стивестронг
Пт 30 марта 2018 г. 8:52 утра
HM, это было давно, я не узнаю свою работу, что, кажется, не было чистым решением. :?

Я провел это время несколько часов, чтобы отлаживать розетки без четкого заключения, что может пойти не так.
Но теперь, учитывая это, я внедрил веб-розеты ESP-01 через команды, я понял, что не так просто обрабатывать несколько сокетов одновременно. Пока вы обрабатываете один розетка, другой розет.

Я думаю, что я должен снова глубоко углубляться в розетки W5500 и контролировать их поведение.
Кстати, я также иногда испытываю (один раз в неделю), что чип недоступен от внешней. Так что я думаю, что все еще может быть проблема.

Есть так много, что нужно сделать, только ингредиент времени отсутствует...

Matrixxx
Пт 30 марта 2018 г., 21:30
Привет, Стив,

да. Итак, мы должны жить с этим или найти решение. но отлаживать не так просто. У меня есть около 500-3000 Ajax-Requests, пока это не произойдет..
Таким образом, единственный обходной путь, чтобы ограничить подключения Firefox Max для веб -питания и HTTP до 4. Я использую 2 прямо сейчас. или создать прокси на веб -сервере, чтобы вы могли быть уверены, что ур прокси обрабатывает запросы с UR W5500 - только с одним соединением...

может ты найдешь время, чтобы заглянуть в это. До тех пор, пока WebServer на устройстве с использованием Ethernet LIB будет подвергаться опасности проблемы..

Твой, Майк.

Вассилис
Сб 31 марта 2018 г. 8:11
@Matrixxx
Вы можете купить ST-Link отладчик/программист, чтобы увидеть, где застрял ваш код.
Вы можете попробовать мой Ультра простой отладчик STM32 Программное обеспечение + arduino ide для отладки.

Matrixxx
Сб 21 апреля 2018 г., 20:38
Привет, Вассилис,

Да, у меня есть отладчик ST-Link. Но как начать с этого? Просто запустите программу, как в вашем примере, а затем она остановит работу, и вы увидите, где в коде?

Майк.

Вассилис
Солнце 22 апреля 2018 г. 15:56
Запустите Arduino IDE, составьте свой эскиз и программируйте флэш -память STM32.

Запустите отладчик на одном и том же ПК Windows (я говорю PC Windows, потому что вы сказали «Microsoft Edge»).

Перейдите к настройкам и выберите .Файл эльфи. Чтобы увидеть, где .Эльф -файл был создан, включите <компиляция> Вариант от предпочтений Arduino IDE.

На отладчике нажмите <Соединять> . Когда ваш эскиз замерзает, нажмите <пауза>. Вы увидите, где приостановлено выполнение вашей программы.

Перед этим сделайте некоторые тесты с некоторыми другими набросками, чтобы увидеть, как (и если) работает отладчик правильно.

Matrixxx
Чт, 5 июля, 2018 8:19
Всем привет,

Извините, у меня еще не было времени отладки. Я использую (почти) один и тот же код только на разных платтах, таких как UNO, с W5500 или MEGA с W5500. Но никогда не имел этих проблем там. Так что, похоже, это как-то связано с библиотекой Ethernet ?!

Майк.

AG123
Солнце 29 июля 2018 г., 5:48
возможно, мигает светодиод в основной петле каждую минуту или около того? Если светодиод мигает, но W5500 не отвечает, это может означать некоторую проблему с W5500
Но если светодиодная остановка мигает, это может означать, что программа «разбилась»? эн.глин. утечка памяти?

Стивестронг
Sun 29 июля 2018 г. 9:18 утра
Я попробую Ethernet 2.0.0 от Павла.

Массивный размер эскиза