What is raspberry pi programming

Лучшие IDE для Raspberry Pi

Raspberry Pi — это, может, и не единственный одноплатный компьютер (single-board computer, SBC) на рынке, но он, определённо, является самым популярным. Raspberry Pi пользуется огромное количество людей, он является центром экосистемы, в которую входит множество официальных и неофициальных ресурсов и изделий — от книг и дополнительного оборудования до форумов и учебных курсов. Raspberry Pi снабжён отличной, поддерживаемой в актуальном состоянии документацией. Благодаря Raspberry Pi Foundation регулярно выходят новые модели SBC, появляются и усовершенствования моделей предыдущих поколений. 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 — это нетребовательная к ресурсам и весьма функциональная 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 — это замечательная IDE для Java-разработчиков. Она отличается простым и удобным интерфейсом, существует её портативный вариант. Это — хороший инструмент для тех, кто занимается объектно-ориентированным программированием. BlueJ, помимо написания кода, позволяет выполнять программы. Изначально эта IDE была создана в качестве инструмента для обучения программированию Поэтому она подойдёт начинающим и опытным разработчикам. Учебное прошлое IDE видно, например, в её возможности визуализировать разные сущности и процессы вроде классов, объектов и вызова функций. А опенсорсная библиотека Pi4J из Java SE позволяет работать с аппаратным обеспечением, подключённым к компьютеру.

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

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

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

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

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

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

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 для новичков

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

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

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

IDE Lazarus

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

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

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

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

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

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

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

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

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 в качестве рабочей машины программиста?

Источник

Learn How to Program on the Raspberry Pi – Part 1: Introduction

Many (absolute) beginners get a Raspberry Pi as a gift, but have often little or no programming knowledge. Therefore I would like to clear that hurdle in this series of tutorials and encourage learning to program with the Raspberry Pi. The big advantage is that we can also write a hardware-related code, which allows us to use the Raspberry Pi’s GPIO pins.

We use Python as the programming language, since it is one of the easiest languages to learn for beginners and there are also usually the most references and examples available.

Required Hardware Parts

A note in advance: The tutorial series is intended to make it easier to get started with programming on the Raspberry Pi, but should not be taken as an independent course. A book is very useful for deepening your knowledge and looking things up. In particular, I can recommend one of these two books for learning:

  • pure Python basics: Python Crash Course (Eric Matthes )
  • Programming the Raspberry Pi: Getting Started with Python (Simon Monk)

Hardware

To get started, we need the following hardware parts:

  • Raspberry Pi (the model doesn’t matter – I don’t recommend Model Zero)
  • micro SD card (min. 8 GB)
  • Keyboard
  • Mouse
  • HDMI cable
  • USB power adapter + micro USB cable
  • WLAN adapter if necessary

Preparation

Before we start programming, we need to take a few steps to set up the environment. First of all, it is necessary that the Raspberry Pi gets an operating system. The Raspberry Pi Foundation provides the so-called Raspbian OS, which we need to download. Then we transfer the included file to the micro SD card. You can find detailed instructions here:

After the image is on the SD card, we insert it into the Raspberry Pi. As soon as the keyboard, mouse and display are connected via HDMI cable, we can start it. This is done simply by connecting the micro USB cable and connecting it to power. The display should now light up and a few lines of code should appear on a black background.

Shortly after, the startup process is complete and we see the desktop:

We now open the Python console, in which we can immediately enter program code. Open this by firstly clicking the Raspberry Pi symbol in the top left and then under Programming on “mu”. If you don’t see this option, you can either install it (Preferences -> Recommended Software) or also use the Thonny Python IDE.

First, you are asked for the Editor Mode. Select Python 3.

The Python console now opens and it looks like this. We will write our code in this:

Click on “REPL” on the Top bar, so that we can see our output immediately.

If you are wondering why we took Python 3 and whether you can use Python 2, the answer is that both are possible. There are a few differences between those two versions, but they do not matter to get started. The code we write is executable on both versions.
If you are interested in the differences in detail, you can read this article.

Hello World Plus

Enough words, we’re starting! In the console we want to start with a typical “Hello World” application. All you need to do is type in the following line and send it with Enter:

With that we get our first output:

Print is the function that we call here. Within the brackets, we give parameters which the function needs. Since it is a character string, we have to put also the quotation marks at the beginning and end, since other words are interpreted as variables, which we will come to in a moment.

Now it is quite boring to just print out a sentence. Therefore, we now create a so-called variable. This is sort of a placeholder that can take on different values ​​and can be addressed via its name. Would you like an example? Here:

The advantage of variables is that we can easily overwrite their value. In the next example we create two variables and add the first to the second (and save the result in the second variable – so we overwrite it):

But be careful: In addition to (integer) numbers, variables can also e.g. contain strings. An addition is not possible here and would lead to an error.

By the way: The variable can be named as you wish, but must not begin with a number. Also, no special characters (apart from the underscore) may be used. There are also no two variables that can have the same name.

Comments

Another useful feature is comments that explain the code in case someone else or you look at the code again later. Such comments are available in every programming language and can also be used to “mute” parts of the code so that they are not executed. That process is called commenting out.

In Python, comments begin with a hashtag (#). The rest of the line is then no longer executed. Here’s an example:

As you can see, only line 1 and line 3 are output because we commented out the middle command.

First Queries

As already said, variables can have different values. So that we can query them again, there is also a possibility for this. We can do this with if .. else . Here is an example:

There is a lot to consider here:

  1. At the end of the if , elif or else line there must be a colon because we are saying that the condition has ended. We can also link several conditions.
  2. For queries, the following options exist == (equality), (smaller), > (larger), (smaller/equal), >= (larger/equal). When checking for equality, the simple equal sign must not be used, since this only assigns variables.
  3. The commands that are executed if the condition is true must be indented with spaces. Everything must be on the same level or indented equally. The default is 4 spaces to indent.

I will now show an extended example so that the syntax is a bit easier to understand (fictitious person with a date of birth on July 30, 1980):

As you can see, it is very easy to nest queries. It is only important that you always keep an eye on the indentations, otherwise, you will get an error (or the program will be executed incorrectly).

Loops

Now we go one step further and look at so-called loops. Basically, these represent simple repetitions, whereby after each repetition (also called iteration) it is checked whether the specified condition is (still) true.

The two types of loops are called ForLoop and WhileLoop. The while loop initially checks whether the query is true. Here’s an example:

In each repetition, it is initially checked whether x is less than 5 and if so, the indented part is executed. We output the number once and then add 1 to x. The numbers 0 to 4 are thus output.

In contrast, the structure of the for loop is a little different. In Python, its definition is for .. in .. : where the first parameter is a variable (which is available within the loop) and the second parameter is e.g. a list. We have the following options for outputting the numbers from 0 to 4:

As you can see, a for loop is better for easy counting.

Outsourcing the Code in Files

As a final step of this tutorial, I want to show you how to write the code into a file and execute it. Since you usually write whole blocks of code, you also want to have them executed sequentially. The so-called compiler, which translates the readable (human-understandable) code into machine code, can execute individual commands or entire files.

Click on the folder symbol in the navigation bar and right-click on the free space. Under “Create New”> “Empty File” you can create a new file:

Name them e.g. “program1.py” (without quotes). Don’t forget the “.py” extension, so it is clear that it is a Python script.

You can open the created file with a double click. Here you can write your code and save it via the menu. I pasted the code from above:

After saving, we can already start the file. This happens via the terminal/console. To do this, click the icon to the right of the folder in the taskbar. A black window opens in which you can enter something.

Here you write the following (send with Enter):

The program will now run from start to finish. All queries are executed until the program has reached the end where there are no further commands. Then it terminates.

This was it with the first part of my little overview to get started with programming with the Raspberry Pi. In the next part, we will focus on reading and writing the GPIO pins, which we can use to control electronic components such as LEDs and read buttons.

PS: No Python code can be seen in the entry picture since it should only be a symbol picture 🙂

PPS: Comments/suggestions (especially from beginners) are welcome so that I can adapt the other parts accordingly.

Источник

Adblock
detector