arduino + wifi роутер
- Войдите на сайт для отправки комментариев
Добрый день!
Цель: контроль работы газового котла в загородном доме.
Задачи: считать состояние работы котла, если есть ошибки в работе, то перезагрузить котел.
Обьясню все по порядку. Котел информирует пользователя о своей работе при помощи свтодиодов, на данном этапе нам достаточно знать температуру воды (всего 6 лампочек, кождая символизирует свою температуру), если мигает только первая лампочка, то в работе котла была ошибка (отключили газ, ток или были скачки в подаче питания). Как ввести показания этих лампочек в arduino ясно, как выявить ошибку тоже ясно, главный вопрос: как подружть роутер и arduino.
На эту тему довольно много видео, но мало описания. Ардуино коннектиться к роутеру через usb, на роутер заливается новая прошивка и...дальше прошивки пустота. Кто может помочь собственным опытом или кто находил внятные статьи на данную тему, прошу вашей помощи, списибо.
Есть другой путь, ардуино+модуль LAN и затем передача состояния котла по сети, но это уже другая тема и цена.
Как вообще происходит общение arduino и компьютера через usb?
Как вообще происходит общение arduino и компьютера через usb?
обмен происходит по ком порту через преобразователь USB/RS232
через лан точно проще реализовать будет, мне например как начинающему, на основе примеров, да и лан-шилд не дорого стоит, размороженная система отопления точно дороже будет :)
Ethernet Shield v2 примерно 1200-1300р
А какой минимальный набор, чтобы обеспечить передачу информации (элементарной, есть сигнал на входе, либо информации от датчика температуры) через LAN, с учетом того, что хотелось бы подключить 10-15 датчиков (такое кол-во вообще возможно)?
Спасибо за ответы, собираю информацию, т.к. планирую купить андурино и не прогадать с доп. платами.
ардуина+езернет-шилд подключенный к вашему роутеру наверное и хватит, а можно найти какой нибудь старенький мобильник (цена копейки) и слать инфу через смс на ваш телефон, и сеть не нужна, да и надежнее будет
А еще можно взять роутер умеющий работать с юсб модемом например DIR-320/NRU
а еще можно взять и почитать про роутеры по конкретней и вам вовсе не нужен будет эзернет шилд для затравки вот вам пример http://robocraft.ru/blog/electronics/406.html - в роутерах жевет линукс работающий на MIPS архитектуре а следовательно вы можете применять его гораздо масштабней чем просто передовать данные от ардуино насколько широки возможности можо подглядеть вот тут http://openwrt.org , http://www.dd-wrt.com. А чтобы подключить ардуину к роутеру без всяких эзернет шилдов просто откройте корпус и найдите чтото похожее на это http://dipcore.com/wp-content/uploads/2010/05/dir320_UART_pinout.jpg все подключается элементарно 3мя проводами прям к ардуине! :) п.с. чем навороченее ваш роутер тем больше ваше поле для фантазий (веб камеры, 3G модемы, GPS, + всевозможные ухищрения (роутер+дуино))
Лутше поздно, чем никогда), спасибо за ответ, у меня как-раз валяется 320, буду химичить!
Я опробывал роутер TP-LINK MR3020 совместно Arduino, рекомендую
В отличии от ethernet шилдов, на нем можно установить полноценный web сервер и управлять ардуиной из любого браузера
Роутер с процессором 400МГц, чОтко =). А в какую оно цену сейчас, в Яндексе разброс от 700 до 1600р. ?
столько и стоит) подключить к нему ардуину, я так понимаю, труда не составит. RXTX на плате разведены. Но можно и по юсб же подключить? Поправьте меня если я не прав.
вот еще вариант общения ардуины не с роутером, но с miniX
основной посыл - USB-UART ...возможно даже кто-то подскажет как сварганить такой шнурочек или купить готовый...я вот такое нашел - хз подойдет ли
Для работы arduino - usb - uart - роутер нужно, чтоб ардуина выступила в качестве юсб-хоста, так что контролеры до 1500р. отпадают...
Для работы arduino - usb - uart - роутер нужно, чтоб ардуина выступила в качестве юсб-хоста, так что контролеры до 1500р. отпадают...
может я чего-то не допонимаю, но теоретически должно быть так. При подключении ардуины к роутеру должно появиться новое устройство /dev/ttyUSB0, через которое и отправляются пакеты (RX TX)...
Эт через uart напрямки, а я про юарт через юсб
столько и стоит) подключить к нему ардуину, я так понимаю, труда не составит. RXTX на плате разведены. Но можно и по юсб же подключить? Поправьте меня если я не прав.
Я подключал Arduino как через RX, TX на плате роутера, так и через USB, в обоих случаях прекрасно работает.
Роутер имет USB Host
в обоих случаях прекрасно работает.
Да я то и не спорю) Вопрос вам. Как туда сервер запихнуть? Что там за операционка? читал, что там просто wrt прошивка - а это какой-то донельзя урезанный линукс . Какие репозитарии у него, какое ядро? Что за сервер туда можно поставить? Сможет ли вебкамеру вещать?
Заливается в роутер Линукс OpenWrt ядро 3.3.8-1
Я ставил из репозитория http + php + mysql и ftp сервер
Есть также пакеты для работы вебкамеры, USB монитора, клавиатуры, мышки, торренты, IPTV и т.д.
Заливается в роутер Линукс OpenWrt ядро 3.3.8-1
Я ставил из репозитория http + php + mysql и ftp сервер
Есть также пакеты для работы вебкамеры, USB монитора, клавиатуры, мышки, торренты, IPTV и т.д.
круть) прям rasperry pi получается)
через лан точно проще реализовать будет, мне например как начинающему, на основе примеров, да и лан-шилд не дорого стоит, размороженная система отопления точно дороже будет :)
Ethernet Shield v2 примерно 1200-1300р
соглашусь - ничего сложного через LAN нет. Перепрошивать роутер куда сложнее.
Кстати если есть месяц то за шилд на визнете можно уложиться в 400р :) www.buyincoins.com/new_en/details/ethernet-shield-w5100-for-arduino-2009-uno-mega-1280-2560-product-13785.html
а если не упираться в визнет, то и вовсе в 200р www.buyincoins.com/new_en/details/new-enc28j60-ethernet-lan-network-module-schematic-for-arduino-51-avr-lpc-stm32-product-9026.html
Второй вариант сам проверял - работает отлично
имхо роутер не тянет веб камеру - если только цеплять IP камеру и с нее транслироват в веб сервер (апач и т.п.), выдавать страницу
Кстати если есть месяц то за шилд на визнете можно уложиться в 400р :) www.buyincoins.com/new_en/details/ethernet-shield-w5100-for-arduino-2009...
а если не упираться в визнет, то и вовсе в 200р www.buyincoins.com/new_en/details/new-enc28j60-ethernet-lan-network-modu...
какие то совсем чумачечии цены...везде езернет шилды по 1200 руб. и т.п. лежат
соглашусь - ничего сложного через LAN нет. Перепрошивать роутер куда сложнее.
Не соглашусь
Роутер перепрошивается, без заморочек за пуру кликов, через веб интерфейс, Вы скорее всего этого ни разу не делали.
Сравнивать ethernet shield c операционкой LInux, это все как сравнивать мерседес с таврией.
имхо роутер не тянет веб камеру
А вы пробывали подключать к нему камеру?
Не соглашусь
Роутер перепрошивается, без заморочек за пуру кликов, через веб интерфейс, Вы скорее всего этого ни разу не делали.
Сравнивать ethernet shield c операционкой LInux, это все как сравнивать мерседес с таврией.
Мудрость гласит - никогда не делайте поспешных выводов
Прошивал и не раз и с dwrt знаком не по наслышке и с линуксом на ты с его самых первых версий в начале 90х
Я имел в виду не саму техническую прошивку. Я имел в виду, что програмирование ПО под роутер (об этом же идет речь) сложнее так как разбираться придется с куда более сложной системой чем ардуина. Но это мое личное мнение.
А мое общение с линуксом было в первые когда я прошил этот роутер и мне хватило нескольких часов что бы все настроить и разобратся.
P.S.
Оцените его размеры, он даже меньше чем Arduino Uno
А мое общение с линуксом было в первые когда я прошил этот роутер и мне хватило нескольких часов что бы все настроить и разобратся.
Рад за Вас ;) может тогда и ардуина не нужна? Железные входы выходы прикрутить и програмно управлять ими прямо из линукса
Я бы отказался от Arduino, но припаяться к IO пинам роутера невозможно.
Я бы отказался от Arduino, но припаяться к IO пинам роутера невозможно.
Есть же готовые расширители портов через USB, у того же мастеркита. Например www.chipdip.ru/product/mp710.aspx
Еще как вариант взять переходник USB<->LPT. Я к чему, если логику можно зашить в роутер, то смысловой нагрузки аардуина нести не будет и тогда либо использовать ардуину как расширитель портов либо использовать готовый "железный" расширитель
Я лучше Arduino Nano буду использовать чем расширитель за 1300 руб
Так как часть обработки может выпорнять еще и arduino
Еще как вариант взять переходник USB<->LPT. Я к чему, если логику можно зашить в роутер, то смысловой нагрузки аардуина нести не будет и тогда либо использовать ардуину как расширитель портов либо использовать готовый "железный" расширитель
все верно, НО ардуино это - удобство, простота, сообщество, куча готовых примеров, и куча готовых шилдов и т.д. можно продолжать диферамбы...
все верно, НО ардуино это - удобство, простота, сообщество, куча готовых примеров, и куча готовых шилдов и т.д. можно продолжать диферамбы...
Согласен, жаль ардуину использовать как тупой расширитель портов, без логики
Я лучше Arduino Nano буду использовать чем расширитель за 1300 руб
Так как часть обработки может выпорнять еще и arduino
ну чипдип не дешовое место, такую штуку наверняка можно найти в разы дешевле )
а в чем смысл часть обработки делать на ардуине если все, как Вы говорите, легко програмируется на более крутом роутере? Зачем на таврии ездить если есть мерседес? :)
Что лучше иметь мерседем и таврию или только мерседес?
Что лучше иметь мерседем и таврию или только мерседес?
это очень индивидуально ) по мне таврия нафиг не нужна, если есть мерседес
На таврии можно стройматериалы для ремонта квартиры подвозить , а ты предлагаешь поставить багажник на крышу мерседеса
А если серьезно, то никто не предлагает отказыватся от Aduino .
Если человеку уже умеет программировать на ардуино, то пускай его и использует, а роутер (уже настроенный) может использовать как сервер с веб интерфейсом, через который можно удаленно будет управлять своими поделками
Вот пример не доделанной веб морды управления домом
Теперь я могу удаленно управлять своим домом из любого места и с любого устройства, имеющее интернет и браузер
А если серьезно, то никто не предлагает отказыватся от Aduino .
Если человеку уже умеет программировать на ардуино, то пускай его и использует, а роутер (уже настроенный) может использовать как сервер с веб интерфейсом, через который можно удаленно будет управлять своими поделками
Вот пример не доделанной веб морды управления домом
Теперь я могу удаленно управлять своим домом из любого места и с любого устройства, имеющее интернет и браузер
Теперь я могу удаленно управлять своим домом из любого места и с любого устройства, имеющее интернет и браузер
дело хорошее )) я тоже могу управлять почти всем и вся. Я сначала для построения умного дома выбрал коробочные решения на базе zwave и контроллера Vera3 от micasawerde. Этот контроллер тоже на базе линукса. Используя все это я выстроил управления всем освещением и частью других электроприборов, настроив сцены по времени суток, освещенности, температуре, датчикам движения и т.д. Ко всему этому есть готовый интерфейс управления как с компьютера так и с телефона. Очень развитая система, самому такое написать будет очень дорогого стоить. Но ардуина в моей жизни возникла, когда я захотел расширить границы своего проекта умного дома шире. Например первое устройство которое я сейчас сделал - это устройство по передаче данных расхода воды на контроллер умного дома (чтобы каждый месяц для снятия показаний не залезать в стояки), оно же сигнализирует на умный дом и дальше СМС по факту срабатывания системы против протечки воды и оно же позволяет с умного дома управлять закрытием-открытием кранов на стояках. Все это не возможно было осуществить с готовыми решениями умного дома. И таких идей у меня масса :) Именно для них я занимаюсь ардуинами и avr-ами.
Vera это тоже роутер с OpenWRT и платить за него 300$ не каждый захочет.
У веры есть куча недостатков, например тормазнутость интерфейса, отсутствует возможность управлять своими устройствами на бызе того же Arduino и т.д.
Я же предлагаю всем обьеденится всем сообществом и вместе использовать открытую и не дорогую систему, делится наработками и опытом
Я попробую слить веб интерфейс с веры и залить его MR3020, мне кажется что все должно работать
Так же могу закупать роутеры настраивать их для работы с ардуино, веб мордой, камерой и продавать их по разумной цене
Vera это тоже роутер с OpenWRT и платить за него 300$ не каждый захочет.
У веры есть куча недостатков, например тормазнутость интерфейса, отсутствует возможность управлять своими устройствами на бызе того же Arduino и т.д.
По цене смотря с чем сравнивать. Вера самый недорогой контроллер сети zwave. Сами устройства zwave тоже не дешовые, выключатель стоит от 40 долларов. Если оборудовать большое помещение, 300 долларов за веру будут не большой прибавкой.И в общем нужно сказать, умный дом не для бедных )
Тормознутость интерфейса меня мало смущает, я им напрямую пользуюсь только когда настраиваю сцены, а вот тормознутость самих сцен - да, большой недостаток. Но не факт, что если сделать что-то похожее самому, оно с ходу получится лучше.
По последнему пункту не соглашусь. Вера как раз очень гибкая в части настройки управления чем угодно и у меня она управляет ардуиной по беспроводному интерфейсу.
Интересно, если к этому роутеру подключить usb bluetooth донгл, будет ли он работать?
P.S. Ответ нашел сам (в смысле проверил сам :) ), работает вся перефирия, которую подключал (usb bluetooth, usb audio)
Я жду звуковую карту , хочу сделать управление при помощи голоса
Я жду звуковую карту , хочу сделать управление при помощи голоса
Эммммм, а подскажите, как с помощью такой звуковухи голосовое управление получить??
Звуковая карта нужна только для того что бы подключить микрофон к роутеру, на роутере нужно будет писать программу для записи FLAC и отправлять его в google для распознавания
в google для распознавания
интересно будет посмотреть. я так понимаю алгоритм следущий: запись звука->обработка на компе->отправка на сервер гугла->обработка на сервере->приём на компе. Так получается? Задержка большая? И если не сложно, дайте ссылку по теме.
А комп для чего? Я планирую сделать все на роутере.
На компе делал пол года назад, задержка на нем только из-за того что микрофон автоматически определяет паузу и для этого ему нужно около 2-х сек. Вот видео на котором используется распознавние голоса Google
Сейчас алгоритм у гугла поменялся, теперь можно отправлять голос на лету мелкими пакетами
И если не сложно, дайте ссылку по теме.
Распознавание речи на STM32F4-Discovery
Все-таки существует какое-то "общее поле идей" :) Только "о я круть задумал", как сразу же начинают появлятся статьи и обсуждения на эту тему:)
Я вот планирую попробовать сделать аналогично этой статье только на ардуино mega+enc28j60+Music Shield
Music Shiled для захвата голоса и кодирования (он железно умеет это делать). Можно и подешевле что-нибудь взять (или вообще без шилда обойтись), на более младших чипах. Он достаточно дорогой потому что еще MIDI неплохо синтезить умеет. Просто "он есть у меня".
Правда думал что прийдется какое-то локальное распознавание мудрить. Для активации. Хотя-бы на одно слово "команда". Что-бы не гнать постоянно поток гуглу. Трафик, да и, фактически, без активации, выйдет прямая трансляцию гуглу всего что в комнате говорится. Итак слишком много знает он про нас :)
Ну на крайняк думаю сделать "два хлопка" детектить, и уж с них начинать запись-распознавание.
Правда думал что прийдется какое-то локальное распознавание мудрить. Для активации. Хотя-бы на одно слово "команда". Что-бы не гнать постоянно поток гуглу. Трафик, да и, фактически, без активации, выйдет прямая трансляцию гуглу всего что в комнате говорится. Итак слишком много знает он про нас :)
Ну на крайняк думаю сделать "два хлопка" детектить, и уж с них начинать запись-распознавание.
Локальное распознавание можно сделать на EasyVR, но это дополнительное железо.
На ардуино локального распознавания не сделать по причине маленького обьема оперативки
Можно сделать автоматический тригер реагирующий на громкий звук, детектировать его по длительности и по амплитуде, после этого отправлять фразу гуглу
Мне кажется что лучшего решения чем роутер за 20$ еще нет
Локальное распознавание можно сделать на EasyVR, но это дополнительное железо.
Это понятно. Не просто "дополнительное", а "дополнительное узкоспециализированное", в отличие от, скажем Ethernet шишлда, который много где может пригодится. На Easy и проблемы-то нет :) Уже все сделали за тебя.
На ардуино локального распознавания не сделать по причине маленького обьема оперативки
Возможно вы правы. Я, пока, вообще плохо представляю как алгоритмически/математически это делается. Но теплится надежда, что за счет использования, например, SD карты и того факта что нужно распознать одно слово- получится выкрутится. Причем не просто "одно слово", а "одно конкретное слово" (у него могут найтись какие-то легкодетектируемые признаки).
Можно сделать автоматический тригер реагирующий на громкий звук, детектировать его по длительности и по амплитуде, после этого отправлять фразу гуглу
Да. Как я говорил, именно с этого я и собираюсь начинать. Детектить "два хлопка" в ладони.
Я, пока, вообще плохо представляю как алгоритмически/математически это делается. Но теплится надежда, что за счет использования, например, SD карты и того факта что нужно распознать одно слово- получится выкрутится. Причем не просто "одно слово", а "одно конкретное слово" (у него могут найтись какие-то легкодетектируемые признаки).
Для распознавания используют нейронные сети. Понадобится как минимум создать нейронную сеть, обучить ее нужным фразам и разными голосами. Если у нас одна короткая фраза будет занимать 1000 байт, то у каждого нейрона перврго слоя должен быть массив по 4000 байт. Нейронов перврого слоя должно быть как минимум 30-50(30х4000=120000байт), еще нужны массивы нейронов скрытого слоя. Если ссве на флешке организовать, то будет очень долго думать
Понадобится как минимум создать нейронную сеть, обучить ее нужным фразам и разными голосами.
Ну, нейронные сети - не единственный подход. Но самое главное - мне не нужно его учить "нужным фразам" (да и один голос меня устроит). Мне нужно ОДНО КОНКРЕТНОЕ СЛОВО. Слово "команда". Все. Больше ничего. Вполне возможно что оно имеет какие-то характерыне всплески в спектре. И это достаточно будет что-бы его опознать. Если не имеет, можно попытатся другое слово, например "дУина". Покороче какое-то подобрать подходящие по смыслу и т.п. Например английское "Do" и т.п. Или вообще без смысла. Лишь бы короткое и легко детектилось в качестве активатора. Дальше в игру вступает гугл (в том числе и для перепроверки слова). Так что "ложный детект" не очень страшен (главное не пропустить).
P.S. Но мы немного убежали от изначальной темы ветки. Логичней было-бы это тут обсуждать. Просто упомянули тут про гугл в качестве voice движка, вот и я не выдержал. дал ссылку где "это уже пробовали".