เบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบก Swift เปƒเบ™ Raspberry Pi

เบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบก Swift เปƒเบ™ Raspberry Pi
Raspberry PI 3 Model B+

เปƒเบ™เบšเบปเบ”เปเบ™เบฐ เบ™เบณ เบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเป„เบ›เป€เบ–เบดเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡เบเบฒเบ™เปƒเบŠเป‰ Swift เปƒเบ™ Raspberry Pi. Raspberry Pi เป€เบ›เบฑเบ™เบ„เบญเบกเบžเบดเบงเป€เบ•เบตเบเบฐเบ”เบฒเบ™เบ”เปˆเบฝเบงเบ‚เบฐเปœเบฒเบ”เบ™เป‰เบญเบ เปเบฅเบฐเบฅเบฒเบ„เบฒเบšเปเปˆเปเบžเบ‡ เป€เบŠเบดเปˆเบ‡เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบ–เบทเบเบˆเบณเบเบฑเบ”เป‚เบ”เบเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ„เบญเบกเบžเบดเบงเป€เบ•เบตเบ‚เบญเบ‡เบกเบฑเบ™เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™. เบกเบฑเบ™เป€เบ›เบฑเบ™เบ—เบตเปˆเบฎเบนเป‰เบˆเบฑเบเบเบฑเบ™เบ”เบตเปƒเบ™เบšเบฑเบ™เบ”เบฒเบ™เบฑเบเป€เบ—เบฑเบเป‚เบ™เป‚เบฅเบเบต เปเบฅเบฐเบœเบนเป‰เบ—เบตเปˆเบกเบฑเบเป€เบฎเบฑเบ” DIY. เบ™เบตเป‰เปเบกเปˆเบ™เบญเบธเบ›เบฐเบเบญเบ™เบ—เบตเปˆเบ”เบตเบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบ—เบปเบ”เบฅเบญเบ‡เบ„เบงเบฒเบกเบ„เบดเบ”เบซเบผเบทเบ—เบปเบ”เบชเบญเบšเปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เบ—เบตเปˆเปเบ™เปˆเบ™เบญเบ™เปƒเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”. เบกเบฑเบ™เบชเบฒเบกเบฒเบ”เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เบชเปเบฒเบฅเบฑเบšเป‚เบ„เบ‡เบเบฒเบ™เบ—เบตเปˆเบเบงเป‰เบฒเบ‡เบ‚เบงเบฒเบ‡, เปเบฅเบฐเป€เบซเบกเบฒเบฐเบเบฑเบšเป€เบเบทเบญเบšเบ—เบธเบเบšเปˆเบญเบ™ - เบ•เบปเบงเบขเปˆเบฒเบ‡, เบกเบฑเบ™เบชเบฒเบกเบฒเบ”เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบขเบนเปˆเป€เบ—เบดเบ‡เบเบฒเบˆเปเบชเบฐเปเบ”เบ‡เบœเบปเบ™เปเบฅเบฐเปƒเบŠเป‰เป€เบ›เบฑเบ™ desktop, เบซเบผเบทเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบš breadboard เป€เบžเบทเปˆเบญเบ„เบงเบšเบ„เบธเบกเบงเบปเบ‡เบˆเบญเบ™เป€เบญเป€เบฅเบฑเบเป‚เบ•เบฃเบ™เบดเบ.

เบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบผเปเบเบผเบกเบขเปˆเบฒเบ‡เป€เบ›เบฑเบ™เบ—เบฒเบ‡เบเบฒเบ™เบ‚เบญเบ‡ Malinka เปเบกเปˆเบ™ Python. เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒ Python เปเบกเปˆเบ™เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบ‡เปˆเบฒเบเบ—เบตเปˆเบˆเบฐเปƒเบŠเป‰, เบกเบฑเบ™เบ‚เบฒเบ”เบ„เบงเบฒเบกเบ›เบญเบ”เป„เบžเบ‚เบญเบ‡เบ›เบฐเป€เบžเบ”, เบšเบงเบเบเบฑเบšเบกเบฑเบ™เปƒเบŠเป‰เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบซเบผเบฒเบ. เปƒเบ™เบ—เบฒเบ‡เบเบปเบ‡เบเบฑเบ™เบ‚เป‰เบฒเบก, Swift เบกเบตเบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒ ARC เปเบฅเบฐเป„เบงเบเบงเปˆเบฒ Python เป€เบเบทเบญเบš 8 เป€เบ—เบปเปˆเบฒ. เบ”เบต, เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบˆเปเบฒเบ™เบงเบ™ RAM เปเบฅเบฐเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบ‚เบญเบ‡เบ„เบญเบกเบžเบดเบงเป€เบ•เบตเป‰เบ‚เบญเบ‡เป‚เบ›เป€เบŠเบ”เป€เบŠเบต Raspberry Pi เปเบกเปˆเบ™เบกเบตเบˆเปเบฒเบเบฑเบ”, เบเบฒเบ™เปƒเบŠเป‰เบžเบฒเบชเบฒเป€เบŠเบฑเปˆเบ™ Swift เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบžเบตเปˆเบกเบ—เปˆเบฒเปเบฎเบ‡เบ‚เบญเบ‡เบฎเบฒเบ”เปเบงเบ‚เบญเบ‡ mini-PC เบ™เบตเป‰.

เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡ OS

เบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเบ•เบดเบ”เบ•เบฑเป‰เบ‡ Swift, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป€เบฅเบทเบญเบ OS. เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบชเบดเปˆเบ‡เบ™เบตเป‰, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เป„เบ”เป‰ เปƒเบŠเป‰เบซเบ™เบถเปˆเบ‡เปƒเบ™เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบชเบฐเป€เบซเบ™เบตเป‚เบ”เบเบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเบžเบฒเบเบชเปˆเบงเบ™เบ—เบตเบชเบฒเบก. เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบปเปˆเบงเป„เบ›เบ—เบตเปˆเบชเบธเบ”เปเบกเปˆเบ™ Raspbian, OS เบขเปˆเบฒเบ‡เป€เบ›เบฑเบ™เบ—เบฒเบ‡เบเบฒเบ™เบˆเบฒเบ Raspberry Pi. เบกเบตเบซเบผเบฒเบเบ—เบฒเบ‡เป€เบฅเบทเบญเบเปƒเบ™เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡ Raspbian เปƒเบ™ SD card; เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเปƒเบŠเป‰ balenaEtcher. เบ™เบตเป‰เปเบกเปˆเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเบ•เป‰เบญเบ‡เป€เบฎเบฑเบ”:

เบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบก Swift เปƒเบ™ Raspberry Pi
เบ‚เบฑเป‰เบ™โ€‹เบ•เบญเบ™โ€‹เบ—เบตโ€‹เบชเบญเบ‡โ€‹: เบเบฒเบ™โ€‹เบˆเบฑเบ”โ€‹เบฎเบนเบšโ€‹เปเบšเบšโ€‹เบšเบฑเบ” SD เปƒเบ™ MS-DOS (FATโ€‹)

เบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบก Swift เปƒเบ™ Raspberry Pi
เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ—เบตเบชเบฒเบก: เปƒเบŠเป‰ balenaEtcher เป€เบžเบทเปˆเบญเบ•เบทเปˆเบก Raspbian เปƒเบชเปˆเบšเบฑเบ”

เบžเบงเบเป€เบฎเบปเบฒเบ‚เปเปเบ™เบฐเบ™เบณเบซเบผเบฑเบเบชเบนเบ”เบ—เบตเปˆเป€เบ‚เบฑเป‰เบกเบ‡เบงเบ”เบŸเบฃเบตเบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบฎเบฝเบ™เบฎเบนเป‰เป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบเบชเบณเบฅเบฑเบšเบœเบนเป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™:
เบžเบงเบเป€เบฎเบปเบฒเบ‚เบฝเบ™เปเบšเบšเบˆเปเบฒเบฅเบญเบ‡เบเบฒเบ™เบฎเบฝเบ™เบฎเบนเป‰เป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบเบ—เปเบฒเบญเบดเบ”เปƒเบ™เบชเบฒเบกเบกเบทเป‰ โ€” เบงเบฑเบ™เบ—เบต 2-4 เบเบฑเบ™เบเบฒ. เบซเบผเบฑเบเบชเบนเบ”เป€เบฅเบฑเปˆเบ‡เบฅเบฑเบ”เบŸเบฃเบตเบ—เบตเปˆเบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เป€เบ‚เบปเป‰เบฒเปƒเบˆเบชเบดเปˆเบ‡เบ—เบตเปˆ Machine Learning เปเบกเปˆเบ™เบซเบเบฑเบ‡ เปเบฅเบฐเบฎเบฝเบ™เบฎเบนเป‰เบงเบดเบ—เบตเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบ‚เปเป‰เบกเบนเบ™เป€เบ›เบตเบ”เบˆเบฒเบเบญเบดเบ™เป€เบ•เบตเป€เบ™เบฑเบ”. เบžเบงเบเป€เบฎเบปเบฒเบเบฑเบ‡เบฎเบฝเบ™เบฎเบนเป‰เบ—เบตเปˆเบˆเบฐเบ„เบฒเบ”เบ„เบฐเป€เบ™เบญเบฑเบ”เบ•เบฒเปเบฅเบเบ›เปˆเบฝเบ™เป€เบ‡เบดเบ™เป‚เบ”เบฅเบฒเป‚เบ”เบเปƒเบŠเป‰เบ•เบปเบงเปเบšเบšเบ—เบตเปˆเบžเบฑเบ”เบ—เบฐเบ™เบฒเบ•เบปเบ™เป€เบญเบ‡.

เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡ Raspberry Pi

เบฎเบญเบ”เป€เบ„เบดเปˆเบ‡เบ—เบฒเบ‡เปเบฅเป‰เบง! เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบžเบงเบเป€เบฎเบปเบฒเบกเบต SD card เบเบฑเบš OS เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเปƒเบŠเป‰, เปเบ•เปˆเบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบเบฑเบ‡เบšเปเปˆเบ—เบฑเบ™เป„เบ”เป‰เบ•เบดเบ”เบ•เบฑเป‰เบ‡. เบกเบตเบชเบญเบ‡เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เบตเป‰:

  • เปƒเบŠเป‰เบˆเปเบžเบฒเบš, เปเบ›เป‰เบ™เบžเบดเบก เปเบฅเบฐเป€เบกเบปเบฒเบชเปŒเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเบญเบธเบ›เบฐเบเบญเบ™.
  • เป€เบฎเบฑเบ”เบ—เบธเบเบขเปˆเบฒเบ‡เบˆเบฒเบ PC เบญเบทเปˆเบ™เบœเปˆเบฒเบ™ SSH เบซเบผเบทเปƒเบŠเป‰เบชเบฒเบ USB Console.

เบ–เป‰เบฒเบ™เบตเป‰เปเบกเปˆเบ™เบ›เบฐเบชเบปเบšเบเบฒเบ™เบ—เปเบฒเบญเบดเบ”เบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒเบเบฑเบš Pi, เบ‚เป‰เบญเบเบ‚เปเปเบ™เบฐเบ™เปเบฒเบ—เบฒเบ‡เป€เบฅเบทเบญเบ #1. เป€เบกเบทเปˆเบญเปเบœเปˆเบ™ SD Raspbian OS เบ–เบทเบเปƒเบชเปˆเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™ Pi, เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบชเบฒเบ HDMI, เป€เบกเบปเป‰เบฒ, เปเบ›เป‰เบ™เบžเบดเบก, เปเบฅเบฐเบชเบฒเบเป„เบŸ.

Pi เบ„เบงเบ™เบšเบนเบ”เป€เบกเบทเปˆเบญเป€เบ›เบตเบ”. เบŠเบปเบกเป€เบŠเบตเบ! เบ•เบญเบ™เบ™เบตเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป€เบงเบฅเบฒเป€เบฅเบฑเบเบ™เป‰เบญเบเป€เบžเบทเปˆเบญเบฎเบฝเบ™เบฎเบนเป‰เบเปˆเบฝเบงเบเบฑเบš desktop เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เปเบฅเบฐเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบ‚เบญเบ‡เบกเบฑเบ™.

เบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบก Swift เปƒเบ™ Raspberry Pi

เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡ Swift

เป€เบžเบทเปˆเบญเบ•เบดเบ”เบ•เบฑเป‰เบ‡ Swift เปƒเบ™ Raspberry, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบกเบฑเบ™เบเบฑเบšเบญเบดเบ™เป€เบ•เบตเป€เบ™เบฑเบ” (เปƒเบŠเป‰ Ethernet เบซเบผเบท WiFi, เบ‚เบถเป‰เบ™เบเบฑเบšเบฎเบนเบšเปเบšเบšเบเบฐเบ”เบฒเบ™). เป€เบกเบทเปˆเบญเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบญเบดเบ™เป€เบ•เบตเป€เบ™เบฑเบ”เปเบฅเป‰เบง, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบฅเบตเปˆเบกเบ•เบดเบ”เบ•เบฑเป‰เบ‡ Swift เป„เบ”เป‰.

เบกเบฑเบ™เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เป„เบ”เป‰เปƒเบ™เบชเบญเบ‡เบงเบดเบ—เบต. เบ—เปเบฒเบญเบดเบ” - เบชเป‰เบฒเบ‡ Swift build เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เป€เบญเบ‡, เบญเบฑเบ™เบ—เบตเบชเบญเบ‡เปเบกเปˆเบ™เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ binaries เบ—เบตเปˆเบฅเบงเบšเบฅเบงเบกเปเบฅเป‰เบง. เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบ‚เปเปเบ™เบฐเบ™เปเบฒเบงเบดเบ—เบตเบเบฒเบ™เบ—เบตเบชเบญเบ‡เบขเปˆเบฒเบ‡เปเบ‚เบ‡เปเบฎเบ‡, เป€เบžเบฒเบฐเบงเปˆเบฒเบ„เบฑเป‰เบ‡เบ—เปเบฒเบญเบดเบ”เบˆเบฐเบ•เป‰เบญเบ‡เบกเบตเบเบฒเบ™เบเบฐเบเบฝเบกเบซเบผเบฒเบเบกเบทเป‰. เบงเบดเบ—เบตเบเบฒเบ™เบ—เบตเบชเบญเบ‡เบ›เบฐเบเบปเบ”เบงเปˆเบฒเบ‚เปเบ‚เบญเบšเปƒเบˆเบเบฑเบšเบเบธเปˆเบก Swift-ARM. เบ™เบฒเบ‡เป€เบ›เบฑเบ™เป€เบˆเบปเป‰เบฒเบ‚เบญเบ‡ repo เบˆเบฒเบเบ—เบตเปˆเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ•เบดเบ”เบ•เบฑเป‰เบ‡ Swift เป‚เบ”เบเปƒเบŠเป‰ apt (Aเบ‚เบฐเบซเบเบฒเบ Package Tเบญเบญเบฅ).

เบกเบฑเบ™โ€‹เป€เบ›เบฑเบ™โ€‹เป€เบ„เบทเปˆเบญเบ‡โ€‹เบกเบทโ€‹เบšเบฑเบ™โ€‹เบŠเบตโ€‹เบ„เปเบฒโ€‹เบชเบฑเปˆเบ‡โ€‹เป€เบŠเบฑเปˆเบ™โ€‹: App Store เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบดเบ”โ€‹เปเบฅเบฐโ€‹เบเบฒเบ™โ€‹เบซเบธเป‰เบกโ€‹เบซเปเปˆโ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบญเบธโ€‹เบ›เบฐโ€‹เบเบญเบ™ Linuxโ€‹. เบžเบงเบเป€เบฎเบปเบฒเป€เบฅเบตเปˆเบกเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบš apt เป‚เบ”เบเบเบฒเบ™เป€เบ‚เบปเป‰เบฒ apt-get เปƒเบ™ terminal. เบ•เปเปˆเป„เบ›, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบฅเบฐเบšเบธเบ„เปเบฒเบชเบฑเปˆเบ‡เบˆเปเบฒเบ™เบงเบ™เบซเบ™เบถเปˆเบ‡เบ—เบตเปˆเบˆเบฐเบŠเบตเป‰เปเบˆเบ‡เบงเบฝเบเบ‡เบฒเบ™เบ—เบตเปˆเบเปเบฒเบฅเบฑเบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”. เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, เบžเบงเบเป€เบฎเบปเบฒเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบ•เบดเบ”เบ•เบฑเป‰เบ‡ Swift 5.0.2. เบเบฒเบ™เบซเบธเป‰เบกเบซเปเปˆเบ—เบตเปˆเบชเบญเบ”เบ„เป‰เบญเบ‡เบเบฑเบ™เบชเบฒเบกเบฒเบ”เป€เบ›เบฑเบ™ เบŠเบญเบเบซเบฒเบ—เบตเปˆเบ™เบตเป‰.

เบ”เบต, เปƒเบซเป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™. เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบฎเบนเป‰เบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบ•เบดเบ”เบ•เบฑเป‰เบ‡ Swift เป‚เบ”เบเปƒเบŠเป‰ apt, เบžเบงเบเป€เบฎเบปเบฒเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป€เบžเบตเปˆเบก repo เปƒเบ™เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡ repositories.

เป€เบžเบตเปˆเบก / เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡ repo swift-arm เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบ™เบตเป‰:

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

เบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบก Swift เปƒเบ™ Raspberry Pi

เบ•เปเปˆเป„เบ›, เบ•เบดเบ”เบ•เบฑเป‰เบ‡ Swift เบˆเบฒเบ repo เป€เบžเบตเปˆเบก:

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 เปƒเบ™ Raspberry Pi

เป€เบกเบทเปˆเบญเบเบฒเบ™เบฅเบงเบšเบฅเบงเบกเบชเปเบฒเป€เบฅเบฑเบ”, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเป€เบซเบฑเบ™เบ„เปเบฒเบงเปˆเบฒ "เบชเบฐเบšเบฒเบเบ”เบต, เป‚เบฅเบ!" เบขเบนเปˆเปƒเบ™เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡.

เบ•เบญเบ™เบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบชเป‰เบฒเบ‡เป‚เบ›เบฃเปเบเบก Pi เบ—เปเบฒเบญเบดเบ”เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, เปƒเบซเป‰เบ›เปˆเบฝเบ™เบšเบฒเบ‡เบญเบฑเบ™. เปƒเบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบต MyFirstProject, เปƒเบซเป‰เป€เบฎเบปเบฒเบ›เปˆเบฝเบ™เปเบ›เบ‡เป„เบŸเบฅเปŒ main.swift. เบกเบฑเบ™เบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบŠเบธเบ”เบ—เบตเปˆเบกเบตเบ„เปเบฒเบชเบฑเปˆเบ‡เปเบฅเปˆเบ™เป„เบง.

เบ›เปˆเบฝเบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเป€เบ›เบฑเบ™ 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

เบŠเบปเบกเป€เบŠเบตเบ! เป€เบกเบทเปˆเบญเบฅเบฐเบซเบฑเบ”เบ–เบทเบเบฅเบงเบšเบฅเบงเบก, terminal เบ„เบงเบ™เบชเบฐเปเบ”เบ‡เป€เบชเบฑเป‰เบ™เบ—เบตเปˆเบ–เบทเบเบ”เบฑเบ”เปเบ›เบ‡.

เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบ—เบตเปˆ Swift เป„เบ”เป‰เบ–เบทเบเบ•เบดเบ”เบ•เบฑเป‰เบ‡, เบ—เปˆเบฒเบ™เบกเบตเบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบ—เบตเปˆเบ•เป‰เบญเบ‡เป€เบฎเบฑเบ”. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เป€เบžเบทเปˆเบญเบ„เบงเบšเบ„เบธเบกเบฎเบฒเบ”เปเบง, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบปเบเบ•เบปเบงเบขเปˆเบฒเบ‡, LEDs, servos, relays, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบ‚เบญเบ‡เป‚เบ„เบ‡เบเบฒเบ™เบฎเบฒเบ”เปเบงเบชเปเบฒเบฅเบฑเบš Linux / ARM boards, เป€เบŠเบดเปˆเบ‡เป€เบญเบตเป‰เบ™เบงเปˆเบฒ. SwiftyGPIO.

เบฅเบญเบ‡เบกเปˆเบงเบ™เบเบฑเบš Swift เปƒเบ™ Raspberry Pi!

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™