Maemote -- the Nokia 770 Bluetooth remote control application
===============================================================
Control your desktop or laptop from your Nokia 770
with Maemote--the Bluetooth remote.
License: GPL 2.0
NOTE WELL: Maemote is currently a "technology preview"--it has many rough
or non-existant edges and you use it at your own risk.
What
----
* Use Maemote on your Nokia 770 to control applications on your desktop
or laptop (Mac OS X only currently--but the intention is to make it
multi-platform).
* Connects using Bluetooth.
* Control your music player, movie player, presentation software, terminal,
home automation and more!
* Customisable commands and interface--use the touch screen or
hardware buttons to send commands. Create task-specific (e.g. entertain,
presentation) interfaces and command sets.
Where
-----
* Files:
* News:
Install
-------
Maemote consists of two parts:
* An application that runs on a Nokia 770 (the "controller").
* An application that runs on the target computer (the "controllee").
Install -- Nokia 770
--------------------
Bluetooth Configuration
^^^^^^^^^^^^^^^^^^^^^^^
Your Nokia 770 device needs to be "discoverable" and "connectable" via
Bluetooth. Due to various defaults, your device may have one, both or
none of the two options enabled.
To determine if Bluetooth on your device is suitably configured you
need to run this command in a xterm:
$ /usr/sbin/hciconfig
If the result includes the following line then Bluetooth is suitably
configured:
UP RUNNING PSCAN ISCAN
If the result displays only "PSCAN" or "ISCAN" or neither then you
need to modify your Bluetooth configuration. By running the following
command as root you will enable your device to be "discovered" and
"connected" to by another device:
# hciconfig hci0 piscan
If you wish to make the device un-discoverable and/or un-connectable
again you will need to modify the configuration. (Note: At present
Maemote stores no Bluetooth address information so you must leave your
device discoverable in order to use Maemote.)
Python Installation
^^^^^^^^^^^^^^^^^^^
You need Python installed on your device--follow the directions in the
"Installing on Nokia 770" section of the Installation instructions on
the PyMaemo site: .
Maemote Installation
^^^^^^^^^^^^^^^^^^^^
In order to install Maemote on your device you will also need to transfer the
following package file to the device:
To install the file package, double-tap on the file in the File Manager
or select it via the "Install from file..." menu item of the
Application Manager. Follow the instructions.
A "Maemote" item will be added to your "Extras" menu.
The Nokia 770 side of the installation process is now complete.
Install -- Mac OS X (10.4)
--------------------------
To install Maemote on your desktop or laptop computer you need to download
and open the following disk image:
After opening the disk image you can drag the `Maemote.app` file to
your `Applications` folder or run the application directly from the disk image.
Note: Python 2.3 is installed by default on Mac OS X 10.4 and this release is
targeted to 10.4--I am not sure if the source would run on earlier
versions of the OS but if you download the dependencies (PyObjC)
you're welcome to try.
This completes the installation process for your computer.
Using Maemote
-------------
The following order of operation is important:
1) Run Maemote on your Nokia 770 first--it will display a dialog with a
bouncing progress bar with the message "Listening on port 1...".
Note:
* If the port number is not '1' Maemote on the controllee will probably
not connect successfully. You could try turning the Nokia 770
off and on and try again.
* Choosing 'Cancel' will stop the application from waiting further
and you may then exit the application using the close "X" window icon.
2) Next, run the 'Maemote.app' file on your Mac--its Dock icon will
bounce for a long time and when it stops it will declare "Application
not responding" in the Dock menu. Rest assured the application is
probably running okay--this is one of those rough edges I mentioned. :-)
You will know the controllee application is running correctly
when the Nokia 770 will eventually change its window title bar
to "Connected" and large grey buttons will appear on the screen.
Note:
* The Mac application is not very intelligent and simply
tries to connect to the first Bluetooth device it finds--you
will need to ensure you have no other discoverable devices
in the area. (Yes, that would be another rough edge.)
* If you want to see what the Mac application is doing you
can view its debug log in System Profiler Console Log, or
by running this command in a terminal window:
tail -f /Library/Logs/Console/${UID}/console.log
3) This release of Maemote has a hard-coded interface and command set:
* Two large touch screen buttons cause iTunes to "Play" or "Pause".
* The "+" and "-" hardware buttons on the top of the device (on the
"rocker") cause iTunes to move to the "Next" or "Previous" track
respectively.
* The "Zoom"/"Fullscreen" button on the top of the device causes
the interface to fill the screen. (Wow, who'da thought...)
4) If you would like to customise the command set you will need to edit
this file on your Mac:
/Maemote.app/Contents/Resources/Maemote.py
Toward the end of the file is a function `getActionDefinitions`, see
what you can do with it. :-)
Currently all commands trigger AppleScript scripts.
(Don't forget AppleScript's keystroke functionality!)
Note:
* Obviously there's a *lot* more I could do on the scripting
of actions--rest assured I have many plans and some unreleased
actions but I figured you might want something to play with now. :-)
* Maemote on the Nokia 770 automatically resizes the onscreen buttons
when more are added.
Conclusion
----------
Hopefully this introduction has been useful and better than not having
any documentation at all. :-)
My intention is to create at least a Linux Maemote controllee
application but Mac OS X got in first cos it was what I had closest
and is very scriptable. But then again I also know pre-announcing
plans is generally not a good idea... :-)
Please send suggestions for improvement and constructive feedback to:
--follower.