Hacklab 3.0 API: Difference between revisions

From Hacklab.TO Public Wiki
Jump to navigation Jump to search
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
Let's make a nice back end for Hacklab 3.0. Then someone can do a point-and-click interface with create-react-app and bootstrap in like, 10 minutes. (Okay maybe a little more if it's gonna have live push updates).
Let's make a nice back end for Hacklab 3.0. Then someone can do a point-and-click interface with create-react-app and bootstrap in like, 10 minutes. (Okay maybe a little more if it's gonna have live push updates).
Hacklab 3.0 API frontend code here: https://github.com/MishaTTL/hacklab-dashboard


= API Features =
= API Features =
Line 14: Line 16:
* Climate control
* Climate control
* Power meter
* Power meter
** Mains voltage
** Mains voltage and power factor
* Internet speed
* Internet speed
* Water usage meter
* Water usage meter
Line 64: Line 66:
* Auto-broadcast message to all social media platforms
* Auto-broadcast message to all social media platforms
* Password management
* Password management
* Calender access
= Logical Routes =
How the features are routed.
== RESTful API ==
JSON only
* [GET|POST] /equipment-name/property
** Read only properties (oven temp)
** Write only properties (buzz-in door) - better for messaging ?
== Specific Routes ==
* Lots of work to do
== Message Queue API ==
TBD


Possibly a public version of the site - no login required?
Possibly a public version of the site - no login required?

Latest revision as of 00:21, 20 January 2019

Let's make a nice back end for Hacklab 3.0. Then someone can do a point-and-click interface with create-react-app and bootstrap in like, 10 minutes. (Okay maybe a little more if it's gonna have live push updates).

Hacklab 3.0 API frontend code here: https://github.com/MishaTTL/hacklab-dashboard

API Features

Things people want to know and or control. Originally available on Hacktouch (some of them) but we should standardize it)

  • Doorbell / inter-phone
  • Door Entry Events
  • Buzz people in the door / unlock door for open house
  • Security camera snapshots
  • Alarm system interface
    • May replace or complement occupancy sensor (Espressif ESP chips)
    • Fire / smoke detectors - especially for laser cutter exhaust
  • POTS phone gateway (make a real phone call)
  • Climate control
  • Power meter
    • Mains voltage and power factor
  • Internet speed
  • Water usage meter
  • Noise level meter (in case the neighbors sue us)
  • Sound system / music
  • Weird hand clapper thingy (?!)
  • Neon sign
  • TVs / Projectors
    • Projector screen / doubles as privacy curtain
  • Open sign
  • IT
    • DNS / DHCP bindings
    • Members and Member stats
    • VPN settings
    • Wifi settings (channel / signal strength)
    • Wifi statistics
    • Server control interface
    • Last data backup
    • Quickbooks - total assets graph
  • Projector
  • Outside motion sensor, to count walk-bys
  • Signage in lab
    • Betsy
    • LED Sign
    • Alpha LED Sign
    • Small LED Sign
    • Flipdot (gone forever?)
    • Traffic light
    • Milling usage sign
  • Mail delivered sensor
  • Garbage bin emptied / garbage picked up
  • Dishwasher status
  • Fridge temperature
  • Over temperature
  • Donation box weight sensor
  • Air compressor pressure
  • Fume hood pressure
  • BMX - Disco party controller
  • Parking spot occupied sensor
  • Street parking occupied sensors
  • Weather - specifically for shoveling snow.
  • CNC machines
    • Laser cutter
    • 3D printers
    • HackCNC
    • Milling machine usage
  • Industrial fidget controller
  • Auto watering plants
  • Auto-broadcast message to all social media platforms
  • Password management
  • Calender access

Logical Routes

How the features are routed.

RESTful API

JSON only

  • [GET|POST] /equipment-name/property
    • Read only properties (oven temp)
    • Write only properties (buzz-in door) - better for messaging ?

Specific Routes

  • Lots of work to do

Message Queue API

TBD


Possibly a public version of the site - no login required?