На прошлой неделе мы взяли интервью у Энди Стэнфорд-Кларка в его интеграции Smart Home с Twitter, и теперь у нас есть файл, опубликованный студентом по информатике Джастином Викеттом, который дает свой скрипт с открытым исходным кодом, чтобы сделать то же самое. Читайте дальше для кода, который заставляет ваш дом общаться с вами через SMS -текстовое сообщение к мобильному мобилу, а также все другие преимущества, предлагающие Twitter.

«Мне нужно было написать только несколько строк кода, чтобы собрать все эти технологии вместе, чтобы они работали друг с другом. Следующий код – очень грубая реализация, которую я первоначально использовал для проверки осуществимости этой идеи. Я планирую включить поддержку Bluetooth, а также уведомления о подтверждении, как только вернусь в Университет Дьюка. Лучше всего, я использую свой мобильный телефон, чтобы отправить публичные обновления в Твиттере, которые транслируются всем моим друзьям. Этот метод не защищен, и спамит ваших подписчиков обновлениями о состоянии вашей электрической сети. Я рекомендую создать частную учетную запись в целях тестирования или, что еще лучше, используя прямые функции обмена сообщениями Twitter.

Наконец, этот код зависит от поисковой системы Summize.com, которая анализирует и индексирует каждое публичное сообщение, отправленное в Twitter. Я не мог опросить Twitter.com из -за проблем с ограничением ставок. My Code опрошенные API Summize REST (который является просто веб -URL) каждую вторую проверку, чтобы увидеть, было ли обновление. Этот метод опроса не является эффективным, а налоги Summize серверы. Я рекомендую подписаться на кормление Sub Jabber в Twitter и анализировать Feek Feed (см.). Ниже приведен мой быстрый и грязный код Python, который можно легко перенести на другие языки:

#/usr/bin/python
#Copyright 2008 Джастин Викетт
#Эта программа – это полностью бесплатное программное обеспечение: вы можете перераспределить его и/или изменить
#это в соответствии с условиями общей публичной лицензии GNU, опубликованной
#полностью бесплатный программный фонд, либо версия 3 лицензии, либо
#(на вашем варианте) любая более поздняя версия.
#Эта программа распространяется в надежде, что она будет полезна,
#но без какой -либо гарантии; даже без подразумеваемой гарантии
#Merchantability или пригодность для определенной цели. Увидеть
#GNU Общая публичная лицензия для более подробной информации.
#Вы должны были получить копию общей публичной лицензии GNU
#ALONG с этой программой. Если нет, см. <>.
Импорт FeedParser, OS, Time #Библиотека «FeedParser» может быть установлена ​​из
#Todo: замените имя пользователя, а также адрес Insteon на подходящие значения
#Todo: Также убедитесь, что путь правильно установлен в системной команде на путь ICMD на вашей локальной машине
Lasttweet = 0 #необходимо отслеживать последний твит, полученный для того, чтобы сделать Summize Запросы менее дорогими
username = «XXXXXXXX» #TWITTE
insteonaddress = «xx.xx.xx» #insteon Адрес устройства, которое вы хотите включить и выключить

В то время как (1):
feedurl = «”+username+”& ship_id =”+str (lasttweet) #polling Summize
FEED = FEEDPARSER.PARSE (FEEDURL)
Если len (feed [‘necips’])> 0 и feed [‘necipres’] [0] .link.split (‘/’) [-1]> Lasttweet:
Если CMP (Feed [«Записи»] [0] [«Название»], «Свет спальни») == 0: #Проверка для команды «ВКЛ»
OS.System («ICMD»+InsteonAddress+»на 255») #Завершите свет, управляемые моим переключением включенным
Если CMP (Feed [«Записи»] [0] [«Название»], «Свет спальни выключена») == 0: #Проверка для команды «Выкл».
os.system («ICMD»+insteonAddress+»OFF 255») #Завершите свет, управляемые моим выключением.
LastTweet = Feed [‘necipres’] [0] .link.split (‘/’) [-1] #save последний твит, чтобы мы не переходили через себя
Time.sleep (1) #Sleep на одну секунду и снова выполните код

Сайт Джастина Викетта: Следите за автоматическим домом в Твиттере

Поделись этим:
Facebook
Твиттер
Reddit
LinkedIn
Pinterest
Эл. адрес
Более

WhatsApp
Распечатать

Скайп
Tumblr

Телеграмма
Карман

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *