Как вкатиться в Rasberry Pi?
Публичный пост
17 сентября 2020
1808
Довольно давно заинтересовался темой микроконтроллерами и хочется что-то попробовать, но не имею абсолютного представление c чего начать
Понравилось Rasberry Pi, Arduino пробовал, но просто лампочки включать такое се
Покупаешь Raspberry и вкатываешься)
Только имей ввиду, что в Pi стоит полцноценный ARM процессор (как в телефоне, ага) и вся плата - полноценный компьютер, и это не то же самое, что микроконтроллер в той же дуине (своеобразный процессор, периферию выбираешь и подключаешь к нему сам по вкусу, а ардуино - готовые наборы железяк + библиотеки для упрощения разработки).
Вопрос в большей степени твоих целей. Для обучения в целом - и raspberry и arduino хорошо подходят. Для каких-то конечных изделий они чаще всего дикий оверхед и оправдывает их выбор обычно низкая цена железки и поддержка (популярность и коммунити + возможность купить новую железку, либо купить сразу побольше под замену).
Захочешь на уровень пониже опуститься - вполне себе это сделаешь. Например, в базе arduino стоит микроконтроллер Atmel MegaXXX, который можно прогать руками и код писать на его родном ассемблере или компилить из совместимого диалекта языка Си. Библиотеки ардуино так и написаны, к слову.
Также и на Pi ты можешь из скрипта на питоне дёргать GPIO и в соседнем потоке крутить СУБД и веб-сервер в докере. Тут тебе и полноценная ОС к твоим услугам и много всего из коробки работает. А можешь пуститься во все прелести системного программирования на Linux или чего ещё близкого к ядру ОС и железу в целом.
По дуине и фан-проектам на ней с подбробными инструкциями на русском можно посмотреть тут.
Raspberry чаще в IoT используют или в каких-то не очень ёмких штуках в пределах твоей домашней сети. Например, шлюз для дома-дурачка с веб-мордой.
Т.е., да, можно сделать из него и NAS, и сервер с веб-хостингом, но я бы для этих целей использовал что-то более подходящее. Потому что жёсткие диски можно подключать только через USB, а резервное копирование - может стать проблемой. Также как и отсутствие драйверов для принтера для Linux под ARM.
Тем не менее, в универе это мне не помешало собрать на нём кластер на 64 узла, чтобы студентам было на чём играть с многопоточным/параллельным программированием с полным контролем над аппаратной платформой)
А что хочешь от малинки? И да, ардуинка и малинка это сильно разные контроллеры
Тебе линукс и сайты плееры умный дом или ножками дрыгать, по протоколам общаться и датчики навешивать?
Покупаете малинку W Zero, бредбоард и тонну проводков, ставите на нее линух, подключаетесь по SSH, пишете программульки для GPIO на путоне, смотрите на мигающие лампочки. Потом придумываете себе проект (у меня это сначала был деплой серверов по нажатию большой красной кнопки — а сегодня это "сырный сундук" из старого куллера), закупаетесь всем необходимым (датчиками и активными элементами типа термоэлектрики и моторчиков) — и фигачите :)
Если хочется во что-то въехать, сначала надо поставить конечную достижимую цель. В противном случае ковыряние быстро превратится в фрустрацию.
Например: хочу резать рекламу на всех устройствах в домашней сети. Покупаем Rapberry Pi, ставим Pi-hole, profit.
Или вот ещё: хочу из обычного IKEA торшера сделать умный (управлять питанием). Покупаем ESP8266 совместимую борду, реле и врезаем это всё в цепь управления торшером.
Следующий этап: как-то некрасиво всё что я нагенерил, надо сделать для этого красивую упаковку. О! Есть же 3D принтеры! и завертелось
Меня тоже недавно пробило что срочно хочу понять как оно работает, остановился на STM32. Под нее есть хороший курс лекций с заданиями
на задания меня не хватило, но интерес как оно работает удовлетворило в полной мере. Но удобнее, если будете браться за этот курс, взять ту плату что они предлагают, тогда можно будет просто их исходники использовать. У меня плата была другая, и я дня четыре потратил чтобы это все настроить так же как у них в проекте