Если я правильно вас понял, то, имхо, таких примеров очень много: есть очень крупный международный: https://sensor.community - у них и прошивка открытая и железо не сложно собрать (NodeMCU) - есть прямо со ссылками на али, и покрытие по всему миру.
В России есть народный мониторинг еще.
Это два очень крупных проекта - один в пределах земного шара, второй - страны.
Не очень понятно, зачем паять? Почему не заказать сборку прямо в Китае (тотже JLCPCB)? Чтобы как-то таможенные расходы уменьшить?
Зачем вообще данное устройство при наличии вороха метеостанций, в том числе с WiFi на борту и свозможностью отправки данных куда угодно?
Кроме того на NodeMCU такое устройство очень бюджетно сооружается из готовых модулей с али (в том числе и с экраном из адресных диодов) - дальше только ваша фантазия в прошивке, причем писать ее также достаточно просто благодаря куче готового инструментария и библиотек под NodeMCU.
Кто целевая аудитория вашего устройства? Зачем кому-то вобще его покупать и делиться значенями того, что оно намеряло?
Не сочитите за критику, но выглядит это все как очередной хипстерский стартап.
Как там живется среди единорогов и розовых пони? :D
Техдолг появляется вне зависимости покрыто-ли у вас все тестом, написано-ли максимально хорошо, соблюдая все лучшие принципы или нет.
Причины:
Бизнес и его быстро меняющиеся требования, которые в принципе невозможно учесть, при этом ему нужно как можно быстрее их внедрить, иначе смысл их поропадет, а прибыль будет упущена
Развитие ПО - языки, окружение и инфраструктура сами постоянно меняются и совершенствуются. Как вы бы смогли, например, дцать лет подготовиться к контейнеризации?
Поэтому техдолг есть и будет всегда, но его нужно не бояться, а уметь с ним работать.
Без обид, столько было затрачено сил, при этом в самой клавиатуре ничего толком не поменялось по сравнению со стоком - какой в этом был смысл? Своя прошивка?
Если Вы хотели клавиатуру только с low-profile и подсветкой - чем не подошел Havit/Keychron?
Я тоже разрабатываю свою клавиатуру, но именно потому, что найти то, что я хочу в продаже просто не реально. А хочу я, на самом деле много:
low-profile brown
даблшоты
подсветку символов, а не щелей
возможность изменения подсветки при смене языка, и вообще апи для нее
полную, нормальную раскладку с г-образным Enter и нормальной длиной шифтов.
отстегивающуюся на магнитах подставку под запястье
отстегивающийся на магнитах num-pad, который можно пристегнуть как слева, так и справа + он может отдельно работать сам по себе по USB
регулятор громкости в виде ролика (а не крутилки) над стрелкой курсора "вправо"
такой-же регулятор над стрелкой курсора "влево", отвечающий за яркость подсветки и ее переключение
медиа-клавиши плей/пауза/вперед/назад и индикаторы клавиатуры снизу под пробелом
верхняя часть клавы полностью из куска гнутого алюминия
Еще раз - не в коем случае не хочу ничем обидеть - но у вас не понятно зачем кастом и внешний вид весьма на любителя, при этом очень много сил было потрачено.
И он абсолютно прав - если проблему можно решить просто отмасштабировавшись - это не проблема. Он смотрит с тз бизнеса, вы - как технарь. Об этом стоит помнить, принимая решения об оптимизации, в тч кэшировании.
Ну и большинство проблем, вами описанных, можно решить комбинированно, если это и поддержка этого будет стоить меньше простого масштабирования.
В безопасности чем тише и незаметне вы будете - тем лучше.
Зачем нужно приветствие голосом? Оно ЧСВ Вам греет? Поставьте датчик открытия двери с задержкой и уже в квартире можете сделать, чтобы вам сказали "Ваша вечная раба радуется хозяину" - будет и безопасно и ЧСВ в порядке :) Не знаю как у остальных - а у меня кроме раздражения все эти голосовые приветствия ничего не вызывают.
Что делать будете, если ридер сдохнет? Или его испортят (шоккером), или ардуина откажет, т.к. это не factory-железка с оговоренной надежностью + сама схема на платке ардуино не сказать что прямо правильно и надежно разведена по всем правилам.
Ну и т.д.
Т.е. как выпускной проект это еще на что-то тянет, а вот на реальное использование - нет - уж извините.
Для создателей супераппов в аду стоит отдельный огромный котел, который и не совсем котел, а иногда - кастрюля, и не совсем там жарятся, а иногда просто варятся, иногда в воде, иногда в масле.
Я на ATTINY-85 делал FFT 8bit с целочисленным LUT для sin/cos и она занимала памяти совсем чуток (нужно только до 45 градусов хранить) причём одна и для sin и для cos - все выводится отлично на ходу - вообще никаких проблем.
Ради такого и читаешь хабр, жаль редко появиляются статьи такого уровня.
Спасибо вам за отличный материал от человека, который когда-то писал свой собственный сниффер на базе WinPCap-а и даже написал, но давно уже все забыл )
Самый главный вопрос остался не раскрыт - какая механика у замка?
Просто защёлка? Или ригель реально закрывается? Или он просто в виде накладки?
Возможно-ли его установить основным замком на железную дверь? (там запирание обычно в 3 стороны)
Возможно-ли поставить на сувальдный замок, а не на быстро вскрываемый английский?
Все что-то про электронную безопасность, ок, а что с механикой?
P.S. для гостиниц выпускаются достаточно дешёвые защелки - соленоид и ригель внутри - этакий электронный шпингалет, покупали его по 16$ за штуку включая исполнитель на ESP (wifi/ble) - для надежного закрытия не подойдёт, для суточных/гостиниц - вообще отлично (ключи от основного замка в квартире/номере, защёлка используется при заселении).
Главная проблема в том, что подход "пропсы вниз - сообщения вверх" придуманы не просто так, а чтобы не распутывать потом клубок "кто-же где-же таки изменил эту переменную?!"
По-этому, ИМХО (и собственно так в официальной документации) - инжектить любую переменную нужно через readonly вместе с методом, который может эту переменную изменять, и в компоненте не изменять данную переменную напрямую, а использовать метод. Это реально уберегает от очень многих головняков (хотя бы потому, что для простой отладки будет достаточно добавить в данный метод печать трейса, чтобы понять "кто-же где-же").
Исключения, естественно, есть - очень тесно связанные компоненты и не более одного уровня (т.е. родитель-ребенок). Например табы (родительский холдер и его дети, собственно, сами табы). Но и там, чтобы не плодить "везде делаем так, а вот здесь можно не так" и поддерживать некоторую гомогенность системы, я бы все сделал через readonly + метод.
Если я правильно вас понял, то, имхо, таких примеров очень много: есть очень крупный международный: https://sensor.community - у них и прошивка открытая и железо не сложно собрать (NodeMCU) - есть прямо со ссылками на али, и покрытие по всему миру.
В России есть народный мониторинг еще.
Это два очень крупных проекта - один в пределах земного шара, второй - страны.
Не очень понятно, зачем паять? Почему не заказать сборку прямо в Китае (тотже JLCPCB)? Чтобы как-то таможенные расходы уменьшить?
Зачем вообще данное устройство при наличии вороха метеостанций, в том числе с WiFi на борту и свозможностью отправки данных куда угодно?
Кроме того на NodeMCU такое устройство очень бюджетно сооружается из готовых модулей с али (в том числе и с экраном из адресных диодов) - дальше только ваша фантазия в прошивке, причем писать ее также достаточно просто благодаря куче готового инструментария и библиотек под NodeMCU.
Кто целевая аудитория вашего устройства? Зачем кому-то вобще его покупать и делиться значенями того, что оно намеряло?
Не сочитите за критику, но выглядит это все как очередной хипстерский стартап.
Nox и Divinity у меня стоят в одном ряду с BG, Готикой и Fallout - это реально лучшие игры из всех, когда-либо выходивших.
Diablo даже близко рядом не лежало.
Это значит, что нужно постоянно закладывать время и деньги на работу с ним, а то, что заложенно, постоянно использовать, не давая ему расти.
Как там живется среди единорогов и розовых пони? :D
Техдолг появляется вне зависимости покрыто-ли у вас все тестом, написано-ли максимально хорошо, соблюдая все лучшие принципы или нет.
Причины:
Бизнес и его быстро меняющиеся требования, которые в принципе невозможно учесть, при этом ему нужно как можно быстрее их внедрить, иначе смысл их поропадет, а прибыль будет упущена
Развитие ПО - языки, окружение и инфраструктура сами постоянно меняются и совершенствуются. Как вы бы смогли, например, дцать лет подготовиться к контейнеризации?
Поэтому техдолг есть и будет всегда, но его нужно не бояться, а уметь с ним работать.
Удобней снизу смотреть статусы + там место есть и под углом клавиши светодиоды статусов не загораживают.
Без обид, столько было затрачено сил, при этом в самой клавиатуре ничего толком не поменялось по сравнению со стоком - какой в этом был смысл? Своя прошивка?
Если Вы хотели клавиатуру только с low-profile и подсветкой - чем не подошел Havit/Keychron?
Я тоже разрабатываю свою клавиатуру, но именно потому, что найти то, что я хочу в продаже просто не реально. А хочу я, на самом деле много:
low-profile brown
даблшоты
подсветку символов, а не щелей
возможность изменения подсветки при смене языка, и вообще апи для нее
полную, нормальную раскладку с г-образным Enter и нормальной длиной шифтов.
отстегивающуюся на магнитах подставку под запястье
отстегивающийся на магнитах num-pad, который можно пристегнуть как слева, так и справа + он может отдельно работать сам по себе по USB
регулятор громкости в виде ролика (а не крутилки) над стрелкой курсора "вправо"
такой-же регулятор над стрелкой курсора "влево", отвечающий за яркость подсветки и ее переключение
медиа-клавиши плей/пауза/вперед/назад и индикаторы клавиатуры снизу под пробелом
верхняя часть клавы полностью из куска гнутого алюминия
Еще раз - не в коем случае не хочу ничем обидеть - но у вас не понятно зачем кастом и внешний вид весьма на любителя, при этом очень много сил было потрачено.
Где методология исследования?
БОльшиниство умных домов по моим ощущениям на HomeAssistant / Node-RED.
И он абсолютно прав - если проблему можно решить просто отмасштабировавшись - это не проблема. Он смотрит с тз бизнеса, вы - как технарь. Об этом стоит помнить, принимая решения об оптимизации, в тч кэшировании.
Ну и большинство проблем, вами описанных, можно решить комбинированно, если это и поддержка этого будет стоить меньше простого масштабирования.
В безопасности чем тише и незаметне вы будете - тем лучше.
Зачем нужно приветствие голосом? Оно ЧСВ Вам греет? Поставьте датчик открытия двери с задержкой и уже в квартире можете сделать, чтобы вам сказали "Ваша вечная раба радуется хозяину" - будет и безопасно и ЧСВ в порядке :) Не знаю как у остальных - а у меня кроме раздражения все эти голосовые приветствия ничего не вызывают.
Что делать будете, если ридер сдохнет? Или его испортят (шоккером), или ардуина откажет, т.к. это не factory-железка с оговоренной надежностью + сама схема на платке ардуино не сказать что прямо правильно и надежно разведена по всем правилам.
Ну и т.д.
Т.е. как выпускной проект это еще на что-то тянет, а вот на реальное использование - нет - уж извините.
Для создателей супераппов в аду стоит отдельный огромный котел, который и не совсем котел, а иногда - кастрюля, и не совсем там жарятся, а иногда просто варятся, иногда в воде, иногда в масле.
Ну вы поняли.
BluePill хватит заглаза вместо такого монстра, если уж делать.
Ну это будет стрельба межконтинентальной пушкой по воробьям, но работать, естественно, будет.
Я на ATTINY-85 делал FFT 8bit с целочисленным LUT для sin/cos и она занимала памяти совсем чуток (нужно только до 45 градусов хранить) причём одна и для sin и для cos - все выводится отлично на ходу - вообще никаких проблем.
Ради такого и читаешь хабр, жаль редко появиляются статьи такого уровня.
Спасибо вам за отличный материал от человека, который когда-то писал свой собственный сниффер на базе WinPCap-а и даже написал, но давно уже все забыл )
Е мае! С возвращением! Ну и как всегда - божественно! Даже для такого человека, как я, который рисовать толком не умеет, только обрабатывать)
Как и те, кто украли ваш телефон и пришли с ним по адресу... /sarcasm
Самый главный вопрос остался не раскрыт - какая механика у замка?
Просто защёлка? Или ригель реально закрывается? Или он просто в виде накладки?
Возможно-ли его установить основным замком на железную дверь? (там запирание обычно в 3 стороны)
Возможно-ли поставить на сувальдный замок, а не на быстро вскрываемый английский?
Все что-то про электронную безопасность, ок, а что с механикой?
P.S. для гостиниц выпускаются достаточно дешёвые защелки - соленоид и ригель внутри - этакий электронный шпингалет, покупали его по 16$ за штуку включая исполнитель на ESP (wifi/ble) - для надежного закрытия не подойдёт, для суточных/гостиниц - вообще отлично (ключи от основного замка в квартире/номере, защёлка используется при заселении).
Зачастую люди не готовы слышать то, что не хотят услышать. Как-то так.
Проверено.
По-этому Таро, Гадалки, УспешныйУспех и всякая другая жесть в разы популярней, чем поход к человеку/компании, разбирающихся в теме.
Главная проблема в том, что подход "пропсы вниз - сообщения вверх" придуманы не просто так, а чтобы не распутывать потом клубок "кто-же где-же таки изменил эту переменную?!"
По-этому, ИМХО (и собственно так в официальной документации) - инжектить любую переменную нужно через readonly вместе с методом, который может эту переменную изменять, и в компоненте не изменять данную переменную напрямую, а использовать метод. Это реально уберегает от очень многих головняков (хотя бы потому, что для простой отладки будет достаточно добавить в данный метод печать трейса, чтобы понять "кто-же где-же").
Исключения, естественно, есть - очень тесно связанные компоненты и не более одного уровня (т.е. родитель-ребенок). Например табы (родительский холдер и его дети, собственно, сами табы). Но и там, чтобы не плодить "везде делаем так, а вот здесь можно не так" и поддерживать некоторую гомогенность системы, я бы все сделал через readonly + метод.