เขียน LabVIEW เพื่อ remote client ด้วย SSH ไปยัง Ubuntu บนVirtual Machine

Anu Sakpibal
2 min readSep 16, 2022

--

การเชื่อมต่อข้ามแพลตฟอร์มจาก Windows ไปยังฝั่ง Linux ด้วย LabVIEW ผ่านโปรโตคอล SSH นั้นไม่ได้รับได้รับสนับสนุนจาก NI โดยตรง เชื่อว่าหลายๆคนที่ต้องทำงานด้านนนี้คงหาวิธีการเชื่อมต่อ SSH ไปยัง Linux Machine กันอยู่ อย่างเช่นงานด้าน Embeded Linux ใครที่ใช้งาน Raspberry Pi หรือ Jetson Nano ซึ่งก็พอจะมี Toolkit ให้เลือกใช้กันบน VIPM อยู่บ้างซึ่งก็ต้องไปศึกษาทดลองใช้กันว่าตัวไหนใช้งานได้ และวิธีใช้งาน Toolkit แต่ละตัวนั้นยังไง

สำหรับบทความนี้ เป็นวิธีหนึ่งในการเขียน LabVIEW เพื่อ remote client ไปยัง Ubuntu บน Virtual Machine ด้วยการใช้ PuTTY/Plist commands ผ่าน SSH โปรโตคอล ซึ่งสามารถส่ง command ต่างๆไปยังเครื่อง VM ได้โดยไม่ต้องใช้กระบวนท่าที่ยุ่งยากมากนัก โดยการใช้งานจะเป็นแบบในรูปด้านล่างนี้

จากรูป ขั้นตอนที่ LabVIEW ติดต่อไปยัง Ubuntu จะเรียกใช้ PuTTY commands tool (plink.exe) เพื่อส่ง command SSH ติดต่อไปยัง Ubuntu มาดูรายละเอียดเครื่องมือที่เราใช้ และขั้นตอนการทำงานกัน

ขั้นตอนการพัฒนา

  1. สำหรับใครที่ต้องการใช้งาน Ubuntu แนะนำให้ติดตั้ง Ubuntu เป็น Virtual Machine ด้วย VirtualBox หรือ VMWare (ใครที่ทำบน Embeded Linux ให้ข้ามขั้นตอนนี้ไปได้เลย)
  2. ทำการติดตั้ง SSH Server บนเครื่อง Ubuntu
sudo apt install openssh-server

3. ทำการดาวน์โหลดและติดตั้ง plink.exe (สำหรับคนที่ติดตั้ง PuTTY ไว้แล้ว plink.exe จะติดตั้งมาเรียบร้อยแล้ว) และลองตรวจสอบเวอร์ชั่นดู ด้วยคำสั่งผ่าน Windows cmd ด้านล่าง

plink — versionplink: Release 0.74
Build platform: 64-bit x86 Windows
Compiler: clang 11.0.0 (https://github.com/llvm/llvm-project/ bc15bf66dcca76cc06fe71fca35b74dc4d521021), emulating Visual Studio 2013 (12.0), _MSC_VER=1800
Source commit: 014d4fb151369f255b3debed7d15a154fd9036f5

4. เขียนโปรแกรม LabVIEW เรียกใช้งาน plink.exe และส่ง Parameter ต่างๆที่ใช้ในการเชื่อมต่อ SSH ดัง code ตัวอย่างด้านล่าง

ปิดท้าย

จะเห็นว่าการเรียกใช้งาน plink มีขั้นตอนไม่มาก สามารถนำไปพํฒนาต่อให้โปรแกรม LabVIEW มีการ Interactive message และจัดการ response ต่างๆทาง SSH ได้แล้ว บทความนี้ไม่ได้เจาะลึกถึงการใช้งาน VM software และการตั้งค่า Network เพื่อนๆสามารถค้นหาได้จาก Google นะครับ หากใครติดปัญหาตรงไหนสามารถสอบถามเข้ามาได้นะครับ

--

--

Anu Sakpibal

I’m miscellaneous developer. Work with Javascipt, C#, Python, iot @Dectre <code ’n’ craft lover/> https://github.com/nuSapb