Видел проект на Hackaday c BASIC, но там используется полноценная клавиатура (PS/2) и видеовыход (RCA). И похожий проект тоже планирую сделать. Но правда я задался вопросом, есть ли полноценная операционная система (другими словами компьютер) на микроконтроллерах, вот на AVR только этот вариант нашел, с TinyBASIC. Позже нашел что-то близкое на ОС у ESP32, но сильно не разбирался. На самом деле интересная тема, почему нет что-то похожее на MS-DOS для микроконтроллеров?
У такой самодельной платы одна очень существенная проблема, это нет металлизации отверстий, другими словами все что торчит и постоянно руками дергается, может быстро отвалиться. Например, гребенки, разъемы питания, а у меня постоянно отваливаются переключатели включения или выключения.
Я тоже недавно собирал свою Arduino UNO, хотя в целом очень доволен, но тоже лежит как экспонат, если надо чаще пользуюсь готовыми Arduino Nano.
А вы не думали тогда купить и вставить на плату готовый переходник USB to UART, ведь без этого переходника Arduino UNO теряет полностью свой шарм?
В принципе да, кажется, что ужать в один байт более чем реально, только пока воздержусь от такого эксперимента. Потому что, я в другом проекте сделал тот же самый алгоритм и мелодия получилась настолько с артефактами, что еле различима (все ужалось). С мелодией из статьи все хорошо получилось. Но если составлять мелодию вручную, то там наверно можно уйти в отрыв, а так то я везде пытался через скрипты автоматизировать.
Хотя, я просто остановился в оптимизации, когда мелодия уместилась в 1КБ, если бы не уместилась, то пробовал все дальше. :)
Да, есть такой момент, это сделано, чтобы можно было мелодии проще унифицировать. Но оно вроде не проблемное место, то, что три раза полезет за данными вроде не сильно занимает больше места в размере кода, а производительность в этом месте не нужна.
Но, согласен можно это место оптимизировать еще, у меня даже была такая мысль, но не понял как это сделать красиво.
Я случайно забрел в этот пост, потому что увидел минусы. Стало интересно почему так, и пока основным вижу причину, что от чтения статьи могут быть больше вреда, чем пользы. Просто потому что текст подан хаотично и надо самому за каждым словом лезть в гугл.
Не до конца понятно, что значит "без Arduino", вы же сами пользуетесь Arduino IDE и функциями вида digitalRead, pinMode, digitalWrite, а это Arduino. Аа.. понял, это потому что без отладочной платы Arduino, а на своей.
А почему не выбрали ATtiny13, кажется, что оно идеально подойдет сюда?
Еще, если хотите уменьшить потребление, можете уводить МК в сон и пробуждать его по нажатию на кнопке.
Для каждого интерфейса замучаешься писать, особенно если микроконтроллеров много. Прелесть ардуино, что digitaRead и digitalWrite работают одинаково для всех даже если это не поддерживаемая плата, для которой добавили поддержку сторонние разработчики.
Другими словами это даже не только для новичков, а для любого уровня лентяев от любителей до профессионалов, которые хотят меньше телодвижений. Например, даже профессионалу будет проще и приятнее использовать эти функции, даже если он знает как устанавливать битовые маски и регистры. Если он, конечно, не перфекционист.
Еще немаловажный пункт то, что у них в итоге это получилось сделать хорошо. Например, микроконтроллеры AVR, как по мне, очень просты, их приятно использовать и изучать. Взяли бы они ARM или что-то 32-х битное, то магии было бы меньше. Еще в статье не заметил упоминания, что это проект с открытым исходным кодом, это тоже немаловажный пункт, по которому и появилось миллион клоново.
Да, так что то, что я поменял на 0x0 лучше не стало, так что надеюсь кто будет использовать мои наработки, прочитает мои комментарии тут и поставит свой адрес адаптера :)
Это вопрос решил с помощью автоматизации. Одна автоматизация сохраняет последнее записаное значение температуры, а при перезапуске устанавливает его обратно. Перезапуск у меня странно работает, когда котел становится доступным вроде так или когда адаптер только загрузился или когда записаная температура не равна записаной. Да, наверно последний случай уже, точно не помню. (Но все три случая по ходу дела пробовал.) Ну я еще записываю и аварийную температуру и простую температуру одновременно, на всякий случай, чтобы оно всегда работало.
Да, когда мне написал человек с проблемой по котлу на прошлых неделях, то выложил все что есть на сегодняшний день в репозиторий :) . А с того момента успел написать скрипт на питоне, который можно использовать если HA вдруг отпадет, а такое было! (Но давно) Еще, т.к. стал увлекаться электроникой, изготовил заново адаптер через EasyEDA, т.е. по схеме, а не вручную. А вот сама интеграция почти не изменилась, сам удивился, но когда обновлял репозиторий, то ничего существенного не заметил, только адрес устройства поменял на 0, он у меня на 0xe и на 0x0 работает, подумал, что 0x0 более универсально. Но как выяснилось, что не все на 0x0 откликаются.
Я поставил температуру максимальную котлу, до того, как подсоединить адаптер ectoControl, это надо сделать и описано в документации к адаптеру. В самом руководстве подключения. Я про это забыл ему упомянуть, но на руководство ссылку дал.
Но я честно не тестировал плотно этот момент, с заниженной температурой не помню как будет работать. Сразу ставил максимум и все, как описано.
Интересная тема и я хотел бы ПЗА попробовать, но у меня это нереализуема по своим причинам, мощности котлу не хватает для этого. Но про что-то такое думал, да
Возможно мы об одном человеке говорим, на моем сайте к этой же статье много комментариев на днях было и у него не получается запись температуры, а так вроде бы все работает. Да, запись корректно приводится к диапазону, иначе у меня бы не работало. Плюс, все в открытом доступе, можешь посмотреть. Я как раз все выложил в открытый доступ, чтобы можно было подглядывать и уточнять. С написания статьи у меня мало что изменилось к сегодняшнему дню.
Видел вашу статью, но не стал вчитываться, посмотрел вскольз. Жалко, что мысль про создание интеграции мне не пришла в голову, возможно из-за того, что с Home Assistant мало работаю. Думаю, лучше начинать с вашей интеграции, потому что она выглядит полнее, но не нашел поддерживается ли электрический котел, у вас вроде все о газовом. В том числе поэтому не стал думать о переходе и тестирование вашей итеграции на моем котле, т.к. у меня уже все настроено и пока все хорошо работает, кроме ошибок в логах, они не исправились.
Важная информация, для тех, кто хочет попробовать что-то похожее. Обновить адаптер EBUS нельзя не через систему ectoControl. Поэтому все эти решения надо пробовать на свой страх и риск. Т.е. сейчас я не могу обновить свой адаптер, а уже вышли новые версии с исправлением ошибок и добавлением чего-то нового, информация о прошивках находиться на сайте ectoControl, в поддержке.
С одной стороны вы говорите правильные вещи, с другой на многое уже дал ответ в статье. Например, делать на Raspberry Pi Pico мне не хотелось, больше из-за того, что мне интереснее более детально разобраться в CH32V003, т.к. чаще его использую. Поэтому и на AVR слабо поглядываю, но в то же время мне AVR нравится, поэтому иногда и там что-то делаю охотно.
Схема энкодера возможно не правильная, но для понимания сути и принципов работы верная, т.к. по ней видно, что в местах, когда сигналы не совпадают происходит поворот. И этого достаточно, чтобы в коде реализовать правильный алгоритм.
И вы как-то странно написали по поводу продукта, т.к. в целом эта клавиатура полноценный продукт. Сделанная по фабричным технологиям, т.е. я могу сделать еще и еще такую же без проблем, они будут одинаковые. (Или заказать, файлы тоже на руках.) Здесь вопрос в целосообразности, цене и качестве. Но даже при этом, от этой клавиатуры до полноценного продукта не так далеко. Но ничего из этого не было моей целью, и это отразил в статье, потому что по сути это DIY клавиатура.
А с nrf52 и BLE соглашусь, эту технологию я еще всерьез не пробовал и хотел. Например, когда делал брелок с светодиодной матрицей, очень хотел добавить туда BLE, но оно не влезало.
Видел проект на Hackaday c BASIC, но там используется полноценная клавиатура (PS/2) и видеовыход (RCA). И похожий проект тоже планирую сделать. Но правда я задался вопросом, есть ли полноценная операционная система (другими словами компьютер) на микроконтроллерах, вот на AVR только этот вариант нашел, с TinyBASIC. Позже нашел что-то близкое на ОС у ESP32, но сильно не разбирался. На самом деле интересная тема, почему нет что-то похожее на MS-DOS для микроконтроллеров?
База это пецептрон и библиотеки вида Tensorflow, а это вайбкодинг, который устарет после выхода новой нейронки.
У такой самодельной платы одна очень существенная проблема, это нет металлизации отверстий, другими словами все что торчит и постоянно руками дергается, может быстро отвалиться. Например, гребенки, разъемы питания, а у меня постоянно отваливаются переключатели включения или выключения.
Я тоже недавно собирал свою Arduino UNO, хотя в целом очень доволен, но тоже лежит как экспонат, если надо чаще пользуюсь готовыми Arduino Nano.
А вы не думали тогда купить и вставить на плату готовый переходник USB to UART, ведь без этого переходника Arduino UNO теряет полностью свой шарм?
В принципе да, кажется, что ужать в один байт более чем реально, только пока воздержусь от такого эксперимента. Потому что, я в другом проекте сделал тот же самый алгоритм и мелодия получилась настолько с артефактами, что еле различима (все ужалось). С мелодией из статьи все хорошо получилось. Но если составлять мелодию вручную, то там наверно можно уйти в отрыв, а так то я везде пытался через скрипты автоматизировать.
Хотя, я просто остановился в оптимизации, когда мелодия уместилась в 1КБ, если бы не уместилась, то пробовал все дальше. :)
Да, есть такой момент, это сделано, чтобы можно было мелодии проще унифицировать. Но оно вроде не проблемное место, то, что три раза полезет за данными вроде не сильно занимает больше места в размере кода, а производительность в этом месте не нужна.
Но, согласен можно это место оптимизировать еще, у меня даже была такая мысль, но не понял как это сделать красиво.
Я случайно забрел в этот пост, потому что увидел минусы. Стало интересно почему так, и пока основным вижу причину, что от чтения статьи могут быть больше вреда, чем пользы. Просто потому что текст подан хаотично и надо самому за каждым словом лезть в гугл.
Вот теперь точно. :) Спасибо
Спасибо. Поправил.
Да, там в предложении слово частота два раза встречалось, т.е. одно было лишнее.
Там же внешняя флешка у Arduboy FX, у первого внешней флешки не было.
Не до конца понятно, что значит "без Arduino", вы же сами пользуетесь Arduino IDE и функциями вида digitalRead, pinMode, digitalWrite, а это Arduino. Аа.. понял, это потому что без отладочной платы Arduino, а на своей.
А почему не выбрали ATtiny13, кажется, что оно идеально подойдет сюда?
Еще, если хотите уменьшить потребление, можете уводить МК в сон и пробуждать его по нажатию на кнопке.
Для каждого интерфейса замучаешься писать, особенно если микроконтроллеров много. Прелесть ардуино, что digitaRead и digitalWrite работают одинаково для всех даже если это не поддерживаемая плата, для которой добавили поддержку сторонние разработчики.
Другими словами это даже не только для новичков, а для любого уровня лентяев от любителей до профессионалов, которые хотят меньше телодвижений. Например, даже профессионалу будет проще и приятнее использовать эти функции, даже если он знает как устанавливать битовые маски и регистры. Если он, конечно, не перфекционист.
Еще немаловажный пункт то, что у них в итоге это получилось сделать хорошо. Например, микроконтроллеры AVR, как по мне, очень просты, их приятно использовать и изучать. Взяли бы они ARM или что-то 32-х битное, то магии было бы меньше. Еще в статье не заметил упоминания, что это проект с открытым исходным кодом, это тоже немаловажный пункт, по которому и появилось миллион клоново.
Да, так что то, что я поменял на 0x0 лучше не стало, так что надеюсь кто будет использовать мои наработки, прочитает мои комментарии тут и поставит свой адрес адаптера :)
Это вопрос решил с помощью автоматизации. Одна автоматизация сохраняет последнее записаное значение температуры, а при перезапуске устанавливает его обратно. Перезапуск у меня странно работает, когда котел становится доступным вроде так или когда адаптер только загрузился или когда записаная температура не равна записаной. Да, наверно последний случай уже, точно не помню. (Но все три случая по ходу дела пробовал.) Ну я еще записываю и аварийную температуру и простую температуру одновременно, на всякий случай, чтобы оно всегда работало.
Да, когда мне написал человек с проблемой по котлу на прошлых неделях, то выложил все что есть на сегодняшний день в репозиторий :) . А с того момента успел написать скрипт на питоне, который можно использовать если HA вдруг отпадет, а такое было! (Но давно) Еще, т.к. стал увлекаться электроникой, изготовил заново адаптер через EasyEDA, т.е. по схеме, а не вручную. А вот сама интеграция почти не изменилась, сам удивился, но когда обновлял репозиторий, то ничего существенного не заметил, только адрес устройства поменял на 0, он у меня на 0xe и на 0x0 работает, подумал, что 0x0 более универсально. Но как выяснилось, что не все на 0x0 откликаются.
Я поставил температуру максимальную котлу, до того, как подсоединить адаптер ectoControl, это надо сделать и описано в документации к адаптеру. В самом руководстве подключения. Я про это забыл ему упомянуть, но на руководство ссылку дал.
Но я честно не тестировал плотно этот момент, с заниженной температурой не помню как будет работать. Сразу ставил максимум и все, как описано.
Интересная тема и я хотел бы ПЗА попробовать, но у меня это нереализуема по своим причинам, мощности котлу не хватает для этого. Но про что-то такое думал, да
Возможно мы об одном человеке говорим, на моем сайте к этой же статье много комментариев на днях было и у него не получается запись температуры, а так вроде бы все работает. Да, запись корректно приводится к диапазону, иначе у меня бы не работало. Плюс, все в открытом доступе, можешь посмотреть. Я как раз все выложил в открытый доступ, чтобы можно было подглядывать и уточнять. С написания статьи у меня мало что изменилось к сегодняшнему дню.
Видел вашу статью, но не стал вчитываться, посмотрел вскольз. Жалко, что мысль про создание интеграции мне не пришла в голову, возможно из-за того, что с Home Assistant мало работаю. Думаю, лучше начинать с вашей интеграции, потому что она выглядит полнее, но не нашел поддерживается ли электрический котел, у вас вроде все о газовом. В том числе поэтому не стал думать о переходе и тестирование вашей итеграции на моем котле, т.к. у меня уже все настроено и пока все хорошо работает, кроме ошибок в логах, они не исправились.
Важная информация, для тех, кто хочет попробовать что-то похожее. Обновить адаптер EBUS нельзя не через систему ectoControl. Поэтому все эти решения надо пробовать на свой страх и риск. Т.е. сейчас я не могу обновить свой адаптер, а уже вышли новые версии с исправлением ошибок и добавлением чего-то нового, информация о прошивках находиться на сайте ectoControl, в поддержке.
С одной стороны вы говорите правильные вещи, с другой на многое уже дал ответ в статье. Например, делать на Raspberry Pi Pico мне не хотелось, больше из-за того, что мне интереснее более детально разобраться в CH32V003, т.к. чаще его использую. Поэтому и на AVR слабо поглядываю, но в то же время мне AVR нравится, поэтому иногда и там что-то делаю охотно.
Схема энкодера возможно не правильная, но для понимания сути и принципов работы верная, т.к. по ней видно, что в местах, когда сигналы не совпадают происходит поворот. И этого достаточно, чтобы в коде реализовать правильный алгоритм.
И вы как-то странно написали по поводу продукта, т.к. в целом эта клавиатура полноценный продукт. Сделанная по фабричным технологиям, т.е. я могу сделать еще и еще такую же без проблем, они будут одинаковые. (Или заказать, файлы тоже на руках.) Здесь вопрос в целосообразности, цене и качестве. Но даже при этом, от этой клавиатуры до полноценного продукта не так далеко. Но ничего из этого не было моей целью, и это отразил в статье, потому что по сути это DIY клавиатура.
А с nrf52 и BLE соглашусь, эту технологию я еще всерьез не пробовал и хотел. Например, когда делал брелок с светодиодной матрицей, очень хотел добавить туда BLE, но оно не влезало.