钛极OS(TiJOS)物联网操作系统之小试牛刀(3)——红外遥控
来源:互联网 发布:vscode字体推荐 编辑:程序博客网 时间:2024/06/07 00:10
钛极OS(TiJOS)物联网操作系统之小试牛刀(3)——红外遥控
作者:crashMaker
说明
开发环境的搭建以及应用工程的创建方法在这里不再赘述,可参考笔者文章《钛极OS(TiJOS)物联网操作系统之初体验》或访问钛极OS(TiJOS)系统官方发布的教程☞钛极OS(TiJOS)应用开发环境搭建
功能实现
解码红外遥控编码,编码方式为NEC码,并将遥控编码在屏幕上显示(支持重复码的接收显示)。
硬件准备
- TiKit-T600-ESP8266A 开发板
- TiVS1838BNEC红外接收模块
- TiOLED_UG2864显示模块(OLED12864)
- 红外线遥控器(迷你版)
- 杜邦线若干
- USB线两条
硬件连接
TiKit开发板<——连接——>TiOLED_UG2864显示模块
SCL <——连接——>SCL
SDA <——连接——>SDA
3.3V <——连接——>VCC
GND <——连接——>GND
===================================
TiKit开发板<——连接——>TiVS1838BNEC红外接收模块
PIN3 <——连接——>OUT
3.3V <——连接——>VCC
GND <——连接——>GND
===================================
程序编写
在Eclipse中新建TiJOS Application工程,编写JAVA代码如下:
import java.io.IOException;import tijos.framework.devicecenter.TiGPIO;import tijos.framework.devicecenter.TiI2CMaster;import tijos.framework.sensor.infrared.ITiVS1838BNECEventListener;import tijos.framework.sensor.infrared.TiVS1838BNEC;import tijos.framework.transducer.led.TiOLED_UG2864;import tijos.util.Delay;class DecodingEventListener implements ITiVS1838BNECEventListener { private TiOLED_UG2864 _oled; public DecodingEventListener(TiOLED_UG2864 oled) { this._oled = oled; } /** * 接收事件处理 */ public void cmdReceived(TiVS1838BNEC arg0) { try { _oled.print(1, 0, "ADDR:"+arg0.getAddress()); _oled.print(2, 0, "CODE:"+arg0.getCommand()); _oled.print(3, 0, "REPEAT:No "); } catch(IOException e) { e.printStackTrace(); } } /** * 接收重复事件处理 */ public void cmdRepeat(TiVS1838BNEC arg0) { try { _oled.print(3, 0, "REPEAT:Yes"); } catch(IOException e) { e.printStackTrace(); } } }/** * 解码红外遥控编码,编码方式为NEC码,并将遥控编码在屏幕上显示(支持重复码的接收显示)。 * * @author crashMaker * */public class Decoding { public static void main(String[] args) { try { //定义要使用的I2C接口 int i2cPort = 0; //定义要使用的GPIO接口和PIN资源 int goioPort = 0; int outPin = 3; //打印日志 System.out.println("This is a infrared decoding test."); //分配I2C和GPIO资源 TiI2CMaster i2c = TiI2CMaster.open(i2cPort); TiGPIO gpio = TiGPIO.open(goioPort, outPin); //绑定资源到实例,完成与硬件的映射 TiOLED_UG2864 oled = new TiOLED_UG2864(i2c, 0x78); TiVS1838BNEC vs1838b = new TiVS1838BNEC(gpio, outPin); //创建解码事件监听对象,并设置监听者 DecodingEventListener lc = new DecodingEventListener(oled); vs1838b.setEventListener(lc); //显示屏幕打开,并显示信息 oled.turnOn(); oled.clear(); oled.print(0, 0, "===crashMaker==="); //保证主线程不退出 while(true) { //线程睡眠1秒 Delay.msDelay(1000); } } catch(IOException e) { e.printStackTrace(); } }}
功能演示
在Eclipse中执行“Run As TiJOS Application”,运行编写的应用程序,演示效果如下:
应用运行后,在Eclipse中打印日志如下:
阅读全文
2 0
- 钛极OS(TiJOS)物联网操作系统之小试牛刀(3)——红外遥控
- 钛极OS(TiJOS)物联网操作系统之小试牛刀(1)——灯、按键
- 钛极OS(TiJOS)物联网操作系统之小试牛刀(2)——超声波测距
- 钛极OS(TiJOS)物联网操作系统之小试牛刀(4)——温湿度
- 钛极OS(TiJOS)物联网操作系统之小试牛刀(5)——生产者与消费者-多线程
- 钛极OS(TiJOS)物联网操作系统之初体验
- 钛极OS(TiJOS)物联网操作系统开发套件开箱记
- [分享]钛极OS(TiJOS)物联网操作系统介绍
- [关注]钛极OS(TiJOS)物联网操作系统宣传视频!!!
- [整理]钛极OS(TiJOS)物联网操作系统专题 [JAVA编程控制硬件]
- ESP8266+钛极OS(TiJOS)+面包板=JAVA控制物联网硬件平台[创客版]
- [分享]钛极OS(TiJOS)之处理器支持
- [分享]钛极OS(TiJOS)之传感器支持
- [分享]钛极OS(TiJOS)之电源管理
- [分享]钛极OS(TiJOS)之Java特性支持
- [分享]钛极OS(TiJOS)之设备总线支持
- [分享]钛极OS(TiJOS)之网络特性支持
- [分享]钛极OS(TiJOS)之OTA应用更新
- Socket编程
- iOS
- inux下文件夹的创建、复制、剪切、重命名、清空和删除命令
- 微信小程序(获取open_id工具类)
- 【Scikit-Learn 中文文档】寻求帮助
- 钛极OS(TiJOS)物联网操作系统之小试牛刀(3)——红外遥控
- React 常见的面试题
- ContextLoaderListener介绍
- 单目运算符前++与后++的重载
- 虚拟机 grub error: unknown filesystem错误解决办法
- JAVA循环结构
- sendkeys模拟键盘QTP
- iOS开发之KVC和KVO原理解析和实例分析
- NOIP2017解题报告