Web Applications on
embedded
systems
#jsNight, 2016-06-08
Gianpaolo Macario
(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:
or more of the following features:
-
Reduced power consumption
-
Reduced size
-
Low cost per unit
-
High Reliability
-
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