Categories
News

SpaceAPI Update

Its Accessing Space, That's Punny!... Stop looking at me like that...
Accessing (the) Space

The SpaceAPI was born in the Netherlands, and now lives on github. As the name would indicate, it provides an API abstraction layer to a physical (hacker)space.

It exposes information such as:
* Open/Closed State
* Location
* Webcam Feeds
* Contact Details
* Sensor data

and more, from a simple JSON API.

The Farset Labs SpaceAPI server was built to solve the problem of multiple occupancy on the K8055 interface board, that had been the centre of the space’s open/closed notification system.

This system, internally called on differentoccasions Farbot, or Titania, communicated over Twitter and IRC as well as exposing a SpaceAPI json responder for any  enabled services, the Global Hackerspace Wall being a perfect example

When it was decided to integrate the door control from the planned Access Control System into the same service, it quickly became clear that Titania was getting too big and too ugly, and it would be beneficial to decompose the problem into different application.

But these applications wouldn’t be able to talk to the k8055 at the same time, so there would have to be ANOTHER application sitting on top of the board, providing a unified API access point.

Implementation

The Farset Labs Space API is built on top of the Flask micro-framework, and using a customised version of the authdigest plugin to provide for persistent file-based authentication database.

GitHub

Not only have we produced the api service (running on farbot.unit1.farsetlabs.org.uk), but there is also a simple python client libary that can be used to play with the service from anywhere in the world. If you find any bugs, please let us know!

Status

As it stands at the minute, the SpaceAPI can control access to the space, and can open the space for an authenticated user, so we are on track to roll out our intended “Out Of Hours Members Access”, but we have some other teathing problems to deal with, specifically settling on a Member CRM and Backend Authentication system, as well as rejigging the Network infrastructure, implementing secure wifi / VPN, and a load of other plans for members to take advantage of.

But the directors do this as a hobby, and as such can’t dedicate all their time to building these tools. The community needs to help. And if you have any skills in web dev, secure networking, graphic design, DBA, or associated, please get in touch with your ideas on how we can make the place even more awesome than it already is.

Notes