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.