热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

一、关于Pi4j项目:pi4j是一个开源的raspberrypiJAVA开源项目。目前最新的版本为:pi4j-1.1这个与之前的版本有许多不同

一、关于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 终端了。运行上述例程也不会有问题!


推荐阅读
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • 如何利用 Myflash 解析 binlog ?
    本文主要介绍了对Myflash的测试,从准备测试环境到利用Myflash解析binl ... [详细]
  • 本文介绍了5个基本Linux命令行工具的现代化替代品,包括du、top和ncdu。这些替代品在功能上进行了改进,提高了可用性,并且适用于现代化系统。其中,ncdu是du的替代品,它提供了与du类似的结果,但在一个基于curses的交互式界面中,重点关注占用磁盘空间较多的目录。 ... [详细]
  • 本文介绍了在Ubuntu系统中清理残余配置文件和无用内容的方法,包括清理残余配置文件、清理下载缓存包、清理不再需要的包、清理无用的语言文件和清理无用的翻译内容。通过这些清理操作可以节省硬盘空间,提高系统的运行效率。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文讨论了如何在dotnet桌面(Windows)应用程序中添加图标。作者提到可以使用dotnet命令行工具与resource.rc文件一起使用来为标准.NET核心应用程序添加图标。作者还介绍了在创建控制台应用程序时如何编辑projeto1.csproj文件来添加图标。 ... [详细]
  • 解决github访问慢的问题的方法集锦
    本文总结了国内用户在访问github网站时可能遇到的加载慢的问题,并提供了解决方法,其中包括修改hosts文件来加速访问。 ... [详细]
  • Apache Shiro 身份验证绕过漏洞 (CVE202011989) 详细解析及防范措施
    本文详细解析了Apache Shiro 身份验证绕过漏洞 (CVE202011989) 的原理和影响,并提供了相应的防范措施。Apache Shiro 是一个强大且易用的Java安全框架,常用于执行身份验证、授权、密码和会话管理。在Apache Shiro 1.5.3之前的版本中,与Spring控制器一起使用时,存在特制请求可能导致身份验证绕过的漏洞。本文还介绍了该漏洞的具体细节,并给出了防范该漏洞的建议措施。 ... [详细]
  • 本文介绍了使用readlink命令获取文件的完整路径的简单方法,并提供了一个示例命令来打印文件的完整路径。共有28种解决方案可供选择。 ... [详细]
  • 本文介绍了在Android Studio中使用命令行build gradle的方法,并解决了一些常见问题,包括手动配置gradle环境变量和解决External Native Build Issues的方法。同时提供了相关参考文章链接。 ... [详细]
  • 程序员如何选择机械键盘轴体?红轴和茶轴对比
    本文介绍了程序员如何选择机械键盘轴体,特别是红轴和茶轴的对比。同时还介绍了U盘安装Linux镜像的步骤,以及在Linux系统中安装软件的命令行操作。此外,还介绍了nodejs和npm的安装方法,以及在VSCode中安装和配置常用插件的方法。最后,还介绍了如何在GitHub上配置SSH密钥和git的基本配置。 ... [详细]
  • LINUX学习之centos7营救模式
    今天卸载软件的时候,不小心把GNOME的一些组件给卸了,导致桌面无法正常开启,会卡在启动过程中,而我的开机启动模式又是设置为图形界面,所以一开LINUX就卡住了,进入不了命令行界面 ... [详细]
author-avatar
lady张昕彤
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有