Лучшие IDE для Raspberry Pi / Хабр
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-битные приложения.
У того, что на базе Raspberry Pi можно создать отличный компьютер для программиста, есть несколько причин:
- Множество совместимых дистрибутивов Linux.
- Доступность.
- Маленькие размеры.
- Отличное соотношение цена/качество.
- Наличие массы IDE.
Geany: лучшая многоязычная IDE
Geany
Geany — это нетребовательная к ресурсам и весьма функциональная IDE, пользовательский интерфейс которой, очень хорошо сделанный, основан на GTK+ и Scintilla. Это — универсальная система, поддерживающая несколько языков программирования. В частности — PHP, Java, Perl, Ruby, C++, C и C#. Geany может похвастаться множеством различных полезных возможностей. Среди них — автозавершение ввода, подсветка синтаксиса, возможность сворачивания и разворачивания блоков кода.
Среди основных особенностей 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. Это — мощная, но, в то же время, простая и удобная среда разработки. Среди её возможностей — подсветка синтаксиса, автозавершение ввода, поддержка плагинов, возможность работы с блоками кода. Тут имеется интеллектуальный отладчик, с помощью которого удобно искать причины программных ошибок.
Вот её главные особенности:
- Интеллектуальный отладчик.
- Отличная поддержка компиляторов, среди которых можно отметить 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 в качестве рабочей машины программиста?
Какой язык программирования следует использовать с Raspberry Pi? – PiCockpit
Если вы новичок в Raspberry Pi, вы можете оказаться на распутье перед выбором языка программирования для изучения.
Существует огромное количество языков, и то, что вы решите изучить, окажет глубокое влияние на ваши возможности. Итак, давайте рассмотрим языки, которые вы можете использовать с Raspberry Pi.
Предварительно загруженные языки на Raspberry Pi
Возможно, самый большой совет, который вы можете получить от Raspberry Pi, – это языки, предварительно загруженные в ОС Raspberry Pi.
При каждой установке у вас будут предустановлены Python, Scratch и C или C++.
Поэтому давайте сначала рассмотрим эти три языка.
Python: отличный язык общего назначения для Raspberry Pi
Код Python, написанный на языке ThonnyПлюсы:
- Легкость в освоении
- Множество библиотек для компонентов
- Множество отличных уроков, которые помогут вам войти в курс дела.
- Может использоваться на микрокомпьютерах Raspberry Pi и серии Pico
Конс:
- Не подходит для разработки веб-сайтов (в частности, фронт-энда)
- Медленнее, чем C или C++
Если вы начинаете с нуля, то Python, вероятно, самый быстрый и эффективный способ начать работу.
Во-первых, Python – один из самых простых языков для освоения.
Другая причина заключается в том, что существует множество библиотек, написанных на Python для различных датчиков и компонентов. В результате, большое количество скриптов для учебников и проектов будет написано на Python.
Если бы вы использовали другой язык, например, JavaScript (через NodeJS), вы могли бы оказаться в затруднительном положении без библиотеки для обычного датчика.
Наконец, изучение языка Python поможет вам взаимодействовать со всеми платами линейки Raspberry Pi. Вы сможете создавать проекты как для Raspberry Pi 4, так и для Raspberry Pi Pico.
Создатели Raspberry Pi также упрощают создание проектов на Python. Например, все микрокомпьютеры Raspberry Pi (например, Pi 4) поставляются с Thonny, которая является Python IDE, а все Raspberry Pi Picos по умолчанию читают MicroPython.
Thonny упрощает работу с Python на Raspberry Pi
Raspberry Pi OS также поставляется с предустановленным Thonny, который позволяет очень легко запускать сценарии Python.
Thonny упрощает программирование на Python, поскольку вы можете легко запускать и останавливать скрипты, нажимая кнопку “RUN” или “STOP” в IDE.
Если же вы используете другой редактор, то для запуска скрипта вам, скорее всего, придется ввести его в Терминал.
MicroPython для Raspberry Pi Pico
Python особенно полезно изучать, если вы хотите использовать Raspberry Pi Pico.
В отличие от микрокомпьютеров Raspberry Pi, Raspberry Pi Pico по умолчанию принимает только три языка: C или C++ и MicroPython.
Это означает, что если вы изучали Python, вы сможете перейти к написанию MicroPython, поскольку синтаксис одинаковый.
Основное различие между Python и MicroPython заключается в том, что последний имеет меньшую стандартную библиотеку.
CircuitPython
Помимо MicroPython, CircuitPython – это еще одна производная Python, которая используется в Raspberry Pi Pico. CircuitPython создан компанией Adafruit.
Является ли Python хорошим языком для пользователей Raspberry Pi?
ДА. Абсолютно.
Вам обязательно понадобится знание языка Python, если вы хотите создавать проекты для Raspberry Pi.
Я начал свой путь программиста с JavaScript. За пределами сферы Raspberry Pi JavaScript является очень эффективным языком, поскольку на нем можно создавать программы и веб-сайты.
Четырехразрядный семисегментный дисплейОднако однажды мне потребовалось создать программу для семисегментного дисплея, и не было способа сделать это на JavaScript.
Я нашел скрипт в Интернете, но он был на языке Python, и это направило меня на путь изучения Python.
Если вам нужен самый эффективный, быстрый и простой способ создания проектов Raspberry Pi, то изучение Python – это то, что вам нужно.
Где изучать Python для программирования на Raspberry Pi
Путь обучения – На этих ресурсах собраны ссылки, по которым вы можете изучить конкретные разделы Python. Это общие пути обучения, а не специфические для Raspberry Pi.
Learney
Карта дорог
Harvard OpenCourseWare, CS50 “Введение в программирование на Python
YouTube видео
Плейлист учебников по Python для начинающих от Кори Шафера
Курсы, посвященные Raspberry Pi – Эти курсы предназначены для начинающих
Фонд Raspberry Pi – Этот курс даст вам общее представление о программировании на Python и погрузит в программирование игр и взаимодействие с датчиками и компонентами.
Настоящий Python, Создание физических проектов с помощью Python на Raspberry Pi – это отличное руководство для тех, у кого есть набор датчиков и компонентов и кто хочет погрузиться в код, взаимодействующий с GPIO. В отличие от общих руководств по Python, здесь вы узнаете, как подключить простые датчики и как взаимодействовать с ними с помощью Raspberry Pi 4.
Scratch для Raspberry Pi
Один из моих друзей показывал мне свой светодиодный светофор, который он сделал с помощью Raspberry Pi 4.
Он – старший разработчик с большими знаниями в программировании на Java и JavaScript, поэтому я ожидал, что он напишет ее на каком-нибудь языке программирования.
Но нет…
Он использовал Scratch.
Что?
Почему старший специалист по программному обеспечению использовал Scratch?
Scratch описывает себя как “крупнейшее в мире сообщество кодирования для детей и язык кодирования с простым визуальным интерфейсом, который позволяет молодым людям создавать цифровые истории, игры и анимацию”.
Мой друг определенно не был ребенком.
Когда я спросил его, почему, он дал мне ответ, который был так же полезен, как сообщение о фиксации в Git: “Ну, его просто программировать”.
Если честно, когда я посетил магазин Raspberry Pi Store в Кембридже, Великобритания, у них также был Pi под управлением Scratch.
Значит, он должен быть чем-то полезен!
Является ли Scratch хорошим языком программирования для пользователей Raspberry Pi?
Я полагаю, что это хорошо для того, чтобы поцарапать поверхность программирования.
Суть Scratch заключается в том, чтобы сделать программирование простым для детей и подростков. Вместо того чтобы писать абстрактный код, Scratch позволяет создавать программы, соединяя блоки вместе.
Для того чтобы мигать светодиодом с помощью Scratch, нужно собрать эти блоки:
Последовательность Scratch для мигания светодиода. Фото с YouTube Аарона Маурера.Теперь сравните это со сценарием Python для мигания светодиода,
import RPi. GPIO as GPIO from time import sleep GPIO.setmode(GPIO.BOARD) GPIO.setup(8, GPIO.OUT, initial=GPIO.LOW) while True: GPIO.output(8, GPIO.HIGH) sleep(1) GPIO.output(8, GPIO.LOW) sleep(1)
Возможно, это та же причина, по которой некоторые люди предпочитают использовать графический интерфейс вместо командной строки. Вместо того чтобы изменять значение переменной с помощью нескольких пробелов, стрелок и других нажатий клавиш, вы можете просто щелкнуть и выбрать.
Для простых проектов, обучения и преподавания Scratch – отличный выбор.
Недостатки Scratch для Raspberry Pi
Если вы пропустили каламбур в предыдущем разделе, вот он снова: Царапина только царапает поверхность.
Неизбежно, когда ваш проект станет больше, вы захотите использовать более распространенный язык, такой как Python или C или C++, потому что вы сможете получить доступ к огромному количеству кода, библиотек и скриптов, доступных в Интернете.
Изучайте Scratch
Если вам интересно, как работает Scratch, вы можете быстро получить представление о том, как работает его метод “строительных блоков” в своей онлайновой среде.
- Raspberry Pi имеет несколько курсов по Scratchв том числе и те, которые связаны с созданием аппаратуры.
- Аарон Маурер выпустил учебник на YouTube чтобы показать вам, как использовать Scratch 3 и мигать светодиодом.
C или C++ для Raspberry Pi
Самые совершенные языки программирования, которые дают вам максимальный контроль, также являются одними из самых трудных для изучения и освоения.
В чем разница между C и C++?
C++ – это в некотором роде расширенная версия языка C, которая включает в себя множество функций, таких как встроенная поддержка объектно-ориентированного программирования. Символ ++ – это каламбур на способ увеличения операторов в C и самом C++. Например, если у вас есть переменная cats, и вы хотите добавить к ней единицу, вы можете просто написать cats++;
C++ особенно очень динамичен и постоянно обновляется. Это сложный язык для изучения. Для новичков более подходящим языком может быть C.
В чем основное отличие от других языков, используемых для Pi?
Эти языки компилируются – то есть вы пишете код, а затем с помощью специального приложения, называемого компилятором, создаете машинный байт-код, который процессор вашей целевой архитектуры понимает как родной. Другими словами, если вы хотите запустить приложение и на Pico W, и на Raspberry Pi, и на своем настольном компьютере (на базе x86), вам нужно будет запустить специальный компилятор для каждого из них.
Другим примером компилируемого языка является язык Rust, который имеет ряд больших преимуществ. Понимаете, C и C++ требуют от вас заботы о некоторых вещах, таких как сборка мусора – если вы этого не сделаете, ваше приложение может выйти из строя. Или весь компьютер может выйти из строя, если вы пишете драйверы устройств. В Rust есть дополнительные средства защиты для разработчика.
Другой популярный компилируемый язык, разработанный компанией Google, называется Go. Вы можете время от времени встречать ссылки на них.
Я предлагаю вам начать работу, если вы никогда раньше не кодировали, с интерпретируемых языков. Они не требуют компиляции, а считываются приложением, которое затем выполняет нужную команду. Хорошим языком для начала работы является Python (или MicroPython).
Однако если вы когда-нибудь захотите создать умопомрачительные проекты, например, игра Doom на Raspberry Pi Pico то вам потребуется знание языка C или C++.
C или C++, как правило, являются одним из трех языков, наиболее широко используемых на Raspberry Pi, второй – Python. Поэтому значительная часть этого раздела будет посвящена преимуществам и недостаткам этих двух языков.
Для начала давайте сравним эти три варианта:
C и C++ | MicroPython | |
Скорость | Быстрее | Медленнее |
Кривая обучения | Harder | Проще |
Управление памятью | Руководство | Автоматически (сборка мусора) |
Компилированный? Интерпретированный? | Составлено | Переведено |
Использование по сообществу | Широкое применение, особенно в передовых проектах, где необходим мельчайший контроль | Широко используется как начинающими, так и опытными пользователями. |
Библиотеки для компонентов | Общедоступно | Общедоступно |
Должен ли начинающий изучать C или C++?
Ничто не мешает вам пройти через испытание огнем.
Потому что то, что тебя не убивает, делает тебя сильнее.
Большинство проектов можно реализовать с помощью Python, а также C или C++. Доступность библиотек для этих трех языков также широко распространена, и вы вряд ли столкнетесь с проблемой отсутствия библиотеки.
Насколько вы упорны?
C или C++ могут быть немного менее интересными для начинающего программиста, потому что здесь есть много аспектов, о которых вам придется думать, но которые вы не будете думать в Python.
Например, в языках C и C++ вам придется управлять памятью. Вам также придется думать о том, какой тип данных присвоить переменной. Это может стать утомительным занятием, если вы не знаете о последствиях плюсов и минусов выбора типа.
Например, если вы хотите присвоить целое число в C и C++, вам придется решить, хотите ли вы:
- int
- char
- беззнаковый символ
- подписанный символ
- беззнаковый инт
- короткий
- беззнаковое сокращение
- длинный
- беззнаковая длина
Выбор одного из них повлияет на скорость работы вашей программы и использование памяти.
И хотя Python менее эффективен, вам потребуется сделать это только для того, чтобы объявить целое число:
integer = 999999999999999
Но нет боли – нет выгоды, верно?
Как только вы узнаете, как работают языки C или C++, вы начнете пользоваться их преимуществами. Поскольку Raspberry Pi – не очень мощный компьютер по сегодняшним меркам, умение писать эффективный код поможет вам получить максимальную производительность от его ограниченного аппаратного обеспечения.
Настройка C и C++ занимает больше времени
Когда появились платы Raspberry Pi Pico, мне пришлось написать о настройке Pico для Python, C и C++.
Python – это очень просто. Загрузите Thonny. Подключите Pico. Прошиваем MicroPython. Готово.
C и C++ были намного сложнее и утомительнее. Это очевидно – Raspberry Pi публикует PDF-файл, посвященный настройке C/C++. Скажем так, для его настройки вам пришлось взаимодействовать с командной строкой.
Ты всегда будешь светить
C составляет около 40 лет и используется до сих пор.
Что это говорит о нем?
Это один из самых динамичных языков, который можно изучать и который можно использовать для создания программного обеспечения и манипулирования оборудованием.
Поэтому, если вы хотите изучать язык, который является чрезвычайно полезным и мощным, C может стать лучшим первым языком для изучения.
Пссс… C и C++ можно использовать на других платах
Я пишу это в 2022 году, когда акции Raspberry Pi являются большой проблемой.
Один из главных вопросов, который задают люди: “Какие существуют альтернативные платы? Я не могу создавать проекты с несуществующей Raspberry Pi”.
Существует множество альтернативных плат, и вы можете ознакомиться с ними здесь.
Если вы изучали C или C++, вы сможете сразу приступить к работе с платой Arduino, ESP32 или ESP8266, программы которых почти полностью написаны на C или C++.
Эти платы могут не принимать Python, поэтому, если причина вашего увлечения Raspberry Pi заключается в создании проектов с микроконтроллерами, вам может подойти язык C или C++.
Изучение языка C или C++ для Raspberry Pi
MagPi бесплатно публикует журнал для начинающих.
MagPi также публикует список мест, где можно изучать язык C (не специфический для Raspberry Pi)
Raspberry Pi публикует PDF, который научит вас использовать C/C++ с Raspberry Pi Pico
Вот драконы
В разделе выше мы рассказали о языках программирования, которые вам следует изучить.
В следующем разделе рассказывается о потенциальных языках, которые также можно использовать с Raspberry Pi, но случаи использования и сообщество не так велико, как при использовании Python, C, C++ и Scratch.
JavaScript (включая NodeJS)
Программа на JavaScript, которая регистрирует данные с датчика температуры/влажности DHT22 на Raspberry Pi (и обслуживает веб-страницу, отображающую данные)JavaScript – один из самых полезных языков для программиста-любителя, поскольку с его помощью можно создавать приложения, веб-сайты (с HTML и CSS и бэкенды).
Одно из самых больших достижений в области JavaScript называется NodeJS. Раньше JavaScript был в основном браузерным, но с NodeJS вы можете запускать бэкэнд и создавать приложения для Raspberry Pi и других компьютеров.
В частности, для Raspberry Pi существуют библиотеки, позволяющие манипулировать контактами GPIO Raspberry Pi. Таким образом, если вы хотите создать простой проект, у вас не будет проблем с запуском программы на JavaScript.
Однако самым большим узким местом в вашем проекте является отсутствие сообщества, в котором пересекаются Raspberry Pi и JavaScript.
Это становится очевидным, когда вы заходите на чей-нибудь Github и неизбежно обнаруживаете, что его проект написан на Python или C, C++. Очень немногие программисты используют JavaScript для Raspberry Pi.
Итак, можно ли списать JavaScript?
Нет, не совсем.
Он все еще имеет свое применение.
Один из вариантов использования, когда простое изучение JavaScript может помочь вам достичь ваших целей, – это использование Raspberry Pi в качестве веб-сервера. Вы можете написать бэкенд на ExpressJS (фреймворк для бэкенда) и фронтенд на React/Angular/Vue (фреймворки для фронтенда), а затем использовать PM2 (менеджер процессов) для доставки бэкенда и фронтенда. В этом сценарии вы можете сделать это полностью на JavaScript.
Raspberry Pi Pico W нуждается в JavaScript
Некоторое время назад на встрече React кто-то дразнил меня за то, что я пишу на ванильном JavaScript. Он дразнил: “Какой сейчас год? 2000-е?”
Если у вас есть Raspberry Pi Pico W, то со временем вам понадобится знать, как написать ванильный JavaScript.
Посмотрите, кто теперь смеется?
Хотя мир веб-разработки перешел к использованию фронтенд-фреймворков, таких как React, Angular или Vue, обслуживание веб-сайтов на Raspberry Pi Pico обычно требует от вас умения писать на ванильном JavaScript. Если вы посмотрите наши учебники в разделе Pico W мега статья, вы увидите.
Ползунок в правом верхнем углу управляет сервоприводом с помощью JavaScriptОдним из самых больших преимуществ Pico W является то, что он позволяет вам обслуживать веб-страницу, которую вы, вероятно, будете использовать для управления чем-либо. Например, Pico W может обслуживать веб-страницу с ползунком, который управляет сервоприводом. Для того чтобы передать значение ползунка на Pico W, вам потребуется знание JavaScript.
Изучайте JavaScript
Я могу порекомендовать только одну веб-страницу, которая оказалась для меня лучшим ресурсом для изучения JavaScript:
https://javascript.info/
Этот ресурс ОЧЕНЬ полезен для пользователей Pico W, потому что он обучает вас всем аспектам ванильного JavaScript, а также событиям браузера. Вам понадобится знание последних, чтобы эффективно управлять Pico W и UX веб-страницы, которую вы будете обслуживать.
HTML + CSS
HTML и CSS на самом деле не являются языками программирования, но они тесно связаны с разделом JavaScript.
- Вы планируете сделать что-то на основе веб-технологий
- Вы планируете обслуживать веб-страницу с помощью Pico W
Изучайте CSS
Этот сайт очень помог мне: Интернет – это сложно
Она немного устарела. Например, в ней нет информации о CSS Grid или соотношении сторон.
Но в программе Interneting is Hard есть эффективный метод обучения, и вы можете научиться достаточному для создания веб-страницы для Pico W.
Недостающие знания можно пополнить с помощью Google, W3Schools или Mozilla Developer Network.
Рекомендации, если вы хотите…
Получайте результаты быстро: Python или Scratch
Научите детей программированию: Царапина
Получите максимальный контроль над своим оборудованием: C или C++
Создавайте проекты аппаратного обеспечения: Python или C или C++, не беспокойтесь ни о чем другом.
Хостинг веб-сервера и создание веб-сайтов: HTML, CSS, JavaScript
Создайте проект IoT с помощью Pico W: Python, HTML, CSS, JavaScript
Стать богоподобным (с неблагородными затратами времени): C или (особенно) C++
Введение в программирование на C и GUI — новая книга от Raspberry Pi Press
Последняя книга от Raspberry Pi Press, Введение в программирование на C и GUI , теперь доступна. Автор Саймон Лонг объясняет, как он был написан…
Learning C
Я очень хорошо помню свой первый день на «правильной» работе. Я только что закончил университет и был рад, что всемирно известная консалтинговая фирма взяла меня на работу инженером-программистом. Мне сказали, что большая часть моей работы будет на языке C, которым я никогда не пользовался, поэтому первым делом нужно было изучить его.
Мой менеджер вручил мне копию книги Kernighan & Ritchie The C Programming Language , указал на терминал в углу и сказал: «Это компилятор». Пошли!’, и оставил меня с этим. Итак, я начал читать книгу, которую большинство инженеров-программистов ласково называют « K&R ».
Я не продвинулся далеко. K&R — это в основном спецификация языка Си. Деннис Ритчи, псевдоним «R», изобрел C, и хотя книга, которую он помог написать, является отличным справочным пособием, она не является хорошим введением для новичка. Как и большинство людей, знающих свой предмет вдоль и поперек, авторы склонны считать, что вы знаете больше, чем на самом деле, поэтому чтение книги, когда вы вообще ничего не знаете о языке, немного расстраивает. Я знаю людей, которые выучили C с K&R, и я им безмерно уважаю!
В конце концов я выучил C на работе по ходу дела; Я смотрел чужой код, собирал вещи вместе, выяснял, почему что-то не работает, просил помощи у коллег, наделал много ошибок и постепенно освоился. Я нашел только одну книгу, которая была полезна для новичка: она называлась C For Yourself и на самом деле была одним из руководств по давно вымершему компилятору Microsoft QuickC. Эту книгу сейчас невозможно найти, поэтому мне всегда приходилось говорить людям, что лучшая книга для изучения C для новичков — это «9».0003 C Для себя, но вы не сможете найти копию!»
Письмо
Введение в программирование на C и GUI обсуждали возможные серии для журнала, и мы подумали о создании руководства по написанию приложений с графическим интерфейсом на C — это то, чем я занимаюсь в своей повседневной работе в Raspberry Pi, поэтому это казалось логичным началом. Мы поняли, что читателю нужно знать C, чтобы извлечь пользу из этой серии, и он не сможет найти копию 9. 0003 C Для себя . Мы решили, что сначала я должен решить эту проблему, поэтому я написал оригинальное руководство для начинающих по серии C для MagPi.(Здесь я должен подчеркнуть, что эта серия предназначена для абсолютных новичков. Я открыто признаю, что упростил части языка, чтобы читателю не приходилось впитывать столько за один раз. Так что да, Я знаю о возврате кода успеха/неудачи из программы, но новичкам действительно не нужно узнавать об этом в первой главе, особенно когда многим никогда не понадобится писать программу, которая это делает. объяснил до главы 9.)
Итак, руководство для начинающих по C появилось первым, и теперь я дошел до написания второй части, которую я планировал написать с самого начала. В разделе, посвященном графическим интерфейсам, описывается, как писать приложения с использованием набора инструментов GTK, который используется для большинства рабочих столов Raspberry Pi и связанных с ним приложений. GTK очень мощен и позволяет писать богатые графические пользовательские интерфейсы с относительно небольшим количеством строк кода, но он не самый интуитивно понятный для начинающих. (Во многом как и сам C!) Книга знакомит вас с основами создания окна, размещения в нем виджетов и заставляет виджеты делать полезные вещи, а также приводит вас к тому моменту, когда вы знаете достаточно, чтобы иметь возможность написать приложение наподобие те, которые я написал для рабочего стола Raspberry Pi.
Тогда показалось логичным объединить две части в одном томе, чтобы у человека, не имеющего опыта работы с C, было достаточно информации, чтобы начать с нуля и начать писать полезные настольные приложения.
Я надеюсь, что мне это удалось — и, по крайней мере, я надеюсь, что написал книгу, которая немного более доступна для начинающих, чем K&R !
Получите
Введение в программирование на C и GUI уже сегодня!Введение в программирование на C и графическом интерфейсе доступен сегодня в интернет-магазине Raspberry Pi Press или для бесплатной загрузки здесь. Вы также можете приобрести копию в магазине Raspberry Pi в Кембридже или спросить в местном книжном магазине, есть ли она в наличии или может ли она быть заказана для вас.
Алекс вмешивается, чтобы констатировать очевидное: По сути, мы говорим здесь о том, что у вас нет причин не читать книгу Саймона. О, и это тоже очень приятно.
Как написать и скомпилировать программу на C в Raspberry Pi 4
Raspberry Pi1 год назад
от Awais Khan
В настоящее время язык программирования C приобретает все большее значение по сравнению с другими языками из-за его простого синтаксиса. Программа, написанная на языке C, может использоваться на самых разных платформах, включая персональные компьютеры, микроконтроллеры и так далее. Другое главное преимущество программирования на C заключается в том, что оно работает почти так же быстро, как код на ассемблере, и вы можете легко управлять мощными машинами с помощью программирования на C.
Если вы являетесь пользователем Raspberry Pi и хотите начать писать код на языке C, вам будет приятно узнать, что вы можете легко кодировать на Raspberry Pi, поскольку вам просто нужно хорошо понимать код и IDE для написания. и скомпилировать код.
Как написать и скомпилировать программу на языке C в Raspberry Pi 4
Здесь, в этой статье, вы узнаете, как писать и скомпилировать программу на языке C в Raspberry Pi 4, и прежде чем приступить к написанию своего первого кода, вам, вероятно, потребуется среда, в которой вы можете легко писать и компилировать свой код.
Geany — одна из наиболее часто используемых платформ пользователями Raspberry Pi, и вы можете писать код на Python, C или C++, и она считается достаточно быстрой IDE, которая может компилировать ваш код в кратчайшие сроки. Geany предустановлен в ОС Raspberry Pi, и вы можете запустить его, перейдя в меню Raspberry Pi и в опции «Программирование», вы увидите «Редактор Geany Programmer’s Editor» и щелкните по нему, и он откроется на ваш рабочий стол Raspberry Pi.
Если вы хотите написать свой первый код на языке C, вам нужно будет выполнить следующие шаги.
Шаг 1: Первое, что вам нужно сделать, это создать исходный файл в текстовом редакторе Geany. Для этого откройте Geany IDE и создайте новый файл, щелкнув параметр, как показано на изображении ниже.
Шаг 2: Когда вы нажмете кнопку «Создать новый файл», на Geany появится окно, в котором вы можете написать свой C-код.
Шаг 3: Теперь вы можете начать писать свой первый базовый код на C, который печатает текст «Добро пожаловать в Linux Hint», и код будет таким, как показано на рисунке ниже.
#include
int main(){
printf («Добро пожаловать в Linux»)
return 0;
}
Шаг 4: Нажмите на опцию «Документ», затем выберите «Установить тип файла» и в «Опции языков программирования» выберите «Исходный файл C». Когда вы это сделаете, вы увидите код, который будет выглядеть так, как показано на изображении ниже.
Шаг 5: После написания приведенного выше кода нажмите «Ctrl+S», чтобы сохранить файл с именем по вашему выбору, создав папку с именем «C-коды» и сохраните файл в ней.
Шаг 6: Теперь выберите опцию «Построить», как показано на изображении ниже, или нажмите кнопку «F9» на клавиатуре.
Вы увидите, что ваш код успешно встроен в компилятор.
Шаг 7: Теперь нажмите «Запустить или просмотреть текущий файл», чтобы запустить код.
Шаг 8: Когда вы нажмете на него, вы увидите диалоговое окно, открытое на вашем экране, где вы увидите свое сообщение «Добро пожаловать в подсказку Linux», которое является вашим необходимым выводом.
Заключение
Язык программирования C прост в написании, изучении и быстр, он предлагает множество библиотек. Raspberry Pi — одно из устройств, которое может запускать и выполнять программы на C очень простым способом. Теперь, когда вы успешно научились писать и компилировать свою программу на C в среде IDE в Raspberry Pi 4, вам следует начать писать свои собственные коды на языке C, потому что это единственный способ стать экспертом в программировании на C, и вы может легко создавать проекты на нем.