目前国内已经有少部分安卓智能手机配备了无线红外传感器,红外传感器仅支持安卓API19的安卓系统。本次设计使用的安卓手机内置红外发射设备,红外发射传感器使用NEC协议。由于红外属于系统硬件传感器,所以要获得系统红外服务。
ConsumerIrManager mCIR=(ConsumerIrManager) getSystemService(Context.CONSUMER_IR_SERVICE);//获取红外服务
mCIR.transmit(38000, CodeLite.pattern);
调用的是红外发射函数API,38000为载波频率,CodeLite.pattern为红外编码,CodeLite.pattern为一个整型数组,整型数组变量值单位为us。
例如一个用户码为0x00,用户反码为0xFF,控制码为104,控制反码为97的红外pattern编码为:
public static intpattern1[]={9000,4500,560,560,560,560,560,560,560,560,560,560,560,560,560,560,560,560,560,
1690,560,1690,560,1690,560,1690,560,1690,560,1690,560,1690,560,1690,
560,560,560,1690,560,1690,560,560,560,1690,560,560,560,560,560,560,
560,1690,560,560,560,560,560,1690,560,560,560,1690,560,1690,560,1690,560,39980, 9000,2500,560};
在编码中逻辑电平“0”表示(560,560);逻辑电平“1”表示(560,1690);
无码表示(560, 39980);重复码表示为(9000,2500,560);源程序CSDN下载链接:http://download.csdn.net/detail/aa1094143832/9773911
我的博客即将入驻“云栖社区”,诚邀技术同仁一同入驻。