arduino управление через веб браузер
- Войдите на сайт для отправки комментариев
доброго всем времени суток недавно приобрел роутер асус wl-500Gp v2, приобретение данное было не спроста , а с заведомо планировоной установкой на него альтернативной прошивки дабы расширить его потенциал. А также очень интересуюсь домашней автоматизацией собственно цель организовать связку ардуино + роутер но с определенным тех заданием: заводим на роутере веб сервер (lighttpd + php + mySQL) подключаем к роутеру ардуино (либо уарт либо usb) и управляем ардуиной через установленный веб сервер (некий CMS) , дабы обеспечить полную связь роутера и ардуино, как прием так и передачу определенных команд для включения нагрузок к примеру а в обратную сторону например передачу данных температуры и обратную связь исполнительных устройств. На данный момент реализован веб сервер на роутере далее нужно определить как быть далее на чем сейчас ступор. как организовать взаимодействие веб сервера и ардуино поведайте какие существуют принципы и примеры организации такой связки
Разрешите присоединиться к обсуждению)))) имею точно такой же роутер асус wl-500Gp v2 с альтернативной прошивкой.
присоендиняйтесь конечноже! чем больше заинтересованных тем маштабней и быстрее мы сможем решать интересующие нас вопросы :) какую прошивку используете? какие доп. возможности реализуете на роутере?
Я им уже где то пол года не пользуюсь. Ставил на него прошивку от Олега. Бытался сам разобраться как это сделать на специальном форуме. Так не разобрался досконально и ничего не получалось. Я на форуме нашел специальную прогу которая сома все манипуляции выполняет и поставил себе целый комплект программ на роутер. Но чаще всего пользовался торрент клиентом. Потом подкрутил функцию отправки смс. Очень удобная вещь как оказалось.
Давно хотел освоить просторы web да что то вот всё никак))) была ещё идея и где то я видел в интернете что можно на роутере разместить сайт и обмениваться данными с arduino по usb. НО я думаю что это не очень удобно так как дальше 5 метров от роутера arduino не оттащиш.
Кроме того мне нужно ещё кое какую проблему решить.
почему я выбрал такой принцип аорганизации домашней автоматизации:
1. роутер автономное устройство весьма стабильно для таких задач, весьма доступно обладает багатой переферией (USB, UART, ETHERNET, Wi-Fi) очень много как мануалов так и отдельных статей как реализовать весьма интересные проекты.
2. ПО роутера: весьма известная продвинутым юзерам прошивка, а именно Linux операционная система DD-WRT. Почему дд-врт? лиш потому что масса примеров интересных реализация богатый асортимент настроек веб интерфейся да и просто понравилась как выглядит + полностью реализована необходимая связка lighttpd + php + mysql
3. Почему именно web интерфейс контроля - потому что весьма удобно управлять всей системой можно будет с любого устройства имеющего доступ в интернет или прямое подключение к роутеру (ПК, КПК, Планшет, моб.телефон, смартфон, ноутбук ...). Когда я дома - управление через вайфай или эзернет, кокда не дома это 3g gprs всевозможные мобильные виды интернета (обязательно наличие внешнего айпи адреса от провайдера для того чтобы роутер можно было видеть из вне) вобщем крайне удобно :)
Полностью согласен со всеми пунктами. Сам также думал. По поводу внешнего ip/ на форуме том есть статейка что можно зарегаться на каком то сервисе и кое что прописать в роутере (я уже не помню). Роутер конектится к сервису а сервис выделяет внешний ip(всё это бесплатно). Но это не со всеми провайдерами работает.
я так понял вы хотите подключить ардуину к роутеру через эзернет шилд? что по поводу подключения ардуино через усб и отнесением ее от роутера на 5ть метров максимум не соглашусь тк как есть более дешевые варианты реализации например и у роутера и у ардуины есть пины UART, UART можно превратить во что угодно я на данный момент хочу попробовать реализацию RS-485 (Profi BUS, Mod BUS) промышленная шина данных которая работает аж на несколько километров и скоростей для ардуино за глаза. Или какие либо беспроводные приемо передатчики Xbee например но он дороговат.
по поводу фишки отправки смс? поделитесь как это работает?
По поводу смс. Всё шаманство на форуме. А так в целом механизм. На гугл есть фишка что можно настроить так гугл календарь (где ты пишешь свои встречи и т.д) может отправлять заранее смс чтобы ты не пропустил встречи. Так вот роутер по завершению закачки конектится к этому календарю. Создаёт событии с какими-то параметрами и через 1 минуту календарь отправляет тебе смс)))))
Про внешний ip
Вот тут ещё
огромное спасибо изучу, также вот еще материал для раздумий owfs.org/index.php реализация микро сети 1-ware коротко о сети любой кабель 3х жильный либо 2х жильный восновном используют телефонный 4рех жильный но некторые не брезгуют и витой парой вобщем кабель не суть главное принцип: сеть арганизуется следующим путем, в сеть включается мастер (какойто конкретный элемен напишу поже) мост между usb(uart) и самой сетью (а также исполнительные устройства) это термо датчики силовые ключи напоминают собой полевой транзистор но вся фишка в том что ключи и датчики а также элеменыты сьема логического сигнала имеют некий адрес тоесть они адресуемы. принцип такой мастер ищет в сети нужный ему адрес определеного элемента посылая ему спец импульсы на что тот отвечает и выполняет то под что он заточен камутирует рэле либо чтото еще, также и с термо датчиками и тд и тп... принцип включения в сеть шина - если на пальцах то это как раньше сеть в компьютерных клубах по коаксиальному кабелю одна общая шина от которой идут ветки в каждый комп также и тут длинна сегмента (кабеля ) порядка 300 метров что для квартиры да и дома за глаза единственный минус так это низкая скорость работы сети - но на повседневных операциях это не как не скажется (включение света мне кажется совсем не кретично и счет тут не идет на мили сикунды от того когда вы нажмете на конпку и когда включится лампочка)
Про внешний ip - ссылка открывается криво :( шрифты неотображаются как у вас? полная страница каракуль (( весь сайт не отображает русккие шрифты в чем может быть дело?
Про сеть 1-ware: читал много раз. Но кроме датчика температуры, ibatton, и часов реального времени ds1307. Ничего не реализовано. Так что если будем строить что я тоже хотел но потом забил из за не очень дешёвых деталей. То я ЗА
Про сайт. Там проблема в кодировке. У меня тоже самое. Как исправить. У меня на опере. Страница – кодировка – кириллица – windows 1251
что вы имеете ввиду что именно не реализованно? 1-ware для нас мне кажется очень хороший вариан, если есть еще какие либо альтернативы данной реализации сообщите я тоже сейчас работаю в данном направлении. На данный момент работаю над тем как зажеч светодиод на 13 пину дуины через веб сайт установленный на роутере далее хочу найти альтернативы эзернет шилду как утащить дуино от роутера на приличное растояние, главный критерий цена и простота конструкции. И нада определиться с принципом реализации я предлагаю работать над вариантом основная шина и к ней подключаемые модули как реализуется 1-ware также если есть какието иные идеи также прошу поделиться
«что вы имеете ввиду что именно не реализовано?»
Я хотел что для сети 1-Wire очень много датчиков и устройств. Готовый код и решения для arduino которые я нашёл в сети я перечислял. Остаётся главное на мой взгляд. То что не нашёл как программно реализовано управление нагрузкой.
Про 13 пин: я нарыл код программы для arduino и кое как переделал. (это работа с эзернет шилдом). В результате в браузере отображалась кнопка по нажатию на которую включался или выключался светодиод.
Про реализацию: раньше думал даже что то искал в инете и начел строить макет))). Но пока остановился так как в моей идее был езернет шилд а я в нём не очень хорошо разобрался. Идея: я хотел отойти от централизации всех вычислений в одном месте так как если «мозг» выйдет из строя по каким либо причинам не будет ничего работать (это управление розетками например. Подача чего либо и т.д (это я рассуждал на примере умного дома)). По этому я предположил. Что на каждую комнату сделать устройство на основе arduino с экраном и кнопками управления к которому бы вешались все датчики, розетки и т.д только этой самой комнаты. Также и в других комнатах. Эти все устройства обеднялись бы по витой паре в роутере на котором есть сайт и управляющей сценарий всеми устройствами. Так сказать иерархия: роутер главный устройства «подчиненные» но когда роутер выходит из строя устройства работают независимо.
Это основной принцип моей идеи. Как то так. Что то я много написал)))
принцип ваш интересен и логичен за основу соендинения вы решили взять езернет шилд как я понял но для каждой комнаты эзернет шилд дороговат да и витую пару нада разводить по всей квартире но идея (среда соендинения ) имеет право быть я полность с вами согласен мысль интересна, полностью соглашусь с вами и перестроюсь в это же направление на автономные устройства центролизируещиеся на роутере но давайте обсудим альтернативные варианты соендинения этих автономных контроллеров комнат не только эзернет хотябы попробуем вертуально реализовать соендинив роутер с ардуино через усб и зделаем макет того самого контроллера комнаты расширить до нескольких я думаю будет не сложно главное найти не дорогой способ их обьединения на роутере давайте по мозгуем как это реализовать и поработаем над одним таким автономным контроллером комнаты что он должен контролировать и чем управлять и что отслеживать набрасайте свой вариант :) а я набрасаю свой
Соединение устройств c роутером.:
Самое главное это все компоненты должны быть стандартными!!!!! И по очень НИЗКОЙ ЦЕНЕ!!!! Это основная концепция разработки чего либо. Так как если запчасти будут стоить очень дороги и они будут не стандартными то эта система никому даже даром не нужна!
Usb: самый дешевый вариант это 5 метров. Как не крути это мало.(( к тому же на роутере всего 2 usb входа.
Соединение по проводам 1-Wire (а точнее по телефонному проводу): идея очень даже не плохая но необходимо строить специальное устройство которое преобразовывала сигнал в usb для роутера.
Витая пара: я выбрал её за основу по нескольким принципам
1) Можно делать достаточно длинное соединение
2) Ненужно никаких преобразователей сигнала
3) Их можно объединять в хаб!!!!!! (например по этажам) и провод от хаба в роутер
4) Езернет модуль можно купить самый маленький (для макетной платы) я думаю он не дорогой (если покупать на ebay).
Радио модуль я не рассматриваю так как он всё равно дороже (мне кажется) + если устройство в бетонных помещениях то сигнал может быть слабым либо вообще отсутствовать.
Предположим что мы договорились)))) и соединили роутер и arduino.
Далее.))) К arduino (устройство) я предполагал для начала прицепить датчик температуры в помещении, выключатель люстры, люстру и розетки(причём они немного не обычные. А именно на розетке должен быть светодиод который показывает включена ли розетка или нет. И маленькая кнопка. При нажатии на которую по 1-Wire подавался бы сигнал arduino об включении или выключении розетки. Тем самым мы убиваем 2 зайцев меняем состояние розетки в arduino и никуда не надо ходить чтобы оперативно крючить розетку).
С люстрой и выключателем для неё всё тоже самое. Только я предполагал что ардуино будет висеть в комнате на открытом месте и встроить туда ик датчик и пользоваться пультом для включения розетки или люстры.
С датчиком температуры всё понятно.
Сам arduino: на лицевой стороне имеются экран монитора и кнопки управления. На мониторе отображается дата, время, температура, состояние розеток и может ещё что то.
Общение arduino и роутера.: я ещё конкретного ничего не придумал. Роутер задаёт запрос о состоянии arduino (состояние датчиков и т.д) получает ответ. Отчёт предоставляет на сайте (расположенном в роутере) а также отдаёт команды arduino (это пока я вообще туманно представляю) в зависимости от сценариев пользователя (вкл/выкл обогревателя от состояния температуры). Также роутер отправляет смс отчёты о нештатных ситуациях (срабатывания охранного датчика).
Как то так я вижу эту систему. Возможно она не совершенна (что скорее всего). И я плохо представляю себе общение роутера с arduino (только потому что я не знаю web технологий и пока не могу себе представить что может arduino с езернет шилдом))).
Идея не плоха но всё же очень туманна (мне кажется) и сложна в реализации.
Лично я до появлении твоей темы на форуме хотел боле менее разобраться с езернет шилдом и sd картой чтобы понять как это всё работает. Хотел на sd карту записать несколько html чтоб в браузере отображались красиво все порты arduino и ими можно было динамически управлять.
теоретически я сообразил как организавать управление ардуиной через веб а точнее подглядел собсвенно выглядит это следующим образом на сервере должен быть установлен полный фарш php apache (lighttpd) mySql + питон с библиотекой pySerial непосредственно через программу (скрипт ) на питоне и обрабатываются все операции следуюсчим образом: библиотека pySerial работает с вертуальным ком портом (физическим USB) либо уартом роутера (см. на плате), и обменивается данными с нашей дуиной, а другая библиотека ...php чтото там реализует пхп запрос и обращение к базе данных если требуется (например для хранения данных датчиков) пример работы вот тут, но без пхп http://cyber-place.ru/showthread.php?t=193 в то время со стороны ардуино формируется некий GET запрос к веб серверу чтото вроде того повторюсь все только в теории и очень поверхностно толком сам еще не понял :) но уверен капать нада в эту сторону ))
п.с. пример ардуино + лсиди + пхп arduino.cc/blog/category/languages/php/page/2/ - чтото вроде отправки сообщений с сервера на лсиди дисплей :) связка остается пока через уарт или усб.
+ почитал про технологию x-bee zigbee впечатлило но приемопередатчики дороговаты поискать нужно бы альтернативу более дешевую
www.wireless-e.ru/articles/diapasons/2009_2_32.php - весьма кстати и цена не более 300-500р за модуль )
Опять же. Придётся строить ответное устройство для радиомодуля.
что ты имееш ввиду по конкретней?
предлагаю отбросить сейчас лишнее и упорно занятся включением светодиода через для начала хтмлку на роутере тебе под силу постовить на роутер веб сервер ? ардуина должна будет пока подключаться через усб думаю сначала стоит проработать этот вариант ? как считаеш?
приведенные мной радио модули будут грубо говаря работать усб удлинителями для ардуины :) намного больше чем 5ть метров и без проводов решение это весьма удачное тк как есть модули с SPI а есть и с UART так вот к примеру берем те что с уарт и подключаем к роутере либо через усб-ттл (усб-уарт ft232rl та что на плате ардуины) либо прям встраиваем в роутер прямым подключением к пинам уарта роутера п.с. цена модулей весьма весьма доступна
Как ты соединишь радиомодуль arduino с роутером?
p/s/ почему когда происходит чтение с sd карты и последующее передача информации в браузер. В браузере отображаются все буквы через п р о б е л ?
повторюсь берем два трансивера (приемопередатчика) с уарт интерфейсом один вешаем на tx rx дуины друго через ft232rl подключаем к усб роутера либо вскрываем роутер находим колодку уарт и вешаем прям на него у нашего роутера 2 уарта один свободен для наших изврощений второй консоль линукса
насчет эзернет шилда нечего сказать не могу не юзал не разу отпугивает цена :( так бы купил но чтото кажется он мне бесполезным ибо зачем 8битному МЦУ 100мбитный канал? глупо я считаю тенденция просто паблик хочет езернет разработчик дает эзернет что на практике 115200 кбит для ардуины за глаза просто по поводу пробелов могу лиш предположить ведь эзернет шилд построен на pic контроллере заточенный под ip стэк может быть дело в нем?
ОКе!)
давай пока проработаем простой вариант зажем светодиод на 13 ноге через веб для начала через хтмлку потом можно попробовать через пхпшку думаю пока это будет более ценный опты хардварной части каснемся позже нада для начала от чегото отталкнуться чтото получить потом подбирать железо благо я думаю с ним проблем не возникнет :) а если возникнут то менее тяжелые :) попробуй поставить себе на роутер веб фарш я делал по этому мануалу
http://www.dd-wrt.com/wiki/index.php/Router_Dir-320_DD-WRT_%2B_WWW_%2B_P... - более подробный главное вникнуть
http://we.easyelectronics.ru/Lifelover/prevraschaem-nedorogoy-router-v-d... - более обширный заслуживает внимания
возникнут проблемы с установкой пиши мной все этапы пройдены и проработаны ))
Ок. я начну только ближе к вечеру. Сейчас уезжаю. Это же описание для D-Link DIR-320
какая разница линук у всех одинаков тут просто мануал весьма подробный я используя его отстроил свой асус :)
Пока только перепрошил свой роутер на новую прошивку от Олега. Я так и не понял какие программы нужно ставить.
зря ты выбрал прошивку от олега я с ней бился нечего не добился, попробуй dd-wrt я все поднял на ней dd-wrt.com/site/support/router-database вписываеш модель роутера я прошился версией mega generic (поддержка usb устройств)
что касаемо устанавливаемого софта он перечислен в мануале просто выполняй все по пунктам
" Какие мы установим пакеты?:
optware (для установки программ)
lighttpd (веб-сервер)
php-fcgi (поддержка php)
microperl
phpmyadmin (База SQL с веб-админкой)
busybox (для Swap) "
Не хочет обновляться.
Пробовал dd-wrt.v24_mega_generic.bin
И dd-wrt.v24_mini_asus. trx
что говорит? на каком именно этапе загвоздка? просто точно не помню но такая загвоздка была, как производиш смену прошивки?
Захожу на web страницу роутера и там в спец разделе есть позиция сменить прошивку. Выбираешь файл и жмешь кнопку. Как я понял надо прошить dd-wrt.v24_mini_asus.
А потом dd-wrt.v24_mega_generic. Дело в том что эти 2 файла вообще не воспринимаются. Прошивки от Олега ставятся. Я даже перепрошил на стандартную от asus. А на эти файлы ругается.
ты под виндус?
)))) ну а под чем же
быть может линукс как у меня :) значит так, проблема в том роутер хочет расширение trx а у этих расширение bin тебе нужно шиться другим способом через tftp www.dd-wrt.com/dd-wrtv2/downloads/others/tornado/Windows-TFTP/tftp2.exe
что нужно зделать запастись прошивкой mega generic (навсякий случай либо иметь про запас родную либо ту которой пользовался до этого)
запускаеш тулзу tftp2.exe прописываеш адрес роутера (192.168.1.1) в след пункте выбираеш место где лежит прошивка
далее зажимаеш резет на роутере выдергиваеш кабель питания не отпуская кнопки резет вновь втыкаеш питание и за первые три секунды нада успеть нажать кнопку апгрейд (с первого раза может не получится) если получилось пойдет шкала заливки прошивки тут главное не спешить и выждать нужное время как прошьет подождать еще пару минут зделать резет путем выдергивания шнурка из роутера и вновь вставив его затем выждать момент первой загрузки около 5ти минут а далее все как обычно 192.168.1.1 в браузере п.с. какой у тебя способ подключения к интернету?
флэшку подготовил которая будет подключена к роутеру и использоваться как пространство для установки программ для роутера
модем воткнут в комп и роутер воткнут в комп))) а когда ресет отпускать?
перед тем как будеш готов нажать кнопку апгрейд на проге отпускаеш и тутже жмеш агрейд если не пошло жмеш еще раз там изначально 3 попытки попасть заложенно.
модем у тебя получает от провайдера айпи? динамический или статический? а как проходит процедура авторизации на провайдере? просто чтобы я дальше тебе мог подсказать что куда тыкнуть чтобы быстро настроить роутер
какойнибуть материал нашел чтобы попробовать включить светодиод через веб?
мне сразу mega generic писать?
да ставь сразу т.к только в ней есть поддержка работы с usb портами
Походу совсем чтото всё испортилось((( дошла шкала до половины и пропала. Хотел ещё раз попробовать а на роутере постоянно моргает пауэр
это режим загрузчика отключи питание на минутку и попробуй по новой это он врежиме востановления загрузчика у тебя точно asus wl-500gp v2 ?
))))) он у меня передомной лежит
Зашибись)))) перепрошил и всё на русском))) я нашёл лучший способ перепрошивки. Так сказать без геморроя)))
Это какаето хрень!!!! Сделал флеху. Вставил всё зависло и сейчас даже после перезагрузок выйти на страницу роутера не могу.
делай резет пока не замигает индикатор пауэр потом отключай питание жди пару минут и снова включай без паники это нормальное состояние попробуй другую флэшку и перепроверь действительно ли на ней все разделы такие какие должны быть а именно все активные 2 ext3 и 1 swap - линукс не виндус он требует внимательности к себе :) отвечаяя тебе космической надежностью и отлаженной работой но изаначально придется немнго попотеть мой опыт 3 дня было потраченно на то чтобы поднять эту прошивку еще пара затяжных вечеров-ночей нато чтобы отстроить сервер
как успехи?
Нууу роутер включился. Дошёл до самой первой позиции
вставляем:
gpio disable 4
sleep 5
........
мы так всё и оставляем как там написано. (я почитал. там для светодиодов которых у нас нет).
Вчера я устал его курочить так что продолжу сегодня)). Linux не для меня. Это просто секас какой-то. С прошивкой от Олега я тоже для 4 возился.
У меня не хочет запускаться web морда когда вставлена флешка.
400 Bad Request
Cross Site Action detected!
погугли по ошибкам gpio нам прописывать ненужно команды автозапуска у нас такие :
mount -o noatime /dev/scsi/host0/bus0/target0/lun0/part1 /jffs
mount -o noatime /dev/scsi/host0/bus0/target0/lun0/part2 /mnt
/opt/bin/busybox swapon /dev/scsi/host0/bus0/target0/lun0/part3
mount -o bind /jffs/opt /opt
/opt/etc/init.d/S45php start
/opt/etc/init.d/S80lighttpd start
/opt/etc/init.d/S70mysqld start
соответсвенно на шотдаун:
/opt/etc/init.d/S45php stop
/opt/etc/init.d/S80lighttpd stop
/opt/etc/init.d/S70mysqld stop
umount /opt
umount /mnt
umount /jffs
помысли логически если светодиодов нет значит их выбрасываем просто и все :)
у меня сетуация на данный момент такова :) пхп пока еще не получается но светодиод включать уже научился через консоль :) путем отправки данных ардуине ))) радости нет предела )))
возможно роутер не хочет твою влэшку повтори по манипуляции на другой
Таже фигня. Новая флешка и старую переформатировал. Вообще не отвечает роутер
вытащи и проделай впервую очередь это http://www.dd-wrt.com/wiki/images/4/42/Alastanka6.jpg
Я проделываю всё в точности как в описании. Но даже вытащив флешку и перезагрузив роутер выдёргиванием из розетки. Главная страница всё равно не отображается.