Язык программирования Swift на Raspberry Pi

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.


Raspberry PI 3 Model B+

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

Официальный язык программирования «малинки» — Python. Хотя Python достаточно прост в использовании, ему не хватает типобезопасности, плюс он потребляет много памяти. Swift, напротив, имеет ARC-управление памятью и почти в 8 раз быстрее Python. Ну а поскольку объем ОЗУ и вычислительные возможности процессора Raspberry Pi ограничены, использование языка вроде Swift позволяет максимально использовать потенциал железа этого мини-ПК.

Установка ОС


Прежде чем устанавливать Swift, нужно выбрать ОС. Для этого можно воспользоваться одним из вариантов, предлагаемых сторонними разработчиками. Наиболее обычный выбор — Raspbian, официальная ОС от Raspberry Pi. Есть несколько возможностей установить Raspbian на SD-карту; в нашем случае мы воспользуемся balenaEtcher. Вот что нужно делать:

  • Загружаем последнюю версию Raspbian OS отсюда.
  • Форматируем SD-карту в FAT при помощи Disk Utility.
  • Используем balenaEtcher для заливки на отформатированную карту.


Шаг второй: форматируем SD-карту в MS-DOS (FAT)


Шаг третий: используем balenaEtcher для заливки Raspbian на карту

Рекомендуем бесплатный интенсив по машинному обучению для начинающих:
Пишем первую модель машинного обучения за три дня — 2-4 сентября. Бесплатный интенсив, который позволяет разобраться в том, что такое Machine Learning и научиться работать с открытыми данными из интернета. Также учимся предсказывать курс доллара при помощи самостоятельно разработанной модели.

Настройка Raspberry Pi


Полпути уже пройдено! Теперь у нас есть SD-карта с ОС, которую мы будем использовать, но операционную систему еще предстоит установить. Для этого есть две возможности:

  • Использовать подключенные к устройству монитор, клавиатуру и мышь.
  • Сделать все с другого ПК по SSH или с использованием кабеля USB Console.

Если это ваш первый опыт работы с Pi, рекомендую опцию №1. После того как SD-карта с Raspbian OS вставлена в Pi, подключите HDMI-кабель, мышь, клавиатуру и кабель питания.

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



Установка Swift


Для того чтобы установить Swift на «малинку», нужно подключить ее к интернету (при помощи Ethernet или WiFi, в зависимости от модели платы). Как только интернет подключен, можно начинать установку Swift.

Ее можно выполнить двумя способами. Первый — самостоятельное создание билда Swift, второй — использовать уже скомпилированные бинарники. Я настойчиво рекомендую второй способ, поскольку первый потребует нескольких дней подготовки. Второй способ появился благодаря группе Swift-ARM. Ей принадлежит репо, с которого можно установить Swift, используя apt (Advanced Package Tool).

Это инструмент командной строки, нечто вроде App Store для приложений и пакетов для устройств с Linux. Работу с apt начинаем, введя в терминале apt-get. Далее нужно указать ряд команд, которые уточнят выполняемую задачу. В нашем случае требуется установить Swift 5.0.2. Соответствующие пакеты можно найти здесь.

Что ж, начнем. Теперь, когда мы знаем, что будем устанавливать Swift при помощи apt, нужно добавить репо в список репозиториев.

Команда добавления/установки репо swift-arm выглядит так:

curl -s <https://packagecloud.io/install/repositories/swift-arm/release/script.deb.sh> | sudo bash



Далее устанавливаем Swift из добавленного репо:

sudo apt-get install swift5=5.0.2-v0.4



Вот и все! Теперь Swift установлен на нашей «малинке».

Создание тестового проекта


На данный момент Swift REPL не работает, но все остальное — да. Для теста давайте создадим Swift-пакет при помощи Swift Package Manager.

Сначала создаем директорию с именем MyFirstProject.

mkdir MyFirstProject



Далее изменяем текущую рабочую директорию на свежесозданную MyFirstProject.

cd MyFirstProject



Создаем новый исполняемый пакет Swift.

swift package init --type=executable



Эти три строки создают пустой пакет Swift, который называется MyFirstProject. Для его запуска вбиваем команду swift run.



Как только компилирование завершено, мы увидим фразу «Hello, world!» в командной строке.

После того как мы создали первую программу на Pi, давайте кое что изменим. В директории MyFirstProject внесем изменения в файл main.swift. В нем содержится код, исполняющийся, когда мы запускаем пакет командой swift run.

Меняем директорию на Sources/MyFirstProject.

cd Sources/MyFirstProject 



Редактируем файл main.swift, используя встроенный nano-редактор.

nano main.swift



Как только редактор открыт, вы сможете изменять код своей программы. Давайте заменим содержимое файла main.swift вот этим:



print("Hello, Marc!")

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

  • CTRL+X для сохранения файла.
  • Подтверждаем изменения нажатием «Y».
  • Подтверждаем внесение изменения в файл main.swift нажатием Enter.





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

swift run



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

Теперь, когда Swift установлен, вам есть чем заняться. Так, для управления железом, например, светодиодами, сервоприводами, реле, вы можете воспользоваться библиотекой «железных» проектов для плат Linux/ARM, которая называется SwiftyGPIO.

Удачи в экспериментах со Swift на Raspberry Pi!
Источник: https://habr.com/ru/company/skillbox/blog/465493/

Интересные статьи

Интересные статьи

Мне было необходимо делать 2 раза в сутки бэкап сайта на «1С-Битрикс: Управление сайтом» (файлов и базы mysql) и хранить историю изменений за 90 дней. Сайт расположен на VDS под уп...
В этой статье мы расскажем, как мы переводили локализацию мобильных проектов в Smartcat, какие изначально у нас были боли и как мы с ними справились. Кто мы Привет всем! Мы — Екатерина Гали...
«Существует только два вида языков: те, на которые жалуются и те, которыми никто не пользуется», — Бьёрн Страуструп, создатель C++ Очень часто слышатся заявления о том, что JavaScript нужно за...
История сегодня пойдёт про автосервис в Москве и его продвижении в течении 8 месяцев. Первое знакомство было ещё пару лет назад при странных обстоятельствах. Пришёл автосервис за заявками,...
Больше года назад стало известно о планах мессенджера Telegram выпустить собственную децентрализованную сеть Telegram Open Network. Тогда стал доступен объемный технический документ, который, пре...