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

BACKUP SLIDES

Web Applications on Embedded Systems

By Gianpaolo Macario

Web Applications on Embedded Systems

jsNight 2016-06-08

  • 2,057