A doorbell... etc...
Recently my doorbell failed. It wasn't just any old doorbell either.
The previous owner of my house worked for an alarm company & it
seems that he brought his work home. As well as an intruder alarm
system more suited to a bank he'd also installed a neat intercom
with the doorbell. Sadly, when the doorbell failed I didn't have the
time to sort it as I had no documentation whatsoever. I put a little
sticker on it saying, 'Please knock.' It's been like that for months
I've been preparing teaching materials for my students based on the
ESP8266 WiFi microcontroller & ended up creating a new doorbell
when I stumbled upon OpenMQTTGateway
This is a very brief page because OpenMQTTGateway
does almost everything.
I bought a few 433MHz PIR detectors on Ebay:
These cost £2.99 including delivery.
They seem to come in two styles. One has little jumpers inside to
set the transmit code & the other generates a 'unique' code of
its own. They both work fine.
Build the gateway device. You need a ESP8266 and a 433MHz receiver.
I've used a Wemos D1 for convenience here. Since I took the photo
I've replaced the 433MHz receiver with a superhet
device. As well as being slightly smaller it also gives better
Next: Set up a MQTT broker. Let's be cheap & use a Raspberry Pi
These cost £5 if you can get one. Add a
£1 Wifi adapter & we're good to go. We need a micro usb
Fire up node-red on the Pi, I use the Thingbox which has MQTT &
node-red ready rolled. Design your system:
In this example I have 4 PIR detectors & a push button. They
alert me via 'pushover' which is
a web-app which pushes(!) alerts to my mobile phone.
It's very unsophisticated as it stands but it works a treat.
Not bad for £25?!
Let's summarise what is happening here; I have several simple 433MHz
devices: 4 PIRs & a handheld pushbutton which has on & off
They transmit to the gateway (an ESP8266). Essentially they just
transmit a 'number' which uniquely identifies each device.
The gateway publishes to the MQTT broker on the Raspberry Pi.
Node-red, also on the RPi, picks up the published data (far left in
the diagram above) and passes it to the switch node.
The switch node matches the codes received to known devices. It's
basically a switch/case operation.
The 433Mhz devices 'spew' data so the following 'delay' nodes limit
their output which is fed into a 'change' node.
The change node swaps the numeric ID of the sensor to something
meaningful, eg '14112560' becomes 'door PIR' & we send this to
the 'tell pushover' node.
This is a 'http request' node which POSTs our data to Pushover.
& I receive a notification on my phone.
Ian Sexton 2017