Since there is a vast number of commands available for the modem interface of the phone, it is quite hard to pick the most interesting ones out of the extensive official documentation. This page tries to show some highlights of this interface, but don't expect a complete reference - If you need such, try the Sony Ericsson documents.
- Retrieving phone information: Collect data about the device state
- Dialing Control: Dial numbers from your computer
- Media player: Take control of the multimedia software
- Key presses: Simulate action on the phones keypad
- UI Control: Influence and create user interface items on your phone
I also developed a C# class library named
DisGUISE for these functions, which makes it easy to create applications using the phone as in- and ouput device.
General device information
The most basic data can be gathered by using the ATI (
information) command: Without additionals data (or with 0 appended), it just displays the phone model:
ATI0 Sony Ericsson K750 OK
Other numbers reveal different data, such as the software revision.
The command AT+CBC displays the current power state of the cellphone: It basically returns two numbers, the first one indicates whether the phone is connected to AC power or not, while the later reports the charging level of the battery.
Of course the most basic task for a modem can be performed as well: Dialing a phone number is done with the command ATD, certain flags such as ATDT for tone dialing are supported, but have - since we are dealing with a mobile phone network - no real effect.
You might notice that a command like ATD0123456 produces the error message
NO CARRIER: To be succesfull, a semicolon has to be appended to the phone number to be dialed.
A running media player can be controlled by the AT command AT*SEMP:
|8||random play mode|
So AT*SEMP=1 will start the playback of the running media player.
It is possible to emulate key events through two different commands: The older method is AT+CKPD, which takes a sequence of characters and simulates the pressing this key sequence.
The more recent one involves the command AT*EKEY: This command evokes one or multiple key events, and indicates whether the key has been pressed or released.[more to come]
One of the most interesting aspects of the modem interface is the creation and manipulation of user interfaces. With special commands, the phone establishs a user interface that sends its events back to the computer it is linked to. The main intention behind this technique is to enable extension hardware to interact with the user. The protocol employed is relatively easy and well documented, so it should be possible to program a custom microcontroller to use homebrew hardware with the phone.
Creating special menu items
The easiest aspect of hooking into the user interface of the phone is the creation of a custom menu item; This entry can be placed into various locations.
AT*SEAM="Foobar" *SEAM: 4401 OK
This command adds a menu item labeled
Foobar to the accessory menu of the phone (
Accessories (On german phones:
Zubehör). The number returned by the command is a reference ID to this item: Whenever the menu item is triggered by the user, a message containing this ID number is sent through the serial link:
Those messages are called
unsolicited result codes, since they are not the direct effect of an AT command, but of a user interaction with the phone.
SEAAI specifically refers to a selected menu item, other events are indicated by different message codes.
The location of the menu item is not limited to the accessory menu: Using a second parameter, the new item can be placed at a different location: AT*SEAM="Foobar",2 will move the
Foobar item to the
For the menu of the K750i differs from those of other Sony Ericsson phones, the real effects partialy differ from the documentation - The following categories are recognized by the cellphone:
|ID||Description||Location on K750i|
|5||Settings - General|
|6||Settings - Sounds and alarms|
|7||Settings - Display|
|8||Settings - Calls|
For each accessory device connected, only a single menu item may exist: Once a new entry is created, the old one is removed automatically, as well as when the connection is terminated.