钛极OS(TiJOS)物联网操作系统之小试牛刀(1)——灯、按键

来源:互联网 发布:战地4 mac版下载地址 编辑:程序博客网 时间:2024/06/05 04:59

钛极OS(TiJOS)物联网操作系统之小试牛刀(1)——灯、按键

作者:crashMaker

说明

开发环境的搭建以及应用工程的创建方法在这里不再赘述,可参考笔者文章《钛极OS(TiJOS)物联网操作系统之初体验》或访问钛极OS(TiJOS)系统官方发布的教程☞钛极OS(TiJOS)应用开发环境搭建

功能实现

一个按键控制一个灯的亮灭,初始状态灯灭,按键一次灯亮,再按一次灯灭。

硬件准备

  1. TiKit-T600-ESP8266A 开发板
  2. TiLED灯模块(四灯一组)
  3. TiButton按键模块(四按键一组)
  4. 杜邦线若干
  5. USB线两条

硬件连接

TiKit开发板<——连接——>TiLED灯模块

PIN0 <——连接——>R(红色灯)

3.3V <——连接——>3.3V

===================================

TiKit开发板<——连接——>TiButton按键模块

PIN1 <——连接——>B1(S1按键)

GND <——连接——>GND

===================================

这里写图片描述

程序编写

在Eclipse中新建TiJOS Application工程,编写JAVA代码如下:

import java.io.IOException;import tijos.framework.devicecenter.TiGPIO;import tijos.framework.sensor.button.ITiButtonEventListener;import tijos.framework.sensor.button.TiButton;import tijos.framework.transducer.led.TiLED;import tijos.util.Delay;class ButtonEventListener implements ITiButtonEventListener {    private TiLED _led = null;    //构造方法,传入TiLED对象    public ButtonEventListener(TiLED led) {        this._led = led;    }    @Override    public void onPressed(TiButton button) {        //如果事件信号线是pin1        if(button.getSignalPinID() == 1) {            try {                this._led.turnOver();//状态翻转,亮灭交替            }            catch(IOException e) {                e.printStackTrace();            }        }    }    @Override    public void onReleased(TiButton button) {        //释放事件不做处理    }   }/** * 一个按键控制一个灯的亮灭,初始状态灯灭,按键一次灯亮,再按一次灯灭 * @author crashMaker * */public class LedandButton {    public static void main(String[] args) {        try {            //定义要用到的硬件资源,使用GPIO的port0,以及port0下的pin0和pin1            int gpioPort = 0;            int ledRPin = 0;            int buttonS1Pin = 1;            //硬件资源分配            TiGPIO gpio = TiGPIO.open(gpioPort, ledRPin, buttonS1Pin);            //资源与实例绑定,完成与硬件的映射            TiLED ledR = new TiLED(gpio, ledRPin);            TiButton buttonS1 = new TiButton(gpio, buttonS1Pin);            //创建按键事件监听对象,并设置按键监听者            ButtonEventListener lc = new ButtonEventListener(ledR);            buttonS1.setEventListener(lc);            //保证主线程不退出            while(true) {                //线程睡眠1秒                Delay.msDelay(1000);            }        }        catch(IOException e) {            e.printStackTrace();        }    }}

功能演示

在Eclipse中执行“Run As TiJOS Application”,运行编写的应用程序,演示效果如下:

这里写图片描述

应用运行后,在Eclipse中打印日志如下:

这里写图片描述

阅读全文
2 0