Skip to content

Alouettesu/Phone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ретрансляция СМС и звонков в мессенджер

Программа предназначена для работы на компьютере Raspberry Pi. Программа принимает входящие СМС и звонки и передаёт их в мессенджер.

Аппаратура

Программа разрабатывалась на Raspberry Pi 2B и модуле для Arduino SIM900.

На модуль SIM900 найти даташит не удалось. Главное, что нужно для работы:

  • запаять перемычку JP для возможности автоматического управления питанием;
  • установить тумблер выбора источника питания на Xduino;
  • установить джамперы RX, TX в положение D7, D8;
  • установить SIM-карту в модуль;
  • соединить модуль с платой Raspberry Pi по схеме:
Raspberry PI Net SIM900
4 5V 5V (Out)
6 GND GND
8 RPI-To-SIM D8
10 SIM-To-RPI D7
12 (GPIO 18) SIM Power D9

На Raspberry Pi контакт 8 - TX, контакт 10 - RX. На Sim900 контакт D7 - RX, D8 - TX. Вероятно, в каком-то из даташитов ошибка, так как схема работает при соединении TX-TX, RX-RX. Обычно правильный вариант соединения должен быть TX-RX, RX-TX. Но здесь я несколько раз всё перепроверил, оно работает именно так, как написано в таблице.

На модуль SIM900 нет нормального даташита с распиновкой. Но известно, что он подходит для сборки "пирогом" с Arduino Uno. Поэтому приведу здесь картинку расположения выводов Arduino Uno.

Распиновка портов на Raspberry Pi и Arduino Uno

Распиновка портов на Raspberry Pi Источник: https://www.raspberrypi.com/documentation/computers/raspberry-pi.html

Распиновка портов на Arduino Uno

Истоник: https://docs.arduino.cc/hardware/uno-rev3

Документация на AT-команды SIM900

Документация на функцию отправки сообщений в ВК

Установка и запуск

Перед запуском программы необходимо установить дополнительные библиотеки для Python:

pip install pyserial
pip install pyserial-asyncio
pip install vk_api

Для установки программы достаточно клонировать или скачать репозиторий из Гитхаба. Чтобы запустить, нужно проделать ещё несколько действий. Прежде всего, нужно создать группу в ВК, от которой будут отправляться сообщения. Затем получить токен доступа для этой группы с правом на отправку сообщения. Заметим, что получатель сообщений должен разрешить отправку сообщений от сообщества.

В операционной системе Raspberry OS необходимо создать переменные окружения, в которых будут храниться настройки приложения: токен доступа и идентификатор пользователя, которому будут посылаться сообщения. Например, так:

export TOKEN=ВАШ_ТОКЕН_ДОСТУПА
export VK_USER_ID=ВАШ_ИДЕНТИФИКАТОР_ПОЛЬЗОВАТЕЛЯ

После этого остаётся только запустить исполняемый файл:

python phone.py

Запустить можно и иначе. Например, такая команда запишет идентификатор созданного процесса в текстовый файл:

bash -c 'echo $$ > ./pid && exec python ./phone.py'

Тогда можно будет использовать его для завершения процесса:

read pid < ./pid
kill -2 $pid
rm ./pid

Этот скрипт отправит процессу сигнал KeyboardInterrupt, что говорит ему о том, что нужно завершить работу.

About

Redirect SMS to messenger

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages