โมดูล RPyC ย่อมาจาก Remote Python Call เป็นโมดูลสำหรับควบคุมคอมพิวเตอร์ผ่านเครือข่ายด้วยภาษา Python และยังสามารถทำระบบคลัสเตอร์ (clustering) และแจกจ่ายทรัพยากรระหว่างกัน (distributed-computing) ได้อีกด้วย
รองรับทั้ง Python 2 , Python 3
ใช้ License: MIT
สามารถติดตั้งได้โดยใช้คำสั่ง pip:
$ pip install rpyc
เราจะไปลองเขียนโปรแกรมควบคุมคอมพิวเตอร์ผ่านเครือข่ายด้วยภาษา Python กับโมดูล RPyC กันเลยครับ
ผมลง Ubuntu ไว้ใน VMware โดยผมต้องการควบคุมเครื่อง Ubuntu จากระบบปฏิบัติการ Windows
โค้ดส่วนเครื่องคอมพิวเตอร์ที่จะควบคุม
[python]
>>> from rpyc.utils.server import ThreadedServer
>>> import os
>>> import rpyc
>>> class MyService(rpyc.Service):
def exposed_echo(self, text):
os.system(text) # ให้รับข้อมูลที่ส่งมาจากตัวแปร text เป็นคำสั่ง สั่งงานตามที่ต้องการ
return os.name+" is ok." # ส่งข้อมูลกลับไปยังเครื่องที่ควบคุม
>>> server = ThreadedServer(MyService, port = 18812) # เรียกใช้คลาสคำสั่ง MyService และตั้งค่า port สำหรับใช้ควบคุมเครื่องคอมพิวเตอร์
>>> server.start() # ทำงาน
[/python]
ให้รันโค้ดส่วนเครื่องคอมพิวเตอร์ที่จะควบคุมก่อนครับ ต่อไปเขียนโค้ดส่วนเครื่องคอมพิวเตอร์ควบคุมกัน
โค้ดส่วนเครื่องคอมพิวเตอร์ควบคุม
[python]
>>> import rpyc
>>> con = rpyc.connect("192.168.177.143",18812) # เชื่อมต่อไปยัง Ubuntu โดยอ้างอิง IP และ port ของเครื่องที่จะควบคุม
>>> con.root.echo("echo 'Ok'") # ส่งข้อมูล
'posix is ok.'
[/python]
ผลลัพธ์
อ่านเอกสารการใช้งานโมดูล RPyC ได้ที่ https://rpyc.readthedocs.org
ติดตามบทความต่อไปนะครับ
ขอบคุณครับ
0 ความคิดเห็น:
แสดงความคิดเห็น
แสดงความคิดเห็นได้ครับ :)