Управление Arduino Ok, Google

Нет ответов
Sergeyevd
Sergeyevd аватар
Offline
Зарегистрирован: 25.03.2014

Расскажу как можно управлять ардуино голосом,через телефон.

К ардуино подключен ENC28J60.

 

Код Ардуино

Библиотека EtherCard https://github.com/jcw/ethercard

#include <EtherCard.h>
static byte mymac[] = { 0x74,0x69,0x69,0x2D,0x30,0x31 };//Меняем на свой
static byte myip[] = { 192,168,1,100 };  //Меняем на свой
const char website[] PROGMEM = "192.168.1.100";//Меняем на свой
byte Ethernet::buffer[900];
BufferFiller bfill;

void setup () {
Serial.begin(250000);
ether.begin(sizeof Ethernet::buffer, mymac, 10);
ether.staticSetup(myip);
pinMode(3, OUTPUT);
}

void loop () {

word pos = ether.packetLoop(ether.packetReceive());
if (pos){
// получаем заголовки
 char *data = (char *) Ethernet::buffer + pos;
// проверяем на наличие в заголовках нужных нам строк

if (strstr(data, "GET /diod.txt")  ) { 
int di1 = atoi(strstr(data, "di1=") + 4); //di1 может быть либо 1,либо 0
digitalWrite(3, di1);   //соответственно включаем/выключаем диод
bfill = ether.tcpOffset();
bfill.emit_p(PSTR(
"HTTP/1.0 200 OK\r\n"
"Content-Type: text/plain\r\n"
"\r\n"
"di1 = $D\r\n" //$D это переменная di1,которая указана ниже
),di1);
}

 ether.httpServerReply(bfill.position());
 }
}

 

Скачиваем (для android)

Tasker https://play.google.com/store/apps/details?id=net.dinglisch.android.taskerm&hl=ru

AutoVoice https://play.google.com/store/search?q=AutoVoice&c=apps&hl=ru

Или скачаиваем отсюда http://4pda.ru/forum/index.php?showtopic=173935

Устанавливаем.

Заходим в настройки телефона - Специальные возможности

В разделе "Службы" включаем Tasker и AutoVoice.

Запускаем Tasker.

Жмём на +

Выбираем "Событие"

Плагин

Выбираем ранее установленный AutoVoice

 

Конфигурация - Нажимаем Speak Filter и произносим команду, я произнёс слово "День"

 

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

Получили конфигурацию. Жмём кнопку возврата.

 

Нажимаем "Новая задача". Пишем название задачи. И добавляем нужное. В данном случае GET запрос.

 

 

 

 

Для проверки работоспособности можно нажать на треугольник внизу (Play)

Ну и по аналогии можно делать другие команды.

Вот так, просто и со вкусом.