Введение
Комплектация Raspberry Pi
Инсталляция ОС Raspbian
«Hello world!» на Python
«Hello world!» на Си
Пример проекта: мигание светодиодов
Полезные ссылки
Введение
Raspberry Pi может делать одну вещь гораздо более эффективнее, чем любой домашний компьютер- он может управлять внешними устройствами. Устройства могут быть абсолютно любыми, от обычной лампочки, до беспилотного летательного аппарата.
Под Raspberry Pi адаптированы почти все популярные языки программирования. Основные языки — Python и C/C++. Первый отличается простотой, второй — быстродействием.
На сайте приводятся ряд статей , в которых рассматривается программирование на языке Python(см. например, Быстрый старт с Python в Visual Studio) и на языке C/C++ (см. Язык Си в примерах и ООП на С++ примерах) в редакторе Visual Studio и операционной системе Windows, установленных на ноутбуке.
В этой статье прокладывается мостик к программированию на совершенно другой платформе — в операционной системе Raspbian, установленной на микрокомпьютере Raspberry Pi.
Комплектация Raspberry Pi
Приобретаю через интернет Raspberry Pi B4Gb и блок питания к нему.
Корпус покупать не обязательно. Без него микропроцессор лучше охлаждается. Все остальное можно докупить в любом компьютерном магазине. Для установки ОС Raspbian и дальнейшей работы еще понадобятся:
-
- SD карта объемом >= 16 Gb, класса >= 10 (у меня 32 Gb).
- USB micro Reader (устройство для чтения SD-карт).
- Монитор (телевизор с HDMI разъемом).
- USB мышь и клавиатура. При необходимости можно еще приобрести USB hub (разветвитель).
- Микро HDMI шнур (с одной стороны обычный HDMI разъем, с другой — микро разъем).
Инсталляция ОС Raspbian
Создаю образ ОС Raspbian на SD карте в Windows на ноутбуке. Для этого сначала скачиваю c официального сайта Raspbian файл 2020-02-13-raspbian-buster-full.zip (2.5G). Разархивирую его, получаю файл 2020-02-13-raspbian-buster-full.img (6.8G).
Вставляю SD карту в USB micro Reader. Затем USB micro Reader вставляю в USB разъем ноутбука (в положении, как показано на рисунке справа). В проводнике Windows появляется диск F.
Скачиваю и запускаю программу Win32 Disk Imager и перенаправляю (кнопка Write) файл 2020-02-13-raspbian-buster-full.img на диск F.
На диске F создается образ ОС Rasbian, представляющий собой множество входящих в него файлов.
Отмечу, что SD карта с образом Rasbian отображается в Windows некорректно — у меня с объемом всего 252 Мб и несуществующим реально диском G. Не обращайте на это внимания.
Перед созданием образа диск F с SD картой необходимо отформатировать (подробнее см. Как записать образ img на флешку). После форматирования или неправильного извлечения USB micro Reader возможно реальное уменьшение объема объема памяти SD карты (см. Восстановление объема флешки).
Извлекаю SD карту с образом Rasbian из USB micro Reader и вставляю ее в разъем Raspberry Pi.
Подсоединяю другие компоненты через соответствующие разъемы:
- клавиатуру и мышку через USB разъемы;
- шнур блока питания вставляю в Power port;
- телевизор и Raspberry Pi соединяются микро HDMI шнуром через HDMI разъемы.
Необходимо заранее в настройках телевизора установить HDMI вместо обычного AV. Это выполняется через меню, которое открывается, например, в LG кнопкой на пульте INPUT. Подробнее см. Как подключить телевизор к компьютеру или ноутбуку.
Включаю телевизор, а затем блок питания Raspberry Pi. Начинается инсталляция ОС Rasbian, результаты которой отображаются на экране.
Первая инсталляция была остановлена с ошибкой (Error 179.2). Создал заново образ ОС Rasbian. Перед этим очистил память SD карты (см. Восстановление объема флешки). Повторная инсталляция прошла успешно.
Даю ответы на вопросы системы (в основном — Next), подключаюсь к интернету через Wi-Fi. Появляется рабочий стол ОС с пиктограммами стандартных программ. Использую браузер для запуска своего сайта:
Удивительно! Устройство, которое по объему меньше мышки, заменяет системный блок.
«Hello world!» на Python
В верхнем левом углу рабочего стола выбираю пиктограмму с изображением малины, затем: Programming>Thorny Python IDE. Открывается редактор для написания программ.
Далее все как обычно:
- Создаю файл (New)
- Набираю текст программы:
print('Hello world!')
- Сохраняю программу (Save>Create Folder(имя папки)>Name (имя файла)>Ok,
- Запускаю программу (Run)
- В окне консоли выводится сообщение: Hello world!
«Hello world!» на Си
В верхнем левом углу рабочего стола выбираю пиктограмму с изображением малины, затем: Programming>Geany Programmer’s Editor. Открывается редактор для написания программ на C/С++.
#include <stdio.h> int main() { printf("Hello, World! \n"); return 0; }
Если на языке Python код сразу запускается (интерпретируется), то на языке Си код cначала компилируется Build>Build (F9), и лишь потом запускается Build>Execute(F5).
В чем разница между компиляцией и интерпретацией? Разница в том, что компилятор преобразует код алгоритмического языка в исполняемый (байт-код либо нативный) код (в пределе — в машинные коды), в то время как интерпретатор самостоятельно распознаёт и выполняет построчно инструкции программного кода.
В чем разница между building и compiling? Compiling — это часть building. В свою очередь building может еще включать testing, packaging и другие действия.
Пример проекта: мигание светодиодов
Для работы понадобятся плата Raspberry Pi, светодиод, резистор на 200 Ом и соединительные провода (подробное описание проекта см. здесь и здесь).
Программный код включает светодиод на 10 секунд и отключает его.
Код на Python (подробное описание кода см. здесь )
from RPi import GPIO from time import sleep GPIO.setmode(GPIO.BCM) GPIO.setup(24, GPIO.OUT) GPIO.output(24, True) sleep(10) GPIO.output(24, False) GPIO.cleanup()
Код 1 на C/C++ (подробное описание кода см. здесь)
#include <wiringPi.h> int main (void) { wiringPiSetup () ; pinMode (0, OUTPUT) ; for (;;) { digitalWrite (0, HIGH) ; delay (500) ; digitalWrite (0, LOW) ; delay (500) ; } return 0 ; }
Код 2 на C/C++ (подробное описание кода см. здесь )
//GPIO-test.c // Программа включает на 1 секунду светодиод, // подключённый к порту Р1_03 // Компиляция командой gcc -o GPIO-test GPIO-test.c -lrt -lbcm2835 #include #define PIN RPI_GPIO_P1_03 // Для RPi ревизии v1 //#define PIN RPI_V2_GPIO_P1_03 // Для RPi ревизии v2 int main() { if (!bcm2835_init()) // Инициализация GPIO return 1; //Завершение программы, если инициализация не удалась bcm2835_gpio_fsel(PIN, BCM2835_GPIO_FSEL_OUTP); //Устанавливаем порт Р1_03 на вывод bcm2835_gpio_write(PIN, LOW); // Устанавливаем порт в 0, светодиод горит bcm2835_delay(1000); // Ждём 1000 миллисекунд bcm2835_gpio_write(PIN, HIGH); // Устанавливаем порт в 1, светодиод не горит return 0; // Выход из программы }
Еще примеры кода на C/C++ см. здесь.
Полезные ссылки:
- Tracking Raspberry Pi Internal Temperatures in Computer Vision Applications
- Raspberry Pi 3 — Shell Scripting — Door Monitor (an IoT Device)
- Sunfounder стартовый набор для Raspberry Pi
- Raspberry Pi для начинающих
- Проекты Raspberry Pi на Python с GPIO
- Работа с GPIO, мигание светодиодом, Python
- GPIO для чайников (часть 1)
- GPIO Interface library for the Raspberry Pi
- How to Control GPIO Hardware from C or C++
- Мясищев А.А. Интернет электро розетка на основе Raspberry Pi
- Программируем Raspberry Pi на голом железе
- Writing GUI applications on the Raspberry Pi without a desktop environment
- Как программировать Raspberry Pi на языке C
- ASUS VivoStick TS10-B041D (90MA0021-M00410)
- Новая Raspberry Pi 4 2019: Торопиться ли с покупкой?
- Raspberry pi3 не загружается, ошибка 179,2
- Восстановление объема флешки
- Можно ли подключить смартфон к телевизору
- Видеообзор TeamViewer
- Как подключить компьютер или ноутбук к телевизору через HDMI
- Raspberry Pi 3 — знакомство и настройка.
- Raspberry Pi 4: запускаем видео 4K,и боремся с перегревом.
- Raspberry Pi. Установка ОС Raspbian
- Как установить Raspbian на Raspberry Pi
- Raspberry Pi 3 Установка операционной системы RASPBIAN !!!
- Raspberry Pi 4 Model B 4 Гб ( купить)
- Научись Linux: запуск собственных скриптов (эпизод 12)
- Командная строка и программы с параметрами | Python |
- Как запускать файл Python из любого места в Ubuntu?
- Raspberry Pi лучшие проекты
- ПЕРЕЙТИ НА LINUX С WINDOWS
- Чем отличается Linux от Windows
- Какой бывает Linux? Основные виды, объяснение для новичков
- Универсальный RaspberryPi — Ubuntu MATE 1 Установка и настроика
- Устанавливаем UBUNTU18.04 (Bionic Beaver)! Плюсы и минусы Linux
- Основы Linux на примере Ubuntu — #1 Введение
- Linux (Ubuntu) — мои впечатления.
- Выбираем Linux для дома 🐧 Ubuntu НЕ лучший выбор
- Ubuntu: плюсы и минусы за 3 минуты.
- Какой Линукс выбрать в 2020 году
- Видеообзор. Модификации Intel NUC 5
- Сравнительный обзор двух мини-ПК: Intel NUC8i3BEH2 vs NUC8i5BEH2
- Неттоп INTEL NUC i5-8259U (BOXNUC8I5BEH)- купить
- Что входит в комплект для комплекта Intel® NUC NUC8i5BEH
- Информация о поддержке для комплекта Intel® NUC NUC8i5BEH
- RASPBERRY PI 4 MODEL B 1GB/2GB/4GB (купить)
- Заводим Raspberry Pi: установка, подключение, начало работы
- Raspberry Pi 3. Обзор и начало работы
- Микрокомпьютер Raspberry Pi 4 Model B (4 ГБ памяти)
- Raspberry Pi — Идеальный компьютер для школьника
- Что не так с Raspberry Pi
Автор: Николай Свирневский