树莓派开发笔记(十四):入手研华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有漏电影响通过套装消息接收和发送。
树莓派开发笔记(十四):入手研华ADVANTECH工控树莓派UNO-220套件(三):使用研发自带系统测试rtc、gpio、232和485套件接口的更多相关文章
- 树莓派开发笔记(十二):入手研华ADVANTECH工控树莓派UNO-220套件(一):介绍和运行系统
前言 树莓派也可以做商业应用,工业控制,其稳定性和可靠性已经得到了验证,故而工业控制,一些停车场等场景也有采用树莓派作为主控的,本片介绍了研华ADVANTECH的树莓派套件组UNO-220-P4N ...
- 树莓派开发笔记(十三):入手研华ADVANTECH工控树莓派UNO-220套件(二):安装rtc等驱动
前言 前面运行了系统,本篇是安装对应套装的驱动,使rtc等外设生效,树莓派本身是不带rtc外设的. UNO-220-P4N1AE 驱动下载 官方下载:https://www.advan ...
- 树莓派开发笔记(十一):蓝牙的使用,BlueZ协议(双树莓探测rssi并通过蓝牙互传获取的rssi信号强度)
若该文为原创文章,转载请注明原文出处本文章博客地址:https://blog.csdn.net/qq21497936/article/details/110940484长期持续带来更多项目与技术分享, ...
- 《C++游戏开发》笔记十四 平滑过渡的战争迷雾(二) 实现:真正的迷雾来了
本系列文章由七十一雾央编写,转载请注明出处. http://blog.csdn.net/u011371356/article/details/9712321 作者:七十一雾央 新浪微博:http:/ ...
- python3.4学习笔记(十四) 网络爬虫实例代码,抓取新浪爱彩双色球开奖数据实例
python3.4学习笔记(十四) 网络爬虫实例代码,抓取新浪爱彩双色球开奖数据实例 新浪爱彩双色球开奖数据URL:http://zst.aicai.com/ssq/openInfo/ 最终输出结果格 ...
- zlib开发笔记(四):zlib库介绍、编译windows vs2015x64版本和工程模板
前言 Qt使用一些压缩解压功能,介绍过libzip库编译,本篇说明zlib库.需要用到zlib的msvc2015x64版本,编译一下. 版本编译引导 zlib在windows上的mingw32 ...
- Java开发笔记(四十)日期与字符串的互相转换
前面介绍了如何通过Date工具获取各个时间数值,但是用户更喜欢形如“2018-11-24 23:04:18”这种结构清晰.简洁明了的字符串,而非啰里八唆依次汇报每个时间单位及其数值的描述.既然日期时间 ...
- Java开发笔记(四十二)日历工具的常见应用
前面介绍了日历工具Calendar的基本用法,乍看起来Calendar与Date两个半斤八两,似乎没有多大区别,那又何苦庸人自扰鼓捣一个新玩意呢?显然这样小瞧了Calendar,其实它的作用大着呢,接 ...
- Java开发笔记(四十五)成员属性与成员方法
前面介绍了许多数据类型,除了基本类型如整型int.双精度型double.布尔型boolean之外,还有高级一些的如包装整型Integer.字符串类型String.本地日期类型LocalDate等等,那 ...
随机推荐
- ElasticSearch-学习笔记01-docker安装
安装ElasticSearch docker 安装请参考: https://www.cnblogs.com/youxiu326/p/docker-01.html docker run -d --nam ...
- Netty学习摘记 —— 预置SSL / HTTP / WebSocket编解码器
本文参考 本篇文章是对<Netty In Action>一书第十一章"预置的ChannelHandler和编解码器"的学习摘记,主要内容为通过 SSL/TLS 保护 N ...
- SVN报错之“Error: Please execute the 'Cleanup' command. ”
问题 Error: Please execute the 'Cleanup' command. 需要清理下,注意SVN拉数据的时候别打开其中的问题 解决方案
- 1、Jetson Nano 远程桌面XP问题
jeston nano上网 方法3(最简单的方法) 最简单的方法真的特简单,用USB数据线连接主板的USB接口以及手机,打开手机的USB共享即可,若要使用静态IP,可在主板上修改配置文件,接口一般为u ...
- Architecture Principles
Architecture Principles - Completed Components Name Statement Rationale Implications TOGAF Principle ...
- 推荐一款强大的轻量级模块化WEB前端快速开发框架--UIkit
前言 今天给大家分享一款强大的轻量级模块化WEB前端快速开发框架--UIkit 到目前(2016-06-20)为止,UIkit在github上的Forks已达到了1350个,而Stars更是达到了69 ...
- 浅谈Nodejs应用的主文件index.js的组成部分
前言 Node妹子的问世,着实让我们前端攻城狮兴奋了一把,尤其本屌听说Javascript可以写服务端后,兴奋的像是看到了二次元萝莉的胖子...(●'◡'●).呃哼...YY先到这里,原谅本屌是个二次 ...
- ios audio不能够正常播放
ios中audio不能直接通过audio.play()播放,需要用户在click事件或者touch事件中执行audio.play()才能播放. ajax回调中audio.play()音乐不能正常播放. ...
- Codepen 每日精选(2018-4-16)
按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以打开原始页面. 内容切换的交互效果https://codepen.io/jcoulterde... 报价卡片的交互效果ht ...
- 将PHPMailer整合到ThinkPHP 3.2 中实现SMTP发送邮件
本内容转载出处:http://my.oschina.net/BearCatYN/blog/299192 并对以下内容做了一处说明. ThinkPHP没有邮件发送的功能,于是,我就想了想,就将PHPMa ...