Умный дом

» » Создаем своими руками Twitter-кофеварку на платформе Arduino

Создаем своими руками Twitter-кофеварку на платформе Arduino

Вы заядлый кофеман? Кофе ваше все, особенно по утрам? Тогда данная кофеварка для вас! 
 
 Кофеварка  управляемая удаленно, казалось бы фантастика, но нет, это уже реальность. Это самодельный гаджет «Twitter кофеварка»  с поддержкой Twitter, и вы можете его сделать сами. Этот кофейник позволит владельцу приготовить кофе из любой точки, где есть мобильная связь, с помощью твиттера и платы Arduino. 
 
 «Twitter кофеварка»  – это один их самых простых существующих проектов на Arduino, с которым справится даже начинающий ардуинщик! 
Вам понадобится написать небольшое колличество кода и некоторое оборудование, и если все пойдет как задумано, то вы можете иметь свою собственную кофеварку с поддержкой твиттера и похвастаться этим необычным гаджетом с друзьями. У них такого точно нет! J

Шаг 1: Расходные материалы


Чтобы создать свою собственную кофеварку на Arduino , вам понадобится:
 
 1. Оборудование для питания. В основном это реле, которое используется для взаимодействия с переменным напряженим; 
 2. Плата Arduino (подойдет любая);
 3. Компьютер, на котором установлены программы - Arduino IDE и Python;
 4. Портативная кофемашина.


Шаг 2: Настройка вашего компьютера


Сначала вам нужно настроить ваш компьютер. 
 
 Для взаимодействия между Arduino и Twitter мы будем использовать Python. Есть специальная программа, которая позволяет нам использовать Twitter API. Её название «python-twitter» . 
 
 После того, как вы установили Python, не забудьте установить обязательный компонент - библиотеку python-twitter и все ее зависимости. Если у вас возникли проблемы, просто ознакомьтесь с документацией на сайте python-twitter. 
 
 Затем установите Arduino IDE, чтобы вы могли запрограммировать Arduino и «общаться» с контроллером через USB-порт. 
 
 После того, как всё настроено и работают, следующий шаг – ввод личных учетных данных с Twitter.

Шаг 3: Настройка Twitter


Взаимодействие с твиттером раньше было намного проще, но разработчики сайта не ищут легких путей для своих пользователей. Ранее, все, что вам нужно было сделать, это ввести свое имя и пароль в код, и это сработало бы в два счета. Теперь делать твитты приходится более сложными методами, например для автотвиттинга на сайтах и всяческих других задач с участием твиттера, теперь вы должны зарегистрировать свой сайт или приложение в твиттере и получить специальный ключ API. 
 
 Во-первых, создайте учетную запись в Twitter для нашего проекта, кстати говоря не рекомендуем вам использовать для этого проекта вашу основную учетную запись. 
 
 Затем перейдите к dev.twitter.com и зарегистрируйте то что вам требуется (сайт, приложение) и это даст: 

 -Доступ Токен 
 -Access Токен Secret 
 -Consumer Key 
 -Consumer Secret 
 
 Эти ключи будут необходимы для встраивания в код питона с помощью API Twitter. 
Теперь, после того, как у вас теперь есть эти 4 кода, мы можем продолжить.


Шаг 4: Код в Python


Сначала давайте рассмотрим наш код Python. Код Python в основном использует библиотеку python-twitter, чтобы запросить у твиттера статус пользователя «x», затем он принимает последний статус и ищет термин «#driptwit». 

 Если термин найден, отправляет значение ascii 1 через USB-порт в Arduino, если #driptwitstop найден, он отправляет значение ascii, равное 0. 
 Наконец, он зацикливается и проверяет учетную запись Twitter каждые 15 секунд в поисках изменений.
Ниже показан код который нужно ввести, которые вы получили из твиттера.
А вот сам код:
Начало кода
# ****************************************** # 
 # Tweet-a-Pot от Gregg Horton 2011 # 
 # Пожалуйста, 
 присылайте изменения или # # обновления на greggahorton@gmail.com # 
 # ***************************** ************ #
## Импорт библиотек
импорт твиттер 
 импорт серийный 
 импорт время
## идентификация своей учетной записи с помощью твиттера 
 api = twitter.Api (consumer_key = 'consumerkeyhere', consumer_secret = 'consumersecrethere', access_token_key = 'accesskey', access_token_secret = 'accesssecret')
## установите ваш последовательный порт USB
 ser = serial.Serial ('/ dev / ttyUSB0', 19200)
## проверка последовательного порта USB
 def checkokay (): 
 ser.flushInput () 
 time.sleep (3) 
 line = ser.readline () 
 time.sleep (3)
if line == '': 
 line = ser.readline () 
 print 'here' 
 ## Приветственное сообщение 
 print 'Welcome To Drip Twit!' 
 «Приготовление кофе». 
 def driptwit (): 
 status = [] 
 x = 0
status = api.GetUserTimeline ('X') ## получить последние статусы
checkIt = [s.text для s в статусе] ## положить статус в массив
drip = checkIt [0] .split () ## разделить первый твит на слова
## проверяет совпадение и делает запись, если совпадает, 
 если drip [0] == '#driptwit': 
 печатать 'Tweet Received, Making Coffee' 
 ser.write ('1') 
 elif drip [0] == '#driptwitstop' : ## перерыв, если выполнено 
 ser.write ('0') 
 'остановка в ожидании команды.' 
 остальное: 
 ser.write ('0') 
 print 'Awaiting Tweet'
в то время как 1: 
 driptwit () ## вызывает функцию 
 driptwit time.sleep (15) ## отключение в течение 15 секунд, чтобы избежать ограничения скорости

Конец кода


Шаг 5: Код Arduino


Единственная связь между кодом Python и Arduino - это одно последовательное значение. Python отправляет это как значение ascii, в свою очередь arduino интерпретирует это как битовое число, в нашем случае 1 = 49. 
 
 Чтобы понять что код Python выдает последовательные байты, вам нужно будет просто изменить код Arduino, чтобы была адекватная реакция на правильное значение. 
 
 Вот код: 
Начало кода
 / * 
 Tweet-a-pot Грегг Хортон 2011 
 
 Включение мигания / управление реле через твиттер с использованием кода Python 
 На основе демонстрационного кода Blink и Serial 
 
 * / 
 
 int relayPin = 13; // светодиод подключен к цифровому выводу 13 
 intcomingByte = 0; // входящий байт
 // Метод setup () запускается один раз

 void setup () { 
 // инициализирует цифровой вывод: 
 pinMode (relayPin, OUTPUT); 
 Serial.begin (19200); // установить библиотеку Serial со скоростью 19200 бит / с 
 
 Serial.println («Arduino готов!»); 
 } 
 
 // метод loop () выполняется снова и снова, 
 // до тех пор, пока Arduino включено 
 
 void loop () 
 { 
 if (Serial.available ()> 0) { 
 // входящий байт: 
 входящийByte = Serial. читать(); 
 Serial.println (incomingByte); 
 if ( 
 comingByte == 49) { digitalWrite (relayPin, HIGH); 
 } else { 
 digitalWrite (relayPin, LOW); 
 } 
 
 // знание которое получаем:
 Serial.print («Я получил:»); 
 Serial.println (входящий DEC); 
 } 
 }

Конец кода

Шаг 6: Настройка оборудования


Аппаратная настройка довольно проста, так как управление напряжением переменного тока осуществляется хвостом переключателя питания. Задний конец переключателя питания позволяет нам подключить 2 провода, один к земле и один к контакту управления, для включения и выключения реле. 

 Подключите Arduino к компьютеру и убедитесь, что ваш последовательный порт USB установлен, затем подключите кабельные выводы выключателя питания к контакту 13 и заземлению. 
 
 Затем подключите кофейник к реле и подключите реле к обычной розетке.  
Кофеварку нужно заправить водой и кофе, прежде чем включить.


Шаг 7: Делаем кофе

  Итак приступим к главному: 
  1. Заправляем кофе в кофеварку.

  2. Сделаем твитт - #driptwit. Ваше кофе начнет готовиться.


  1. Как только ваш кофе сделан, снова твитнитнем - #driptwitstop. Кофеварка остановится. 
  2. Отправляем твитт #driptwitstop, ещё раз чтобы выключить питание кофеварки.
  3. Наслаждаемся чашкой горячего кофе и читаем последние новости в Twitter J

Шаг 8: Заключение


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

 

Остались вопросы? Задавайте их в комментарии, и мы постараемся ответить на них.