一 增加脚本免密输入,为了执行can.sh里面使用ip指令需要输入密码部分
1、建立sudoer文件:
sudo gedit /etc/sudoers.d/ovs_sudoers
2: 写入:
#!/etc/sudoers.d/bash
vensin ALL = (ALL)NOPASSWD: /bin/ip, /sbin/ip
3: 更改权限:
sudo chmod 440 /etc/sudoers.d/ovs_sudoers
can.sh 脚本
#!/bin/bash
dev=`/sbin/ifconfig -a | grep 'can' | awk '{print $1}'`
if [ ${dev} != "" ];then
case "$1" in
up)
echo "Find can device ${dev}."
if [ $# -gt 1 ];then
band=$2
echo "Set ${dev} bandrate ${band}."
sudo ip link set ${dev} type can bitrate ${band}
else
echo "Set ${dev} bandrate 125k."
sudo ip link set ${dev} type can bitrate 125000
fi
echo "${dev} device up."
sudo ip link set up ${dev}
exit $?
;;
down)
echo "Set ${dev} down."
sudo ip link set down ${dev}
exit $?
;;
*)
echo "Please use up/down [band]."
exit 0
;;
esac
else
echo "Not find can device." > canLog.txt
exit -1
fi
二:安装依赖SDL库 muParser库
sudo apt-get install libsdl-image1.2-dev
sudo apt install libmuparser-dev
注意事项:
vda505包 cmakelist 需要去掉move_base相关的依赖
更换code_read_camera 有版本
删除can_msgs_stram包
加入can.sh
加入autostart.sh
设置can设备权限问题
moberX 无法打开gedit弹窗问题
sudo cp /home/vensin/.Xauthority /root/.Xauthority
加入rc.local
sudo gedit /lib/systemd/system/rc-local.service
加入
[Install]
WantedBy=multi-user.target
Alias=rc-local.service
sudo vim /etc/rc.local
#!/bin/sh
exit 0
sudo chmod +x /etc/rc.local
ln -s /lib/systemd/system/rc.local.service /etc/systemd/system/
三、 其他功能包
Carto bagecord vda5050 io 驱动 串口
安装rosmon
sudo apt install ros-${ROS_DISTRO}-rosmon
安装混控 twist_mux
sudo apt-get install ros-noetic-twist-mux
安装手柄
sudo apt-get install ros-noetic-joy
安装canDump
sudo apt-get install can-utils
安装python3
sudo apt-get install python-is-python3
安装ros_bridger
sudo apt-get install ros-noetic-rosbridge-*
如果安装完毕后提示找不到包,删除build 和devel重新全编译即可
安装pip
sudo apt install python3-pip
Vda5050 python程序依赖
pip install dataclasses_json
pip install dotmap
pip install jsonschema
pip install paho.mqtt
四、配置FTP
启动ftpuser.sh
sudo bash ./ftuser.sh
ftpusr.sh脚本内容
#!/bin/bash
sudo useradd "parammanager" -d /home/vensin/lgmgagv_ws/src/lgmg_robots/agv_bringup/agvs/ -m
echo "parammanager:123" | chpasswd
sudo usermod -s /sbin/nologin "parammanager"
sudo useradd "logmanager" -d /home/vensin/record/ -m
echo "logmanager:123" | chpasswd
sudo usermod -s /sbin/nologin "logmanager"
sudo useradd "ftpdir" -d /home/vensin/lgmgagv_ws/src/lgmg_robots/agv_navigation/agv_navmap/map/ -m
echo "ftpdir:123" | chpasswd
sudo usermod -s /sbin/nologin "ftpdir"
五、使用pl2303驱动模块(485串口模块)
使用I3工控机自带串口不用此操作;
如果内核版本5.5以上内置驱动,插上不自动识别,那么找到一个最近版本,源码编译,修改制定报错即可。
修改函数的返回值(2个错误)。
使用力特usb转rs485 用于读取电池电量模块
登录官网下载驱动:
查看是否有驱动
lsmod | grep pl2303
内核版本5.5以上内置驱动
Linux Kernel 5.5 and above already includes built-in drivers for PL2303G Chip.
If you's Linux kernel is v2.6.15 ~v5.4,
Please update the PL2303G Linux driver in the following way.
1. terminal // open terminal AP. S1.png
2. uname -r // found out the nearest Linux kernel version first , S2.png
3. make all // make new driver, if you have meet error message during make kernel driver, please send email to us. , S3.png
4. sudo cp pl2303.ko /lib/modules/$(uname -r)/kernel/drivers/usb/serial
// copy new driver to kernel. S4.png
5. sudo gedit /etc/modules // edit modules , S5.png
6. pl2303 // add pl2303, save, close modules , S6.png
7. reboot // reboot OS , S7.png
8. plug in new cable, and then enjoy!
dmesg | tail
http://www.z-tek.com.cn/cn/list/371-2.html