ในการตั้งค่า network เพื่อควบคุมหุ่นยนต์ ROS แบบ remote ผ่าน WiFi ผมประสบปัญหาอย่างหนึ่ง คือ บางครั้ง router มันเปลี่ยนค่า IP address ของเครื่องคอมพิวเตอร์ หรือ บางทีก็จำ IP address ไม่ได้บ้าง ในเวบนี้มีวิธีแก้ปัญหา คือ แทนที่จะจำ IP address เรามาจำชื่อ url กันดีกว่า เช่น ssh ubuntu@myrobot.local แทนที่จะเป็น ssh ubuntu@192.168.0.1
1. ตั้งชื่อคอมพิวเตอร์ทั้งเครื่อง local และ remote โดยการแก้ไขไฟล์ /etc/hostname และ /etc/hosts
2. ติดตั้ง zeroconf ทั้งในเครื่องคอมพิวเตอร์ local และ remote
sudo apt-get install netatalk
sudo apt-get install avahi-daemon
sudo update-rc.d avahi-daemon defaults
3. ทดสอบการเชื่อมต่อ
ping local-pc.local
ping myrobot.local
4. ตั้งค่าในไฟล์ .bashrc
ในเครื่อง local เพิ่ม
export ROS_MASTER_URI=http://myrobot.local:11311
export ROS_HOSTNAME=local-pc.local
ในเครื่อง remote ที่ติดไปกับหุ่นยนต์ เพิ่ม
export ROS_MASTER_URI=http://localhost:11311
export ROS_HOSTNAME=myrobot.local
อย่าลืม source .bashrc หลังบันทึกไฟล์แล้ว
5. ตอนนี้เราก็สามารถ ssh แบบไม่ต้องจำ IP address ได้เช่นกัน
ssh username@myrobot.local
ถ้าไม่อยากใส่ password ในการ ssh ทุกครั้ง อ่านบทความนี้
Showing posts with label Remote control. Show all posts
Showing posts with label Remote control. Show all posts
Jul 14, 2018
SSH login แบบไม่ต้องใส่ password ทุกครั้ง
การ login เพื่อไปรันโหนดของ ROS ในเครื่อง remote ที่ติดไปกับตัวหุ่นยนต์ เช่น Raspberry Pi หรือ Mini PC หรือ Netbook ก็ตาม เราต้อง ssh กันบ่อยๆ ถ้าต้องใส่ password ทุกครั้งก็เสียเวลา ในเวบนี้มีวิธีแก้ปัญหานี้ สมมุติว่าที่เครื่อง local คอมพิวเตอร์ของเราชื่อ A โดย username คือ a ส่วน remote คอมพิวเตอร์ที่ติดไปกับตัวหุ่นยนต์ชื่อ B โดย username คือ b
1. สร้างคีย์ที่เครื่อง local
a@A:~> ssh-keygen -t rsa
2. คัดลอกคีย์ไปที่เครื่อง remote
a@A:~> ssh b@B mkdir -p .ssh
a@A:~> cat .ssh/id_rsa.pub | ssh b@B 'cat >> .ssh/authorized_keys'
3. login เครื่อง remote ด้วยคำสั่ง
a@A:~> ssh b@B
ถ้าไม่ได้ผล อาจจะขึ้นอยู่กับเวอร์ชั่นของ SSH ด้วย ในบางระบบอาจจะต้องแก้ไข คือ
1. สร้างคีย์ที่เครื่อง local
a@A:~> ssh-keygen -t rsa
2. คัดลอกคีย์ไปที่เครื่อง remote
a@A:~> ssh b@B mkdir -p .ssh
a@A:~> cat .ssh/id_rsa.pub | ssh b@B 'cat >> .ssh/authorized_keys'
3. login เครื่อง remote ด้วยคำสั่ง
a@A:~> ssh b@B
ถ้าไม่ได้ผล อาจจะขึ้นอยู่กับเวอร์ชั่นของ SSH ด้วย ในบางระบบอาจจะต้องแก้ไข คือ
- เพิ่มคีย์ใน .ssh/authorized_keys2 แทน
- เปลี่ยนโหมด .ssh เป็น 700
- เปลื่ยนโหมด .ssh/authorized_keys2 เป็น 640
Jul 21, 2017
การติดตั้ง VNC ใน Ubuntu MATE 16.04 บน Raspberry Pi 3
บทความนี้เราจะติดตั้ง TightVNC เพื่อทำระบบ remote control แบบไร้สายผ่าน WiFi สำหรับ Raspberry Pi 3 ที่ติดตั้ง Ubuntu Mate 16.04 โดยมีขั้นตอนดังนี้
1. ติดตั้ง TightVNC
2. ตั้งค่า lightdm
ที่มา
http://panjitalk.com/connecting-ubuntu-mate-in-raspberry-pi-using-tightvnc/
1. ติดตั้ง TightVNC
sudo apt-get update sudo apt-get install tightvncserver
2. ตั้งค่า lightdm
sudo pluma /etc/lightdm/lightdm.conf จากนั้นใส่เนื้อหาดังนี้ แล้ว save3. จากนั้นรีสตาร์ท lightdm[VNCServer] enabled=true port=5900 width=800 height=600 depth=16
sudo /etc/init.d/lightdm restart
4. ตั้งค่า WiFi เพื่อให้เชื่อมต่ออินเทอร์เนตก่อนจะ login โดยการเข้าไปที่ Edit connection เลือก Edit ชื่อ WiFi hot spot ที่เชื่อมต่อ ในแทบ General เลือก All users may allow to connect
ที่มา
http://panjitalk.com/connecting-ubuntu-mate-in-raspberry-pi-using-tightvnc/
Subscribe to:
Posts (Atom)