您現在的位置是:首頁 > 攝影首頁攝影
構建基於樹莓派cm4的機器人控制系統的執行環境
codefieh是什麼相機
測試硬體使用
codepi
基於樹莓派
CM4
模組。
硬體連結:
https://item。taobao。com/item。htm?spm=a230r。1。14。16。6879160ehlKqAX&id=635013789059&ns=1&abbucket=1#detail
首先根據
codepi
說明書,安裝好廠商提供的原始映象。
1安裝依賴庫:
1)Qt安裝:
使用
linaro7。5
編譯工具
參考
https://www。jianshu。com/p/0b86b42eed71
。/configure -release -opengl es2 -device linux-rasp-pi4-v3d-g++ -device-option CROSS_COMPILE=/opt/linaro7。5/bin/arm-linux-gnueabihf- -sysroot /opt/raspi/sysroot -opensource -confirm-license -reduce-exports -make libs -prefix /usr/local/qt5pi -extprefix /opt/raspi/qt5pi -hostprefix /opt/raspi/qt5pi-host -v
經驗:
1
)樹莓派上面安裝
sudo apt get install libgles2mesadev libgbmdev
不成功。缺少該庫會導致編譯
qt
時,
qmake
不成功。
在樹莓派上面
apt-get qt
時,預設安裝的是
5。11。3
,就不需要手動安裝
libgles2 libgbmdev
了。但是安裝
qtcreator
不成功。
2
)
apt-cache search qt5apt-cache show qt5-default
sudo apt-get install qt5-default
在
x86
主機上面完成交叉編譯。
2)Opencv
參考
https://blog。csdn。net/ett_qin/article/details/88116899
1
) 在樹莓派上面編譯
opencv
(
cv2。cpp
需要修改程式碼新增
(char *)
和
python
資料轉換相關。),然後將庫複製到
ubuntu
,
qtcreator
編譯程式時,由於兩個平臺的編譯器不一樣,會導致一個報錯。所以必須在
ubuntu
上面進行交叉編譯。
2
)參考進行交叉編譯
cmake-gui
配置,不需要依賴樹莓派任何路徑。需要遮蔽
protocol cuda,
否則編譯報錯。
cmake-catchlist
需要配置一個引數,否則編譯報錯。
3)
編譯完成的庫,需要複製到
/lib
路徑下面,否則找不到庫,宣告庫路徑也不行。放在可執行檔案的上
2
級目錄
lib
下面。
3)Eigen3
apt-get install eigen3-dev
樹莓派環境安裝
ccmake
用於預編譯
kdl
apt-get install cmake-curses-gui
4)Libmodbus 3。0。8
參考
https://libmodbus。org/documentation/
在樹莓派環境編譯
modbus 3。0。8
5)KDL
樹莓派環境安裝
ccmake
用於預編譯
kdl
apt-get install cmake-curses-gui
在樹莓派環境編譯
kdl
2編譯更換RT核心
下載帶
RT
補丁的核心
https://github。com/kdoren/linux
在
X86
上面編譯:
交叉編譯:
https://blog。csdn。net/u014695839/article/details/83720145
RT
樹莓派核心原始碼:
https://github。com/kdoren/linux
CM4
修改:
make ARCH=arm CROSS_COMPILE=。。/tools-master/arm-bcm2708/arm-linux-gnueabihf/bin/arm-linux-gnueabihf- bcm2711_defconfig
KERNEL=kernel7l
make ARCH=arm CROSS_COMPILE=。。/tools-master/arm-bcm2708/arm-linux-gnueabihf/bin/arm-linux-gnueabihf- menuconfig
需要改為
RT
核心選項。
make ARCH=arm CROSS_COMPILE=。。/tools-master/arm-bcm2708/arm-linux-gnueabihf/bin/arm-linux-gnueabihf- -j4 deb-pkg
生成
DEB
安裝包
複製
deb
包到樹莓派:
apt install 。/linux-image-5。10。73-rt54-v7l+_5。10。73-1_armhf。deb # 32-bit kernel
KERN=5。10。73-rt54-v7l+ # 32-bit kernel
mkdir -p /boot/$KERN/overlays/
cp -d /usr/lib/linux-image-$KERN/overlays/* /boot/$KERN/overlays/
cp -dr /usr/lib/linux-image-$KERN/* /boot/$KERN/
[[ -d /usr/lib/linux-image-$KERN/broadcom ]] && cp -d /usr/lib/linux-image-$KERN/broadcom/* /boot/$KERN/
touch /boot/$KERN/overlays/README
mv /boot/vmlinuz-$KERN /boot/$KERN/
mv /boot/initrd。img-$KERN /boot/$KERN/
mv /boot/System。map-$KERN /boot/$KERN/
cp /boot/config-$KERN /boot/$KERN/
修改檔案
/boot/config。txt
,在末尾替換追加。
cat >> /boot/config。txt << EOF
[all]
kernel=vmlinuz-$KERN
# initramfs initrd。img-$KERN
os_prefix=$KERN/
overlay_prefix=overlays/$(if [[ “$KERN” =~ ‘v8’ ]]; then echo -e “\narm_64bit=1”; fi)
EOF
3編譯IGH
樹莓派環境編譯
IGH
時,
make modules
會報錯。
在
x86
環境下交叉編譯
。/configure ——prefix=/agvwork/igh/ethercat-stable-1。5/etherlab ——with-linux-dir=/opt/linux-headers-5。4。75-rt41-v7l ——enable-8139too=no ——enable-generic=yes
make ARCH=arm CROSS_COMPILE=/opt/raspberry/tools-master/arm-bcm2708/arm-linux-gnueabihf/bin/arm-linux-gnueabihf- -j4
4常用命令
1)檢視網絡卡速度
iftop
2)
檢視網路配置和設定網絡卡模式
mii-tool
https://blog。csdn。net/chinalinux 。。。 7Edefault-1。baidujs
3)關閉codesys
SSH
連上或用
ALT+F4
關閉介面,然後編輯
/etc/xdg/lxsession/LXDE-pi/autostart
,把
chromium
那行刪掉就可以
sudo apt-get ——purge remove codesyscontrol*
4)擴大系統UDP緩衝區大小,解決resend問題。
sysctl net。core。rmem_max
su
echo 16777216 > /proc/sys/net/core/rmem_max
sudo nano /etc/rc。local
新增引數配置
echo 16777216 > /proc/sys/net/core/rmem_max
5)CPU頻率:
vcgencmd measure_clock arm
6)溫度:
vcgencmd measure_temp
7)1000m網口相容100m網線
sudo ethtool –s eth0 speed 100 duplex full autoneg off
編輯
/etc/rc。local
,在
exit0
之前插入這個命令就會自動生效
8)開機自動啟動程式
建立檔案加
autostart
mkdir ~/。config/autostart
1
sudo vim ~/。config/autostart/myprogram。desktop
1
然後輸入下面命令
[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=myprogram
Exec=lxterminal -e bash -c ‘python3 /home/pi/Desktop/test。py;$SHELL’
Terminal=true
1
其中
python3 /home/pi/Desktop/test。py
為需要執行的程式碼,使用時替換成自己需要的執行的命令即可,注意不要刪掉前面的
‘
和後面的
;
,
$SHELL
是為了保證開啟的終端會一直顯示,如果刪掉的話執行該句程式碼後就會
kill
掉這個程序,等於程式沒有執行。
最後設定許可權:
sudo chmod a+r ~/。config/autostart/myprogram。desktop
5 系統備份和恢復
備份:外部接
U
盤,使用
backup。sh
指令碼生成
img
檔案到
u
盤
恢復:先插
micro USB
再插供電,在電腦上執行
rpiboot
後用
win32diskimager
燒寫
github。com/feecat/codepi/blob/main/docs/3-PowerUP_ZH-CN。md
作者:華磊
(有償提供
ethercat
主站或運動控制系統技術支援和服務)
微信:
18820959358