用rapidsms打造短信平台(一)
一直想自己写个python的短信平台,利用短信modem做接口,实现与手机双向信息互通和远程控制,近期google发现了rapidsms这个框架,正是我所想和需要的框架。
rapidsms框架主要集成了django作为web界面的实现和后台数据库的管理, 底层使用了一个叫pygsm的库与modem交互, 这个库单独也可以用,收发短信十分方便,同时也支持短信网关的模式。
rapidsms安装:
如果pygsm没安装,先安装pygsm,https://github.com/rapidsms/pygsm
简单的easy_install rapidsms 就ok了 ,会自动处理依赖关系,安装依赖的库和包。
安装短信modem:
这个可以参照短信开发分类里面的文章,网上也有很多资料,就不再赘述了
rapidsms使用入门:
rapidsms很多地方直接模仿了django,比如命令行.
1. 建立新项目 rapidsms-admin.py startproject myproject
2. 可以看到目录结构和生成文件和django的差不多一样,编辑settings.py:
配置短信modem, "PORT"填入短信modem的连接端口:
INSTALLED_BACKENDS = {
"att": {
"ENGINE": "rapidsms.backends.gsm",
"PORT": "com1"
},
#"verizon": {
# "ENGINE": "rapidsms.backends.gsm,
# "PORT": "/dev/ttyUSB1"
#},
"message_tester": {
"ENGINE": "rapidsms.backends.bucket",
}
}
3. python manage.py syncdb 这个和django一样,同步数据库,输入用户名密码什么的
4. python manage.py runrouter 启动router,建立和短信机的交互循环
python manage.py runserver 8080 启动django的web服务
完成上面两个服务启动以后, 短信服务和web服务就联系起来了,通过发送短信给短信机的号码,处理信息,保存到数据库,访问web页面就可以看到所接收和发送的信息。