Web Applications on
embedded systems


#jsNight, 2016-06-08


Gianpaolo Macario

https://gmacario.github.io/


(C) 2016 Gianpaolo Macario - License: CC BY-SA 4.0

What is an embedded system?


  

We live surrounded by embedded systems




Typical characteristics of an embedded system


Embedded systems often have one
or more of the following features:

  1. Reduced power consumption
  2. Reduced size
  3. Low cost per unit
  4. High Reliability
  5. Reduced (zero) need of maintenance

Example: In-Vehicle Infotainment


Hardware commoditization

  • Thanks to Moore's law, embedded systems have now enough computing power to allow adaptation and reuse of complex software originally developed for servers and desktops
      • Networking stacks and protocols
      • User Interface frameworks
      • Open Source software
  • With the economy of scale achieved by smartphones and other consumer devices, complex computer architectures have become affordable also for embedded systems
  • On the other hand, developing dedicated, custom hardware and porting standard platform software requires a huge investment and becomes justified only for high volume productions

Example: GENIVI Demo Platform

$ sloccount gdp_ivi9_beta/workspace

Totals grouped by language (dominant language first):

ansic:     46260693 (69.83%)
cpp:        9910207 (14.96%)
asm:        2006557 (3.03%)
sh:         1575972 (2.38%)
perl:       1276566 (1.93%)
python:     1163866 (1.76%)
xml:        1054193 (1.59%)

...

Total Physical Source Lines of Code (SLOC) = 66,247,653
        

Example: Android 5.1.1

$ sloccount build_android_udooneo/workspace

Totals grouped by language (dominant language first):
ansic:     28909496 (48.66%)
cpp:       14820059 (24.95%)
xml:        6894345 (11.61%)
java:       5651249 (9.51%)
asm:        1105027 (1.86%)
python:     1061272 (1.79%)
sh:          434135 (0.73%)
perl:        197439 (0.33%)

...

Total Physical Source Lines of Code (SLOC) = 59,405,160

Standard HW/SW Platforms are
becoming mainstream


  • Low-cost building blocks to prototype embedded systems
  • Complete with a ready-to-go Open Source software stack
  • Widely used hardware interfaces
  • Available for PoC and low-volume production
  • Can speed up and reduce risk in embedded system design

CHIP - The World's First Nine Dollar Computer

  • CPU: 1 GHz Allwinner A13

  • GPU: Mali400

  • RAM: 512 MB

  • Flash: 4 GB

  • WiFi
    802.11b/g/n

  • Bluetooth 4.0

  • OS: Debian

UDOO NEO

  • OS: Android 5.1.1 / UDOObuntu2 (14.04 LTS)
  • Price: Starting from $49.90


  • CPU: Cortex A9
  • MCU: Cortex M4
  • RAM: Up to 1GB
  • Integrated 2D/3D GPU
  • Micro HDMI+LVDS
  • Storage: MicroSD
  • Audio: HDMI, S/PDIF
  • USB: 1x2.0, 1xOTG
  • Ethernet, WiFi, BT
  • GPIO, Gyro, Accelerom, Magnetometer
  • Arduino pinout

UDOO Board Web Config


  • Web-based application
    • Runs on the A9 core
  • Features
    • Get board info
    • Read on-board sensors
    • Remote Terminal
    • Remote Desktop
    • Build Arduino sketches
    • Program M4 core
  • Architecture: Node.js, Express 4, Socket.io
  • Sources: https://github.com/UDOOboard/udoo-web-conf

Meteor.js on UDOO

https://udoo.hackster.io/tomfreudenberg/meteor-on-udoo-and-others-a98e6d
https://github.com/4commerce-technologies-AG/meteor

UDOO X86: The definition
of "embedded system" is broadening...


Summary

  • Embedded Systems: more features, more capabilities
      • HW is becoming a commodity unless for huge volumes
      • SW development and system validation becomes the issue

  • Low-cost, standard HW platforms are now available - complete with a broad choice of Open Source software
      • Standard Web Frameworks and Tools are now affordable also on many types of embedded systems

  • Relying on proven and validated HW/SW platforms
    allows embedded system developers to focus on application level and maximize the value to the end user

Thanks!


Gianpaolo Macario

https://gmacario.github.io/

BACKUP SLIDES

Made with Slides.com