1. 硬件方面的可行性: 众所周知6688i具备红外通信功能,也采用国际标准的红外调制方式进行通信,且具备较高的通信速率,这说明6688是具备智能红外遥控器所必需的红外发射模块和红外接收模块;此外,由于6688具备了flash升级功能,也为将来的MCU低层资源扩充预留了空间。
2. 软件方面的可能性: 虽然smtk的函数资源没有完全开放,但由于6688i系统为我们提供了功能强大的java运行解析器,因此我们也可以想办法通过该高级语言(Kjava)来直接调用部分手机的系统子功能(而不是调用未公开的底层函数),从而达到局部调用所需的部分系统子功能的操作目的。
比如:我们可以通过java程序将MMC上的某个特定文件利用红外通信方式传送给另一部手机或电脑,而另一部手机能正确地接收并存储收到的文件。由发送端来看:通过让手机发送不同的特定内容的文件,我们就可以通过红外编码分析仪器得到相对应的红外指令串,由于是简单遥控指令,我们就不难从中找出文件内容---红外编码串的部分对应规律。由接收端来看:我们也总可以找到接近的红外学码编码的规律。
理想的结果是:某个遥控家电对应一个子目录,其各项控制功能各对应一个该子目录下的小文件(指令体)。当要发出某项红外遥控功能时,只需让专门的红外遥控java程序去调用对应的指令体进行"文件发送"即可。学码的过程就是让6688i接收"红外遥控器"传来的"文件"的过程。这样"6688i红外遥控器"的问题就转化为如何用java来实现6688i文件的红外对传问题了。
当然由于是利用现成的"文件传输"功能,所以所发出的红外指令解调后其最小脉冲间隔(分辨率)可能较大(虽能进行9600bps高速通信,但我猜分辨率可能超过5ms), 所以此法仅适用于部分较简单(数据量少不考虑压缩)的低分辨率红外遥控指令集。
抛砖引玉吧,请多多指正。谢谢!