|
137 | 137 |
|
138 | 138 | #### 测试 |
139 | 139 |
|
140 | | -- 在 Ubuntu 上 |
141 | | - - 把当前用户加入串口所属的组 |
142 | | - - 查看串口所属的组 |
| 140 | +- 在 Linux 上 |
| 141 | + - 设置访问串口权限。可以使用下列方法之一: |
| 142 | + 1. 把当前用户加入串口所属的组 |
| 143 | + - 查看串口所属的组 |
143 | 144 |
|
144 | | - $ ls -la /dev/ttyS* |
145 | | - crw-rw---- 1 root dialout 4, 65 Aug 4 16:04 /dev/ttyS1 |
| 145 | + $ ls -la /dev/ttyS* |
| 146 | + crw-rw---- 1 root dialout 4, 65 Aug 4 16:04 /dev/ttyS1 |
146 | 147 |
|
147 | | - - 把当前用户加入串口所属的组 |
| 148 | + - 把当前用户加入串口所属的组 |
148 | 149 |
|
149 | | - sudo usermod -a -G dialout $USER |
| 150 | + sudo usermod -a -G dialout $USER |
150 | 151 |
|
151 | | - - 安装 `socat` |
| 152 | + 2. 把需要访问的串口授权为当前用户。 |
152 | 153 |
|
153 | | - $ sudo apt update |
154 | | - $ sudo apt install socat |
| 154 | + $ sudo chown $USER:dialout /dev/ttyS1 |
| 155 | + $ sudo chown $USER:dialout /dev/ttyS2 |
155 | 156 |
|
156 | | - - 创建一对虚拟串口 |
| 157 | + - 如果没有设置串口的访问权限,则需要使用 root 运行程序 |
157 | 158 |
|
158 | | - $ sudo socat -d -d pty,raw,echo=0 pty,raw,echo=0 |
| 159 | + $ sudo serialportassistant |
| 160 | + |
| 161 | + - 在本地使用虚拟串测试 |
| 162 | + - 安装 `socat` |
| 163 | + |
| 164 | + # Ubuntu |
| 165 | + $ sudo apt update |
| 166 | + $ sudo apt install socat |
159 | 167 |
|
160 | | - - 运行后会显示: |
| 168 | + - 创建一对虚拟串口 |
161 | 169 |
|
162 | | - 2025/12/03 14:09:27 socat[31902] N PTY is /dev/pts/5 |
163 | | - 2025/12/03 14:09:27 socat[31902] N PTY is /dev/pts/6 |
164 | | - 2025/12/03 14:09:27 socat[31902] N starting data transfer loop with FDs [5,5] and [7,7] |
| 170 | + $ sudo socat -d -d pty,raw,echo=0 pty,raw,echo=0 |
| 171 | + |
| 172 | + 运行后会显示: |
| 173 | + |
| 174 | + 2025/12/03 14:09:27 socat[31902] N PTY is /dev/pts/5 |
| 175 | + 2025/12/03 14:09:27 socat[31902] N PTY is /dev/pts/6 |
| 176 | + 2025/12/03 14:09:27 socat[31902] N starting data transfer loop with FDs [5,5] and [7,7] |
165 | 177 |
|
166 | 178 | - 创建符号链接(可选,为了更好的命名) |
167 | 179 |
|
|
172 | 184 |
|
173 | 185 | $ sudo socat -d -d pty,link=/dev/ttyVCOM0,raw,echo=0 pty,link=/dev/ttyVCOM1,raw,echo=0 |
174 | 186 |
|
175 | | - - 现在可以用本程序打开串口 `/dev/pts/5`(/dev/ttyVCOM0) 和 `/dev/pts/6`(/dev/ttyVCOM1)。 |
176 | | - 因为这些串口命名为非标准串口命名,本程序可以找不到它。你可以在"串口"输入: /dev/pts/5 |
177 | | - 因为虚拟串口建立时,是以 root 权限建立的,所以也需要使用 root 权限运行本程序。 |
| 187 | + - 现在可以用本程序打开串口 `/dev/pts/5`(/dev/ttyVCOM0) 和 `/dev/pts/6`(/dev/ttyVCOM1)。 |
| 188 | + 因为这些串口命名为非标准串口命名,本程序可能找不到它。你可以在"串口"输入: /dev/pts/5 |
| 189 | + 因为虚拟串口建立时,是以 root 权限建立的,所以也需要使用 root 权限运行本程序。 |
178 | 190 |
|
179 | | - $ sudo serialportassistant |
| 191 | + $ sudo serialportassistant |
180 | 192 |
|
181 | | - 或者把串口授权为当前用户。 |
| 193 | + 或者把串口授权为当前用户。 |
182 | 194 |
|
183 | | - $ sudo chown $USER:tty /dev/pts/5 |
184 | | - $ sudo chown $USER:tty /dev/pts/6 |
185 | | - $ serialportassistant |
| 195 | + $ sudo chown $USER:tty /dev/pts/5 |
| 196 | + $ sudo chown $USER:tty /dev/pts/6 |
| 197 | + $ serialportassistant |
0 commit comments