Raspberry PI 3 ááąáŹáşáááş B+
á¤áááşáááşá¸á áŹáá˝ááş Raspberry Pi áá˝ááş Swift áááŻáĄááŻáśá¸ááźáŻááźááşá¸ááĄááźáąááśááťáŹá¸áááŻááťá˝ááşáŻááşáááŻáˇáááşááźááŤáááşá Raspberry Pi áááş ááąá¸áááşááźáŽá¸ á áťáąá¸áááźáŽá¸ááąáŹ single-board áá˝ááşááťá°ááŹáá áşááŻáśá¸ááźá áşááźáŽá¸ áááşá¸á áá˝ááşááťááşáážáŻáááŻááşáᏠáĄáááşá¸áĄááźá áşááťáŹá¸ááźááˇáşáᏠáĄáááˇáşáĄáááşáážááááşá áááşá¸ááᯠáááşá¸áááŹááťá˝ááşá¸ááťááşáá°ááťáŹá¸áážááˇáş DIY ááŤáááŹáážááşááťáŹá¸ááźáŹá¸áá˝ááş áá°ááááťáŹá¸áááşá áááşá¸áááş á áááşáá°á¸áá áşááŻáĄáŹá¸ á ááşá¸áááşáááş áááŻáˇáááŻááş áááşáá˝áąáˇáá˝ááş áĄááťááŻáˇááąáŹ áĄáá°áĄááá áşááŻááᯠá ááşá¸áááşáááş áááŻáĄááşáá°ááťáŹá¸áĄáá˝ááş ááąáŹááşá¸áá˝ááşááąáŹááááááŹáá áşááŻááźá áşáááşá áááşá¸ááᯠáááąáŹááťááşáĄááťááŻá¸ááťááŻá¸áĄáá˝ááş áĄááŻáśá¸ááźáŻáááŻááşááźáŽá¸ ááąááŹáááŻááşá¸ááŽá¸ááŤá¸áá˝ááş áĄáá˝ááşááá° áĄáááşááźáąáááŻááşáááş - áĽáááŹáĄáŹá¸ááźááˇáşá áááşá¸ááᯠááąáŹáşááŽááŹáĄááŻáśá¸ááąáŤáşáá˝ááş áááşáááşáááŻááşááźáŽá¸ áááşá ááąáŹáˇáá áşááŻáĄááźá áş áĄááŻáśá¸ááźáŻááźááşá¸ áááŻáˇáááŻááş áĄáŽáááşááá˝ááşá¸áá áşááŹá¸áá áşááᯠááááşá¸ááťáŻááşáááş ááąáŤááşááŻááˇáşááŻááşáážááˇáş ááťáááşáááşáááŻááşáááşá
Malinka ááááŹá¸áááşááááŻááááşááŹááŹá
ááŹá¸áážáŹ Python ááźá
áşáááşá Python áááş áĄááŻáśá¸ááźáŻááĄáá˝ááşáá˝ááşáá°ááąáŹáşáááşá¸ áááşá¸áááş áĄááťááŻá¸áĄá
áŹá¸ááŻáśááźáŻáśáážáŻááážááááˇáşáĄááźááş memory áááşá¸ááťáŹá¸á
á˝áŹá
áŹá¸ááŻáśá¸áááşá Swift áá˝ááş ARC memory management ááŤáážáááźáŽá¸ Python áááş 8 áááŽá¸ááŤá¸ áááŻááźááşáááşá ááąáŹááşá¸ááźáŽá RAM áááŹááážááˇáş Raspberry Pi ááááŻáááşááŹá áá˝ááşááźá°ááŹá
á˝ááşá¸áááşááťáŹá¸áááş áĄáááˇáşáĄáááşáážáááąáŹááźáąáŹááˇáş Swift áá˛áˇáááŻáˇááąáŹ ááŹááŹá
ááŹá¸ááᯠáĄááŻáśá¸ááźáŻááźááşá¸ááźááˇáş ᤠmini-PC á ááŹáˇááşáá˛á áĄááŹá¸áĄááŹááᯠáĄááźááˇáşááŻáśá¸ááźá
áşáĄáąáŹááş ááŻááşááąáŹááşáááŻááşáááşááźá
áşáááşá
OS áááˇáşáá˝ááşá¸ááźááşá¸á
Swift ááᯠááááˇáşáá˝ááşá¸ááŽá áááşáááş OS áá
áşááŻááᯠáá˝áąá¸ááťááşáááş áááŻáĄááşáááşá ááŽáááŻááŻááşáááŻáˇ áááşááŻááşáááŻááşáááşá
- Raspbian OS á ááąáŹááşááŻáśá¸ááŹá¸áážááşá¸ááᯠááąáŤááşá¸ááŻááşááŻááşááŤá
ááŽáážáŹ . Disk Utility ááᯠáĄááŻáśá¸ááźáŻá SD áááşááᯠFAT áááŻáˇ ááąáŹáşáááşááŻááşááŤá .- ááťá˝ááşááąáŹáşáááŻ
balenaetcher ááąáŹáşáááşáááşáá áşááŻáááŻáˇ áĄááşááŻááşáááşááźááşá¸áĄáá˝ááşá
áĄáááˇáşáážá
áş- SD áááşááᯠMS-DOS (FAT) ááźááˇáş ááąáŹáşáááşááŻááşááŤá
áĄáááˇáş á- áááşáá˛áááŻáˇ Raspbian áááŻááźááˇáşáááş balenaEtcher áááŻááŻáśá¸ááŤá
á áááşáá°ááťáŹá¸áĄáá˝ááş á ááşáááşáá°ááźááşá¸áááŻááşáᏠáĄááá˛áˇ áĄáá°á¸ááźááşáááşáááşáááşá¸ááᯠááťá˝ááşáŻááşáááŻáˇ áĄááźáśááźáŻáĄááşááŤáááşá
ááťá˝ááşáŻááşáááŻáˇáááş ááŻáśá¸áááşáĄáá˝ááşá¸ áááááŻáśá¸ á ááşáááşáá°áážáŻááŻáśá áśááᯠááąá¸ááŤáááşá á ááşáááşáᏠá-áá Machine Learning á ááŹáá˛áááŻááŹááᯠááŹá¸áááşááźáŽá¸ áĄááşááŹáááşáááą ááąááŹáá˝ááˇáşáááşá¸áá˛áˇ áĄááŻááşááŻááşááŻáśááᯠááąáˇááŹáááŻááşá áąáááˇáş áĄááá˛áˇ áĄáá°á¸ááŽá¸áááˇáşáááşáááşá¸áá áşááŻááŤá áááŻááşáááŻááşáááşááŽá¸ááŹá¸ááąáŹ ááąáŹáşáááşááᯠáĄááŻáśá¸ááźáŻá ááąáŤáşááŹáá˝áąáá˛áážáŻááşá¸ááᯠáááˇáşáážááşá¸áááşáááşá¸ ááąáˇááŹááŤáááşá.
Raspberry Pi á áá áşáááˇáşáá˝ááşá¸ááźááşá¸á
áááşá¸áá áşáááşááąáŹááşááąááźáŽá áááŻááťá˝ááşáŻááşáááŻáˇáĄááŻáśá¸ááźáŻáááˇáş OS ááŤááąáŹ SD áááşáá áşááŻáážáááąáŹáşáááşá¸ áááşáááşáážáŻá áá áşáĄáŹá¸ áááˇáşáá˝ááşá¸ááźááşá¸ááážáááąá¸ááŤá ááŽáĄáá˝ááş ááźá áşáááŻááşááźáą áážá áşááŻáážáááŤáááş-
- á ááşáážááˇáşááťáááşáááşááŹá¸ááąáŹ ááąáŹáşááŽááŹá ááŽá¸ááŻááşáážááˇáş ááąáŹááşá áşááᯠáĄááŻáśá¸ááźáŻááŤá
- SSH áááŻáˇáááŻááş USB Console ááźááŻá¸ááᯠáĄááŻáśá¸ááźáŻá áĄááźáŹá¸ PC ááž áĄááŹáĄáŹá¸ááŻáśá¸ááᯠááźáŻááŻááşááŤá
áááşá¸áááş Pi áážááˇáş áááşááááááŻáśá¸áĄáá˝áąáˇáĄááźáŻáśááźá áşááŤáá ááťá˝ááşáŻááşáááş áá˝áąá¸ááťááşáážáŻ #1 ááᯠáĄááźáśááźáŻááŤáááşá Raspbian OS SD áááşááᯠPi áá˛áááŻáˇ áááˇáşáá˝ááşá¸ááźáŽá¸áááşáážááˇáş HDMI ááźááŻá¸á ááąáŹááşá áşá ááŽá¸ááŻááşáážááˇáş ááŤááŤááźááŻá¸áááŻáˇááᯠááťáááşáááşááŤá
áá˝ááˇáşááŹá¸ááąáŹáĄá፠Pi áááş boot ááźá áşáááˇáşáááşá ááŻááşáá°ááŤáááşá ááᯠáááşáááş áááşá desktop áážááˇáş áááşá¸á ááŻááşááąáŹááşáááŻááşá á˝ááşá¸ááťáŹá¸áĄááźáąáŹááşá¸ áĄáááşá¸áááş áĄááťáááşááźáŻááşá¸áááŻááşááŤááźáŽá
Swift ááᯠáááˇáşáá˝ááşá¸ááźááşá¸á
Raspberry ááąáŤáşáá˝ááş Swift áááŻáááˇáşáá˝ááşá¸áááşáĄáá˝ááşá áááşá¸áááŻáĄááşááŹáááşáááŻáˇááťáááşáááşáááş áááŻáĄááşáááş (ááŻááşááąáŹáşáááşááąáŤáş áá°áááşá Ethernet áááŻáˇáááŻááş WiFi áááŻáĄááŻáśá¸ááźáŻáááş)á áĄááşááŹáááşááťáááşáááşááźáŽá¸áááşáážááˇáş Swift ááᯠá áááşáááˇáşáá˝ááşá¸áááŻááşááŤáááşá
áááşá¸ááᯠáááşá¸áááşá¸áážá
áşááťááŻá¸ááźááˇáş ááŻááşááąáŹááşáááŻááşáááşá ááá-
áááşá¸áááş Linux á
ááşáá
ášá
ááşá¸ááťáŹá¸áĄáá˝ááş áĄááşááşááťáŹá¸áážááˇáş áááşááąáˇááťáşááťáŹá¸áĄáá˝ááş App Store áá˛áˇáááŻáˇ áĄááááˇáşááąá¸áááŻááşá¸áá°á¸ááşáá
áşááŻááźá
áşáááşá terminal áá˝ááş apt-get áááŻáááˇáşáá˝ááşá¸ááźááşá¸ááźááˇáş ááťá˝ááşáŻááşáááŻáˇáááş apt áážááˇáş á
áááşááŻááşááąáŹááşááŤáááşá áááŻáˇááąáŹááşá áááşááŻááşááąáŹááşááąááąáŹááŻááşáááşá¸áááŻáážááşá¸áááşá¸á
áąáááˇáş command áĄááťáŹá¸áĄááźáŹá¸áááŻáááşáážááşáááşáááŻáĄááşáááşá ááťá˝ááşáŻááşáááŻáˇáááá
ášá
áá˝ááşá ááťá˝ááşáŻááşáááŻáˇáááş Swift 5.0.2 áááŻáááˇáşáá˝ááşá¸áááşáááŻáĄááşáááşá áááşáááŻááşáᏠáááşááąáˇááşáťááťáŹá¸ áááşá¸ áážááááŻááşááŤáááşá
áᲠá áááŻááşááźááĄáąáŹááşá ááťá˝ááşáŻááşáááŻáˇáááş apt áááŻáĄááŻáśá¸ááźáŻá Swift áááŻáááˇáşáá˝ááşá¸áááşáááŻáááŻááťá˝ááşáŻááşáááŻáˇááááąáŹááźáąáŹááˇáş repo ááᯠrepositories á áŹáááşá¸áá˝ááşáááˇáşáááşáááŻáĄááşáááşá
repo áĄááááˇáşááᯠáááˇáş/áá˝ááşá¸ááŤá
curl -s <https://packagecloud.io/install/repositories/swift-arm/release/script.deb.sh> | sudo bash
áááŻáˇááąáŹááş áááˇáşáá˝ááşá¸ááŹá¸ááąáŹ repo ááž 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
á¤á
áŹááźáąáŹááşá¸ááŻáśá¸ááźáąáŹááşá¸áááş MyFirstProject ááŻááąáŤáşááąáŹ áĄááťááşá¸áážáŽá¸ááąáŹ Swift áĄááŻááşáá
áşááŻááᯠáááşááŽá¸áááşá áááşá¸ááᯠrun áááş swift run command áááŻáááŻááşáááˇáşááŤá
á
áŻá
ááşá¸áážáŻááźáŽá¸áá˝áŹá¸áááşáážááˇáş "Hello, world!" áááŻáá˛áˇ á
ááŹá¸ááŻáśá¸ááᯠáá˝áąáˇáááŤááááˇáşáááşá command line ááąáŤáşáážáŹá
áááŻááťá˝ááşáŻááşáááŻáˇááááááŻáśá¸ Pi ááááŻááááşáááŻáááşááŽá¸ááźáŽá¸ááąáŹáĄááŹáĄááťááŻáˇáááŻááźáąáŹááşá¸áá˛ááźááŤá ááŻáˇá MyFirstProject directory áá˝ááş main.swift áááŻááşááᯠáĄááźáąáŹááşá¸áĄáá˛ááŻááşááźááŤá ááŻáˇá áĄááŻááşáááŻááťá˝ááşáŻááşáááŻáˇ swift run command ááźááˇáşááŻááşááąáŹááşááąáŹáĄááŤáááşá¸áá˝ááşááŻááşááąáŹááşááąáŹááŻááşááŤáážááááşá
áááşá¸áá˝ážááşááᯠSources/MyFirstProject áááŻáˇ ááźáąáŹááşá¸ááŤá
cd Sources/MyFirstProject
built-in ááᯠáĄááŻáśá¸ááźáŻá main.swift áááŻááşááᯠáááşá¸ááźááşááźááşá¸á
nano main.swift
áááşá¸ááźááşáá°áá˝ááˇáşááźáŽá¸áááşáážááˇáşá áááşáááşáááşáááááŻááááşáááŻááşáááŻááźáąáŹááşá¸áá˛áááŻááşáááşá main.swift áááŻááşá áĄááźáąáŹááşá¸áĄááŹááťáŹá¸ááᯠá¤áĄááŹááźááˇáş áĄá
áŹá¸áááŻá¸ááźááŤá
ááŻáˇá
print("Hello, Marc!")
ááąááťáŹááŹáááąáŹáˇ áááşá¸ááŹáááşáááˇáşáááŻáˇááááşá ááźáąáŹááşá¸áá˛áážáŻááťáŹá¸ááᯠááááşá¸áááşá¸áááş áĄáąáŹááşááŤáááŻáˇááᯠááŻááşááąáŹááşáááş áááŻáĄááşáááş-
- áááŻááşáááŻááááşá¸áááşá¸áááş CTRL+Xá
- âYâ áááŻáážáááşááźááşá¸ááźááˇáş ááźáąáŹááşá¸áá˛áážáŻááťáŹá¸ááᯠáĄáááşááźáŻááŤá
- Enter áážáááşááźááşá¸ááźááˇáş main.swift áááŻááşáááŻáˇ ááźáąáŹááşá¸áá˛áážáŻááᯠáĄáááşááźáŻááŤá
ááźáąáŹááşá¸áá˛áážáŻáĄáŹá¸ááŻáśá¸ááᯠááźáŻááŻááşááźáŽá¸ááŤááźáŽá ááᯠááááŻááááşááᯠááźááşáááşá
áááşáááş áĄááťáááşááťááąáŹááşááŤááźáŽá
swift run
ááŻááşáá°ááŤáááşá ááŻááşááᯠá
áŻá
ááşá¸ááźáŽá¸áááşáážááˇáşá terminal áááş ááźáŻááźááşááŹá¸ááąáŹ á
áŹááźáąáŹááşá¸ááᯠááźááááŤáááşá
ááᯠSwift ááᯠinstall ááŻááşááŹá¸ááźáŽá¸á áááşááŻááşá
ááŹáá
áşááŻáážááááşá áááŻáˇááźáąáŹááˇáşá áĽáááŹá LEDsá servosá relays ááťáŹá¸ááᯠááááşá¸ááťáŻááşáááşá Linux/ARM boards ááťáŹá¸áĄáá˝ááş ááŹáˇááşáá˛áááąáŹááťááşááťáŹá¸á á
áŹááźááˇáşáááŻááşááᯠáááşááŻáśá¸áááŻááşáááşá
Raspberry Pi áá˝ááş Swift ááᯠááťáąáŹáşáá˝ážááşá
á˝áŹ á
ááşá¸áááşáááŻááşááŤá
source: www.habr.com