Хорошее получается обсуждение. Спасибо всем, кто принимает в нем участие. Прошу только всех заранее сохранять спокойную, приятную для общения атмосферу и не накалять эмоции. Мы просто обсуждаем.
По сути:
Почему бы в открытом проекте не выложить открытые коды на веб-интерфейс?
Видимо потому, что проект не до конца открытый. Есть коммерческая версия скетча, я не знаю чем она отличается, но судя по обрывочным комментариям, там местами реализованы другие алгоритмы, где-то что-то добавлено и т.д. Помнится, при моей попытке выложить открытые коды со своими переделками на GitHub, сделав все возможные ссылки на исходную тему и автора и никак не присваивая себе авторства, я мигом получил по шапке. Я не против выложить свои коды, но баш на баш. Не должно остаться коммерческой версии скетча. Все коды должны быть открыты, включая исходники плат созданных коллективно. Это особенно важно, т.к. ко мне обращались люди, которые хотели с коммерческой версии пересесть на бесплатную только из-за web-ки, я советовал купить другую мегу, чтобы не потерять прошивку (или залочена она была, не помню уже). Хочется коммерции - делайте свои печатные платы, монтаж можно заводской заказать, ставьте КАЧЕСТВЕННЫЕ комплектующие, заказывайте литье корпусов, чтобы это не было похоже на подвальный самопал и продавайте. Кто не может сделать сам или кому жалко своего времени - придет к вам, или к кому другому кто может. Но прошивка в ее текущем виде - плод коллективного разума (к вебке это, кстати, не относиться), и должна стать достоянием этого коллектива.
Кроме того, параллельно развиваются другие интересные проекты, типа того же LuckyBox-a. Полностью открытый, делается вполне квалифицированной командой. Может быть у них опыта меньше пока, чем накоплено в этой теме, но они догонят, дай время. А цветной экранчик, куда можно пальцем тыкать, и Вифи у них и сейчас есть.
Структуризация в двухстрочном меню на 16 символьном дисплее вещь безнадежная
Это зависит от структуры меню + можно взять 4х строчный экран. RepRap отлично живет с таким, и миллионы+ пользователей 3д принтеров не страдают от безнадеги
Так что в новом проекте на Ардуино 2560, лично мне участвовать неинтересно.
Хорошо. Давай наведем порядок в старом. Для этого:
1. Сделаем как надо РМ. Для чего:
A) Arduino умеет ADC в непрерывном режиме с выборкой до 100кГц. Будем 2 полуволны непрерывно оцифровывать мощность сделав 1000 выборок, вместо 20, в 3ю оцифровывать остальные аналоговые входы, полностью избавившись от analogRead(). Кроме того снизим точность ADC, чтобы увеличить скорость (сейчас при снижении точность прошивка просто виснет на загрузке, хз почему, я так и не разобрался)
B) Все вычисления сделаем целочисленные
C) Применим фильтры для входных данных, чтобы уменьшить шум.
D) Сделаем Брезензем так, чтобы контроллер не впадал в ступор при попытке взять 500Вт из 3кВт тена. А лучше оставим датчик напряжения как основной, и будем стабилизировать напряжение.
E) Уберем все вычисления из прерываний, чтобы не тормозить контроллер
F) Всю работы с портами в критических по скорости местах сделаем без оберток digitalWrite(), только direct port mapping.
2. Всю работы с датчиками и периферией сделам асинхронную, чтобы не мешать РМ и sheduler-у
3. Перепишем системы меню, сделам подменю и разобьем все на группы.
4. Избавимся от SIMPLED_VERSION, т.к. это создает просто ужасную путаницу. Есть settings файл, в нем есть define-ы, надо собрать другую версию - заменил settings файл целиком и все, людям раздал (settings_simple_0, settings_complex_5 и т.д.), для этого надо сделать пункт 6:
5. Все функции программы сделаем отключаемыми вместе с их переменными. Вот, например, когда я пытался вырезать GSM, то некоторые параметры пришлось просто оставить, т.к. они там просто переплетены везде со всем. В итоге я их просто оставил, так они и болтаются там где-то память занимая. Кому-то не нравится пиво, кто-то не хочет ставить датчик тока/напряжения, кому-то надо кофе по утрам варить (кстати это мысль!), кто-то кофе не пьет.
Я же только за!
PS Мне пока не нравится идея поставить готовый измеритель мощности для стабилизатора можщности, т.к. его надежность непонятна, а напряжение может скакать быстрее, чем раз в секунду. Опять же если ставить его, то мега становится не нужной от слова совсем! Можно просто esp оставить клапанами рулить, но брать надо не 8266, а esp32, которая на порядок функциональнее и стабильнее.
Автоматику делают на продажу от Новосибирска до Калининграда это факт.
Точная информация? А вторая половина страны от Новосибирска до Владивостока совсем не пьет что ли?! : )