Ардуино с лёгкостью может соединить ваш сайт в Интернете и реальный мир!
Представляете какой простор для фантазии?
В принципе, здесь уже нет ничего незнакомого.
Задача крайне простая.
Работать с Интернетом будет программа на ПК, которую можно написать на любом языке программирования. Ардуина же будет подключена к ПК через USB-ный шнурок (или COM-ский в случае Serial-платы) и слушать, что будет говорить ей программа, работающая на ПК.
Для примера напишем скрипт на питоне, который получает RSS-поток с главной страницы Хабра и ищет в названии новости ключевое слово и если его находит – выдаёт это слово в СОМ-порт для Arduino.

Для работы с RSS используем библиотеку feedparser.
Для работы из-под питона с последовательным портом потребуется библиотека
pySerial
для работы pySerial под ОС Windows понадобится ещё библиотека
pyWin32
#!/usr/local/bin/python
# -*- coding: utf-8 -*-
#
#
import sys
import os
#
# для задержки
import time
#
# для работы с RSS используем библиотеку feedparser
# http://www.feedparser.org
#
import feedparser
#
# для работы с COM-портом нужна библиотека
# pySerial, кроме того, под винду понадобится еще pyWin32
#
import serial
SERIAL_PORT = 'COM1'
SERIAL_SPEED = 9600
#
# для поиска подстроки в строке
#
import string
import re
from operator import truth
#
# слово для поиска
word = "Google"
#
# RSS для загрузки
rss = "http://habrahabr.ru/rss"
def parse_word_in_habr_rss():
d = feedparser.parse(rss)
#print d.feed.title
l = len(d.entries)
for i in range(l):
e = d.entries[i]
title = d['items'][i].title
if check4me(word,title):
print "[!] We get it: "+word
print title
print e.links[0].href
talk_to_com()
return None
#
# возвращает true, если str1 содержится в str2
#
def check4me(str1,str2):
s=str1.lower()+"+"
s2=str2.lower()
#print s,s2
return truth(re.search(s, s2))
#
# отправляем слово в COM-порт
#
def talk_to_com():
ser = serial.Serial(SERIAL_PORT, SERIAL_SPEED)
ser.write(word)
#-----------------------------------------
#
# begin here :)
#
def main():
print "[i] Start..."
while 1:
parse_word_in_habr_rss()
time.sleep(10)
print "[i] done."
return None
if __name__ == "__main__":
main()
Вот и вся программа.
Номер и скорость работы с СОМ-портом задаются в строчках
SERIAL_PORT = 'COM1' SERIAL_SPEED = 9600
Ключевое слово и адрес RSS задаются переменными
# # слово для поиска word = "Google" # # RSS для загрузки rss = "http://habrahabr.ru/rss"
При запуске данного файла – выполнится функция main() в которой в бесконечном цикле через каждые 10 секунд вызывается функция parse_word_in_habr_rss()
, которая загружает RSS-поток и пробегается по новостям и с помощью функции check4me проверяет, содержится ли в названии новости ключевое слово.
Если содержится вызывается функция talk_to_com(), открывающая порт и записывающая в него ключевое слово.
Далее уже всё зависит от вашей фантазии 🙂 Ардуина, получив данные может их проверить, а затем просто помигать светодиодом, пропищать пьезоэлементом или порулить сервомоторчиком. Или всё сразу 🙂
Ссылки
www.feedparser.org
