DEV Community

Vatthanachai Wongprasert
Vatthanachai Wongprasert

Posted on

Raspbian + Dotnet Core

คำเตือน!! บทความนี้มีแต่ Text ไม่เหมาะกับผู้ที่ไม่ชอบอ่านหนังสือนะครับ :P

จริงๆ เคยคิดว่าอยากจะลองศึกษาเกี่ยวกับการใช้งาน dotnet core บน arm cpu ดู แต่ก็ไม่เคยได้ลองสักที มีแต่ได้เขียนบน Windows ซะเป็นส่วนใหญ่ เอาเป็นว่าวันนี้อยากจะลองติดตั้ง DotNet Core บน Raspbian หรือ OS ของ Raspberry Pi นั่นเอง
เริ่มเลยดีกว่า.... และขอข้ามขั้นตอนติดตั้ง Raspbian ไปเลยก็แล้วกัน

ขั้นตอนแรกสุด เราก็ต้องไปเอาไฟล์ของ Dot Net Core(ขอใช้ตัวย่อ .netCore แทน) จากเว็บกันก่อน โดยในที่นี้จะใช้ Version 3.1.201 สำหรับ SDK และ 3.1.3 สำหรับ runtime และจะใช้แบบ Arm32 ทั้งหมด (จริงๆ จะใช้แบบ Arm64 ก็ได้ แต่ว่าตั้งใจว่าจะเขียนใช้งานกับพวก Hardware ด้วย ซึ่ง libraries ที่มีตอนนี้ยังไม่รองรับ 64bit แบบเต็มๆ เหมือนกับ 32ิbit)

ให้เราโหลดไฟล์ลงมาที่ pi (ขอใช้แทนการเรียก Raspbian/Raspberry Pi) โดยใช้คำสั่งนี้

SDK

wget https://download.visualstudio.microsoft.com/download/pr/ccbcbf70-9911-40b1-a8cf-e018a13e720e/03c0621c6510f9c6f4cca6951f2cc1a4/dotnet-sdk-3.1.201-linux-arm.tar.gz
Enter fullscreen mode Exit fullscreen mode

Runtime

wget https://download.visualstudio.microsoft.com/download/pr/c11e9248-404f-4e5b-bd99-175079419d6f/83902a43e06f9fb4e45a4c6a6d5afc0b/dotnet-runtime-3.1.3-linux-arm.tar.gz
Enter fullscreen mode Exit fullscreen mode

Asp.net Core Runtime

wget https://download.visualstudio.microsoft.com/download/pr/b68cde83-05c7-4421-ad9a-3e6f2cc53824/876dbfc9b4521d3ca89a226c6438ffc1/aspnetcore-runtime-3.1.3-linux-arm.tar.gz
Enter fullscreen mode Exit fullscreen mode

Alt Text
Alt Text

สำหรับ .netCore เวอร์ชันใหม่ๆ สามารถเช็คได้จากลิงค์นี้ https://dotnet.microsoft.com/download

หลังจากที่เราโหลดไฟล์มาครบแล้ว ขั้นตอนต่อไปก็จะเป็นการติดตั้ง .netCore กันสักที โดยที่เราจะเริ่มจากสร้างโฟลเดอร์ dotnet-arm32 ที่ ~/ (หรือ $Home) -> ติดตั้ง SDK -> ติดตั้ง Runtime -> ติดตั้ง Asp.net Core Runtime
ซึ่งคำสั่งก็จะมีดังนี้

mkdir dotnet-arm32
tar zxf dotnet-sdk-3.1.201-linux-arm.tar.gz -C $HOME/dotnet-arm32
tar zxf dotnet-runtime-3.1.3-linux-arm.tar.gz -C $HOME/dotnet-arm32
tar zxf aspnetcore-runtime-3.1.3-linux-arm.tar.gz -C $HOME/dotnet-arm32

Enter fullscreen mode Exit fullscreen mode

ขั้นตอนต่อไป เราก็จะทำการ setup path ให้กับ .netCore เพื่อให้สามารถเรียกใช้งานได้ โดยที่เราจะเพิ่มคำสั่งข้างล่างเข้าไปในไฟล์ .profile เพื่อให้สามารถเรียกใช้งานได้เลย โดยที่เราไม่ต้อง setup ทุกครั้งที่ต้องการใช้งาน

# set .NET Core SDK and Runtime path
export DOTNET_ROOT=$HOME/dotnet-arm32
export PATH=$PATH:$HOME/dotnet-arm32
Enter fullscreen mode Exit fullscreen mode

เปิดไฟล์ .profile ขึ้นมาด้วยสิทธิ์ของ root ด้วยคำสั่ง

sudo nano .profile
Enter fullscreen mode Exit fullscreen mode

แล้วจากนั้นก็เพิ่มคำสั่งเข้าไปที่ด้านล่างสุดของไฟล์ ดังภาพ

Alt Text

จากนั้นให้สั่ง Reboot เครื่องใหม่เพื่อให้ pi อ่านค่า path ที่เพิ่มเข้าไปใหม่

หลังจากนั้นเมื่อ Reboot เสร็จแล้ว ให้ลองใช้คำสั่งนี้เพื่อแสดงรายละเอียดของ .netCore

dotnet --info
Enter fullscreen mode Exit fullscreen mode

ซึ่งก็จะได้รายละเอียดดังภาพ

Alt Text

เพี่ยงเท่านี้ก็จะสามารถใช้งาน .netCore บน pi ได้แล้ว แต่....
ถ้าจะให้ใช้ terminal ide อย่าง nano หรือ vim ก็คงจะลำบากสำหรับบางคน งั้นเรามาใช้ VSCode บน Windows เขียนโปรแกรมกันดีกว่า

เปิด VSCode ขึ้นมาแล้วติดตั้ง extension ที่ชื่อ Remote Development
โดยใช้คีย์ลัด CTRL + Shift + X เพื่อเปิดหน้าต่างของ Extension ขึ้นมา แล้วในช่องค้นหาก็ใส่ชื่อ Remote Development และเลือก Install

Alt Text

หลังจากติดตั้งเสร็จแล้ว ให้กดปุ่ม F1 หรือ CTRL + Shift + P เพื่อเปิด short command ขึ้นมา จากนั้นให้พิมพ์ Remote-ssh: Connect to Host และเลือก + Add new SSH Host เพื่อเป็นการกำหนดข้อมูลของ Pi ที่เราต้องการจะใช้งาน โดยเราสามารถใส่เป็น pi@ ก็ได้ แล้วกด Enter

Alt Text

จากนั้นจะให้เลือกตำแหน่งที่จะบันทึกการตั้งค่าของ SSH ซึ่งในที่นี้จะเลือกเป็น user directory ดังภาพ

Alt Text

เมื่อบันทึกเสร็จแล้ว ให้ปิด VSCode แล้วเปิดขึ้นมาให้ VSCode จะทำการเชื่อมต่อไปยัง Pi และจากนั้นจะถามเกี่ยวกับระบบปลายทางว่าเป็น OS แบบไหน ให้เลือก Linux และกด Enter

Alt Text

หากไม่ขึ้น popup ให้กด F1 และเลือก Remote-ssh: Connect to Host อีกครั้ง จะขึ้นโปรไฟล์ SSH ขึ้นมาให้เลือกไปยังโปรไฟล์ที่เพิ่มเข้าไป

Alt Text

หลังจากนั้นก็จะถามรหัสผ่านสำหรับ login อีกครั้ง ก็จะเป็นอันเสร็จ

Alt Text

สำหรับวิธีใช้งาน ขั้นแรกเราก็ต้องไปสร้างโปรเจคบน pi ขึ้นมาก่อน โดยในที่นี้จะสร้างเป็นโปรเจคไว้ในโฟลเดอร์ Documents\dotnet-projects และสร้างโปรเจคแบบ Console ด้วยคำสั่ง

dotnet new console --name HelloWorld
Enter fullscreen mode Exit fullscreen mode

Alt Text

หลังจากนั้นกลับมาที่ VSCode ก็จะเจอโปรแจค ดังภาพ

Alt Text

จากนั้นทดลองรันโปรเจคโดยใช้ Terminal โดยใช้คีย์ลัด CTRL + Shift + ~ ก็จะมีหน้าต่าง Terminal แสดงขึ้นมา ให้เราย้ายไปใช้โฟลเดอร์ที่เก็บโปรเจคก่อน ซึ่งก็จะเหมือนกับในภาพ

Alt Text

จากนั้นเราจะใช้คำสั่งเพื่อรันโปรเจค ดังนี้

dotnet run
Enter fullscreen mode Exit fullscreen mode

ซึ่งก็จะได้ผลลัพท์แบบนี้

Alt Text

Top comments (0)