前言
本文将会记录nano的开机自启动,以及与stm32的串口通讯
同时本人刚接触nano不久,水平有限,通过自己的经验以及查找相关资料编写的,难免出现错漏以及不规范的地方,若能得到各位大佬进行批评与指正,在下不胜感激
目录
(一)开机自动运行程序
1. 创建shell脚本
cd Desktop
touch start.sh
2.创建需要运行的文件
(本篇以运行.py文件为例)
touch start.py
3.编辑start.sh文件
vim start.sh
将下列内容写入start.sh后保存
sudo python3 ./Desktop/start.py
不懂的可以,看上一篇有讲过
小白从零开始配置Jetson Nano环境的曲折过程2(开机与基本的环境配置)-优快云博客
4.编辑start.py文件
vim start.py
为做演示,随便在.py文件里写一句试试效果
print("666")
5.修改shell脚本权限
让start.sh文件有运行的权限
sudo chmod 777 start.sh
6. 输入命令打开类似于win系统里的”启动“程序
gnome-session-properties
按如下操作,
在name中填写 start(写什么都行)
在Command中填入
gnome-terminal -x ./Desktop/start.sh
然后点击添加即可
7.授权规则
在终端输入的命令,有时用到sudo命令需要输入密码,若在开机自启动的文件里使用,可能导致开机启动失败
因此使用授权规则将新文件添加到 /etc/sudoers.d 目录来解决
添加该方法而不是编辑 sudoers文件,可使 sudo 权限的管理更加可维护
输入下列内容(user 为自己系统的用户名)
sudo vi /etc/sudoers.d/user
进入vim编辑模式后,输入下列内容(user 为自己系统的用户名)
user ALL=(ALL) NOPASSWD:ALL
完成后,保存并关闭编辑器, 就可以开机自启动程序了
(二)串口通信
1.获取要传输的设备usb口文件
依次输入下列内容:
cd /dev
ls
nano:
UART_2 TX —— Pin8
UART_2 RX —— Pin10
属于ttyTHS1文件
2.对ttyTHS1进行权限修改
输入下列命令
sudo chmod 777 ttyTHS1
3.添加用户组
输入下列命令(user为自己系统的用户名)
sudo usermod -a -G dialout user
4.安装serial库
sudo apt-get install python3-serial
5.编写通讯代码
打开 (一)4. 中创建的start.py文件
vim ./Desktop/start.py
输入下列内容
import serial
import time
ser = serial.Serial("/dev/ttyTHS1", 115200)
#比特率为115200(可更改为9600)
a = 0
while True:
data = [0x00, 0x01, 0xc5, int(a), 0xfe, 0xff]
print(data)
ser.write(data)
a=a+1
time.sleep(0.5)
if a == 100:
break
完成后保存退出
6.连接串口
将nano的Pin8连接到USB转TTL模块的RX接口,Pin10接到TX接口
在将模块接入电脑
7.验证接收
输入命令
python3 start.py
可以看到终端开始打印数据包
在电脑的串口助手上就能看到nano发送的数据了
同理,在stm32端接收的代码为正常接收串口通信的代码即可
以下是本人关于nano其他配置的文章,感兴趣的可以看看:
小白从零开始配置Jetson Nano环境的曲折过程1(TF卡初始化,环境烧录)-优快云博客
小白从零开始配置Jetson Nano环境的曲折过程2(开机与基本的环境配置)_jetson nano 开机-优快云博客
小白从零开始配置Jetson Nano环境的曲折过程4(安装archiconda、opencv、pyqt5)-优快云博客