Π―Π·Ρ‹ΠΊ программирования Swift Π½Π° Raspberry Pi

Π―Π·Ρ‹ΠΊ программирования 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. Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ:

Π―Π·Ρ‹ΠΊ программирования Swift Π½Π° Raspberry Pi
Π¨Π°Π³ Π²Ρ‚ΠΎΡ€ΠΎΠΉ: Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ SD-ΠΊΠ°Ρ€Ρ‚Ρƒ Π² MS-DOS (FAT)

Π―Π·Ρ‹ΠΊ программирования Swift Π½Π° Raspberry Pi
Π¨Π°Π³ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ: ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ balenaEtcher для Π·Π°Π»ΠΈΠ²ΠΊΠΈ Raspbian Π½Π° ΠΊΠ°Ρ€Ρ‚Ρƒ

Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ бСсплатный интСнсив ΠΏΠΎ ΠΌΠ°ΡˆΠΈΠ½Π½ΠΎΠΌΡƒ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΡŽ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…:
ПишСм ΠΏΠ΅Ρ€Π²ΡƒΡŽ модСль машинного обучСния Π·Π° Ρ‚Ρ€ΠΈ дня β€” 2-4 сСнтября. БСсплатный интСнсив, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Machine Learning ΠΈ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈΠ· ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°. Π’Π°ΠΊΠΆΠ΅ учимся ΠΏΡ€Π΅Π΄ΡΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ курс Π΄ΠΎΠ»Π»Π°Ρ€Π° ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ.

Настройка Raspberry Pi

ΠŸΠΎΠ»ΠΏΡƒΡ‚ΠΈ ΡƒΠΆΠ΅ ΠΏΡ€ΠΎΠΉΠ΄Π΅Π½ΠΎ! Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ нас Π΅ΡΡ‚ΡŒ SD-ΠΊΠ°Ρ€Ρ‚Π° с ОБ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Π½ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму Π΅Ρ‰Π΅ прСдстоит ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ. Для этого Π΅ΡΡ‚ΡŒ Π΄Π²Π΅ возмоТности:

  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΊ устройству ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€, ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρƒ ΠΈ ΠΌΡ‹ΡˆΡŒ.
  • Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ всС с Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ПК ΠΏΠΎ SSH ΠΈΠ»ΠΈ с использованиСм кабСля USB Console.

Если это ваш ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΎΠΏΡ‹Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Pi, Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΎΠΏΡ†ΠΈΡŽ β„–1. ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ SD-ΠΊΠ°Ρ€Ρ‚Π° с Raspbian OS вставлСна Π² Pi, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ HDMI-кабСль, ΠΌΡ‹ΡˆΡŒ, ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρƒ ΠΈ кабСль питания.

Pi Π΄ΠΎΠ»ΠΆΠ½Π° Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ. ΠŸΠΎΠ·Π΄Ρ€Π°Π²Π»ΡΡŽ! Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ своСго дСсктопа ΠΈ Π΅Π³ΠΎ возмоТностСй.

Π―Π·Ρ‹ΠΊ программирования Swift Π½Π° Raspberry 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 Π½Π° Raspberry Pi

Π”Π°Π»Π΅Π΅ устанавливаСм Swift ΠΈΠ· Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ€Π΅ΠΏΠΎ:

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

Π―Π·Ρ‹ΠΊ программирования Swift Π½Π° Raspberry Pi

Π’ΠΎΡ‚ ΠΈ всС! Π’Π΅ΠΏΠ΅Ρ€ΡŒ Swift установлСн Π½Π° нашСй Β«ΠΌΠ°Π»ΠΈΠ½ΠΊΠ΅Β».

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ тСстового ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Swift REPL Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π½ΠΎ всС ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅ β€” Π΄Π°. Для тСста Π΄Π°Π²Π°ΠΉΡ‚Π΅ создадим Swift-ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Swift Package Manager.

Π‘Π½Π°Ρ‡Π°Π»Π° создаСм Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ с ΠΈΠΌΠ΅Π½Π΅ΠΌ MyFirstProject.

mkdir MyFirstProject

Π―Π·Ρ‹ΠΊ программирования Swift Π½Π° Raspberry Pi

Π”Π°Π»Π΅Π΅ измСняСм Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ Π½Π° ΡΠ²Π΅ΠΆΠ΅ΡΠΎΠ·Π΄Π°Π½Π½ΡƒΡŽ MyFirstProject.

cd MyFirstProject

Π―Π·Ρ‹ΠΊ программирования Swift Π½Π° Raspberry Pi

Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²Ρ‹ΠΉ исполняСмый ΠΏΠ°ΠΊΠ΅Ρ‚ Swift.

swift package init --type=executable

Π―Π·Ρ‹ΠΊ программирования Swift Π½Π° Raspberry Pi

Π­Ρ‚ΠΈ Ρ‚Ρ€ΠΈ строки ΡΠΎΠ·Π΄Π°ΡŽΡ‚ пустой ΠΏΠ°ΠΊΠ΅Ρ‚ Swift, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ называСтся MyFirstProject. Для Π΅Π³ΠΎ запуска Π²Π±ΠΈΠ²Π°Π΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ swift run.

Π―Π·Ρ‹ΠΊ программирования Swift Π½Π° Raspberry Pi

Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΎ, ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ Ρ„Ρ€Π°Π·Ρƒ Β«Hello, world!Β» Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС.

ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΌΡ‹ создали ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Pi, Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΊΠΎΠ΅ Ρ‡Ρ‚ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ. Π’ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ MyFirstProject внСсСм измСнСния Π² Ρ„Π°ΠΉΠ» main.swift. Π’ Π½Π΅ΠΌ содСрТится ΠΊΠΎΠ΄, ΠΈΡΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΉΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ запускаСм ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ swift run.

МСняСм Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ Π½Π° Sources/MyFirstProject.

cd Sources/MyFirstProject 

Π―Π·Ρ‹ΠΊ программирования Swift Π½Π° Raspberry Pi

Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌ Ρ„Π°ΠΉΠ» main.swift, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ встроСнный nano-Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€.

nano main.swift

Π―Π·Ρ‹ΠΊ программирования Swift Π½Π° Raspberry Pi

Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚, Π²Ρ‹ смоТСтС ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊΠΎΠ΄ своСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π”Π°Π²Π°ΠΉΡ‚Π΅ Π·Π°ΠΌΠ΅Π½ΠΈΠΌ содСрТимоС Ρ„Π°ΠΉΠ»Π° main.swift Π²ΠΎΡ‚ этим:

Π―Π·Ρ‹ΠΊ программирования Swift Π½Π° Raspberry Pi

print("Hello, Marc!")

РазумССтся, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ своС имя. Для сохранСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ дСйствия:

  • CTRL+X для сохранСния Ρ„Π°ΠΉΠ»Π°.
  • ΠŸΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅ΠΌ измСнСния Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ Β«YΒ».
  • ΠŸΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅ΠΌ внСсСниС измСнСния Π² Ρ„Π°ΠΉΠ» main.swift Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ Enter.

Π―Π·Ρ‹ΠΊ программирования Swift Π½Π° Raspberry Pi

Π―Π·Ρ‹ΠΊ программирования Swift Π½Π° Raspberry Pi

ВсС измСнСния внСсСны, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ самоС врСмя ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ.

swift run

Π―Π·Ρ‹ΠΊ программирования Swift Π½Π° Raspberry Pi

ΠŸΠΎΠ·Π΄Ρ€Π°Π²Π»ΡΡŽ! Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ΄ скомпилирован, Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡƒΡŽ строку.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Swift установлСн, Π²Π°ΠΌ Π΅ΡΡ‚ΡŒ Ρ‡Π΅ΠΌ Π·Π°Π½ΡΡ‚ΡŒΡΡ. Π’Π°ΠΊ, для управлСния ΠΆΠ΅Π»Π΅Π·ΠΎΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, свСтодиодами, сСрвоприводами, Ρ€Π΅Π»Π΅, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ Β«ΠΆΠ΅Π»Π΅Π·Π½Ρ‹Ρ…Β» ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² для ΠΏΠ»Π°Ρ‚ Linux/ARM, которая называСтся SwiftyGPIO.

Π£Π΄Π°Ρ‡ΠΈ Π² экспСримСнтах со Swift Π½Π° Raspberry Pi!

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com