您的位置:首页 > 编程语言 > ASP

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

2017-03-22 20:28 295 查看

一、关于Pi4j 项目:

pi4j是一个开源的raspberry pi JAVA开源项目。

目前最新的版本为:pi4j-1.1 这个与之前的版本有许多不同。

在线安装pi4j :

curl get.pi4j.com | sudo bash

安装完毕后在/opt/pi4j/ 目录下有三个文件夹以及三个文件:



其中examples 文件夹下是使用pi4j 使用java开发应用的例程。在开发我们自己的应用时,可以参考这些例程。



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

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

注意:本文使用的镜像为2016-05-27-raspbian-jessie.img

该系统默认情况下,接在引出的40pin上的UART是关闭的。



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

解决这个问题需要操作两个步骤:

①、运行 sudo raspi-config :该指令用于配置树莓派



选中第9项 Advanced Options



选择A7 Serial,



使能Serial 作为linux shell 登录



此时重新启动Pi ,连接上串口。可以从串口中接收到Pi的启动输出信息。



此时,我们编译运行/opt/pi4j/example/SerialExample.java 程序也是能够发送数据到PC的串口;但是此时还有点问题!需要注意。我们来看现象:



仔细看,发现我用串口助手给Pi发送了123456,但是它直接就返回给了PC机,这个时候可能没有分析程序,感觉这个也不一定就是Pi的配置问题。但是,我们很快就发现:



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