Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to OpenMoko CS 553 – Internet Services Pravin Shankar

Similar presentations


Presentation on theme: "Introduction to OpenMoko CS 553 – Internet Services Pravin Shankar"— Presentation transcript:

1 Introduction to OpenMoko CS 553 – Internet Services Pravin Shankar spravin@cs

2 What is OpenMoko? ● Linux-based SmartPhone platform – Hardware (Neo Freerunner 1973) – Software (Om 2008.8) ● Wifi/GPS/GPRS/Bluetooth/... etc. ● Open Source hardware and software

3 Course Logistics ● OpenMoko-based course project – to be posted on class website this week ● Each student gets a phone for development ● LCSR contacts: – Rick Crispin - crispin@cscrispin@cs – Lars Sorensen - biglars@csbiglars@cs – For issuing tickets - help@cshelp@cs ● Known Issues with phone: – Battery

4

5 The Hardware – Neo FreeRunner ● 500 MHz Samsung (ARM) Processor ● 128 MB SDRAM, 256 MB NAND Flash ● Touchscreen ● Wifi – 802.11b/g Atheros-based chipset ● GPS/AGPS ● GSM/GPRS ● Accelerometer – 2 tri-axis sensors

6 The Software - OM2008.8 ● OS - Linux 2.6.24 ● Languages - C/Java/Python/... ● GUI - X11/Qtopia ● uBoot ● Installer – opkg ● Emulator – QEMU

7 SSHing to the phone ● Over USB – ifconfig usb0 192.168.0.200 netmask 255.255.255.0 – ssh root@192.168.0.202 ● Over wireless – On LAWN, you can: ● ssh -p 11047 root@lawn-gw.rutgers.edu ● X11 support (ssh -X)

8 Flashing a new Firmware/OS ● DFU-util (Device Firmware Update) – update kernel and rootfs images ● Alternates – Install to a microSD card – QEMU

9 Installing sw using opkg ● Example (installing a web server - apache) – cd /etc/opkg – wget http://buildhost.automated.it/scaredycat.confhttp://buildhost.automated.it/scaredycat.conf – opkg update – opkg install apache2

10 Developing using C ● Cross-compiler – http://downloads.openmoko.org/toolchains/ http://downloads.openmoko.org/toolchains/ – tar -xvjf ~/openmoko/openmoko-i686-arm-linux- gnueabi-toolchain.tar.bz2 – /usr/local/openmoko/arm/bin/arm­angstrom­linux­gnueabi­ gcc ­o foo foo.c – scp foo root@openmoko:~/

11 Developing using Java ● Cacao: – JVM implementation for OpenMoko – http://www.cacaojvm.org/http://www.cacaojvm.org/

12 Developing using Python ● As simple as: – opkg install python-core ● Graphical API: – GTK – ETK

13 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 http://wiki.openmoko.org/wiki/MokoMakeFile

14 Wifi ● eth0 – Atheros AR6K driver – Same commands as on a regular Linux laptop (iwconfig/iwlist/dhclient/...)

15 GPRS ● http://wiki.openmoko.org/wiki/Manually_using_GP RS http://wiki.openmoko.org/wiki/Manually_using_GP RS ● Chat script using pppd

16 GPS ● GPSD – opkg install gpsd – gpsd /dev/ttySAC1 – nc localhost 2947 – r ● Graphical tool – TangoGPS – http://www.tangogps.org/gps/ http://www.tangogps.org/gps/ – Fetches maps from OpenStreetMap

17 Accelerometer ● http://wiki.openmoko.org/wiki/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 http://wiki.openmoko.org/wiki/Gestures

18 Additional resources ● Openmoko Wiki: – http://wiki.openmoko.org/wiki/Main_Page http://wiki.openmoko.org/wiki/Main_Page – Google :-) ● site:http://wiki.openmoko.org/wiki/ ● Planet Openmoko - http://planet.openmoko.org/http://planet.openmoko.org/ ● Source Code (git repo) http://git.openmoko.org/http://git.openmoko.org/ ● Mailing list: – http://lists.openmoko.org/mailman/listinfo/ http://lists.openmoko.org/mailman/listinfo/


Download ppt "Introduction to OpenMoko CS 553 – Internet Services Pravin Shankar"

Similar presentations


Ads by Google