0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

工业树莓派能不能固定设备编号

广州虹科电子科技有限公司 来源:广州虹科电子科技有限公 作者:广州虹科电子科技 2021-10-28 09:16 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

虹科工业树莓派是一款基于树莓派计算模块进行工业级设计和封装的,并且经过工业标准测试(EN61131-2和IEC 61000-6-2),如EMI,浪涌和突发事件等等,有ESD的极性保护,达到4KV/8KV。

虹科工业树莓派的操作系统在Raspbian基础上进行了优化,给linux内核添加了RT实时补丁,以使得linux满足硬实时的需求。

“ 02 / Modbus TCP/RTU主从站功能 ”

虹科工业树莓派内置虚拟Modbus TCP/RTU主从站功能,用户可以通过产品上的USB接口(需要USB转接线)/RS485接口连接Modbus RTU设备,并对设备进行读写操作。

用户可以在网页配置界面PiCtory中对虚拟主从站进行配置。

比如:配置Modbus RTU Master一个任务为每1000ms读取一次从站地址为1,寄存器地址为1的保持寄存器的值,并将读取到的值放入Input_Word_1中,配置好之后读取操作将自动执行,用户只需读取Input_Word_1的值即可获得相应数据。

在配置Modbus RTU Master时需要输入通过USB口连接的从站的设备编号的路径,比如:/dev/ttyUSB0。

但这就带来一个问题:当从站通过USB口连接到模块时,其设备端口号是系统自动分配的,Linux内核会根据设备插入的先后顺序进行编号的分配,比如第一个插入的设备编号是ttyUSB0,第二个插入的设备编号是ttyUSB1,依次类推。

所以,在每次重启系统之后,连接的Modbus RTU从站的设备编号可能会发生变化,上一次启动时是ttyUSB0,下一次启动就可能变成ttyUSB1。

如果每次启动设备都要检查和修改设备编号路径的话就会在实际应用中带来很多麻烦,那么有没有一种方法可以固定设备编号呢?

答案是肯定的!

我们可以通过指定udev规则,让udev除了产生/dev/ttyUSB*设备文件外,另外再创建一个软链接。具体操作见下文。

“ 03 / udev规则-通过芯片的特定码创建软链接 ”

Vender ID和Product ID,即“厂家标识”和“产品标识”。USB 设备驱动的硬件接口需要识别Vender ID和Product ID。

可以通过lsusb命令查看当前通过USB接入的设备的描述列表,就可以得到设备的Vender ID和Product ID,然后在进行后续绑定。

d3176470-377f-11ec-82a8-dac502259ad0.png

图2.1 lsusb命令

从上图可以看到,我通过USB口连接的USB-Serial adapter设备的Vender ID是1a86,Product ID是7523。接下来,在/etc/udev/rule.d目录下创建新的规则文件ttyUSBLink.rules。并输入以下规则:

KERNEL==”ttyUSB*”, ATTRS{idVendor}==”1a86”, ATTRS{idProduct}==”7523”, MODE:=”0666”, GROUP:=”dialout”, SYMLINK+=”modbus_device_1”

保存并退出文件,重新拔插USB设备,新建的udev规则即可生效(若没有生效,以root权限运行命令:service udev reload和service udev restart)。

以上述规则为例,以后无论按照什么顺序插入,都能够通过自定义的modbus_device_1设备文件软链接访问设备,而无需关心系统分配给设备的ttyUSB*的编号是什么。

d3887ec6-377f-11ec-82a8-dac502259ad0.png

图2.2 udev规则效果

从上图可以看出,系统自动为我的设备分配的编号是ttyUSB0,同时也创建了一个名为modbus_device_1的软链接,这样就可以在PiCtory界面直接输入软链接的路径。

但很多时候,设备厂商由于一些特殊原因,在串口芯片上写入的设备号是相同的:

d40937b4-377f-11ec-82a8-dac502259ad0.png

图2.3 具有相同ID的USB串口设备

那么这种创建软连接的方法就会出问题,此时我们就需要另一种方法,详见下一部分。

“ 04 / udev规则-绑定硬件端口号 ”

如上文所说,我们可能会遇到具有相同ID号的设备,此时通过绑定ID号创建软链接的方法就行不通了,但可以通过绑定硬件端口号实现同样的效果。

每个设备的硬件端口号是不一样的,可以通过udevadm info --attribute-walk --name=/dev/ttyUSB0查看设备的硬件端口号:

d500058a-377f-11ec-82a8-dac502259ad0.png

图3.1 查看设备硬件端口号

通过上述命令,可以看到我的ttyUSB0设备的硬件端口号是1-1.2:1.0,ttyUSB1设备的硬件端口号是1-1.3:1.0。

然后修改一下ttyUSBLink.rules文件,改为以下规则:

d52e6dbc-377f-11ec-82a8-dac502259ad0.png

图3.2 绑定硬件端口号udev规则

保存并退出后,重新拔插设备就可以看到生成的两个软链接:

d5848954-377f-11ec-82a8-dac502259ad0.png

图3.3 udev规则效果

需要注意的是,这里涉及的硬件端口号对应的是USB端口而不是USB端口上连接的设备。也就是说,假如你有左右两个USB端口,左边USB端口的端口号是1-1.2:1.0,右边USB端口的端口号是1-1.3:1.0。那么,插入左边USB端口的设备对应的软链接就是modbus_device_1,插入右边USB端口的设备对应的软链接就是modbus_device_2。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 树莓派
    +关注

    关注

    122

    文章

    2069

    浏览量

    109706
  • 虹科电子
    +关注

    关注

    0

    文章

    723

    浏览量

    15165

原文标题:虹科教您派固定工业树莓派Modbus RTU设备编号

文章出处:【微信号:Hongketeam,微信公众号:广州虹科电子科技有限公司】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    到底DDR走线能不能参考电源层啊?

    虽然我看到过DDR的走线参考电源平面也能调试成功的案例,但是依然不妨碍我还想问:到底DDR走线能不能参考电源层啊?
    的头像 发表于 11-11 17:44 509次阅读
    到底DDR走线<b class='flag-5'>能不能</b>参考电源层啊?

    如何使用树莓与OpenCV实现面部和运动追踪的云台系统?

    大家好,这是一个树莓和OpenCV的连载专题。使用树莓与OpenCV实现姿态估计和面部特征点追踪使用树莓
    的头像 发表于 08-14 17:45 960次阅读
    如何使用<b class='flag-5'>树莓</b><b class='flag-5'>派</b>与OpenCV实现面部和运动追踪的云台系统?

    树莓屏幕怎么选?

    树莓很多人都用过,但用屏幕的倒不是很多。不少都是直接远程操作,或者直接接身边的显示设备了。但我觉得给开发板配一个屏幕还是很能提升使用体验的。这次我就介绍一下树莓
    的头像 发表于 08-08 14:59 1061次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>屏幕怎么选?

    树莓操作系统:版本、特性及设置完整指南!

    桌面环境的版本和轻量级、仅用于命令行的最小安装版本。该操作系统设计高效且资源友好,是树莓设备的理想选择。树莓操作系统的优势√轻量高效该操
    的头像 发表于 07-28 18:26 828次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>操作系统:版本、特性及设置完整指南!

    工业树莓的高光时刻!树莓工业级 HMI 列阵!

    上海晶珩作为树莓官方设计合作伙伴和代理商,基于树莓技术开发了一系列工业级人机界面(HMI)产品,广泛应用于
    的头像 发表于 07-23 18:36 542次阅读
    <b class='flag-5'>工业</b><b class='flag-5'>树莓</b><b class='flag-5'>派</b>的高光时刻!<b class='flag-5'>树莓</b><b class='flag-5'>派</b><b class='flag-5'>工业</b>级 HMI 列阵!

    树莓6 传闻:发布日期与规格!

    每当我想再为我的收藏增添一款树莓时,总会在是立即购买还是等待硬件更强大的下一代之间犹豫不决。但新树莓型号的发布往往容易被错过,尤其是在你的信息流被病毒式传播的猫咪视频占据时。因此,
    的头像 发表于 07-11 16:21 1346次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>6 传闻:发布日期与规格!

    工厂设备能不能工业数采?3招教你快速判断,省时又省钱!

    设备能不能采?记住这五招:看接口、问协议、查灯亮、找厂家、加传感器。大部分现代工厂设备(PLC/CNC/注塑机),甚至部分干燥机、模温机,都是能采的!别被“老设备”吓住。
    的头像 发表于 07-03 10:09 538次阅读
    工厂<b class='flag-5'>设备</b><b class='flag-5'>能不能</b><b class='flag-5'>工业</b>数采?3招教你快速判断,省时又省钱!

    搭载树莓CM5:Sfera Labs 工业控制器!

    搭载树莓计算模块5的工业计算机:快速、灵活且可靠!为更好地满足工业客户的需求,SferaLabs对StratoPiMax平台进行了升级,利用树莓
    的头像 发表于 07-01 17:41 539次阅读
    搭载<b class='flag-5'>树莓</b><b class='flag-5'>派</b>CM5:Sfera Labs <b class='flag-5'>工业</b>控制器!

    树莓小技巧:无需键盘或显示器,如何通过WiFi设置树莓

    接入,但随着我们逐渐远离台式电脑,找到键盘和显示器变得越来越困难。一旦WiFi设置完成,就可以通过SSH连接到树莓,并从笔记本电脑或其他设备远程与树莓
    的头像 发表于 06-26 15:41 1044次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>小技巧:无需键盘或显示器,如何通过WiFi设置<b class='flag-5'>树莓</b><b class='flag-5'>派</b>?

    树莓分类器:用树莓识别不同型号的树莓

    在本教程系列的第一部分中,您将学习如何使用树莓AI摄像头来检测不同的树莓型号。本系列由DavidPlowman创建,他是树莓
    的头像 发表于 06-13 16:39 988次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>分类器:用<b class='flag-5'>树莓</b><b class='flag-5'>派</b>识别不同型号的<b class='flag-5'>树莓</b><b class='flag-5'>派</b>!

    树莓“吉尼斯世界记录”:将树莓的性能发挥到极致的项目!

    树莓是一款功能强大、体积小巧且高度可定制的设备,多年来,我们见证了它被应用于众多领域。无论是将其装入3D打印的经典游戏机外壳,还是简单地将它隐藏起来作为家庭文件服务器,我们都报道过在社区里用
    的头像 发表于 05-22 16:53 1199次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>“吉尼斯世界记录”:将<b class='flag-5'>树莓</b><b class='flag-5'>派</b>的性能发挥到极致的项目!

    树莓 Zero 打造的智能漫游车!

    使用PXFMini和树莓Zero打造您自己的自主漫游车。本项目所用组件硬件组件ErleRoboticsPXFmini×1树莓Zero×1树莓
    的头像 发表于 05-13 16:39 870次阅读
    用 <b class='flag-5'>树莓</b><b class='flag-5'>派</b> Zero 打造的智能漫游车!

    浅谈树莓工业领域的应用!

    关于树莓,互联网上总是反复出现一些问题。其中最常见的是:它们是如何被使用的?在这篇文章中,我将重点介绍树莓工业领域的一些应用方式。特别
    的头像 发表于 03-25 09:25 955次阅读
    浅谈<b class='flag-5'>树莓</b><b class='flag-5'>派</b>在<b class='flag-5'>工业</b>领域的应用!

    树莓+Ubuntu:工业界的“绝配”如何掀起智能风暴!

    当“小树莓”邂逅“乌布大侠”在科技江湖里,有些组合天生就是一对,比如花生酱和果冻,汤姆和杰瑞,还有我们的树莓和Ubuntu!想象一下,一个只有信用卡大小的树莓
    的头像 发表于 03-25 09:25 670次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>+Ubuntu:<b class='flag-5'>工业</b>界的“绝配”如何掀起智能风暴!

    GPIO在树莓中的应用

    直接控制和读取外部硬件设备的状态。 1. GPIO简介 GPIO是树莓派上用于与外部世界交互的一组引脚。这些引脚可以被配置为输入或输出模式,从而实现对外部设备的控制和数据读取。树莓
    的头像 发表于 01-09 09:41 1250次阅读