Tagged: How-to
Event-driven programming, Finite State Machines and NodeJS
I started out in my software engineering life writing software for embedded real-time systems and communication stacks, so I often think of myself as an async native. I’ve written a lot of code in various languages, mostly not using event-driven programming models and design patterns, but hardware interrupts, callback functions, event loops and finite state machines – I still see these as reassuringly familiar features of my original habitat. Call it the baby duck syndrome.
Who is this post for?
This post is primarily aimed at developers working with (or planning to work with) server-side JavaScript using NodeJS. If you’re already familiar with event loops and state machines then much of this article will be familiar to you. For others, I’m hoping this post will provide you with an understanding of the fundamentals of the event-driven programming model you will need when creating Finite State Machines or working with NodeJS on the server or on a Raspberry Pi or similar device. Continue reading
Javascript on a Raspberry Pi – How to install Node.JS
Why install Node.JS on a Raspberry Pi ?
I’ve been using Node.JS as the backend framework for building single-page web apps recently. On top of providing the advantage of an asynchronous, event-based programming model on the backend, it means I can code in Javascript on both the frontend and the backend again – just like in the good old days coding client-server applications in C.
And so when I come up with an application where I want to use my Raspberry Pi as a micro web server, but one that needs more than the ability to serve static webpages, I right away think of Node.
a Raspberry PI NFC Reader
Coming soon – how I built an NFC card reader on the Raspberry Pi with a web dashboard displaying NFC events detected in real time…
Raspberry Pi GPIO Input/Output in Javascript
One of the first hardware hacking examples a new RPi owner is encouraged to try out is turning on an LED via the RPi’s GPIO interface. The standard examples use the Python programming language, but its also possible to do everything you need to do on the RPi in Javascript.
How to find the MAC address of your Raspberry Pi
You sometimes need to find out the MAC address of your Raspberry Pi. For instance, you want to find it among the list of devices attached to your LAN, because you want your router’s DHCP service to assign your RPi a permanently dedicated IP address instead of letting the DHCP just assign it the next available IP address each time you start it up. Then you can SSH into the same IP address each time to log into your RPi from your PC or Mac knowing it will always be there, without having to search for the RPi on the network.
Some LANs are configured to allow access only for a white-listed devices by MAC address, so you’ll also need to know yours to be able to use such a LAN.
How to build a REST Web API on a Raspberry PI in JavaScript
One of the most useful reasons for providing your Raspberry Pi with a REST API is to expose its inputs and outputs to a web client (on any iPhone, laptop or desktop PC anywhere in the world) for remote monitoring and/or control. This is part 1 of a 2 part blog showing how to implement a REST API in JavaScript.
A Node.JS Application on Amazon Cloud. Part 3: A simple Webserver in Javascript using Node, Express, and MongoDB
In this third part of our exercise, we’re going to use the primary AWS EC2 instance on which we installed Node in Part 1, and the database EC2 Instance we set up in Part 2, as the platform for building a simple web application server. We are going to code that web server in Javascript, using Node together with the Express and Mongoose Node library packages.
A Node.JS Application on the Amazon Cloud. Part 2: Adding a Database
In Part 1, we installed Node on an EC2 instance on Amazon Web Services (AWS). In this part 2 of the series, we’re going to add a second instance running the popular MongoDB database.
A Node.JS Application on the Amazon Cloud. Part 1: Installing Node on an EC2 instance
In this three-part exercise, we’re going to build a web application using Javascript on both the client and server side, using Amazon Web Services (AWS) cloud-hosting infrastructure and the Node.JS framework.
What we’re going to do first is install Node on an Elastic Cloud Computing (EC2) virtual server instance provided by Amazon Web Services. In the following parts of this series, we’ll add a MongoDB database instance, and develop a simple server-side web application in Javascript using the Express framework and the Mongoose library for accessing our database.
Javascript on a Raspberry Pi – How to install Node.JS
Why install Node.JS on a Raspberry Pi ?
I’ve been using Node.JS as the backend framework for building single-page web apps recently. On top of providing the advantage of an asynchronous, event-based programming model on the backend, it means I can code in Javascript on both the frontend and the backend again – just like in the good old days coding client-server applications in C.
And so when I come up with an application where I want to use my Raspberry Pi as a micro web server, but one that needs more than the ability to serve static webpages, I right away think of Node.