Phebe


Deutsche Fassung

What is Phebe?

Phebe allows controlling a mobile phone connected to the computer, e.g. via USB. In its current state of development, Phebe is able to read the phonebook and read as well as delete short messages.

Phebe is a Python package, phebe, and contains a command-line interface that makes the package's functionality available to the user. Phebe requires Python 2.5.

Communication with the phone is done using AT commands as described in the developer guidelines by Sony-Ericsson. Phebe has only been tested against the SE K750i and a Linux 2.6 kernel so far. It may work with other devices by the same or other manufacturers. I'd very much appreciate test reports sent to thomas@thomas-lotze.de.

Commands

atterm
A simple terminal that allows the user to type in AT commands and prints the phone's response verbatim.
usage
Shows how many slots are in use in each of the phonebooks and SMS storages.
usage
Shows how many short messages to or from each contact are stored.
phonebook
Lists all phonebook entries.
contacts
Lists all stored contacts. Currently, Phebe only recognizes the contacts' names and phone numbers.
messages
Dumps all or selected short messages stored on the phone.
conversations
Dumps all or selected short messages stored on the phone, grouped by contact.
deletemessages
Deletes all or selected short messages from the phone.
deleteconversations
Deletes whole conversations with all or selected contacts from the phone.

Commands printing larger amounts of text either offer the text to the user for paging or write it to a file.

The Python package phebe

The phebe package contains some modules and sub-packages which implement the communication with the phone as well as the needed data structures in Python.

Modules
The modules residing directly inside the phebe package implement basic components such as the data connection to the phone, analysis of the phone's response, data types for phone numbers and short messages, and the code shared by all of the Phebe project's command line tools.
phebe.protocol
Protocols directly implement the descriptions of AT commands and their expected response. Protocols are stateless. Current Phebe provides protocols for accessing the phonebook and the short message storage.
phebe.proxy
Proxies represent particular functional aspects of the phone. For example, the phonebook proxy is a list whose entries are accessed the usual Python way. Deleting an entry from the proxy immediately removes it from the phone. So proxies are stateful. Working with proxies eliminates the need to think about AT commands. Beside the phonebook proxy, there is another one for the short message storage.
phebe.app
This package provides data structures that are not related to the use of AT commands. They include contacts subsuming all phone numbers of and, in the future, other data about a person. Also included are conversations that collect all short messages from and to a person.

2015/10/02