Openmokast: The open broadcasting software stack for mobile devices

  • 1,738 views
Uploaded on

Presentation about the Openmokast project and the Openmoko platform that was used as the base component. Presented at the fosslc.org event "Free/Open Source Mobile Development: An Introduction" in …

Presentation about the Openmokast project and the Openmoko platform that was used as the base component. Presented at the fosslc.org event "Free/Open Source Mobile Development: An Introduction" in Waterloo, Canada

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,738
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
46
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Openmokast: The  open broadcasting software stack for mobile devices Presented at osbootcamp YYZ1 (Mobile embedded development  conference ­ Waterloo, Canada) by Jean­Michel Bouffard <jean­michel.bouffard@crc.ca>
  • 2. Summary Broadcasting to handheld problem ✔ The Openmoko platform ✔ Implementing open mobile broadcasting in the  ✔ Openmokast project Conclusion ✔ 2
  • 3. Broadcasting to handheld problem Typical mobile phones only support applications that  ✔ use the network operator controlled infrastructures: CDMA2000 ­> 1X, EV­DO ✔ GSM ­> GPRS, EDGE, 3G ✔ For this reason, innovation in mobility is difficult ✔ Broadcasting networks and applications have  ✔ traditionally been ignored by network operators and  mobile devices manufacturers ATSC-M/H 3
  • 4. Broadcasting to handheld problem The solution to mobile innovation is to create open  ✔ phone project based on open source software www.android.com www.openmoko.org www.trolltech.com 4
  • 5. Broadcasting to handheld problem Each project implements a complete software stack  ✔ with a middleware for mobile services www.openmoko.org www.android.com www.trolltech.com 5
  • 6. Broadcasting to handheld problem No stack supported broadcasting! ✔ The Openmokast project was launched to support the  ✔ creation of independent broadcast­enabled handsets  by studying the specific requirements for mobile  multimedia broadcasting (MMB) applications in the  context of the previously mentioned open platforms and  by integrating corresponding software building blocks  into them 6
  • 7. The Openmoko platform ­ Why? The Openmoko project was selected for preliminary  ✔ development for many reasons Completely open software stack based on Linux ✔ Only hardware components with open API are part of the  ✔ devices The complete specs and the CAD files for of the devices were  ✔ released under a CC license The hardware engineering process is openly discussed in the  ✔ project's mailing lists and wiki pages The community is largely involved in the software development  ✔ and good communication was established over different online  collaboration tools 7
  • 8. The Openmoko platform ­ What? The Openmoko project was initiated by FIC and  ✔ Openmoko, Inc. in novembre 2006 The project covers two main areas ✔ Hardware devices design and engineering ✔ Software development ✔ The mission of the project is to “free your phone” by  ✔ allowing users to Add and modify the software to their needs ✔ Add new hardware components ✔ Have full access to the phone capabilities ✔ 8
  • 9. The Openmoko platform ­ Hardware Openmoko released two different devices so far ✔ A preliminary developer preview, the Neo 1973 ✔ The current stable device, the Neo FreeRunner ✔ Neo 1973 Neo FreeRunner codename GTA01  codename GTA02  (released July 2007) (released July 2008) 9
  • 10. The Openmoko platform ­ Hardware specifications High resolution touch screen 2.84” (43mm x 58mm)  ✔ 480x640 pixels 128MB SDRAM memory ✔ 256 MB integrated flash memory (expandable with  ✔ microSD or microSDHC card) microSD slot supporting up to 8GB SDHC cards ✔ Internal GPS module ✔ Bluetooth ✔ 802.11 b/g WiFi ✔ 400Mhz ARM processor ✔ 2 * 3D accelerometers ✔ 2 LEDs illuminating the two buttons on the rim of the  ✔ case (one bicolor [blue|orange] behind the power button,  1 unicolor [red] behind the aux button) Tri­band GSM and GPRS ✔ USB Host function with 500mA power, allowing to power  ✔ USB devices for short periods 10
  • 11. The Openmoko platform ­ Software architecture The typical software stack ✔ for embedded devices can be represented in Layers as depicted here The middleware layer ✔ provides: The standard services offered ✔ to the applications by the operating system The communication link between the applications ✔ The middleware assures: ✔ Compatibility of the applications that uses the platform ✔ Interoperability between the applications ✔ 11
  • 12. The Openmoko platform ­ Software architecture 12
  • 13. The Openmoko platform ­ Software architecture Middleware services for Openmoko ✔ High level ✔ ✔ Usage, Event, Preferences, Context, Telephony,  Networking, PIM Low level ✔ ✔ Device Control, GSM Defined and  implemented under the  FSO Framework at  FreeSmartPhone.org 13
  • 14. The Openmoko platform ­ Distributions The official Openmoko distribution is OM2008.12 ✔ illume window manager ✔ opkg package management system based on the Itsy Package  ✔ Management System for embedded devices 14
  • 15. The Openmoko platform ­ Distributions Distributions can be  ✔ classified in three groups OM Inc. driven ✔ OM Community driven ✔ Non­OM driven ✔ OM community has  ✔ generated a large  contribution Other less significant  ✔ distributions were also  successfully ported for OM  devices 15
  • 16. The Openmoko platform ­ Applications Development for OM is really active in the community ✔ Main sources to find OM applications: ✔ Openmoko wiki's master application list for the Openmoko  ✔ smartphones ✔ http://wiki.openmoko.org/wiki/Applications 114 applications listed in 13 categories ✔ opkg ­ A software directory for Openmoko phones ✔ ✔ http://www.opkg.org/ 79 applications listed in 10 categories ✔ Because OM2008.x is a full featured Linux based system  ✔ including a full X server, almost any Linux application could be  rebuilt and packaged for the distribution 16
  • 17. The Openmoko platform ­ Applications examples Numptyphysics ✔ Drawing puzzle game ✔ Use a physics engine  ✔ specifically written for games TangoGPS ✔ Fast and lightweight mapping  ✔ application Uses the FreeRunner hardware ✔ ✔ GPS for real­time positioning ✔ Wifi connection for maps updates Uses maps data from the  ✔ Openstreetmap project 17
  • 18. The Openmoko platform ­ Is it for you? The Openmoko project is still a “work in progress” ✔ Intended audience ✔ Linux users ✔ Software developers ✔ And ultimately, general consumers (the project is not there yet) ✔ Usability ✔ GSM voice calls functional but voice quality could be improved ✔ SMS messaging functional ✔ Wifi networking functional ✔ GPS functional ✔ Multimedia capabilities such as audio/video playout unstable ✔ Buggy Sleep/resume capabilities, hence battery life is limited ✔ 18
  • 19. The Openmoko platform ­ Possibilities Neo FreeRunner Platform of choice for: ✔ + Debian FOSS embedded development  ✔ + ✔ Supports virtually any available high end Accton 802.11b/g  wifi card software technology from the = “Linux world” Portable network security  ✔ Advanced hardware capabilities testing platform Embedded system integration ✔ ✔ Available hardware specifications enables easy modifications OM is not a phone, it's a portable Linux computer ✔ that just happen to have phoning capabilities 19
  • 20. Implementing open mobile broadcasting in  the Openmokast project Openmoko was selected as the first development  ✔ platform for the project The missing parts: ✔ Compatible (SDIO, USB or ???) broadcasting receiver ✔ Linux drivers for the receiver ✔ Broadcasting stack to control the receivers and access the  ✔ data Applications to decode the multimedia streams ✔ Nice integration inside the Neo FreeRunner ✔ 20
  • 21. Implementing open mobile broadcasting in  the Openmokast project Compatible broadcasting receiver ✔ MTECH UDR­A3L T­DMB/DAB (Digital Multimedia/Audio  ✔ Boardcasting) USB Receiver for PC & Laptop Capable of receiving high quality audio and video mobile  ✔ broadcasting services Fully compliant to ETSI EN 300 401 (Eureka­147) ✔ RF frequency range: ✔ Band III: 174 to 240MHz ✔ China band III: 168.160 to 221.568MHz ✔ L band: 1452 to 1492MHz (UDR­A3L) ✔ Transmission mode: all modes with auto detection ✔ Channel decoding: single channel decoding ✔ Decoding capacity: ✔ Audio service: up to 384Kbps ✔ Video service: up to 1.5Mbps ✔ RF input connector: 50 ohms RF SMA connector ✔ 21
  • 22. Implementing open mobile broadcasting in  the Openmokast project Linux drivers ✔ Analysis of the communication between the USB receiver and  ✔ its default Windows software was achieved using a USB sniffer  application The communication protocol was reimplemented on Linux  ✔ using: ✔ libusb­0.1 user space USB driver ✔ “libusb_augment” extension 22
  • 23. Implementing open mobile broadcasting in  the Openmokast project Broadcasting software stack ✔ Based on a software previously developed at CRC ✔ C/C++ ✔ User interface uses GUI library GTK+ ✔ Control interface: ✔ ✔ Text console ✔ Telnet console ✔ DBus interface org.openmokast.Receiver Data interface: ✔ ✔ Standard UDP/IP or HTTP streams Decoder applications ✔ Any technology that can use either of the control/data interfaces ✔ 23
  • 24. Implementing open mobile broadcasting in  the Openmokast project 24
  • 25. Implementing open mobile broadcasting in  the Openmokast project Openmokast software stack in action ✔ 25
  • 26. Implementing open mobile broadcasting in  the Openmokast project The integration into the Openmokast device required  ✔ the design of a case extension based on the released  CAD from Openmoko, Inc. 26
  • 27. Implementing open mobile broadcasting in  the Openmokast project Extension prototypes were manufactured with a 3D  ✔ printer by Cimetrix (http://cimetrixsolutions.com/) at an  acceptable cost 27
  • 28. Implementing open mobile broadcasting in  the Openmokast project Final Openmokast prototype ✔ 28
  • 29. Conclusion More information at: ✔ Openmokast ­ Resources for Open Mobile Broadcast Devices ✔ http://openmokast.org Openmoko ­ Open. Mobile. Free. ✔ http://wiki.openmoko.org opkg ­ A software directory for Openmoko phones ✔ http://www.opkg.org/ ✔ 29
  • 30. THANK YOU 30