将上位机程序从PC的window系统迁移至Intel NUC的无桌面版ubuntu系统问题记录

chatgpt/2023/10/4 7:09:32

将上位机程序从PC的window系统迁移至Intel NUC的无桌面版ubuntu系统

问题一 网口失效

问题描述:NUC关机状态下,将网口与路由器连接,网络指示灯闪烁;NUC开机后,网络指示灯熄灭,使用ping命令,既ping不通百度,也ping不同本地ip。

经排查,NUC开机后,需要执行命令使能网口,才可以正常使用。如果NUC 的网络端口为enp86s0,则应执行以下命令:

ifconfig   enp86s0  up

关闭网口,则执行以下命令

ifconfig   enp86s0  down

修改配置文件,将ip设置为动态ip

vim  /etc/netplan/00-installer-config.yaml

将yaml文件的内容改为

network:ethernets:enp86s0: # 有线网口的值,使用ifconfig -a 查看,根据实际情况进行修改dhcp4: trueversion: 2

执行reboot命令,重新启动。

问题二 修改串口

问题描述:Windows下的串口名称为COM0~COMX,而Linux下的串口名称为/dev/ttyUSB0-USB*。需要对应上。
使用串口设备的时候系统会随机分配设备名称,为了使用串口通信的时候不改代码,可以对其进行绑定。
执行以下命令,查看自己设备的dVendoridProduct

 lsusb

输出结果如下所示:

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 016: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter 
Bus 001 Device 003: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse.   
Bus 001 Device 004: ID 8087:0033 Intel Corp.  
Bus 001 Device 002: ID 026d:0002  
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

如上图所示,串口ID为1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter Bus,即dVendor为1a86,idProduct为7523。

创建一个脚本文件

touch usb_rename.sh
vim usb_rename.sh

在脚本文件中输入如下内容:

echo  'KERNEL=="ttyUSB*", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="2303", MODE:="7523", GROUP:="dialout",  SYMLINK+="stm32base"' >/etc/udev/rules.d/usb_rename.rulesservice udev reload
sleep 2
service udev restart

执行以下命令,运行脚本

sudo sh usb_rename.sh

此时,对设备进行拔插操作,运行一下命令

$ ls -l /dev |grep ttyUSB

结果如下所示:

lrwxrwxrwx  1 root root           7 731 21:21 **stm32base -> ttyUSB0**
crwxrwxrwx  1 root dialout 188,   0 731 21:21 ttyUSB0

python中的程序修改如下:

    ser = serial.Serial(  # 下面这些参数根据情况修改port='/dev/ttyUSB0',  # 串口值baudrate=921600,  # 波特率timeout=0.001)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-5313933.html

如若内容造成侵权/违法违规/事实不符,请联系郑州代理记账网进行投诉反馈,一经查实,立即删除!

相关文章

【ios开发】添加颜色的不同方式

1、 -(UIButton *)yanzhengBtn { if (!_yanzhengBtn) { _yanzhengBtn [[UIButton alloc] init]; _yanzhengBtn.layer.backgroundColor [UIColor whiteColor].CGColor; _yanzhengBtn.layer.borderColor [UIColor colorWithRed:46/255.0 green:102/255.0 blue:240/255.0 alpha

小目标检测(3)——msgqueue多线程通信和多线程互斥编程

文章目录 引言正文代码的执行和线程使用std::mutex进行编程mutex基本用法std::lock_guard的使用std::unique_lock的使用 condition_variable的使用wait函数的使用condition_variable的整体代码 多线程编程的基本语句 总结引用 引言 在学习老师给的目标检测的代码过程中&#xf…

Jenkins工具系列 —— Jenkins 安装并启动

文章目录 安装涉及相关链接选择安装Jenkins版本安装JenkinsJenkins web页面启动 安装涉及相关链接 Jenkins官网: https://www.jenkins.io/zh/ Jenkins下载安装步骤: https://www.jenkins.io/zh/download/ 安装各种版本OpenJDK: https://blog…

Scala关键字lazy的见解

Scala中使用关键字lazy来定义惰性变量,实现延迟加载(懒加载)。 惰性变量只能是不可变变量,并且只有在调用惰性变量时,才会去实例化这个变量。 在Java中,要实现延迟加载(懒加载),需要自己手动实现。一般的做法是这样的…

SHELL——备份脚本

编写脚本,使用mysqldump实现分库分表备份。 1、获取分库备份的库名列表 [rootweb01 scripts]# mysql -uroot -p123456 -e "show databases;" | egrep -v "Database|information_schema|mysql|performance_schema|sys" mysql: [Warning] Using …

java: 无法访问redis.clients.jedis.JedisPoolConfig

问题描述: 在编译java springboot程序的时候报错 java: 无法访问redis.clients.jedis.JedisPoolConfig 找不到redis.clients.jedis.JedisPoolConfig的类文件 问题分析 该问题是由于找不到JedisPoolConfig包导致的,很可能是没有添加相关的依赖 问题解决 在pom文件中添加依赖项…

api自动化测试

API测试已成为日常的测试任务之一,为了提高测试效率,减少重复的手工操作,API自动化测试也逐渐变得愈加重要,本文是自己在API自动化测试方面的一些经验积累和心得、汇总成文,以飨读者 我相信自动化技能已经成为高级测试…

Spring优雅的在事务提交/回滚前后插入业务逻辑

业务背景 业务那边想要统计下我们这边每天注册商户成功和失败的数量,你看看怎么给他弄下这个功能 功能实现 TransactionSynchronizationManager.registerSynchronization,发现这是spring事务提供的注册回调接口的方法。 在事务注解方法中&#xff0c…
推荐文章