Introduction to OpenMoko - Computer Sciencebadri/553dir/notes/openmoko-cs553.pdf · Course...
Transcript of Introduction to OpenMoko - Computer Sciencebadri/553dir/notes/openmoko-cs553.pdf · Course...
What is OpenMoko?
● Linuxbased SmartPhone platform– Hardware (Neo Freerunner 1973)– Software (Om 2008.8)
● Wifi/GPS/GPRS/Bluetooth/... etc.● Open Source hardware and software
Course Logistics
● OpenMokobased course project– to be posted on class website this week
● Each student gets a phone for development● LCSR contacts:
– Rick Crispin crispin@cs– Lars Sorensen biglars@cs– For issuing tickets help@cs
● Known Issues with phone:– Battery
The Hardware – Neo FreeRunner
● 500 MHz Samsung (ARM) Processor● 128 MB SDRAM, 256 MB NAND Flash● Touchscreen● Wifi – 802.11b/g Atherosbased chipset● GPS/AGPS● GSM/GPRS● Accelerometer – 2 triaxis sensors
The Software OM2008.8
● OS Linux 2.6.24● Languages C/Java/Python/...● GUI X11/Qtopia● uBoot● Installer – opkg● Emulator – QEMU
SSHing to the phone
● Over USB– ifconfig usb0 192.168.0.200 netmask 255.255.255.0– ssh [email protected]
● Over wireless– On LAWN, you can:
● ssh p 11047 root@lawngw.rutgers.edu● X11 support (ssh X)
Flashing a new Firmware/OS
● DFUutil (Device Firmware Update)– update kernel and rootfs images
● Alternates– Install to a microSD card– QEMU
Installing sw using opkg
● Example (installing a web server apache)– cd /etc/opkg– wget http://buildhost.automated.it/scaredycat.conf– opkg update– opkg install apache2
Developing using C
● Crosscompiler– http://downloads.openmoko.org/toolchains/– tar xvjf ~/openmoko/openmokoi686armlinux
gnueabitoolchain.tar.bz2– /usr/local/openmoko/arm/bin/arm angstrom linux
gnueabi gcc o foo foo.c – scp foo root@openmoko:~/
Developing using Java
● Cacao: – JVM implementation for OpenMoko– http://www.cacaojvm.org/
MokoMakeFile
● Useful wrapper Makefile:– wget
http://svn.projects.openmoko.org/svnroot/mokomakefile/trunk/Makefile
● Examples:– make image– make toolchain– make qemu
● Refer for more: http://wiki.openmoko.org/wiki/MokoMakeFile
Wifi
● eth0 – Atheros AR6K driver– Same commands as on a regular Linux laptop
(iwconfig/iwlist/dhclient/...)
GPRS
● http://wiki.openmoko.org/wiki/Manually_using_GPRS● Chat script using pppd
GPS
● GPSD– opkg install gpsd– gpsd /dev/ttySAC1– nc localhost 2947– r
● Graphical tool – TangoGPS– http://www.tangogps.org/gps/ – Fetches maps from OpenStreetMap
Accelerometer
● http://wiki.openmoko.org/wiki/Accelerometer● Two sensors:
– /dev/input/event2 and /dev/input/event3● Test python program (acc.py)● More sophisticated app – Gestures
– http://wiki.openmoko.org/wiki/Gestures
Additional resources
● Openmoko Wiki:– http://wiki.openmoko.org/wiki/Main_Page – Google :)
● <search term> site:http://wiki.openmoko.org/wiki/● Planet Openmoko http://planet.openmoko.org/ ● Source Code (git repo) http://git.openmoko.org/ ● Mailing list:
– http://lists.openmoko.org/mailman/listinfo/