先解释下GPIO,General-purpose input/output,通用型输入输出接口,其实就是利用针脚的高低电位来进行信息传递的作用,以此来对外部设备进行开关控制,或者获取外部设备的控制。最常见的俩例子就是红外传感器和报警器。
红外报警器算是输入设备(以控制器为主体而言),它可以检测是否有物体出现在其前方,一旦检测到物体,则输出信号,控制器得到信号,可以做出进一步响应。
报警器则是输出响应设备,在得到信号控制后,可以进行报警响应。
下面介绍一个简单案例来对GPIO的使用流程、方法有个全面的认识。注意,一下仅仅是如何连线,具体原理等详情请见附件文档(impinjGPIO文档合集)。
https://download.csdn.net/download/xiaohaigary/11580460

一、所用设备

1、 impinj读写器、impinj GPIO盒子、24v直流电源适配器
2、红外传感器(直流三线NPN常开型)、声光报警器(5线型)

二、接线


这是GPIO盒子的示意图,其中1处接R420的GPIO口,8、9分别接外置直流24V电源,8正极,9负极。至此便完成了基本准备了,可以用impinj自带的Item Test来进行测试一下,out 1有效时4号处亮灯,out 4有效时7号处亮灯。

下一步开始连接声光报警器,这是五线报警器的接线。最左侧两根线分别是正负电源。中间灰色线是喇叭控制线,第四根(红线)是灯光控制线,第五根(黑线)是公共端即地线。

报警器怎么与GPIO盒子连接呢?
首先两根电源线可以连接在8、9位置,也可连接在10、15位置皆可。
红色灯光控制线连接在4号位,为out1。灰色线连接5号位,为out2。
最后一个黑线连接在3号处。
这样,便完成了声光报警器的连接。利用ItemTest进行测试,便可以分别控制声音和灯光进行报警。

下面在说说红外感应器的连接:
下图中标记的1、2、3便是红外传感器的三根连线。1、3分别为正负极。分别连接至10、15处的位置。2是控制线,连接至11处位。
进行测试:将手挡住红外传感器,看11处的小灯是否会亮,亮则说明传感器正常工作了。

输出信号控制原理:

这个盒子其实蛮方便的,输出是继电器输出。但是我尝试直接一端接COM一端接在out1上,然后小灯无法使用。
就咨询了厂家,原来供电只支持0-5v的小灯。
但是对于 供电即亮的两线小灯,要怎么进行控制嘞?下面依次说说对于两线小灯和四线小灯的连接方式。

核心原理:outX在有效时,会与COM连通,形成COM端的电平。
两线小灯:

如果是24v的小灯就太方便了。

灯正极---->盒子的24v+
灯负极---->盒子的out1
盒子的COM口与盒子的0V短接

这样一来当out1有效时,就接通了out1和COM口,也就接通了小灯的正负极。

但是如果是12v的两线小灯嘞?
那肯定要增加一个12v的电源咯。

灯正极---->12v+
灯负极---->盒子的out1
盒子的COM口与盒子的0V短接,并且还要和12v电源的0极短接,使两个电源共零。

四线小灯:

四线小灯是高低电平触发的灯。四根线分别为:正、负、高电平触发线、低电平触发线。

灯正极---->盒子的24v+
灯的低电平触发线---->盒子的out1
盒子的COM口与盒子的0V短接

此时盒子的out1有效时,是低电平,就会触发小灯了。

三、代码控制

下面用代码演示:红外传感器检测到物体后,令声光报警器进行报警。

package com.example.sdksamples;import com.impinj.octane.ImpinjReader;
import com.impinj.octane.OctaneSdkException;
import com.impinj.octane.Settings;import java.util.Scanner;public class SetGPO {public static void main(String[] args) {try {String hostname = System.getProperty(SampleProperties.hostname);if (hostname == null) {throw new Exception("Must specify the '"+ SampleProperties.hostname + "' property");}ImpinjReader reader = new ImpinjReader();reader.connect(hostname);Settings settings = reader.queryDefaultSettings();reader.applySettings(settings);reader.setGpiChangeListener(new GpiChangeListenerImplementation());} catch (OctaneSdkException ex) {System.out.println(ex.getMessage());} catch (Exception ex) {System.out.println(ex.getMessage());ex.printStackTrace(System.out);}}
}

GpiChangeListenerImplementation文件为:

package com.example.sdksamples;
import com.impinj.octane.GpiChangeListener;
import com.impinj.octane.GpiEvent;
import com.impinj.octane.ImpinjReader;
import com.impinj.octane.OctaneSdkException;public class GpiChangeListenerImplementation implements GpiChangeListener {@Overridepublic void onGpiChanged(ImpinjReader reader, GpiEvent e) {System.out.println("GPI Change--port: " + e.getPortNumber()+ " status: " + e.isState());try {if(e.isState()==true){reader.setGpo(1, true);
reader.setGpo(2, true);}else{reader.setGpo(1, true);
reader.setGpo(2, true);}} catch (OctaneSdkException ex) {ex.printStackTrace();}}
}

Impinj GPIO快速上手指南相关推荐

  1. ROS四旋翼无人机快速上手指南(1):无人机系统硬件概述与指南简介

    成就更好的自己 ROS无人机快速上手指南旨在于让使用此无人机开发平台的比赛参赛人员,算法设计人员,无人机爱好者更加快速的了解底层控制运作原理,从而缩短开发周期,减少掉坑次数,快速验证算法的速度,不用在 ...

  2. 分布式作业 Elastic-Job 快速上手指南

    转载自 分布式作业 Elastic-Job 快速上手指南 Elastic-Job支持 JAVA API 和 Spring 配置两种方式配置任务,这里我们使用 JAVA API 的形式来创建一个简单的任 ...

  3. TortoiseGit + GitHub 快速上手指南

    TortoiseGit + GitHub 快速上手指南 名词解释: 1. TortoiseGit 是 TortoiseSVN的Git版,它很好的实现了与windows资源管理器的融合,使用界面与Tor ...

  4. raptor累乘流程图_Markdown快速上手指南

    Markdown快速上手指南 1.Markdown介绍 markdown可以实现快速html文档编辑,格式优没,并且不需要使用html元素. markdown采用普通文本的形式,例如读书笔记等易于使用 ...

  5. 最新课程 | openGauss 快速上手指南课程即将开课

    点击蓝字|关注我们 2020 年 7 月 1 日,openGauss 数据库源代码正式开放,并成立了 openGauss 开源社区.恩墨学院与 openGauss 开源社区达成合作,为了推动社区技术生 ...

  6. NexentaStor iSCSI/ NAS 存储服务器软件图解教程(3)——NMV快速上手指南Part2

    NexentaStoriSCSI/NAS 存储服务器软件图解教程(3) Nexenta Management View (NMV)/*NexentaStor Web 管理界面*/快速上手指南Part ...

  7. HTAP 快速上手指南

    本指南介绍如何快速上手体验 TiDB 的一站式混合型在线事务与在线分析处理 (Hybrid Transactional and Analytical Processing, HTAP) 功能. 注意 ...

  8. Wwise 快速上手指南: 程序员篇(v2016.1)

    Wwise 快速上手指南: 程序员篇(v2016.1) https://gameinstitute.qq.com/community/detail/107700 Wwise 快速上手指南: 程序员篇 ...

  9. 中文CLIP快速上手指南

    当前OpenAI提出的CLIP是AI领域内最火热的多模态预训练模型,简单的图文双塔结构让多模态表征学习变得异常简单.此前CLIP只有官方英文版本,如果想在中文领域尤其是业务当中使用这种强大的表征模型, ...

最新文章

  1. CentOS7 yum 源的配置与使用
  2. gSTM:Ubuntu 上的 SSH Tunneling 图形界面管理工具
  3. 个人项目中的WCF使用
  4. 知乎完成 2.7 亿美元 E 轮融资 加速建设全民知识内容平台(附周源全员邮件全文)...
  5. MIGO相关的3个BADI增强点
  6. 服务器销售税率,转销售云服务器税率
  7. 管家婆辉煌2虚拟服务器,管家婆辉煌:三步轻松完成软狗组网!
  8. 计算机组成原理期末考试题目及答案,计算机组成原理期末考试试题附标准答案.doc...
  9. java根据周数获取日期_java获取日期的周数和所属年份
  10. IS-IS邻接关系建立过程
  11. 折腾AX2012,安装成功,发帖庆祝
  12. eclipse SVN javaHL not available 问题解决
  13. win10安装secureCRT8.1.4破解
  14. Livid : 在 26 岁时写给 18 岁的自己
  15. 租车APP都哪些,租车平台成功案例
  16. 96.(leaflet之家)leaflet态势标绘-进攻方向修改(燕尾)
  17. 学机器人编程要学什么知识
  18. 用python进行自然语言处理
  19. 如何把PDF文档转换成TXT格式文件
  20. VB6导出Excel - 引用“Microsoft Excel 16.0 Object Library”时找不到该引用-解决方法

热门文章

  1. 互联网金融基金“宝宝”战况愈演愈烈 基金宝宝形成“四国大战”格局
  2. 关于WBS与网络的一些详解
  3. 2021-2027全球与中国操作面板市场现状及未来发展趋势
  4. 计算机运维中常见英语单词,盘点网络工程师需要掌握的英语单词(A-C篇)
  5. 程序员必须掌握的100个英语单词
  6. 线性代数基础知识整理
  7. 最小二乘法拟合直线 C++/OpenCV
  8. C++类:this指针
  9. 写字楼招商与互联网+结合做精准招商
  10. 前端实际开发中常见坑(vue项目中各种运行编译报错)