跳转到主要内容

与连接到您的计算机的手机进行通信。

项目描述

与连接到您的计算机的手机进行通信。

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做出贡献。

请参阅 <http://www.thomas-lotze.de/en/software/phebe/>。

项目详情


下载文件

下载适合您平台的文件。如果您不确定该选择哪个,请了解更多关于 安装包 的信息。

源分布

phebe-0.2.tar.gz (23.7 kB 查看哈希值)

上传时间

支持者