本文檔主要介紹python如何控制樹莓派機械臂的操作,其中涉及到主要五個方面的問題。
①樹莓派wifi模式的搭建
②wifi模式下vnc連接的ip查詢
③修改pi,root兩個賬號和密碼
④telnet服務開啟
⑤樹莓派靜態IP的配置。
一、樹莓派wifi模式搭建
樹莓派wifi模式的搭建的目的是為了讓樹莓派連接上外部無線網。樹莓派本身並沒有配置telnet服務,所以外部設備想通過telnet與樹莓派是沒法連接的。所以需要搭建wifi模式。
1.1 手機開啟熱點
如熱點的賬號是(HWWH, HWWH)
1.2 樹莓派修改啟動方式為wifi模式
cd /boot/ // 進入boot目錄下ls // 可以看到hiwonder_wifi_conf.py文件
sudo vim hiwonder_wifi_conf.py // 進入hiwonder_wifi_conf.py,修改內容,修改成如下代碼,保存即可。
原始內容如下:
修改之后的內容如下:
sudo reboot //重新啟動樹莓派主板。wifi模式開啟
二、wifi模式下vnc連接的ip查詢
設置wifi模式過后,手機開啟熱點,賬號密碼(HWWH, HWWH)。此時電腦連接此wifi,手動重啟樹莓派,等樹莓派原本閃爍的燈保持常亮的時候,樹莓派的wifi連接成功。
此時,需要使用vnc連接樹莓派,因為電腦連接的wifi賬號已經改了,所有樹莓派的默認連接ip已經被修改了。
查詢修改后的ip方法如下:
1、cmd中查詢當前電腦的的所有 arp -a
2、安裝 ipscan22.exe軟件,安裝包如圖所示
3、打開安裝之后的位置,輸入查詢到的電腦ip地址192.168.43.1 - 后面的 IP地址第三組數字修改成您電腦IP地址里面對應的那個數值。比如我這里電腦IP地址第三組數字為43,就將第二個紅框內的第三組數字也改為43,其他不需要更改。
4、點擊掃描,就可以看到樹莓派的ip地址
此時,通過vnc就可以連接ip192.169.43.31進而連接樹莓派機械臂。
三、修改pi,root兩個賬號的密碼
樹莓派默認的用戶名:pi,默認密碼:raspberry,可以根據需求修改pi的密碼。也可以不修改。
修改root密碼,因為root賬號和密碼的權限很大,對於后面的操作需要用到,root賬號的默認密碼不清楚
2.1 修改pi賬號密碼
sudo passwd pi
2.2 修改root賬號密碼
sudo passwd root
四、telnet服務開啟
telnet服務的作用是為了外設與樹莓派之間交互。外設通過python來控制樹莓派的操作
3.1 安裝telnet服務
sudo apt-get update // 更新安裝源 sudo apt-get install openbsd-inetd // 安裝openbsd-inetd,有的樹莓派不需要安裝也可以,具體什么作用不清楚 sudo apt-get install xinetd telnet // 安裝telnet包 sudo apt-get install xinetd telnetd // 開啟telnet的守護進程 su root // 切換用戶 xxxxxxx // 輸入密碼 vim /etc/inetd.conf // 編輯文件,輸入下面內容telnet stream tcp nowait telnetd /usr/sbin/tcpd /usr/sbin/in.telnetdvim /etc/xinetd.conf // 編輯文件,修改為下面內容defaults{ # Please note that you need a log_type line to be able to use log_on_success # and log_on_failure. The default is the following : # log_type = SYSLOG daemon info instances = 60 log_type = SYSLOG authpriv log_on_success = HOST PID log_on_failure = HOST cps = 25 30 }sudo /etc/init.d/xinetd restart // 重啟開啟守護進程
檢查telnet的運行狀態 netstat -a | grep telnet
輸出:tcp 0 0 *:telnet *:* LISTEN ---說明telnet已經開啟
3.2 python編寫telnet服務代碼連接樹莓派(pi, xxxxxx)
tnlnet = telnetlib.Telnet(url) print tn.set_debuglevel(2) tnlnet.read_until(b"login:") tnlnet.write('pi'.encode('ascii') + b"\n") #輸入賬號 tnlnet.read_until(b'Password:') tnlnet.write('xxxxxx'.encode('ascii') + b"\n") # 輸入密碼 tnlnet.read_until(b'~$') tnlnet.write('python3 init.py'.encode('ascii') + b"\n") tnlnet.read_until(b"#") tnlnet.write(b"exit\n")
五、樹莓派靜態IP配置
樹莓派配置靜態ip的目的是因為樹莓派網線插入交換機的時候,每次當樹莓派重啟以后,我們給樹莓派網口配置的ip就會消失,需要重新配置。所以設置靜態ip以后,樹莓派就不要每次重新配置。
sudo vim /etc/dhcpcd.conf
在內容最下面輸入下面內容
interface eth0 static ip_address=192.100.100.99 static router=192.100.1.1
sudo reboot













