问题的由来

pi4j用起来很方便,但是感觉pi4j库的命名太杂乱,啰嗦了,很容易弄混,而且好像没听说官方有自己的编译器。如果没有智能点的编辑器的话,写起来真要命,但是树莓派运行Eclipse不太现实,于是我想到了在Windows下编写代码,再将项目文件传输到树莓派,在树莓派上编译,运行。

使用Eclips会很方便:一些快捷键用起来写代码刷刷的,最常用的就是

                                 alt+   /             智能提示,补全
                                 ctrl+shift + o    自动管理 import

我们的操作流程就是:在windows下用Eclipse编写代码,使用WinScp复制代码文件到树莓派,编译运行。

WinScp

我们先安装WinScp,它是什么作用呢?WinScp提供了图形化的操作界面,通过拖拽文件。达到linux和windows双向发送文件的功能,很方便。

具体下载安装就不必说了哇~!

在Windows下使用Eclipse编写pi4j项目

首先你要有台安装了Eclipse 的电脑,要在Windows下使用pi4j,就必须在Eclipse的项目中导入pi4j库的jar文件。具体操作如下

一、使用WinScp连接树莓派

打开WinScp,输入你的树莓派的IP(可通过路由器查看),账户和密码,即可连接。如果连接不上多尝试几遍,老连不上,请确保树莓派配置中允许了SSH

将树莓派的/opt/pi4j/lib下的所有的jar文件拖拽到Windows 的某个文件夹下。我放在java的工作文件夹workspace下的pi4j_jars文件夹下。

新建一个Eclipse的java项目,我命名为pi4jDemo。

右击工程名pi4jDemo.选择最后一项:Properties  ->java build path  -> Libraries  ->Add External jas 
 
然后进入我们刚刚新建 的 pi4j_jars文件夹下,全选里面的jar文件,OK
这样就完成了pi4j的jar的关联。

下面开始写代码啰~~~

提示:经常写java的都会习惯性的建包,再新建一个类。不要建包名,使用默认(default)包就好了,因为代码是在Windows下编写的,树莓派那边不会形成包目录,而且一般pi4j项目单个文件就可以搞定了。

效果图:

小灯闪烁的例子代码

import com.pi4j.io.gpio.GpioController;
import com.pi4j.io.gpio.GpioFactory;
import com.pi4j.io.gpio.GpioPinDigitalOutput;
import com.pi4j.io.gpio.PinState;
import com.pi4j.io.gpio.RaspiPin; public class LEDBlink
{
//获取全局Gpio 引脚控制器对象
public static final GpioController gpio = GpioFactory.getInstance(); public static void main(String [] rags) throws InterruptedException
{ //定义编号为0的引脚为数字输出引脚,初始化为低电平
GpioPinDigitalOutput myLed = gpio.provisionDigitalOutputPin(RaspiPin.GPIO_00, "" ,PinState.LOW); while(true)
{ myLed.high();
Thread.sleep(500);
myLed.low();
Thread.sleep(500); } } }

将代码源文件复制到树莓派下,编译运行

回到树莓派,编译运行

编译:           javac -classpath .:classes:/opt/pi4j/lib/'*'  LEDBlink.java
运行 :  sudo java -classpath .:classes:/opt/pi4j/lib/'*'  LEDBlink

大功告成!

树莓派如何便捷的使用pi4j的更多相关文章

  1. 树莓派.GPRS.短信接收器

    起因 曾经用过西门子出的短信猫, 好处是直接有SDK开发包, 不会硬件开发也能直接使用 缺点也是明显的, 就是只支持Windows系统, 另外就是在Windows下工作很不稳定, 隔开几天就会出现收不 ...

  2. 腾讯IOT之树莓派物联网设备

    目录 腾讯IOT之树莓派物联网设备 硬件配置 软件配置 Tecent IOT 开发平台的使用 新建项目 新建产品 添加自定义功能 设备开发 微信小程序配置 面板配置 新建设备 使用设备 在线调试 设备 ...

  3. 用Java操作树莓派!pi4j简介与安装

    简介 对C不熟?习惯了使用java不想换语言,但又想操作树莓派?想一边喝咖啡,一边吃树莓派蛋糕?快来使用pi4j吧! pi4j旨在为java开发者提供面友好的面向对象的API,来操控树莓派.pi4j对 ...

  4. 树莓派wiringPi库详解

    wiringPi是一个很棒的树莓派IO控制库,使用C语言开发,提供了丰富的接口:GPIO控制,中断,多线程,等等.java 的pi4j项目也是基于wiringPi的,我最近也在看源代码,到时候整理好了 ...

  5. 树莓派.Raspberry Pi 3碰到"Unable to determine hardware version. I see: Hardware : BCM2835"错误的解决过程

    按pi4jp官方的安装指导(http://pi4j.com/install.html)进行安装 curl -s get.pi4j.com | sudo bash 安装完成后执行JAVA程序, 发现如下 ...

  6. 【树莓派】使用xdrp远程登录树莓派的图形界面

    之前采用了vnc方式方式的树莓派,但是配置还有点步骤,刚才看了一下,试验了一下xrdp,直接很简单就好了. 树莓派DIY笔记之前有介绍过用VNC连接到树莓派的方法.在Windows下,当然还是自带的远 ...

  7. 【树莓派】使用VNC远程登录树莓派的图形界面

    我自己本人使用树莓派,就是ssh连接操作:但是由于实施的部分同学不熟悉Linux命令行操作,虽然之前我给搞过teamviewer方式,但是对他们而言,还是有点复杂,他们也不喜欢不熟悉用ssh,所以我尝 ...

  8. 树莓派使用DHT11温湿度传感器

    一.相关介绍 DHT11介绍: DHT11是一款比较便宜的温湿度传感器模块.读取数据只需要占用一个IO口.能够同时测量温度和相对湿度. DHT11的数据手册可以看这里:http://wenku.bai ...

  9. 玩转X-CTR100 l STM32F4 l X-CTR100与树莓派搭建机器人平台

    我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] 本文介绍X-CTR100控制器与树莓派Linux系统 ...

随机推荐

  1. 递推DP URAL 1167 Bicolored Horses

    题目传送门 题意:k个马棚,n条马,黑马1, 白马0,每个马棚unhappy指数:黑马数*白马数,问最小的unhappy值是多少分析:dp[i][j] 表示第i个马棚放j只马的最小unhappy值,状 ...

  2. General part中方向选取的作用

    这个方向是零部件坐标系 part coordinate system, 也叫local part reference frame. 这个方向要注意, 因为质心的方位由它决定,同时下面的输入的转动惯量就 ...

  3. ural 1286. Starship Travel

    1286. Starship Travel Time limit: 1.0 secondMemory limit: 64 MB It is well known that a starship equ ...

  4. 找模式串[XDU1032]

    Problem 1032 - 找模式串 Time Limit: 1000MS   Memory Limit: 65536KB   Difficulty: Total Submit: 644  Acce ...

  5. cocos2d 中判断CGPoint或者CGSize是否相等

    cocos2d 中判断CGPoint是否相等 调用CGPointEqualToPoint(point1, point2) 判断CGSize是否相等 调用CGSizeEqualToSize(size1, ...

  6. 【BZOJ】1076: [SCOI2008]奖励关(状压dp+数学期望)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1076 有时候人蠢还真是蠢.一开始我看不懂期望啊..白书上其实讲得很详细的,什么全概率,全期望(这个压 ...

  7. JDBC连接执行 MySQL 存储过程报权限错误:User does not have access to metadata required to determine stored procedure parameter types. If rights can not be granted,

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html 内部邀请码:C8E245J (不写邀请码,没有现金送) 国 ...

  8. 重命名Administrator账号

    (Get-WmiObject -class Win32_UserAccount | where {$_.SID -Like 'S-1-5-*-500'}).Rename("Ultraman& ...

  9. 将组策略中的内容导出至CSV格式

    #将组策略首选项中的"本地用户和组"下的所有条目导出 $xml = Get-GPOReport -ReportType Xml -Name "China Desktop ...

  10. 分布式架构高可用架构篇_08_MyCat在MySQL主从复制基础上实现读写分离

    参考: 龙果学院http://www.roncoo.com/share.html?hamc=hLPG8QsaaWVOl2Z76wpJHp3JBbZZF%2Bywm5vEfPp9LbLkAjAnB%2B ...