SpaceAPI

From Hackerspace ACKspace
Revision as of 13:57, 5 September 2016 by Xopr (talk | contribs) (fixed deprecated URI)
Jump to: navigation, search
Project: SpaceAPI
Featured:
State Active
Members Vicarious, CoolePascal, Prodigity, Da Syntax, xopr, stuiterveer
GitHub spaceAPI
Description HackerSpace Status API
Picture
No project picture! Fill in form Picture or Upload a jpeg here

synopsis

Expose hackerspace information via a JSON structure. See spaceapi.net for details.

current version

The current backend has been made modular for easy maintenance and feature expansion. The first implemented expansion is temperature sensors.

Most of the latest implementation has been done by Da Syntax and xopr (ask them for details).

Currently, both the new and old system are running in parallel, but some things need to be done before deprecating the old system.

  • Update the ackspace.nl/spacestate.php 'widget' which was used on hackerspaces.nl (determine whether to update it with the new API or make it deprecated on the whole)
  • ackspace.nl/status.php now gives a 301 - moved permanently, which is needed because spaceapi.net is outdated (most up to date is the lausanne directory

Several systems are tied to the backend:

inputs category outputs category
Space state (switch) hardware Space state (telephone system) software
ESP8266-SpaceState hardware, firmware Spacestate indicator /!\ hardware, firmware
Spacestate sensors /!\ hardware, firmware Mobile Spacestate Indicator hardware, firmware, software
IRC ACKspace-statusbot software
SpaceAPIBot (Telegram) software
Pebble watch app software
Widget:SpaceAPI software

Affiliated github repositories:

Deprecated implementations:

todo

done

  • created database for space state (log) and sensor values
  • new php code online (currently running parallel with the old version)
  • created new space state hardware interface using the ESP8266 which connects to the same old switch
  • First draft after recovery esp8266-SpaceAPI-full.tar Note that the used JSON parser library will cause heap corruption.
  • front page widget is now a real widget
  • php backend source online

old version

  • Updated JSON object to become SpaceAPI 0.13 compliant (see status.php)
    • Content type and Cache-Control headers are now sent
    • Now uses location object
    • Now uses state object
    • Space state now has a third state; null. (In case of uncertain state)
  • Uploaded it to ackspace.nl/status.php but the URL can be changed if necessary..
  • From the SpaceAPI website: "In order to be able to retrieve the object from within a javascript sandbox, the server of the JSON object should set the ‘Access-Control-Allow-Origin’ header with a value of ‘*’ ".
  • Added the JSON object to the existing Space state PHP script. Thanks CoolePascal for the help with the PHP stuff!