|
03.06.2011, 10:34 | #1 | |||
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Связываем Wi-Fi Роутер Asus wl500gp и Arduino
На текущий момент статья устарела, сейчас есть не дорогие, миниатюрные, с более мощным процессором роутеры WT3020
Обсуждение в разделе CyberWrt. Теперь благодаря CyberWrt роутер можно превратить в робота или любое другое устройство за 2 клика И для этого не нужно иметь специальных знаний, все настройки производятся из браузера Вашего ПК Автор статьи: natural. Предлагается такой способ автоматизации домашнего хозяйства при помощи wl500gp. Покупается arduino или его клон, я взял arduino nano (джидаи могут спаять такой сами ) Он представляет из себя avr-микроконтроллер с распаенным usb, размером 45х18мм. У arduino 14 цифровых входа\выхода, 8 аналоговых, таймеры, ацп и много другого интересного. С помощью скриптового языка python организуется связь роутера и мк. И так, для примера заливаем такой код в мк: PHP код:
Теперь осталось научить роутер общаться с arduino через usb. 1. делаем пассы руками над роутером: Цитата:
Теперь подключаем arduino. Выполняем: lsusb dmesg Должны увидеть упоминания про FTDI FT232BM. Значит все ок и роутер дал девайсу имя /dev/ttyUSB0. 2. Ставим python3. Как-то так: Цитата:
4. Теперь запускаем python3, и пишем в него (или то же самое можно делать в скрипте): Цитата:
Далее можете подключать к выводам мк реле, лампочки, моторчики, датчики, RFM-радиомодули, и т.п. и развлекаться с автоматизацией. Я, например, успешно научил Carduino работать с flash-памятью SST25vf010 по SPI-интерфейсу, программатора нет, а надо было прошить. Сейчас собираюсь прошить Carduino код чтоб работать с lcd дисплеем от motorola c350, благо есть успешный опыт его подключения к мк от тов. Pashgan, что на chipenable.ru. На экранчик можно будет выводить, например, количество свободного места на роутере, загрузку проца роутера, или температуру за бортом. Вобщем тема arduino интересная (http://www.arduino.cc/ тут народ много чего выделывает), arduino - автоматизация автомобиля. |
|||
04.06.2011, 10:29 | #2 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Продолжение про arduino+wl500gp. Проделана работа по подключению arduino к wl500gp и к lcd-экранчику от телефона motorola c350. Экранчик позволяет рисовать цветную графику.
Что из этого получилось см. на фото. Еще приатачен скрипт для python3. И проект к arduino. LCD показывает температуру от датчика DS18B20. Роутер периодически отправляет в arduino строку с количеством свободного места на диске и загрузке процессора. Для этого на роутере крутится скрипт на python3 и отсылает команды в роутер используя формат Firmata. Далее можете подключать к выводам arduino реле, лампочки, моторчики, датчики, RFM-радиомодули и т.п. и развлекаться с автоматизацией. распиновка lcd |
07.02.2012, 00:25 | #3 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Нашел интересную статью, выкладываю перевод
UberFridge является доморощенный регулятор температуры брожения пива, который я построил из моего старого холодильника. Он работает на Arduino Nano и маршрутизаторе Asus WL520GU. Он может контролировать температуру брожения пива с точностью 0,1°C . Температуру графиков и настроек можно просматривать в веб-интерфейс по WiFi. До сих пор мое пиво бродило в ведре на кухне. Поскольку пиво обычно бродит около 20° С, это нормально когда не жарко. Но прошлым летом мне пришлось остановить пивоварение на несколько месяцев, так как температура в доме поднялась до 26° C. Для того, чтобы варить круглый год и иметь больше контроля над температурой брожения я начал UberFridge проект. Краткий обзор возможностей, можно посмотреть на видео: Характеристики 2 датчика температуры: один в брожения пива и один в холодильнике. ПИД-регулятор пива температуры точностю 0,1° C Интеллектуальный датчик включения-выключения контроль за температурой холодильника, чтобы держать в диапазоне -0.5 до +0.5 ° C . Режимы работы: постоянная температура пива, постоянная температура холодильника или профиль температуры пива 4 × 20 символов OLED-дисплей Запись данных через USB в формате JSON и CSV Веб-интерфейс по WiFi Графики пива и история температуры холодильника Изменение режима работы и установки температуры Температурный профиль в течении долгого времени может быть установлен в таблицы Google Arduino можно перепрограммировать через веб-интерфейс Связь между подсистемами Самая большая проблема в создании моей бродильни в том, что она работает на самых разных уровнях, все с разными языками программирования. Я новичок в программировании на Python, PHP и JavaScript, так что я многому научился при создании этого проекта. Arduino- алгоритм контроля температуры и интерфейс на холодильнике. (C ++) Маршрутизатор- прошивка DD-WRT Linux с Optware с USB Flash 4GB . (Команды оболочки, в основном, выполняются на PHP) Python скрипт, выполняет на маршрутизаторе переговоры с Arduino через USB-порт и общается с веб-сервером через AF_UNIX . Температура регистрируется в файлах формата JSON для веб-сервера и CSV файлов для архивирования. (Python с gviz_api и pyserial) Маршрутизатор работает как веб-сервер Lighttpd для обеспечения веб-интерфейса, где можно рассматривать графики и настройки могут быть изменены. (PHP) Интерфейс создан с JQuery UI и API визуализаций Google. Графики создаются на стороне клиента, путем объединения нескольких файлов JSON в одной графе. Температурный профиль может быть создан в таблицы Google и загружены в холодильник по нажатию кнопки. (JavaScript + AJAX запросы к PHP) Исходники проекта |
07.02.2012, 13:11 | #4 | ||
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Зачем использовать Asus WL-500GU-маршрутизатор?
Чтобы раскрыть весь потенциал с открытым исходным кодом для маршрутизатора, вы можете установить DD-WRT и Optware. Это превращает роутер в WiFi + Линукс. Эта статья дает некоторые указания на действия, которые необходимо принять. Зачем использовать Asus WL-500GU-маршрутизатор? Asus WL-500GU маршрутизатор является одним из немногих DD-WRT подходящих маршрутизаторов, которые имеют порт USB. Это делает его отличным выбором для общения с Arduino. С концентратором USB подключенному к маршрутизатору можно подключить Arduino и USB Flash для хранения софта. Версия Asus WL-500GU имеет самую большую по обьему память, но Вы можете выбрать любой маршрутизатор Asus, и если вы хотите запустить памяти тяжелые скрипты Python то не забывайте про память. Я купил свой маршрутизатор б/у за 15 евро, сравните эту стоимость с WiFi и MMC шилдом для Arduino за 50 долларов каждый. Наличие маршрутизатора вместо шилда WiFi имеет много преимуществ: -Маршрутизатор может работать как веб-сервер -Много места для хранения (4 Гб), с файловой системой -Доступ к файлам через SSH -Маршрутизатор может быть WiFi клиентом в домашней сети или точкой доступа в отсутствие других сетей. Установка DD-WRT на маршрутизаторе Для установки DD-WRT на маршрутизаторе, чтобы раскрыть его потенциал, следуйте за этим руководством по DD-WRT вики . Я запускаю DD-WRT v24-sp2 (05/17/11) mini-USB, FTP ( SVN пересмотра 17084M NEWD Эко). Он упал в несколько раз, но пока стабильный. Я не знаю, является ли это лучшим выбором или нет? Сначала я следовал этому руководству по TodBot начал с DD-WRT и Arduino, но только до момента установки драйверов. Я не использую JFFS, потому что я использую USB Flash, а не во внутренней памяти маршрутизатора. Я также не использоваю прокси ser2net чтобы напрямую общаться с Arduino, но я запрашиваю JavaScript PHP что бы спросить Python и чтобы поговорить с Arduino. Мне потребовалось время, чтобы найти работающие драйверы, поэтому я их выкладываю здесь для вашего удобства. Я не делал заметки во время установки DD-WRT, поэтому, пожалуйста, используйте инструкцию для помощи. Установка Optware Optware превращает ваш маршрутизатор в полнофункциональный Linux, и даже больше возможностей, чем в DD-WRT. Он поставляется со стандартным веб-сервер Lighttpd, автоматическая установка для хранения USB и многое другое. Потому что она поставляется с менеджером пакетов очень проста в установке питона, pyserial, а все остальное мы узнаем позже. Просто для удовольствия я даже установил Irssi, клиента IRC, чтобы я мог общаться с моим холодильником. Работал очень хорошо на самом деле! До сих пор самый простой способ установить Optware является Optware, правильный путь к Брату. Для этого мне потребовалось некоторое время, чтобы выяснить: Цитата:
Цитата:
После установки Optware, отключить все услуги, которые Вам не нужны, так как для скрипта на Python будет нужно много памяти. Только сервисы я запустил автомонтирование, reloc_syslog, Lighttpd и fixtables. Наконец установил программы, необходимые для UberFridge с ipkg-OPT |
||
22.02.2012, 19:54 | #5 |
Banned
Регистрация: 22.02.2012
Сообщений: 77
Вес репутации: 0 |
У вас получилось запустить UberFridge ?
|
22.02.2012, 20:02 | #6 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Я не пробовал, это перевод немецкого проекта
|
02.04.2012, 17:33 | #7 |
Member
Регистрация: 12.03.2012
Возраст: 39
Сообщений: 51
Вес репутации: 0 |
Вау, WL-500GU для WiFi ардуины. Круто. Я вот что-то на WL-500GU не могу найти описание. Помогите плиз!
И еще - скажите - как роутеру посылать команды, чтобы они обрабатывались ардуиной? |
12.05.2012, 00:39 | #8 |
Senior Member
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1311 |
Ну попробуй вот здесь поискать
Отправлять команды можно вот так: Ставишь ser2net на роутер, вот это запихиваешь в автозагрузку ser2net -C "3001:raw:600:/dev/ttyUSB0:57600 NONE 1STOPBIT 8DATABITS -XONXOFF -LOCAL -RTSCTS" Далее... telnet 192.168.1.1 3001 ...и твоя команда ардуине... Последний раз редактировалось stD; 12.05.2012 в 00:56. |
13.06.2012, 20:33 | #9 |
Junior Member
Регистрация: 12.06.2012
Сообщений: 1
Вес репутации: 0 |
если проект жив то можно по подробнее описать как все действо происходит .
Интересует 1 файл post-boot если его вручную создовать то в какой директории /usr/local/sbin/post-boot если тут то как его создать 2 неполучается установить python3 выподает ошибка, root@DD-WRT:~# ipkg install python3 ipkg_get_install: ERROR: Cannot find package python3 in /jffs/usr/lib/ipkg/lists пакет Optware установлен Последний раз редактировалось andrei; 13.06.2012 в 20:54. |
14.06.2012, 14:29 | #10 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Это значит что нет такого пакета,
посмотри список доступных пакетов в репозитории opkg update opkg list |
Здесь присутствуют: 2 (пользователей: 0 , гостей: 2) | |
|
|