ESP, IoT [BigClock] Большие часы на WS2812, ESP8266, Народный мониторинг

Какой вариант датчика используется у вас? Интересно, использует ли кто BME280, как у меня?)

  • BMP280

    Голосов: 26 26.8%
  • BME280

    Голосов: 71 73.2%

  • Всего проголосовало
    97

ASM

★★★★★✩✩
26 Окт 2018
1,918
422
@kamikadzze, вебморды нет, только страничка в html editor))
Попробовал сделать по примеру с интернета, включать и выключать светодиоды...
Не рабочий метод, компилятор ругается на синтаксис html))
Надо думать, как интегрировать html в код)
Или может тупо записать одной строкой в PROGMEM, и загружать в качестве html страницы) идея отличная, только можно ли сделать, спецы, помогите)
 

kDn

★★★★★✩✩
18 Ноя 2019
1,103
437
Или может тупо записать одной строкой в PROGMEM, и загружать в качестве html страницы) идея отличная, только можно ли сделать, спецы, помогите)
Можно сделать что угодно. Можете ли это сделать вы - вопрос к вам. Примеров достаточно даже на этом форуме.
 

Leon111_09

★★★✩✩✩✩
6 Июн 2021
641
149
56
Таганрог
forum.wisecomp.ru
@ASM, У вас в файле Constants ошибка в 15-ой строчке. Компиллятор ругается,типа не для этой платы скетч.Дописал букву D к номеру пина ленты и компиллятор пошел как по маслу.Специально перепроверил: вернул как было,и ошибка повторилась. Внес изменение-и пошло аки брехня по селу :).
 

ASM

★★★★★✩✩
26 Окт 2018
1,918
422
@Leon111_09, странно, конечно)
Код рабочий, перед публикацией удалил только ssid и 2 пароля своих))
У меня nodemcu...
 

kym13

★★★✩✩✩✩
14 Ноя 2020
716
118
@Leon111_09,
Вы поставьте в менеджере плату "NodeMCU v1.0", уберите D и прошейте Wemos. И компилятор не на что не ругается.
 

ASM

★★★★★✩✩
26 Окт 2018
1,918
422
@kDn, так, частично разобрался, компилятор не ругается)
теперь крупный вопрос:
C++:
#define max_bright          200
String max_bright = httpServer.arg("brmax");
###############################
<input name="brmax" value="200" min="10" max="255" type="number">
как их подружить, чтобы компилятор не ругался?)
а то получается, что у max_bright два значения)

Ну и второй в довесок)
C++:
  String s = MAIN_page;
  httpServer.send(200, "text/html", s);
Как сюда засунуть кучу констант из настроек для передачи на страницу?)
 
Изменено:

bort707

★★★★★★✩
21 Сен 2020
3,288
955
По первому - никак, просто не называй их одинаково
 

kDn

★★★★★✩✩
18 Ноя 2019
1,103
437
@ASM, вы задаете элементарные вопросы, на которые требуется громадное кол-во времени, чтобы ответить. Вам нужно изучить базовые вещи. Впрочем можете для начала воспользоваться конструкторами, к примеру: https://community.alexgyver.ru/threads/gyverportal.6632/ . Наш вариант не предлагаю, поскольку понял еще год назад, что предлагать бессмысленно. :)
 

ASM

★★★★★✩✩
26 Окт 2018
1,918
422
По первому - никак, просто не называй их одинаково
Мне надо обновить настройки с телефона)
Хм, тогда остаётся вариант с gson?)
Уж он то должен справится, считывать настройки с файла и записать то уж думаю более реально)
Или использовать запись в память?)
Какой вариант проще, ради записи десятка значений?)
@kDn, я думал не сложный вопрос, просто Гугл не помог, он умеет включать и выключать светодиоды)
Был вариант с SendHTML, но вчера я сообщал, что он не компилируется) Использую отдельный файл index.h, читать я понял как, передать пробовал подставляя в значении 's', пробовал приводя все значения в строку, всё равно не компилируется)
 

kDn

★★★★★✩✩
18 Ноя 2019
1,103
437
@ASM, я вам сказал куда смотреть. Хотите изобретать свой велосипед - вперед и с песней, но я не готов тратить свое время на объяснение основ, типа "что такое колесо и почему его лучше делать круглым".
 

bort707

★★★★★★✩
21 Сен 2020
3,288
955
@ASM, как связано обновления настроек и то что вы назвали два идентификатора одной строкой?
 

ASM

★★★★★✩✩
26 Окт 2018
1,918
422
@bort707, 1 строка из настроек, вторая чтение с вэбсервера и запись переменных в настройки, 4 строка с сервера, для показа, откуда будут настройки)
Поизучаю ссылку на конструктор, может что найдётся нужное.
 

ASM

★★★★★✩✩
26 Окт 2018
1,918
422
@kDn, ответ то был простой, сказал бы уточни, что означает #define, это и был бы ответ на первый вопрос)
Конструктор посмотрел, разобрался, интересный, но переменных маловато...
Поизучал PROGMEM, попробовал применить на практике, и понял, что с этой штукой для каждой переменной кучу кода надо написать...
C++:
int Cprs = 0;
void setup() {
    const uint8_t prs PROGMEM  = Cprs;
}
int prs = pgm_read_word(prs);
void loop() {
    prs = portal.getInt("prs");
    const int prs PROGMEM  = prs;
}
урезанно, без флагов и условий, как-то так будет) куча мала) не подходит, надо ознакомиться с json, может он больше подойдет)
По идее все настройки в одном файле, они не будут перезаписываться при перезапуске платы, только считывай и перезаписывай при надобности...
п.с. будут у кого еще предложения по интеграции?)
 

kDn

★★★★★✩✩
18 Ноя 2019
1,103
437
@ASM, так вы даже вопрос толком задать не можете. )))
Вон ваш пример с PROGMEM явно показывает полное непонимание того зачем используется PROGMEM и какие проблемы решает))).
Про макросы и классы-обертки F(), PSTR(), FPSTR() вы походу не слышали.

Конструктор посмотрел, разобрался, интересный, но переменных маловато...
@kDn, посмотрел, ничего нужного нет, и библиотеки разные)
Время идет, вы все смотрите и ничего сделать не можете. Может вам нужно перестать смотреть и начать делать? :)
Ну а если сделать не получается - то сначала разобраться, изучить чужие наработки, а затем уже пытаться свою альтернативу писать? А так... посмотрели что-то, ничего не поняли, опустили руки и побежали писать "смотрел, ничего нужного нет, смотрел - переменных маловато" - это же просто смешно :)
надо ознакомиться с json, может он больше подойдет)
Ну-ну... Подойдет для чего и куда? Для обмена по сокетам? Да - он удобнее, для MQTT - да, замечательно. Для передачи слабоструктурированных данных - очень хорош. Для того чтобы вы после просмотра реализовали нормальный проект? - Нет, он вам не подойдет, потому что ваш уровень знаний недостаточен для того чтобы шаблонизаторы писать и динамически строить страницы. Для статики же json нафиг не нужен.
 

ASM

★★★★★✩✩
26 Окт 2018
1,918
422
@kDn, голова перегружена кучей информации, поэтому сложно задать вопрос)
Мне не нужно реализовать сложный проект, а тупо чтобы не перезаписывать прошивку, зайти на сервер и поменять некоторые значения) json уже подсобрал основные моменты, судя по библиотеке, всё гораздо проще, чем еепром и прогмем)
Я уже ни раз говорю, я не программист) все эти тонкости не знаю, и не понимаю) Даже программисты не могут помочь, задавал пару раз вопросы знакомым тестировщикам, не знают этот язык...
Так вот и приходится брать кусками с одного места, с другого) И как-то делать это рабочим) Попался пример с json, он походу на старой библиотеке, заменял обновлёнными функциями, сразу сменился цвет в коде)

Помучаю ещё прошивку, если всё получится, то ок. Последние баги исправлены, сбоев больше не было. Думаю в марте новую версию часов делать, современную, с минимум пайки...
 
  • Лойс +1
Реакции: kym13

kDn

★★★★★✩✩
18 Ноя 2019
1,103
437
@ASM, для простых вещей я вам уже дал ссылку на конструктор и предложил его изучить. Не посмотреть, а именно изучить, проверить в работе, сделать несколько разных интерфейсов. Когда его перестанет хватать и захочется большего - будете изучать EmbUI и его использование. А вот после того как изучите (впрочем это можно сделать и сейчас) появится возможность создавать веб-интерфейсы произвольной сложности буквально за считанные минуты/часы.

Я вас не отговариваю от изучения JSON, просто сомневаюсь что вы за разумное время сможете понять идею и нормально его использовать. Есть очень лихая библиотека: https://arduinojson.org/ но как и любой мощный инструмент - с нею легко можно выстрелить себе в ногу. :)

И уж точно JSON не замена PROGMEM - это вообще разные вещи. Если вам нужно хранилище в памяти программ, то проще использовать ФС, а именно - LittleFS или SPIFFS (устарела). Тогда ресурсы (html и прочее) кладется туда, а веб-сервером выдергивается с нее. При этом ресурсы могут быть упакованы... Впрочем это я уже пересказываю реализацию EmbUI, но это займет кучу времени, которого у меня нет.
 

ASM

★★★★★✩✩
26 Окт 2018
1,918
422
@kDn, изучить сложно, без второй ESP) дергать каждый раз не буду, идёт мониторинг постоянный) поэтому такая сложность)
В примере был json с SPIFFS, значит направление верное)

И да, с интерфейсом проблем нет, нарисовать не сложно) Конструктор рисует шаблонно. Поэтому страница будет моей, движок с портала)
 
  • Лойс +1
Реакции: kDn

Divin

★★★★✩✩✩
30 Янв 2021
458
204
@ASM, Внес правильные изменения в код, скомпилировалось без ошибок, прошилось, но в результате :
C++:
load 0x4010f000, len 3584, room 16
tail 0
chksum 0xb0
csum 0xb0
v2843a5ac
~ld

Загрузка прошивки...
Не найдет модуль часов RTC

Жду часы из Китая, хотя обидно - теоретически может работать без RTC, фактически нифига.
 

ASM

★★★★★✩✩
26 Окт 2018
1,918
422
@Divin, попробуй) в архиве только первый файл, добавишь к нему второй файл со своими настройками.
и установи новую библиотеку NTPClient
 

Вложения

  • Лойс +1
Реакции: Maxx1200 и Divin