demo

虚拟机:https://www.vmware.com/cn.html

清华开源镜像站:https://mirrors.tuna.tsinghua.edu.cn/

Ubuntu有一个update-motd包,它在/etc/update-motd.d/目录下有一些脚本,这些脚本在每次登录时运行,并输出到/etc/motd

Ubuntu 安装

**

**

Socket

相关文章:http://t.csdnimg.cn/kDgB8

套接字:

linux USART驱动

带界面的串口调试助手 CuteCom :sudo apt-get install cutecom

虚拟串口模拟器 socat:sudo apt-get install socat

1
2
3
4
5
6
7
8
9
10
11
虚拟串口生成 `socat -d -d pty,b115200 pty,b115200`

-d:启用调试输出

pty:生成伪终端

raw:使数据保存原始模式

echo = 0:禁用输入字符的回显

b“115200”:设置波特率为 “115200”

linux I2C 驱动

1
2
#include <linux/i2c.h>
#include <linux/i2c-dev.h>

Linux CAN 驱动

底层:socket-can

涉猎:libsocketcan提供了更加方便的API

相关指令:

1
2
3
4
5
ifconfig can0 down  //关闭CAN
ip link set can0 type can bitrate 1000000 //设置CAN波特率/*
ip link set can0 type can loopback on|off //设置CAN循环模式/*
ifconfig can0 up //打开CAN/*
ip -details link show can0 //查询CAN相关信息/*

.rules

以 .rules 结尾的文件是 Linux 系统中用于配置 udev 规则的文件。udev 是 Linux 系统的设备管理器,它负责动态地管理设备节点(如 /dev/sda1)的创建、删除和权限设置。这些规则文件定义了如何处理不同的设备,具体包括以下内容:

主要作用:

  1. 设备命名和权限设置:
  • 规则文件可以指定设备的名称、创建符号链接(symlinks)以及设置设备文件的权限和属主。例如,你可以为特定类型的设备创建一个友好的名称和适当的权限。
  1. 设备事件处理:
  • 规则可以定义在设备连接或断开时要执行的操作。例如,当特定的设备连接到系统时,可以自动运行一个脚本或程序。
  1. 设备属性管理:
  • 规则可以基于设备的属性(如制造商、型号、序列号等)来决定如何处理设备。这可以确保系统根据设备的具体信息来正确配置它。
    规则文件的基本结构:
    规则文件由多个规则行组成,每一行定义了一条规则。规则通常包括条件(如设备的属性)、动作(如设置权限或运行命令),以及可选的注释。
    示例规则:

示例规则

1
SUBSYSTEM=="usb", ATTR{idVendor}=="1234", ATTR{idProduct}=="5678", MODE="0666", SYMLINK+="mydevice"

这条规则的意思是:

  • 当 usb 子系统中的设备的 idVendor 是 1234 且 idProduct 是 5678 时,
  • 设置设备文件的权限为 0666,
  • 同时创建一个名为 mydevice 的符号链接指向这个设备。

典型使用场景:

  • 设备自动配置:确保连接特定设备时,系统会自动进行所需的配置操作。
  • 设备识别:为不同类型的设备创建一致的符号链接,使得用户和程序可以通过统一的名称访问设备。
  • 权限控制:设置设备文件的权限,以确保只有授权用户可以访问设备。
    这些规则文件通常存放在 /etc/udev/rules.d/ 目录下,并且它们的配置会在系统启动时或设备连接时加载和应用。

远程开发

方案:使用vscode 通过 SSH 连接远程ubuntu开发机, 同时可以开发ROS