AWS GreenGrass is a part of the AWS IoT ecosystem that, among other things, allows you to run AWS Lambda functions on IoT devices, as well as create IoT cores that allow you to manage multiple AWS IoT devices. GreenGrass runs on several devices, the most well-known of this being the Raspberry Pi.

Installing and preparing GreenGrass Core to run on a Pi takes a bit of time, but after doing it manually, Erica and I realized it could definitely benefit from some automation. We felt this would make GreenGrass accessible to more users by decreasing the time it takes to get a GreenGrass Raspberry Pi core up and running.

You can check out the initial beta release on GitHub.

Creating Grassbian

Grassbian is based on Raspbian; one of the default operating system choices for the Pi, and the OS supported by the GreenGrass Core software. You can make changes to the default Raspbian image by making changes and adding scripts to the pi-gen builder, which is how Erica and I approached creating the Grassbian image.

We stripped Grassbian down to start as a Raspbian-Lite — no GUI, minimal size, ready to run on your IoT devices. We then added scripts to install Node.JS in a version compatible with AWS Lambda. We also installed the base GreenGrass core software, and we added startup scripts to copy needed security keys from your SD card to folders that the GreenGrass daemon can access. Finally, we set up the GreenGrass daemon to run on Pi boot. You can learn even more from the Grassbian documentation.

Why we‘re excited about Grassbian and GreenGrass

We’re very excited about the concept of AWS Lambda on IoT devices, and we’re working to make this as easy as possible for users. This is also a step forward for us for ensuring that IOpipe runs smoothly on GreenGrass cores running AWS Lambda devices.