Новость из категории: Информация

Письма от двери: получайте SMS-ки при появлении посетителей

Письма от двери: получайте SMS-ки при появлении посетителей

Скромный дверной звонок справляется с задачей предупреждать нас о появлении гостей, только когда мы находимся в пределах слышимости; но это можно исправить с помощью технологии Интернета Вещей (Internet of Things, IоТ). Для данного проекта мы использовали дешевый беспроводной звонок (на Amazon он стоит £ 5). Мы убрали кнопку и обнаружили схему, которая использует простой переключатель без фиксации на батарейке 12 В. Raspberry Pi GPIO не может напрямую работать с напряжением более 3,3 В, поэтому сперва надо сменить источник питания на более слабый.

Для механизма нажатия кнопки надо припаять два проводка к контактам батарейки. При нажатии переключатель соединяет питание с заземлением и эффективно снижаетсилутока, изменяя состояние устройства со Вкл на Выкл и создавая пусковой механизм. С помощью мультиметра определите должные выводы для вашего устройства и припаяйте к ним провода. Для большей надежности крепления проводов к контактам используйте клеевой пистолет. Присоедините положительный полюс батареи к выводу 3V3 GPIO, а заземление (GND) батареи — к заземлению (GND) вашего Raspberry Pi. На своем переключателе присоедините кнопку к выводу 17 (по нумерации Broadcom), а другой провод — к выводу 3V3 GPIO.

Внешние сервисы

Письма от двери: получайте SMS-ки при появлении посетителей

Работа с внешними источниками данных и сервисами — это потрясающая область исследования с помощью Raspberry Pi. Источников множество — например, погода, астрономические данные и данные мобильного общения.

Источники данных можно использовать как способ запуска события в физическом мире — например, чтобы включить вентилятор при определенной температуре; или же ради выходных данных, например, для регистрации колебаний атмосферного давления.

В данном проекте мы использовали сервис Twilio для доступа к функции отправки SMS через API Python. Twilio — дешевый и надежный сервис для проектов, и по завершении бесплатного пробного периода стоит всего $1 в месяц и около $ 0,04 за SMS. С помощью Twilio мы можем пойти дальше и превратить наш несложный IoD (Internet of Doorbells — Интернет Дверных Звонков) в действительно мощное устройство, придав ему функциональность MMS (Multimedia Messages), содержащих видео и фото, сделанные камерой Raspberry Pi.

Есть и другие провайдеры SMS; один из них — www.smspi.co.uk. там сами используют Pi для отправки и получения SMS и предлагают 2000 бесплатных SMS.

Письма от двери: получайте SMS-ки при появлении посетителей
Twilio - наш мост между звонком и SMS. Это SMS-сервис онлайн, который можно использовать через библиотеку Python.

Для отправки SMS необходимо создать себе пробную учетную запись на https://www.twilio.com. Загрузите свой Raspberry, перейдите в терминал и введите $ sudo w pip3 install twilio для установки API Twilio для Python. Откройте приложение Python 3 через меню Programming, создайте новый файл и тут же сохраните его как Doorbell-SMS.py.

Мы начинаем наш проект с импорта API Twilio, библиотеки time и библиотеки GPIO:
from twilio.rest import TwilioRestClient 
import time
import RPi.GPIO as GPIO

Затем следует настроить GPIO на использование схемы расположения контактов Broadcom; задайте контакт 17 как ввод и установите его резистор на снижение тока:
GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.IN, GPIO.PUD_DOWN)

Далее создадим функцию для отправки текстовых сообщений через API Twilio. Замените учетную запись и данные аутентификации на свои, а телефонные номера to= и from_= — на соответствующие вашим требованиям:
def sendsms():
ACCOUNT_SID = “ACCOUNT ID“
AUTH_TOKEN = “AUTH TOKEN“
client = TwilioRestClient(ACCOUNT_SID, AUTH_TOKEN)
message = client.messages.create(
body=”Звонок зазвонил“,
to=”HОMEP КУДА ПОСЫЛАТЬ SMS”,
from_=”ВАШ НОМЕР ТЕЛЕФОНА TWILIO”,
)
print(message.sid)
time.sleep(5)

Последняя часть нашего кода является циклом, который будет прогоняться постоянно.

Мы наблюдаем за током на контакте 17 для запуска цикла, и когда он обнаружится, вызываем функцию отправки SMS на ваш мобильник:
while True:
GPIO.wait_for_edge(17, GPIO.FALLING)
sendsms()

Сохраните получившийся код и нажмите на Run > Run Module, чтобы его протестировать.

Рейтинг статьи

Оценка
0/5
голосов: 0
Ваша оценка статье по пятибальной шкале:
 
 
   

Поделиться

Похожие новости

Комментарии

^ Наверх