6

Мне было интересно, если бы можно было автоматизировать мой компьютер, отправив ему смс текстовые сообщения.

Это план:

  • подключите модем usb gsm к ПК
  • Отправьте текст "start explorer" на модем usb с помощью моего мобильного устройства
  • приложение на компьютере получает текст и запускает программу "проводник"

Конечно, это простой пример, но я надеюсь, что этого достаточно, чтобы показать, что я пытаюсь выполнить: запуск определенных программ на компьютере с помощью команды sms.

Это не обязательно Windows, я тоже могу использовать Linux.

5 ответов5

4

Мы используем бесплатное программное обеспечение под названием MWconn для Windows или ixconn для Ubuntu.

Он имеет некоторые удивительные функции и прост в установке. Он не только может автоматически дозваниваться при запуске компьютера, но также может обмениваться данными с модемом. Он имеет встроенный диспетчер SMS, удаленное управление ПК с помощью SMS и входящего вызова, передачу SMS с помощью пакетного задания с простым интерфейсом для настройки и все для запуска пакетного или исполняемого файла.

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

Существует руководство и форум для дальнейших вопросов.

1

Я не пробовал это сам, но можно было бы использовать что-то вроде pygooglevoice для получения текстовых сообщений, отправленных на номер Google Voice (если у вас есть, или может получить). Тогда ваш сценарий будет реализовывать командный процессор, который интерпретирует содержимое текстового сообщения.

1

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

Как отправить команды на удаленный компьютер

По электронной почте. Свяжите свою учетную запись Twitter с Posterous (автоматическая публикация), и все сообщения электронной почты, отправленные на twitter@posterous.com , станут командами для удаленного компьютера.
(Также см. Сообщение в Twitter по электронной почте)

По SMS: если вы живете в США, Великобритании, Канаде, Индии, Германии, Швеции или Новой Зеландии, вы можете отправить ассоциированный Twitter с вашего мобильного телефона (см. Список номеров), а затем управлять своим удаленным компьютером с помощью текстовых сообщений SMS.

По IM: Добавьте бота Twitter - twitter@twitter.com - в свой список друзей в Google Talk, и вы сможете отправлять команды через мгновенные сообщения.

По сети: если вы находитесь в отпуске, но у вас есть доступ к ноутбуку, подключенному к Интернету, просто войдите на веб-сайт Twitter и выполните команды (например, выключение или выход из системы) просто как еще один твит.

Загрузка файлов, создание снимков экрана и многое другое.

Хотя TweetMyPC довольно хорош для выключения удаленного компьютера, он также позволяет вам делать еще кое-что удивительное. Например, вам необходимо загрузить незаконченную презентацию с офисного компьютера, чтобы вы могли работать с ней дома.

Вот неполный список команд, которые вы можете использовать для удаленного управления ПК - они не чувствительны к регистру и, как уже говорилось выше, вы можете отправлять их в Twitter по электронной почте, SMS, IM или через Интернет.

Снимок экрана: Это одна из самых полезных команд, с которыми я столкнулся после команды выключения. Хотите знать, что происходит в пределах вашего ПК, когда вас нет рядом? Просто сделайте твит-скриншот, и TweetMyPC сделает скриншот вашего рабочего стола и опубликует его в Интернете (см. Пример).

ShutDown, LogOff, Reboot, Lock: Функция этих полезных команд довольно очевидна из их названий.

Standby, Hibernate: не хотите выключать удаленный компьютер? С помощью этой команды сэкономьте электроэнергию, войдя в режим ожидания. Или переведите ваш компьютер в спящий режим с помощью твита, тем самым экономя еще больше энергии.

Загрузка: вы можете загрузить любой файл из Интернета на удаленный компьютер с помощью команды загрузки. Например, такая команда, как download http://bit.ly/tCJ9Y , загрузит Справочник CIA, поэтому у вас будет готов документ, когда вы возобновите работу на следующий день.

GetFile: команда Download была предназначена для загрузки файлов из Интернета на удаленный компьютер. Однако, если вы хотите перенести файл с удаленного компьютера на ваш текущий компьютер, используйте команду GetFile. Он займет полную страницу файла, который вы хотите загрузить, и отправит его вам в виде вложения в электронное письмо. Если вы не знаете страницу файла, используйте команду GetFileList <drivename> чтобы получить список папок на этом диске.

GetProcessList: это похоже на удаленный диспетчер задач. Вы получите список программ, которые в данный момент работают на удаленном компьютере, вместе с их идентификаторами процессов. Отправьте другую команду kill <process id> чтобы завершить любую программу, которая, по вашему мнению, является подозрительной или не требуется.

Вся информация скопирована из Как удаленного управления вашим ПК с Windows по электронной почте или SMS.

0
#!/bin/bash

gammu="/usr/bin/gammu"
$gammu getallsms | /bin/grep -B 1 -A 2 "UnRead" > /home/gammu.txt


checkWord=$(/usr/bin/awk 'c&&!--c;/UnRead/{c=2}' /home/gammu.txt)
servX=$(/usr/bin/awk 'c&&!--c;/UnRead/{c=2}' /home/gammu.txt | sed 's/^\(.\{1\}\).*/\1/')
commX=$(/usr/bin/awk 'c&&!--c;/UnRead/{c=2}' /home/gammu.txt | sed 's/^..//')
number=$(grep "+" /home/gammu.txt | sed 's/[^+0-9]*//g' | sed 's/^..//')
numberPlus=$(grep "+" /home/gammu.txt | sed 's/[^+0-9]*//g')

if [ "$number" = "0123456789" ] || [ "$number" = "0111111111" ] && [[ "$checkWord" =~ [0-9]* ]]
    then
        if [ $servX -eq 0 ]
        then
          ssh -p 20022 root@192.168.0.250 $commX > /home/stdout.txt
          cat /home/stdout.txt | $gammu --sendsms TEXT $numberPlus
          exit 0
        fi
        if [ $servX -eq 1 ]
        then
          ssh root@192.168.0.1 $commX > /home/stdout.txt
          cat /home/stdout.txt | $gammu --sendsms TEXT $numberPlus
          exit 0
        fi
fi

Что-то подобное? Для этого вам нужно настроить гамму. И crontab сценарий каждую минуту или 30 секунд. Также по соображениям безопасности используйте его за брандмауэром (вам нужно настроить открытые ключи, если вы делаете это с несколькими серверами).

если вы отправляете текстовое сообщение «0 uname -a», вы получаете текстовое сообщение с выводом этой команды для конкретного сервера. Убедитесь, что вы не потеряете свой телефон :)

0

Телефоны с модемами отвечают на AT-команды через последовательный порт (по крайней мере, я не видел модель, которая этого не делает). При подключении к компьютеру через USB он открывает последовательный порт, к которому вы можете подключиться, например, с помощью сценария Perl, используя модуль Device::SerialPort для прослушивания новых сообщений (я уверен, что аналогичные модули существуют для Python/ и т.д.). Когда подается сигнал нового сообщения, прочитайте последнее сообщение и затем действуйте на его содержание.

Это не должно быть много строк кода, которые нужно сделать самостоятельно (скорее всего, это будет порядка 10-20 строк). Скорее всего, следствием будет выяснение правильных AT-команд, но если вам повезет, вы можете найти их в Google.

Большие стандартные программы, которые обмениваются данными с телефонами, почти исключительно используют AT-команды и таблицы перевода для разных телефонов.

Если вам нравится этот путь и вы хотите узнать больше, начните с использования minicom или другой последовательной консольной программы, чтобы проверить ваш телефон и узнать, какие команды для него доступны.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .