本来写了一个 Python 2.4.x 的 patch,让 Python 可以 native 支持 IrDA socket。但是 Python 的维护者告诉我 Python 2.5 早就 freeze,除非 bugfix 否则不考虑接受新的 feature。因此就做了一个 Python 扩展,至于维护人员认可会这个 patch 并加入到 2.6 里面去就看我的努力吧。
扩展大约一周前就做好,在邮件列表上发布了,但是无人响应,似乎是 Python-CN 的用户有红外设备的不多。所以还是在 Blog 上贴出来:如果你希望用脚本语言对红外设备(手机、PALM、PDA)通信编程,请考虑我的这个扩展。
扩展这部分的代码大部分是修改 Python 的 socket 模块的,所以 License 当然也是 Python 的。
代码 checkout 地址:
http://pymobilesync.googlecode.com/svn/trunk/irdasocket/
预编译好的 Py2.4 for Win32 的包下载:
http://www.dup2.org/files/irda-0.1.win32-py2.4.exe
该 win32 版本是在 Visual C++ Toolkit 2003 + .NET SDK 1.1 + Windows Platform SDK 环境编译。感谢Compiling Python 2.4 extensions with Microsoft VC Toolkit 2003这篇文章教我们如何让 distutils 和这些免费工具一起工作。
下面是测试代码:
-
from irda import *
-
irdaobject = irda()
-
devicelist = irdaobject.discover()
-
print devicelist
-
firstHint(devicelist[0][3])
-
secondHint(devicelist[0][4])
-
irdaobject.connect('OBEX')
-
irdaobject.close()
Topic:
技术
最新评论