树莓派学习札记(4)—— pi4j使用串口笔记

一、关于Pi4j 项目:

pi4j是一个开源的raspberry pi JAVA开源项目。
目前最新的版本为:pi4j-1.1 这个与之前的版本有许多不同。
在线安装pi4j :
curl get.pi4j.com | sudo bash
安装完毕后在/opt/pi4j/ 目录下有三个文件夹以及三个文件:
这里写图片描述

其中examples 文件夹下是使用pi4j 使用java开发应用的例程。在开发我们自己的应用时,可以参考这些例程。
树莓派学习札记(4)—— pi4j使用串口笔记_第1张图片

再编译、运行时,参考build 、run 这两个脚本文件。

二、关于raspberry pi 3的引出的UART

注意:本文使用的镜像为2016-05-27-raspbian-jessie.img
该系统默认情况下,接在引出的40pin上的UART是关闭的。
树莓派学习札记(4)—— pi4j使用串口笔记_第2张图片

此时,我们编译、运行/opt/pi4j/example/ 下的SerialExample.java 连接好串口线,在PC端使用串口助手是接收不到任何东西的!

解决这个问题需要操作两个步骤:
①、运行 sudo raspi-config :该指令用于配置树莓派
这里写图片描述
选中第9项 Advanced Options
树莓派学习札记(4)—— pi4j使用串口笔记_第3张图片
选择A7 Serial,
树莓派学习札记(4)—— pi4j使用串口笔记_第4张图片
使能Serial 作为linux shell 登录
树莓派学习札记(4)—— pi4j使用串口笔记_第5张图片
此时重新启动Pi ,连接上串口。可以从串口中接收到Pi的启动输出信息。
树莓派学习札记(4)—— pi4j使用串口笔记_第6张图片
此时,我们编译运行/opt/pi4j/example/SerialExample.java 程序也是能够发送数据到PC的串口;但是此时还有点问题!需要注意。我们来看现象:
树莓派学习札记(4)—— pi4j使用串口笔记_第7张图片

仔细看,发现我用串口助手给Pi发送了123456,但是它直接就返回给了PC机,这个时候可能没有分析程序,感觉这个也不一定就是Pi的配置问题。但是,我们很快就发现:
树莓派学习札记(4)—— pi4j使用串口笔记_第8张图片
UART时不时的多输出一个 6 ,这个正是我们之前发送多的字符的最后一个字符。如果此时觉得问题还不明显,我们关系程序运行:ctrl + c 结束该程序。
这里写图片描述
我们稍微等待一下,就会发现。此时串口助手还能接收到6。
这里写图片描述
这个问题就很明显了吧。那么接下来就是解决这个问题。

②解决Serial 作为Raspbian 的shell终端使用时,串口数据传输的问题:
A、先备份一下/boot/cmdline.txt 文件:
这里写图片描述

B、修改cmdline.txt中的内容。
只需要删除掉console=serial0,115200,并重新启动pi,未修改前的内容如下
这里写图片描述
修改后:
这里写图片描述
此时,重新启动pi,串口不会再作为Linux shell 终端了。运行上述例程也不会有问题!

你可能感兴趣的:(树莓派,raspberry,pi,Pi4j)