Hacklab 3.0 API

From Hacklab.TO Public Wiki
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).

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

API Features[edit]

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[edit]

How the features are routed.

RESTful API[edit]

JSON only

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

Specific Routes[edit]

  • Lots of work to do

Message Queue API[edit]

TBD


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