Een alert van je deurbel op I-pad of I-phone

Waarom zou je een alert op je I-pad of I-phone willen ?
Als je buiten zit en je hoort de deurbel niet maar je wilt wel je bezoek netjes kunnen ontvangen dan is dit handig.
Je kan er voor kiezen een luidere bel of een extra bel buiten te monteren maar een project waar je door middel van een Raspberry Pi een alert krijgt op je Iphone of Ipad vind ik net wat interessanter.
Als je het indrukken van de “drukknop bel” kunt registreren met de raspberry pi dan kan je via de raspberry pi een signaal doorgeven aan een internet gerelateerde pagina (bijvoorbeeld) of een Api. In dit project is Pushover gebruikt. Pushover werkt voor Android, voor iPhone/iPad en voor Desktop. Je kan het 30 dagen gratis proberen.

Allereerst de werking van een standaard deurbel:

Als je op de knop drukt dan wordt het circuit gesloten en gaat de bel.

Om het signaal van de drukknop bij de Raspberry Pi te krijgen is het volgende schema:
(waarom er een relais in het 230V circuit zit staat onderaan de pagina)

Parallel aan de bel wordt de optocoupler en de weerstand geplaatst. In het schema zijn dit pin 1 en 2 van de bel en pin 1 en 2 van de weerstand/optocoupler. In de behuizing van de optocoupler zit een uitsparing. Dit zijn de pinnen A(+) en C(-). De andere zijde van de optocoupler zijn de pinnen C en E.

De Optocoupler kan over A(+) en C(-) maar 5V aan. Daarom is de weerstand in het schema verdeeld over 3 weerstanden zodat de spanning over de optocoupler maar 2,7V is.

De werking
De input GPIO 23 wordt door optocoupler low gemaakt als er op de bel gedrukt wordt. Het Pyton script heet bij mij deurbel.py en is als volgt:

#import libs
#!/usr/bin/env python3
import RPi.GPIO as GPIO

import time
from time import sleep, localtime, strftime

from os import system  #dit laad system
import subprocess

import http.client, urllib

APP_TOKEN = 'je aangemaakte apy code bij pushover'
USER_KEY = 'je user key code na aanmaak account bij pushover'
MESSAGE = 'De deurbel gaat'

GPIO.setmode(GPIO.BCM)

# hiermee maak je Gpio 23 high en als je er aarde op geeft dan wordt poort low
GPIO.setup(23, GPIO.IN, pull_up_down=GPIO.PUD_UP)

# Als GPIO 23 is high dan true else low dus false

while True:

	input_state = GPIO.input(23)
	if input_state == False:
  
		conn = http.client.HTTPSConnection("api.pushover.net:443")
		conn.request("POST", "/1/messages.json",
		urllib.parse.urlencode({
		"token": APP_TOKEN,
		"user": USER_KEY,
		"message": MESSAGE,
		  }), { "Content-type": "application/x-www-form-urlencoded" })
		conn.getresponse() 



GPIO.cleanup()

Het python script staat bij mij hier: /usr/src/deurbel/deurbel.py
Om het script te starten op de Raspberry Pi kan je op de command line Python deurbel.py ingeven. Maar je kan in contrab het volgende zetten zodat deurbel.py altijd aanwezig is, ook na reboot:
@boot sleep 15 && python /usr/src/deurbel/deurbel.py

Pushover
Zoals vermeld wordt er gebruik gemaakt van Pushover. Dit is een platform waar je melding heen gaat en dat platform stuurt het alert.
Bij installatie krijg je een 30 day trail. De kosten voor een licentie zijn eenmalig € 5,49 per apparaat.
Maak een account aan bij Pushover. Als het account aangemaakt is dan zie je op je pagina rechts boven je USER_KEY.
Als je eerst de app Pushover op je I-phone of I-pad installeerd dan zie je ook je device al op de pagina. Voor je APP_TOKEN moet je naar de onderzijde van je gebruikers pagina. Daar staat: Your Applications (Create an Application/API Token)
Vul hier een naam voor je applicatie in. De rest is volgens mij niet noodzakelijk. Bij aanmaken kom je op een application pagina waar je Api token staat.
Het activeren van de licentie doe je in de app op je I-phone / I-pad. In instellingen van de app Pushover kom je dat tegen. Betalen gaat via de Apple store.

Bronvermelding:

Informatie van de optocoupler: https://asset.conrad.com/media10/add/160267/c1/-/en/000187380DS01/datenblatt-187380-vishay-optokoppler-phototransistor-cny-66-dip-4-transistor-dc.pdf
Informatie waar ik mee gestart ben: http://deddieslab.blogspot.com/2014/08/pi-files-doorbell-alert-with.html
De help pagina van Pushover.net: https://support.pushover.net/i44-example-code-and-pushover-libraries#python


Deurbel die minder energie verbruikt:

Een trafo die permanent is aangesloten wordt warm. Dus verbruikt energie.
Om energie te besparen een onderbreking gemaakt in de 230V kant m.b.v. een relais.

Het relais wordt bediend met de drukknop die buiten op de deurstijl zit. De batterij zorgt ervoor dat  het relais werkt als de drukknop ingedrukt wordt. De platte batterij gaat bij mij al 10 jaar mee.  Er is maar kortstondig verbruik als er gebeld wordt. En gelukkig is de batterij niet gaan lekken.

Het schema: