Π•Π·ΠΈΠΊ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ Swift Π½Π° Raspberry Pi

Π•Π·ΠΈΠΊ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ Swift Π½Π° Raspberry Pi
Raspberry PI 3 МодСл B+

Π’ Ρ‚ΠΎΠ·ΠΈ ΡƒΡ€ΠΎΠΊ Ρ‰Π΅ Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ основитС Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Swift Π½Π° Raspberry Pi. Raspberry Pi Π΅ малък ΠΈ Π΅Π²Ρ‚ΠΈΠ½ Π΅Π΄Π½ΠΎΠΏΠ»Π°Ρ‚ΠΊΠΎΠ² ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€, Ρ‡ΠΈΠΉΡ‚ΠΎ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π» Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ само ΠΎΡ‚ Π½Π΅Π³ΠΎΠ²ΠΈΡ‚Π΅ изчислитСлни рСсурси. Π’ΠΎΠΉ Π΅ Π΄ΠΎΠ±Ρ€Π΅ ΠΏΠΎΠ·Π½Π°Ρ‚ срСд Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡ‡Π½ΠΈΡ‚Π΅ ΠΌΠ°Π½ΠΈΠ°Ρ†ΠΈ ΠΈ СнтусиаститС β€žΠΠ°ΠΏΡ€Π°Π²ΠΈ си ΡΠ°ΠΌβ€œ. Π’ΠΎΠ²Π° Π΅ страхотно устройство Π·Π° Ρ‚Π΅Π·ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ трябва Π΄Π° СкспСримСнтират с идСя ΠΈΠ»ΠΈ Π΄Π° тСстват ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° концСпция Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°. МоТС Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΡˆΠΈΡ€ΠΎΠΊ ΡΠΏΠ΅ΠΊΡ‚ΡŠΡ€ ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ ΠΈ сС ΠΏΠΎΠ±ΠΈΡ€Π° лСсно ΠΏΠΎΡ‡Ρ‚ΠΈ навсякъдС - Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΌΠΎΠ½Ρ‚ΠΈΡ€Π° Π½Π° ΠΊΠ°ΠΏΠ°ΠΊΠ° Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π° ΠΈ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ°Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅Π½ ΠΏΠ»ΠΎΡ‚ ΠΈΠ»ΠΈ Π΄Π° сС ΡΠ²ΡŠΡ€ΠΆΠ΅ към ΠΌΠ°ΠΊΠ΅Ρ‚Π½Π° ΠΏΠ»Π°Ρ‚ΠΊΠ° Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π΅Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½Π° Π²Π΅Ρ€ΠΈΠ³Π°.

ΠžΡ„ΠΈΡ†ΠΈΠ°Π»Π½ΠΈΡΡ‚ Π΅Π·ΠΈΠΊ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ Π½Π° Malinka Π΅ Python. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ Python Π΅ доста лСсСн Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅, липсва ΠΌΡƒ бСзопасност Π½Π° Ρ‚ΠΈΠΏΠ°, освСн Ρ‚ΠΎΠ²Π° консумира ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΠΌΠ΅Ρ‚. Swift, ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π° страна, ΠΈΠΌΠ° ARC ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° ΠΈ Π΅ ΠΏΠΎΡ‡Ρ‚ΠΈ 8 ΠΏΡŠΡ‚ΠΈ ΠΏΠΎ-Π±ΡŠΡ€Π· ΠΎΡ‚ Python. Π•, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ количСството RAM ΠΈ изчислитСлнитС Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π½Π° процСсора Raspberry Pi са ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π΅Π·ΠΈΠΊ ΠΊΠ°Ρ‚ΠΎ Swift Π²ΠΈ позволява Π΄Π° ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚Π΅ максимално ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»Π° Π½Π° Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€Π° Π½Π° Ρ‚ΠΎΠ·ΠΈ ΠΌΠΈΠ½ΠΈ-ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€.

Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°Π½Π΅ Π½Π° ОБ

ΠŸΡ€Π΅Π΄ΠΈ Π΄Π° инсталиратС Swift, трябва Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π° систСма. Π—Π° Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Ρ‚ΠΎΠ²Π°, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ Π΅Π΄Π½Π° ΠΎΡ‚ ΠΎΠΏΡ†ΠΈΠΈΡ‚Π΅ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π½ΠΈ ΠΎΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ Π½Π° Ρ‚Ρ€Π΅Ρ‚ΠΈ страни. Най-чСсто срСщаният ΠΈΠ·Π±ΠΎΡ€ Π΅ Raspbian, ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»Π½Π°Ρ‚Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π° систСма ΠΎΡ‚ Raspberry Pi. Има няколко ΠΎΠΏΡ†ΠΈΠΈ Π·Π° инсталиранС Π½Π° Raspbian Π½Π° SD ΠΊΠ°Ρ€Ρ‚Π°; Π² нашия случай Ρ‰Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ balenaEtcher. Π•Ρ‚ΠΎ ΠΊΠ°ΠΊΠ²ΠΎ трябва Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅:

Π•Π·ΠΈΠΊ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ Swift Π½Π° Raspberry Pi
Π‘Ρ‚ΡŠΠΏΠΊΠ° Π²Ρ‚ΠΎΡ€Π°: Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€Π°ΠΉΡ‚Π΅ SD ΠΊΠ°Ρ€Ρ‚Π°Ρ‚Π° Π² MS-DOS (FAT)

Π•Π·ΠΈΠΊ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ Swift Π½Π° Raspberry Pi
Π‘Ρ‚ΡŠΠΏΠΊΠ° Ρ‚Ρ€Π΅Ρ‚Π°: ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ balenaEtcher, Π·Π° Π΄Π° ΠΏΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅ Raspbian Π²ΡŠΡ€Ρ…Ρƒ ΠΊΠ°Ρ€Ρ‚Π°Ρ‚Π°

ΠŸΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π²Π°ΠΌΠ΅ Π±Π΅Π·ΠΏΠ»Π°Ρ‚Π΅Π½ ΠΈΠ½Ρ‚Π΅Π½Π·ΠΈΠ²Π΅Π½ курс ΠΏΠΎ машинно ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π·Π° Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‰ΠΈ:
ПишСм ΠΏΡŠΡ€Π²ΠΈΡ ΠΌΠΎΠ΄Π΅Π» Π·Π° машинно ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π·Π° Ρ‚Ρ€ΠΈ Π΄Π½ΠΈ β€” 2-4 сСптСмври. Π‘Π΅Π·ΠΏΠ»Π°Ρ‚Π΅Π½ ΠΈΠ½Ρ‚Π΅Π½Π·ΠΈΠ²Π΅Π½ курс, ΠΊΠΎΠΉΡ‚ΠΎ Π²ΠΈ позволява Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΊΠ°ΠΊΠ²ΠΎ Π΅ машинно ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈ Π΄Π° Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ ΠΊΠ°ΠΊ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈΡ‚Π΅ с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ΠΈ Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚. Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° сС Π½Π°ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ Π΄Π° ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·ΠΈΡ€Π°ΠΌΠ΅ обмСнния курс Π½Π° Π΄ΠΎΠ»Π°Ρ€Π°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ собствСно Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π΅Π½ ΠΌΠΎΠ΄Π΅Π».

Настройка Π½Π° Raspberry Pi

Π’Π΅Ρ‡Π΅ Π½Π° ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π°Ρ‚Π° ΠΏΡŠΡ‚! Π‘Π΅Π³Π° ΠΈΠΌΠ°ΠΌΠ΅ SD ΠΊΠ°Ρ€Ρ‚Π° с ОБ, която Ρ‰Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅, Π½ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма всС ΠΎΡ‰Π΅ Π½Π΅ Π΅ инсталирана. Има Π΄Π²Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π·Π° Ρ‚ΠΎΠ²Π°:

  • Π˜Π·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€, ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π° ΠΈ мишка, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ към устройството.
  • ΠŸΡ€Π°Π²Π΅Ρ‚Π΅ всичко ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€ Ρ‡Ρ€Π΅Π· SSH ΠΈΠ»ΠΈ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° USB ΠΊΠΎΠ½Π·ΠΎΠ»Π΅Π½ ΠΊΠ°Π±Π΅Π».

Ако Ρ‚ΠΎΠ²Π° Π΅ ΠΏΡŠΡ€Π²ΠΈΡΡ‚ Π²ΠΈ ΠΎΠΏΠΈΡ‚ с Pi, ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π²Π°ΠΌ опция β„–1. Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ SD ΠΊΠ°Ρ€Ρ‚Π°Ρ‚Π° Raspbian OS бъдС поставСна Π² Pi, ΡΠ²ΡŠΡ€ΠΆΠ΅Ρ‚Π΅ HDMI ΠΊΠ°Π±Π΅Π»Π°, ΠΌΠΈΡˆΠΊΠ°Ρ‚Π°, ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°Ρ‚Π° ΠΈ захранващия ΠΊΠ°Π±Π΅Π».

Pi трябва Π΄Π° стартира, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½. ЧСстито! Π‘Π΅Π³Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€Π΅ΠΊΠ°Ρ€Π°Ρ‚Π΅ извСстно Π²Ρ€Π΅ΠΌΠ΅ Π² ΠΈΠ·ΡƒΡ‡Π°Π²Π°Π½Π΅ Π½Π° работния ΠΏΠ»ΠΎΡ‚ ΠΈ Π½Π΅Π³ΠΎΠ²ΠΈΡ‚Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ.

Π•Π·ΠΈΠΊ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ Swift Π½Π° Raspberry Pi

Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°Π½Π΅ Π½Π° Swift

Π—Π° Π΄Π° инсталиратС Swift Π½Π° Raspberry, трябва Π΄Π° Π³ΠΎ ΡΠ²ΡŠΡ€ΠΆΠ΅Ρ‚Π΅ към ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ (Ρ‡Ρ€Π΅Π· Ethernet ΠΈΠ»ΠΈ WiFi, Π² зависимост ΠΎΡ‚ ΠΌΠΎΠ΄Π΅Π»Π° Π½Π° ΠΏΠ»Π°Ρ‚ΠΊΠ°Ρ‚Π°). Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ сС ΡΠ²ΡŠΡ€ΠΆΠ΅Ρ‚Π΅ с ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅ Π΄Π° инсталиратС Swift.

МоТС Π΄Π° станС ΠΏΠΎ Π΄Π²Π° Π½Π°Ρ‡ΠΈΠ½Π°. ΠΏΡŠΡ€Π²ΠΎ - създаванС Π½Π° ваша собствСна компилация Π½Π° Swift, Π²Ρ‚ΠΎΡ€ΠΎΡ‚ΠΎ Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Π²Π΅Ρ‡Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½ΠΈ Π΄Π²ΠΎΠΈΡ‡Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅. Π“ΠΎΡ€Π΅Ρ‰ΠΎ ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π²Π°ΠΌ втория ΠΌΠ΅Ρ‚ΠΎΠ΄, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΠΏΡŠΡ€Π²ΠΈΡΡ‚ Ρ‰Π΅ изисква няколко Π΄Π½ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ°. Вторият ΠΌΠ΅Ρ‚ΠΎΠ΄ сС появи Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° Π³Ρ€ΡƒΠΏΠ°Ρ‚Π° Swift-ARM. Вя ΠΏΡ€ΠΈΡ‚Π΅ΠΆΠ°Π²Π° Ρ€Π΅ΠΏΠΎ, ΠΎΡ‚ ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° инсталиратС Swift с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° apt (Advanced Package TΠ˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»Π½Π°Ρ‚Π°).

Π’ΠΎΠ²Π° Π΅ инструмСнт Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄Π΅Π½ Ρ€Π΅Π΄, Π½Π΅Ρ‰ΠΎ ΠΊΠ°Ρ‚ΠΎ App Store Π·Π° прилоТСния ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ Π·Π° устройства с Linux. Π—Π°ΠΏΠΎΡ‡Π²Π°ΠΌΠ΅ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈΠΌ с apt, ΠΊΠ°Ρ‚ΠΎ Π²ΡŠΠ²Π΅Π΄Π΅Ρ‚Π΅ apt-get Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°. Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° трябва Π΄Π° Π·Π°Π΄Π°Π΄Π΅Ρ‚Π΅ Ρ€Π΅Π΄ΠΈΡ†Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Ρ‰Π΅ изяснят ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Π½Π°Ρ‚Π° Π·Π°Π΄Π°Ρ‡Π°. Π’ нашия случай трябва Π΄Π° инсталирамС Swift 5.0.2. Π‘ΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΈΡ‚Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Π½Π°ΠΌΠ΅Ρ€ΠΈ Ρ‚ΡƒΠΊ.

Π•, Π΄Π° Π·Π°ΠΏΠΎΡ‡Π²Π°ΠΌΠ΅. Π‘Π΅Π³Π°, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π·Π½Π°Π΅ΠΌ, Ρ‡Π΅ Ρ‰Π΅ инсталирамС Swift с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° apt, трябва Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Ρ€Π΅ΠΏΠΎΡ‚ΠΎ към списъка с Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°.

ДобавянС/инсталиранС Π½Π° Ρ€Π΅ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π±ΡŠΡ€Π·Π° Ρ€ΡŠΠΊΠ° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Ρ‚Π°ΠΊΠ°:

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 Π²Π΅Ρ‡Π΅ Π΅ инсталиран Π½Π° нашия Raspberry.

БъздаванС Π½Π° тСстов ΠΏΡ€ΠΎΠ΅ΠΊΡ‚

Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° 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

Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ компилацията ΠΏΡ€ΠΈΠΊΠ»ΡŽΡ‡ΠΈ, Ρ‰Π΅ Π²ΠΈΠ΄ΠΈΠΌ Ρ„Ρ€Π°Π·Π°Ρ‚Π° β€žΠ—Π΄Ρ€Π°Π²Π΅ΠΉ, свят!β€œ Π½Π° командния Ρ€Π΅Π΄.

Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ ΡΡŠΠ·Π΄Π°Π΄ΠΎΡ…ΠΌΠ΅ ΠΏΡŠΡ€Π²Π°Ρ‚Π° си ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° Pi, Π½Π΅ΠΊΠ° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΠΌ няколко Π½Π΅Ρ‰Π°. Π’ дирСкторията MyFirstProject Π½Π΅ΠΊΠ° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ във Ρ„Π°ΠΉΠ»Π° main.swift. Π’ΠΎΠΉ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° ΠΊΠΎΠ΄Π°, ΠΊΠΎΠΉΡ‚ΠΎ сС изпълнява, ΠΊΠΎΠ³Π°Ρ‚ΠΎ стартирамС ΠΏΠ°ΠΊΠ΅Ρ‚Π° с ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° swift run.

ΠŸΡ€ΠΎΠΌΠ΅Π½Π΅Ρ‚Π΅ дирСкторията Π½Π° Sources/MyFirstProject.

cd Sources/MyFirstProject 

Π•Π·ΠΈΠΊ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ Swift Π½Π° Raspberry Pi

Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ»Π° main.swift с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° вградСния Π½Π°Π½ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€.

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!

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

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€