Как стать автором
Обновить

Комментарии 115

А не проще взять было модуль NRF52?
И железо нормальное и сеть интегрирована
Может кому-то и проще.
Вы поймите одну маленькую вещь. Пока вы будете строить такой проект как умный дом, многое уже может морально устареть, сейчас каждый день выходят новые модули в 100 раз лучше чем были вчера, будете каждый день хвататься за новое и переделывать уже сделанное, никогда ничего не сделаете до конца вообще.
Лучше уже довести свои задумки пусть и со старыми технологиями до конца, а уже потом начать по новой всё обновлять, постепенно, не ломая работу старого, при этом у вас уже будет рабочий умный дом.
А можно попробовать абстрагироваться так, что смена МК не будет вести за собой глобальную переделку всей системы?
Абстрагируйтесь, я ж не против.
Сложно абстрагироваться за кого-то в его собственном проекте.
НЛО прилетело и опубликовало эту надпись здесь
Точно? Вот nRF52 уже лет 5 на рынке и пока они одни из лучших и как-то не очень популярность теряют.

А AVR-ам 25 лет, и я их начал изучать когда ваши nRF даже никто создавать не панировал.
Не вижу смысла изучать их, чтобы делать только лишь устройства для умного дома.
Лучше буду использовать то, что уже знаю.

Если выходит что-то новое, разве это означает, что нужно использовать что-то, что устарело много лет назад?

Ну это ваше мнение и не более. А по факту что имеем, вот есть задача сделать термостат к примеру, я сделаю на AVR, вы на STM, кто-то на nRF, а кто-то и вообще возьмёт лате панду, да-да, лате панду, может для него вопрос денег вообще не стоит. И то что я и вы не может себе позволить лате панду для такого это сугубо наши проблемы. Если человека это устраивает, то почему нет. Ни нам его судить!
Вам нужно изучачать новое! ARM микроконтроллеры это лучшее что сейчас есть!
Чтобы поморгать светодиодом? Я, вообще, из другого лагеря, для меня PIC16F73 за глаза на всё. RS485 прикрутил, и в бой. Кто к чему привык, короче говоря (ESP/AVR/NFR/ etc), остальное — религия. Инструменты разные, цель одна.

В подрозетник должно вмещаться, я тут плохо вижу размеры. Много пустого места на плате. Видимо, габариты не важны. Там в круг надо вписаться.
Я ж НЕ ПРОТИВ, я просто в этом посте ответил на вопрос, почему я использовать 128 мегу, а не тиньку. Да-да, тут есть такие люди у которых комом в горле встал это вопрос и им почему-то не всё равно кто и на чём что делает. Мне вот всё равно :)
Кто к чему привык, короче говоря (ESP/AVR/NFR/ etc)

ПОЛНОСТЬЮ СОГЛАСЕН! Всё остальное действительно религия и тараканы каждого.
Пожалуй это единственный умный комментарий из всех :( все остальные в силу разных причин пытаются навязывать каждому что-то своё.
А я 12-13 лет назад как раз и выбирал, что начать изучать AVR или PIC. Всё таки остановился на AVR, вроде тогда для них примеров побольше было и проще было осваивать с нуля самому без чьей либо помощи.
RemoteXY если есть желание помигать светодиодом с телефона, можно через интернет
А теперь вопросы:
1) понадобится ли такое огромное количество GPIO для IoT устройства?
2) где такое же (или хотя бы половина) контактов на землю\питание? удобно\универсально ли подключать периферию?
3) не многовато ли пустого места на плате?
4) программатор с 6 пинами. уже такие на aliexpress, не с 10ю?
5) можете для себя ответить на вопрос, а чем эта плата будет лучше esp32 d1 mini (сейчас ~280 руб.). WiFi у них (и esp8266) куда стабильнее и дальнобойнее (и хотя бы имеет хоть какое-то шифрование), чем у используемой вами nrf (к которой я бы ещё конденсатор припаял), а для километровых дистанций NRF24L01+PA+LNA или см. LoRa.
1) понадобится ли такое огромное количество GPIO для IoT устройства?

Даже если не понадобится то и что? Это всё равно что вам говорят вот выбирайте за ваши 5 тыщ баксов или жигули, или ауди, вы такой, а понадобится мне ехать со скоростью 280 км/ч нет, и берёте жигули. По моему это просто не разумно.
2) где такое же (или хотя бы половина) контактов на землю\питание? удобно\универсально ли подключать периферию?

Тут соглашусь, но всё решаемо!
3) не многовато ли пустого места на плате?

Это же не портативные устройства чтобы за каждый миллиметр бороться.
4) программатор с 6 пинами. уже такие на aliexpress, не с 10ю?

Я начинал ещё тогда, когда на алишке таких программаторов и в помине не было, у меня свой самодельный, им и программирую.
5) можете для себя ответить на вопрос, а чем эта плата будет лучше esp32

Смотрите ответ на 4 вопрос, нет времени разбираться в новых модулях, лучше делать и писать на том, что уже знаешь, иначе ничего не сделаешь. Завтра могут выпустить новую плату за 10 баксов с производительностью как у ноута, а ещё через неделю в 2 раза мощнейшую. Каждую неделю будете свои устройства переделывать под новое?
Тогда вы можете в погоне за передовым угодить в яму, когда до релиза дело вообще не дойдёт.
1) И, к сожалению, вы взяли медленное (по CPU) жигули.
3) Ну ок. А где же тогда 4ый винт в месте концентрации большей части GPIO, собственно этот угол и будет испытывать максимальное давление :) тем более там разъём программатора.
4) а о людях думать не надо?
5) да! я тоже начинал с AVRок и после появления ESP8266 забыл о них для домашней автоматизации как страшный сон. Наличие WiFi позволяет настраивать устройства на месте вообще без компьютеров и одна прошивка может иметь одновременно кучу функционала (и управление реле в том числе через сдвиговые регистры и сбор показаний датчиков и обеcпечение работы mesh сети).
4) а о людях думать не надо?

Так я же не на продажу делаю, для себя, я никому не собираюсь это продавать, выдавать за идеальную плату и навязывать её всем и каждому. Просто выложил свои наработки, кто-то зашёл, посмотрел, что-то подчерпнул, остальное посчитал го… ном, ЭТО НОРМАЛЬНО. Я и сам иногда со статьи беру лишь малую часть какой-нибудь идеи. И ЭТО УЖЕ ХОРОШО, значит не зря автор писал.
НЛО прилетело и опубликовало эту надпись здесь
Это я учту.
3) Ну ок. А где же тогда 4ый винт в месте концентрации большей части GPIO, собственно этот угол и будет испытывать максимальное давление :) тем более там разъём программатора.

Вот так всегда, ни понос, так золотуха :)
Ну да, СОГЛАСЕН, ПРИЗНАЮ, не хватило места для болтика одного. Ну во-первых, я планирую сначала прошивать, а уже потом устанавливать. Так что программироваться плата будет сразу, и только потом вставляться куда следует.
Даже если потом со временем я захочу подшаманить прошивочку, то уже как-нибудь 1 раз аккуратно тыркану программатор, это же всё таки текстолит, а не картонка. Пальчиком или изогнутым пинцетом придержу чтобы плата не прогибалась и подключу программатор, не раздувайте из мухи слона. Нашли что пришить :)
1) И, к сожалению, вы взяли медленное (по CPU) жигули.

Для обычных устройств 128 мега более чем достаточно, во всяком случае для меня.
Для главного устройства, ещё подумаю.
Не изобретайте велосипед. Возьмите для главного модуля одноплатник типа распберри. Вам никогда не догнать по функциональности и отлаженности то, что сейчас уже есть готовое в этой области. А для периферийных модулей маленький размер важнее чем копейки разницы в цене. Отсутствие проводов это тоже огромный плюс. Самый простой вариант с ESP8266 и дешевле и удобнее вашей платы с мегой. Плюс полный интернет уже готовых решений. Бери и пользуйся. Десяток печатных плат сейчас стоят 5$ и нет смысла делать одну универсальную на все случаи жизни. Тысячи людей уже прошли путь изобретения умного дома с нуля собирая по пути все грабли, которых там тысячи и которых не видишь в начале пути. Желаю вам использовать их опыт.
Отсутствие проводов это тоже огромный плюс.

Для меня это минус, минус в надёжности, беспроводная сеть может пропадать, даже вот роутер в квартире, нет-нет да и пару раз в год приходится физически перегружать, ну и нафига мне такое нужно.
А вот с сетью на ADM488 ничего перезагружать не надо будет, там всё низкоуровневое и ломаться просто нечему.
Не изобретайте велосипед. Возьмите для главного модуля одноплатник типа распберри.

Над этим можно подумать.
А провода длиной более 30 метров (ну к бане, парникам, системе полива...) планируются?
Планируется общая шина на ADM488 от дома к другому концу двора. А там уже все остальные устройства будут подключаться к этой протянутой общей шине более короткими по длинне проводами.
Сколько мой двор по длинне сказать трудно, я пока метром не мерял. Но что-то в районе 30-50 метров где-то. А что, какие-то проблемы намечаются? Буду рад если расскажете!
Хотя я уже тестировал эти модули с длинной проводов 15-20 метров, всё было идеально.
Фотографию практического процесса подключения нового устройства к шине можете выложить? Вот это было бы реально полезно увидеть, тем, кто собирается делать сеть на проводах.
видимо автор далек от промышленной автоматики,
внешний проводной интерфейс всегда следует гальванически развязывать от управляющей схемы.
а еще, видимо, плата выполнена в таком виде что ее не поставить в корпус. правильнее было бы подобрать коробку и под ее размеры делать плату. наружу вывести разъем или клемник по краю.
image
То есть моя плата НИ В КАКУЮ из приведённых вами коробочек не поместится?
ДА ЛАДНО? Размеры моей платы примерно 8 на 8 сантиметров, как минимум коробочки есть в 2 раза больше, для 4 таких плат как у меня! Ну и собственно кто вам сказал что я буду их размещать в таких коробочках? Сами придумали что я зачем-то должен использовать именно такие коробочки и что в них платы не влезут, а потом начали критиковать, ну вы молодец конечно.
весьма стремное решеніе іспользовать голую плату без корпуса, да і выходных цепей на управленіе светом тут не відно. значіт будет колхоз на монтажках і проводах.
К этой плате шлейфом подключиться другая плата, заточенная уже именно под управление светом, И ЭТО НОРМАЛЬНОЕ решение, если у вас есть машина, то там тоже не ОДНА ПЛАТА на всю машину, а разбито всё на модули, которые соединяются ПРОВОДАМИ!
Так что не говорите ерунды!
Все проблемы стандартны: помехи от «качественного» источника питания, наводки, подключение новых устройств, сбой одного — страдает вся шина (и искать такую проблему то ещё удовольствие).
Для меня это минус, минус в надёжности, беспроводная сеть может пропадать,

С длинными проводами проблем больше чем с радиоканалом. Разводка вашей платы не выглядит особо надёжной. Не вижу правильной земли. Ещё посмотрите схемотехнику промышленных устройств с RS485, там не просто 2 проводка от микросхемы до разъема. NRF24L01 так себе решение для умного дома, особенно китайский вариант. В пределах комнаты работает. Если квартира или дом или хотя бы одна стена по пути то не факт что везде будет работать. На улице 50 метров надёжная связь, а дальше как повезёт. Перемещение модуля в пространстве на 15 см может привести к полной потере связи.
НЛО прилетело и опубликовало эту надпись здесь
Если я начну делать на том что не знаю, вроде EtherCAT, вы первый скажете что я идиот и всё сделал не правильно :)
НЛО прилетело и опубликовало эту надпись здесь
А для периферийных модулей маленький размер важнее

Для меня нет! Не надо обобщать. У всех разные критерии. У меня места в доме полно под модули. Так что для вас размер важный аргумент, а для меня нет, и это нормально, не надо всех грести под одну гребёнку, типа если мне не подходит, то и тебе не должно подходить :)
Имхо, никаких беспроводных штучек в умном доме без необходимости. Эти вайфаи — источник незакрытых дверей, мерцающего света и др. Даже обычных глюков «умнодомных девайсов» хватает, а уж на беспровод если помножить… Беспровод тянет за собой необходимость tcp, подтверждения от контроллеров о принятии команды и тому подобное.
ПОЛНОСТЬ СОГЛАСЕН. Потому лучше кинуть провода и забыть и всё.
Как подключать провода к этим штыревым разъёмам? Паять ответную часть можно только на провода определенного диаметра. Советую просто клемммники под винт или с защёлкой. Тип такого
Я припаиваю к металическим дюпонам шлейф или как там они называются:
image
Но есть и специальные обжимники, чтобы этими дюпонами обжимать тоненький многожильный провод, вот такой:
image
8-ми битки ещё есть смысл использовать в случаях когда:
1) Периферия дико старая и требует уровни в 5 вольт.
2) Надо минимальный размер при требовании ручного монтажа (но тут вылезает attiny13a) — 8 ног у soic таракана это идеально и паябельно чем угодно
3) Этих самых AVR в коробке валяется туча
4) Мы делаем девайсину с тиражем в 10000шт (и то, надо оценить, как сэкономить и не прогадать в надёжности, может надо таки будет откатиться на тиньку)
Во всех остальных случаях проще изначально в проект вставить что-то на Cortex-M0 в случае нормальной разработки, а в случае ардуино — сразу перейти на esp и компанию.
ESP сразу убираем при батарейном питании
Да и сотни WiFi устройств — тот еще геморняк, особенно после отключения электричества )))
Никто WiFiMesh не пробовал вживую поднимать?
Сотни устройств в ардуино-стиле это гарантированный сценарий для фильма ужасов =) А так M0+Zigbee/LoRa и прочие нормальные IoT протоколы, если делать нормально.
НЛО прилетело и опубликовало эту надпись здесь
Именно, я же не указываю как вам делать, доколупаться всегда можно, как бы ни сделали всегда будут косяки к которым при желании можно будет доколупаться, ГЛАВНОЕ ЧТОБЫ РАБОТАЛО и чтобы вы могли обслуживать это если что-то сломается. Всё остальное сугубо предпочтения каждого AVR, STM, nRF, ESP — БЕЗ РАЗНИЦЫ что использовать! Главное сделать работающее устройство!
Похоже тут очень мало людей которые так считают, что файвай геморой ещё тот.

Добавлю ещё пару пунктов, когда лучше использовать 8 бит.


  • нужна максимальная надёжность железа, в том числе eeprom, ram и flash с прошивкой на одном кристалле,
  • нужен расширенный тепловой диапазон, в том числе при продолжительной работе (это корпуса qfn с термопадом),
  • нужна максимальная надёжность прошивки (8 бит реально «вылизать» так, чтобы прошивка работала вечно),
  • нужна устойчивость контроллера к разным электрическим неприятностям, как по питанию, так и по входам-выходам.
Многим не понравилось что свой диммер я делаю на базе микроконтроллера ATmega128. Поэтому хочу объяснить, почему используется именно этот микроконтроллер
Блин! Ожидал обоснование, почему всего лишь Mega, а не навороченный STM. А тут — почему Mega128, а не Mega8…
Это обоснование сродни тому, что лучше, Windows или Linux.
В такую яму я влазить не буду. Кому что нравится, тот то пусть и использует. Да даже если кто-то тиньки привык использовать, пускай и использует, если за те же деньги не хочет получить большее, ЭТО ЕГО ПРАВО! Не нам их судить.
Ух ты, монтаж через дырочки. Олд скул однако. Это какая-то принципиальная нелюбовь к SMD компанентам?
НЛО прилетело и опубликовало эту надпись здесь
Ну я же не говорю что впаивание вручную smd компонентов то ещё извращение с микроскопом и пинцетами.
Для этого есть специальные установщики smd компонентов, и такие платы заказывать надо уже, а не дома на коленке вручную smd платки паять.
НЛО прилетело и опубликовало эту надпись здесь

Все чипы на ваших иллюстрациях в статье — подделка. Оригинальная ATMega2561 стоит около девяти долларов в партиях от 260 штук.
В этом можно легко убедиться, растворив корпус вашей и оригинальной микросхем.
Я бы не стал поддельным чипам автоматику доверять, как бы чего не вышло.

Я бы не стал поддельным чипам автоматику доверять, как бы чего не вышло.

Допустим глюканул мой термостат или регулятор яркости, или термометр, или ещё что-то. Ну и что? Куплю и впаяю оригинальные, а эти повыбрасываю. Буду знать что это барахло. Но пока всё работает за копейки и сбоев в работе не обнаружено! Жизненно важные устройства я и не делаю. Даже оригинальная электроника ломается и никто к ним многомиллионые иски не подаёт, когда вдруг телик самсунга сломался или микроволновка LG не работает. В лучшем случае вам заменят по гарантии, в худшем, после истечения пары лет, будете ремонтировать за свои деньги, ХОТЯ ТАМ СТОЯТ оригинальные детали.
Хотя конечно я не призываю использовать неоригинальное, просто лишь хочу сказать что вы прямо так сильно всё утрируете. Как будто от моего устройства зависит ваша жизнь и жизнь всего человечества.
Но читая такие статьи, кто-то может пойти по пути «О, так вот где надо брать дешевле!» и сделать на отбракованном кристалле уже что-то более опасное. К примеру очень прикольно бывает, когда открываются сразу все ключи моста, либо открываются на совершенно не то время, которое надо было. В статью желательно в таком случае добавить предупреждение, что при покупке на али ниже цены производителя, легко нарваться на подделку или отбраковку, которая может дать прикурить.

Я написал это предупреждение, так как мы занимаемся серийным производством устройств автоматики для умного дома, в том числе на базе таких же чипов. И сталкивались с подделками разного качества.
Представьте, например, что у вас тёплый пол не выключится вовремя и сгорит (а может и загореться). Или автоматика отопления перегреет воду и пластиковые трубы «потекут». Ущерб будет на несколько порядков выше разницы цены оригинальной микросхемы и подделки.
P.S. Я один из разработчиков устройств MegaD.

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

Было бы интересно.


А сколько они раньше стоили, до того как Микрочип поняли, что их только любители покупают? Ибо stm32f411, который на black pill, стоит вдвое дешевле 2561.

Мне тоже AVR по душе, гораздо больше чем всякие новомодные стм32, у которых еррата толще чем сам даташит. Хотя жирные ARM-ы тоже несколько раз ставил, где без них совсем нельзя обойтись. Где обойтись можно — старые добрые межки и тиньки.
Мозги. Правда, не умного дома, но довольно близко
image

Тонкая Errata у древних AVR, возьми какую-нибудь новую тиньку, типа tiny212 и там для последней ревизии чипов в Errata 21 пункт. Для сравнения у таких же новых STM32G0 — 33, у STM32H750 — 45. А если у этого H750 не использовать Ethernet/CEC/SDMMC/FDCAN/QUADSPI, которых у AVR все равно нет, то остается 23...

Да, тонкая, можно и так сказать…
Разница тут в самом подходе. Производительность и фичи стм32 помноженные на доступность — впечатляют, и позволяют то что раньше было сделать не на чем. Только реализовано многое халтурно и по-дурацки… У авр-ок наоборот — всё простенькое, но реализовано так добротно как это вообще возможно. И вот второй подход мне по душе куда больше. А с другой стороны, многое из функционала авр-ок никто больше предложить и не может. Скажем, любая авр-ка с TWI умеет выходить из полной спячки по совпадению адреса I2C. У стм32 это продвинутая фича, для которой надо брать F4+, лол (да и сам I2C какой-то уродский «для сброса флага запишите SR1 затем прочитайте SR2»). Тот же дифференциальный режим АЦП (не всем девайсам нужны 480 МГц и XGA-дисплей, девайсы вида «вход термопары, 3 семисегментника и релюшка» тоже на чём-то надо делать). Ещё легко реализовать шим в 4 такта:
ld r16,x+ / cmp r17,r16 / rol r18
ld r16,x+ / cmp r17,r16 / rol r18
...

Ещё и выдавая параллельно с этим предыдущий байт в 595-е через SPI.
Или вот протокол WS2812 недавно писал — на 4 канала одновременно, с чтением данных из внешней SPI SRAM. Далеко не всё можно провернуть на Си, а ассемблер у армов сильно заточен под компиляцию, писать на нём что-то вручную я даже не пытаюсь.

I2C работает в режиме Stop даже на простых сериях типа F0/L0/G0. Не работает в Standby, но L0 в Stop потребляет меньше 1uA. У современного 8-ми ногого G0 целых 9 таймеров, у трех из них 4-х канальный ШИМ, один таймер может работать на удвоенной частоте(128 Mhz) и гонится вместе с мк более чем в 2 раза, сложно представить ситуацию когда бы для STM32 пришлось делать ШИМ ногодрыгом… Но при желании можно, причем на некоторых сериях быстрее даже в тактах, не считая намного большие частоты, а на любых кроме M0+ можно выводить в порты при помощи DMA, хоть 16 бит сразу и также начиная от 4-х тактов. И для WS2812 подходит, хотя обычно используют DMA + ШИМ, при этом мк 98% времени будет простаивать, а типичный подход для AVR — это блокирующая передача при помощи SPI. Опять же когда много RAM, то и подключать SPI SRAM нет никакого смысла, я разве что 8МБ PSRAM подключал к QUADSPI, причем в новых сериях все разруливается автоматически и к внешней RAM можно обращаться как ко встроенной. На ассме тоже пишу в самом крайнем случае, начиная со стартапа все на C++ и тут AVR также подкачал, потому как многие хедеры для современного C++ в GCC просто отсутствуют. В итоге практически единственное преимущество AVR — это простота :)

НЛО прилетело и опубликовало эту надпись здесь
Справедливости ради, та же мега128 цивилизованно отлаживается через JTAG.
Проблемы использовать какой нибудь F401/410/411 вообще не вижу, они по 2$ стоят, а на алишке вроде и дешевле.

Вы не видите, а они есть, если человек их вообще не знает.
Что ни говори, а AVR самые простые в изучении были, да и остаются наверное, ардуина это тоже AVR. Всё остальное уже посложнее.
НЛО прилетело и опубликовало эту надпись здесь
А ну да, беру свои слова обратно :)
К тому же порог вхождения сейчас реально нулевой из-за того же HAL

на той неделе общался с погромистом, пришел программу в устройстве переписывать. для начала надо было померять входные напряжения и ток, на ножках мк, худо бедно справился, а перевести в показания на клемнике, до делителя на резисторах, уже не смог. так что нулевой уровень это не есть хорошо.
можно вообще не открывать даташит и за 15 минут с нуля собрать проект


А если что-то пойдет не так, потом потратить пару лет на чтение даташита?)

Не-э-э… на поиск нового скетча.

Ну писать самому библиотеки под каждое используемое периферийное устройство то ещё удовольствие и трата времени. Но и когда вообще полный ноль, и даже закона ома не знаешь, а пытаешься что-то там кодить под ардуину, это тоже тупиковый путь.
Проблемы использовать какой нибудь F401/410/411 вообще не вижу
Хм… Юзал я I2C и на F1, и на F4, и он там абсолютно одинаковый дурацкий, с дикой кучей каких-то флажков, которые нужно все проверять и сбрасывать в в духе «три раза подпрынгнуть на левой ноге и похлопать в ладоши». После удобнейшего модуля AVR, с аппаратным автоматом состояний, просто вызывающим из юзеркода нужные хендлеры — плеваться хотелось (впрочем, неправильно называть его «модулем AVR», такой же точно модуль и у NXP и видимо тянется ещё от создания I2C филлипсом, ещё до AVR).
Можно пример того, что нельзя сделать на С? Желательно парочку примеров.
Хм… так я и привёл именно парочку с шим и ws2812. Мне тут, правда, объяснили, шим можно сделать многочисленными таймерами стм32, как будто я не знаю (в паре девайсов, куда я ставил стм32, как раз нужно было по 16 каналов скоростного шима). Я имел в виду немного другой случай — а именно, контроллер может до 256 каналов вывода, каждый из которых может работать как шим (а ещё, кстати, передавать данные по асинхронному протоколу). Причём там хитрый шим, с реверсом битов счётчика, благодаря чему достигается максимально возможная эффективная частота. Обновляется всё каждые 320 мкс, в неблокирущем прерывании, не мешая RS-485 и прочим приоритетным задачам. Вот для таких случаев асм и нужен. Тем более что у AVR очень приятный асм, особенно если юзать свои макросы.
чтобы не пытаться дебажить real-time через printf

Лучший отладчик! Какой контроллер ни возьми, на каком бы языке не писал, если умеешь отлаживать через принтф, то отладишь всё и всегда.
Новомодные — это громко сказано. STM32F103 появился почти 15 лет назад.
A AVR — 25 лет назад. А когда я начал изучать контроллеры, примерно лет 12-13 назад, ваших STM-мов вообще не было. И теперь вы приходите и говорите, не делайте термостат на AVR, а сперва изучите STM и делайте на них. Ну это сродни критинизму. Я таким заниматься точно не буду. Меня AVR устраивает вполне. Но я и не против чтобы вы использовали STM.
МНЕ ВСЁ РАВНО!
Лично я вас ни к чему не принуждаю, просто уточнил, что STM32 не такой уж новодел. Сам 15 лет назад начинал с AVR, потом STM8/32, сейчас NRF52. Интересно же посмотреть куда движется индустрия и как меняются МК.
Мне кажется проект больше для самообразования. Но я выбрал raspberry pi + home assistant, и датчки и прочее от xiaomi, если что-то необычно делать, то esp8266/esp32. Почему так, потому что есть сообщество которое где-то уже ошибалось и есть готовый рецепты. А делать с нуля что-то, ну классно, но в один момент руки опустятся. Удачи)
Почему я бы смотрел в сторону esp, все говорят, что wifi не надёжный, но он лучше всего мониториться и кастомизируется. Если хочешь проверить насколько захламлён вайфай, просто поставь на телефон wifi analizer. Если хочешь мониторить устройства, просто пингом и любым мониторингом следишь за устройствами.
А делать с нуля что-то, ну классно, но в один момент руки опустятся. Удачи)

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

А смысл под атмегу свою плату разводить ради единичного проекта? Не проще взять ардуинину, и если уж не по душе их среда разработки (согласен, косяк на косяке) — прибить загрузчик и заливать через jtag точно так же как свою плату.

Так не одно устройство будет, а много. На базе этой платы будут делаться все мои устройства. Для единичного устройства платы в китае я бы не заказывал. Потому как она обойдётся в 15 долларов, лучше уже сам вытравлю если одна нужна. Ну или только если там много smd будет, и какая-то очень важная. Но пока я ничего такого сложного не делал.
На базе этой платы будут делаться все мои устройства.
После первого же устройства, надеюсь, придет понимание, что можно было бы улучшить. Вот только дальше два пути — мыши плакали, кололись, но… или «все» будет пересмотрено.
Думаете если вы сделаете на STM, или на ESP то там ничего уже улучшить нельзя будет.
Как что ни делай, всегда потом можно сделать ещё лучше! Это прописная истина.
Нет, просто вы называете универсальной плату, на которой разместили всего пару модулей (радио и проводной связи; причём проводная, которая у вас, якобы, основная для всех, даже не размещена на плате, при наличии кучи места, а является модулем и… похоже закрывает разъем для nrf) и GPIO по полупериметру. И пишите, что это сойдёт для всех ваших устройств умного дома, которых (и даже функционал которых) мы не видим и он не описан — вот если бы они были, можно было посмотреть, какие модули там используются, насколько часто и как можно было бы улучшить эту универсальность схемотехнически. И я такого не писал. Причём тут микроконтроллер?
p.s. Всё-таки мыши…
Универсальной ни для каждого разработчика, и чтобы вы все её использовали, нет, универсальной лично для себя, для моего умного дома. И она действительно для меня будет универсальной :)
Для себя собрал сигнализацию для своего дома на ESP8266. Обновление прошивки возможно по воздуху. Вся информация льется на основной сервер по MQTT протоколу… Передает состояние системы, датчиков движения и датчиков температуры. На основном сервере замутил вебку с графиками, управление сигнализацией через свой телефон через mqttdash. При необходимости создам второй модуль в котором заложу, к примеру, управление воротами, теплицей и пр. Логика простая принес модуль, зашел на него по wifi настроил сеть на роутер и все. Никаких проводов… каждый модуль обеспечивает работу конкретного узла или устройства. Работает уже второй год, проблем не заметил… А изначально так же хотел собрать мастер плату и все сводить на нее… переосмыслил и сделал как сейчас.
Вай фай очень не надёжен, даже в квартире в городе пару раз в год приходится перезагружать физически роутер. Потому что случаются глюки когда он сам уже не может восстановить свою работоспособность. И вот приставьте, у вас на даче таких устройств штук 20. Написал и меня аж передёргнуло как и что там может поломаться. И это роутер заводской, не самопальный, который наверное проходил сертификацию. Что уже говорить про файфай на этих маленьких платках и про свои самопальные разработки.
Нет, я никогда не буду на даче развёртывать вайфай сеть! Лучше проложу провода.
Но и вас я отговаривать не буду, делайте как считаете нужным! Мне в отличии от некоторых всё равно что вы используете, ГЛАВНОЕ ЧТОБЫ РАБОТАЛО СТАБИЛЬНО!
Вот если сделаете стабильно, хоть на транзисторах, вот тогда вы молодец! А что вы использовали, ДО ЛАМПОЧКИ, главное чтобы надёжно работало!
С WiFi согласен, но только про зависания роутера, а я писал про частный дом, у меня не много в округе и сетей и устройств. Потом, даже если в квартире, то у меня передаются байты, меньше килобайта. И хватало интернет скорости 64Кбит.
С зависанием роутера я то же решил проблему, на роутер установил openWRT и написал задачу по cron. Изначально был перезапуск каждую ночь, потом сделал скрипт анализирующий состояние подключения и пр… который так же перезапускает роутер. Зимой на дом практически не езжу, и еще не приходилось перезапускать роутер по причине зависания… Может просто повезло… А, так же реализовал vpn канал до сервера и квартиры.
Вот собственно и всё. Может кто-то подчерпнёт какие-нибудь полезные идеи и для себя.

Вам многие комментаторы указали, что идеи и реализация уже устарели лет на 10-15.
К счастью, прогресс не стоит на месте! Познавать новое и учиться — увлекательнейшее занятие. Дорогу новым идеям и технологиям!

Я вас услышал. Спасибо :)

Мимопроходил. Как по мне — так не следует расходовать частотный ресурс WiFi на сраные десятки байт домавтоматики. Мало ли когда понадобится вся пропускная способность? Либо медь (по которой можно и 12..24 В питания пустить, поставив на каждой плате понижайку с переходом в PFM на малых нагрузках), либо 868 МГц и т.п. "не WiFi".


И по сути:


  1. Не вижу 5-й провод (GND) на разъёме сети RS-485. См. синфазный диапазон приёмников.
  2. Не вижу защиты на сигнальных линиях RS-485. См. "как все делают".
Не вижу защиты на сигнальных линиях RS-485. См. «как все делают».

Возможно эта платка с ADM488 будет переделываться и там будет стоять микросхема для гальванической развязки, например ADuM1201.
Не вижу 5-й провод (GND) на разъёме сети RS-485. См. синфазный диапазон приёмников.

По даташиту мона одну витую пару пускать

image
и общим проводом не соединять устройства, но спасибо за совет, если что пущу и его.
Пока тестировал с 20 метровым проводом витой пары, всё было хорошо и так.

"По даташиту мона одну витую пару пускать"
А по факту — не всегда, и я написал почему.

А для этого я сначала протестирую, если будет всё работать то почему нет.
и заодно питание завести по типу PoE
>не следует расходовать частотный ресурс WiFi

для этого есть 5g

И "весь этот горький катаклизм" (с)

Про WiFi любого диапазона и умный дом.
Представьте себе ситуацию, когда у вас сорок групп света и ещё тридцать автоматики, плюс по мелочи пара десятков исполнительных устройств (это не самый крупный проект частного дома).
Или даже небольшая квартира и штук 20 ESP или чего-то подобного.
И вот неожиданно происходит короткий перебой в электроэнергии. Всё перезагружается и пытается одновременно войти в сеть и затем достучаться до сервера. Роутер ложится, всё встало. Дома одна бабушка, вы в командировке на Северном полюсе. Занавес.
Всё перезагружается и пытается одновременно войти в сеть и затем достучаться до сервера.
До сервера, обрабатывающего сотни\тысячи запросов в секунду. Как-нибудь штук 20-30 ESP переживёт и не заметит.
Роутер ложится, всё встало.
Почему он должен ложиться? Из-за одновременного коннекта кучи устройств? Не происходит такого, даже древний WL-520GU (от 100 до 1000 руб. на авито) прекрасно живёт с 30 устройствами. Выключить и снова включить может бабушка. А так же железный watchdog, ничего страшного если он будет перезагружать его раз в сутки. И чем роутер хуже контроллера умного дома? Ваше устройство настолько безупречно, что не может лечь? (p.s. свой ESP32 контроллер посмотрел, аптайм 1.5 года уже без обновления прошивки, весь его функционал сохранять события от устройств, передавать журналы на сервер и команды с сервера\мобильника как раз без работающего wifi — другие ESP8266 соединяются с точкой доступа, если нет интернета или точки доступа, то с прокси-контроллером). Заметим, что роутер заменить меньшая проблема (т.к подойдет вообще любой, поставили то же имя сети и пароль — и ОК), чем самодельный контроллер.

Возможно, дело было в прошивках, но я лично был свидетелем описанной ситуации.
И дело не в наших устройствах, а в очевидных преимуществах проводной автоматизации в сравнении с беспроводной, особенно не имеющей mesh и автономной схемы работы.

Я не вижу ни одного преимущества проводной автоматизации, кроме большей безопасности канала передачи данных, для дома (и особенно загородного дома, где связанность на 50-70 метров — т.е. дом\баня\парники я обеспечиваю одним кабелем ethernet и 2мя роутерами, которые, естественно без интернета). Для примера, я в страшном сне не могу представить, как тащить провода к 18 железкам (6 термометров на парник) а так же убирать их потом, при перекопке. Силовые линии да, я сделал; в тех же гофрах или рядом с СИП лежит экранированый ethernet кабель (не хорошо, но сойдет), но чтобы ещё внутри помещений (особенно парников) развести провода — нет спасибо. Топология: общая шина, а к ней звезды меня точно не устроит.
У меня пару раз в год приходится в городе в квартире перезагружать роутер, да он работает месяцами, но пару раз в год стабильно физически перезагружаю. Хз почему он месяцами работает, а потом намертво падает. Даже разбираться не буду, проще перезагрузить чем тратить время на разбор и причины. Но дома у меня по файфаю подрубается только телефон. Всё остальное на проводах :) так что проблем нет, проще перезагрузить и всё, чем выяснять причины. В умном доме будут десятки устройств, короче ну нафиг этот глючный вайфай, если там всё ляжет, то это будет капец.
Проблема только в этом? Так сделайте свою точку доступа, не используйте сторонние роутеры; мой личный опыт говорит, что ESP32 в режиме AP стабильно работает больше года и можете самостоятельно любые аппаратные watchdog сделать, хоть от соседней независимой ESP8266, которая будет проверять беспроводное соединение. А её уже кабелем к сети, модули есть — ну всё равно в роутер придётся втыкаться. Если ваша цель не «бункер», то никак вы роутер в принципе не минуете. Я просто не понимаю этой упёртости. А полностью изолированный от интернета умный дом, конечно, имеет право на жизнь, но лишается кучи интересных потенциальных возможностей.
Ну да, забыл. Хотя сам его для приема DTMF команд использую. Вот его точно перезагружать надо, модуль на модуль не приходится; может внезапно зависнуть после недели — звонишь, а в UARTе пусто, а другой стабильно работает месяцами.
Если у вас «пара сигналов», то ладно. Хотя не вижу простого способа послать сигнал по GPRS умному дому. У меня опросы климат-контроля, например, куда чаще — минимум раз в минуту, чтобы была комфортная температура.
Пример опроса комнаты за сутки; внизу - уровень пола; дальше термометры каждые 10 см вверх по высоте
image
Вот его точно перезагружать надо

Ну это только одно устройство, а не куча разных устройств которые в случае отключения напряжения или пропадания сигнала, должны потом подключаться к умному дому заново.
У меня умный дом будет интенсивно посылать команды на сервер только когда я зайду на веб страницу умного дома, тогда да, команды будут идти каждую секунду чтобы видеть состояние дома (и то, только того устройства, на странице которого я нахожусь, а не все возможные данные) почти в режиме реального времени. Но как только я выхожу со страницы, всё, умный дом не будет интенсивно посылать данные, потому что незачем, я их всё равно не просматриваю уже, только парочка очень важных команд будет идти постоянно, вроде состояния сигнализации и аналогичные :)
Так что sim900 мне вполне хватит.
А зачем вы извне каждую секунду опрашиваете климат контроль в умном доме?
Послали умному дому команду что он должен делать, умный дом дал команду термостату и всё. Термостат в умном доме дальше сам должен знать как её поддерживать, какие устройства включать и что делать. Зачем вам мониторить ежесекундно какая там температура.
Захотели узнать какая температура, послали умному дому команду на получение температуры, он ответил и всё.
Это журнал сервера. Именно, дом сам наблюдает за температурой и управляет котлом, полом, заслонками. Журнал необходим для обучения модели — анализ скорости реакции, в том числе с учетом внешней температуры. Анализ производит сервер, так же он учитывает прогноз погоды на ближайшие пару часов; схема управления обновляется (корректируется) сервером; потеря связи не критична, но нежелательна.

Захотели узнать какая температура послали умному дому команду на получение температуры он ответил и всё.
Так в каждом помещении своя, у меня на 10 комнат более 200 датчиков (а ещё баня, парники, гараж...). Зато реально добился того, что отклонение меньше ± 0.7 градуса и минимум расхода газа (вот для этого как раз и нужен прогноз погоды, чтобы знать, что топить сильно не надо, температура не опустится; или наоборот, начинаем топить заранее, за 3 часа упадет с -15 до -30).
Что-то сильно сложно как-то всё, у меня по проще будет гораздо :)
Кстати, ещё порекомендую выкинуть большую часть гребёнки GPIO и сделать разъёмы по краю платы. USB, RJ-45. Лучше все, сокеты стоят дёшево, провода сверхдоступны. Через них вы можете подключать исполнительные устройства\датчики, которые необходимы, а плата действительно универсальная. USB — 4 провода, 2 питание, остальные 2 используйте как угодно. RJ-45 — целых 8 проводов и удобство изготавливать провода любой длины, у меня обычно 4 на питание: земля на синих, питание на зелёных.
Некоторые платы будут в корпусах, и тогда от гребёнки будет идти шлейф к разъёму или к плате разъёмов. Потому как сразу предусмотреть расположение платы в разных корпусах под разные устройства просто невозможно. Если бы была плата под конкретное устрйоство, конечно бы можно было разъёмы сделать на самой плате.
Так что если вы делаете универсальную плату, то гребёнка лучше решение. Но это сугубо моё мнение и мне так проще. Если кому-то проще по другому, то пусть делают по другому.
Думаю что универсальной платы для всех сделать просто не возможно. От того сейчас и есть такой зоопарк вроде: ладе панд, ардуин, разбери и прочих, а их там наверное ещё пару десятков менее популярных платформ. Кому что больше нравится, то то и использует, главное сделать рабочее устройство.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории