0. 問題
兩台ubuntu主機無法與一台debian主機使用分布式通信,攝像頭發出的話題機器人收不到,考慮是時間同步的問題。
也可能是系統不統一的問題;
今天在家實驗了一下,時間差6min,照樣可以收到數據,但是是兩台debian主機之間。
難道真的是系統不一樣的問題?
1. 安裝
sudo apt-get install ntpdate
2. 檢查和某台主機的時間差
sudo ntpdate -q 192.168.1.102 %最后是目標主機IP地址
3. 如果時間差較大,需要安裝chrony來同步系統時間
sudo apt-get install chrony
編輯某台機器上的 /etc/chrony/chrony.conf 文件, 添加另一台機器作為服務器。
舉例:
你打算讓機器人RC1獲取筆記本PC1的時間,你可以這樣寫:
server PC1 minpoll 0 maxpoll 5 maxdelay .05
這樣的話,機器人系統時間就會慢慢地同步到你筆記本的時間。
如果機器人和你筆記本的時間差非常的花,你可以使用一下幾句讓機器人系統時間和筆記本系統時間立即同步:
/etc/init.d/chrony stop ntpdate other_computer_ip /etc/init.d/chrony start
(root 用戶)但是,大的時間跳動會帶來一些問題,因此除非迫不得已,不建議這么做。
如果你使用的是wifi網絡,並且時間沒有同步,你可以把 maxdelay 的值調的大一些。
4. 隔離網絡問題
如果是隔離網絡,也就是你的機器人/服務器和任何外部設備都沒有網絡連接,系統時間只能通過一個參考始終獲取。
請參考這里:
https://chrony.tuxfamily.org/manual.html#Isolated-networks