Raspberry PI 3 ã¢ãã« B+
ãã®ãã¥ãŒããªã¢ã«ã§ã¯ãRaspberry Pi 㧠Swift ã䜿çšããåºæ¬ã«ã€ããŠèª¬æããŸãã Raspberry Pi ã¯å°åã§å®äŸ¡ãªã·ã³ã°ã«ããŒã ã³ã³ãã¥ãŒã¿ãŒã§ããããã®å¯èœæ§ã¯ãã®ã³ã³ãã¥ãŒãã£ã³ã° ãªãœãŒã¹ã«ãã£ãŠã®ã¿å¶éãããŸãã ãã¯ãããžãŒãªã¿ã¯ãDIYæ奜家ã®éã§ã¯ããç¥ãããŠããŸãã ããã¯ãã¢ã€ãã¢ãè©Šããããç¹å®ã®ã³ã³ã»ãããå®éã«ãã¹ããããããå¿ èŠããã人ã«ãšã£ãŠã¯åªããããã€ã¹ã§ãã å¹ åºããããžã§ã¯ãã«äœ¿çšã§ããã»ãŒã©ãã«ã§ãç°¡åã«ãã£ããããŸããããšãã°ãã¢ãã¿ãŒã®èã«åãä»ããŠãã¹ã¯ããããšããŠäœ¿çšãããããã¬ããããŒãã«æ¥ç¶ããŠé»ååè·¯ãå¶åŸ¡ãããã§ããŸãã
Malinka ã®å
¬åŒããã°ã©ãã³ã°èšèªã¯ Python ã§ãã Python ã¯éåžžã«äœ¿ããããã§ãããåå®å
šæ§ã«æ¬ ããŠãããããã«å€§éã®ã¡ã¢ãªãæ¶è²»ããŸãã äžæ¹ãSwift 㯠ARC ã¡ã¢ãªç®¡çãåããŠãããPython ãããã»ãŒ 8 åé«éã§ãã RAM ã®éãš Raspberry Pi ããã»ããµã®èšç®èœåã«ã¯éçããããããSwift ã®ãããªèšèªã䜿çšãããšããã®ãã PC ã®ããŒããŠã§ã¢ã®å¯èœæ§ãæ倧éã«åŒãåºãããšãã§ããŸãã
OSã®ã€ã³ã¹ããŒã«
Swift ãã€ã³ã¹ããŒã«ããåã«ãOS ãéžæããå¿
èŠããããŸãã ãããè¡ãã«ã¯ã次ã®ããšãã§ããŸã
- Raspbian OSã®ææ°ããŒãžã§ã³ãããŠã³ããŒããã
æ ã« . ãã£ã¹ã¯ãŠãŒãã£ãªãã£ã䜿çšããŠSDã«ãŒããFATã«ãã©ãŒãããããŸã .- ã䜿çšããŠãããŸã
ãã¬ããšããã³ã° ãã©ãŒããããããã«ãŒãã«ã¢ããããŒãããå Žåã
ã¹ããã XNUMX: SD ã«ãŒãã MS-DOS (FAT) ã§ãã©ãŒããããã
ã¹ããã XNUMX: balenaEtcher ã䜿çšã㊠Raspbian ãã«ãŒãã«åã蟌ã¿ãŸã
åå¿è ã«ã¯æ©æ¢°åŠç¿ã«é¢ããç¡æã®éäžã³ãŒã¹ããå§ãããŸãã
æåã®æ©æ¢°åŠç¿ã¢ãã«ã XNUMX æ¥ã§äœæããŸã â 2æ4æ¥ããXNUMXæ¥ã æ©æ¢°åŠç¿ãšã¯äœããç解ããã€ã³ã¿ãŒãããã®ãªãŒãã³ ããŒã¿ãæ±ãæ¹æ³ãåŠã¶ããšãã§ããç¡æã®éäžã³ãŒã¹ã§ãã ãŸããç¬èªã«éçºããã¢ãã«ã䜿çšããŠãã«çºæ¿ã¬ãŒããäºæž¬ããæ¹æ³ãåŠã³ãŸãã.
ã©ãºããªãŒãã€ã®ã»ããã¢ãã
ããååãŸã§æ¥ãŸããïŒ ããã§ã䜿çšãã OS ãå ¥ã£ã SD ã«ãŒããã§ããŸãããããªãã¬ãŒãã£ã³ã° ã·ã¹ãã ã¯ãŸã ã€ã³ã¹ããŒã«ãããŠããŸããã ããã«ã¯ XNUMX ã€ã®å¯èœæ§ããããŸãã
- ããã€ã¹ã«æ¥ç¶ãããã¢ãã¿ãŒãããŒããŒããããŠã¹ã䜿çšããŸãã
- SSH çµç±ãŸã㯠USB ã³ã³ãœãŒã« ã±ãŒãã«ã䜿çšããŠãå¥ã® PC ãããã¹ãŠãå®è¡ããŸãã
Pi ãåããŠäœ¿çšããå Žåã¯ããªãã·ã§ã³ #1 ããå§ãããŸãã Raspbian OS SD ã«ãŒãã Pi ã«æ¿å ¥ããããHDMI ã±ãŒãã«ãããŠã¹ãããŒããŒããé»æºã±ãŒãã«ãæ¥ç¶ããŸãã
é»æºãå ¥ãããš Pi ãèµ·åããã¯ãã§ãã ããã§ãšãïŒ ããã§ããã¹ã¯ããããšãã®æ©èœã«ã€ããŠå°ãæéããããŠåŠç¿ããŠã¿ãŸãããã
Swiftã®ã€ã³ã¹ããŒã«
Raspberry ã« Swift ãã€ã³ã¹ããŒã«ããã«ã¯ãRaspberry ãã€ã³ã¿ãŒãããã«æ¥ç¶ããå¿ èŠããããŸã (ããŒãã®ã¢ãã«ã«å¿ã㊠Ethernet ãŸã㯠WiFi ã䜿çš)ã ã€ã³ã¿ãŒãããã«æ¥ç¶ããããSwift ã®ã€ã³ã¹ããŒã«ãéå§ã§ããŸãã
ãã㯠XNUMX ã€ã®æ¹æ³ã§å®è¡ã§ããŸãã åã -
ããã¯ã³ãã³ã ã©ã€ã³ ããŒã«ã§ãLinux ããã€ã¹çšã®ã¢ããªãããã±ãŒãžãæ±ã App Store ã®ãããªãã®ã§ãã ã¿ãŒããã«ã« apt-get ãšå
¥åããŠãapt ã®æäœãéå§ããŸãã 次ã«ãå®è¡ãããã¿ã¹ã¯ãæ確ã«ããããã«ããã€ãã®ã³ãã³ããæå®ããå¿
èŠããããŸãã ãã®äŸã§ã¯ãSwift 5.0.2 ãã€ã³ã¹ããŒã«ããå¿
èŠããããŸãã 察å¿ããããã±ãŒãžã¯æ¬¡ã®ãšããã§ãã
ããŠãå§ããŸãããã apt ã䜿çšã㊠Swift ãã€ã³ã¹ããŒã«ããããšãããã£ãã®ã§ããªããžããªã®ãªã¹ãã«ãªããžããªãè¿œå ããå¿ èŠããããŸãã
ãªããžããªã®è¿œå /ã€ã³ã¹ããŒã« ã³ãã³ã
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 ã Raspberry ã«ã€ã³ã¹ããŒã«ãããŸããã
ãã¹ããããžã§ã¯ãã®äœæ
çŸæç¹ã§ã¯ã
ãŸããMyFirstProject ãšãããã£ã¬ã¯ããªãäœæããŸãã
mkdir MyFirstProject
次ã«ãçŸåšã®äœæ¥ãã£ã¬ã¯ããªãæ°ããäœæãã MyFirstProject ã«å€æŽããŸãã
cd MyFirstProject
æ°ããå®è¡å¯èœãª Swift ããã±ãŒãžãäœæããŸãã
swift package init --type=executable
ãããã® XNUMX è¡ã«ãããMyFirstProject ãšãã空㮠Swift ããã±ãŒãžãäœæãããŸãã å®è¡ããã«ã¯ãswift run ã³ãã³ããå
¥åããŸãã
ã³ã³ãã€ã«ãå®äºãããšããHello, world!ããšãããã¬ãŒãºã衚瀺ãããŸãã ã³ãã³ãã©ã€ã³ã§ã
æåã® Pi ããã°ã©ã ãäœæããã®ã§ãããã€ãå€æŽããŠã¿ãŸãããã MyFirstProject ãã£ã¬ã¯ããªã§ãmain.swift ãã¡ã€ã«ãå€æŽããŸãããã ããã«ã¯ãswift run ã³ãã³ãã§ããã±ãŒãžãå®è¡ãããšãã«å®è¡ãããã³ãŒããå«ãŸããŠããŸãã
ãã£ã¬ã¯ããªã Sources/MyFirstProject ã«å€æŽããŸãã
cd Sources/MyFirstProject
ãã«ãã€ã³ã䜿çšã㊠main.swift ãã¡ã€ã«ãç·šéãã
nano main.swift
ãšãã£ã¿ãŒãéããããããã°ã©ã ã®ã³ãŒããå€æŽã§ããŸãã main.swift ãã¡ã€ã«ã®å
容ã次ã®ããã«çœ®ãæããŠã¿ãŸãããã
print("Hello, Marc!")
ãã¡ãããååãå ¥ããããŸãã å€æŽãä¿åããã«ã¯ã次ã®æäœãè¡ãå¿ èŠããããŸãã
- CTRL+X ãæŒããŠãã¡ã€ã«ãä¿åããŸãã
- ãYããæŒããŠå€æŽã確å®ããŸãã
- Enter ããŒãæŒããŠãmain.swift ãã¡ã€ã«ãžã®å€æŽã確èªããŸãã
ãã¹ãŠã®å€æŽãè¡ãããã®ã§ãããã°ã©ã ãåèµ·åããŸãã
swift run
ããã§ãšãïŒ ã³ãŒããã³ã³ãã€ã«ããããšãã¿ãŒããã«ã«å€æŽãããè¡ã衚瀺ãããã¯ãã§ãã
Swift ãã€ã³ã¹ããŒã«ãããã®ã§ãããã¹ãããšããããŸãã ãããã£ãŠãLEDããµãŒãããªã¬ãŒãªã©ã®ããŒããŠã§ã¢ãå¶åŸ¡ããã«ã¯ãLinux/ARM ããŒãçšã®ããŒããŠã§ã¢ ãããžã§ã¯ãã®ã©ã€ãã©ãªã䜿çšã§ããŸãã
Raspberry Pi 㧠Swift ã楜ããã§å®éšããŠãã ããã
åºæïŒ habr.com