Jump to content

    

Помогите с ESP8266 ( ESP-WROOM-02 )

Recommended Posts

Allregia

Спасибо, но из этого списка:

 

 

Quote

- все кроме первой и последней ссылок вообще не имеет ни малейшего отношения к моей теме.

В последней - тема проде и похожая, но только частично. Там все несколко по другому.

Вот первая ближе всего, но там все на пайтоне а не mkspiffs, попробую конечно разобраться, но я с пайтоном не очень дружу.

Share this post


Link to post
Share on other sites

sharikov

могу порекомендовать

1) форки libesphttpd

https://github.com/chmorgan/esphttpd-freertos

https://github.com/MightyPork/libesphttpd

при желании esphttpd несложно заменяется на spiffs

2) штатный вебсервер из esp-idf

3) esp-ginx

https://github.com/israellot/esp-ginx

 

c 1 и 2 я имел дело. 3) не пробовал.

Share this post


Link to post
Share on other sites

Allregia

Друзья, я наверное просто плохо обяснил в чем проблема.

У меня нет проблемы с  программой вебсервера для ESP, сслыки на которые вы мне все время приводите.

Он работает. И spiffs в нем работает. проблема в другом.

Чтобьы не повторяться, скопирую текс, который мой напарник задал на другом форуме:

 

Quote

Поясняю, есть два варианта - вставить текст html файлов в Си-код, и слать "на лету". Этот вариант работает, но не интересено, т.к. потом невозможно менять контент без перешивки фирмваре.



Другой вариант - флеш-память модуля разбивается на две партиции, первая, с нуля, содержит прошивку. Т.е. код, по которому работает процессор ESP.
Вторая часть (начинается во 2-го мегабайта) - это диск, spiffs (SPI Flash File system).
На ней хранятся файлы, в том числе и html, хотя можно что угодно.
Эти фацлы потом можно менять, удалять, добавлять, как на любом диске.
В данном случае, там находится контент веб-сервера, т.е. html, css, js, png, jpg, zip и т.п.




Использовать все это можно тоже двумя вариантами:
1. прошить из под IDE в модуль. Это работает.
Но не пригодно для последующего использования в девайсе с бутлоадером и соответственно апдейтом всего этого.


2. Для прошивки (в первый раз) в ESP-модуль:
а) делается имедж этого диска программой mkspiffs, получается бинарник.
б) Этот бинарник затем программой MergeSpiffs обединяется с бинарником, фирмваре, созданным компилятором, и прошивается в модуль бутлоадером или (для отладочного модуля, подключенного к СОМ-порту компа) - программой flash_download_tools.
И вот тут проблема - вебсервер не видит файлов.
Значит ошибка или в а) или в б).

 

Да, я понимаю что при слове "Ардуино" у многих выступают слезы, у меня тоже :) Но в ней-то как раз все работает, не работает без нее.

 

Share this post


Link to post
Share on other sites

aaarrr
2 minutes ago, Allregia said:

Да, я понимаю что при слове "Ардуино" у многих выступают слезы, у меня тоже :) Но в ней-то как раз все работает, не работает без нее.

Так без неё вы и не попробовали даже! Хотя затраченного времени с лихвой хватило бы на запуск того же esphttpd (тоже рекомендую, кстати) с любой fs по вкусу - spiffs, espfs, да хоть fatfs.

Share this post


Link to post
Share on other sites

Allregia
2 minutes ago, aaarrr said:

Так без неё вы и не попробовали даже!

Именно без нее и пробовали, когда получили 404 ошибку.

 

3 minutes ago, aaarrr said:

лихвой хватило бы на запуск того же esphttpd (тоже рекомендую, кстати) с любой fs по вкусу - spiffs, espfs, да хоть fatfs.

 

Это поможет понять ошибку в командной строке программы mkspiffs или алгоитм программ mergeSpiffs?

Share this post


Link to post
Share on other sites

aaarrr
6 minutes ago, Allregia said:

Именно без нее и пробовали, когда получили 404 ошибку.

Так основная прошивка была ардуиной сгенерирована, верно?

 

6 minutes ago, Allregia said:

Это поможет понять ошибку в командной строке программы mkspiffs или алгоитм программ mergeSpiffs?

Это позволит отдебажить все без черных ящиков: вызываем монтирование spiffs и смотрим код ошибки в терминале, а не 404 в браузере.

Share this post


Link to post
Share on other sites

xvr
31 minutes ago, Allregia said:

Значит ошибка или в а) или в б).

Угу. Вариант, как определить где ошибка:

1. Зашиваем всё по варианту 1 (который работает). Програмой flash_download_tools скачиваем из ESP образ

2. Зашиваем по варианту 2 (не работает). Той же программой flash_download_tools скачиваем из ESP образ

3. Сравниваем образы от п1 и п2. Скорее всего что то не туда записалось (не по тем адресам).

4. Правим бажный скрипт ( mkspiffs  или MergeSpiffs )

Share this post


Link to post
Share on other sites

sharikov
25 minutes ago, Allregia said:

Да, я понимаю что при слове "Ардуино" у многих выступают слезы, у меня тоже :) Но в ней-то как раз все работает, не работает без нее.

Когда вы объединяете прошвку с фс прошивке нужно как-то сказать адрес во флэшке где лежит фс.

В esp-idf это делается партициями, но в 8266 такого нет. Вам нужно что-то придумать. Я в одном случае делал поиск espfs по сигнатуре.

Когда вы делаете монолитный проект (хоть в абдурине хоть где-то еще) адрес фс известен линкеру и поэтому там все работает.

Share this post


Link to post
Share on other sites

x893
1 hour ago, sharikov said:

Когда вы объединяете прошвку с фс прошивке нужно как-то сказать адрес во флэшке где лежит фс.

В esp-idf это делается партициями, но в 8266 такого нет. Вам нужно что-то придумать. Я в одном случае делал поиск espfs по сигнатуре.

Когда вы делаете монолитный проект (хоть в абдурине хоть где-то еще) адрес фс известен линкеру и поэтому там все работает.

Это не совсем верно.

 

https://docs.espressif.com/projects/esp8266-rtos-sdk/en/latest/api-guides/partition-tables.html

Share this post


Link to post
Share on other sites

k155la3
1 hour ago, sharikov said:

. . . В esp-idf это делается партициями, но в 8266 такого нет. Вам нужно что-то придумать. Я в одном случае делал поиск espfs по сигнатуре. . . .

Для флешек и других "помнящих" устройств, как-бы подразумевается, что очень даже возможны ошибки в виде отказа - забывания чего либо в разных объемах и вариантах. С самых дремучих времен это уже закладывалось "как данное", использование техже сигнатур, 0x55AA или как-то, уже и не помню, небыло необходимости уже лезть в эти дебри. Неужто нет никакой (системной) диагностики, что файловая система не найдена ?

 

Share this post


Link to post
Share on other sites

А если WEB-страницу поместить в spiffs уже после прошивки? Штатными средствами работы со spiffs её туда поместить (передать по UART с внешнего контроллера или с ПК), а потом по WiFi запросу штатными-же средствами её из spiffs считать.

Share this post


Link to post
Share on other sites

Allregia
1 hour ago, xvr said:

. Зашиваем всё по варианту 1 (который работает). Програмой flash_download_tools скачиваем из ESP образ

Это первое, что пришло мне в голову. Но к сожалению -  не обнаружил в ней возможости скачать  содержимое флеша модуля, только запись.

1 hour ago, sharikov said:

Когда вы объединяете прошвку с фс прошивке нужно как-то сказать адрес во флэшке где лежит фс.

Он в обоих случаях (и рабочем, и не рабочем) ,лежит с 0х100000.

1 hour ago, aaarrr said:

Так основная прошивка была ардуиной сгенерирована, верно?

Проовали и Ардуиной и Визуалом.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.