Dkords html5devconf2012-nodejsf-for-embedded
Upcoming SlideShare
Loading in...5

Dkords html5devconf2012-nodejsf-for-embedded



Node.js for Embedded Systems

Node.js for Embedded Systems



Total Views
Views on SlideShare
Embed Views



3 Embeds 6

http://localhost 4 1 1



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.


11 of 1

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • The org I am working with on the Node.js embedded hardware has created a G+ Community for the SMILE Plug project:
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    Dkords html5devconf2012-nodejsf-for-embedded Dkords html5devconf2012-nodejsf-for-embedded Presentation Transcript

    • Node.js for Embedded Systems“Preparing for the (HTML5) robot ARMy” David J. Kordsmeier @dkords
    • Node.js? HTML5? Robot ARMy?● Node runs just about everywhere (dependency set is small … you just have to port it), the runtime is small (< 8MB)● HTML5 is why we are here (and why I believe this is the platform of tomorrow)● Robot ARMy – Who else would take over the world? It will be our iPhones and Android devices● Best of all, you all know JS
    • Who Am I?● David J. Kordsmeier● Organizer of Node.js ++ SSJS Club SF Meetup (Est. November 2010)● Boutique Agency – Razortooth Communications, LLC● Board Member, SMILE Consortium (a 501c3 Nonprofit)● @dkords
    • Remember the Sun JAVA = Everywhere Campaign?● This campaign ran back early 2000s on CNN/CNBC● ... probably not, here is a refresher:● WebTone ( has been restored● HTML5 Everywhere (is my new campaign)● And this campaign is working now finally;p
    • Enter the Robot ARMy● Devices are everywhere● You have one in your pocket/hand/ear/lap● They are semi-autonomous agents, and network aware● And they run apps, services, they feed us information, and one day they will rule the planet (pause, looks down)
    • What is ARM?● 32-bit processor, RISC instruction set● Dates back to 1981 (Acorn Computer)● Divided into Architecture families● Today we typically see: ARMv5, ARMv6, ARMv7● Price, Size, Power Consumption, Ecosystem● Read more on the Encyclopedia:
    • ARM family● Low End – Rasberry Pi $35 (+ cost of accessories & S/H =~ $50) – ARMv6, 256MB RAM, no NAND● Mid End ● Marvell SMILE Plug – ARMv7, 1GB NAND, MicroSD slot, dual GIG-E, Wifi A/B/G, 1 GB RAM (ships with Node.js), battery powered ● Beagleboard - $149 for an ARM Cortex A8 with a huge developer community, be prepared to buy all the accessories you need, has DSP● High End ● Nvidia Tegra 3 – Will likely be in your next non-Apple tablet (4 cores + 1 & GPU) ● Iphone5 (dual core core) ● ARMv8 Servers - 64bit, rare, exotic, expensive
    • Ive been building WebServices on ARM devices● I tried to put PHP + Lighttpd and some JS onto a Mobile Phone as a prototype for a Web-based GUI front end (2007, before WebOS). Also tried Java.● The LAMP stack is big, in the context of a little box. Java is sort of huge too.● Any device is capable of serving content, publishing locally, running micro-clouds● PALM figured this out (but no one else figured out why that was cool)● Traditional Embedded Toolchains are a not fun (and not cheap either)● The Web Runtime (of Web Standards origins) enables anyone to develop on embedded platforms
    • Jaded SF Hipster Says >● “I dont need web services on my device”● “I have an iPhone 5”● “I hack on my arduino when Im not busy with my startup”● “I write iPhone apps with Ruby”● “Native apps are the only way to go for user experience”● “Ive got 4G LTE … G”● “This place is dead anyway”
    • Why Bother?● SF Hipster is right … data is everywhere, Native apps rule, and this place is dead● NEWS Flash: 80% of the world is not yet on the Internet● Good NEWS: Global Mobile use is growing like nothing weve ever seen (but … theres like an 85% base that still doesnt use DATA other than SMS)● Bringing information and education to people via Mobile will transform education
    • SMILE Consortium (a 501c3 Nonprofit) The mission of the SMILE Consortium is to cause a paradigm shift within education by enabling students to be active agents in their learning through an inquiry-based learning model. By utilizing both mobile and cloud- based technology, SMILE Consortium provides an open platform for this inquiry- based learning environment with limitless academic potential.
    • Deployment Styles – Node.js ARM(ed forces)● As a scripting layer on any device● As a web server of static or dynamic content● As a web service/API endpoint● As a JS wrapper around native code (in Node via V8 extensions, or as in the style of PhoneGaps native bindings)
    • Join The Cause● You need a toolchain● You need a board (or box, or plug, or phone)● Your best options: ● Android – check out anode (on Github) ● Rasberry Pi – (use Arch Linux ARM, pacman -S nodejs) ● Beagleboard – (use Open Embedded and cross compile for ARMv7 target) ● SMILE Plug – (Its preloaded with Node.js 0.8.x and Arch Linux ARM … start developing in 5 minutes)● A nice multicore Intel-based host build system helps● Be prepared to spend a lot of time on your new hobby
    • Thanks for ListeningFor Questions, Comments, Ideas, Contact: David J. Kordsmeier @dkords Tweet about your work: #nodejsARMy
    • Some Benchmarks on SMILE Plug● Scale up to 288.32 requests / per second●● OpenSSL -● Wifi Performance: 0.0-10.1 sec 78.0 MBytes 65.1 Mbits/sec● Benchmark.js - node benchmark.js : RegExp#test x 956,776 ops/sec ±0.71% (94 runs sampled), String#indexOf x 1,769,536 ops/sec ±0.69% (99 runs sampled), String#match x 543,285 ops/sec ±2.15% (87 runs sampled), Fastest is String#indexOf
    • Node.js ARMy References● Open Source project for Education – SMILE Consortium – and on github:● For information about global education projects using mobility and technology – http://seeds● For ARM CPUs: Marvell Semiconductor – or TI:● The lightest, simplest Linux Distro for ARM –● SMILE Plug (I demoed this), featured on Engadget:● A good starting point for Android:● When it is time to roll your own Linux and toolchains: and (to save yourself pain)● A good starting point for iOS: (I only recommend this if you are comfortable with embedded development, Jailbreaking can be hazardous to your iPhone)● If you need people to work on Node.js + ARM - (we only take on specialized projects, but I can refer you to general Node.js resources, contact us)● Node.js ++ SSJS Club SF - (We have a meeting coming up 10/25)
    • Seeds of Empowerment:SMILE around the world● Using a variety of hardware, BYOD: Netbooks, OLPC, Android handsets, Android Tablets, Plug Computers● Projects ranged from 1 Day workshops to permanent long term installations● Methodology involves training teachers, technology is provided through partnerships of public and private sector● Past focus has been on Android devices● New focus through SMILE Consortium OSS projects will be on HTML5 centric model● References for deployments around the globe: