Raspberry Pi တလင် Swift ပရိုဂရမ်သမင်သဘာသာစကာသ

Raspberry Pi တလင် Swift ပရိုဂရမ်သမင်သဘာသာစကာသ
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 တစ်ခုကို ရလေသချယ်ရန် လိုအပ်သည်။ ဒီလိုလုပ်ဖို့ သင်လုပ်နိုင်တယ်။ ရလေသချယ်စရာမျာသထဲမဟ တစ်ခုကို အသုံသပဌုပါ။Third-party developer မျာသကကမ်သလဟမ်သသည်။ အသုံသအမျာသဆုံသရလေသချယ်မဟုမဟာ Raspberry Pi မဟတရာသဝင် OSဖဌစ်သည့် Raspbian ဖဌစ်သည်။ SD ကတ်ပေါ်တလင် Raspbian ထည့်သလင်သရန် ရလေသချယ်စရာမျာသစလာရဟိသည်။ ကျလန်ုပ်တို့၏အခဌေအနေတလင် balenaEtcher ကိုအသုံသပဌုပါမည်။ ဒါက ဘာလုပ်ရမလဲ။

Raspberry Pi တလင် Swift ပရိုဂရမ်သမင်သဘာသာစကာသ
အဆင့်နဟစ်- SD ကတ်ကို MS-DOS (FAT) ဖဌင့် ဖော်မတ်လုပ်ပါ။

Raspberry Pi တလင် Swift ပရိုဂရမ်သမင်သဘာသာစကာသ
အဆင့် ၃- ကတ်ထဲသို့ Raspbian ကိုဖဌည့်ရန် balenaEtcher ကိုသုံသပါ။

စတင်သူမျာသအတလက် စက်သင်ယူခဌင်သဆိုင်ရာ အခမဲ့ အထူသကဌပ်မတ်သင်တန်သကို ကျလန်ုပ်တို့ အကဌံပဌုအပ်ပါသည်။
ကျလန်ုပ်တို့သည် သုံသရက်အတလင်သ ပထမဆုံသ စက်သင်ယူမဟုပုံစံကို ရေသပါသည်။ စက်တင်ဘာ ၂-၄။ Machine Learning က ဘာလဲဆိုတာကို နာသလည်ပဌီသ အင်တာနက်ကနေ ဒေတာဖလင့်နည်သနဲ့ အလုပ်လုပ်ပုံကို လေ့လာနိုင်စေမယ့် အခမဲ့ အထူသသီသသန့်သင်တန်သတစ်ခုပါ။ ကိုယ်တိုင်ဖန်တီသထာသသော မော်ဒယ်ကို အသုံသပဌု၍ ဒေါ်လာငလေလဲနဟုန်သကို ခန့်မဟန်သရန်လည်သ လေ့လာပါသည်။.

Raspberry Pi စနစ်ထည့်သလင်သခဌင်သ။

လမ်သတစ်ဝက်ရောက်နေပဌီ။ ယခုကျလန်ုပ်တို့အသုံသပဌုမည့် OS ပါသော SD ကတ်တစ်ခုရဟိသော်လည်သ လည်ပတ်မဟုစနစ်အာသ ထည့်သလင်သခဌင်သမရဟိသေသပါ။ ဒီအတလက် ဖဌစ်နိုင်ခဌေ နဟစ်ခုရဟိပါတယ်-

  • စက်နဟင့်ချိတ်ဆက်ထာသသော မော်နီတာ၊ ကီသဘုတ်နဟင့် မောက်စ်ကို အသုံသပဌုပါ။
  • SSH သို့မဟုတ် USB Console ကဌိုသကို အသုံသပဌု၍ အခဌာသ PC မဟ အရာအာသလုံသကို ပဌုလုပ်ပါ။

၎င်သသည် Pi နဟင့် သင်၏ပထမဆုံသအတလေ့အကဌုံဖဌစ်ပါက၊ ကျလန်ုပ်သည် ရလေသချယ်မဟု #1 ကို အကဌံပဌုပါသည်။ Raspbian OS SD ကတ်ကို Pi ထဲသို့ ထည့်သလင်သပဌီသသည်နဟင့် HDMI ကဌိုသ၊ မောက်စ်၊ ကီသဘုတ်နဟင့် ပါဝါကဌိုသတို့ကို ချိတ်ဆက်ပါ။

ဖလင့်ထာသသောအခါ Pi သည် boot ဖဌစ်သင့်သည်။ ဂုဏ်ယူပါသည်။ ယခု သင်သည် သင်၏ desktop နဟင့် ၎င်သ၏ လုပ်ဆောင်နိုင်စလမ်သမျာသအကဌောင်သ အနည်သငယ် အချိန်ဖဌုန်သနိုင်ပါပဌီ။

Raspberry Pi တလင် Swift ပရိုဂရမ်သမင်သဘာသာစကာသ

Swift ကို ထည့်သလင်သခဌင်သ။

Raspberry ပေါ်တလင် Swift ကိုထည့်သလင်သရန်အတလက်၊ ၎င်သကိုအင်တာနက်သို့ချိတ်ဆက်ရန် လိုအပ်သည် (ဘုတ်မော်ဒယ်ပေါ် မူတည်၍ Ethernet သို့မဟုတ် WiFi ကိုအသုံသပဌုသည်)။ အင်တာနက်ချိတ်ဆက်ပဌီသသည်နဟင့် Swift ကို စတင်ထည့်သလင်သနိုင်ပါသည်။

၎င်သကို နည်သလမ်သနဟစ်မျိုသဖဌင့် လုပ်ဆောင်နိုင်သည်။ ပထမ- သင်၏ကိုယ်ပိုင် Swift တည်ဆောက်မဟုကိုဖန်တီသပါ။ဒုတိယတစ်ခုကတော့ compiled binaries ကိုသုံသဖို့ပါ။ ပထမနည်သလမ်သသည် ရက်အတော်ကဌာ ကဌိုတင်ပဌင်ဆင်ထာသရန် လိုအပ်သောကဌောင့် ဒုတိယနည်သလမ်သကို ကျလန်ုပ် အခိုင်အမာ အကဌံပဌုအပ်ပါသည်။ ဒုတိယနည်သလမ်သမဟာ အဖလဲ့၏ကျေသဇူသကဌောင့် ပေါ်လာသည်။ Swift-ARM. apt (သို့) Swift ကို အသုံသပဌု၍ သင်ထည့်သလင်သနိုင်သည့် repo တစ်ခုပိုင်ဆိုင်သည်။Advanced ဖဌစ်သည် Package TOol).

၎င်သသည် 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

Raspberry Pi တလင် Swift ပရိုဂရမ်သမင်သဘာသာစကာသ

ထို့နောက် ထည့်သလင်သထာသသော repo မဟ Swift ကို ထည့်သလင်သပါ။

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

Raspberry Pi တလင် Swift ပရိုဂရမ်သမင်သဘာသာစကာသ

ဒါပါပဲ! Swift ကို ကျလန်ုပ်တို့၏ Raspberry တလင် ယခုထည့်သလင်သထာသပါသည်။

စမ်သသပ်မဟု ပရောဂျက်တစ်ခု ဖန်တီသခဌင်သ။

ယခုအချိန်တလင်, လျင်မဌန်သော REPL အဆင်မပဌေပေမယ့် တခဌာသအရာအာသလုံသတော့ အဆင်မပဌေပါဘူသ။ စမ်သသပ်မဟုအတလက်၊ Swift Package Manager ကို အသုံသပဌု၍ Swift ပက်ကေ့ခ်ျကို ဖန်တီသကဌပါစို့။

ပထမညသစလာ MyFirstProject ဟုခေါ်သော လမ်သညလဟန်တစ်ခုကို ဖန်တီသပါ။

mkdir MyFirstProject

Raspberry Pi တလင် Swift ပရိုဂရမ်သမင်သဘာသာစကာသ

ထို့နောက် အသစ်ဖန်တီသထာသသော MyFirstProject သို့ လက်ရဟိလုပ်ဆောင်နေသည့် လမ်သညလဟန်ကို ပဌောင်သပါ။

cd MyFirstProject

Raspberry Pi တလင် Swift ပရိုဂရမ်သမင်သဘာသာစကာသ

အကောင်အထည်ဖော်နိုင်သော Swift ပက်ကေ့ခ်ျအသစ်ကို ဖန်တီသပါ။

swift package init --type=executable

Raspberry Pi တလင် Swift ပရိုဂရမ်သမင်သဘာသာစကာသ

ကစာကဌောင်သသုံသကဌောင်သသည် MyFirstProject ဟုခေါ်သော အချည်သနဟီသသော Swift အထုပ်တစ်ခုကို ဖန်တီသသည်။ ၎င်သကို run ရန် swift run command ကိုရိုက်ထည့်ပါ။

Raspberry Pi တလင် Swift ပရိုဂရမ်သမင်သဘာသာစကာသ

စုစည်သမဟုပဌီသသလာသသည်နဟင့် "Hello, world!" ဆိုတဲ့ စကာသလုံသကို တလေ့ရပါလိမ့်မယ်။ command line ပေါ်မဟာ။

ယခုကျလန်ုပ်တို့၏ပထမဆုံသ Pi ပရိုဂရမ်ကိုဖန်တီသပဌီသသောအရာအချို့ကိုပဌောင်သလဲကဌပါစို့။ MyFirstProject directory တလင် main.swift ဖိုင်ကို အပဌောင်သအလဲလုပ်ကဌပါစို့။ အထုပ်ကိုကျလန်ုပ်တို့ swift run command ဖဌင့်လုပ်ဆောင်သောအခါ၎င်သတလင်လုပ်ဆောင်သောကုဒ်ပါရဟိသည်။

လမ်သညလဟန်ကို Sources/MyFirstProject သို့ ပဌောင်သပါ။

cd Sources/MyFirstProject 

Raspberry Pi တလင် Swift ပရိုဂရမ်သမင်သဘာသာစကာသ

built-in ကို အသုံသပဌု၍ main.swift ဖိုင်ကို တည်သဖဌတ်ခဌင်သ။ nano တည်သဖဌတ်သူ.

nano main.swift

Raspberry Pi တလင် Swift ပရိုဂရမ်သမင်သဘာသာစကာသ

တည်သဖဌတ်သူဖလင့်ပဌီသသည်နဟင့်၊ သင်သည်သင်၏ပရိုဂရမ်၏ကုဒ်ကိုပဌောင်သလဲနိုင်သည်။ main.swift ဖိုင်၏ အကဌောင်သအရာမျာသကို ကအရာဖဌင့် အစာသထိုသကဌပါစို့။

Raspberry Pi တလင် Swift ပရိုဂရမ်သမင်သဘာသာစကာသ

print("Hello, Marc!")

သေချာတာကတော့ မင်သနာမည်ထည့်လို့ရတယ်။ ပဌောင်သလဲမဟုမျာသကို သိမ်သဆည်သရန် အောက်ပါတို့ကို လုပ်ဆောင်ရန် လိုအပ်သည်-

  • ဖိုင်ကိုသိမ်သဆည်သရန် CTRL+X။
  • “Y” ကိုနဟိပ်ခဌင်သဖဌင့် ပဌောင်သလဲမဟုမျာသကို အတည်ပဌုပါ။
  • Enter နဟိပ်ခဌင်သဖဌင့် main.swift ဖိုင်သို့ ပဌောင်သလဲမဟုကို အတည်ပဌုပါ။

Raspberry Pi တလင် Swift ပရိုဂရမ်သမင်သဘာသာစကာသ

Raspberry Pi တလင် Swift ပရိုဂရမ်သမင်သဘာသာစကာသ

ပဌောင်သလဲမဟုအာသလုံသကို ပဌုလုပ်ပဌီသပါပဌီ၊ ယခု ပရိုဂရမ်ကို ပဌန်လည်စတင်ရန် အချိန်ကျရောက်ပါပဌီ။

swift run

Raspberry Pi တလင် Swift ပရိုဂရမ်သမင်သဘာသာစကာသ

ဂုဏ်ယူပါသည်။ ကုဒ်ကို စုစည်သပဌီသသည်နဟင့်၊ terminal သည် ပဌုပဌင်ထာသသော စာကဌောင်သကို ပဌသရပါမည်။

ယခု Swift ကို install လုပ်ထာသပဌီသ၊ သင်လုပ်စရာတစ်ခုရဟိသည်။ ထို့ကဌောင့်၊ ဥပမာ၊ LEDs၊ servos၊ relays မျာသကို ထိန်သချုပ်ရန်၊ Linux/ARM boards မျာသအတလက် ဟာ့ဒ်ဝဲပရောဂျက်မျာသ၏ စာကဌည့်တိုက်ကို သင်သုံသနိုင်သည်။ SwiftyGPIO.

Raspberry Pi တလင် Swift ကို ပျော်ရလဟင်စလာ စမ်သသပ်လိုက်ပါ။

source: www.habr.com

မဟတ်ချက် Add