Project:Notification Board: Difference between revisions

From London Hackspace Wiki
m (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.)
 
(43 intermediate revisions by 17 users not shown)
Line 1: Line 1:
Project maintained by Solexious, contact via IRC or charlesyarnold@gmail.com
==Summary==
==Summary==
This is the board that will hang in the space.
[[File:102424263.jpg|thumb|Prototyping]]
[[File:Jonty and sign.jpg|thumb|Installed]]
This is the board that hangs in the space.


It will send visual and audible notifications to the space, and also publish notifications to the network, temperature, movement etc
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==
==Phases==
:*Phase 1: <strike>Allow messages to be displayed on the LED board from IRC</strike>
:*Phase 1: <strike>Allow messages to be displayed on the LED board from IRC.</strike>
:*Phase 2: Add sounds when the message changes
:*Phase 2: <strike>Add sounds when the message changes.</strike>
:*Phase 3: Add strobe beacons
:*Phase 3: Add strobe beacons.
:*Phase 4: Daemon the arduino and allow connection via MQTT, add idle messages
:*Phase 4: Daemon the arduino and allow connection via MQTT, add idle messages.
:*Phase 5: Add temperature, light level and PIR sensors
 
:*Phase 6: Add i-wire, inc i-buttons
 
Moved to separate project/arduino:
:<strike>*Phase 5: Add temperature, light level and PIR sensors.</strike>
:<strike>*Phase 6: Add i-wire, inc i-buttons.</strike>


==Code==
==Code==
Line 17: Line 23:
:Arduino Lib: [http://github.com/solexious/MatrixDisplay]
:Arduino Lib: [http://github.com/solexious/MatrixDisplay]


:IRC Script: [http://github.com/londonhackspace/irccat-commands/blob/master/notify.py]
:IRC Script: [http://github.com/londonhackspace/irccat-commands/blob/master/setBoard.py]
 
==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:
 
'''STX'''1'''ETB'''0'''ETB'''Temperature: 21.5'''EOT'''
 
 
Or to send, Iron Maiden - Prowler, time sensitive:
 
'''STX'''2'''ETB'''1'''ETB'''Iron Maiden - Prowler'''EOT'''
 
 
====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:
 
'''STX'''A'''ETB'''1'''ETB'''1'''ETB'''5'''ETB'''Ping: Jaunsicle'''EOT'''
 
====Message slots====
* 0 - Current Number of users in #london-hack-space
* 1 - Temperature/Humidity
* 2 - Now Playing
* 3 - suggestion: info on tube delays, i.e. http://api.tubeupdates.com/?method=get.status where status != 'good service' (docs at http://tubeupdates.com/documentation/) --[[User:AndyE|AndyE]] 22:39, 12 November 2010 (UTC)
:: see also [[User:Ms7821]] [http://wiki.opentfl.co.uk/Main_Page opentfl.co.uk]
:: TfL API (beta) docs [http://data.london.gov.uk/apibeta] [http://data.london.gov.uk/documents/apibeta-trackernet-services-guide.pdf] (p13) but seems to be currently offline [http://data.london.gov.uk/blog/update-trackernet-feed].
 
* 4 -
* 5 -
 
====Sounds====
* 0 - None
* 1 - PING.WAV
 
==Feature Requests==
 
* Dynamic font loading
* Individual pixel mapping
* <strike>Scrolling to allow for longer messages</strike>
* 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
 
[[Category:Projects]]
[[Category:Infrastructure]]
[[Category:Space_Infrastructure_Projects]]

Latest revision as of 00:55, 15 January 2019

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