与连接到您的计算机的手机进行通信。
项目描述
与连接到您的计算机的手机进行通信。
Phebe包含一个命令行shell,它可以在连接到您的计算机的电话上执行常见任务:获取使用统计信息、备份通讯录和联系人,以及下载和删除短信。通信是通过索尼爱立信指定的AT命令完成的。
此软件包需要Python 2.5或更高版本。
命令行shell
配置
phebe shell需要告诉操作系统代表电话的设备节点以及电话通信的波特率。这些可以在ini风格的配置文件中给出,可以是全局的,在/etc/pheberc中,或者在用户的家目录中在~/.pheberc中,或者作为命令行选项。
命令行选项覆盖配置文件,并且~/.pheberc覆盖/etc/pheberc。如果配置文件中没有指定设备节点和波特率之一,则必须在命令行中给出。这两个设置没有提供有用的默认值。
另一个选项是默认的国家电话号码前缀。这允许处理有时以国家格式出现,有时以国际格式出现的号码,例如在电话簿中查找短信地址时。此选项不是必需的。
一个示例配置文件可能看起来像这样
[Connection] device=/dev/ttyACM0 baud=9600 [Local] # Germany prefix=49
相应的命令行选项定义如下
- --help, -h
显示此帮助信息并退出
- --device=设备,-d 设备
设备节点
- --baud-rate=波特率,-b 波特率
波特率
- --prefix=前缀,-p 前缀
默认的国家电话号码前缀
上述配置文件中的信息可以通过以下命令行选项进行指定
$ phebe --device=/dev/ttyACM0 --baud-rate=9600 --prefix=49
用法
以下是对由 phebe 命令行提供的命令及其参数含义的简要描述。
- atterm
通过提示符发送 AT 命令与您的电话进行通信,并从设备接收原始文本响应。
- 用法
打印出您的手机资源的使用情况摘要。这目前包括电话簿和短信存储中每个条目的使用数量与总数。
- smsusage
打印出每个联系人存储的短消息总数(接收和发送的)。
- phonebook
列出以命令参数命名的电话簿存储中的所有条目,按电话索引的顺序。如果没有参数,则列出“ME”存储。
- contacts
按存储分组列出条目。输出格式大致为 ini 风格。
- messages
列出“ME”短信存储中的短消息。
参数可以是存储索引或单条消息的索引范围(例如“14-23”)。如果没有参数,则列出所有消息。如果显式给出或包含在范围内不存在索引,则将忽略。
- conversations
列出与您的联系人分组在一起的“ME”短信存储中的短消息。
参数可以是部分名称;列出与任何匹配联系人进行的对话。如果没有参数,则列出所有对话。如果无法使用电话簿解析发送者或接收者号码,则使用该号码本身进行分组。
- deletemessages
从您的手机“ME”短信存储中删除短消息。
命令参数与 messages 命令相同。要删除的消息将首先列出,删除操作受安全查询保护。
- deleteconversations
从您的手机“ME”短信存储中删除与您的联系人进行的对话的短消息。
命令参数与 conversations 命令相同。要删除的消息将首先列出,删除操作受安全查询保护。
“phonebook”,“contacts”,“messages” 和 “conversations” 命令将输出发送到默认的页面浏览器,以便方便浏览。您可以使用来自系统壳的 > 运算符将输出重定向到文件。例如,要将电话簿转储到文件而不是分页,可以输入:
(Cmd) phonebook > /tmp/phonebook.backup
Phebe API
本节包含 Phebe 概念和包结构的概述。
连接
Phebe 通过向设备节点发送 AT 命令并与它进行通信,读取可能包含错误信号的文本响应,与手机进行通信。
连接对象封装了与手机在设备级别上的通信。它是唯一关注设备节点名称和波特率的对象。对于应用的其他部分,它是一个可调用的对象,接受一个 AT 命令字符串作为参数,并返回一系列响应行或引发异常。它不维护任何状态。
协议
手机的每个功能,如电话簿或短信管理,都有自己的 AT 命令组,具有指定的参数和结果格式。
协议是一个对象,其接口反映了与特定功能相关的操作。这些操作直接对应于手机作为AT命令所实现的内容。协议使用连接对象发送带有适当格式参数的AT命令,接收并解释响应,并返回包含接收信息的纯Python数据结构。它们也不维护任何状态。
代理
与无状态、与动作相关的协议相反,代理代表手机功能及状态向应用展示。
代理使用协议对象并公开由所建模的功能需求定义的接口。代理是状态化的;其状态表示存储在手机上以及手机当前状态的信息。它们可能需要与手机显式同步。修改代理的状态会立即修改存储在手机上或手机的状态。通常,建议每个手机在某一时刻最多使用一个代理来处理任何特定功能。
应用对象
应用对象是Phebe最高级别的对象,代表手机。它们组合了各种与命令规范无关的功能。
应用对象公开符合其目的的任何接口。它们定义并使用Phebe特定的数据结构。每个应用对象可以同时使用任意数量的不同代理。操纵应用对象的状态不应直接影响手机;手机应通过方法显式修改。这样,应用对象就可以更自由地使用。
包结构
“phebe”包包含三个子包和一些模块,所有这些都在以下进行描述。
- connection
基本的连接类和ATError异常
- rangelist
用于指定消息索引范围的RangeList数据类型
- response
解析AT命令的响应
- gsmcoding
处理使用GSM字母表和7位打包编码的PDUs
- gsmaddress
一个了解号码类型和编号计划的电话号码实现
- sms
根据GSM标准定义的各种短信类型的数据结构
- shell
“phebe”命令shell及其egg入口点
phebe.protocol
- phonebook
访问电话簿
- sms
访问短信存储
phebe.proxy
- phonebook
代表手机电话簿的代理
- sms
代表手机作为短信移动站的代理
phebe.app
- contact
管理存储在手机上的任何联系信息
- message
使用联系管理手机上通过短信完成的任何消息
Status
实现遵循了截至2006年12月7日的索尼爱立信开发者指南使用AT命令,请参阅 <http://developer.sonyericsson.com/getDocument.do?docId=65054>。到目前为止,它只在SE K750i上进行了测试,使用的是Debian和Gentoo Linux发行版以及2.6内核。
Phebe的当前状态是“对我有效”,即它提供了作者立即需要的功能:获取手机的用量统计、备份电话簿、转储和删除短信。请参阅ROADMAP.txt和TODO.txt以了解未来的进一步开发。
尽管Phebe通过AT命令接口以及实现的高级数据结构都不是操作系统特定的,但与设备的通信是。Phebe目前通过使用仅适用于Unix的Python模块来完成这一点。作者不会很快将Phebe移植到非Unix系统,因此如果您希望它支持您的操作系统,您必须提供适当的补丁。
Contact
Phebe是由Thomas Lotze编写的。请通过 <thomas@thomas-lotze.de> 与作者联系,提供关于Phebe的反馈或建议,或为Phebe做出贡献。
项目详情
phebe-0.2.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f8b1e7f5f1c64152da69f0ac1196280a74328e36d5c3dab3cea677137a9af103 |
|
MD5 | 4e682a0ae52f22305087321b21aa7310 |
|
BLAKE2b-256 | ff0f716cebb5d11d961b18a84c3c337feb4bb011d1bbfc6c25fc47ca241b76dc |