Какую платформу (arduino, raspberry, stf32) выбрать для обучения и сборки рабочего решения?
Распишу основные плюсы и минусы архитектур, а финальный выбор - за вами.
Arduino / AVR
+ Очень низкий порог вхождения
+ Тонны документации и примеров, в т.ч. на русском
– Дорого
– Мощности хватает не на всё. Опрос десятка датчиков - нормально, а вот графический LCD, например, USB или камера - уже проблематично.
– Arduino IDE упрощает программирование ценой раздувания и замедления кода. Наверное, лучше сразу писать на чистом C/C++.
AVR32
+ Мощные
+ Легкий переход с архитектуры AVR (по крайней мере, так утверждает Atmel)
– Дорого
– Мало документации
STM32
+ На порядок мощнее AVR
+ Стоят столько же или даже меньше
+ Есть прекрасные отладочные платы (я про серию Discovery)
+ Вполне неплохо с документацией. Есть готовые руководства по "быстрому старту".
– Поддержка все-таки не такая широкая, как у AVR
– Архитектура сложна для начинающих. Это обратная сторона мощности, и тут нет ардуиноподобной обёртки, которая спасает от "выстрела себе в ногу".
Другие ARM Cortex M (например, LPC11xx)
+ На порядок мощнее AVR
+ Стоят столько же или даже меньше
– С документацией похуже, чем у STM32
– Как всякий ARM, сложны для начинающих
Raspberry Pi
+ Полноценный компьютер
+ Дешево за систему с такой производительностью
+ Можно поставить Linux и фигачить код на Питоне
– Чтобы использовать на все 100% и писать что-то низкоуровневое, нужно быть профи
– Доступен только как плата в сборе. Взять одно ядро и использовать в своей разработке? Забудьте.
На лично опыте, нет смысла заморачиваться, цена при вашем раскладе выходит копеечная для любой arm платформы. Сейчас работает один подобный проект, около 20 датчиков, куча электрозамков, светодиодных лент, звуков и прочей шелухи, работает без единого глюка уже несколько месяцев, собрана на простейшей ардуине, что на e-bay за 300 рублей взять можно.