Difference between revisions of "Project:Notification Board"

From London Hackspace Wiki
Jump to navigation Jump to search
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.)
 
(36 intermediate revisions by 17 users not shown)
Line 1: Line 1:
Project maintained by Solexious, contact via IRC or charlesyarnold@gmail.com
 
 
 
==Summary==
 
==Summary==
[[File:102424263.jpg|thumb]]
+
[[File:102424263.jpg|thumb|Prototyping]]
This is the board that will hang in the space.
+
[[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
  
Currently v0.2
+
Current version 0.2.2
  
 
==Phases==
 
==Phases==
Line 14: Line 13:
 
:*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 21: 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==
 
==Change Log==
 +
===v0.3===
 +
* Allow messages up to 162 chars long
 +
* Scroll for messages longer than the screen
 +
 
===v0.2===
 
===v0.2===
 
* Include full ascii support
 
* Include full ascii support
Line 38: Line 44:
 
Currently, messages are sent directly over serial.
 
Currently, messages are sent directly over serial.
  
They are upto 21 char's long, and can only be from regular ascii. The message is terminated with a line return.
+
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'''
 
'''This is a test msg\n'''
Line 44: Line 50:
 
===Proposed new protocol===
 
===Proposed new protocol===
 
There are 2 types of message:
 
There are 2 types of message:
:* Idle - for rolling messages, i.e. temprature, currently playing song, number of irc users. Will keep last value till updated.
+
:* 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
 
:* Alert - for one time shown messages, allows sounds
  
 
====Idle====
 
====Idle====
 
The settings for idle messages are:
 
The settings for idle messages are:
* Message slot [1-5] - (see list below for reserving a slot)
+
* 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
 
* 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]
 
* Message [up to 21 chars]
Line 57: Line 63:
 
(Substituting STX, ETB and EOT for their respective ascii chars.)
 
(Substituting STX, ETB and EOT for their respective ascii chars.)
  
So to send, Temprature: 21.5, you would send:
+
So to send, Temperature: 21.5, you would send:
  
'''STX'''1'''ETB'''0'''ETB'''Temprature: 21.5'''EOT'''
+
'''STX'''1'''ETB'''0'''ETB'''Temperature: 21.5'''EOT'''
  
  
Line 79: Line 85:
 
(Substituting STX, ETB and EOT for their respective ascii chars.)
 
(Substituting STX, ETB and EOT for their respective ascii chars.)
  
To send, Ping: Solexious, with sound ping and blinking for 5 seconds:
+
To send, Ping: Jaunsicle, with sound ping and blinking for 5 seconds:
  
'''STX'''A'''ETB'''1'''ETB'''1'''ETB'''5'''ETB'''Ping: Solexious'''EOT'''
+
'''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==
 
==Feature Requests==
Line 87: Line 108:
 
* Dynamic font loading
 
* Dynamic font loading
 
* Individual pixel mapping
 
* 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