Hacklab 3.0 API

From Hacklab.TO Public Wiki
Revision as of 16:48, 16 January 2019 by Misha (Talk | contribs)

Jump to: navigation, search

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).

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?