树莓派开发笔记(十四):入手研华ADVANTECH工控树莓派UNO-220套件(三):使用研发自带系统测试rtc、gpio、232和485套件接口

简介: 树莓派开发笔记(十四):入手研华ADVANTECH工控树莓派UNO-220套件(三):使用研发自带系统测试rtc、gpio、232和485套件接口

前言

  上一篇说明了必须要使用研华自带的8G卡的系统,通过沟通拿到了相关的系统,购买的时候会带8GB的卡,请自行备份一份镜像。本篇对uno-220套件的相关研华配套的额外接口做测试,篇幅较长,重点讲述了测试、发现问题以及解决问题的思路和过程。


特别注意

  系统官方是不提供额外下载的,经销售也没有,只有购买UNO-220套件附送的8GB卡才有,其官方其他下载版本全部测试,无法加载研华的驱动,所以实际上他的下载驱动无作用。


刷系统

  该系统是8GB卡里面的对应笔者的套件的。

  先贴上自带系统的版本:

  

  以下是备份的系统:

  

  然后使用win32DiskImager刷机:

  

  选择要刷的镜像,选择写入的盘(32GB的sd卡),开始写入:

  

  等待写入完成:

  


测试RTC驱动

  将卡插入树莓派

  

  开启后:

  

  测试RTC驱动:

  

  测试成功,使用ssh连接,原本的研华的系统也开启了默认的ssh服务,用户名和密码都是默认的。

  之前是没有连接网络设置为2000年1月1日,接上公网后,会自动更新时间并持续写入最新时间到rtc,如下图:

  


测试GPIO

sudo uno220gpio -h
sudo uno220gpio --export=all
sudo uno220gpio 
sudo uno220gpio --in=0 --direction=out
sudo uno220gpio --pin=0 --value=1

  


测试串口

第一轮测试失败:UNO220套件引出来的默认为调试串口

uno220uart测试

  程序测试接收发送不对,串口波特率各种也都试过了,而且其本身又没有说明文档,帮助信息也有限,而且其命令行说白了而也不好用。

  

minicom测试

sudo apt-get install minicom

  

ls dev/tty*

  /dev/ttyAMA0目前是分配给蓝牙的)

  

  

  

  发现还是不行,直接给他拆了,将40pin中的唯一串口给他引出来:

  

  

  还是乱码,偶然发现在PC的串口助手上出现需要登陆的英文,所以此接口当前应该是调串口,于是测试:

  

  由此判断/dev/serial0是调试串口。

  

第二轮测试失败:疑似调试串口,但又不是?

  知道了是调试串口,那么切换成空闲的串口给他调用即可完成调试,具体的方法后面附上,目前先盖上套件测试第二轮

  

uno220uart测试

  

  接收时需要带设备的,那么发送是否也需要带设备,其文档上接收并没有带设备,贴研华文档如下图:

  

  下面是带设备接收:

  

  测一下不带设备接收的:

  

  特别注意啊,以下的测试没有通过套件,直接是接入树莓派的。

minicom测试

  跟上面一样,也是乱码,所以笔者就很好奇了,这个地方好像你再输入输出的时候,对方也在输入输出。

  发现,我们外部输入的时候,里面也在同步输出。这是直接接的树莓派了,所以此串口是否是调试串口(调试串口又不输出调试信息,偶尔之前输出需要登陆的)。

  

  (硬件有问题就有点小麻烦了,继续先忽略这个确认软件问题,当前判断应该是串口控制端问题,带着疑问继续)

第三轮测试:裸机成功,uno220套装失败(漏电)

  此时我们也不纠结了,且花费了较多的时间了,直接更换2个串口,当前为:

  

sudo uno220uart --kernel=0 --systemd=0 –disable
reboot

  关闭串口之后重启,就这样了:

  

  之前的树莓派3B+上,UART0 GPIO14 GPIO15 这个是硬件串口,默认当成串口控制台使用。

串口接收数据错误问题原因

  我们查一下4B(uno220套件为4B),可知道3B和4B是一样的串口和蓝牙问题,所以usart参照博文《树莓派开发笔记(六):GPIO口的UART的使用(串口通讯)

  

  当前已经开启了:

  

关闭蓝牙和调换串口

  蓝牙用了不稳定的serial0蓝牙数据肯定有问题,所以直接技能用蓝牙,避免以后使用蓝牙入坑。

sudo vi /boot/config.txt
dtoverlay=pi3-disable-bt

  

reboot

  再看,将serial1分配给ttyS0了:

  

  然后继续测试,前面控制台的问题补充一下,树莓派默认将IO引出的串口用作于控制台使用,在没有网络的时候,可以通过串口对树莓派进行控制管理,所以经过前面的步骤做好串口映射交换后,还是不能正常地使用串口模块进行通讯。需要禁用串口控制台功能,使串口为我们自由使用。

  分别通过如下两个命令停止和禁用串口的控制台功能。(由于我们前面已经交换了串口的映射关系,因此这里注意是ttyAMA0。)

sudo systemctl stop serial-getty@ttyAMA0.servicesudo systemctl disable serial-getty@ttyAMA0.service

  还需要删除配置:

sudo vi /boot/cmdline.txt

  

  删除后(删除console=serial0,115200这条):

  

  重启,开始测试。

uno220uart不装套件测试:成功

  发送测试:正常(中文乱码,是编码问题,不处理)

  

  接收测试:正常

  

minicom不装套件测试:成功

sudo minicom -s

  

  

uno220uart装套件测试:发送正常,接收失败

  发送测试:正常(中文乱码,是编码问题,不处理)

  

  接收测试:正常

  

  

sudo minicom -s

  

  

  突然注意到套装的TXD线对应的usb转ttl一直亮灯,估计是漏掉(串口发送则是闪烁,没发送就是不良,一直亮肯定漏电,并且也确认了脱开uno220的套装板正常。

  确认套装额外加装的有问题,套装有漏电0.91V左右:

  

  失败原因:发送端漏电发送正常,接收端不漏掉接收端正常,所以是发送端的漏掉影响了接收端的接收


测试485口:成功

  485口uno220套装将串口给他加485出的,之前测试了串口有问题,希望485不一定有问题,所以继续测试。

  485口接收和测试都没有问题:

  


结论:485、GPIO、RTC正常,232不正常

  至此,全部测试完毕,本套装的串口TX有漏电影响通过套装消息接收和发送。

相关文章
|
28天前
|
缓存 运维 数据库
【测试人员兼职指南】利用专业技能:如何从测试转向开发赚钱
本文分享了作者作为测试人员如何利用专业技能转向开发来兼职赚钱的经验,包括分析和解决登录页面跳转、避免重复账号注册、用户登录后首页显示用户名以及添加退出功能等问题,并提供了Django项目中使用sqlite3数据库和后台管理的扩展技巧。
36 1
【测试人员兼职指南】利用专业技能:如何从测试转向开发赚钱
|
6天前
|
缓存 Java 测试技术
谷粒商城笔记+踩坑(11)——性能压测和调优,JMeter压力测试+jvisualvm监控性能+资源动静分离+修改堆内存
使用JMeter对项目各个接口进行压力测试,并对前端进行动静分离优化,优化三级分类查询接口的性能
谷粒商城笔记+踩坑(11)——性能压测和调优,JMeter压力测试+jvisualvm监控性能+资源动静分离+修改堆内存
|
7天前
|
移动开发 JSON Java
Jmeter实现WebSocket协议的接口测试方法
WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
47 7
Jmeter实现WebSocket协议的接口测试方法
|
7天前
|
JSON 移动开发 监控
快速上手|HTTP 接口功能自动化测试
HTTP接口功能测试对于确保Web应用和H5应用的数据正确性至关重要。这类测试主要针对后台HTTP接口,通过构造不同参数输入值并获取JSON格式的输出结果来进行验证。HTTP协议基于TCP连接,包括请求与响应模式。请求由请求行、消息报头和请求正文组成,响应则包含状态行、消息报头及响应正文。常用的请求方法有GET、POST等,而响应状态码如2xx代表成功。测试过程使用Python语言和pycurl模块调用接口,并通过断言机制比对实际与预期结果,确保功能正确性。
32 3
快速上手|HTTP 接口功能自动化测试
|
7天前
|
JavaScript 前端开发 测试技术
ChatGPT与接口测试
ChatGPT与接口测试,测试通过
20 5
|
11天前
|
人工智能 测试技术 PyTorch
AI计算机视觉笔记二十四:YOLOP 训练+测试+模型评估
本文介绍了通过正点原子的ATK-3568了解并实现YOLOP(You Only Look Once for Panoptic Driving Perception)的过程,包括训练、测试、转换为ONNX格式及在ONNX Runtime上的部署。YOLOP由华中科技大学团队于2021年发布,可在Jetson TX2上达到23FPS,实现了目标检测、可行驶区域分割和车道线检测的多任务学习。文章详细记录了环境搭建、训练数据准备、模型转换和测试等步骤,并解决了ONNX转换过程中的问题。
|
11天前
|
人工智能 计算机视觉
AI计算机视觉笔记十五:编写检测的yolov5测试代码
该文为原创文章,如需转载,请注明出处。本文作者在成功运行 `detect.py` 后,因代码难以理解而编写了一个简易测试程序,用于加载YOLOv5模型并检测图像中的对象,特别是“人”类目标。代码实现了从摄像头或图片读取帧、进行颜色转换,并利用YOLOv5进行推理,最后将检测框和置信度绘制在输出图像上,并保存为 `result.jpg`。如果缺少某些模块,可使用 `pip install` 安装。如涉及版权问题或需获取完整代码,请联系作者。
|
11天前
|
机器学习/深度学习 人工智能 文字识别
AI计算机视觉笔记二十:PaddleOCR环境搭建及测试
OCR技术广泛应用于日常生活中,与人脸识别一样常见。PaddleOCR是一个基于飞桨的OCR工具库,具有超轻量级中文OCR模型,支持中英文数字组合、竖排及长文本识别。本文档详细介绍了PaddleOCR的学习过程,包括环境搭建、安装、样本标注及测试步骤。使用AutoDL云平台进行环境创建,并提供了详细的命令行操作指南,帮助用户顺利完成PaddleOCR的部署与测试。
|
19天前
|
机器学习/深度学习 人工智能 数据处理
AI计算机视觉笔记六:mediapipe测试
MediaPipe是由Google Research开发并开源的多媒体机器学习框架,已被集成到YouTube、Google Lens等重要产品中。该框架支持多种功能,如物体检测、自拍分割、头发分割、人脸检测、手部检测及运动追踪等。本文档将指导你通过Python环境搭建与测试MediaPipe,包括创建虚拟环境、安装依赖库,并进行手指骨骼识别测试。具体步骤涵盖环境配置、摄像头数据处理及结果显示。
|
23天前
|
网络协议 测试技术 网络安全
Python进行Socket接口测试的实现
在现代软件开发中,网络通信是不可或缺的一部分。无论是传输数据、获取信息还是实现实时通讯,都离不开可靠的网络连接和有效的数据交换机制。而在网络编程的基础中,Socket(套接字)技术扮演了重要角色。 Socket 允许计算机上的程序通过网络进行通信,它是网络通信的基础。Python 提供了强大且易于使用的 socket 模块,使开发者能够轻松地创建客户端和服务器应用,实现数据传输和交互。 本文将深入探讨如何利用 Python 编程语言来进行 Socket 接口测试。我们将从基础概念开始介绍,逐步引导大家掌握创建、测试和优化 socket 接口的关键技能。希望本文可以给大家的工作带来一些帮助~