Doorbell: Difference between revisions

From Noisebridge
Jump to navigation Jump to search
(19 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{access}}
{{blackbox}}[[File:Nbdoorbell.png|right|200px]]You are standing at the Doorbell of Noisebridge's [[gate]].


You see a red doorbell button, a [[payphone]], and an [[RFID Token]] reader.
'''EXITS:''' [[Gate]], [[Patio]]
'''>''' PRESS DOORBELL
You press the doorbell and wait for someone to let you into the [[patio]].
{{cursorboxend}}
{{headerbox}}'''The doorbell''' will ring for someone to let you into the space. Be patient and don't ring multiple times without waiting a while for someone to come to greet you.
{{boxend}}
== Doorbell 4.0 ==
[[File:Esp32bell.png|300px|thumb|left|Doorbell diagram]]
''Updated: 2022-10-28''
'''Summary'''
* ESP32 Based ([https://gist.github.com/danasf/6aed0be2e0327a3e5c4c52de47e8bb54 sketch for arduino ide])
* DY-SV8F MP3 board for chimes and sound effects, it has 8MB? of storage built in ([https://grobotronics.com/images/companies/1/datasheets/DY-SV5W%20Voice%20Playback%20ModuleDatasheet.pdf manual]).
* ESP32: GPIO23 - INPUT triggers doorbell, GPIO17 - TX, connect to RX on MP3 Board
'''Features'''
* OTA firmware updates on the ESP32
* ESP32 broadcasts the doorbell ring to the network via a UDP packet (`__RING__RING__`), and a Discord/Slack webhook in #door
* You can trigger various sound effects (try sending the doorbell MOO\n, BAAH\n, TRASH\n, PLAY some_number\n as UDP packets to port 4242)
* Customizable sound files (connect USB micro to MP3 board, replacing 00001.mp3 will replace the primary chime; if you want to add additional sound effects just add those files, following the naming convention.).
'''Troubleshooting'''
* Is the shared power supply for the ESP32 and MP3 board plugged in? If using powered speakers are those plugged in? Is the speaker volume turned up?
* Is there anything physically wrong with the button mounted on the gate (i.e. are the button terminals bridged or corroded). Is there still a pair of wires (ethernet cable) running from inside Noisebridge to the gate button?
* Are all wires attached to the doorbell?
:: '''ESP32:''' GPIO15, GPIO23 to doorbell button wires. GPIO17 to MP3 RX Pin, 5V, and GND. Check wire nuts too!
:: '''DY-SV8F:''' Power, GND, RX to ESP32 GPIO17.
* Can you ping noisebell.local on the network? If you attach a USB cable to the ESP32 do you get serial read out? What happens when you press the doorbell, bridge GPIO15 and GPIO23, or send UDP packets to attempt to play some file? Anything in the serial console? Check the jumpers on MP3 board, is 3 On, 1&2 Off?
* If no serial data, can you re-flash or replace the ESP32? 
'''Quirks'''
You can send a UDP packet to the device `PLAY 2` for example would play file #2 on the device. '''The file system does not always order things as you expect.''' This dedicated library gives a [https://github.com/SnijderC/dyplayer#important-files-do-not-play-in-order-of-named-sequence good overview of the issue and possible mitigations]. Absolute worst case you can send UDP packets, iterate through files, playing them, make note of the appropriate file ordering and update the ESP firmware if needed!
<pre>
# Tell Noisebridge to take out the trash
import socket
UDP_DEST = noisebell.local # make sure noisebell.local is on the network
UDP_PORT = 4242
MESSAGE = "TRASH\n"
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.sendto(MESSAGE.encode(), (UDP_DEST, UDP_PORT))
</pre>
== Doorbell 3.0 ==
Unknown


== Doorbell 2.0 ==
== Doorbell 2.0 ==


Arduino-based, includes lights and a customizable tone.
Arduino-based, includes lights and a customizable tone.
=== To do ===
* mount in a stable enclosure
* move transistor (sound) from pin 12 to another pin so we can use ethernet. (4,10,11,12,13 are used by ethernet/sd card. 5 is buzzer signal, 7 is LEDs)
* run an ethernet cable to the doorbell
* Improve and expand doorbell code!
=== Troubleshooting ===
* Check that the speaker is connected to the green terminals of the arduino, and an audio cable is plugged into the intercom box by the top door.
* Hit the reset key on the Arduino
* Ring the door bell. Does it work?
* Re-upload or modify the Arduino sketch


If this fails you can revert to doorbell 1.0.
If this fails you can revert to doorbell 1.0.


Some [https://github.com/danasf/noise-/tree/master/doorbell arduino code]. (Improvements & ethernet functionality coming soon!)
Want to improve the doorbell? Change the chime? Here is [https://github.com/danasf/noise-/tree/master/doorbell arduino code]. Hack it!
 
You'll need a USB mini cable to connect. The board is a [http://www.freetronics.com/products/etherten], but choose Uno in the Arduino IDE.
 
Improvements & ability to alter light and sound patterns via ethernet will be coming soon.


== Doorbell 1.0 ==
== Doorbell 1.0 ==
Line 20: Line 95:
  * Unplug the audio cable from the side of the intercom box by the door.
  * Unplug the audio cable from the side of the intercom box by the door.
Doorbell 1.0 functionality should work
Doorbell 1.0 functionality should work
Pacific Electronics 3403 Door buzzer system.

Revision as of 10:31, 1 November 2022

Noisebridge | About | Visit | 272 | Manual | Contact | Guilds | Resources | Events | Projects | 5MoF | Meetings | Donate | (Edit)
272 Capp St. | Layout | Parking | Fence | Access | Patio | Entrance | Front | Hackitorium | Stage | Lockers | Stairs | Upstairs | Classrooms | Exits | Roll up door | Bathrooms | Network | Roof | Audio | AV | Construction | Electrical | Print Shop | Elevator | Back hall | Back patio | Fire escape | Plants | Sustenance | Housekeeping | (Edit)
Access | Gate | Front Door | Doorbell | RFID Token | Payphone | Security Camera | SecWG | Olympus (Door) | (Edit)
Nbdoorbell.png
You are standing at the Doorbell of Noisebridge's gate.

You see a red doorbell button, a payphone, and an RFID Token reader.

EXITS: Gate, Patio

> PRESS DOORBELL

You press the doorbell and wait for someone to let you into the patio.


> Blinkingcursor.gif

The doorbell will ring for someone to let you into the space. Be patient and don't ring multiple times without waiting a while for someone to come to greet you.

Doorbell 4.0

Doorbell diagram

Updated: 2022-10-28

Summary

  • ESP32 Based (sketch for arduino ide)
  • DY-SV8F MP3 board for chimes and sound effects, it has 8MB? of storage built in (manual).
  • ESP32: GPIO23 - INPUT triggers doorbell, GPIO17 - TX, connect to RX on MP3 Board

Features

  • OTA firmware updates on the ESP32
  • ESP32 broadcasts the doorbell ring to the network via a UDP packet (`__RING__RING__`), and a Discord/Slack webhook in #door
  • You can trigger various sound effects (try sending the doorbell MOO\n, BAAH\n, TRASH\n, PLAY some_number\n as UDP packets to port 4242)
  • Customizable sound files (connect USB micro to MP3 board, replacing 00001.mp3 will replace the primary chime; if you want to add additional sound effects just add those files, following the naming convention.).

Troubleshooting

  • Is the shared power supply for the ESP32 and MP3 board plugged in? If using powered speakers are those plugged in? Is the speaker volume turned up?
  • Is there anything physically wrong with the button mounted on the gate (i.e. are the button terminals bridged or corroded). Is there still a pair of wires (ethernet cable) running from inside Noisebridge to the gate button?
  • Are all wires attached to the doorbell?
ESP32: GPIO15, GPIO23 to doorbell button wires. GPIO17 to MP3 RX Pin, 5V, and GND. Check wire nuts too!
DY-SV8F: Power, GND, RX to ESP32 GPIO17.
  • Can you ping noisebell.local on the network? If you attach a USB cable to the ESP32 do you get serial read out? What happens when you press the doorbell, bridge GPIO15 and GPIO23, or send UDP packets to attempt to play some file? Anything in the serial console? Check the jumpers on MP3 board, is 3 On, 1&2 Off?
  • If no serial data, can you re-flash or replace the ESP32?

Quirks

You can send a UDP packet to the device `PLAY 2` for example would play file #2 on the device. The file system does not always order things as you expect. This dedicated library gives a good overview of the issue and possible mitigations. Absolute worst case you can send UDP packets, iterate through files, playing them, make note of the appropriate file ordering and update the ESP firmware if needed!

# Tell Noisebridge to take out the trash
import socket
UDP_DEST = noisebell.local # make sure noisebell.local is on the network
UDP_PORT = 4242
MESSAGE = "TRASH\n"
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.sendto(MESSAGE.encode(), (UDP_DEST, UDP_PORT))

Doorbell 3.0

Unknown

Doorbell 2.0

Arduino-based, includes lights and a customizable tone.

To do

* mount in a stable enclosure
* move transistor (sound) from pin 12 to another pin so we can use ethernet. (4,10,11,12,13 are used by ethernet/sd card. 5 is buzzer signal, 7 is LEDs)
* run an ethernet cable to the doorbell
* Improve and expand doorbell code!

Troubleshooting

* Check that the speaker is connected to the green terminals of the arduino, and an audio cable is plugged into the intercom box by the top door.
* Hit the reset key on the Arduino
* Ring the door bell. Does it work?
* Re-upload or modify the Arduino sketch

If this fails you can revert to doorbell 1.0.

Want to improve the doorbell? Change the chime? Here is arduino code. Hack it!

You'll need a USB mini cable to connect. The board is a [1], but choose Uno in the Arduino IDE.

Improvements & ability to alter light and sound patterns via ethernet will be coming soon.

Doorbell 1.0

Via original intercom box.

Fallback instructions.

Go to the intercom box by the top door:

* Ensure the buzzer switch on the top is set to 'On'
* Unplug the audio cable from the side of the intercom box by the door.

Doorbell 1.0 functionality should work

Pacific Electronics 3403 Door buzzer system.