Project:Notification Board

From London Hackspace Wiki
Revision as of 00:55, 15 January 2019 by Kraptv (talk | contribs) (This would likely benefit from a rewrite using https://github.com/rm-hull/luma.led_matrix and removing the Arduino using only the Raspberry Pi.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Summary

Prototyping
Installed

This is the board that hangs in the space.

It sends visual and audible notifications to the space, and also publishes notifications to the network: temperature, movement etc

Current version 0.2.2

Phases

  • Phase 1: Allow messages to be displayed on the LED board from IRC.
  • Phase 2: Add sounds when the message changes.
  • Phase 3: Add strobe beacons.
  • Phase 4: Daemon the arduino and allow connection via MQTT, add idle messages.


Moved to separate project/arduino:

*Phase 5: Add temperature, light level and PIR sensors.
*Phase 6: Add i-wire, inc i-buttons.

Code

Arduino Code: [1]
Arduino Lib: [2]
IRC Script: [3]

Change Log

v0.3

  • Allow messages up to 162 chars long
  • Scroll for messages longer than the screen

v0.2

  • Include full ascii support
  • Add initText
  • Remove update speed delay

v0.1

  • Initial proof of concept
  • Limit to a-z A-Z and 0-9

Protocol Specification

Sending a message

Currently, messages are sent directly over serial.

They are up to 160 chars long, and can only be from regular ASCII. The message is terminated with a line return.

This is a test msg\n

Proposed new protocol

There are 2 types of message:

  • Idle - for rolling messages, i.e. temperature, currently playing song, number of irc users. Will keep last value till updated.
  • Alert - for one time shown messages, allows sounds

Idle

The settings for idle messages are:

  • Message slot [0-5] - (see list below for reserving a slot)
  • Time sensitive? [0-1] - If you need to bump the idle message to be the next shown, i.e. currently playing song changes
  • Message [up to 21 chars]


Examples: (Substituting STX, ETB and EOT for their respective ascii chars.)

So to send, Temperature: 21.5, you would send:

STX1ETB0ETBTemperature: 21.5EOT


Or to send, Iron Maiden - Prowler, time sensitive:

STX2ETB1ETBIron Maiden - ProwlerEOT


Alert

The settings for alert messages are:

  • Message slot [A] - Denotes alerts from idle messages
  • Blink [0-1] - Blink the display for more attention
  • Sound [0-5] - Set off a sound, see list
  • Display timeout - The length of time to display the message for
  • Message [up to 21 chars]


Examples: (Substituting STX, ETB and EOT for their respective ascii chars.)

To send, Ping: Jaunsicle, with sound ping and blinking for 5 seconds:

STXAETB1ETB1ETB5ETBPing: JaunsicleEOT

Message slots

see also User:Ms7821 opentfl.co.uk
TfL API (beta) docs [4] [5] (p13) but seems to be currently offline [6].
  • 4 -
  • 5 -

Sounds

  • 0 - None
  • 1 - PING.WAV

Feature Requests

  • Dynamic font loading
  • Individual pixel mapping
  • Scrolling to allow for longer messages
  • A fortune/motd feature - when the board has been unchanged for a while, display a random message from a file, e.g. 'clean up your own mess', 'shut the fire door when you leave' or 'do not leave the chuck key in the lathe'.
  • Audio notification of new message.... Similar to Glados voice from doorbot