物联网
文章平均质量分 68
路边闲人2
混迹于csdn,不求显山露水,只求共享知识。
展开
-
用ptp4l和phc2sys实现系统时钟同步
实际组网后,设备将根据测得的网络延时来选择主时钟,若连接的所有设备网络延时均超出阈值,且在gmCapable设置为1的情况下,则设备将以自身本地时钟作为网络的主时钟。某主机P通过eth2连接TSN交换机,下列命令实现主机P的网卡与交换机进行时钟同步,并且将主机的操作系统的时钟也与TSN交换机同步。此处2种用法是一样的,-a -r会自动寻找当前运行的ptp4l程序,利用它的时钟,同步到操作系统时钟。如果用-a -rr 两个r,则是反方向的,操作系统的时钟是主时钟,网卡的时钟是slave.原创 2023-02-17 17:37:59 · 11002 阅读 · 4 评论 -
星光starfive2开发板的gpio使用
starfive2开发板是riscv平台不错的板子。发展非常快。在starfive1的基础上有大量的改进和提升。板子上的GPIO引脚定义是这样定义的:如下图所示右侧6,8,10是调试用的串口,跟树莓派是一致的。GPIO引脚的编号跟树莓派不一样。右侧最下方是GPIO44,我们选择这个作为示例。左侧最下方39号引脚是GND作为地。原创 2023-01-12 11:58:52 · 712 阅读 · 0 评论 -
IEEE 1588与802.1AS同步的结果差别
实际组网后,设备将根据测得的网络延时来选择主时钟,若连接的所有设备网络延时均超出阈值,且在gmCapable。该项目决定设备是否能成为整个网络的主时钟。默认配置下,所有运行。该项目为IEEE 802.1AS协议规范,不应修改。的情况下,则设备将以自身本地时钟作为网络的主时钟。数字越小,优先级越高。使用数据链路层传输协议,相当于命令行参数。邻近设备延时阈值,单位为纳秒(的设备中自动协商选择主时钟。的设备将从该选项设为。协议规范,不应修改。原创 2023-01-03 15:32:43 · 1620 阅读 · 5 评论 -
Prosys OPC UA Simulation Server 5.4.2-129 下载页面地址
默认是需要注册等一系列流程的,但这个页面可以直接下载OPC UA模拟器软件。有对应于windows 、Linux、MAC多个平台以及处理器的版本。原创 2022-12-21 17:15:10 · 1827 阅读 · 0 评论 -
如何调试MQTT消息(KubeEdge设备接入过程)
kubeedge的设备接入是用mqtt进行转接的。但是如果遇到一些问题需要排查问题时,希望可以查看终端发的mqtt消息。目前 mosquitto 没有看到有进行消息查看的机制(也可能我不知道)EMQX 的 HTTP API 默认的访问用户名是。4.订阅 kubeedge的对应的设备更新topic。如下: aaa-instance是设备的名称。订阅后,就可以持续看到kubeedge的数据。2.登录后台, EMQ的端口号为18083。EMQ可以进行消息查看。原创 2022-11-29 16:27:58 · 1322 阅读 · 2 评论 -
用open62541建立opcua服务器并且添加模型,感知客户端的修改
在单独的线程中进行值修改,当客户端修改某个值时,服务端可以感知。用open62541建立一个opcua服务器,再添加一个模型。下载 open62541 并且编译、安装。原创 2022-10-20 16:41:05 · 645 阅读 · 0 评论 -
modbus tcp server (slave)开源代码 - 基于libmodbus,支持多客户端同时访问
当我们需要自己搞一个C/C++版的 modbus Server时,总想像C#里面借助个好用的库来实现,但是libmodbus这个库封装的并不好用,从官方的源码中连个example都没有,能抄着用的也就tests目录下有几个可以借鉴。本文借鉴这篇文章,进行了一点优化,实现了modbus tcp Server,可以拿到即用。如果需要自己实现逻辑可以直接在另一个线程函数中对modbus的变量进行修改。libmodbus是非常有名的modbus库,本身是用C语言写的。还是会阻塞的,单线程。原创 2022-10-20 14:47:52 · 5838 阅读 · 0 评论 -
Modbus转OPC UA网关的实现
Modbus 是工业界用的非常广泛的通信协议,具有开放免费的特点。也有基于FORTE的实现,不过,这个定制起来难度会大一些。OPC UA是目前还比较新的通用协议,也是开放和免费的。在一些场景需要从Modbus协议转换成OPC UA协议。目前还没有看到开源的实现,不过总体来说并不难。原创 2022-09-15 22:41:38 · 829 阅读 · 0 评论 -
运行open62541基于TSN网络的pub/sub示例(ETH+ UDP)
里面包含一个demo的脚本,原链接已经失效,现在上传到csdn上,供学习借鉴。open62541开源库包含了一个运行在TSN网络上的demo。但是这个链接好像访问不了了。只能去archive里面看了。原创 2022-09-07 16:46:32 · 2073 阅读 · 0 评论 -
kubeedge的核心理念
详细介绍: 都1202年了,还不知道边缘计算和边缘计算平台kubeedge吗 - 且听风吟的文章 - 知乎 https://zhuanlan.zhihu.com/p/342626632转载 2022-06-28 14:26:20 · 481 阅读 · 0 评论 -
树莓派4B上运行opcua协议DEMO接入kubeedge
KubeEdge是个还不错的边缘云平台。能够支持边缘设备的接入和管理。KubeEdge由以下组件组成:设备管理部分的原理如下图所示:https://kubeedge.io/zh/docs/kubeedge_zh/ instance就是设备实例,指某一台具体的设备。 fhttps://kubeedge.io/zh/docs/developer/device_crd/ Mapper用于进行协议转换,实现Kubeedge对各类协议的支持。Mapper is an application that is原创 2022-06-21 11:28:17 · 945 阅读 · 0 评论 -
在树莓派4B上运行kubeedge的gpio DEMO交通灯(traffic-light)
代码地址https://github.com/kubeedge/examples部署交通灯示例测试KubeEdge的下行控制能力,修改instance.yaml中边缘节点的名称:-------------------------------------------------------------------------------执行以下命令创建交通灯demo示例:修改instance.yaml对应灯的期望值为ON,kubectl apply -f crd/instance.yaml更原创 2022-06-14 16:09:05 · 838 阅读 · 0 评论 -
DDS协议与OPCUA对比
一、DDS协议DDS协议(DataDistributionService)是OMG对象管理组织在HLA及CORBA等标准的基础上制定的新一代分布式实时通信中间件技术规范,DDS采用发布/订阅体系架构,强调以数据为中心,提供丰富的QoS服务质量策略,能保障数据进行实时、高效、灵活地分发,可满足各种分布式实时通信应用需求。DDS信息分发中间件是一种轻便的、能够提供实时信息传送的中间件技术。DDS数据分发服务技术最早应用于美国海军,用于解决舰船复杂网络环境中大量软件升级的兼容性问题,已经成为美国国防.翻译 2022-05-12 15:52:44 · 1896 阅读 · 0 评论 -
OPC UA学习笔记
OPC UAhttps://en.wikipedia.org/wiki/OPC_Unified_Architecture一、简介OPCUA指的是Open Platform CommunicationsUnified Architecture以前OPC指的是 OLE for Process Control但是以前的OPC只支持Windows系统,需要DCOM支持,用起来特别难用。所以就有了现在的OPCUA,统一架构。OPC 规范由国际非营利组织 OPC 基金会制定,该...原创 2022-05-09 14:50:09 · 2095 阅读 · 2 评论 -
在kubesphere上部署edgemesh的大坑
edgemesh是kubeedge上的重要插件,作用是提供边缘云在NAT环境下从云端到边端或边端到云端的网络访问。具体的安装及部署的文档已经非常全面了:Getting Started | EdgeMesh但是kubesphere这个玩意是用来监控和管理云,也比较好,但是kubesphere对于kubeedge的集成跟原生安装Kubeedge是不太一样的。kubesphere安装edgemesh也是要从AppStore里面装,跟原始的方式也有一点不太一样。kubeedge的cloudcor原创 2022-04-20 18:35:23 · 1611 阅读 · 0 评论 -
树莓派4B平台部署 kubeedge (cloudcore)+ isula
硬件环境:树莓派4b系统环境:ubuntu-20.04.3-preinstalled-server-arm64+raspi.img.xz初始密码: ubuntu/ubuntu关闭ubuntu自动更新服务ubuntu自动更新会在系统安装启动后一段时间内占用系统资源进行更新,长时间占用apt进程,影响本文档的后续安装操作,将/etc/apt/apt.conf.d/20auto-upgrades内容修改如下1 ‐‐‐ a/20auto‐upgrades 2022‐01‐05 07:15:30.9896原创 2022-04-07 17:43:15 · 2992 阅读 · 0 评论 -
kubeedge解决边端keadm join的时候卡住的问题
kubeedge的edge端安装的最后一步是keadm join加入云端服务,如下所示:# 提前下载kubeedge-v1.8.0-linux-arm64.tar.gz 避免keadm init过程下mkdir /etc/kubeedgecp $GOPATH/src/github.com/kubeedge/kubeedge/build/tools/edgecore.service /etc/kubeedgewget -P /etc/kubeedge https://github.com/kube原创 2022-04-07 17:01:13 · 1051 阅读 · 0 评论 -
在riscv sifive u740开发板上运行FreeRTOS及裸板程序
riscv是当前比较火热的玩意,sifive的u740开发板是当前性能还可以的板子。sifive官方提供了一个SDK,https://github.com/sifive/freedom-e-sdk在SDK里提供了裸板和freeRTOS的测试程序。但使用起来还是会有一点点问题。在此列出:一、开发环境1.编译环境准备操作系统选择ubuntu 一般20.04都可以吧。需要下载安装gcc toolchain、openocd、qemu等,都可以从sifive官网提供的下载页面获取: S原创 2021-11-15 18:22:02 · 2300 阅读 · 5 评论 -
在树莓派4B上运行IgH EtherCAT master主站
ighethercat不介绍了,用的非常广泛,开源的,官方网址:IgH EtherCAT Master for Linux代码:git clone https://gitlab.com/etherlab.org/ethercat.gitgit checkout stable-1.5编译$ ./bootstrap # to create the configure script, if downloaded from the repo$ ./configure$ make.原创 2021-10-31 17:03:25 · 3223 阅读 · 7 评论 -
树莓派GPIO引脚详解
树莓派的GPIO引脚还是小有点复杂,有些是共用的。需要在启动时切换不同的设备树文件来设置不同的模式。详情参考:UART at Raspberry Pi GPIO PinoutRaspberry Pi UART pinshttps://pinout.xyz/pinout/uart原创 2021-10-27 09:59:55 · 1574 阅读 · 0 评论 -
OpenPLC试用总结
THE OPENPLC PROJECT | openplcproject.comAn open source alternative to automationhttps://www.openplcproject.com/OpenPLC是个开源的PLC,主要包括三部分PLC运行时。用于支持PLC程序的运行。在不同的操作系统或硬件平台下是不一样的。 Editor 编辑器。用于编辑业务逻辑,类似于西门子博途的功能,当然没人家复杂啦。 HMIBuilder人机接口设计。名为SCA...原创 2021-10-21 18:02:12 · 23192 阅读 · 8 评论 -
为树莓派4编译Linux实时内核
https://lemariva.com/blog/2019/09/raspberry-pi-4b-preempt-rt-kernel-419y-performance-test~$ mkdir ~/rpi-kernel~$ cd ~/rpi-kernel ~rpi-kernel$ mkdir rt-kernel~/rpi-kernel$ git clone https://github.com/raspberrypi/linux.git -b rpi-4.19.y-rt~/rp..原创 2021-03-12 12:14:00 · 1130 阅读 · 4 评论 -
树莓派4B下的uart串口使用
8、10、14口用于UART,对应/dev/ttys014口用于接地 8口用于发送,10口用于接收。8口用白色的线,10口用绿色的线,14口用黑色的线接地。J8插座如下图所示源于:https://blog.csdn.net/bhniunan/article/details/104783321连接成功后,使用串口通信软件,即可看到Linux系统启动的输出,可以输入用户名进行登录。...原创 2021-03-03 09:16:25 · 2333 阅读 · 0 评论 -
C++ modbus 开源代码(包含tcp,udp,rtu),既有master又有slave
modbus是一个比较简单的协议,在工业领域和嵌入式设备上使用非常多,得益于其协议的简单,得到了广泛的应用。虽然此协议存在一些不足之处,比如一次传输的数据量有限,以偏移量定义变量,需要对应的点表才能解析等等,但不影响其使用的广泛。各类Modbus协议的代码多如牛毛。在此推荐一个不错的Modbusc++代码,项目比较完整,跨平台支持比较好,既可以在Linux下编译,也可以在windows下运行。代码地址:https://github.com/lyqdy/ymodbus下载后在tests目录下.原创 2020-07-10 14:39:25 · 18653 阅读 · 18 评论 -
influxDB数据库中文文档
阿里云搞了一个TSDB For InfluxDB®,制作了详细的中文文档,部分文档是从英文文档翻译而来,学习起来会容易许多。https://help.aliyun.com/document_detail/113093.html?spm=a2c4g.11186623.6.690.23493b57QaK8fu...原创 2019-05-16 09:50:26 · 1918 阅读 · 0 评论 -
物联网领域 百度云与阿里云对比
阿里云在物联网业务上起步晚,技术不如百度云成熟,很多功能还在建设中。像tsdb数据库单metric的多field写入,作为基础的功能,百度早都有了,阿里直到2019年2月15号才看到相关api文档。文档不够完善,示例非常简单,就一个插入一个查询,反观百度的示例就很完善,各种示例单值查询、多值查询、metric查询、field查询等等一应俱全,技术成熟度可见一斑。 阿里的物联网接入数据在经过规则引...原创 2019-04-28 14:44:26 · 2233 阅读 · 0 评论 -
用NModbus4实现C# 版Modbus服务器(slave)
NModbus4是一个比较好用的c#版modbus库,既实现了client也实现了Server端(slave)。可以用其实现一个modbus服务器。注意不是NModbus。这不是一个库。源码位于https://github.com/NModbus4/NModbus4一、使用参考:https://github.com/NModbus4/NModbus4/blob/portab...原创 2019-04-26 19:35:07 · 28905 阅读 · 23 评论 -
C#mqtt库M2Mqtt的使用
目前最好用的C#库是 eclipse出的M2Mqtt库,主页链接:http://www.eclipse.org/paho/clients/dotnet/项目的地址是https://github.com/eclipse/paho.mqtt.m2mqtt使用方式是在vs 的命令中输入Install-Package M2Mqtt项目主页上介绍看起来很简单... /...原创 2019-02-01 23:32:16 · 11696 阅读 · 8 评论