Рубрики
Без рубрики

Борьба с синдромом самозвана с Twilio Интернет вещей

Если вы читаете это, вы, наверное, соберетесь с синдромом самозвана одновременно. Экхе … Помечено оборудование, Python, RaspberryPi, Twilio.

Если вы читаете это, вы, наверное, бороться с Сандром самозвана за один или другой.

Опыт тоже не всегда помогает. Как наши навыки растут, мы решаем более сложные проблемы. Технологи всегда работают на краю наших знаний.

Что мы можем сделать, чтобы бороться с синдромом самозвана? Исследования есть показано, что самоутверждение может противодействовать негативным размышлениям и увеличить достижение. Поэтому я решил создать кнопку Интернета вещей, которые обеспечивают утверждение SMS при нажатии.

Этот проект мог бы Совершенно быть веб-приложением. Но – принимая физическое действие в ответ на негативные мысли помогает обойти меня эмоционально.

Использование SMS позволяет мне получить подтверждение без когнитивной нагрузки открытия другого вкладка браузера. Возможности IOT Twilio позвольте мне взять кнопку в любом месте с помощью мобильного обслуживания. Никакой конфигурации WiFi не требуется!

Кнопка синдрома вызывала призывника – мой первый аппаратный проект. Иногда было немного сложно. Однако при поддержке от моего сообщества мне удалось работать в конце концов.

Я взволнован, чтобы пройти вас через эту сборку – не требуется никакого аппаратного опыта.

Во-первых, Зарегистрируйте свою SIM-карту Twilio Отказ Тогда Создать тарифный план Отказ Наконец, Купить номер телефона Twilio С SMS возможности.

Теперь мы собираемся настроить операционную систему PI. Мы используем Специальное распабиевое изображение диска Это приводит к шляпе LTE Cat 1 Pi. Скачать Балена Этри И следуйте инструкциям для записи изображения операционной системы на SD-карту.

Соберите оборудование

Покройте SIM-карту Twilio в шляпе и нежно прикрепите антенны.

Прикрепите шляпу к PI с USB-кабелем Micro USB. Большая сторона входит в PI.

Далее положите сгоревшую SD-карту в нижний слот на PI.

Подключите USB к адаптеру Ethernet в рабочий стол. Подключите кабель Ethernet между гнездами Ethernet на адаптере и Raspberry Pi.

Наконец, подключите Pi в USB-источнику питания. Не используйте свой ноутбук : Это не постоянно предоставляет столько энергии, что и потребности PI.

Если вы видите мигающие зеленые огни на Raspberry Pi, вы сделали это правильно! Затем я покажу вам, как настроить свою среду разработки.

Настройте свою среду разработки

От терминала на вашем рабочем столе или ноутбуке, ssh до pi @192.168.253.100. . Вам будет предложено ввести пароль, который является Build19. .

Запустите следующую команду для установки Пип , менеджер пакета Python:

sudo apt-get install python3-pip

Затем используйте PIP, чтобы установить Twilio Python SDK:

sudo pip3 установить twilio

Добавьте учетные данные Twilio в качестве переменных среды на PI.

Вам нужно установить Twilio_account_sid и Twilio_auth_token Отказ Вы можете найти их в консоли Отказ

Хранение ваших учетных данных на устройстве только приемлемо, если вы планируете сохранить устройство физически в вашем распоряжении во все времена. Если это не так, используйте еще одно решение аутентификации, которое вы можете отключить дистанционно, например Доверие на борту или API Ключ Отказ

Настройте свой текстовый редактор

Время для настройки редактора кода. У вас есть два варианта, чтобы ввести код, который вам понадобится:

  • Вы можете использовать редактор прямо на PI, как нано , погибший или Emacs Отказ
  • Кроме того, вы можете использовать редактор на своем ноутбуке и настроить расширение редактора для скопирования кода на PI.

Когда я построил свою кнопку, я использовал атом с Удаление удаленного синхронизации И это работало как очарование.

Raspberry Pi имеет булавки для ввода и вывода общего назначения, ака GPIO Отказ

Если вы подключаете неправильные контакты, вы можете кирпировать свой PI. Я сделал это во время моей первой сборки – угадай, что я сейчас настоящий хакер оборудования. 😂 Используйте Диаграмма распакивания Чтобы дважды проверить свои булавки и избегайте моей ошибки.

Смущает, булавки GPIO имеют несколько схем нумерации . Неважно, какая схема вы выбираете, до тех пор, пока вы используете последовательную схему на протяжении всего вашего проекта, чтобы избежать смесей. Для этого проекта мы будем использовать схему нумерации BCM.

Когда кнопка нажата, мы хотим завершить Схема Отказ

Схема – это непрерывный путь, который может течь электрический ток. Земля – это достаточно последовательную контрольную точку, что другие уровни тока могут быть измерены.

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

Резисторы: что они есть, почему они им нужны

Резисторы к спасению! Резисторы препятствуют потоку электрического тока в цепи.

Для коммутатора, который подключается к земле, A Подтягивающий резистор обеспечивает определенное напряжение («логическое высокое») через оставшуюся часть цепи, когда переключатель открыт. И наоборот, а Открытый резистор обеспечивает определенное наземное напряжение («логическое низкое»), когда переключатель открыт.

Неважно, используете ли вы подтягивающие или выдвинутые резисторы для этого проекта – так что давайте пойдем с подтянем. У пинов PI GPIO имеют внутренние подтягивания и выдвинутыми резисторами, которые мы настроим в нашем коде Python.

Прикрепите кнопку к PI

Подключите металлическую сторону кнопки провода в кнопку. (Неважно, какой провод какой, они взаимозаменяемы.)

Подключите пластиковую сторону разъемов в BCM PIN 18 , а также GND. Вы можете припаять эти провода вместо того, чтобы использовать разъемы, если вы предпочитаете.

Скопируйте следующий код в новый файл sms_button.py На вашей малине PI. (Используйте свой выбор редактора сверху).

Заменить from_number С вашим номером телефона Twilio и to_number С номером вы хотите отправить утверждения.

import RPi.GPIO as GPIO
import time
from twilio.rest import Client
import requests

client = Client()

from_number = "" # put your Twilio number here
to_number = "" # put your cell phone number here

# specify which GPIO numbering scheme we are using
GPIO.setmode(GPIO.BCM)
pin_number = 18
# configure the pin for input and set up pull-up resistor
GPIO.setup(pin_number, GPIO.IN, pull_up_down=GPIO.PUD_UP)

def get_affirmation():
    try:
        response = requests.get(url="https://www.affirmations.dev").json()
        return response.get('affirmation')
    except Exception:
        # let's not try too hard
        return "you can do it!"

def send_message(_):
    affirmation = get_affirmation()
    message = client.messages.create(
        body=affirmation,
        from_=from_number,
        to=to_number
    )
    print(message.sid)

GPIO.add_event_detect(
    pin_number,
    GPIO.FALLING,
    callback=send_message,
    bouncetime=1000
)

# we need a loop here to keep the script running continuously
while True:
    time.sleep(10)

Я использую Подтверждения API Здесь, но вы также можете написать персонализированные подтверждения для себя. Поместите утверждения в список и используйте Random.Choice () Чтобы выбрать каждый раз, когда вызывается функция send_message.

Попробуйте запустить сценарий Python из командной строки:

python3 sms_button.py.

После нажатия кнопки вы должны увидеть какой-то выход, который выглядит так:

sending message
SMef651cc421a241e997c591401dbea41b

Вы должны получить утверждение текстового сообщения на предоставленном вами номере ячейки. Ура!

Обратите внимание, что иногда кнопка занимает несколько секунд, чтобы инициализировать при первом прогонов скрипта.

Если вы хотите постоянно работать скрипт на PI, вы захотите запустить его внутри экран Сеанс, поэтому скрипт может продолжать идти после завершения сеанса SSH.

В конце дня мой сандром самозвана не определяет меня. Это просто мысль, у меня есть.

Ваш сандром самозвана тоже не определяет вас. Вы умны, вы делаете вещи, и я не могу дождаться, чтобы увидеть, что вы создаете. Если вы построите что-то с Twilio IoT, я хотел бы услышать об этом! Вы можете прокомментировать здесь или найти меня на Twitter Отказ

Оригинал: “https://dev.to/twilio/fighting-impostor-syndrome-with-twilio-internet-of-things-122n”