КАлина-мАлина. Обзорная статья по Raspberry Pi и Arduino и тред для радиолюбителей.

El Jefe

Consejero
Проверенный сервис
Силовые акции
Сообщения
1.059
Реакции
8.462
Продажи
7
Кешбек
0.66$
Перенесена из недавнего вебинара к вниманию всех интересующихся.

По криптографии и криптоанализу, а также проникновению в чужие корпоративные сети я уже выложил три более-менее подробные статьи в авторских статьях на форуме(ссылка в голове материала); хотелось бы теперь рассмотреть такую модную тему, как повальное увлечение публикой такими изделиями, как Raspberry Pi и Arduino. До конца не уверен, что на форуме вообще это кому-то интересно, но аппетит приходит во время еды, поэтому решился написать тут небольшую обзорную статью, может, кто-то заинтересуется. Вообще-то на форуме была раньше парочка ардуинщиков, собственно Ардуиндрр и ещё один товарищ(они даже участвовали в конкурсе радиоинженеров здесь однажды и взяли призы), но впоследствии, я так понял, чевой-то там накосорезили что один, что второй, и куда-то пропали. Была ещё одна дама(?), тоже интересовалась этой темой, но тоже куда-то пропала.

Итак, о чём же вообще речь? Raspberry Pi представляет собой маленький, с два спичечных коробка размерами, дешёвый одноплатный компьютер с процессором ARM(Advanced RISC Machine, RISC означает reduced instruction set computer, ну вы понели :) дешёвый и сердитый, с упрощённым набором команд). Производится он британскими учоными британской компанией Raspberry Pi Foundation с 2012 года и по сей день. Первые модели были совсем деревянными, с тактовой частотой 32-х разрядного одноядерного процессора ARM 11 порядка 700Мгц и RAM 256 или 512 Мб; сейчас уже доступны модели с 64-битными 4-ядерными процессорами тактовой частотой 1,5 и даже 1,8 ГГц. Изделие оснащено также USB-портами в количестве от 1-ого до 4-х, коаксиальным антенным входом, аудиовходом-выходом TRS 3,5 мм, портом Ethernet, Wi-Fi на более старых моделях обеспечивается через USB-донгл, а на более новых встроен; имеется также HDMI-порт для подключения монитора и других устройств и слот под карту памяти SD, на которой хранятся файловая система, ядро и пользовательские файлы; на новых моделях бывает также встроенный Bluetooth. Работает это все под операционными системами Linux/FreeBSD; весьма распространены Raspbian(специальная сборка Debian) и Pidora(специальная сборка Fedora, поручик Ржевский, молчите, это не то, о чём вы сейчас подумали!) с облегченным графическим интерфейсом LXDE. Также использует народ ArchLinux, Gentoo, FreeBSD, Sailfish OS; возможно использование Android 7.0 и даже Windows 10 IOT(так и хочется оговориться - “идиот”, ибо лютый идиотизм ИМХО втетерить винду в Распберри, это всё равно что навьючить небольшого ослика мешком дурных проприетарных силикатных кирпичей, но разве поганый Билл Гей(тсс!) не всунул бы и сюда своего длинного носа и всё не опошлил, подобно тому, как он поступил со Скайпом, выкупив его в 12-ом у люксембургской компании).

raspberri_view.jpg



Raspberry_Pi_scheme.jpg


Ну и что, скажете вы, ну маленький, ну дешёвый(35 Бакинских где-то), ну и что? Самой большой вкусностью означенного устройства ИМХО является наличие в нём интерфейса GPIO(general purpose input/output) из 26 пинов(на более современных моделях целых 40!), что открывает широкое поле возможностей для управления всевозможной периферией. Нормальное напряжение на пинах 5 и соответственно 3,3 В; не подавайте больше – можете сжечь выводы! Итак, имеем в том числе 2 вывода с постоянным уровнем напряжения 5 В , 2 вывода с постоянным уровнем напряжения 3,3 В , 5 общих выводов (земля), 17 цифровых программно управляемых выводов. Варианты распиновки на 26 пинов привожу ниже.


gpio-srm.png


GPIOs.png

Рассмотрим ниже что-нибудь простенькое, например, как помигать LEDом с помощью интерфейса GPIO нашей калинки-малинки и используя, к примеру, Python. Ибо, перефразируя латинское cogito ergo sum, можно сказать, “моргает, значит работает!”.
Командуем в командной строке, чтобы установить Python:

Код:
sudo apt-get install python-rpi.gpio (или python3-rpi.gpio)

Код:
sudo python

Код:
import RPi.GPIO as GPIO #подключаем библиотеку
GPIO.setmode(GPIO.BCM) #устанавливаем режим нумерации
GPIO.setup(7, GPIO.OUT) #конфигурируем GPIO 7 как выход
GPIO.setup(8, GPIO.IN) #конфигурируем GPIO 8 как вход
GPIO.output(7, True) #выводим на GPIO 7 логическую "1" (3.3 V)

GPIO.output(7, False) #выводим на GPIO 7 логический "0"
signal = GPIO.input(8) #считываем сигнал с GPIO 8 в переменную signal
GPIO.cleanup() #завершаем работу с GPIO

И, подключив предварительно джамперами LED к 7-ому пину и к “земле”, получаем желаемое моргание(данный пример был взят с “гексвольта”).

А вот как моргать целой шайкой LEDов, занесём нижеследующее в файл blinker.py и запустим его через командную строку; время везде в секундах, разноцветные LEDы подключаем через бредборд и джамперы одним концом к номерному пину, а другим концом к “земле”.

Код:
import RPi.GPIO as GPIO

import time

GPIO.setmode(GPIO.BOARD)

GPIO.setup(7, GPIO.OUT)

GPIO.setup(10, GPIO.OUT)

GPIO.setup(13, GPIO.OUT)

GPIO.setup(19, GPIO.OUT)

GPIO.setup(23, GPIO.OUT)

GPIO.output(7, 1)

time.sleep(0.4)

GPIO.output(10, 1)

time.sleep(0.3)

GPIO.output(13, 1)

time.sleep(0.3)

GPIO.output(19, 1)

time.sleep(0.3)

GPIO.output(23, 1)

time.sleep(0.3)

while True:

GPIO.output(10, 0)

time.sleep(0.6)

GPIO.output(10, 1)

GPIO.output(13, 0)

time.sleep(0.6)

GPIO.output(13, 1)

GPIO.output(19, 0)

time.sleep(0.6)

GPIO.output(19, 1)

GPIO.output(23, 0)

time.sleep(0.6)

GPIO.output(23, 1)

Сначала всё по очереди зажигаем, потом(while True:) осуществляем цикл. Подобным образом мы можем управлять через сервопривода по написанной нами программе хоть детским автомобильчиком, хоть “умным” домом, хоть чёртом с рогами(предварительно установив ему электромоторчик в задницу :) ).

arduino.png


Теперь отдадим дань пресловутому Ардуино. Представляет оно из себя семейство микроконтроллеров, производимое компанией из итальянского Ивреа, что под Турином, и названное так в честь местной пивной/рюмочной(в которой и были собственно изобретены в процессе распития напитков местными джуликко бандитто), а та в свою очередь названа в честь местного средневекового короля Ардуина Н-надцатого. К нему(микроконтроллеру) придаётся программное обеспечение в виде среды разработки IDE и C-подобного языка программирования, а если точнее, то C++ c фреймворком Wiring. Скрипты работы в нём называются производителем – скетчами. А вот и иллюстрация распиновки Arduino Due.

arduino_due_pinout_l.jpg


Делать в них можно то же, что и в Распберри, то есть управлять разнообразными железяками через распиновку и при помощи скриптов-скетчей, загружаемых с компьютера через USB-порт. При этом шилды Ардуино можно сопрягать друг с другом по принципу бутерброда, насаживая один на другой. А LEDом в Ардуине мигается как-то так.

Код:
void setup () {
pinMode (13, OUTPUT); // Назначение порта 13 в качестве выходного порта
}

void loop () {
digitalWrite (13, HIGH); // Установка порта 13 в состояние "1", светодиод загорается
delay (1000); // Задержка на 1000 миллисекунд
digitalWrite (13, LOW); // Установка порта 13 в состояние "0", светодиод гаснет
delay (1000); // Задержка на 1000 миллисекунд
}

Теперь, в чём разница между Ардуино и Распберри. Распберри – это практически честный компьютер, а Ардуино – всего лишь микропроцессор, его возможности более, как бы это помяхше сказать, несколько ограничены. Критики Распберри скажут, что он-де типа работает “не в реальном времени”, то есть тупит порой, так поставь на него микроядерную RISC OS или RTLinux и будет тебе реальное время, процессор ARM под это изначально и заточен. Можно ли эти два изделия сопрягать в одном изделии – можно конечно, только нужно ли?
e5768d7dd0d68580d19d6fc19e391430.jpg


А вот некоторые говорят так: “зачем вообще нужно это Ардуино, если можно взять программатор, прошить им контроллер в DIP-корпусе и установить его в плату, получив более дешёвое, компактное и портативное устройство.” И они ИМХО по-своему правы. А вот ещё мнение: “я буду рад, если хоть один человек… поменяет Arduino на простой микроконтроллер – может быть, из него получится хороший разработчик встраиваемых систем в будущем.”

Смысл в том, что Ардуино – это не уровень приличного инженера, а уровень какого-нибудь радиокружка при провинциальном Дворце Пионеров(были такие при советской власти), где раньше пионеры юные – головы чугунные сидели с паяльниками и припоем и нюхали канифоль, а теперь сидят с бредбордами и джамперами и даже не паяют почти, балбесы :) И все эти Ардуины – это не haute cuisine, а своего рода Макдональдс, позволяющий, впрочем, непритязательному едоку быстро и нажористо утолить голод. И что они крепко расхолаживают конструктора и отучают его анализировать, понимать физический смысл происходящего и вообще шурупить своей бестолковкой...
 
Последнее редактирование:
Если не в тягость, можно коротенькое пояснение ?
Для управления неким навесным электрооборудованием, согласно загруженной в контроллер программы, вертеть электромоторчиками, сервоприводами, моргать лампочками, включать и выключать устройства дистанционно, что-то вроде доморощенной робототехники такой. При желании можно сделать даже блок управления СВУ ( Я этого не говорил :))
 
по проводу или вифи или через
тухлый блюТУЗ ?
Можно и так, и так в зависимости от того, что именно нам нужно сконструировать. Блю-тусом, Z-wawe, ZigBee и другими радиопротоколами лучше управлять с Распберри.
 
К примеру мне нужно будет подать питание 5в на электронный детонатор
Как я могу сделать это удалённо не засвечиваясь ?
Аккумулятор к нему придаётся. Через USB на Распберри и через штатный вход питания на Ардуино.
будучи расположив его за десятки километров ?
Через мобильный интернет и симмку(купленную в подземном переходе у таджиков).
 
Последнее редактирование:
Если использовать Распберри - подключить её к интернету через собственный Wi-Fi донгл и дешёвый переносной роутер с симмкой используя его как модем для раздачи интернета, с помощью удалённой командной строки подать сигнал на выходы GPIO, которые подсоединены куда надо, вот как-то так.

Но я полагаю, с инженерной точки грамотнее соорудить с помощью программатора собственный контроллер, подобный тому, который используется в GPS-трекерах для автомобилей и контейнеров. Можно даже распатронить такой трекер-маячок и переделать его под подобное устройство.
 
Последнее редактирование:
что у тебя за канал такой узкий?
Как-то это все звучит не однозначно, даже как ответить не знаю...
Э-э-э нормальный у меня канал не хуже чем у других, а шлейф даже длиннее между прочим...
Авось прокатит.
 
Приветствую, бро!) Слушаай, а ультразвуковую пушку можно собрать, что б псину гонять от окон? А то китайские устройства мало того, что убогие, так ещё и не на всех собак действуют. :(
Или я не по теме?
 
Ультразвук малоэффективен от млекопитающих, даже от грызунов. В перестройку продавались такие кооперативные(даже не китайские) устройства, через недели 3 вредители(крысы, мыши) адаптируются и возвращаются. Единственно, от летучих мышей и птиц ещё может быть какой-то эффект.
 
Ультразвук малоэффективен от млекопитающих, даже от грызунов. В перестройку продавались такие кооперативные(даже не китайские) устройства, через недели 3 вредители(крысы, мыши) адаптируются и возвращаются. Единственно, от летучих мышей и птиц ещё может быть какой-то эффект.
Жаль, жаль. Не хочу животное травить, придётся как-то иначе гонять. )
Благодарю за ответ! :)
 
Кидай в нее петардами, урона ей они не нанесут, зато пугают отлично.
Они и против млекопитающих и против алкашей хороши.
У меня под окнами однажды синяки собирались, бомжи какие то. Я тогда на первом этаже жил в доме.
Вонять стали, мусорить, шуметь, петардами вытравил очень легко этих паразитов.
Просто стоял и кидал в них петардами, до тех пор, пока маргиналы не передумали туда приходить.
Камнями тоже кидал, но не часто. Возмущались очень сильно правда, но сделать мне ничего не могли.
Против собаки кажется тоже должно подействовать.
Видимо, придётся. )
 
Жаль, жаль. Не хочу животное травить, придётся как-то иначе гонять. )
Благодарю за ответ!
Поставь силок, один раз псина в нее попадет и больше по данной тропе ходить не будет.
Главное бечевку(веревку) взять такую, что-бы псина и немного подергавшись ее порвала не повредив сильно лапу или шею.
К бечевке надо привязать связку консервных банок.
Псина попав в петлю начнет дергаться и в результате, боль от петли и грохот банок....короче псину на этот участок будет и за яйца не затащить.
Способ проверенный, так друг на своей даче отучал соседских собак к нему на участок ходить и грядки портить... только у него и были в итоге нормальные грядки, у всех других перекопаны в мясо .
Способ стоит 3 копейки и очень эффективен...и травить никого не надо.

2949252.jpg


maxresdefault.jpg

Сообщение обновлено:

web4dogscqbk9.jpg


Моя пес и его братва просили передать: "Вы травите собак? ТОГДА МЫ ИДЕМ К ВАМ...АМ-АМ!!!"
 
Последнее редактирование:
Изначально картинки были, потом слетели куда-то. Перезалью попозже.

Картинки перезалил, как и обещано :)
 
Последнее редактирование:
чтож. я этого ждал.
у меня малинка последней версии. может, сайт поставить?
 

Похожие темы

Содержание: 1.Введение - Что такое Raspberry Pi? - История создания Raspberry Pi - Популярность и применение Raspberry Pi - Характеристики - Raspberry Pi OS 2. Основные привилегии Raspberry Pi для хакера -Маленький размер и портативность Raspberry Pi -Гибкость и настраиваемость девайса...
Ответы
5
Просмотры
Для кого предназначен курс Данный курс рассчитан главным образом для начинающих, поэтому подробно рассмотрено назначение каждого символа в коде, предполагая что ранее слушатель не имел никакого опыта в программировании; изучаем «даташиты», подробно рассматриваем периферию: таймер-счетчик...
Ответы
1
Просмотры
831
Нихао, Рутор! Многие из нас, когда нибудь слышали что существуют разные способы сокрытия информации(в том числе, сид фразы криптокошелька , паролей от криптоконтейнера с шифрованной информацией). В этой статье, я эксклюзивно для RUTOR поделюсь информацией о том, как можно сокрыть информацию в...
Ответы
14
Просмотры
Всем формучанинам привет ! В рамках конкурса решил написать данный мануал касаемо Онлайн-безопасности в черных и серых сферах Введение: Работа в черных и серых сферах, будь то даркнет или другие высокорисковые онлайн-среды, требует исключительного внимания к безопасности и в мире, где...
Ответы
35
Просмотры
Слив курса Буткемп по промт-инжинерингу (работа с LLM) [ZTM] [Scott Kerr] *** Язык курса: английский + субтитры на русском языке, + озвучка на русском языке (ИИ)*** Чему вы научитесь: Изучите основы промпт-подсказок и их практическое применение, включая реальные примеры из NASA и CRISPR...
Ответы
1
Просмотры
961
Назад
Сверху Снизу