H743发送串口程序
H743发送串口程序
首先pixhawk 4上面有四个串口,一个给了GPS,一个是TELEM1 一个是TELEM2 ,根据PX4用户指南,一般TELEM1插wifi数传,TELEM2插板载计算机。
插wifi数传和插板载计算机所用的串口实际都是传mavlink消息,所以telem1口和telem2口都是设置的MAV参数
添加串口传感器,比如tfmini这种串口的传感器,就只剩下UART&I2C B(飞控板上打印的是这个)这个串口了,也叫TELEM4
查看H743板上串口说明:
与GPS连线:+5V,GND,R2,T2
与罗盘连线:SCL CL1,SDA DA1
与数传连线:+5V,GND,RX6,TX6
禁用串口1(USART1)
通过QGC验证串口的有效发送PC(ttyS3)
打印Hello,UART!
RDX X5发送串口程序
通过USBA进行串口转接
- 运行
python3 /app/40pin_samples/test_serial.py
- 从打印的串口设备(其中 /dev/ttyS0 是系统调试口,不建议对它进行测试,除非你完全明白它的作用)中选择总线号和片选号作为输入选项,例如 RDK X3 选择测试
/dev/ttyS3
,RDK X5 选择测试/dev/ttyS1
,RDK Ultra 选择测试/dev/ttyS2
按回车键确认,并输入波特率参数:(新建的ttyUSB*)
通信
RDK5未插入USB前:
RDK5插入USB串口后:
编写USB0发送代码程序,波特率为57600,并设置为开机自启。
RDK5发送程序:
\#!/usr/bin/env python3 |
开机自启动设置:
步骤 1:安装 cron
包
更新包列表:
sudo apt update
安装
cron
包:sudo apt install cron
步骤 2:启动 cron
服务
安装完 cron
后,您需要确保 cron
服务正在运行:
启动并启用
cron
服务:sudo systemctl start cron
sudo systemctl enable cron检查
cron
服务状态:sudo systemctl status cron
如果服务启动正常,您应该看到类似以下的输出:
● cron.service - Regular background program processing daemon
Loaded: loaded (/lib/systemd/system/cron.service; enabled; vendor preset: enabled)
Active: active (running) since ...
...
步骤 3:再次编辑 crontab
现在,您应该能够使用 crontab
命令了:
以 root 用户身份编辑 crontab:
sudo crontab -e
然后按照之前的步骤,在
crontab
文件中添加:@reboot /usr/bin/python3 /app/40pin_samples/my_serial.py
保存并退出编辑器。
步骤 4:验证是否生效
重新启动您的机器:
sudo reboot |
在系统重新启动后,您的脚本应该会自动运行。如果需要查看 cron
的执行日志,可以检查系统日志:
sudo journalctl -u cron |
这样,您的脚本就应该会在系统启动时自动执行了。
步骤 1:确认脚本是否在 cron
作业中执行
首先,确认 cron
作业是否确实执行了您的脚本,您可以在 cron
作业中添加调试输出,帮助确认是否进入了执行阶段。
修改
cron
作业,添加调试信息:打开
crontab
编辑器并修改您的作业,在日志文件中添加更多的调试信息:bash
sudo crontab -e将
@reboot
作业修改为以下内容:bash
@reboot echo "Cron job started at $(date)" >> /var/log/my_serial.log
@reboot /usr/bin/python3 /app/40pin_samples/my_serial.py >> /var/log/my_serial.log 2>&1这会在每次重启后将当前时间(通过
$(date)
获取)添加到日志文件中,帮助您确认是否执行了cron
作业。保存并退出
crontab
编辑器。重新启动系统:
执行以下命令重启系统并触发
@reboot
作业:bash
sudo reboot查看日志文件:
bash
sudo cat /var/log/my_serial.log如果
cron
作业执行了,您应该能看到类似以下的内容:text
Cron job started at Wed Jan 9 17:17:01 UTC 2025