Универсальный внешний накопитель для всех iOS-устройств, совместим с PC/Mac, Android
Header Banner
8 800 100 5771 | +7 495 540 4266
c 9:00 до 24:00 пн-пт | c 10:00 до 18:00 сб
0 Comments

Содержание

Простое программирование на Raspberry Pi для новичков

  • Python – это основной язык Raspberry Pi
  • Программирование на других языках под Raspberry

Программирование Raspberry Pi 3 – это как раз то, для чего большинство людей и берет этот одноплатный компьютер. Здесь сразу же следует отметить, что в этом материале не будет изложено инструкций, подробно раскрывающих, как и что нужно делать – таких в «сети» полно. Однако, рекомендуется читать официальную документацию и специализированные формы. Вместо этого в статье будут рассмотрены основные моменты, из которых станет понятно, что на Raspberry Pi программирование не отличается сложностью.

Python – это основной язык Raspberry Pi

Почти все владельцы Raspberry Pi понимают, что означает первое слово в названии одноплатника – “малина”. Однако второе многие интерпретируют неверно.

Некоторые считают, что оно означает “Пи” (3,14…), другие думают, что это первые две буквы слова Pie (пирог, и в этом есть смысл – “малиновый пирог”).

Однако на деле все иначе.

Pi – это сокращение от Python, только с заменой y на i. Так часто делают в программировании. Взять, например, хотя бы KDE, где во многих программах вместо С написано K (в угоду стилю): Konsole (правильно – Console), Konqueror (Conqueror) и т. д.

То есть, как не трудно догадаться, в Raspberry основным языком является “Пайтон”. Поэтому владельцу “Малины”, который пока не знает никакого ЯП, рекомендуется изучать именно этот. Причин, почему Raspberry Pi 3 программирование на Python наиболее лучшее решение, существует множество.

Вот лишь некоторые из них:

  • работа из коробки в Raspbian;
  • наличие обширной, хорошо документированной официальной библиотеки, которая уже включена в пакет;
  • простота языка и т. д.

Примеры кода на Python для Raspberry

Здесь по понятным причинам не будем рассказывать о языке и особенностях программирования на нем – это можно и нужно делать на официальных ресурсах (или, если не позволяет плохое знание английского – на специализированных).

Вместо этого будет рассмотрено, насколько легко можно программировать “Малину”. Для примера возьмем Raspberry Pi 3 GPIO программирование. Сделаем предположение, что в наличии имеется все необходимое: провода, светодиод, резистор и прочее, а также присутствует понимание распиновки – нумерации пинов. Также предположим, что светодиод подключен к 11 порту.

Написанный ниже код включает лампочку на 5 секунд, а затем выключает ее:

# вначале подключим необходимую библиотеку

import RPi.GPIO as GPIO

# также понадобится библиотека, которая отвечает за ожидание (она нужна, чтобы установить интервал включения и выключения лампочки)

import time

# чтобы запустить GPIO, понадобится выполнить следующую функцию

GPIO.setmode(GPIO.BOARD)

# теперь Python знает о GPIO, и ему можно указать на то, с каким портом нужно будет работать и что он должен делать (в данном случае – 11-м и он будет работать на выход)

GPIO.setup(11, GPIO.OUT)

# далее включим лампочку на 5 секунд (11 – номер порта, а 1 – значит true)

GPIO. output(11, 1)

time.sleep(5)

# теперь выключим (0 – значит false)

GPIO.output(11, 0)

Указанный код можно скопировать, вставить в документ и сохранить его с расширением .py, расположив, например, в домашней директории. Затем его нужно запустить командой: python ~./имя_файла.py.

Если все работает, то оборудование исправно.

Следует отметить, что, если вы плохо понимаете вышеуказанный код, обратитесь к документации и изучите основы программирования на Python, а также библиотеку GPIO. А если у вас есть хотя бы базовое понимание любого ЯП, то осознаете, что приведенный пример предельно прост.


Управление электроприборами через Raspberry Pi

Программирование на других языках под Raspberry

Программирование на C для Raspberry Pi или на других языках программирования почти ничем не отличается от того, что предполагает написание кода под другими платформами. Единственное – необходимы специальные библиотеки.

Библиотека WiringPi для работы с GPIO

Если интересует Raspberry Pi программирование на C/С++ и работа с GPIO, то требуется установить в систему непосредственно сам gcc, а затем библиотеку wiringPi – ее можно найти на GitHub. В описании к ней присутствует мануал по использованию.

Следует отметить, что для установки библиотек из GitHub, требуется утилита GIT. Если в системе ее нет, понадобится поставить из репозитория (полное имя: git-core).

Программирование “Малины” при помощи Java

Желающие программировать Raspberry Pi на Java, должны обратить внимание на Pi4J – библиотеку, которая предназначена специально для работы с “Малиной”. Загрузить и узнать о ее особенностях можно на официальном сайте проекта.

Программирование Raspberry Pi для детей

Интересно то, что изначально “Малина” разрабатывалась непосредственно для обучения детей программированию. Создатель этого устройства заметил, что уровень понимания функционирования компьютеров у современных студентов значительно ниже, чем у тех, кто учился в 90-х. Он связал это с тем, что вычислительные устройства стали предельно просты: если раньше увлеченным электроникой детям и подросткам приходилось разбираться в командах терминала и даже самостоятельно писать код, теперь все делается посредством нажатия на пару кнопок.

Поэтому, естественно, предусмотрено визуальное программирование Raspberry Pi. В частности, для этого применяется язык Scratch со специальным сервером – GPIOSERVER. В Сети существует множество мануалов, которые помогают освоиться с соответствующими программами, поэтому рассматривать их смысла нет.

Перечисленными языками не ограничиваются возможности “Малинки”. С ней можно взаимодействовать в том числе и при помощи PHP, Ruby, Perl и прочих ЯП. Почти под каждый популярный язык существуют хоть и не официальные, но зато рабочие и достаточно функциональные библиотеки. Однако опять следует упомянуть, что лучше для программирования Raspberry использовать именно “Пайтон”.

Лучшие IDE для Raspberry Pi / Блог компании RUVDS.

com / ХабрRaspberry Pi — это, может, и не единственный одноплатный компьютер (single-board computer, SBC) на рынке, но он, определённо, является самым популярным. Raspberry Pi пользуется огромное количество людей, он является центром экосистемы, в которую входит множество официальных и неофициальных ресурсов и изделий — от книг и дополнительного оборудования до форумов и учебных курсов. Raspberry Pi снабжён отличной, поддерживаемой в актуальном состоянии документацией. Благодаря Raspberry Pi Foundation регулярно выходят новые модели SBC, появляются и усовершенствования моделей предыдущих поколений. Raspberry Pi, учитывая его серьёзную вычислительную мощность, отлично показывает себя в роли настольного компьютера. Он подходит и тем, кто занимается программированием.


Raspberry Pi

Из этого материала вы узнаете о том, почему Raspberry Pi имеет смысл рассматривать как компьютер, подходящий для разработчика ПО. Здесь же мы поговорим о выборе интегрированной среды разработки (integrated development environment, IDE). Среди рассмотренных IDE можно найти инструменты для программирования практически на любом языке.

Почему Raspberry Pi отлично подходит в качестве настольного компьютера программиста?


Raspberry Pi, скромный одноплатный компьютер размером с кредитную карточку, скрывает в себе гораздо большую вычислительную мощь, чем кажется на первый взгляд. Так, например, хотя новый Raspberry Pi 4 и не крупнее сравнимых моделей предыдущих поколений, он несёт в себе много улучшений. В нём больше памяти, которая быстрее, чем раньше. Есть варианты с 1, 2, 4Гб RAM, а через некоторое время после выхода появился и вариант с 8Гб памяти. В Pi 4 имеется новая однокристальная система Broadcom BCM2711 и четырёхъядерный 64-битный процессор Cortex-A72 ARM v8, работающий на частоте 1,5 ГГц. В распоряжении пользователя есть пара USB 2.0-портов, два HDMI-порта, способных выводить 4K-видео, двухдиапазонный Wi-Fi-адаптер, Bluetooth 5.0 BLE. Raspberry Pi обладает всеми атрибутами нормального настольного компьютера.

Я, в качестве эксперимента, неделю, в роли настольного компьютера, пользовался Raspberry Pi с 4 Гб памяти. Я с лёгкостью справился со всеми своими обычными делами. Я писал тексты, редактировал изображения и аудиозаписи, смотрел веб-страницы, открывая кучу вкладок браузера. Raspberry Pi достойно справился с этими задачами. А если в таком же качестве использовать 8-гигабайтный вариант платы, то можно будет совершенно спокойно работать, запуская сразу много программ. При таком раскладе скорее окажется так, что работой будет перегружен процессор, но забить под завязку память, вероятно, не удастся. Для Raspberry Pi существует множество дистрибутивов Linux. Поэтому перед нами — отличный миниатюрный компьютер, который можно приспособить под решение самых разных задач. Если поставить на Pi с 4 или 8 Гб памяти какой-нибудь 64-битный дистрибутив Linux, вроде Ubuntu или Raspberry Pi OS (ранее эта ОС называлась Raspbian), можно будет на полную мощность задействовать ресурсы памяти устройства и запускать 64-битные приложения.

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

У того, что на базе Raspberry Pi можно создать отличный компьютер для программиста, есть несколько причин:

  • Множество совместимых дистрибутивов Linux.
  • Доступность.
  • Маленькие размеры.
  • Отличное соотношение цена/качество.
  • Наличие массы IDE.

Geany: лучшая многоязычная IDE



Geany

Geany — это нетребовательная к ресурсам и весьма функциональная IDE, пользовательский интерфейс которой, очень хорошо сделанный, основан на GTK+ и Scintilla. Это — универсальная система, поддерживающая несколько языков программирования. В частности — PHP, Java, Perl, Ruby, C++, C и C#. Geany может похвастаться множеством различных полезных возможностей. Среди них — автозавершение ввода, подсветка синтаксиса, возможность сворачивания и разворачивания блоков кода. Эту IDE, потребляющую немного системных ресурсов и дающую возможность писать на множестве языков, можно признать лучшей интегрированной средой разработки для Raspberry Pi.

Среди основных особенностей Geany можно отметить следующие:

  • Поддержка множества языков (PHP, Java, Perl, Ruby, C++, C#).
  • Автозавершение ввода, подсветка синтаксиса, работа с блоками кода.
  • Скромные системные требования.

BlueJ: лучшая IDE для Java



BlueJ

BlueJ — это замечательная IDE для Java-разработчиков. Она отличается простым и удобным интерфейсом, существует её портативный вариант. Это — хороший инструмент для тех, кто занимается объектно-ориентированным программированием. BlueJ, помимо написания кода, позволяет выполнять программы. Изначально эта IDE была создана в качестве инструмента для обучения программированию Поэтому она подойдёт начинающим и опытным разработчикам. Учебное прошлое IDE видно, например, в её возможности визуализировать разные сущности и процессы вроде классов, объектов и вызова функций. А опенсорсная библиотека Pi4J из Java SE позволяет работать с аппаратным обеспечением, подключённым к компьютеру.

Среди основных особенностей BlueJ отметим следующие:

  • Поддержка Java.
  • Отличная приспособленность для объектно-ориентированного программирования.
  • Наличие большого количества справочных материалов (вроде книг и документации), хорошая техподдержка.

Thonny: лучшая IDE для начинающих Python-разработчиков



Thonny

Thonny — это продвинутая Python-IDE, которая хорошо подходит для новичков. Хотя пользоваться ей вполне могут и профессионалы, некоторые черты этой IDE говорят о том, что она особенно хороша для начинающих питонистов. Она даёт в распоряжение программиста возможности по пошаговому выполнению выражений, средства визуализации стека вызовов и множество других полезных мелочей. Если новичок возьмёт всё это на вооружение — он не только улучшит свои навыки Python-программирования, но и будет лучше понимать то, что происходит во время выполнения кода.

Вот главные особенности Thonny:

  • Поддержка Python.
  • Простой в использовании отладчик.
  • Удобство для новичков.
  • Вычисление выражений.
  • Подсветка синтаксических ошибок.
  • Вспомогательные средства, помогающие разобраться в коде.

Ninja-IDE



Ninja-IDE

Редактор кода Ninja-IDE описан на его сайте как «Not Just Another IDE» («не просто ещё одна IDE»). Это — IDE, написанная на Python, которая просто восхитительно работает на Raspberry Pi. Nindja — это до крайности нетребовательный и приятный редактор кода, который подходит для разработки на многих языках, в число которых входит и Python. Например, здесь имеется очень удобное средство для поиска нужных фрагментов кода. Вызывается оно комбинацией клавиш CTRL + K. Тут, кроме того, есть поддержка множества других полезных возможностей, что делает Ninja отличным выбором для программиста. Среди того, что умеет Ninja, можно отметить автоматическую расстановку отступов, работу с файлами, подсветку ошибок в соответствии с PEP 8. Более того, в Ninja есть инструменты для управления проектами, этот редактор поддерживает целую кучу плагинов.

Вот главные особенности Ninja-IDE:

  • Скромные системные требования.
  • Подсветка ошибок.
  • Мощные средства для поиска фрагментов кода.
  • Автоматическая расстановка отступов.
  • Инструменты для управления проектами.
  • Множество плагинов.

Greenfoot: лучшая IDE для новичков



Greenfoot

IDE Greenfoot основана на Java. Она ориентирована на обучение программированию. Поэтому в ней можно найти много приятных мелочей вроде системы автозавершения кода и подсветки синтаксиса. Greenfoot отличается чрезвычайно интерактивным интерфейсом, который легко освоить. Хотя этой IDE вполне могут пользоваться и опытные разработчики, она лучше всего подойдёт для, так сказать, «зелёных» программистов.

Вот основные особенности Greenfoot:

  • Ориентированность на новичков.
  • Эта IDE основана на Java.
  • Поддержка Java.
  • Встроенные средства для управления проектами.
  • Автозавершение кода, подсветка синтаксиса, автоматическое исправление ошибок.

IDE Lazarus



Lazarus

Отличная IDE Lazarus, которую можно запустить на Raspberry Pi, отличается кроссплатформенностью и бесплатностью. Она использует компилятор Free Pascal и прекрасно подходит для быстрой разработки. А именно, код она компилирует очень быстро, поддерживает кросс-компиляцию. Код она тоже выполняет с весьма высокой скоростью. Lazarus поддерживает анализ производительности кода. В ней имеется множество встроенных компонентов, а если их окажется недостаточно, то можно найти дополнительные компоненты в файлах пакетов Lazarus. Перед нами — хорошо документированный опенсорсный проект, поддерживающий множество языков программирования.

Среди особенностей Lazarus можно отметить следующие:

  • Быстрая компиляция и быстрое выполнение кода.
  • Удобство использования.
  • Поддержка визуального режима разработки, множество встроенных компонентов, возможность использования дополнительных компонентов.
  • Использование Free Pascal.
  • Поддержка множества языков.

Adafruit WebIDE: лучшая браузерная IDE



Adafruit WebIDE

Большинство IDE нужно загружать и устанавливать. А вот Adafruit WebIDE — это интегрированная среда разработки для Raspberry Pi, основанная на веб-технологиях. Вот видеодемонстрация этой IDE. Учитывая то, что эта IDE работает в браузере, она отлично подходит для программирования на Chromebook и даже для разработки программ на планшетных компьютерах. Adafruit WebIDE может компилировать код, написанный на разных языках программирования. Среди них — JavaScript, Ruby и Python. Но то, что эта IDE работает в браузере, не значит, что она бедна возможностями. Работая с ней, код можно загружать в Git-репозиторий. Здесь даже имеется встроенный отладчик и система, упрощающая перемещение по коду.

Среди основных особенностей Adafruit WebIDE можно отметить следующие:

  • Работа в браузере.
  • Поддержка загрузки кода в Git-репозитории.
  • Простые компиляция и запуск кода.
  • Наличие отладчика и удобных средств для перемещения по коду.

Code::Blocks: лучшая IDE для начинающих C++-программистов



Code::Blocks 

IDE Code::Blocks ориентирована на C++. Это — бесплатный, опенсорсный, кроссплатформенный проект. Эта IDE поддерживает множество компиляторов, таких, как Clang, Visual C++ и GCC. Это — мощная, но, в то же время, простая и удобная среда разработки. Среди её возможностей — подсветка синтаксиса, автозавершение ввода, поддержка плагинов, возможность работы с блоками кода. Тут имеется интеллектуальный отладчик, с помощью которого удобно искать причины программных ошибок. Хотя эта IDE была создана для разработки на C++, в список поддерживаемых ей языков входят ещё C и Fortran.

Вот её главные особенности:

  • Интеллектуальный отладчик.
  • Отличная поддержка компиляторов, среди которых можно отметить C++, GCC, Visual C++, Intel C++, Watcom, Borland C++.
  • Поддержка C, C++ и Fortran.
  • Подсветка синтаксиса.
  • Форматирование кода, автозавершение ввода, работа с блоками кода.
  • Поддержка плагинов.

Итоги


Хотя на рабочих столах программистов обычно встречаются компьютеры, работающие под управлением macOS, Linux и, что там говорить, даже Windows, Raspberry Pi при решении многих задач выглядит на их фоне вполне достойно. Это — отличный вариант второго компьютера. На базе Raspberry Pi можно сделать «песочницу» для всяких экспериментов, эта система вполне может стать и первым компьютером, скажем — для ребёнка, который учится программировать. Существует огромное количество различных IDE, которые позволяют использовать Raspberry Pi для написания кода на практически любом языке программирования. Среди этих IDE есть самые разные проекты — от универсальных, до узкоспециализированных. А некоторые IDE уже встроены в операционные системы, устанавливаемые на Raspberry Pi.

Пользуетесь ли вы Raspberry Pi в качестве рабочей машины программиста?

9 языков для Raspberry Pi | GeekBrains

Мини-компьютеры в помощь обучению, хозяйству и жизни.

https://d2xzmw6cctk25h.cloudfront.net/post/1177/og_cover_image/13e4294625d61f6f60e17b0f0af902ce

В 2011 году одноплатный компьютер Raspberry Pi был выпущен для тех, кто устал искать готовые решения и решил творить технологическое окружение самостоятельно. В то время как Arduino – это игрушка в большей степени для любителей работать руками, «малиновый» продукт – разминка мозга для программистов.

Всего за 6 лет под Raspberry были адаптированы почти все популярные языки программирования. Какие-то имеют существенные ограничения, какие-то работают на полную катушку. Рассмотрим 9 представителей второй категории.

Scratch

Официальный сайт предлагает пользователям Raspberry первый делом обратиться к Scratch. Исходники языка уже включены в стандартную операционную систему Raspbian. Начать создание IoT с помощью Scratch может как взрослый специалист, так и совсем ещё ребёнок. Недаром он всего за 10 лет выбился в топ-20 языков по числу запросов в поисковиках.

Python

Возможно для вас это будет сюрпризом, но Pi в названии – это не математическая константа, а отсылка к Python. IDLE, стандартная среда разработки программ на Raspberry, работает как раз на змеином языке. На официальном сайте в разделе документация вы найдёте базовое руководство. Кроме того, благодаря Python Games и их исходникам, вы познакомитесь с возможностями языка.

HTML5 и CSS3

Компьютеры Raspberry Pi подходят для создания систем IoT, а встроенный браузер Epiphany — подходящий клиентский интерфейс. Это значит, что без языков веба не обойтись. HTML5 и CSS3 позволят вам решить вопрос создания виртуальной оболочки умного дома с минимальными затратами времени и незначительными ограничениями.

JavaScript

JavaScript — динамическая сила Raspberry Pi. Вы сможете поработать с ним благодаря платформе Node.js, позволяющей вам создавать десктопные и веб-приложения. Не стоит забывать про библиотеку jQuery, которая работает в любом браузере, и наполняет его привычными динамическими функциями.

Java

Возможность запустить Java-код на любой платформе – главная концепция языка. И эта концепция особенно полезна для таких платформ, как Raspberry Pi. Вы сначала отладите код на «большой» ОС, а потом перенесёте на Raspbian. При этом разработка приложений на Java внутри «малиновой» системы затруднительна — здесь нет полноценной среды для этого языка.

С

Так как Raspbian – ОС на базе Unix, в качестве базового языка здесь выступает С. С его помощью вы получите максимальную производительность без использования машинных команд. Это особенно важно для серверных систем в составе IoT. Надмножество языка, Objective-C, используется для написания приложений для iPhone и iPad, что также может пригодиться вам с «малиной».

C++

С++ пригодится там, где нужны и скорость, и безопасность, и чёткость работы. Спектр задач при этом невероятно широк – от работы непосредственно с железом до организации взаимодействия устройств и клиентов. С++ переменит на «малиновую» сторону опытных разработчиков из прошлого века и тех, кто до этого писал код лишь для микроконтроллеров.

Perl

Perl постепенно сдаёт позиции в мире больших машин, но в Raspberry Pi это пока один из основных инструментов. Он поставляется «из коробки», имеет множество расширений и дополнений, с его помощью можно организовать сбор информации или переписать Си-программу.  Это ударит по быстродействию, зато работать с таким кодом на порядок проще.                                                           

Erlang

Erlang — язык программирования для создания сложных систем. Допустим вы разрабатываете на своем одноплатном друге атомную электростанцию или нейронно-вычислительную сеть. C++ или другой прикладной язык не подойдёт. А вот Erlang позволит вам минимизировать ошибки и извлечь максимум возможностей из Raspberry Pi. Конечно, если вы дорастете до этого уровня.

Как вы поняли, язык разработки для Rasberry Pi имеет третьестепенное значение. Выбор зависит от вкусовых предпочтений, от типа решаемой задачи и вашего опыта. А значит, Rasberry Pi станет вашим верным спутником в программировании, какой бы путь вы ни выбрали.

Установка и настройка Python и RPI.GPIO в Raspbian для Raspberry Pi

Raspberry Pi – мощная платформа для обработки информации, полученных от разнообразных устройств. Этот микрокомпьютер может стать основой для создания систем умного дома и устройств распознавания образов. Наиболее удобной и популярной средой программирования для Raspbian является Питон. В это статье мы узнаем, как настроить Python на Raspberry Pi и как установить библиотеку RPI.GPIO для работы с GPIO портами.

Установка и настройка Python на Raspbian

Python – один из самых известных и используемых языков программирования. Изначально язык Python должен был выступать в роли основного языка программирования для Raspberry Pi. В микрокомпьютере Raspberry Pi он используется для работы с датчиками через GPIO при помощи специальной библиотеки. Пакет Python уже установлен в операционной системе  Raspbian в двух версиях – 2 и 3. Каждый элемент в системе Raspbian перед именем имеют приставку «python-».

Установка и инсталляция пакетов выполняются с помощью утилиты apt либо pip.

Установить пакет  утилитой apt можно при помощи команд:

sudo apt-get update

sudo apt-get install python3-picamera

Это один из лучших методов установки программного обеспечения. Благодаря такой установке программы можно легко обновить до последней версии – для этого используются команды sudo apt-get update и sudo apt-get upgrade.

Удалить ненужные элементы можно, запустив команду sudo apt-get remove python3-rpi.gpio.

Полное удаление можно произвести, добавив к команде окончание –purge:

sudo apt-get remove python3-rpi.gpio –purge.

Установка пакетов через PIP. Этот инструмент нужно тогда, когда невозможно найти нужный пакет или его последнюю версию. В это случае установка проводится через PyPI – каталог пакетов Python. Установка так же не вызывает трудностей, как и в предыдущем случае. Сначала нужно установить пакет через apt:

sudo apt-get install python3-pip (на примере третьей версии)

Команда pip-3.2 устанавливает нужные документы и файлы для python. Например, установить любую библиотеку можно следующим образом:

pip-3.2 install library

Удалить – с помощью команды

pip-3.2 uninstall.

Сам язык программирования Python характеризуется простым синтексом и высокой функциональностью, поддерживает автоматическое управление памятью, многопоточность вычислений, обработку исключений. Для этого языка существует большое количество библиотек для самых разнообразных сфер применения. Существуют расширения для создания игр – Pygame, для работы с мультимедиа, обработки графики, различных вычислений.

Установка библиотеки RPi.GPIO

Библиотека RPi.GPIO написана специально для управления портами GPIO на языке python. Эти порты позволяют собирать данных с датчиков, управлять двигателями, ключами, реле и прочими устройствами с помощью программы.

В первую очередь нужно скачать архив с официального сайта https://sourceforge.net/projects/raspberry-gpio-python/files/?source=navbar. На странице можно увидеть большое количество версий библиотеки. Нужно выбрать самую свежую версию.

Архив будет загружен в папку загрузки по адресу /home/pi/Downloads. Нужно зайти в нее, найти скачанный архив, нажать правую кнопку мыши и выбрать во всплывающем меню Extract Here.

Эта команда разархивирует библиотеку в папку, в которую помещен  архив. Рядом с ним будет добавлена новая папка с названием RPi.GPIO-0.6.3.

Следующим шагом нужно установить python-dev. Запускается терминал и в него вводится команда

sudo apt-get install python-dev

Будет задан вопрос «Do you want to continue? [Y/n]», нужно нажать «Yes» и Enter.

В окне высветится отчет, который сообщает об успешно проведенной установке.

Чтобы установить библиотеку RPi.GPIO, нужно не закрывая перейти в папку, которая была распакована до этого.

cd /home/pi/Downloads/RPi.GPIO-0.6.3

Затем нужно запустить команду:

python setup.py build

На экране появится отчет о выполнении.

После этого нужно запустить установку библиотеки с помощью команды

sudo python setup.py install

После успешной установки на экране появится новый отчет.

Библиотека установлена, можно начинать работать.

Помимо вышеописанной библиотеки RPi.GPIO существуют и другие. Для доступа к GPIO контактам используется также библиотека WiringPi. Эта библиотека написана на языке C, используется в средах C, C++ и RTB (BASIC) и других. Она создавалась схожей с библиотекой Wiring на Ардуино.

Для программирования и настройки контактов вместе с библиотекой используется утилита gpio для командной строки. Она позволяет записывать и считывать данных с портов и управлять ими.

 

Программирование Raspberry Pi 3: языки, пример простейшей программы

Raspberry Pi — семейство миниатюрных одноплатных компьютеров. Они нашли применение в различных проектах из сферы IoT и домашней автоматизации, а обширные возможности и обилие подробной документации привлекают к Pi внимание энтузиастов компьютерной техники. С помощью этой платформы весьма удобно учиться написанию кода: программирование Raspberry Pi возможно на разных языках, а написанную программу можно тут же загрузить в память компьютера и протестировать. Для успешной профессиональной (и любительской) работы с «одноплатником» также понадобятся навыки программирования.

Языки для Raspberry

За прошедшие со дня выпуска первой версии микрокомпьютера годы для него адаптировали практически все современные языки программирования. Некоторые специфические обладают лишь ограниченной поддержкой, но самые популярные работают без ограничений.

Raspberry также поддерживает исполнение кода Java, на основе компьютера можно создавать интерактивные веб-приложения HTML5 и PHP.

Рассмотрим пример программирования RPI на популярном языке Python

Разработка под RPI на Python

«Питон» идеально подходит для Raspberry: он достаточно прост в освоении, функционален обладает множеством возможностей. На Python разрабатываются как небольшие программы для собственного использования, так и крупные проекты международного уровня. Этот язык станет хорошим стартом для новичков в мире IT и отличным инструментом обучения кодингу, устройству и принципам работы компьютеров.

С чего начать

Для разработки на «Питоне» под Raspberry потребуется изучить некоторые базовые понятия. Программист обязательно должен освоить:

  • переменные;
  • циклы;
  • функции;
  • переходы;
  • табуляцию (как способ ограничения отдельных блоков кода).

Несмотря на кажущийся объем, изучение синтаксиса языка и базовых приемов работы с ним занимает несколько вечеров.

Важно: желательно знать английский хотя бы на уровне чтения. Хотя и сам RPI, и Python обладают хорошим стеком русскоязычной документации, некоторые сведения полнее изложены в английском варианте или доступны только в нем. Кроме того, знание иностранного открывает доступ к ресурсам англоязычного комьюнити, позволяет общаться с коллегами со всего мира, делиться опытом и так далее.

Так, например, взаимодействие с «Малинкой» через «Питон» хорошо описано в пособии для начинающих с названием Python programming with Raspberry Pi, которое на русский не переведено.

Инструменты разработки

Программирование на Python нуждается в соответствующем инструментарии. В случае с Python это интерпретатор, компилятор и среда разработки, поставляющиеся единым пакетом и доступные для загрузки с официального сайта. На нем присутствуют дистрибутивы под разные платформы.

Можно также воспользоваться адаптированным под «одноплатник» дистрибутивом Raspbian, где весь инструментарий предустановлен.

Помимо среды разработки, понадобятся некоторые специфические библиотеки, в частности, для взаимодействия с GPIO. В «официальном» дистрибутиве ОС все они присутствуют.

Пример простой программы

Итак, допустим, что у нас есть:

  • Raspberry PI;
  • провода;
  • резистор;
  • светодиод.

Лампочка подсоединена к пину 10 платы.

Следующая программа включает диод на 5 секунд, после чего выключает.

# подключаем одну из упомянутых библиотек взаимодействия.
Import RPi.GPIO as GPIO
# далее подключим библиотеку времени (нужна для таймера включения/выключения диода).
Import time
# вводим функцию для запуска GPIO.
GPIO.setmode(GPIO.BOARD)
# Указываем интерпретатору номер порта и направление (пин 10, на выход).
GPIO.SETUP(10, GPIO.OUT)
# Включаем светодиод на 5 секунд.
GPIO.output(10, 1)
time.sleep(5)
# И выключаем.
GPIO.output(10, 0)

Написанную программу следует сохранить в файл с расширением .py, который далее выполняется на «малинке». По аналогичному принципу пишутся и другие программы.

Заключение

Raspberry Pi — многоцелевая платформа, программировать которую можно на большинстве современных языков. Выбор конкретного зависит только от личных желаний и предпочтений программиста, а также особенностей реализуемого проекта.

Для начинающих хорошо подойдет язык Python, как нативный для «малинки», хорошо документированный и простой в исполнении. Детям и молодежи также должен понравиться Scratch, дающий возможность освоить техники программирования в визуальном режиме почти без написания собственно кода.

Видео по теме

Facebook

Twitter

Мой мир

Вконтакте

Одноклассники

Pinterest

Изучаем Raspberry Pi. Часть 5. Программирование на Python

Созданный в 1991 году Гвидо ван Россумом и названный в честь популярного британского комедийного телешоу 1970-х «Летающий цирк Монти Пайтона» (англ. Monty Python’s Flying Circus), язык Python (в произношении употребляется как «Пито́н», так и «Па́йтон») на сегодня является дним из самых популярных объектно-ориентированных языков программирования, сочетая понятный и достаточно простой синтаксис и мощные возможности за счет использования встроенных и подключаемых библиотек.

Наиболее известные и часто используемые библиотеки в проектах с ИИ:  

  • NumPy и Pandas — для добавления поддержки больших многомерных массивов, матриц, математических функций для операций с ними; 
  • Keras и TensorFlow — для работы с сетями глубинного обучения;
  • Requests и т.п.

Разработчики языка Python придерживаются определённой философии программирования, называемой «The Zen of Python» («Дзен Пито́на», или «Дзен Па́йтона»). Её очень просто получить для прочтения на экране с помощью команды ‘import this’. Основные пункты философии Python:

  1. Красивое лучше, чем уродливое.
  2. Явное лучше, чем неявное.
  3. Простое лучше, чем сложное.
  4. Сложное лучше, чем запутанное.
  5. Плоское лучше, чем вложенное.
  6. Разреженное лучше, чем плотное.
  7. Читаемость имеет значение.
  8. Особые случаи не настолько особые, чтобы нарушать правила.
  9. При этом практичность важнее безупречности.
  10. Ошибки никогда не должны замалчиваться.
  11. Если не замалчиваются явно.
  12. Встретив двусмысленность, отбрось искушение угадать.
  13. Должен существовать один — и, желательно, только один — очевидный способ сделать это.
  14. Хотя он поначалу может быть и не очевиден, если вы не голландец.
  15. Сейчас лучше, чем никогда.
  16. Хотя никогда зачастую лучше, чем прямо сейчас.
  17. Если реализацию сложно объяснить — идея плоха.
  18. Если реализацию легко объяснить — идея, возможно, хороша.
  19. Пространства имён — отличная вещь! Давайте будем делать их больше!

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

Итак, в отличие от рассмотренной ранее визуальной среды программирования Scratch, Python основан на выполнении текстовых команд. Порядок таков: вначале вы будете писать инструкции, используя упрощенный язык и определенный формат, а затем эти инструкции будет выполнять компьютер. Нельзя сказать, что так уж трудно научиться писать программы на Python — немного попрактиковавшись, любой может писать простые программы на Python, а поработав над собой ещё немного — дойти и до сложных игр, а также программ с элементами машинного обучения (Machine Learning).

 

Представляем Thonny Python IDE

Thonny Python IDE — интегрированная среда разработки (англ. Integrated Development Environment) для Python, предназначенная для начинающих. Интегрированная среда разработки (IDE) — сложное название, но имеющее простое объяснение: она собирает вместе или интегрирует все различные инструменты, необходимые для написания или разработки программного обеспечения в едином пользовательском интерфейсе или среде. Доступно множество IDE, некоторые из которых поддерживают множество разных языков программирования, в то время как другие, такие как Thonny, сосредоточены на поддержке одного языка.  

Интерфейс Thonny выглядит следующим образом:

AToolbar (Панель инструментов). В Thonny есть две версии интерфейса: «Обычный режим» (Normal Mode) и «Простой режим» (Simple Mode), который лучше подходит для начинающих. Мы будем использовать простой режим, который загружается по умолчанию, когда вы открываете Thonny из раздела «Программирование» в Главном меню. В нём в качестве меню используется панель удобных значков, позволяющая создавать, сохранять, загружать и запускать программы Python, а также тестировать их различными способами.

BScript Area (Область сценария) — это место, где пишутся программы Python, и оно разделено на основную область для программы и небольшое боковое поле для отображения номеров строк.

C Python Shell (Оболочка Python) — оболочка Python позволяет вам вводить отдельные инструкции, которые затем запускаются, как только вы нажимаете клавишу ENTER, а также предоставляет информацию о запущенных программах.

 

 

Ваша первая программа на Python: Hello, World!

Как и другие предустановленные программы на Raspberry Pi, Thonny доступен из меню: щелкните значок «Малинка»(Пуск), переместите курсор в раздел «Программирование» и щелкните Thonny Python IDE. Через несколько секунд загрузится пользовательский интерфейс Thonny (по умолчанию отображается простой режим).

В отличие от Scratch, который дает нам визуальные строительные блоки в качестве основы для программы, Python является более традиционным языком программирования, где все записывается символами. Запустите свою первую программу, щелкнув область Shell (оболочки) Python в нижнем левом углу окна Thonny, затем введите следующую инструкцию перед нажатием клавиши ENTER:

Когда нажмете ENTER, вы увидите, что программа мгновенно начинает работать: Python ответит в той же области оболочки сообщением «Hello, World!». Это потому, что оболочка является прямой линией интерпретатора (interpreter) Python, задача которого  сводится к просмотру ваших инструкций и интерпретации того, что они означают. Это называется интерактивным режимом (interactive mode), и вы можете сравнить это с тем, как ведется разговор лицом к лицу с кем-то: как только вы закончите что-то говорить, собеседник ответит, а затем будет ждать, что скажете дальше вы.

Обратите внимание: СИНТАКСИЧЕСКАЯ ОШИБКА (SYNTAX ERROR)
Если ваша программа не запускается, а вместо этого выводит сообщение «синтаксическая ошибка» в области оболочки, значит, где-то есть ошибка в написанном вами коде. Python требует, чтобы его инструкции были написаны очень специфическим образом: пропустите скобку или кавычку, неправильно напишете «print» или поставите заглавную P, или добавите дополнительные символы где-нибудь в инструкции — и она не будет работать. Попробуйте ввести инструкцию еще раз и убедитесь, что она соответствует приведенному выше примеру кода, прежде чем нажимать клавишу ENTER!

 

Однако вам не обязательно использовать Python в интерактивном режиме. Щелкните область сценария в левой части окна Thonny, затем введите свой код ещё раз:

Когда вы на этот раз нажмёте клавишу ENTER, ничего не произойдёт — за исключением того, что вы получите новую пустую строку в области сценария. Чтобы эта версия вашего кода заработала, вам нужно щелкнуть значок «Выполнить»  на панели инструментов Thonny. Когда вы это сделаете, вам будет предложено сначала сохранить вашу программу; введите описательное имя, например «Hello World», и нажмите кнопку «Сохранить». После сохранения программы вы увидите два сообщения в области оболочки Python:

Первая из этих строк — это инструкция от Thonny, говорящая интерпретатору Python запустить программу, которую вы только что сохранили. Вторая — результат работы программы:  сообщение, которое вы указали напечатать Python-у.

 

Поздравляем: вы написали и запустили свою первую программу на Python как в интерактивном режиме, так и в режиме сценария!

 

 

Следующие шаги: циклы и отступы кода

Подобно тому, как Scratch использует стеки блоков, похожих на мозаику, чтобы контролировать, какие биты программы связаны с какими-то другими битами, Python имеет свой собственный способ управления последовательностью, в которой выполняются его программы: отступы (indentation). Создайте новую программу, щелкнув значок  «New» (Создать)  на панели инструментов Thonny. Не волнуйтесь, вы не потеряете существующую программу — вместо этого Thonny создаст новую вкладку над областью скрипта. Начните с ввода следующего:

Первая строка выводит простое сообщение в оболочку, как и ваша программа Hello World. Вторая запускает конечный цикл (definite loop), который работает так же, как и в Scratch: счетчик i назначается циклу и получает ряд чисел — инструкцию диапазона range, который должен начинаться с числа 0 и двигаться вверх к числу 10, но не достигнуть его. Символ двоеточия (:) сообщает Python, что следующая инструкция должна быть частью цикла.
В Scratch инструкции, которые нужно включить в цикл, буквально включены внутри C-образного блока. Python использует другой подход: код отступов (indenting code). Следующая строка начинается с четырех пробелов, которые Thonny должен был добавить, когда вы нажали ENTER после строки 2:

Пробелы сдвигают эту строку внутрь по сравнению с другими строками. Этот отступ – это то, как Python сообщает разницу между инструкциями вне цикла и инструкциями внутри цикла; код с отступом называется вложенным.
Вы заметите, что когда вы нажимали ENTER в конце третьей строки, Thonny автоматически делал отступ для следующей строки, предполагая, что она будет частью цикла. Чтобы удалить это, просто нажмите клавишу BACKSPACE один раз, прежде чем вводить четвертую строку:

Ваша четырехстрочная программа завершена. Первая строка находится вне цикла и выполняется только один раз; вторая строка устанавливает цикл; третья находится внутри цикла и будет выполняться один раз для каждого исполнения цикла; а четвертая строка снова находится вне цикла.

Щелкните значок «Выполнить», сохраните программу как «Отступ» (Indentation) и просмотрите область оболочки (Shell), где показан результат работы:

 

Обратите внимание: СЧЕТ ОТ НУЛЯ
Python является языком с нулевым индексом, то есть он начинает отсчет с 0, а не с 1, поэтому ваша программа печатает числа от 0 до 9, а не от 1 до 10. Если хотите, вы можете изменить это поведение, переключив диапазон range(10) на диапазон (1, 11) — или любых других чисел, которые вам нравятся.

 

Отступы — это мощная часть Python и одна из наиболее частых причин, по которой программа не работает так, как вы ожидали. При поиске проблем в программе, процессе, известном как отладка (дебаггинг, debugging), всегда дважды проверяйте отступы, особенно когда вы начинаете вложение циклов внутри других циклов.
Python также поддерживает бесконечные циклы (infinite loops), которые выполняются без завершения. Чтобы изменить вашу программу с определенного цикла на бесконечный, отредактируйте строку 2 следующим образом:

Если сейчас щелкнуть значок «Выполнить», появится сообщение об ошибке: name ‘i’ is not defined (имя i не определено). Это потому, что вы удалили строку, которая создала и присвоила значение переменной i. Чтобы исправить это, просто отредактируйте строку 3, чтобы она больше не использовала переменную:

Щелкните значок «Выполнить», и если вы поторопились, то увидите сообщение ‘Loop starting!’ (Цикл запускается!), за которым следует нескончаемая строка сообщений ‘Loop running!’ (Цикл выполняется!)

Сообщение ‘Loop finished!’ (Цикл завершен!) никогда не будет напечатано, потому что у цикла нет конца: каждый раз, когда Python завершает печать сообщения ‘Loop running!’, Он возвращается к началу цикла и печатает его снова.

Щелкните значок «Stop» (Стоп)  на панели инструментов Thonny, чтобы программа прекратила свои действия – это называется прерыванием программы (interrupting the program). Вы увидите сообщение, появившееся в области оболочки Python, и программа остановится – так и не дойдя до строки 4.

 

 

Условные выражения и переменные

Переменные, как и во всех языках программирования, существуют не только для управления циклами. Запустите новую программу, щелкнув значок «New» (Создать)  в меню Thonny, а затем введите следующее в область сценария:


Щелкните значок «Run» (Выполнить), сохраните программу как Name Test и посмотрите, что произойдёт в области оболочки: вам будет предложено ввести свое имя. Введите свое имя в область оболочки и нажмите клавишу ВВОД. Поскольку это единственная инструкция в вашей программе, больше ничего не произойдет.

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

Чтобы заставить вашу программу делать что-то полезное с именем, добавьте условный оператор, набрав следующее:


Помните, что когда Thonny видит, что ваш код требует отступа, он делает это автоматически, но он не знает, когда ваш код должен перестать иметь отступ, поэтому вам придется удалять пробелы самостоятельно.
Щелкните значок «Выполнить» и введите свое имя в область оболочки. Если ваше имя не Clark Kent, вы увидите сообщение ‘You are not Superman!’ (Ты не Супермен!). Снова нажмите «Выполнить» и на этот раз введите имя ‘Clark Kent’ — убедитесь, что оно написано точно так же, как в программе, с заглавными буквами C и K. На этот раз программа распознает, что вы на самом деле Супермен.

 

Символ == указывает Python провести прямое сравнение, чтобы проверить, соответствует ли переменная userName тексту, известному в программе как строка (string). Если вы работаете с числами, вы можете сделать и другие сравнения, используя символы, известные как операторы сравнения (comparison operators):

> для того, чтобы увидеть больше ли число, чем другое;

для того, чтобы увидеть меньше ли число, чем другое;

=> для того, чтобы увидеть больше ли число или равно; 

=< для того, чтобы увидеть меньше ли число или равно; 

!=  означает полную противоположность оператору ==.

 

Обратите внимание!

Давайте разберемся в отличиях операторов = и ==
Ключ к использованию переменных в программах — это понять и запомнить разницу между = и ==. Помните: = означает «сделать эту переменную равной этому значению», то есть буквально — присвоить ей это значение, а == означает «проверить, равна ли переменная этому значению», то есть проверить. Путаница в этих базовых понятиях — верный способ получить неработающую программу!

 

Операторы сравнения также могут использоваться в циклах. Удалите строки со 2 по 5, а затем введите вместо них следующее:


Снова щелкните значок «Выполнить». На этот раз, вместо того, чтобы выйти, программа будет продолжать запрашивать ваше имя, пока не подтвердит, что вы Супермен — что-то вроде очень простого пароля. Чтобы выйти из цикла, введите ‘Clark Kent’  или щелкните значок «Стоп» на панели инструментов Thonny.

Поздравляем: теперь вы знаете, как использовать условные выражения и операторы сравнения!

 

 

Проект 1: Черепашьи снежинки

Теперь вы понимаете, как работает Python, пора поиграть с графикой и создать снежинку с помощью инструмента, известного как Черепашья графика.

 

Внимание! Файлы данного проекта можно скачать по ссылке:  rpf.io/turtle-snowflakes

 

Изначально физические роботы имели форму своих тезок-животных, черепахи предназначены для движения по прямой линии, поворота, а также для подъема и опускания ручки – в цифровой версии это означает просто начинать или останавливать рисование линии по мере ее движения.

В отличие от некоторых других языков, Python не имеет встроенного инструмента для рисования черепахи, но он поставляется с библиотекой (library) дополнительного кода, придющей ему всю мощь черепахи! Библиотеки – это пакеты кода, которые добавляют новые инструкции для расширения возможностей Python и вносятся в ваши собственные программы с помощью команды импорта.

Создайте новую программу, щелкнув значок «New» (Создать) , и введите следующее:


При использовании инструкций, включенных в библиотеку, вы должны использовать имя библиотеки, за которым следует точка, а затем имя инструкции. Это может раздражать, если набирать каждый раз, поэтому вместо этого вы можете назначить более короткое имя переменной – это может быть всего одна буква, но мы подумали, что было бы неплохо, если бы ее можно было удвоить как имя питомца для черепахи. Введите следующее:


Чтобы протестировать свою программу, вам нужно дать черепахе чем-нибудь заняться. Наберите:


Щелкните значок «Выполнить» и сохраните программу как Turtle Snowflakes. Когда программа будет сохранена, появится новое окно под названием ‘Turtle Graphics’ (Графика черепахи), и вы увидите результат своей программы: ваша черепаха Пэт (Pat), переместится вперед на 100 единиц, рисуя прямую линию.

Вернитесь в главное окно Thonny — если оно скрыто за окном Turtle Graphics, либо нажмите кнопку свертывания в окне Turtle Graphics, либо щелкните запись Thonny на панели задач в верхней части экрана и нажмите кнопку Stop, чтобы закрыть графическое окно черепахи.

Вводить каждую команду движения вручную было бы утомительно, поэтому удалите строку 3 и создайте цикл для выполнения тяжелой работы по созданию фигур:


Запустите вашу программу, и черепашка Пэт (Pat) нарисует единственный параллелограмм.

Чтобы превратить это в форму снежинки, щелкните значок Stop в главном окне Thonny и создайте цикл вокруг вашего цикла, добавив следующую строку в качестве строки 3:


… и следующее внизу вашей программы:


Ваша программа не будет запущена как есть, потому что существующий цикл имеет неправильный отступ. Чтобы исправить это, щелкните начало каждой строки в существующем цикле — строки с 4 по 8 — и четыре раза нажмите клавишу ПРОБЕЛ, чтобы исправить отступ. Теперь ваша программа должна выглядеть так:

Щелкните значок «Выполнить» и наблюдайте за черепахой: она, как и раньше, нарисует параллелограмм, но когда это будет сделано, она повернется на 36 градусов и нарисует еще один, затем еще один и так далее, пока на экране не появятся десять перекрывающихся параллелограммов. Немного похоже на снежинку, не так ли?

В то время как роботизированная черепаха рисует одним цветом на большом листе бумаги, симулированная черепаха Python может использовать различные цвета. Добавьте новую строку 3 и 4, сдвинув существующие строки вниз:


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

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

Обратите внимание! Правописание американского английского:
Во многих языках программирования используется написание американского английского, и Python не исключение: команда для изменения цвета пера черепахи написана ‘color’, и если вы напишете ее по-английски как ‘colour’, она просто не сработает. Однако переменные могут иметь любое написание, поэтому вы можете называть свои новые переменные ‘colours‘, и Python их поймёт.

 

Измените цвет фона в строке 4 с ‘blue’ (синего) на ‘grey’ (серый), затем создайте новую переменную с именем ‘colours’, вставив новую строку 5:

Этот тип переменных известен как список (list) и помечен квадратными скобками. В этом случае список заполняется возможными цветами для сегментов снежинки, но вам все равно нужно указать Python, чтобы он выбирал один каждый раз, когда цикл повторяется. В самом конце программы введите следующую строку и убедитесь, что она имеет отступ с четырьмя пробелами, чтобы она составляла часть внешнего цикла, как и строка над ним:


Щелкните значок «Выполнить», и снежинка-штрих-ниндзя-звезда снова будет нарисована. Однако на этот раз Python выберет случайный цвет из вашего списка при прорисовке каждого лепестка, придав снежинке приятный многоцветный вид.

Чтобы снежинка меньше походила на звезду ниндзя, а больше походила на настоящую снежинку, добавьте новую строку 6 непосредственно под списком colours и введите следующее:

При использовании робота-черепахи инструкции penup и pendown будут перемещать (поднимать и опускать) физическую ручку на бумаге, но в виртуальном мире просто скажите черепахе остановиться и начать рисовать линии. Однако на этот раз вместо использования цикла вы создадите функцию (function) — сегмент кода, который можно вызвать в любое время, например, создав свою собственную инструкцию Python.

Начните с удаления кода для рисования снежинок на основе параллелограмма: это все, что находится между инструкцией pat.color(“cyan”) в строке 10 и до pat.right(36) в строке 17. Оставьте инструкцию pat.color(random.choice(colours)), но добавьте символ решетки (#) в начале строки. Это называется закомментировать (commenting out) инструкции и означает, что Python проигнорирует их. Вы можете использовать комментарии, чтобы добавлять пояснения к вашему коду, что упростит его понимание, когда вы вернетесь к нему через несколько месяцев или отправите его кому-то другому!
Создайте свою функцию, которая будет называться ‘branch’ (ветвь), набрав следующую инструкцию в строке 10 ниже pat.pendown(): 


Это определяет (defines) вашу функцию branch. Когда вы нажимаете клавишу ENTER, Thonny автоматически добавляет отступ для инструкций функции. Введите следующее, обращая особое внимание на отступы — потому что в какой-то момент вы собираетесь вложить код на три уровня отступа!

Наконец, создайте новый цикл внизу вашей программы, но над закомментированной цветной линией — для запуска (run) или вызова (call) вашей новой функции:

 

Готовая программа должна выглядеть так:

Нажмите «Выполнить» и наблюдайте в графическом окне, как черепашка Пэт рисует, следуя вашим инструкциям.
Поздравляем: ваша снежинка теперь больше похожа на снежинку!

 

ЗАДАНИЕ:

  • Попробуйте использовать закомментированную инструкцию, чтобы нарисовать ветки снежинки разными цветами.
  • Попробуйте создать функцию ‘snowflake’ (снежинка) и использовать ее, чтобы нарисовать множество снежинок на экране.
  • Попробуйте сделать так, чтобы ваша программа изменяла размер и цвет снежинок наугад.

 

 

 

Проект 2: «Пугающая» разница

Python может обрабатывать изображения и звуки, так же хорошо, как и графику для черепах, поэтому их можно использовать для бОльшего эффекта в качестве розыгрыша ваших друзей. Давайте создадим игру «Найди разницу» со страшным секретом внутри, идеально подходящую для Хэллоуина!

 

Внимание! Файлы данного проекта можно скачать по ссылке:  rpf.io/scary-spot

 

Для этого проекта нужны два изображения — ваше уникальное изображение плюс «пугающее» изображение-сюрприз, а также звуковой файл. Щелкните значок «Малинка» (Пуск), чтобы загрузить меню Raspbian, выберите категорию Internet (Интернет) и щелкните веб-браузер Chromium. Когда он загрузится, введите в адресной строке rpf.io/spot-pic, а затем нажмите клавишу ENTER. Щелкните изображение правой кнопкой мыши и выберите ‘Save image as…’ (Сохранить изображение как …), выберите папку Home (Домашнюю) из списка слева, затем нажмите Save (Сохранить). Вернитесь к адресной строке Chromium, введите rpf.io/scary-pic и нажмите клавишу ENTER. Как и раньше, щелкните изображение правой кнопкой мыши, выберите «Сохранить изображение как…», выберите домашнюю папку и нажмите «Сохранить».

Чтобы получить звуковой файл, который вам понадобится, снова нажмите в адресной строке и введите rpf.io/scream, а затем нажмите клавишу ENTER. Этот файл, звук крика, который преподнесет вашему игроку настоящий сюрприз, будет воспроизводиться автоматически, но его необходимо сохранить, прежде чем вы сможете его использовать. Щелкните правой кнопкой мыши небольшой аудиоплеер, нажмите ‘Save as. ..’ (Сохранить как …), выберите домашнюю папку и нажмите «Сохранить». Теперь вы можете закрыть окно Chromium.

Щелкните значок «Новый» на панели инструментов Thonny, чтобы начать новый проект. Как и раньше, вам необходимо использовать дополнительную библиотеку для расширения возможностей Python: библиотеку Pygame, которая, как следует из названия, была создана для игр. Введите следующее:


Вам понадобятся некоторые части других библиотек, а также часть библиотеки Pygame. Импортируйте их, набрав следующее:

Инструкция from работает иначе, чем инструкция импорта import, позволяя импортировать только те части библиотеки, которые вам нужны, а не всю библиотеку. Затем вам нужно настроить Pygame, или другими словами произвести инициализацию (initialisation). Pygame должен знать ширину и высоту монитора или телевизора игрока, известную как его разрешение (resolution). Введите следующее:

Последний шаг в настройке Pygame – создание его окна, которое Pygame называет экраном ‘screen‘.
Введите следующее:

Обратите внимание на пустую строку посередине: вот где будет расположена ваша программа. А пока щелкните значок «Выполнить», сохраните свою программу как ‘Spot the Difference‘ (Найди отличия) и посмотрите: Pygame создаст окно, заполнив его черным фоном, которое затем почти сразу исчезнет, как только появится инструкция для выхода. За исключением короткого сообщения в оболочке, программа пока особо ничего не делает.

 

Чтобы отобразить свое уникальное изображение, введите следующую строку в поле над pygame.quit():


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


Теперь изображение находится в памяти, и вам нужно указать Pygame, чтобы он отображал его на экране — процесс, известный как blitting (блиттинг), или bit block transfer (передача битового блока). Введите следующее:


Первая из этих строк копирует изображение на экран, начиная с верхнего левого угла; вторая говорит Pygame перерисовать экран. Без этой второй строки изображение будет в нужном месте в памяти, но вы никогда его не увидите!
Щелкните значок «Выполнить», и изображение ненадолго появится на экране:

Чтобы изображение отображалось дольше, добавьте следующую строку чуть выше pygame.quit():

Снова нажмите «Выполнить», и изображение останется на экране дольше. Добавьте изображение-сюрприз, набрав следующее сразу под строкой pygame.display.update():

Добавьте задержку, чтобы изображение зомби не появилось сразу:

Затем перенесите (blit) изображение на экран и обновите его, чтобы оно было видно игроку:

Щелкните значок «Выполнить» и посмотрите, что произойдет: Pygame загрузит ваше оригинальное изображение spot-the-difference, но через три секунды оно будет заменено страшным зомби.

Однако установка задержки на три секунды делает ситуацию немного предсказуемой. Измените строку sleep (3) над screen.blit (zombie, (0,0)) на:

Данное действие выбирает случайное число от 5 до 15 и задерживает программу на это время. Затем добавьте следующую строку чуть выше инструкции sleep, чтобы загрузить звуковой файл с ужасным воплем:

Переместитесь ниже инструкции sleep и введите следующее в новой строке, для того, чтобы начать воспроизведение звука и чтобы он сработал прямо перед страшным изображением, которое на самом деле показывается игроку:


Наконец, скажите Pygame, чтобы он прекратил воспроизведение звука, набрав следующую строку чуть выше pygame.quit():


Щелкните значок Run запуска программы и полюбуйтесь своей работой: после нескольких секунд невинной картинки spot-the-difference появится ваш страшный зомби вместе с леденящим кровь воплем — обязательно напугайте ваших друзей!  )))

Если вы обнаружите, что изображение зомби появляется до начала воспроизведения звука, вы можете компенсировать это, добавив небольшую задержку сразу после инструкции scream.play() и перед инструкцией screen.blit:


Готовая программа должна выглядеть так:

Теперь остается только пригласить друзей поиграть в «Найди отличия» — и, конечно же, убедиться, что динамики включены погромче! )))))

 

 

ЗАДАНИЕ на проработку кода:

  • Попробуйте изменить изображения, чтобы сделать розыгрыш более подходящим для других событий, например Рождества.
  • Попробуйте нарисовать свои собственные необычные и страшные изображения (с помощью графического редактора, такого как GIMP).
  • Можете ли вы отследить нажатие пользователем клавиш, чтобы сделать программу ещё более убедительной?

 

 

 

Проект 2: Лабиринт

Теперь, когда вы немного знакомились с Python, пришло время использовать Pygame, чтобы сделать что-то более сложное: полнофункциональную текстовую игру-лабиринт, основанную на классических ролевых играх (RPG-играх, role-playing games). Эти игры, известные как «текстовые приключения» (text adventures)  или «интерактивная фантастика» (interactive fiction), восходят к тому времени, когда компьютеры не могли обрабатывать графику, но до сих пор есть их поклонники, которые утверждают, что никакая графика не будет такой яркой, как та, что есть в вашем воображении!

 

Внимание! Файлы данного проекта можно скачать по ссылке: rpf.io/python-rpg

 

Эта программа немного сложнее, и чтобы упростить задачу, вы начнете с уже частично написанной версии. Откройте веб-браузер Chromium и перейдите по следующему адресу: rpf.io/rpg-code.
Веб-браузер Chromium автоматически загрузит код программы в папку «Загрузки», но предупредит вас о том, что тип файла — программа Python — может нанести вред вашему компьютеру. Вы загрузили файл из Raspberry Pi Foundation, надежного источника, поэтому нажмите кнопку Сохранить в предупреждающем сообщении, которое появляется в нижней части экрана. Вернитесь в Thonny и щелкните значок «Load» (Загрузить) . Найдите файл rpg-rpg.py в папке «Загрузки» и нажмите кнопку «Загрузить».

Начните с нажатия значка «Выполнить», чтобы ознакомиться с принципами работы игры. Результат игры появится в области shell в нижней части окна Thonny; увеличьте окно Thonny, нажав кнопку «развернуть», чтобы его было легче читать.

Игра в ее нынешнем виде очень проста: две комнаты и никаких предметов. Игрок начинает в Зале (Hall), первой из двух комнат. Чтобы перейти на Кухню (Kitchen), просто введите ‘go south’ (иди на юг), а затем нажмите клавишу ENTER. Находясь на кухне, вы можете набрать ‘go north’ (иди на север), чтобы вернуться в холл. Вы также можете попробовать ввести ‘go west’ (иди на запад) и ‘go east’ (иди на восток), но поскольку в этих направлениях нет комнат, игра покажет вам сообщение об ошибке.

Спуститесь вниз до строки 29 программы в области сценария, чтобы найти переменную с именем rooms. Этот тип переменных известен как словарь (dictionary) и сообщает игре о комнатах, их выходах и том, в какую комнату ведет данный выход.

Чтобы сделать игру более интересной, добавьте еще одну комнату: Dining Room (Столовую), к востоку от Зала (Hall). Найдите переменную rooms в области сценариев и расширите ее, добавив символ запятой (,) после } в строке 38, а затем введите следующее (точный отступ в словаре не важен):


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


Щелкните значок Run «Выполнить» и попробуйте свою новую комнату: введите ‘go east’, находясь в Зале, чтобы войти в Столовую, и введите ‘go west’ , находясь в Столовой, чтобы войти в Зал.

Поздравляем: вы создали себе комнату!

А вот пустые комнаты — не самое интересное. Чтобы добавить элемент в комнату, вам нужно изменить словарь этой комнаты. Остановите программу, щелкнув значок Stop (Стоп). Найдите словарь Hall в области сценариев, затем добавьте запятую в конец строки ‘east’ : ‘Dining Room’ перед нажатием ENTER и вводом следующей строки:


Снова нажмите Run «Выполнить». На этот раз игра сообщит вам, что вы можете увидеть свой новый предмет: ключ. Введите ‘get key’ (получить ключ), и вы сможете забрать его и добавить в список вещей, которые вы несете, называемые ваш инвентарь (inventory). Ваш инвентарь остается с вами, когда вы путешествуете из комнаты в комнату.

Щелкните значок «Стоп»   и сделайте игру более интересной, добавив монстра, которого нужно избегать. Найдите словарь Kitchen и добавьте элемент ‘monster’ (монстр) так же, как вы добавляли элемент ‘key’ (ключ), не забывая добавить запятую в конец строки выше:

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


Нажмите «Выполнить» и попробуйте войти в кухню — монстр не будет против, когда вы это сделаете!

Чтобы превратить это приключение в настоящую игру, вам понадобится больше предметов, еще одна комната и возможность «побеждать», покинув дом со всеми предметами в своем инвентаре. Начните с добавления еще одной комнаты, как вы это делали для столовой — только на этот раз это будет сад. Добавьте выход из словаря столовой, не забудьте добавить запятую в конец строки выше:


Затем добавьте новую комнату в словарь комнат rooms, снова не забудьте добавить запятую после символа } в строке выше, как и раньше:


Добавьте объект ‘potion’ (зелье) в словарь столовой, опять же не забудьте добавить необходимую запятую в строку выше:

Наконец, прокрутите страницу до конца и добавьте логику, необходимую для проверки, есть ли у игрока все предметы, и, если да, скажите ему, что он выиграл игру:

Нажмите «Выполнить» и попробуйте завершить игру, взяв ключ и зелье, прежде чем идти в сад. Не забывайте не входить в кухню, потому что там монстр!

В качестве последней настройки игры добавьте несколько инструкций, рассказывающих игроку, как пройти игру. Прокрутите до верхней части программы, где определена функция showInstructions(), и добавьте следующее: «Доберитесь до сада с ключом и зельем
Избегайте монстров!
»

Запустите игру ещё раз, и вы увидите, что эти новые инструкции появятся в самом начале.

Поздравляем: вы создали интерактивную текстовую игру-лабиринт!

 

ЗАДАНИЕ на проработку кода:

  • Попробуйте добавить больше комнат, чтобы игра длилась дольше.
  • Попробуйте добавить предмет для защиты от монстра.
  • Как бы вы добавили оружие, чтобы убить монстра?
  • Попробуйте добавить комнаты выше и ниже существующих комнат, к которым можно подняться по лестнице.

 

 

Итак, подведём итоги!

В этой части мы познакомились с несколькими базовыми понятиями языка Python, попробовали применить эти знания для реализации смешных проектов и даже создали свою собственную интерактивную игру-лабиринт. Если вы не хотите на этом останавливаться, то следующим и логичным шагом будет более углублённое изучение этого языка с использованием специальной литературы и огромного количества доступных руководств в сети интернет.

 

Лайфхак:

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

 

Ну а если вы удовлетворили свой интерес, узнав о простейших возможностях языка Pyhton, и хотите посмотреть как с этим инструментарием можно управлять физическими устройствами, присоединенными к вашему Raspberry Pi через GPIO-интерфейс, то в следующей части мы этим и займёмся!

 

11 лучших проектов Raspberry Pi для начинающих

Raspberry Pi — это отличная маленькая машинка – она ​​доступна, очень компактна и удобна в использовании. Но когда вы только обзавелись им, может быть сложно выяснить, какие проекты вы стоит попробовать в первую очередь.

Эти проекты Raspberry Pi для начинающих являются отличным введением в аппаратные и программные возможности Pi. Начните с одного из них!

Проекты Rapberry Pi начального уровня, чтобы попробовать.

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

В этом руководстве мы рассмотрим 11 простых, базовых проектов Raspberry Pi начального уровня сложности:

  • Добавить кнопку в свой Pi
  • Установить контрольные LED лампы
  • Построить сигнальный датчик движения
  • Создать цифровую фоторамку
  • Научиться управлять своим Pi через Интернет
  • Создать персональный облачный сервер
  • Настроить беспроводное соединение со старым принтером
  • Написать игру с нуля
  • Делать музыку с помощью Sonic Pi
  • Поднять сервер для игр по сети
  • Настроить автоматическое воспроизведение музыки при входе в комнату

Все эти проекты могут быть запущенны на любой модели Raspberry P и с различными уровнями мощности.

Если вы новичок и только приобрели Raspberry Pi, вам нужно кое-что сделать, прежде чем начать. Вот очень важное руководство по установке операционной системы Raspberry Pi.

1.Добавить кнопку в Raspberry Pi

Одной из немногих вещей, отсутствующих на Raspberry Pi, является кнопка. Вы в основном подключаете их для включения питания, загрузки операционной системы и запуска компьютера. Короче говоря, компьютеру все-таки нужна хотя бы одна кнопка, так что этот проект великолепное начало работы с Raspberry Pi. Проще всего реализовать его с помощью макетной платы (breadbord) и дополнительной проводки, резистора и библиотеки RPi.GPIO. Переживаете, что вы новичок в электронике? Этот проект идеален.

Запрограммированный на Python, это отличный проект для любого новичка, чтобы понять важность GPIO Raspberry Pi.

2. Контрольные светодиодные лампочки с Raspberry Pi

Еще один простой проект начального уровня сложности для Raspberry Pi – научиться управлять светодиодной подсветкой через GPIO.

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

3. Датчик движения и сигнализация

Датчики и сигналы тревоги часто считаются запутанными проектами, но ваш Raspberry Pi может работать с оборудованием через GPIO.

Создание простого датчика движения и пьезо-сигнализации научит вас основам работы с внешним оборудованием с помощью Pi, и этот проект использует Python, так что по дороге вы начнете изучать программирование на этом языке.

Все, что вам нужно, это любая модель Pi, пассивный инфракрасный датчик, пьезо-зуммер, один резистор и несколько проводов. Макетная плата тоже может пригодиться. Альтернативный вариант – создать систему сигнализации с платой Arduino.

4. Вдохновляющая цифровая фоторамка Raspberry Pi

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

Raspberry Pi, ЖК-экран и контроллер, а также рамка – все, что вам нужно для его запуска. Если у вас есть старый монитор или вы можете его откопать, то все готово! В нашем обзоре используется официальный сенсорный дисплей Raspberry Pi,  компонент, который вы можете приобрести на Amazon.

5. Веб-интерфейс для вашего Raspberry Pi

Настройка удаленного управления Raspberry Pi – отличный способ начать изучение кода, необходимого для взаимодействия вашего Pi с внешним миром.

Эта демонстрация показывает, как включать и выключать светодиоды с вашего мобильного телефона через простой пользовательский интерфейс. Так же в демо включены необходимые скрипты, так что вам не придется собственноручно писать сложный код. Изучение этих скриптов поможет вам понять, как настроить веб-приложения для вашего Pi.

6. Добавить кнопку перезагрузки на Raspberry Pi

Raspberry Pi поставляется с множеством замечательных функций, разработанных для широкого спектра применений. Но, к величайшему сожалению, у него нет способа легко перезагрузить устройство. Вместо этого Pi перезагружается с помощью команды терминала или меню рабочего стола.

Впрочем, это неудобство легко обойти, добавив свой собственный переключатель. Это простой проект Raspberry Pi, требующий либо штыревой перемычки, либо двухтактного переключателя и проводов. Необходимо будет ввести несколько команд в терминале, но, когда вы закончите, перезагрузка Pi станет пустяком.

7. Сделать ваш принтер беспроводным

Беспроводные принтеры великолепны, и в наши дни они доступны по цене. Но если у вас есть старый USB-принтер, не торопитесь отправлять его на свалку.

Raspberry Pi может сделать старый принтер беспроводным с помощью нескольких простых команд. Если ваша модель Pi не имеет встроенного Wi-Fi, вы можете купить Wi-Fi адаптер за 10 долларов. Просто вставьте Wi-Fi адаптер, подключите принтер, введите несколько команд, и удаленная печать будет включена через несколько минут.

Это простой проект Raspberry Pi с действительно полезной целью, поэтому, если у вас есть старый принтер, попробуйте!

8. Код игры с нуля

Одним из ключевых аспектов Raspberry Pi является развитие навыков работы на компьютере и программирования. Благодаря программному обеспечению, включенному в операционную систему Raspbian, вы можете написать игру, не имея навыков программирования.

Raspbian включает в себя Scratch, визуальный язык программирования, предназначенный для детей. Всего несколькими щелчками мыши вы можете создать простую игру, используя блочное программирование. Наш путеводитель по созданию базовой игры в Scratch поможет вам начать путь к программированию.

9. Создайте музыку с Sonic Pi

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

Хотя Sonic Pi использует свой собственный язык программирования, принципы, которые вы выучите при создании песен, переведут вас на более традиционные языки. Оставьте себе достаточно времени, чтобы баловаться с этим проектом— он довольно захватывающий!

10. Создайте сетевой игровой сервер

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

Различные игры имеют серверы, которые будут работать на Pi, включая Minecraft, Quake, FreeCiv, Terrarria и OpenTTD. Если у вас есть какие-либо совместимые игры, запущенные на другом устройстве, вы можете настроить сеансы сетевой игры на своем Pi.

Если вы ищете простой проект Raspberry Pi без каких-либо требований к проводке, это отличный вариант.

11. Вестник вашего прибытия на Raspberry Pi

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

Для воспроизведения музыки или звукового эффекта при открытии двери, к двери нужно прикрепить геркон. Так же для этой сборки потребуется подключение к сети, код и подключение к GPIO Pi. Хотя, с первого взгляда проект может показаться сложным, на самом деле он является одним из самых простых.

Видеогайд по проекту, который находится выше, объяснит все максимально подробно.

Основные проекты Raspberry Pi, которые вы можете попробовать сегодня

Со всеми этими замечательными проектами Raspberry Pi для начинающих, вы обязательно найдете то, что заинтересует именно вас. Лучший способ начать – просто выбрать проект и приняться за работу. А в процессе вы узнаете основы использования Pi и даже вдохновитесь некоторыми идеями для своего собственного проекта Raspberry Pi!

Хотите более простых идей проекта для вашего Pi? Как насчет этих рождественских проектов Raspberry Pi, которые можно реализовать вообще за день?

Python – документация Raspberry Pi

Python – прекрасный и мощный язык программирования, который прост в использовании (легко читается, и пишут) и с Raspberry Pi позволяет вам подключить ваш проект к реальному миру.

Синтаксис

Python очень чистый, с упором на удобочитаемость и использует стандартные английские ключевые слова.

Тонни

Проще всего познакомиться с Python через Thonny, среду разработки Python3. Откройте Thonny на рабочем столе или в меню приложений:

Thonny предоставляет REPL (Read-Evaluate-Print-Loop), который представляет собой приглашение, в которое вы можете вводить команды Python.Поскольку это REPL, вы даже получаете вывод команд, выводимых на экран, без использования print . В приложении Thonny это называется окном Shell.

Вы можете использовать переменные, если вам нужно, но вы даже можете использовать их как калькулятор. Например:

  >>> 1 + 2
3
>>> name = "Сара"
>>> "Привет" + имя
'Привет Сара'  

Thonny также имеет встроенную подсветку синтаксиса и некоторую поддержку автозаполнения. Вы можете вернуться к истории команд, введенных вами в REPL, с помощью Alt + P (предыдущий) и Alt + N (следующий).

Базовое использование Python

Привет, мир в Python:

  печать («Привет, мир»)  

Все просто!

Углубление

Некоторые языки используют фигурные скобки { и } для обтекания строк кода, которые принадлежат друг другу, и оставляют автору делать отступы для этих строк, чтобы они выглядели визуально вложенными. Однако Python не использует фигурные скобки, а вместо этого требует отступа для вложения. Например, цикл для в Python:

  для i в диапазоне (10):
    print («Привет»)  

Здесь необходим отступ.Вторая строка с отступом будет частью цикла, а вторая строка без отступа будет вне цикла. Например:

  для i в диапазоне (2):
    печать ("А")
    print ("B")  

напечатает:

  А
B
А
В  

, тогда как следующее:

  для i в диапазоне (2):
    печать ("А")
print ("B")  

напечатает:

  А
А
В  

Переменные

Чтобы сохранить значение переменной, присвойте его так:

  name = "Боб"
возраст = 15  

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

  возраст = 15
age + = 1 # увеличить возраст на 1
print (возраст)  

На этот раз я использовал комментарии рядом с командой увеличения.

Комментарии

Комментарии в программе игнорируются, но существуют для того, чтобы вы могли оставлять заметки, и обозначаются символом решетки # . Многострочные комментарии используют тройные кавычки, например:

  "" "
Это очень простая программа Python, которая печатает «Hello».
Это все, что он делает.
"" "

print («Привет»)  

Списки

Python также имеет списки (называемые массивами на некоторых языках), которые представляют собой коллекции данных любого типа:

  числа = [1, 2, 3]  

Списки обозначаются квадратными скобками [] , и каждый элемент разделяется запятой.

Итерация

Некоторые типы данных являются итеративными, что означает, что вы можете перебирать значения, которые они содержат. Например список:

  чисел = [1, 2, 3]

для числа в числах:
    печать (номер)  

Это берет каждый элемент в списке номеров и распечатывает элемент:

  1
2
3  

Примечание. Я использовал слово , число для обозначения каждого элемента. Это просто слово, которое я выбрал для этого – рекомендуется использовать описательные слова для переменных – использование множественного числа для списков, а единственное число для каждого элемента имеет смысл.Это облегчает понимание при чтении.

Итерируемы другие типы данных, например строка:

  dog_name = "БИНГО"

для символа в dog_name:
    печать (символ)  

Это перебирает каждый символ и распечатывает их:

  B
я
N
грамм
O  

Диапазон

Целочисленный тип данных не является итерируемым, и попытка итерации по нему приведет к ошибке. Например:

  для i в 3:
    печать (я)  

произведет:

  TypeError: объект int не повторяется  

Однако вы можете создать итерируемый объект, используя функцию диапазона :

  для i в диапазоне (3):
    печать (я)  

диапазон (5) содержит числа 0 , 1 , 2 , 3 и 4 (всего пять чисел).Чтобы получить числа от 1 до 5 (включительно), используйте диапазон (1, 6) .

Длина

Вы можете использовать такие функции, как len , чтобы найти длину строки или списка:

  name = "Джейми"
print (len (имя)) # 5

names = ["Боб", "Джейн", "Джеймс", "Алиса"]
print (len (имена)) # 4  

Если операторы

Вы можете использовать , если операторы для потока управления:

  name = "Джо"

если len (имя)> 3:
    print ("Красивое имя,")
    печать (имя)
еще:
    print ("Это короткое имя")
    print (название)  

Файлы Python в Thonny

Чтобы создать файл Python в Thonny, щелкните File> New , и вам откроется окно.Это пустой файл, а не приглашение Python. Вы пишете файл Python в этом окне, сохраняете его, затем запускаете, и вы увидите результат в другом окне.

Например, в новом окне введите:

  п = 0

для i в диапазоне (1, 101):
    п + = я

print ("Сумма чисел от 1 до 100:")
печать (п)  

Затем сохраните этот файл ( File> Save или Ctrl + S ) и запустите ( Run> Run Module или нажмите F5 ), и вы увидите результат в исходном окне Python.

Выполнение файлов Python из командной строки

Вы можете написать файл Python в стандартном редакторе и запустить его как сценарий Python из командной строки. Просто перейдите в каталог, в котором сохранен файл (используйте cd и ls для руководства) и запустите с python3 , например. python3 hello.py .

Другие способы использования Python

Командная строка

Доступ к стандартной встроенной оболочке Python можно получить, набрав в терминале python3 .

Эта оболочка представляет собой приглашение для ввода команд Python. Вы можете использовать это так же, как Thonny, но у него нет подсветки синтаксиса или автозаполнения. Вы можете просмотреть историю команд, введенных вами в REPL, с помощью клавиш Вверх / Вниз . Для выхода используйте Ctrl + D .

IPython

IPython – это интерактивная оболочка Python с подсветкой синтаксиса, автозаполнением, красивой печатью, встроенной документацией и многим другим.IPython не установлен по умолчанию. Установить с помощью:

  sudo pip3 установить ipython  

Затем запустите ipython из командной строки. Он работает как стандартный python3 , но имеет больше функций. Попробуйте набрать len? и нажав , введите . Вам показана информация, включая строку документации для функции len :

  Тип: builtin_function_or_method
Строковая форма: <встроенная функция len>
Пространство имен: встроенный Python
Строка документации:
len (объект) -> целое число

Возвращает количество элементов последовательности или сопоставления. 

Попробуйте следующее понимание словаря:

  {i: i ** 3 для i в диапазоне (12)}  

Это будет выглядеть примерно так:

  {0: 0,
 1: 1,
 2: 8,
 3: 27,
 4: 64,
 5: 125,
 6: 216,
 7: 343,
 8: 512,
 9: 729,
 10: 1000,
 11: 1331}  

В стандартной оболочке Python это было бы напечатано в одной строке:

  {0: 0, 1: 1, 2: 8, 3: 27, 4: 64, 5: 125, 6: 216, 7: 343, 8: 512, 9: 729, 10: 1000, 11: 1331 }  

Вы можете вернуться к истории команд, введенных вами в REPL, используя клавиши Up / Down , как в python .История также сохраняется до следующего сеанса, поэтому вы можете выйти из ipython и вернуться (или переключиться между v2 / 3), и история останется. Для выхода используйте Ctrl + D .

Установка библиотек Python

кв

Некоторые пакеты Python можно найти в архивах ОС Raspberry Pi, и их можно установить с помощью apt, например:

  sudo apt update
sudo apt установить python-picamera  

Это предпочтительный метод установки, поскольку он означает, что устанавливаемые вами модули можно легко обновлять с помощью обычных команд sudo apt update и sudo apt full-upgrade .

пункт

Не все пакеты Python доступны в архивах ОС Raspberry Pi, а те, которые есть, иногда могут быть устаревшими. Если вы не можете найти подходящую версию в архивах ОС Raspberry Pi, вы можете установить пакеты из индекса пакетов Python (известного как PyPI).

Для этого установите pip:

  sudo apt установить python3-pip  

Затем установите пакеты Python (например, simplejson ) с помощью pip3 :

  sudo pip3 установить simplejson  

Подробнее об установке программного обеспечения на Python здесь.

маховые колеса

Официальный индекс пакетов Python (PyPI) содержит файлы, загруженные разработчиками пакетов. Для установки некоторых пакетов требуется компиляция (компиляция C / C ++ или аналогичного кода), что может быть трудоемкой задачей, особенно на одноядерном Raspberry Pi 1 или Pi Zero.

piwheels – это сервис, предоставляющий предварительно скомпилированные пакеты (называемые Python wheels ), готовые для использования на Raspberry Pi. ОС Raspberry Pi предварительно сконфигурирована для использования пикового колеса для pip.Узнайте больше о проекте piwheels на сайте www.piwheels.org.

Подробнее

Создание физических проектов с Python на Raspberry Pi – Настоящий Python

Raspberry Pi – одна из ведущих физических вычислительных плат на рынке. От любителей, создающих проекты своими руками, до студентов, впервые обучающихся программированию, люди используют Raspberry Pi каждый день, чтобы взаимодействовать с окружающим миром. Python встроен в Raspberry Pi, поэтому вы можете воспользоваться своими навыками и начать создавать свои собственные проекты Raspberry Pi уже сегодня.

Знакомство с Raspberry Pi

Raspberry Pi – одноплатный компьютер, разработанный британской благотворительной организацией Raspberry Pi Foundation. Первоначально разработанный для предоставления молодым людям доступного компьютера для обучения программированию, он приобрел огромное количество поклонников в сообществах производителей и домашних мастеров из-за своего компактного размера, полной среды Linux и универсального ввода-вывода ( GPIO ) булавки.

Благодаря всем функциям и возможностям, которые упакованы в эту небольшую плату, для Raspberry Pi нет недостатка в проектах и ​​сценариях использования.

Некоторые примеры проектов включают следующее:

Если вы можете представить себе проект, который выиграет от подключения к нему компьютера размером с кредитную карту, то, вероятно, кто-то использовал для этого Raspberry Pi. Raspberry Pi – это фантастический способ воплотить в жизнь ваши идеи проекта Python.

Обзор платы

Raspberry Pi

Raspberry Pi поставляется в различных форм-факторах для различных случаев использования. В этом руководстве вы познакомитесь с самой последней версией Raspberry Pi 4.

Ниже представлена ​​компоновка платы Raspberry Pi 4. Хотя эта компоновка немного отличается от предыдущих моделей Raspberry Pi, большинство соединений такие же. Настройка, описанная в следующем разделе, должна быть одинаковой как для Raspberry Pi 3, так и для Raspberry Pi 4:

.

Плата Raspberry Pi 4 содержит следующие компоненты:

  • Контакты ввода-вывода общего назначения: Эти контакты используются для подключения Raspberry Pi к электронным компонентам.

  • Порт Ethernet: Этот порт подключает Raspberry Pi к проводной сети. Raspberry Pi также имеет встроенные Wi-Fi и Bluetooth для беспроводных подключений.

  • Два порта USB 3.0 и два порта USB 2.0: Эти порты USB используются для подключения периферийных устройств, таких как клавиатура или мышь. Два черных порта – это USB 2.0, а два синих порта – это USB 3.0.

  • Разъем AV: Этот разъем AV позволяет подключать динамики или наушники к Raspberry Pi.

  • Порт модуля камеры: Этот порт используется для подключения официального модуля камеры Raspberry Pi, который позволяет Raspberry Pi захватывать изображения.

  • Порты HDMI: Эти порты HDMI подключают Raspberry Pi к внешним мониторам. Raspberry Pi 4 оснащен двумя портами micro HDMI, что позволяет одновременно управлять двумя отдельными мониторами.

  • Порт питания USB: Этот порт USB обеспечивает питание Raspberry Pi.Raspberry Pi 4 имеет порт USB Type-C , в то время как более старые версии Pi имеют порт micro-USB .

  • Порт внешнего дисплея: Этот порт используется для подключения официального семидюймового сенсорного дисплея Raspberry Pi для сенсорного ввода на Raspberry Pi.

  • Слот для карты microSD (нижняя сторона платы): Этот слот для карты предназначен для карты microSD, которая содержит операционную систему и файлы Raspberry Pi.

Немного позже в этом руководстве вы будете использовать указанные выше компоненты для настройки Raspberry Pi.

Raspberry Pi против Arduino

Люди часто задаются вопросом, в чем разница между Raspberry Pi и Arduino. Arduino – еще одно устройство, широко используемое в физических вычислениях. Хотя возможности Arduino и Raspberry Pi частично совпадают, есть некоторые отличия.

Платформа Arduino предоставляет аппаратный и программный интерфейс для программирования микроконтроллеров. Микроконтроллер – это интегральная схема, которая позволяет считывать ввод и отправлять вывод на электронные компоненты.Платы Arduino обычно имеют ограниченную память, поэтому их часто используют для многократного запуска одной программы, взаимодействующей с электроникой.

Raspberry Pi – это универсальный компьютер на базе Linux. Он имеет полноценную операционную систему с графическим интерфейсом пользователя, которая позволяет одновременно запускать множество различных программ.

Raspberry Pi поставляется с разнообразным предустановленным программным обеспечением, включая веб-браузер, офисный пакет, терминал и даже Minecraft. Raspberry Pi также имеет встроенный Wi-Fi и Bluetooth для подключения к Интернету и внешним периферийным устройствам.

Для запуска Python Raspberry Pi часто является лучшим выбором, поскольку вы получаете полноценную установку Python из коробки без какой-либо конфигурации.

Настройка Raspberry Pi

В отличие от Arduino, для настройки которого требуется только USB-кабель и компьютер, Raspberry Pi имеет больше требований к оборудованию для начала работы. Однако после первоначальной настройки некоторые из этих периферийных устройств больше не потребуются.

Необходимое оборудование

Для первоначальной настройки Raspberry Pi требуется следующее оборудование.Если вы в конечном итоге подключитесь к Raspberry Pi через SSH, который вы рассмотрите позже в этом руководстве, то после первоначальной настройки некоторое оборудование, указанное ниже, не понадобится.

Монитор

Вам понадобится монитор во время первоначальной установки и настройки операционной системы. Если вы будете использовать SSH для подключения к Raspberry Pi, то после настройки монитор вам не понадобится. Убедитесь, что на вашем мониторе есть вход HDMI.

Карта microSD

Raspberry Pi использует карту microSD для хранения операционной системы и файлов.Если вы покупаете комплект Raspberry Pi, он будет содержать предварительно отформатированную карту microSD, которую вы можете использовать. Если вы покупаете карту microSD отдельно, вам придется отформатировать ее самостоятельно. Найдите карту microSD объемом не менее 16 ГБ.

Клавиатура и мышь

USB-клавиатура и мышь требуются во время первоначальной настройки Raspberry Pi. После завершения настройки вы можете переключиться на использование Bluetooth-версий этих периферийных устройств, если хотите. Позже в этом руководстве вы увидите, как подключиться к Raspberry Pi через SSH.Если вы выберете такой способ подключения, то после первоначальной настройки физическая клавиатура и мышь не потребуются.

Кабели HDMI

Для подключения Raspberry Pi к монитору понадобится кабель HDMI. Разные модели Raspberry Pi имеют разные требования к кабелю HDMI:

Raspberry Pi 4 Raspberry Pi 3/2/1 Малина Pi Zero
микро-HDMI HDMI мини-HDMI
Micro HDMI к HDMI HDMI в HDMI мини-HDMI к HDMI

В зависимости от модели вам может потребоваться специальный кабель или адаптер HDMI.

Блок питания

Raspberry Pi использует USB-соединение для питания платы. Опять же, разные модели Raspberry Pi имеют разные требования к USB-подключению и питанию.

Ниже приведены требования к подключению и питанию для различных моделей:

Raspberry Pi 4 Raspberry Pi 3/2/1 / ноль
USB-C Микро-USB
Не менее 3,0 ампер Не менее 2.5 ампер

Чтобы избежать путаницы при выборе блока питания, рекомендуется использовать официальный блок питания для Raspberry Pi 4 или другой модели.

Дополнительное оборудование

Вы можете использовать целый ряд дополнительного оборудования с Raspberry Pi, чтобы расширить его возможности. Перечисленные ниже элементы оборудования не требуются для использования Raspberry Pi, но их было бы полезно иметь под рукой.

Корпус

Хорошо иметь чехол для Raspberry Pi, чтобы его компоненты не повредились при нормальном использовании.Выбирая чехол, убедитесь, что вы покупаете правильный тип для вашей модели Raspberry Pi.

Динамики

Если вы хотите воспроизводить музыку или звук с Raspberry Pi, вам потребуются динамики. Это могут быть любые стандартные колонки с разъемом 3,5 мм. Вы можете подключить динамики к Raspberry Pi с помощью разъема AV на боковой стороне платы.

Радиаторы (рекомендуемые)

Raspberry Pi может выполнять много вычислений на маленькой плате. Это одна из причин, почему это так здорово! Но это означает, что иногда бывает немного жарко.Рекомендуется приобрести набор радиаторов, чтобы Raspberry Pi не дросселировал процессор, когда он становится слишком горячим.

Программное обеспечение

Операционная система Raspberry Pi хранится на карте microSD. Если ваша карта не входила в официальный комплект Raspberry Pi, вам необходимо установить на нее операционную систему.

Есть несколько способов настроить операционную систему на Raspberry Pi. Вы можете узнать больше о различных вариантах установки на веб-сайте Raspberry Pi.

В этом разделе вы рассмотрите два способа установки Raspbian , официально поддерживаемой операционной системы Raspberry Pi, основанной на Debian Linux.

Вариант 1: Raspberry Pi Imager (рекомендуется)

Фонд Raspberry Pi рекомендует использовать Raspberry Pi Imager для первоначальной настройки вашей SD-карты. Вы можете скачать имидж-сканер со страницы загрузок Raspberry Pi. Оказавшись на этой странице, загрузите соответствующую версию для вашей операционной системы:

После загрузки Raspberry Pi Imager запустите приложение.Вы увидите экран, на котором можно выбрать операционную систему, которую вы хотите установить, вместе с SD-картой, которую вы хотите отформатировать:

.

При первой загрузке приложения вам будет предложено два варианта: Выбрать ОС и Выбрать SD-карту . Выберите Сначала выберите OS .

Примечание: Есть вероятность, что Windows может предотвратить запуск Raspberry Pi Imager, потому что это нераспознанное приложение. Если вы получаете всплывающее окно с сообщением, что Windows защитила ваш компьютер , вы все равно можете запустить приложение, щелкнув Подробнее и выбрав Все равно выполнить .

Когда приложение запущено, нажмите кнопку Choose OS и выберите первый вариант Raspbian :

После выбора операционной системы Raspbian вам нужно выбрать SD-карту, которую вы собираетесь использовать. Убедитесь, что ваша карта microSD вставлена ​​в компьютер, и нажмите . Выберите SD-карту , затем выберите SD-карту в меню:

.

Выбрав операционную систему и SD-карту, вы можете нажать кнопку Write , чтобы начать форматирование SD-карты и установку операционной системы на карту.Этот процесс может занять несколько минут:

После завершения форматирования и установки вы должны увидеть сообщение о том, что операционная система была записана на SD-карту:

SD-карту можно извлечь из компьютера. Теперь Raspbian установлен на вашу SD-карту, и вы готовы начать подключать оборудование к Raspberry Pi!

Вариант 2: установка Raspbian из NOOBS

Если по какой-то причине вы не можете использовать Raspberry Pi Imager, вы можете загрузить NOOBS (новое программное обеспечение из коробки) и использовать его для установки Raspbian на карту microSD.Сначала перейдите на страницу загрузки NOOBS, чтобы загрузить последнюю версию. Нажмите Download ZIP под первым вариантом NOOBS :

NOOBS начнет загрузку в вашей системе.

Примечание: Убедитесь, что вы загрузили NOOBS и , а не NOOBS Lite.

После загрузки ZIP-файла распакуйте его содержимое в папку на вашем компьютере. Скоро вы скопируете эти файлы на SD-карту, но сначала вам нужно правильно отформатировать SD-карту.

Вы будете использовать официальный форматировщик карт памяти SD от SD Association. Зайдите на сайт SD Association, чтобы загрузить форматтер. Прокрутите вниз и загрузите SD-форматтер для Windows или macOS:

После загрузки SD Memory Card Formatter вы готовы отформатировать SD-карту для использования на Raspberry Pi.

Примечание. Пользователи Linux могут использовать fdisk для разбиения и форматирования карты microSD в требуемый формат диска FAT32 .

После загрузки SD форматтера откройте приложение. Чтобы отформатировать SD-карту, вам необходимо сделать следующее:

  1. Вставьте SD-карту в компьютер.
  2. Выберите SD-карту в раскрывающемся меню Выберите карту .
  3. Щелкните параметр Быстрое форматирование в разделе Параметры форматирования .
  4. Введите NOOBS в текстовое поле Volume label .

После завершения вышеуказанных пунктов щелкните Формат :

Перед форматированием карты вам будет предложено подтвердить операцию, так как при этом все данные с карты будут стерты.Нажмите Продолжить , чтобы начать форматирование SD-карты. Завершение форматирования может занять несколько минут:

После завершения форматирования вам необходимо скопировать файлы NOOBS, которые вы распаковали ранее, на SD-карту. Выберите все файлы, которые вы извлекли ранее:

Перетащите их на SD-карту:

Теперь, когда на SD-карте установлены NOOBS, извлеките карту из компьютера. Ты почти там! В следующем разделе вы выполните окончательную настройку Raspberry Pi.

Окончательная настройка

Теперь, когда у вас есть карта microSD и необходимое оборудование, последний шаг – соединить все вместе и настроить операционную систему. Начнем с подключения всех периферийных устройств:

  1. Вставьте карту microSD в слот для карты в нижней части Raspberry Pi.
  2. Подключите клавиатуру и мышь к любому из четырех портов USB.
  3. Подключите дисплей к одному из портов HDMI с помощью кабеля HDMI, предназначенного для вашей модели Raspberry Pi.
  4. Подключите блок питания к порту питания USB.

Подключив периферийные устройства, включите Raspberry Pi, чтобы настроить операционную систему. Если вы установили Raspbian с Raspberry Pi Imager, вам больше нечего делать. Вы можете перейти к следующему разделу, чтобы завершить настройку.

Если вы установили NOOBS на SD-карту, вам нужно будет выполнить еще пару шагов, чтобы установить Raspbian на SD-карту:

  1. Сначала включите Raspberry Pi, чтобы загрузить интерфейс NOOBS .
  2. Затем установите флажок рядом с опцией Raspbian в списке программного обеспечения для установки.
  3. Наконец, нажмите кнопку Установить в верхнем левом углу интерфейса, чтобы начать установку Raspbian на SD-карту.

После завершения установки Raspberry Pi перезагрузится, и вы загрузитесь в Raspbian для завершения работы мастера установки.

Мастер установки

При первой загрузке Raspbian предоставляет мастер установки, который поможет вам настроить пароль, установить локаль, выбрать сеть Wi-Fi и обновить операционную систему.Продолжайте и выполните эти шаги в соответствии с инструкциями.

После того, как вы выполните все шаги, перезапустите операционную систему, и вы будете готовы начать программирование Python на Raspberry Pi!

Запуск Python на Raspberry Pi

Одна из лучших особенностей работы с Python на Raspberry Pi заключается в том, что Python является первоклассным гражданином этой платформы. Фонд Raspberry Pi специально выбрал Python в качестве основного языка из-за его мощности, универсальности и простоты использования.Python предустановлен на Raspbian, так что вы будете готовы начать с самого начала.

У вас есть много разных вариантов написания Python на Raspberry Pi. В этом руководстве вы рассмотрите два популярных варианта:

.
  • Использование редактора Mu
  • Удаленное редактирование через SSH

Давайте начнем с использования редактора Mu для написания Python на Raspberry Pi.

Использование редактора Mu

Операционная система Raspbian поставляется с несколькими предустановленными Python IDE, которые вы можете использовать для написания своих программ.Одна из этих IDE – Mu. Его можно найти в главном меню:

Raspberry Pi Icon → Программирование → Mu

Когда вы открываете Mu в первый раз, вам будет предложено выбрать режим Python для редактора. Для кода в этом руководстве вы можете выбрать Python 3 :

Есть вероятность, что Mu не может быть предустановлен в вашей версии Raspbian. Если Mu не установлен, вы всегда можете установить его, перейдя по следующему адресу:

Значок Raspberry Pi → Настройки → Рекомендуемое программное обеспечение

Откроется диалоговое окно с рекомендуемым программным обеспечением для Raspberry Pi.Установите флажок рядом с Mu и нажмите OK , чтобы установить его:

Хотя Mu предоставляет отличный редактор для начала работы с Python на Raspberry Pi, вам может потребоваться что-то более надежное. В следующем разделе вы подключитесь к Raspberry Pi через SSH.

Удаленное редактирование через SSH

Часто вам не захочется тратить время на подключение монитора, клавиатуры и мыши для написания Python на Raspberry Pi. К счастью, Raspbian позволяет удаленно подключаться к Raspberry Pi через SSH.В этом разделе вы узнаете, как включить и использовать SSH для программирования Python на Raspberry Pi.

Включить SSH

Прежде чем вы сможете подключиться к Raspberry Pi через SSH, вам необходимо включить SSH-доступ в области Raspberry Pi Preferences . Включите SSH, перейдя по следующему пути к файлу:

Значок Raspberry Pi → Настройки → Конфигурация Raspberry Pi

Когда появится конфигурация, выберите вкладку Интерфейсы и затем включите опцию SSH:

Вы включили SSH на Raspberry Pi.Теперь вам нужно получить IP-адрес Raspberry Pi, чтобы вы могли подключиться к нему с другого компьютера.

Определите IP-адрес Raspberry Pi

Для удаленного доступа к Raspberry Pi вам необходимо определить IP-адрес Raspberry Pi в вашей локальной сети. Чтобы определить IP-адрес, вам необходимо получить доступ к приложению Terminal . Вы можете получить доступ к терминалу здесь:

Raspberry Pi Icon → Аксессуары → Терминал

После открытия терминала введите в командной строке следующее:

  pi @ raspberrypi: ~ $ имя хоста -I
  

Это отобразит текущий IP-адрес вашего Raspberry Pi.С этим IP-адресом теперь вы можете удаленно подключаться к Raspberry Pi.

Подключение к Raspberry Pi

Используя IP-адрес Raspberry Pi, теперь вы можете подключиться к нему по SSH с другого компьютера:

Вам будет предложено ввести пароль, который вы создали при запуске мастера установки во время установки Raspbian. Если вы не устанавливали пароль, то пароль по умолчанию – raspberry . Введите пароль, и после подключения вы увидите командную строку Raspberry Pi:

Теперь, когда вы знаете, как подключиться, вы готовы начать программировать Python на Raspberry Pi.Вы можете сразу приступить к работе с Python REPL:

  pi @ raspberrypi: ~ $ python3
  

Введите Python, чтобы запустить его на Raspberry Pi:

>>>
  >>> print («Привет от твоего Raspberry Pi!»)
Привет от твоего Raspberry Pi!
  

Замечательно, вы используете Python на Raspberry Pi!

Создание

python-проектов Каталог

Прежде чем вы начнете создавать проекты с Python на Raspberry Pi, рекомендуется создать специальный каталог для вашего кода.Raspberry Pi имеет полную файловую систему с множеством разных каталогов. Наличие зарезервированного места для кода Python поможет сохранить все в порядке и легко найти.

Давайте создадим каталог под названием python-projects , в котором вы можете хранить код Python для своих проектов.

Использование Mu

Если вы планируете использовать Mu для завершения проектов в этом руководстве, вы можете использовать его сейчас для создания каталога python-projects . Чтобы создать этот каталог, вам нужно сделать следующее:

  1. Откройте Mu, перейдя в значок Raspberry Pi → Программирование → Mu .
  2. Щелкните New в строке меню, чтобы создать пустой файл.
  3. Нажмите Сохранить в строке меню.
  4. Перейдите в каталог / home / pi в раскрывающемся списке каталогов.
  5. Щелкните значок Create New Folder в правом верхнем углу.
  6. Назовите этот новый каталог python-projects и нажмите , введите .
  7. Нажмите Отмена , чтобы закрыть.

Вы создали специальный каталог для своего кода Python.Перейдите к следующему разделу, чтобы узнать о взаимодействии с физическими компонентами в Python.

По SSH

Если вы предпочитаете использовать SSH для доступа к Raspberry Pi, вы должны использовать командную строку для создания каталога python-projects .

Примечание: Поскольку вы будете получать доступ к командной строке Raspberry Pi, вам потребуется использовать текстовый редактор командной строки для редактирования файлов проекта.

И nano , и vim предустановлены на Raspbian и могут использоваться для редактирования файлов проекта.Вы также можете использовать VS Code для удаленного редактирования файлов на Raspberry Pi, но требуется некоторая настройка.

Создадим каталог python-projects . Если вы в настоящее время не вошли в Raspberry Pi, используйте IP-адрес Raspberry Pi для подключения к нему по SSH со своего компьютера:

После входа в систему вы увидите командную строку Raspberry Pi:

По умолчанию, когда вы подключаетесь к Raspberry Pi по SSH, вы запускаете его из каталога / home / pi . Подтвердите это сейчас, запустив pwd :

  pi @ raspberry: ~ $ pwd
/ home / pi
  

Если по какой-то причине вы не находитесь в каталоге / home / pi , переключитесь в него с помощью cd / home / pi :

  pi @ raspberry: ~ / Рабочий стол $ cd / home / pi
пи @ малина: ~ $ pwd
/ home / pi
  

Теперь в каталоге / home / pi создайте новый каталог python-projects :

  pi @ raspberry: ~ $ mkdir python-projects
  

Создав каталог python-projects , используйте cd python-projects для перехода в каталог:

  pi @ raspberry: ~ $ cd python-проекты
pi @ raspberry: ~ / python-projects $
  

Отлично! Вы готовы приступить к написанию своих первых схем с использованием Python на Raspberry Pi.

Взаимодействие с физическими компонентами

В этом разделе вы узнаете, как взаимодействовать с различными физическими компонентами с помощью Python на Raspberry Pi.

Вы будете использовать библиотеку gpiozero, которая предустановлена ​​на Raspbian. Он предоставляет простой в использовании интерфейс для взаимодействия с различными устройствами GPIO, подключенными к Raspberry Pi.

Электронные компоненты

Перед программированием на Raspberry Pi вам понадобится несколько электронных компонентов для создания проектов в следующих разделах.Вы сможете найти каждый из перечисленных ниже предметов на Amazon или в местном магазине электроники.

Макет

Макетная плата – важный инструмент при построении схем. Это позволяет быстро создать прототип схемы без необходимости паять компоненты вместе.

Макетные платы следуют общей схеме. С правой и левой стороны по длине макета проходят две направляющие. Каждое отверстие на этих рельсах соединено. Обычно они обозначаются положительным ( напряжение или VCC ) и отрицательным ( заземление или заземление ).

На большинстве макетов положительная шина отмечена положительным знаком ( + ), а рядом с ней проходит красная линия. Отрицательная шина помечена знаком минус (), а рядом с ней проходит синяя линия.

На внутренней стороне платы направляющих для компонентов проходят перпендикулярно положительным и отрицательным направляющим по бокам макетной платы. Каждая из этих направляющих имеет отверстия для размещения компонентов.

Все отверстия в одной направляющей соединены. В середине – желоб, разделяющий две стороны макета. Рейки на противоположных сторонах желоба не соединяются.

Это показано на следующей диаграмме:

На схеме выше три цвета используются для обозначения различных типов направляющих для макетных плат:

  • Красный: Положительная шина
  • Черный: Отрицательная шина
  • Синий: Направляющие для компонентов

Позже в этом руководстве вы будете использовать эти разные направляющие для создания полных схем, которые подключаются к Raspberry Pi.

Провода перемычки
Перемычки

позволяют создавать прототипы соединений вашей схемы без необходимости пайки путей между выводами GPIO и компонентами. Они бывают трех разных типов:

  1. От мужчины к мужчине
  2. от женщины к мужчине
  3. от женщины к женщине

Было бы хорошо иметь по крайней мере десять-двадцать экземпляров каждого типа, когда вы создаете свои проекты Raspberry Pi на Python.

Другие компоненты

Наряду с макетной платой и перемычками в проектах в этом руководстве будут использоваться следующие компоненты:

Имея необходимые компоненты под рукой, давайте посмотрим, как вы можете подключить их к Raspberry Pi с помощью контактов GPIO.

Контакты GPIO

Raspberry Pi имеет сорок контактов GPIO вдоль верхнего края платы. Вы можете использовать эти контакты GPIO для подключения Raspberry Pi к внешним компонентам.

На схеме ниже показаны различные типы контактов и их расположение. Этот макет основан на виде сверху контактов с USB-портами Raspberry Pi, обращенными к вам:

Raspberry Pi имеет пять различных типов контактов:

  1. GPIO: Это контакты общего назначения, которые можно использовать для ввода или вывода.
  2. 3V3: Эти контакты обеспечивают источник питания 3,3 В для компонентов. 3,3 В также является внутренним напряжением, подаваемым на все контакты GPIO.
  3. 5V: Эти контакты обеспечивают источник питания 5 В, такой же, как вход питания USB, который питает Raspberry Pi. Для некоторых компонентов, таких как пассивный инфракрасный датчик движения, требуется 5 В.
  4. GND: Эти контакты обеспечивают заземление цепей.
  5. ADV: Эти специальные контакты являются расширенными и не рассматриваются в этом руководстве.

В следующем разделе вы будете использовать эти различные типы контактов для настройки вашего первого компонента – тактильной кнопки.

Тактильная кнопка

Для вашей первой схемы вы собираетесь подключить тактильную кнопку к Raspberry Pi. Тактильная кнопка – это электронный переключатель, который при нажатии замыкает цепь. Когда цепь замкнута, Raspberry Pi зарегистрирует сигнал ON . Вы можете использовать этот сигнал ON для запуска различных действий.

В этом проекте вы будете использовать тактильную кнопку для запуска различных функций Python в зависимости от состояния кнопки.Начнем с подключения кнопки к Raspberry Pi:

.
  1. Подключите перемычку «мама-папа» от контакта GND Raspberry Pi к отрицательной шине макета.
  2. Поместите тактильную кнопку поперек желоба в середине макета.
  3. Подключите перемычку «папа-вилка» от отрицательной шины макетной платы к ряду, где находится нижняя левая ножка кнопки .
  4. Подключите перемычку «мама-папа» от контакта GPIO4 Raspberry Pi к ряду макетной платы, где находится нижняя правая ножка кнопки .

Свою проводку можно подтвердить с помощью схемы ниже:

Теперь, когда вы подключили свою схему, давайте напишем код Python для чтения ввода от кнопки.

Внутри каталога python-projects , который вы создали ранее, сохраните новый файл с именем button.py . Если вы используете SSH для доступа к Raspberry Pi, создайте такой файл:

  pi @ raspberrypi: ~ / cd python-проекты
pi @ raspberrypi: ~ / python-projects $ touch button.py
  

Если вы используете Mu, создайте файл, выполнив следующие действия:

  1. Щелкните элемент меню Новый .
  2. Нажмите Сохранить .
  3. Перейдите в каталог / home / pi / python-projects .
  4. Сохранить файл как кнопку .py .

Создав файл, вы готовы приступить к кодированию. Начните с импорта класса Button из модуля gpiozero . Вам также потребуется импортировать паузу из модуля signal . Вы увидите, зачем вам пауза позже:

  из кнопки импорта gpiozero
из паузы импорта сигнала
  

Создайте экземпляр класса Button и передайте номер контакта в качестве параметра.В этом случае вы используете вывод GPIO4 , поэтому вы должны передать 4 в качестве параметра:

Затем определите функции, которые будут вызываться для различных событий кнопки, доступных в экземпляре Button :

  def button_pressed ():
    print ("Была нажата кнопка")

def button_held ():
    print ("Кнопка была зажата")

def button_released ():
    print ("Кнопка была отпущена")
  

Класс Button имеет три свойства события: .when_pressed , .when_held и .when_released . Эти свойства можно использовать для подключения различных функций событий.

В то время как свойства .when_pressed и .when_released не требуют пояснений, .when_held требует краткого пояснения. Если для функции задано свойство .when_held , то она будет вызываться только в том случае, если кнопка будет нажата и удерживаться в течение определенного времени.

Время удержания для .when_held определяется свойством .hold_time в экземпляре Button . По умолчанию для .hold_time – одна секунда. Вы можете переопределить это, передав значение float при создании экземпляра Button :

  кнопка = Кнопка (4, hold_time = 2.5)
button.when_held = button_held
  

Это создаст экземпляр Button , который будет ждать две с половиной секунды после нажатия и удерживания кнопки перед вызовом функции button_held () .

Теперь, когда вы знаете о различных свойствах события на Button , установите для каждого из них соответствующие функции, которые вы определили ранее:

  button.when_pressed = button_pressed
button.when_held = button_held
button.when_released = button_released
  

Отлично! У вас настроены события кнопок. Последнее, что вам нужно сделать, это вызвать pause () в конце файла. Вызов pause () необходим для того, чтобы программа продолжала прослушивать различные события.Если этого не было, программа запускалась один раз и завершалась.

Ваша окончательная программа должна выглядеть так:

  из кнопки импорта gpiozero
из паузы импорта сигнала

button = Кнопка (4)

def button_pressed ():
    print ("Была нажата кнопка")

def button_held ():
    print ("Кнопка была зажата")

def button_released ():
    print ("Кнопка была отпущена")

button.when_pressed = button_pressed
button.when_held = button_held
button.when_released = button_released

Пауза()
  

После завершения подключения и настройки кода вы готовы опробовать свою первую схему.Внутри каталога python-projects запустите программу:

  pi @ raspberrypi: ~ / python-projects $ python3 button.py
  

Если вы используете Mu, сначала убедитесь, что файл сохранен, а затем нажмите Run , чтобы запустить программу.

Программа запущена и ожидает событий. Нажмите кнопку, и вы должны увидеть в консоли следующее:

Нажмите и удерживайте кнопку не менее одной секунды, и вы должны увидеть следующий результат:

Наконец, когда вы отпустите кнопку, вы должны увидеть следующее:

Отлично! Вы только что соединили и закодировали свою первую схему с помощью Python на Raspberry Pi.

Поскольку вы использовали pause () в своем коде, вам нужно будет вручную остановить программу. Если вы запускаете программу в Mu, вы можете нажать Stop , чтобы выйти из программы. Если вы запускаете это из командной строки, вы можете остановить программу с помощью Ctrl + C .

Обладая этой первой схемой, вы готовы приступить к управлению некоторыми другими компонентами.

светодиод

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

У каждого светодиода две ножки. Более длинная ветвь – это положительная ветвь или анод. Электрический ток поступает в светодиод через эту ножку. Более короткая ветвь – это отрицательная ветвь или катод. Ток выходит из светодиода через эту ножку.

Ток может течь через светодиод только в одном направлении, поэтому убедитесь, что вы подключаете перемычки к правильной ножке светодиода.

Вот шаги, которые необходимо предпринять, чтобы подключить эту цепь:

  1. Подключите перемычку «мама-папа» от контакта GND Raspberry Pi к отрицательной шине макета.

  2. Поместите LED в два отверстия на макетной плате, которые находятся рядом друг с другом, но не в одном ряду.

  3. Поместите более длинную положительную ногу светодиода в отверстие с правой стороны.

  4. Поместите более короткую отрицательную ножку светодиода в отверстие с левой стороны.

  5. Поместите один конец резистора 330 Ом в отверстие в том же самом ряду на макетной плате, что и отрицательная ножка светодиода.

  6. Вставьте другой конец резистора в отрицательную шину макета

    .
  7. Подключите перемычку «мама-папа» от контакта GPIO4 Raspberry Pi к отверстию в том же ряду макетной платы, что и положительный вывод светодиода .

Свою проводку можно подтвердить с помощью схемы ниже:

Если проводка в порядке, то вы готовы написать немного Python, чтобы индикатор мигал. Начните с создания файла для этой схемы внутри каталога python-projects . Назовите этот файл led.py :

  pi @ raspberrypi: ~ / python-projects $ touch led.py
  

В этом коде вы создадите экземпляр класса LED и назовете его .blink () , чтобы светодиод мигал. Метод .blink () имеет тайм-аут по умолчанию, равный одной секунде. Светодиод будет продолжать мигать каждую секунду, пока программа не будет завершена.

Начнем с импорта LED из модуля gpiozero и паузы из сигнала модуля :

  от гпиозеро импортный светодиод
из паузы импорта сигнала
  

Затем создайте экземпляр LED с именем led .Установите вывод GPIO на 4 :

Вызов метода .blink () на светодиоде :

Наконец, добавьте вызов pause () , чтобы убедиться, что программа не завершает работу:

Ваша полная программа должна выглядеть так:

  от гпиозеро импортный светодиод
из паузы импорта сигнала

led = светодиод (4)
led.blink ()

Пауза()
  

Сохраните файл и запустите его, чтобы светодиодный индикатор мигал и погас:

  pi @ raspberrypi: ~ / python-projects $ python3 led.ру
  

Светодиод теперь должен мигать каждую секунду. Когда вы закончите любоваться своим кодом Python в действии, остановите программу, нажав Ctrl + C или Stop в Mu.

Теперь вы знаете, как управлять светодиодом с помощью Python на Raspberry Pi. В следующей схеме вы будете использовать Python для воспроизведения звука Raspberry Pi.

Зуммер

В этой схеме вы подключите активный пьезозуммер к Raspberry Pi.Пьезозуммер издает звуковой сигнал при подаче тока. Используя этот компонент, ваш Raspberry Pi сможет генерировать звук.

Как и светодиоды, зуммер имеет положительную и отрицательную стороны. Положительное плечо зуммера будет либо длиннее, чем отрицательное, либо в верхней части зуммера будет положительный знак ( + ), показывающий, какое плечо является положительным.

Давайте подключим зуммер:

  1. Поместите зуммер на макетную плату, отметив расположение положительной ножки зуммера .

  2. Подключите перемычку «мама-папа» от контакта GND Raspberry Pi к отверстию в том же ряду на макетной плате, что и отрицательная клемма зуммера.

  3. Подключите перемычку «мама-папа» от контакта GPIO4 Raspberry Pi к отверстию в том же ряду макетной платы, что и положительный вывод зуммера .

Подтвердите подключение по схеме ниже:

Когда проводка настроена, перейдем к коду.Создайте файл для этой схемы в каталоге python-projects . Назовите этот файл buzzer.py :

  pi @ raspberrypi: ~ / python-projects $ touch buzzer.py
  

В этом коде вы создадите экземпляр класса Buzzer и вызовете его метод .beep () , чтобы включить и выключить звуковой сигнал зуммера. Первые два параметра метода .beep () : on_time и off_time . Эти параметры принимают значение float , чтобы установить, как долго зуммер должен издавать звуковой сигнал.Значение по умолчанию для обоих – одна секунда.

Начните с импорта Buzzer из модуля gpiozero и паузы из signal module:

  от гпиозеро импортный зуммер
из паузы импорта сигнала
  

Затем создайте экземпляр Buzzer с именем buzzer . Установите вывод GPIO на 4 :

Вызвать метод .beep () на зуммере . Установите для параметров on_time и off_time значение 0.5 . Зуммер будет издавать звуковой сигнал каждые полсекунды:

Наконец, добавьте вызов pause () , чтобы убедиться, что программа не завершает работу:

Ваша полная программа должна выглядеть так:

  от гпиозеро импортный зуммер
из паузы импорта сигнала

buzzer = Зуммер (4)
зуммер. звуковой сигнал (0,5, 0,5)

Пауза()
  

Сохраните файл и запустите его, чтобы звуковой сигнал включался и выключался каждые полсекунды:

  pi @ raspberrypi: ~ / python-projects $ python3 buzzer.ру
  

Вы должны слышать звук зуммера, пока не остановите программу с помощью Ctrl + C или Stop in Mu.

Примечание: Если вы используете Mu, то есть вероятность, что когда вы остановите программу, звуковой сигнал продолжится. Чтобы прекратить звук, отсоедините провод GND, чтобы разорвать цепь.

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

Отлично! Итак, вы узнали, как управлять тремя различными типами электронных компонентов с помощью Python на Raspberry Pi.Для следующей схемы давайте взглянем на более сложный компонент.

Датчик движения

В этой схеме вы будете подключать пассивный инфракрасный (PIR) датчик движения к Raspberry Pi. Пассивный инфракрасный датчик движения обнаруживает любое движение в поле зрения и отправляет сигнал обратно на Raspberry Pi.

Регулировка датчика

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

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

На изображении ниже показаны эти диски сбоку датчика движения:

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

  • По часовой стрелке увеличивает время ожидания и чувствительность.
  • Против часовой стрелки уменьшает время ожидания и чувствительность.

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

Примечание: Иногда датчик движения и Raspberry Pi 3 не работают вместе правильно. Это приводит к случайным ложным срабатываниям датчика.

Если вы используете Raspberry Pi 3, убедитесь, что датчик перемещен как можно дальше от Raspberry Pi.

После настройки датчика движения можно приступать к установке проводки. Конструкция датчика движения не позволяет легко подключить его к макетной плате. Вам нужно будет подключить контакты GPIO Raspberry Pi непосредственно к контактам на датчике движения с помощью перемычек.

На изображении ниже показано расположение штифтов на нижней стороне датчика движения:

Вы видите три контакта:

  1. VCC для напряжения
  2. OUT для связи с Raspberry Pi
  3. GND для земли

Используя эти булавки, вам необходимо выполнить следующие шаги:

  1. Подключите перемычку «мама-мама» от контакта 5V Raspberry Pi к контакту VCC датчика.
  2. Подключите перемычку «мама-мама» от контакта GPIO4 Raspberry Pi к контакту OUT датчика.
  3. Подключите перемычку «мама-мама» от контакта GND Raspberry Pi к контакту GND датчика.

Теперь подтвердите подключение со схемой ниже:

Теперь, когда датчик движения настроен и подключен к Raspberry PI, давайте взглянем на код Python для обнаружения движения.Начните с создания файла для этой схемы в каталоге python-projects . Назовите этот файл pir.py :

  pi @ raspberrypi: ~ / python-projects $ touch pir.py
  

Код этой схемы будет похож на схему кнопки, которую вы сделали ранее. Вы создадите экземпляр класса MotionSensor и передадите номер контакта GPIO 4 в качестве параметра. Затем вы определите две функции и установите их на .when_motion и .when_no_motion в экземпляре MotionSensor .

Давайте посмотрим на код:

  от gpiozero импорт MotionSensor
из паузы импорта сигнала

motion_sensor = датчик движения (4)

def движение ():
    print («Обнаружено движение»)

def no_motion ():
    print («Движение остановлено»)

print ("Готовый датчик ...")
motion_sensor.wait_for_no_motion ()
print («Датчик готов»)

motion_sensor.when_motion = движение
motion_sensor.when_no_motion = no_motion

Пауза()
  

motion () устанавливается на .when_motion и вызывается, когда датчик обнаруживает движение. no_motion () устанавливается в свойство .when_no_motion и вызывается, когда движение останавливается на определенный период. Это время определяется шкалой тайм-аута на боковой стороне датчика.

Вы заметите, что до установки свойств .when_motion и .when_no_motion в экземпляре MotionSensor был вызов .wait_for_no_motion () .Этот метод приостанавливает выполнение кода до тех пор, пока датчик движения не перестанет обнаруживать какое-либо движение. Это сделано для того, чтобы датчик игнорировал любое начальное движение, которое может произойти при запуске программы.

Примечание: Датчики движения иногда могут быть слишком или недостаточно чувствительными. Если вы видите противоречивые результаты в консоли при запуске приведенного выше кода, убедитесь, что все подключено правильно. Вам также может потребоваться отрегулировать шкалу чувствительности на датчике.

Если результаты отображаются с задержкой в ​​консоли, попробуйте уменьшить свойство .threshold в экземпляре MotionSensor . Значение по умолчанию – 0,5:

.
  pir = датчик движения (4, порог = 0,2)
  

Это уменьшит количество движений, необходимых для активации датчика. Дополнительные сведения о классе MotionSensor см. В документации gpiozero.

Сохраните код и запустите его, чтобы опробовать свою схему обнаружения движения:

  pi @ raspberrypi: ~ / python-projects $ python3 pir.ру
Подготовка датчика ...
Датчик готов
  

Помашите рукой перед датчиком. При первом обнаружении движения вызывается motion () , и на консоли отображается следующее:

А теперь перестаньте махать рукой перед датчиком. Через несколько секунд отобразится следующее:

Отлично! Теперь вы можете обнаруживать движение с помощью Raspberry Pi. Как только вы закончите размахивать Raspberry Pi, нажмите Ctrl + C в командной строке или нажмите Stop в Mu, чтобы завершить программу.

С помощью этой последней схемы вы узнали, как использовать Python на Raspberry Pi для управления четырьмя различными компонентами. В следующем разделе вы свяжете все это воедино в полноценный проект.

Создание системы сигнализации, активируемой движением

Теперь, когда у вас была возможность подключить Raspberry Pi к различным входам и выходам, вы собираетесь создать проект, который будет использовать то, что вы уже изучили.

В этом проекте вы создадите систему сигнализации, активируемую движением, которая будет мигать светодиодом и подавать звуковой сигнал при обнаружении движения в комнате.Кроме того, вы будете использовать Python для сохранения метки времени в файл CSV с подробным описанием каждого движения.

Электропроводка

Вот шаги для завершения подключения:

  1. Подключите перемычек «мама-папа» от контактов 5V и GND Raspberry Pi к положительным и отрицательным шинам на стороне макета.

  2. Поместите LED на макетную плату и подключите контакт GPIO14 Raspberry Pi к светодиоду с помощью перемычки «мама-папа» .

  3. Подключите отрицательную клемму светодиода к отрицательной шине макетной платы через резистор 330 Ом .

  4. Поместите зуммер на макетную плату и подключите штырь GPIO15 Raspberry Pi к зуммеру с помощью перемычки «мама-папа» .

  5. Подключите отрицательную клемму зуммера к отрицательной шине макетной платы с помощью перемычки «папа-вилка» .

  6. Подключите перемычку «мама-папа» от положительной шины макетной платы к контакту VCC датчика.

  7. Подключите перемычку «мама-мама» от контакта GPIO4 Raspberry Pi к контакту OUT датчика.

  8. Подключите перемычку «мама-папа» от отрицательной шины макетной платы к контакту GND датчика.

Подтвердите подключение по схеме ниже:

Хорошо, теперь, когда у вас есть проводка, давайте углубимся в код Python, чтобы настроить вашу систему сигнализации, активируемую движением.

Код

Как обычно, начнем с создания файла для этого проекта в каталоге python-projects . Для этого проекта назовите этот файл motion_detector.py :

  pi @ raspberrypi: ~ / python-projects $ touch motion_detector.py
  

Первое, что вам нужно сделать, это импортировать модуль csv , чтобы вы могли сохранить отметку времени при обнаружении движения.Кроме того, импортируйте Path из модуля pathlib , чтобы вы могли ссылаться на свой CSV-файл:

  импорт CSV
from pathlib import Path
  

Затем импортируйте datetime из модуля datetime , чтобы вы могли создать метку времени для события движения:

  из datetime import datetime
  

Наконец, импортируйте необходимые классы компонентов из gpiozero , а также pause из signal module:

  от gpiozero import LED, Buzzer, MotionSensor
из паузы импорта сигнала
  

Когда импорт готов, вы можете настроить три электронных компонента, которые вы будете использовать.Создайте экземпляры классов LED , Buzzer и MotionSensor . Для каждого из них передайте их номера контактов в качестве параметров:

  светодиод = светодиод (14)
buzzer = Зуммер (15)
motion_sensor = датчик движения (4)
  

Затем определите местоположение файла CSV, в котором будет храниться временная метка при каждом обнаружении движения. Назовем его detect_motion.csv . Создайте словарь для хранения значений меток времени, которые будут записаны в CSV:

  output_csv_path = Путь ("Detected_motion.csv ")
motion = {
    "start_time": нет,
    "end_time": нет,
}
  

Создайте метод, сохраняющий данные отметки времени в файл CSV. При первом создании файла добавляется строка заголовка:

  def write_to_csv ():
    first_write = не output_csv_path.is_file ()

    с открытым (output_csv_path, "a") как файл:
        field_names = motion.keys ()
        Writer = csv.DictWriter (файл, имена_полей)
        если first_write:
            writer.writeheader ()
        Writer.writerow (движение)
  

Определите функцию start_motion () .Эта функция будет иметь несколько вариантов поведения:

  • Начните мигать светодиод загорается и выключается каждые полсекунды
  • Сделать зуммер зуммер
  • Сохранить метку времени start_time в словарь движения

Добавьте вызов print () , чтобы вы могли наблюдать за событиями, происходящими во время работы программы:

  def start_motion ():
    led.blink (0,5, 0,5)
    зуммер. звуковой сигнал (0,5, 0,5)
    движение ["start_time"] = datetime.сейчас()
    print ("обнаружено движение")
  

Затем определите функцию end_motion () , которая будет иметь следующее поведение:

  • Отключить светодиоды и зуммер
  • Сохранить отметку времени end_time
  • Вызов write_to_csv () для сохранения данных движения в файл CSV
  • Сбросить Motion словарь

Вы также должны убедиться, что значение motion ["start_time"] существует, прежде чем запускать любой другой код.Вы хотите писать в CSV только в том случае, если была записана отметка времени start_time :

  def end_motion ():
    если движение ["start_time"]:
        led.off ()
        buzzer.off ()
        движение ["end_time"] = datetime.now ()
        write_to_csv ()
        движение ["start_time"] = Нет
        движение ["end_time"] = Нет
    печать ("движение закончилось")
  

Добавьте вызов .wait_for_no_motion () , чтобы любое начальное движение игнорировалось:

  отпечаток («Готовый датчик... ")
motion_sensor.wait_for_no_motion ()
print («Датчик готов»)
  

Задайте свойства .when_motion и .when_no_motion в экземпляре MotionSensor :

  motion_sensor.when_motion = start_motion
motion_sensor.when_no_motion = end_motion
  

Наконец, завершите код вызовом pause () , чтобы программа продолжала работать. Полный код Python должен выглядеть так:

  импорт CSV
from pathlib import Path
from datetime import datetime
из gpiozero импорт LED, Buzzer, MotionSensor
из паузы импорта сигнала

led = светодиод (14)
buzzer = Зуммер (15)
motion_sensor = датчик движения (4)

output_csv_path = Путь ("Detected_motion.csv ")
motion = {
    "start_time": нет,
    "end_time": нет,
}

def write_to_csv ():
    first_write = не output_csv_path.is_file ()

    с открытым (output_csv_path, "a") как файл:
        field_names = motion.keys ()
        Writer = csv.DictWriter (файл, имена_полей)
        если first_write:
            writer.writeheader ()
        Writer.writerow (движение)

def start_motion ():
    led.blink (0,5, 0,5)
    зуммер. звуковой сигнал (0,5, 0,5)
    движение ["start_time"] = datetime.now ()
    print ("обнаружено движение")

def end_motion ():
    если движение ["start_time"]:
        вел.выключенный()
        buzzer.off ()
        движение ["end_time"] = datetime.now ()
        write_to_csv ()
        движение ["start_time"] = Нет
        движение ["end_time"] = Нет
    печать ("движение закончилось")

print ("Готовый датчик ...")
motion_sensor.wait_for_no_motion ()
print («Датчик готов»)

motion_sensor.when_motion = start_motion
motion_sensor.when_no_motion = end_motion

Пауза()
  

Сохраните файл и запустите его, чтобы проверить новую сигнализацию детектора движения:

  pi @ raspberrypi: ~ / python-projects $ python3 motion_detector.ру
Подготовка датчика ...
Датчик готов
  

Теперь, если вы махнете рукой перед датчиком движения, то должен начать пищать зуммер и мигать светодиод. Если вы остановитесь на несколько секунд, сигнал тревоги должен прекратиться. В консоли вы должны увидеть следующее:

  pi @ raspberrypi: ~ / python-projects $ python3 motion_detector.py
Подготовка датчика ...
Датчик готов
обнаружено движение
движение закончилось
обнаружено движение
движение закончилось
...
  

Продолжайте и остановите программу с помощью Stop в Mu или Ctrl + C .Давайте посмотрим на созданный CSV-файл:

  pi @ raspberrypi: ~ / python-projects $ cat detect_motion.csv
start_time, end_time
2020-04-21 10: 53: 07.052609,2020-04-21 10: 53: 13.966061
2020-04-21 10: 56: 56.477952,2020-04-21 10: 57: 03.4
  • 2020-04-21 10: 57: 04.693970,2020-04-21 10: 57: 12.007095
  • Как видите, временные метки для движения start_time и end_time были добавлены в файл CSV.

    Поздравляем! Вы создали нетривиальный проект электроники с Python на Raspberry Pi.

    Следующие шаги

    Не нужно останавливаться на достигнутом. Есть много способов улучшить этот проект, используя возможности Python на Raspberry Pi.

    Вот несколько способов повысить уровень этого проекта:

    • Подключите модуль камеры Raspberry Pi и попросите его делать снимки при обнаружении движения.

    • Подключите динамик к Raspberry Pi и используйте PyGame для воспроизведения звукового файла, чтобы запугать злоумышленника.

    • Добавьте кнопку в схему, чтобы пользователь мог вручную включать или выключать обнаружение движения.

    Есть много способов обновить этот проект. Сообщите нам, что вы придумали!

    Заключение

    Raspberry Pi – удивительное вычислительное устройство, которое становится все лучше и лучше. В нем множество функций, которые делают его идеальным устройством для физических вычислений.

    Из этого руководства вы узнали, как:

    • Настройте Raspberry Pi и запустите на нем код Python
    • Считывание входных данных с датчиков
    • Отправить вывод на электронных компонентов
    • Создайте крутой проект с использованием Python на Raspberry Pi

    Python – идеальное дополнение к Raspberry Pi, и с приобретенными навыками вы готовы взяться за крутые и инновационные проекты в области физических вычислений.Нам не терпится узнать, что вы создаете!

    3 популярных языка программирования, которые можно выучить с Raspberry Pi

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

    Вот три языка программирования, которые вы можете изучить с Raspberry Pi.

    Python

    Python стал одним из самых популярных языков программирования в мире с открытым исходным кодом. Его интерпретатор был упакован и доступен во всех популярных дистрибутивах Linux. Если вы установите Raspbian на свой Raspberry Pi, вы увидите приложение под названием Thonny, которое представляет собой интегрированную среду разработки (IDE) Python для начинающих. Вкратце, IDE – это приложение, которое предоставляет все необходимое для выполнения вашего кода, часто включая такие вещи, как отладчики, документация, автозаполнение и эмуляторы.Вот отличный небольшой учебник, который поможет вам начать использовать Thonny и Python на Raspberry Pi.

    Ява

    Несмотря на то, что Java, возможно, не так привлекательна, как когда-то, она по-прежнему широко используется в университетах по всему миру и глубоко внедрена в корпоративную среду. Итак, даже если некоторые не согласятся с тем, что я рекомендую его как язык для начинающих, я вынужден это сделать; с одной стороны, он по-прежнему очень популярен, а с другой стороны, есть много книг, классов и другой информации, доступной для изучения Java.Начните работу с Raspberry Pi с помощью BlueJ Java IDE.

    JavaScript

    «Назад в свое время…» JavaScript был клиентским языком, который в основном позволял людям упорядочивать и автоматизировать пользовательские события в браузере и изменять элементы HTML. Сегодня JavaScript ускользнул от браузера и доступен для других типов клиентов, таких как мобильные приложения и даже серверное программирование. Node.js – популярная среда выполнения, которая позволяет разработчикам писать код, выходящий за рамки парадигмы клиент-браузер.Чтобы узнать больше о запуске Node.js на Raspberry Pi, ознакомьтесь с руководством по W3Schools.

    Другие языки

    Если вы хотите выучить другой язык, не отчаивайтесь. Существует высокая вероятность того, что вы сможете использовать Raspberry Pi для компиляции или интерпретации любого языка по выбору, включая C, C ++, PHP и Ruby.

    Microsoft Visual Studio Code также работает на Raspberry Pi. Это редактор с открытым исходным кодом от Microsoft, который поддерживает несколько языков разметки и программирования.

    Итак, у вас есть Raspberry Pi: что теперь?

    Когда в начале этого года был выпущен Raspberry Pi, Linux-машина размером с кредитную карту мгновенно стала хитом. В ночь, когда он стал доступен для заказа, и Premier Farnell / element14, и RS Components, официальные дистрибьюторы проекта Pi, проявили признаки эффекта Slashdot конца 90-х: вы с трудом могли даже загрузить два сайта. Перенесемся в сегодняшний день, и вы сможете получить , наконец, в течение трех недель.Raspberry Pi – действительно устройство Linux года, если не последнего десятилетия. Следуйте за перерывом, и мы покажем вам, как настроить его сейчас, когда вам действительно удалось его поймать.

    Что такое Raspberry Pi?

    Изначально Raspberry Pi был засеян как ранний выпуск для разработчиков с надеждой на скорейшую поддержку сообщества разработчиков. Однако в ночь релиза все сайты дистрибьюторов захлопнулись от большого количества запросов. Если вам посчастливилось захватить один из первых юнитов, скорее всего, вы были либо удивлены, либо полностью разочарованы тем, что пришло по почте.

    Если Pi вас не впечатлил, возможно, вы получили его по неправильным причинам. Давайте будем честными: Pi – действительно образовательное устройство, предназначенное для любителей и стремящейся молодежи узнать о программировании. Он не предназначен для замены того мощного рабочего стола Linux, который вы построили прошлым летом на свои сбережения.

    Обладая скудными 256 МБ ОЗУ и процессором ARM-11 с тактовой частотой 700 МГц, Pi представляет собой скромную часть комплекта. Имейте в виду, что основная цель этого чипа – обеспечить дешевый компьютер базовым уровнем функциональности, в основном ориентированным на образование.Модель B также имеет два порта USB, выход HDMI и порт 10/100 Ethernet. Для ваших звуковых потребностей у вас есть аудиоразъем 3,5 мм и выход HDMI, который также поддерживает передачу звука. Графический процессор Raspberry Pi может похвастаться общей вычислительной мощностью 1 Гпиксел / с, 1,5 Гтексел / с или 24 Гфлопс и совместим с OpenGL 2.0. Другими словами, он обладает графической мощью оригинального Xbox.

    В этой статье мы проведем вас через шаги установки, чтобы настроить Raspberry Pi Model B и запустить ее с Raspbian, используемым здесь дистрибутивом Linux на основе Debian.

    Возьмите в руки

    Чтобы поддержать замечательное дело Raspberry Pi Foundation, мы рекомендуем вам приобрести Raspberry Pi Model B за 35 долларов от одного из дистрибьюторов: Premier Farnell / element14 или RS Components.

    Вам также понадобится следующее:
    ▪ Одна SD-карта
    ▪ Устройство для чтения SD-карт, чтобы вы могли записать образ ОС на вашу SD-карту.
    ▪ Средство подачи питания на устройство (мы используем старое зарядное устройство для телефона Android) . По крайней мере, вам понадобится адаптер micro-USB на 5 В.
    ▪ Кабель HDMI и преобразователь HDMI-DVI, если вы используете монитор вместо телевизора высокой четкости. Если вы просто используете телевизор или монитор, поддерживающий HDMI, вам не понадобится адаптер.
    ▪ USB-мышь и клавиатура
    ▪ Ethernet-кабель

    Дополнительные элементы:
    • Чехол для Raspberry Pi
    • USB-концентратор, если вы планируете использовать USB-порты не только для мыши и клавиатуры

    Что мы используем, если вам интересно:
    ▪ Raspberry Pi
    A, модель B ▪ Карта SanDisk Ultra SDHC на 16 ГБ (скорость 300 МБ / с)
    ▪ Старое зарядное устройство HTC Inspire
    ▪ A беспроводная комбинация клавиатуры и мыши Logitech K260.(Используется только один из двух доступных USB-портов.)
    ▪ Кабель RJ-45

    Настройка

    Как только это удивительное маленькое устройство прибудет к вам, и вы соберете все необходимое снаряжение, пора испечь этот Pi. Давайте начнем.

    Установка образа Raspbian на SD-карту

    Теперь, когда Raspberry Pi уже давно не существует, существует довольно много способов записи образа Raspbian на SD-карту, независимо от того, используете ли вы Windows, Mac OS X или Linux.Однако для целей этой статьи мы будем придерживаться более общих методов. В частности, мы будем использовать инструмент dd в OS X и Linux и Win32DiskImager в Windows.

    Если вы используете Mac:

    Для простоты рекомендуется очистить папку «Загрузки» перед началом работы. Затем возьмите отсюда файл .zip Raspbian. Вам нужна последняя прямая загрузка Raspbian. Вы также можете получить .zip через торрент – не забудьте какое-то время быть хорошим интернет-гражданином и сидеть.

    После распаковки папки, содержащей образ программного обеспечения, вам понадобится приложение «Терминал». Предполагая, что вы используете OS X 10.7 или новее, вы можете запустить его из приложений, а затем либо щелкнуть «Утилиты» (в 10.7), либо «Другое» (в 10.8). После того, как приложение терминала будет запущено, перейдите в папку “Загрузки” с помощью команды “cd ~ / Downloads”:

    .

    Теперь у вас должно быть как минимум два элемента в папке «Загрузки». Убедитесь, что существует файл “.img”, а также файл “.zip”, набрав “ls”.


    Теперь давайте сосредоточимся на том, чтобы скопировать этот извлеченный файл изображения на SD-карту, и нет, вы не можете просто перетащить его на диск. Прежде чем вставлять карту, нам понадобится макет вашего устройства. Так что, если вы бросили пистолет и вставили карту в свой Mac, найдите время, чтобы безопасно извлечь ее.

    В приложении “Терминал” введите: “df -h”. Вы должны увидеть что-то вроде этого:

    Теперь вставьте SD-карту и снова выполните указанную выше команду и обратите внимание на новую строку «/ dev / disk1s1».Держите это под рукой – вам нужно будет преобразовать это в необработанное имя диска.

    Затем нам нужно размонтировать этот том, чтобы инструмент «dd» смог записать образ на SD-карту. Сделайте это с помощью команды «sudo diskutil unmount / dev / disk1s1». Вам будет предложено ввести системный пароль, поэтому введите его, когда его попросят.

    Теперь вы должны увидеть последнюю строку «Том XXX отключен», где «XXX» является названием вашей карты. Теперь, без лишних слов, мы наконец можем написать Raspbian.img на SD.

    Помните ту часть, где мы говорили вам держать под рукой имя диска вашей карты? Пришло время для обращения. Каким бы ни был ваш диск (например, / dev / disk1s1), удалите «s1» и добавьте «r» перед «disk», чтобы «/ dev / disk1s1» превратилось в «/ dev / rdisk1».

    Так, например, «/ dev / disk1s1» = «/ dev / rdisk1». Есть смысл?

    Затем введите следующее: «sudo dd bs = 1m if = 2012-06-15-wheezy-raspbian.img of = / dev / ИМЯ ДИСКА». Замените фактическим необработанным именем диска – скорее всего, это будет / dev / rdisk1.

    Это займет некоторое время. После выполнения команды «dd» безопасно отключите SD-карту, перетащив образ диска, который теперь отображается на вашем рабочем столе, в корзину.

    Наши подготовительные работы закончены! Перейдите к разделу «Первая загрузка Pi».

    Если вы используете Linux

    Какой бы дистрибутив Linux вы ни использовали, убедитесь, что у вас есть инструмент «dd», который вы должны были установить по умолчанию, независимо от дистрибутива.

    Здесь мы делаем некоторые предположения:

    1) Вы настроили sudo и знакомы с ним.
    2) У вас установлен fdisk (установлен по умолчанию в большинстве дистрибутивов Linux).

    Мы протестировали это на Ubuntu, так как это такой популярный дистрибутив, и оба они действительно присутствуют по умолчанию.

    Начните с загрузки Raspbian .zip в свой домашний каталог из этого места. Опять же, вам нужна последняя прямая загрузка Raspbian. Здесь тоже рассмотрите возможность посева торрента ради кармы.После того, как вы загрузили файл .zip, содержащий образ Raspbian, вы, естественно, захотите его распаковать.

    Запустите терминал на вашем Linux-компьютере и перейдите в домашний каталог с помощью команды “cd ~”. Введите «unzip imagename.zip», заменив «imagename» фактическим изображением, которое вы только что загрузили (очевидно).

    Затем нам нужно определить имя устройства, которое в настоящее время использует ваша SD-карта. Вставьте SD-карту и введите «sudo fdisk -l».

    Обратите внимание на перечисленные устройства; скорее всего, вы увидите что-то подобное.


    Наше устройство – «sdb», то есть с 15,9 ГБ свободного места. (Очевидно, это не наш основной жесткий диск емкостью 250 ГБ.) Обратите внимание на устройства, перечисленные в разделе «/ dev / sdb», так как вы захотите отключить их перед записью образа в целях безопасности. В нашем случае мы видим «/ dev / sdb1» и «/ dev / sdb2», поэтому запустим:

    судо umount / dev / sdb1
    sudo umount / dev / sdb2

    Теперь давайте запишем наш образ с помощью «dd». Введите «sudo dd bs = 1M if = 2012-08-16-wheezy-raspbian.img of = / dev / sdb».Как мы предупреждали в инструкции для Mac выше, это займет несколько минут.

    Если вы видите успешную запись, как показано выше, переходите к «Первая загрузка Pi».

    Если вы используете Windows

    Если у вас есть система Windows, есть небольшое красивое приложение под названием Win32DiskImager, которое вы можете скачать здесь или здесь. Как только вы это сделаете, возьмите образ Raspbian отсюда. Выберите последнюю прямую загрузку Raspbian.

    После того, как вы скачали и Win32DiskImager, и образ Raspbian, нам нужно будет их распаковать. Для простоты извлеките все на рабочий стол или в папку, расположенную там, под рукой. Разархивируйте win32diskimager-binary.zip и 2012-08-16-wheezy-raspbian.zip.

    Затем вставьте SD-карту в считывающее устройство. Обратите внимание на букву диска. После распаковки этих файлов и подключения карты дважды щелкните двоичный файл Win32DiskImager, чтобы загрузить программу.

    Как только Win32DiskImager загрузится, вы увидите ошибку (по крайней мере, в Windows 7).

    Мы нашли это безопасным, чтобы игнорировать. Нажмите ОК, и приложение загрузится.

    Щелкните синий значок папки в Win32 Disk Imager, выберите файл образа Raspbian и убедитесь, что указанное устройство имеет ту же букву диска, что и ваша SD-карта.

    Как только вы откроете изображение, нажмите «Написать», нажмите «Да», чтобы подтвердить запись, и идите за чашкой кофе.

    Когда запись будет завершена, вы получите это сообщение, после чего можно безопасно извлечь SD-карту.

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

    Первая загрузка Pi

    При первой загрузке Raspberry Pi вы увидите инструмент настройки под названием «raspi-config». (Если вам когда-нибудь понадобится еще раз вернуться к этому экрану конфигурации, вы всегда можете вызвать команду «raspi-config» с терминала вашего Pi.) Пока вы там, вам нужно будет изменить несколько параметров.

    Прежде всего, нам нужно выбрать “expand_rootfs”. Это расширяет установленный образ, чтобы использовать максимально доступный размер вашей SD-карты. Если вы используете карту большего размера (скажем, 16 ГБ), вам обязательно нужно убедиться, что вы можете использовать полную емкость, поскольку размер установочного образа составляет всего около 2 ГБ.

    Выделите эту опцию «expand_rootfs» и нажмите Enter. Затем вы увидите подтверждение ниже, после чего нажатие Enter вернет вас на главный экран raspi-config.


    Далее идет опция нерабочей области. Если вы заметили, экран не занимает всю площадь вашего монитора; Лучше всего отключить нерабочую область экрана, чтобы вы могли полностью использовать монитор или телевизор. Однако, если ваш экран выглядит нормально, вы можете пропустить этот шаг. В любом случае, если вы все же выполнили этот шаг, выберите «Overscan» и нажмите Enter.

    Здесь вы можете отключить или включить. Если вы когда-нибудь перейдете на новый монитор или телевизор, вам может потребоваться повторно включить нерабочую область обзора позже.

    После этого быстрого шага теперь мы хотим проверить наши настройки клавиатуры. Если вы находитесь в Америке, вы хотите это изменить; если вы находитесь в Великобритании, их можно безопасно оставить со стандартной конфигурацией.

    Выберите «configure_keyboard» и нажмите Enter. Затем вам будет представлен очень длинный список вариантов клавиатуры. Если вы знаете настройки клавиатуры, выберите ее в списке, в противном случае вам подойдет стандартная 105-клавишная опция.

    После выбора типа клавиатуры вам необходимо указать раскладку.Есть большая вероятность, что вам нужен макет, отличный от английского (Великобритания), поэтому выберите «Другой» и выберите наиболее подходящий вариант.


    Затем вас спросят о клавишах-модификаторах – просто выберите здесь значение по умолчанию, а также «Нет клавиши создания» на следующем экране. Если позже вы обнаружите, что вам нужен ключ для создания альтернативных символов, вы можете вернуться к этому экрану конфигурации, запустив «raspi-config».

    Последний параметр, который вам нужно установить в конфигурации клавиатуры, – это функция ALT / CTRL / BACKSPACE для уничтожения X11.Мы рекомендуем вам включить это, чтобы в случае сбоя вашего графического интерфейса вы могли безопасно убить его без перезагрузки.

    Вернувшись в главное меню, следующим шагом будет установка пароля пользователя.

    Выберите «change_pass» и нажмите Enter. После экрана подтверждения вам будет предложено выбрать новый пароль пользователя UNIX.

    Почти готово. Давайте установим вашу «локаль», которая представляет собой общий набор символов, используемый вашим родным языком. Опять же, если вы не живете в Великобритании, вы захотите изменить это на свой местный набор символов.Если вы находитесь в старых добрых США A, вам нужен en_US.UTF-8. Прокрутите вниз до нужного вам языкового стандарта и по пути отмените выбор параметра en_GB. В нашем случае мы включим en_US.UTF-8


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

    Вернувшись в главное меню raspi-config, установите соответствующий часовой пояс, выбрав – как вы уже догадались – параметр «change_timezone».Сначала вам будет представлен список регионов.

    В следующем диалоговом окне будет показан список зон в этом регионе. Мы думаем, вы знаете, что здесь делать.

    Вернувшись к основной настройке, вы можете спокойно игнорировать оставшиеся параметры и выбрать «Готово». Вам будет предложено перезагрузиться, чтобы внести изменения; Сделай так. После того, как ваша система снова подключится к сети, вы получите такое сообщение для входа в систему:

    Ваш логин – «пи», а пароль будет тем же паролем, который вы установили ранее.

    Использование Raspberry Pi

    Теперь, когда вы вошли в свою свежеиспеченную Raspberry Pi, первое, что вам нужно сделать, это ввести «startx», чтобы загрузить среду графического интерфейса пользователя, которую далее мы будем называть оконным менеджером.

    После быстрого мерцания экрана вы должны получить это (без окна терминала):

    Добро пожаловать в оконный менеджер LXDE. LXDE – это очень легкий, полнофункциональный пользовательский интерфейс, который довольно хорошо работает на Raspberry Pi.Если вы никогда раньше не использовали LXDE, он очень похож на Windows. Если вы щелкните значок в нижнем левом углу, вы увидите список приложений. Он работает именно так, как вы ожидаете.

    Что теперь?

    После того, как вы включили Pi и LXDE WM настроили и запустили, у вас, по сути, будет полноценный Linux, работающий под управлением Debian. На этом этапе вы можете просматривать веб-страницы с помощью Midori, настраивать веб-сервер или выполнять общие вычислительные задачи.

    Но сначала давайте поговорим о некоторых утилитах, которые ориентированы на то, что такое Raspberry Pi: образование.В частности, образование в области разработки программного обеспечения.

    Написание вашей первой программы на Raspberry Pi

    Raspbian поставляется с предварительно загруженным Python, официальным языком программирования Raspberry Pi и IDLE 3, интегрированной средой разработки Python. Мы собираемся показать вам, как начать работу с IDLE и написать вашу самую первую, хотя и простую, программу на Python.

    При изучении нового языка очень часто создается классическая фраза «Hello World!». Программа, которую мы собираемся показать вам, как это сделать, но с небольшим поворотом.Эта программа Python запросит ваше имя и представится вам.

    Сначала загрузите IDLE 3, дважды щелкнув значок на рабочем столе LXDE.

    Щелкните Файл> Новое окно, после чего появится новое пустое окно, которое вы можете ввести.

    Затем введите в новом окне следующее:

    # моя первая программа на Python
    username = input («Здравствуйте, я Raspberry Pi! Как вас зовут?»)
    print («Приятно познакомиться» + имя пользователя + «хорошего дня!»)

    Теперь нажмите «Файл»> «Сохранить как» и в появившемся новом диалоговом окне назовите свой файл «привет» и нажмите «Сохранить».

    Давайте запустим ту программу, которую вы только что написали!

    Щелкните Выполнить> Выполнить модуль или просто нажмите F5.

    При появлении запроса «Здравствуйте, я Raspberry Pi! Как вас зовут?» в окне IDLE 3 введите свое имя и нажмите Enter. Вы увидите ответ Raspberry Pi. И вуаля! Больше нечего.

    Заключение

    Ваша первая программа на Raspberry Pi, откровенно говоря, очень тривиальное начало. На языке программирования Python можно написать гораздо больше мощных приложений.Отсюда мы рекомендуем вам ознакомиться с руководством по Python на официальном сайте Python. Если семилетний ребенок может написать игру на Пи, несомненно, вы сможете.

    Когда вы устали изучать Python, вы можете расслабиться и расслабиться, играя в ретро-игры. Вы можете настроить Pi для работы в качестве эмулятора MAME Arcade и подключить его к телевизору, как показано здесь. Тогда, если у вас заболят пальцы, почему бы не зайти сюда и не установить XBMC? Поскольку Pi способен воспроизводить видео с разрешением 1080p, он может выступать в качестве довольно приличного медиацентра после подключения к телевизору высокой четкости.

    Конечно, если вам просто нужна дешевая машина с Linux за 35 долларов, Raspberry Pi отлично подойдет и для этого. Вы обнаружите, что пользоваться им действительно приятно – устройство мечты хакера с огромными возможностями. Мы ожидаем увидеть намного больше приложений для Pi в ближайшие месяцы, особенно теперь, когда было объявлено о Gertboard. Надеюсь, эта статья вдохновит вас выбрать один из них и попробовать.


    Все продукты, рекомендованные Engadget, выбираются нашей редакционной группой, независимо от нашей материнской компании.Некоторые из наших историй содержат партнерские ссылки. Если вы покупаете что-то по одной из этих ссылок, мы можем получать партнерскую комиссию.

    Как написать и запустить программу Python на Raspberry Pi

    В этом посте я дам вам краткий обзор того, что такое программа Python, для чего можно использовать программы Python и как написать и запустить простую программу Python на Raspberry Pi.

    Что такое программа Python?

    Python – очень полезный язык программирования, который имеет простой для чтения синтаксис и позволяет программистам использовать меньше строк кода, чем было бы возможно на таких языках, как ассемблер, C или Java.

    Язык программирования Python фактически начался как язык сценариев для Linux. Программы Python похожи на сценарии оболочки в том, что файлы содержат серию команд, которые компьютер выполняет сверху вниз.

    Сравните программу «hello world», написанную на C, с той же программой, написанной на Python:

    В отличие от программ на языке C, программы на Python не нужно компилировать перед запуском. Однако для их запуска вам потребуется установить интерпретатор Python на свой компьютер.Интерпретатор Python – это программа, которая читает файлы Python и выполняет код.

    Тем не менее, можно запускать программы Python без установленного интерпретатора Python. Такие программы, как Py2exe или Pyinstaller, упакуют ваш код Python в автономные исполняемые программы.

    Что может делать программа на Python?

    Подобно сценариям оболочки, Python может автоматизировать такие задачи, как пакетное переименование и перемещение больших объемов файлов. Его можно использовать так же, как командную строку с IDLE, функцией Python REPL (чтение, оценка, печать, цикл).Однако есть более полезные вещи, которые вы можете делать с Python. Например, вы можете использовать Python для программирования таких вещей, как:

    • Веб-приложения
    • Настольные приложения и утилиты
    • Специальные графические интерфейсы
    • Малые базы данных
    • 2D-игры

    Python также имеет большой набор библиотек, что ускоряет процесс разработки. Существуют библиотеки для всего, что вы можете придумать – программирования игр, рендеринга графики, интерфейсов GUI, веб-фреймворков и научных вычислений.

    Многие (но не все) из того, что вы можете делать на C, можно сделать на Python. Python обычно выполняет вычисления медленнее, чем C, но его простота использования делает Python идеальным языком для создания прототипов программ и разработки приложений, не требующих больших вычислительных ресурсов.

    Как написать и запустить программу на Python

    Здесь мы рассмотрим только основы написания и выполнения программы на Python, но отличное руководство, охватывающее все, что программист должен знать о Python, – это книга Learning Python 5th Ed.(О’Рейли) Марка Лутца.

    Установка и обновление Python

    Python 2 и Python 3 предустановлены в операционных системах Raspbian, но чтобы установить Python в другой ОС Linux или обновить его, просто выполните одну из следующих команд в командной строке:

    sudo apt-get install python3

    Устанавливает или обновляет Python 3.

    sudo apt-get install python

    Устанавливает или обновляет Python 2.

    Открытие Python REPL

    Для доступа к Python REPL (где вы можете вводить команды Python точно так же, как в командной строке) введите python или python3 в зависимости от того, какую версию вы хотите использовать:

    Введите Ctrl-D, чтобы выйти из REPL.

    Написание программы на Python

    Чтобы продемонстрировать создание и выполнение программы Python, мы напишем простую программу «hello world». Для начала откройте текстовый редактор Nano и создайте новый файл с именем hello-world.py, введя его в командной строке:

    sudo nano hello-world.py

    Введите этот код в Nano, затем нажмите Ctrl-X и Y, чтобы выйти и сохранить файл:

      #! / Usr / bin / python
    
    print «Hello, World!»;  

    Все программные файлы Python необходимо сохранять с расширением «.py »расширение. Вы можете написать программу в любом текстовом редакторе, таком как Блокнот или Блокнот ++, только не забудьте сохранить файл с расширением «.py».

    Запуск программы на Python

    Чтобы запустить программу, не делая ее исполняемой, перейдите в папку, в которой вы сохранили файл, и введите это в командной строке:

    питон hello-world.py

    Создание исполняемого файла Python

    Создание исполняемого файла программы Python позволяет запускать программу без ввода python перед именем файла.Вы можете сделать файл исполняемым, введя его в командной строке:

    chmod + x имя-файла.py

    Теперь, чтобы запустить программу, все, что вам нужно ввести, это:

    ./file-name.py

    Вот несколько дополнительных ресурсов, которые помогут вам максимально эффективно использовать программирование на Python:

    Надеюсь, этот пост был вам полезен. Если у вас есть какие-либо вопросы, не стесняйтесь оставлять комментарии ниже. Если вы знаете кого-нибудь, кому понравится эта статья, поделитесь ею! Вы также можете получать обновления, когда мы публикуем новую статью, подписавшись!


    Узнайте, как программировать на Raspberry Pi

    Многие (абсолютные) новички получают Raspberry Pi в подарок, но часто имеют мало или совсем не знают программирования.Поэтому я хотел бы устранить это препятствие в этой серии руководств и призвать научиться программировать с Raspberry Pi. Большим преимуществом является то, что мы также можем написать программный код, связанный с оборудованием, который позволяет нам использовать контакты GPIO Raspberry Pi.

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

    Необходимые детали оборудования

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

    Оборудование

    Для начала нам понадобятся следующие аппаратные части:

    Препарат

    Прежде чем мы начнем программировать, нам нужно сделать несколько шагов по настройке среды. Прежде всего, необходимо, чтобы Raspberry Pi получил операционную систему. Raspberry Pi Foundation предоставляет так называемую Raspbian OS, которую нам нужно скачать.Затем переносим включенный файл на карту micro SD. Вы можете найти подробные инструкции здесь:

    Перенос Raspberry Pi Raspbian OS на SD-карту (Windows)

    После того, как образ окажется на SD-карте, вставляем его в Raspberry Pi. Как только клавиатура, мышь и дисплей подключены через кабель HDMI, мы можем запустить его. Для этого просто подключите кабель micro USB и подключите его к источнику питания. Дисплей должен загореться, и на черном фоне должны появиться несколько строк кода.

    Вскоре после этого процесс запуска завершается, и мы видим рабочий стол:

    Теперь мы открываем консоль Python, в которой можем сразу ввести программный код. Откройте его, сначала щелкнув символ Raspberry Pi в верхнем левом углу, а затем в разделе «Программирование» на «mu». Если вы не видите этот параметр, вы можете либо установить его («Настройки» -> «Рекомендуемое программное обеспечение»), либо также использовать Thonny Python IDE.

    Сначала вас спросят о режиме редактора.Выберите Python 3.

    Теперь открывается консоль Python, которая выглядит следующим образом. Мы напишем наш код так:

    Щелкните «REPL» на верхней панели, чтобы мы могли сразу увидеть наш результат.

    Если вам интересно, почему мы взяли Python 3 и можете ли вы использовать Python 2, ответ таков: оба варианта возможны. Между этими двумя версиями есть несколько различий, но они не имеют значения для начала. Код, который мы пишем, исполняется в обеих версиях.
    Если вас интересуют различия в деталях, вы можете прочитать эту статью.

    Привет мир плюс

    Достаточно слов, мы начинаем! В консоли мы хотим начать с типичного приложения «Hello World». Все, что вам нужно сделать, это ввести следующую строку и отправить ее с помощью Enter:

     печать («Hello World») 

    Таким образом, мы получаем наш первый результат:

    Печать – это функция, которую мы здесь вызываем. В скобках мы указываем параметры, которые нужны функции.Так как это символьная строка, мы должны поставить также кавычки в начале и в конце, поскольку другие слова интерпретируются как переменные, к которым мы вскоре вернемся.

    Nun ist es recht langweilig einfach nur einen Satz auszugeben. Daher erstellen wir nun eine sog. Переменная. Dies ist quasi ein Platzhalter, der verschiedene Werte annehmen kann und über ihren Namen angesprochen werden kann. Beispiel gefällig? Здесь:

     число = 7
    печать (номер) 

    Преимущество переменных в том, что мы можем легко перезаписать их значение.В следующем примере мы создаем две переменные и добавляем первую ко второй (и сохраняем результат во второй переменной – поэтому мы его перезаписываем):

     число_1 = 7
    число_2 = 3,5
    число_2 = число_1 + число_2
    печать (число_2) 

    Но будьте осторожны: помимо (целых) чисел переменные также могут, например, содержат строки. Добавление здесь невозможно и приведет к ошибке.

    Между прочим: переменной можно присвоить любое имя, но она не должна начинаться с числа. Кроме того, нельзя использовать специальные символы (кроме подчеркивания).Также не существует двух переменных с одинаковыми именами.

    Комментарии

    Еще одна полезная функция – это комментарии, которые объясняют код на случай, если кто-то другой или вы снова посмотрите на код позже. Такие комментарии доступны на всех языках программирования и могут также использоваться для «заглушения» частей кода, чтобы они не выполнялись. Этот процесс называется комментированием.

    В Python комментарии начинаются с хэштега (#). Остальная часть строки больше не выполняется.Вот пример:

     # Это комментарий
    print ("Line1") # еще один комментарий
    #print ("Строка2")
    print ("Строка 3") 

    Как видите, выводятся только строка 1 и строка 3, потому что мы закомментировали среднюю команду.

    Первые запросы

    Как уже было сказано, переменные могут иметь разные значения. Чтобы мы могли запросить их снова, для этого тоже есть возможность. Мы можем сделать это с помощью if .. else . Вот пример:

     число = 7
    # предполагая, что сюда добавлен неизвестный номер
    если число == 10:
        print ("число = 10")
    число elif <10:
        печать ("менее 10")
    еще:
        print («больше 10») 

    Здесь есть что учесть:

    1. В конце строки if , elif или else должно быть двоеточие, потому что мы говорим, что условие закончилось.Мы также можем связать несколько условий.
    2. Для запросов существуют следующие варианты: == (равенство), < (меньше), > (больше), <= (меньше / равно), > = (больше / равно). При проверке равенства нельзя использовать простой знак равенства, поскольку он присваивает только переменные.
    3. Команды, которые выполняются, если условие истинно, должны иметь отступ с пробелами. Все должно быть на одном уровне или с одинаковым отступом.По умолчанию отступ составляет 4 пробела.

    Теперь я покажу расширенный пример, чтобы синтаксис был немного легче понять (вымышленное лицо с датой рождения 30 июля 1980 г.):

     Birthday_day = 30
    Birth_month = 7
    Birth_year = 1980
    output = "" # пустая строка
    
    если год рождения <(2017 - 18):
        # пользователь достаточно взрослый
        output = "возраст> 18"
    еще:
        если (месяц_рождения> = 6) и (месяц_рождения <= 9):
            output = "у ребенка летом день рождения"
        еще:
            # здесь e.грамм. есть еще одна команда
            output = "не летний ребенок"
    печать (вывод) 

    Как видите, вложить запросы очень просто. Важно только, чтобы вы всегда следили за отступами, иначе вы получите ошибку (или программа будет выполняться некорректно).

    Петли

    Теперь мы сделаем еще один шаг и рассмотрим так называемые циклы. По сути, они представляют собой простые повторения, при которых после каждого повторения (также называемого итерацией) проверяется, истинно ли (по-прежнему) заданное условие.

    Циклы двух типов называются ForLoop и WhileLoop. Цикл while сначала проверяет, верен ли запрос. Вот пример:

     х = 0
    пока x <5:
        печать (х)
        х + = 1 

    При каждом повторении сначала проверяется, меньше ли x, чем 5, и если да, то выполняется часть с отступом. Мы выводим число один раз, а затем прибавляем 1 к x. Таким образом выводятся числа от 0 до 4.

    Напротив, структура цикла for немного отличается.В Python его определение - для .. in ..: , где первый параметр - это переменная (которая доступна в цикле), а второй параметр, например, список. У нас есть следующие варианты вывода чисел от 0 до 4:

     # первая альтернатива
    для числа в диапазоне (5): # range (x) выводит числа от 0 до x-1
    печать (число)
    
    
    # вторая альтернатива
    для числа в [0,1,2,3,4]:
        печать (номер) 

    Как видите, для удобного подсчета лучше использовать цикл for.

    Передача кода в файлы на аутсорсинг

    В качестве последнего шага этого руководства я хочу показать вам, как записать код в файл и выполнить его. Поскольку вы обычно пишете целые блоки кода, вы также хотите, чтобы они выполнялись последовательно. Так называемый компилятор, который переводит читаемый (понятный человеку) код в машинный код, может выполнять отдельные команды или целые файлы.

    Щелкните символ папки на панели навигации и щелкните правой кнопкой мыши свободное место.В разделе «Создать»> «Пустой файл» вы можете создать новый файл:

    Назовите их, например, «Program1.py» (без кавычек). Не забывайте о расширении «.py», так что ясно, что это скрипт Python.

    Вы можете открыть созданный файл двойным щелчком. Здесь вы можете написать свой код и сохранить его через меню. Я вставил код сверху:

    После сохранения мы уже можем запускать файл. Это происходит через терминал / консоль. Для этого щелкните значок справа от папки на панели задач.Откроется черное окно, в котором можно что-то ввести.

    Здесь вы пишете следующее (отправьте с Enter):

     python3 program1.py 

    Теперь программа будет выполняться от начала до конца. Все запросы выполняются до тех пор, пока программа не дойдет до конца, где больше нет команд. Затем он прекращается.

    Это была первая часть моего небольшого обзора, чтобы начать программирование с Raspberry Pi. В следующей части мы сосредоточимся на чтении и записи контактов GPIO, которые мы можем использовать для управления электронными компонентами, такими как светодиоды и кнопки чтения.

    PS: Код Python не отображается на изображении входа, поскольку это должно быть только изображение символа 🙂

    PPS: Комментарии / предложения (особенно от новичков) приветствуются, так что я могу соответствующим образом адаптировать другие части.

    Как запускать программы Python на Raspberry Pi? Учебник для начинающих

    У вас есть Raspberry Pi и вам нужно простое руководство о том, как начать создавать и запускать свои собственные программы на Python? Сегодня вы попали в нужное место! В сегодняшнем посте я расскажу о Python, о том, почему он широко используется, и, самое главное, о том, как вы можете начать работу с проектами одновременно с ним!

    Прежде чем мы начнем…

    Введение в Python

    Что такое Python и почему он используется в Raspberry Pi? Python Org

    Python - широко используемый язык программирования с простым и понятным для новичков синтаксисом (расположение слов, фраз в предложениях).Благодаря широкому распространению он имеет огромное сообщество, предоставляющее доступ к библиотекам, фреймворкам и инструментам, которые помогут пользователям начать работу!

    Для Python для запуска любой платформы требуется интерпретатор Python, а поскольку Linux, ОС для Raspberry Pi была написана для него, запуск Python Interpreter не вызывает проблем.

    • Следовательно, он используется для Raspberry Pi, начиная с языка сценариев и заканчивая полноценным языком программирования для конфигураций программного обеспечения!

    Какой Python используется для

    Поскольку Python является многоцелевым языком программирования, его можно использовать для множества полезных приложений в различных отраслях как таковых:

    • Веб-разработка и приложения
    • Создание приложений с графическим интерфейсом
    • Разработка игр, программирование и вычисления
    • Автоматизация
    • Машинное обучение и искусственный интеллект
    • Проекты Raspberry Pi, такие как включение и выключение светодиодов и т. Д.

    Некоторые приложения кажутся сложными? Но с Python вы можете просто решать сложные проблемы или приложения с меньшим количеством строк кода, экономя время и усилия!

    Python против C # и JavaScript

    Наконец, прежде чем мы начнем наше руководство, давайте быстро сравним Python с другими языками программирования; C # и JavaScript. Чтобы не останавливаться на достигнутом, мы просто рассмотрим основные отличия:

    Сложность языка и простота использования:

    Ранее мы установили, что Python использует гораздо более простой язык, но как насчет C # и Java? C # очень сложен, так как вам нужно знать больше языковых конструкций, в то время как Java, будучи полностью сформированным веб-программированием, требует много изучения.Простым примером являются приведенные ниже коды при извлечении первых трех букв слова «Hello World»:

      ул. [0: 3]  
      ул. Подстрока (0, 3)  
      ул. Подстр. (0, 3)  

    Проще, короче, проще с Python!

    Стоимость времени разработки и производительности

    C # и Java - это скомпилированные языки, обеспечивающие более высокую производительность. Однако после внесения изменений уходит много времени на разработку, так как вам придется подождать, пока программа скомпилируется.

    Однако с Python вы можете просто перезапустить приложение и продолжить!

    Поддержка сообщества

    И Python, и Java долгое время были языками с открытым исходным кодом, тогда как C # стал им совсем недавно. Следовательно, поддержка Python и Java сообществом будет шире.

    Это означает, что если вы наткнетесь на какие-либо проблемы, вероятность найти решения для этих двух языков выше!

    В общем, все, что вы делаете на Python, можно сделать с помощью других языков программирования, таких как C # и Java.Благодаря более простому использованию, это лучший вариант для начинающих.

    Учебное пособие по программе Python

    Как загрузить и запустить Python 3

    Конечно, для начала вам потребуется установить Python. Хорошие новости, если вы используете Raspbian, ОС по умолчанию для Raspberry Pi, поскольку она должна содержать как Python 2, так и 3 IDE!

    Так что продолжайте и загрузите его, щелкнув значок Pi в верхнем левом углу -> Программирование -> Python 3 (IDLE)

    Однако, если по какой-то причине в вашей системе нет Python, просто запустите окно терминала (4-й значок слева) и выполните эту команду в командной строке:

      sudo apt-get install python3  

    Если вы работаете в другой ОС, такой как Ubuntu, Debian и LinuxMint, вот как вы можете установить Python 3.7:

    • Шаг 1. Установка необходимых компонентов
      sudo apt-get install build-essential checkinstall
    sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev \
        libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libffi-dev zlib1g-dev  
    • Шаг 2: Загрузите Python 3.7
      cd / usr / src
    sudo wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz  

    Распакуйте загружаемый пакет с помощью этого:

      судо tar xzf Python-3.7.4.tgz  
    • Шаг 3. Скомпилируйте исходный код Python с помощью Altinstall
      cd Python-3.7.4
    sudo ./configure --enable-optimizations
    sudo make altinstall  
    • Шаг 4. Проверьте установленную версию Python
      python3.7 -V
    
    Python-3.7.4  

    Написание вашей первой программы на Python с Hello World!

    Привет, мир? Это программа, призванная помочь новичкам начать писать свою первую программу Python в интерпретаторе.Это позволяет вам тестировать команды по одной строке за раз!

    • Шаг 1. Запустите интерпретатор Python и введите следующую команду:
      python  
    • Шаг 2: Вы должны увидеть знак «>>>», где вам нужно будет ввести следующую команду и нажать Enter:
      print («Hello, World!»)  
    • После этого вы должны увидеть фразу Hello, World! ответил вам

    Это все, что вам потребовалось, чтобы запустить свою первую программу на Python! Все просто, правда?

    • Теперь вы можете выйти из интерпретатора, введя следующую команду:
      exit ()  

    Изучение Python с помощью математических выражений

    Помимо «Hello, World», вы можете изучить Python с помощью Raspberry Pi, запрограммировав интерпретатор для выполнения математических вычислений со знаками оператора:

    Эксплуатация Символ Пример
    Мощность (возведение в степень) ** 5 ** 2 == 25
    Умножить * 2 * 4 == 8
    Разделить/ 15/3 == 5
    Целочисленное деление // 14 // 3 == 4
    Остаток (по модулю)% 14% 3 == 2
    Добавить + 2 + 2 == 4
    Вычесть 4–3 == 1

    Хотите начать? Вы можете проверить это, выполнив следующие команды:

      печать («3 + 3 есть», 3 + 3)
    print («3 * 4 is», 3 * 4)
    print ("100 - 1", 100 - 1)
    print ("(33 + 2) / 5 + 11.5 является ", (33 + 2) / 5 + 11,5)  

    При выполнении указанной выше команды вы увидите следующий результат:

      3 + 3 это 6
    3 * 4 это 12
    100 - 1 это 99
    (33 + 2) / 5 + 11,5 равно 18,5  

    Для более сложных математических функций вы можете посетить соответствующие библиотеки Python!

    Запуск программы через Thonny

    Другой способ запустить программу на Python - через Тонни. Thonny - это редактор Python с удобной для новичков средой с функциями, подходящими для написания кода и запуска программ!

    Если вы работаете на Raspbian, просто перейдите к значку Pi -> Программирование -> Thonny Python IDE следующим образом:

    Thonny

    После запуска Thonny щелкните Файл> Открыть, а затем перейдите к своей программе Python.После загрузки программы щелкните Выполнить> Запустить текущий сценарий

    Используете другую ОС Linux? Вы можете посетить веб-сайт Thonny, чтобы загрузить Thonny для ОС Linux здесь!

    Как запустить Python через контакты GPIO Raspberry Pi

    Уникальность запуска python на Raspberry Pi вместо обычного ПК заключается в том, что вы можете запускать коды, специально предназначенные для управления аппаратными компонентами через его контакты GPIO! В сегодняшнем уроке я начну с того, что научу вас программировать светодиод, чтобы включать и выключать его!

    Вам потребуются следующие аппаратные компоненты:
    Сборка и конфигурации оборудования:
    • Шаг 1: Подключите Grove Base Hat к Raspberry
    • Шаг 2: Выберите любой порт GPIO на Base Hat и подключите к нему фиолетовый светодиод
    • Шаг 3: Подключите Raspberry Pi к ПК через USB-кабель

    Для шага 2 вы также можете подключить его к порту Grove, в результате чего соединение будет выглядеть следующим образом:

    Конфигурации программного обеспечения с Python
    • Шаг 1: Следуйте настройкам программного обеспечения для настройки среды разработки
    • Шаг 2: Загрузите исходный файл, клонировав рощу.библиотека py
      cd ~
    git clone https://github.com/Seeed-Studio/grove.py  
    • Шаг 3: Выполните следующую команду. Обратите внимание на порт GPIO, к которому вы подключили Grove - Purple LED, и введите его под номером порта.
      cd yourpath / grove.py / grove
    python grove_led.py номер порта  

    Если номер вашего порта 12, ваша команда должна выглядеть так:

      cd yourpath / grove.py / grove
    python grove_led.ру 12  

    Теперь вы должны видеть, как светодиод горит и гаснет!

    Проекты Raspberry Pi Python

    Конечно, мы не могли бы закончить учебник, не представив несколько проектов raspberry pi python, с которых вы можете начать работу, верно? Поскольку создание проектов является одним из хороших способов изучения программирования на Python, вот некоторые из них, которые вы можете попробовать!

    1) Умные часы Raspberry Pi с Python

    Хотите создать на Raspberry Pi умные часы, которые показывают время на OLED-дисплее? Этот проект не только делает это, но и позволяет вам слышать время через разные промежутки времени! Все настройки программного обеспечения выполняются с помощью Python!

    Что вам нужно?

    Компоненты оборудования:

    Программные приложения и другие услуги:

    • Raspbian или Noobs на Raspberry Pi
    • Библиотека Python GPIO, установленная в Pi
    • Библиотека Python SSD OLED

    Хотите узнать больше? Вы можете ознакомиться с полным руководством вместе с кодом Python от Ашвини Кумр Синха на сайте Hackster.io!

    2) E Ink Calendar для Raspberry Pi

    Хотите запрограммировать календарь для Raspberry Pi с помощью Python? Этот проект позволяет вам это сделать! В нем не только используется дисплей с чернилами E, который не вредит глазам, но и при более ярком свете дисплей становится более четким!

    Что вам нужно?

    Компоненты оборудования:

    Конфигурации программного обеспечения:

    Хотите узнать больше? Вы можете ознакомиться с полным руководством Seeed на сайте Seeed project hub!

    3) Интеллектуальное управление вентилятором Raspberry Pi с использованием Python и ThingSpeakAPI

    Беспокоитесь о проблемах с температурой, присутствующих в Rasberry Pi 4, и хотите, чтобы вентиляторы включались только тогда, когда это действительно нужно процессору? В этом проекте вы можете реализовать скрипт Python для управления вентилятором в зависимости от текущей температуры процессора Raspberry, используя управление включением-выключением!

    • Охладите свой Raspberry Pi и одновременно изучите Python!
    Что вам нужно?

    Компоненты оборудования:

    Программные приложения и онлайн-сервисы:

    Хотите узнать больше? Вы можете ознакомиться с полным руководством Нургалиева Шахизата на Seeed Project Hub!

    4) Проект Picamera Python

    Нужен код Python для управления модулем камеры Raspberry Pi для фотосъемки и видеозаписи? В этом проекте показано, как это сделать!

    Что вам нужно?

    Компоненты оборудования:

    Программные приложения и онлайн-сервисы:

    • Операционная система Raspbian с Python

    Хотите узнать больше? Вы можете ознакомиться с полным руководством Нургалиева Шахизата на Seeed Project Hub!

    5)

    Создание пользовательского контроллера Minecraft с Raspberry Pi

    Знаете ли вы, что Raspberry Pi поддерживает Minecraft? Да! Вы можете играть в Minecraft на Raspbian OS с помощью клавиатуры и мыши.Однако, если вы хотите улучшить свой игровой процесс, создав собственный контроллер, этот проект для вас!

    Что вам нужно?

    Компоненты оборудования:

    Программные приложения и онлайн-сервисы:

    • Dexter Industries Raspbian для роботов

    Хотите узнать больше? Вы можете ознакомиться с полным руководством Dexter Industries на Seeed Project Hub!

    Ресурсы и дальнейшее развитие

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

    Сводка

    Это все, что вам нужно для сегодняшнего руководства по Raspberry Pi и Python.Я надеюсь, что благодаря этому вы получите более глубокое понимание того, с чего начать!

    Помните, что хотя вы можете обращаться к кодам, доступным в Интернете, если вы хотите освоить Pi, вам также придется освоить программирование и Python, поскольку это основной язык для любых полезных целей.

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *