This presentation came about because I (jacobq) had recently been tasked by my employer to add a simple, flexible web interface to one of our products. Although this instrument had a PLC that included an Ethernet NIC, it was quite limited in its capabilities. We don't currently produce enough of these units per year to justify designing custom electronics just for this, so I decided to try integrating a Raspberry Pi (RPi) SBC. I used nginx to serve a static ember.js app and map requests for URLs matching /ws
to a node.js back-end using WebSockets and was pleased with the results. Having learned a lot along the way I thought that I ought to share about the experience.
It should be noted that the design choices in this example are not the only--or even the best--ones. Different applications will benefit from different choices. Hopefully, however, what I've provided here is sufficiently modular that others can adapt it to their needs.
back-end/
Source code for Node.js back-endfront-end/
Source code for Ember.js front-endrpi/
Content related to setup of the RPi(sorry, ran out of time)slides/
Presentation (made with reveal.js)