SlideShare una empresa de Scribd logo
1 de 35
Descargar para leer sin conexión
Openmokast: An open
mobile broadcasting
software stack for
handheld devices

                Presented at FOSSLC Summercamp 2009
                                        Ottawa, Canada
                                by Jean-Michel Bouffard
                          <jean-michel.bouffard@crc.ca>
Summary

✔   Broadcasting to handheld problem
✔   The Openmoko platform
✔   Implementing open mobile broadcasting in the
    Openmokast project
✔   Conclusion




                                                   2
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
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
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
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
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
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
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
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
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
The Openmoko platform
- Software architecture




                          12
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
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
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
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
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
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
The Openmoko platform
- Possibilities
                                                     Neo FreeRunner
✔   Platform of choice for:                                   +
                                                           Debian
     ✔   FOSS embedded development                            +
          ✔ Supports virtually any available    high end Accton 802.11b/g
            software technology from the                  wifi card
                                                              =
            “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
Openmokast project
- Scope

✔   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
Openmokast project
- Hardware

✔   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
Openmokast project
- Hardware

✔   Internal USB test points can be
    used to integrate a USB
    component
     ✔   Schematics available from
         http://openmoko.com
     ✔   Marked on FreeRunner schematic
         as H-TP4901, H-TP4902, H-TP4903,
         H-TP4904
✔   Configuration
     ✔   USB port must be switched from
         device to host mode of operation
     ✔   USB power mode can be selected to
         provide power to the device from the
         FreeRunner battery
                                                22
Openmokast project
- Drivers

✔   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




                                                                     23
Openmokast project
- Software

✔   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

                                                                         24
Openmokast project
- Software




                     25
Openmokast project
- Software

✔   Openmokast software stack in action




                                          26
Openmokast project
- API

✔   Goals
     ✔   Make it possible to use broadcasting services from any
         applications
     ✔   Offer an Broadcasting component that could be integrated in
         an open middleware stack
✔   Technology
     ✔   D-Bus Inter-Process Communication (IPC) system




                                                                       27
Openmokast project
- API

✔   D-Bus
     ✔   Used in many embedded and mobile software environment
         such as LiMo, Freedesktop.org, Maemo, etc.
     ✔   Common in main desktop environments such as GNOME and
         KDE 4.
     ✔   Provides a collection
         of binding libraries for
         common programming
         languages such as C,
         C++, Python, Java,
         Vala, etc.




                                                                 28
Openmokast project
- API




                     29
Openmokast project
- Integration

✔   The integration into the Openmokast device required
    the design of a case extension based on the released
    CAD from Openmoko, Inc.




                                                           30
Openmokast project
- Integration

✔   Extension prototypes were manufactured with a 3D
    printer by Cimetrix (http://cimetrixsolutions.com/) at an
    acceptable cost




                                                                31
Openmokast project
- Integration

✔   Final Openmokast prototype




                                 32
Conclusion
- Future work

✔   Google Android
     ✔   Linux based but all applications
         must be implemented in Java
     ✔   Currently ported for the Openmoko
         FreeRunner
     ✔   An Android version of Openmokast
         is currently in development
✔   Challenges
     ✔   Main broadcasting codecs are not
         available
     ✔   Underlying Linux distribution is
         missing common libraries


                                             33
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/

✔   Development tutorial:
     ✔   Getting started with open mobile development on the
         Openmoko platform
         http://www.fosslc.org/drupal/node/157



                                                                    34
THANK YOU




            35

Más contenido relacionado

Destacado

Twitter, Facebook, Blog: What's the Value?
Twitter, Facebook, Blog: What's the Value?Twitter, Facebook, Blog: What's the Value?
Twitter, Facebook, Blog: What's the Value?guest79a0ea
 
Emr6500 final presentation
Emr6500 final presentationEmr6500 final presentation
Emr6500 final presentationselabaxton
 
Rise summer bridge proposal -hab
Rise summer bridge proposal -habRise summer bridge proposal -hab
Rise summer bridge proposal -habernan77
 
Services Drupalcamp Stockholm 2009
Services Drupalcamp Stockholm 2009Services Drupalcamp Stockholm 2009
Services Drupalcamp Stockholm 2009hugowetterberg
 
Redesign Powerpoint
Redesign Powerpoint Redesign Powerpoint
Redesign Powerpoint Jaree Hefner
 

Destacado (6)

Twitter, Facebook, Blog: What's the Value?
Twitter, Facebook, Blog: What's the Value?Twitter, Facebook, Blog: What's the Value?
Twitter, Facebook, Blog: What's the Value?
 
Emr6500 final presentation
Emr6500 final presentationEmr6500 final presentation
Emr6500 final presentation
 
Dgl group debate
Dgl group debateDgl group debate
Dgl group debate
 
Rise summer bridge proposal -hab
Rise summer bridge proposal -habRise summer bridge proposal -hab
Rise summer bridge proposal -hab
 
Services Drupalcamp Stockholm 2009
Services Drupalcamp Stockholm 2009Services Drupalcamp Stockholm 2009
Services Drupalcamp Stockholm 2009
 
Redesign Powerpoint
Redesign Powerpoint Redesign Powerpoint
Redesign Powerpoint
 

Similar a Openmokast: An open mobile broadcasting software stack for handheld devices

Openmokast: The open broadcasting software stack for mobile devices
Openmokast: The open broadcasting software stack for mobile devicesOpenmokast: The open broadcasting software stack for mobile devices
Openmokast: The open broadcasting software stack for mobile devicesJean-Michel Bouffard
 
Ibc 2009 F Lefebvre Poster Presentation
Ibc 2009 F Lefebvre Poster PresentationIbc 2009 F Lefebvre Poster Presentation
Ibc 2009 F Lefebvre Poster PresentationFrancois Lefebvre
 
nokia and opensource n800
nokia and opensource n800nokia and opensource n800
nokia and opensource n800winsopc
 
Bug Labs Gov Web
Bug Labs Gov WebBug Labs Gov Web
Bug Labs Gov Webbuglabs
 
Sinergija 12 WP8 is around the corner
Sinergija 12 WP8 is around the cornerSinergija 12 WP8 is around the corner
Sinergija 12 WP8 is around the cornerCatalin Gheorghiu
 
Massive Data Collection
Massive Data CollectionMassive Data Collection
Massive Data CollectionLeandro Agro'
 
IoT Seminar (Jan. 2016) - (7) joaquin prado - oma developer toolkit
IoT Seminar (Jan. 2016) - (7) joaquin prado - oma developer toolkitIoT Seminar (Jan. 2016) - (7) joaquin prado - oma developer toolkit
IoT Seminar (Jan. 2016) - (7) joaquin prado - oma developer toolkitOpen Mobile Alliance
 
The UNICORE Project: Unikraft and OpenNebula
The UNICORE Project:  Unikraft and OpenNebulaThe UNICORE Project:  Unikraft and OpenNebula
The UNICORE Project: Unikraft and OpenNebulaOpenNebula Project
 
CSUC - UNICORE Project: UNIKernel Power
CSUC - UNICORE Project: UNIKernel PowerCSUC - UNICORE Project: UNIKernel Power
CSUC - UNICORE Project: UNIKernel PowerUNICORE_project
 
Mobile Data Revolution
Mobile Data RevolutionMobile Data Revolution
Mobile Data RevolutionZiv Baum
 
Bug Labs Automotive Web
Bug Labs Automotive WebBug Labs Automotive Web
Bug Labs Automotive Webbuglabs
 
developementofmobileapplication-160412025313 (1).pptx
developementofmobileapplication-160412025313 (1).pptxdevelopementofmobileapplication-160412025313 (1).pptx
developementofmobileapplication-160412025313 (1).pptxPoooi2
 
Google Android Naver 1212
Google Android Naver 1212Google Android Naver 1212
Google Android Naver 1212Yoojoo Jang
 
Eclipse Paho Progress Report - EclipseCon 2012
Eclipse Paho Progress Report - EclipseCon 2012Eclipse Paho Progress Report - EclipseCon 2012
Eclipse Paho Progress Report - EclipseCon 2012Andy Piper
 
Android Fundamentals, Architecture and Versions
Android Fundamentals, Architecture and VersionsAndroid Fundamentals, Architecture and Versions
Android Fundamentals, Architecture and Versionsindiangarg
 
UplinQ - qualcomm® smart gateway the home network as a development platform
UplinQ - qualcomm® smart gateway the home network as a development platformUplinQ - qualcomm® smart gateway the home network as a development platform
UplinQ - qualcomm® smart gateway the home network as a development platformSatya Harish
 

Similar a Openmokast: An open mobile broadcasting software stack for handheld devices (20)

Openmokast: The open broadcasting software stack for mobile devices
Openmokast: The open broadcasting software stack for mobile devicesOpenmokast: The open broadcasting software stack for mobile devices
Openmokast: The open broadcasting software stack for mobile devices
 
Ibc 2009 F Lefebvre Poster Presentation
Ibc 2009 F Lefebvre Poster PresentationIbc 2009 F Lefebvre Poster Presentation
Ibc 2009 F Lefebvre Poster Presentation
 
nokia and opensource n800
nokia and opensource n800nokia and opensource n800
nokia and opensource n800
 
Bug Labs Gov Web
Bug Labs Gov WebBug Labs Gov Web
Bug Labs Gov Web
 
Sinergija 12 WP8 is around the corner
Sinergija 12 WP8 is around the cornerSinergija 12 WP8 is around the corner
Sinergija 12 WP8 is around the corner
 
Leandro Agrò
Leandro AgròLeandro Agrò
Leandro Agrò
 
Massive Data Collection
Massive Data CollectionMassive Data Collection
Massive Data Collection
 
IoT Seminar (Jan. 2016) - (7) joaquin prado - oma developer toolkit
IoT Seminar (Jan. 2016) - (7) joaquin prado - oma developer toolkitIoT Seminar (Jan. 2016) - (7) joaquin prado - oma developer toolkit
IoT Seminar (Jan. 2016) - (7) joaquin prado - oma developer toolkit
 
Firefox OS
Firefox OSFirefox OS
Firefox OS
 
The UNICORE Project: Unikraft and OpenNebula
The UNICORE Project:  Unikraft and OpenNebulaThe UNICORE Project:  Unikraft and OpenNebula
The UNICORE Project: Unikraft and OpenNebula
 
CSUC - UNICORE Project: UNIKernel Power
CSUC - UNICORE Project: UNIKernel PowerCSUC - UNICORE Project: UNIKernel Power
CSUC - UNICORE Project: UNIKernel Power
 
UNICORE Project: Unikernel Power
UNICORE Project: Unikernel PowerUNICORE Project: Unikernel Power
UNICORE Project: Unikernel Power
 
Mobile Data Revolution
Mobile Data RevolutionMobile Data Revolution
Mobile Data Revolution
 
Bug Labs Automotive Web
Bug Labs Automotive WebBug Labs Automotive Web
Bug Labs Automotive Web
 
developementofmobileapplication-160412025313 (1).pptx
developementofmobileapplication-160412025313 (1).pptxdevelopementofmobileapplication-160412025313 (1).pptx
developementofmobileapplication-160412025313 (1).pptx
 
Google Android Naver 1212
Google Android Naver 1212Google Android Naver 1212
Google Android Naver 1212
 
Eclipse Paho Progress Report - EclipseCon 2012
Eclipse Paho Progress Report - EclipseCon 2012Eclipse Paho Progress Report - EclipseCon 2012
Eclipse Paho Progress Report - EclipseCon 2012
 
Android Fundamentals, Architecture and Versions
Android Fundamentals, Architecture and VersionsAndroid Fundamentals, Architecture and Versions
Android Fundamentals, Architecture and Versions
 
JavaFX Uni Parthenope
JavaFX Uni ParthenopeJavaFX Uni Parthenope
JavaFX Uni Parthenope
 
UplinQ - qualcomm® smart gateway the home network as a development platform
UplinQ - qualcomm® smart gateway the home network as a development platformUplinQ - qualcomm® smart gateway the home network as a development platform
UplinQ - qualcomm® smart gateway the home network as a development platform
 

Más de Jean-Michel Bouffard

La voile - classe d'Alex-Ann - Novembre 2017
La voile - classe d'Alex-Ann - Novembre 2017La voile - classe d'Alex-Ann - Novembre 2017
La voile - classe d'Alex-Ann - Novembre 2017Jean-Michel Bouffard
 
Ingénieur - classe de Maulaurie - novembre 2016
Ingénieur - classe de Maulaurie - novembre 2016Ingénieur - classe de Maulaurie - novembre 2016
Ingénieur - classe de Maulaurie - novembre 2016Jean-Michel Bouffard
 
La voile - classe de Maulaurie - déc. 2015
La voile - classe de Maulaurie - déc. 2015La voile - classe de Maulaurie - déc. 2015
La voile - classe de Maulaurie - déc. 2015Jean-Michel Bouffard
 
Getting started with open mobile development on the Openmoko platform
Getting started with open mobile development on the Openmoko platformGetting started with open mobile development on the Openmoko platform
Getting started with open mobile development on the Openmoko platformJean-Michel Bouffard
 
Web2.0: Les caractéristiques et les technologies qui définissent la nouvelle ...
Web2.0: Les caractéristiques et les technologies qui définissent la nouvelle ...Web2.0: Les caractéristiques et les technologies qui définissent la nouvelle ...
Web2.0: Les caractéristiques et les technologies qui définissent la nouvelle ...Jean-Michel Bouffard
 
La télévision Haute-Définition (TVHD) sur Linux
La télévision Haute-Définition (TVHD) sur LinuxLa télévision Haute-Définition (TVHD) sur Linux
La télévision Haute-Définition (TVHD) sur LinuxJean-Michel Bouffard
 
MythTV: Installation et Démonstration
MythTV: Installation et DémonstrationMythTV: Installation et Démonstration
MythTV: Installation et DémonstrationJean-Michel Bouffard
 
Large Scale Distribution of Popular Internet “User Generated Content” to Mobi...
Large Scale Distribution of Popular Internet “User Generated Content” to Mobi...Large Scale Distribution of Popular Internet “User Generated Content” to Mobi...
Large Scale Distribution of Popular Internet “User Generated Content” to Mobi...Jean-Michel Bouffard
 
Multimodal Applications for Mobile Multimedia Broadcasting
Multimodal Applications for Mobile Multimedia BroadcastingMultimodal Applications for Mobile Multimedia Broadcasting
Multimodal Applications for Mobile Multimedia BroadcastingJean-Michel Bouffard
 
An IP Based File Delivery Platform for Mobile Multimedia Broadcasting
An IP Based File Delivery Platform for Mobile Multimedia BroadcastingAn IP Based File Delivery Platform for Mobile Multimedia Broadcasting
An IP Based File Delivery Platform for Mobile Multimedia BroadcastingJean-Michel Bouffard
 

Más de Jean-Michel Bouffard (12)

La voile - classe d'Alex-Ann - Novembre 2017
La voile - classe d'Alex-Ann - Novembre 2017La voile - classe d'Alex-Ann - Novembre 2017
La voile - classe d'Alex-Ann - Novembre 2017
 
Ingénieur - classe de Maulaurie - novembre 2016
Ingénieur - classe de Maulaurie - novembre 2016Ingénieur - classe de Maulaurie - novembre 2016
Ingénieur - classe de Maulaurie - novembre 2016
 
La voile - classe de Maulaurie - déc. 2015
La voile - classe de Maulaurie - déc. 2015La voile - classe de Maulaurie - déc. 2015
La voile - classe de Maulaurie - déc. 2015
 
FM-RDS developments at CRC
FM-RDS developments at CRCFM-RDS developments at CRC
FM-RDS developments at CRC
 
Getting started with open mobile development on the Openmoko platform
Getting started with open mobile development on the Openmoko platformGetting started with open mobile development on the Openmoko platform
Getting started with open mobile development on the Openmoko platform
 
Web2.0: Les caractéristiques et les technologies qui définissent la nouvelle ...
Web2.0: Les caractéristiques et les technologies qui définissent la nouvelle ...Web2.0: Les caractéristiques et les technologies qui définissent la nouvelle ...
Web2.0: Les caractéristiques et les technologies qui définissent la nouvelle ...
 
La télévision Haute-Définition (TVHD) sur Linux
La télévision Haute-Définition (TVHD) sur LinuxLa télévision Haute-Définition (TVHD) sur Linux
La télévision Haute-Définition (TVHD) sur Linux
 
Linux - Configuration du Système
Linux - Configuration du SystèmeLinux - Configuration du Système
Linux - Configuration du Système
 
MythTV: Installation et Démonstration
MythTV: Installation et DémonstrationMythTV: Installation et Démonstration
MythTV: Installation et Démonstration
 
Large Scale Distribution of Popular Internet “User Generated Content” to Mobi...
Large Scale Distribution of Popular Internet “User Generated Content” to Mobi...Large Scale Distribution of Popular Internet “User Generated Content” to Mobi...
Large Scale Distribution of Popular Internet “User Generated Content” to Mobi...
 
Multimodal Applications for Mobile Multimedia Broadcasting
Multimodal Applications for Mobile Multimedia BroadcastingMultimodal Applications for Mobile Multimedia Broadcasting
Multimodal Applications for Mobile Multimedia Broadcasting
 
An IP Based File Delivery Platform for Mobile Multimedia Broadcasting
An IP Based File Delivery Platform for Mobile Multimedia BroadcastingAn IP Based File Delivery Platform for Mobile Multimedia Broadcasting
An IP Based File Delivery Platform for Mobile Multimedia Broadcasting
 

Último

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 

Último (20)

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 

Openmokast: An open mobile broadcasting software stack for handheld devices

  • 1. Openmokast: An open mobile broadcasting software stack for handheld devices Presented at FOSSLC Summercamp 2009 Ottawa, 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 software technology from the wifi card = “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. Openmokast project - Scope ✔ 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. Openmokast project - Hardware ✔ 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. Openmokast project - Hardware ✔ Internal USB test points can be used to integrate a USB component ✔ Schematics available from http://openmoko.com ✔ Marked on FreeRunner schematic as H-TP4901, H-TP4902, H-TP4903, H-TP4904 ✔ Configuration ✔ USB port must be switched from device to host mode of operation ✔ USB power mode can be selected to provide power to the device from the FreeRunner battery 22
  • 23. Openmokast project - Drivers ✔ 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 23
  • 24. Openmokast project - Software ✔ 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 24
  • 26. Openmokast project - Software ✔ Openmokast software stack in action 26
  • 27. Openmokast project - API ✔ Goals ✔ Make it possible to use broadcasting services from any applications ✔ Offer an Broadcasting component that could be integrated in an open middleware stack ✔ Technology ✔ D-Bus Inter-Process Communication (IPC) system 27
  • 28. Openmokast project - API ✔ D-Bus ✔ Used in many embedded and mobile software environment such as LiMo, Freedesktop.org, Maemo, etc. ✔ Common in main desktop environments such as GNOME and KDE 4. ✔ Provides a collection of binding libraries for common programming languages such as C, C++, Python, Java, Vala, etc. 28
  • 30. Openmokast project - Integration ✔ The integration into the Openmokast device required the design of a case extension based on the released CAD from Openmoko, Inc. 30
  • 31. Openmokast project - Integration ✔ Extension prototypes were manufactured with a 3D printer by Cimetrix (http://cimetrixsolutions.com/) at an acceptable cost 31
  • 32. Openmokast project - Integration ✔ Final Openmokast prototype 32
  • 33. Conclusion - Future work ✔ Google Android ✔ Linux based but all applications must be implemented in Java ✔ Currently ported for the Openmoko FreeRunner ✔ An Android version of Openmokast is currently in development ✔ Challenges ✔ Main broadcasting codecs are not available ✔ Underlying Linux distribution is missing common libraries 33
  • 34. 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/ ✔ Development tutorial: ✔ Getting started with open mobile development on the Openmoko platform http://www.fosslc.org/drupal/node/157 34
  • 35. THANK YOU 35