Fab Lab Gateway

Gianluca Cornetta Apr 25, 2018
Github Code Repository Website Website Link

The fab lab gateway is the entry point of a NEWTON fab lab. It implements the access and security policies and exposes a set of APIs that exposes the fab lab over the internet as a web service. The APIs allow an external authorized user or application to perform several operations on the machines of a fab lab, such as: sending a fabrication request, check a machine status, check the fabrication progress, and cancel a fabrication request.

The fab lab gateway runs on a Raspberry Pi III model B embedded computer. Raspberry Pi III model B has ARM Cortex-A53 quad-core processor implementing the ARMv7 32-bit microarchitecture. Recently, Raspberry Pi foundation has launched to the market the Raspberry Pi III model B+ that implements the 64-bit ARMv8 microarchitecture. We have not yet tested our software with this new model, so we cannot guarantee a correct operation with the new B+ model.

The fab lab gateway, that we also call Pi Gateway is formed by three components:

  1. The API Gateway (i.e. and instance of Express Gateway), that acts like a proxy that manages the incoming requests from the cloud hub, implements security and access policies and forward the requests to the API Wrapper Microservice.

  2. The API Wrapper Microservice, that implements the gateway business logic, manages the API quota and implements the communication protocols with the digital fabrication machines.

  3. The Command Line Interface (CLI), that implements a set of methods to download, install, deploy, monitor and manage the fab lab gateway.

Please observe that the CLI software has not been open-sourced.

Gianluca Cornetta

Writer of stuff