Форум обсуждения оборудования  

Вернуться   Форум обсуждения оборудования "Умный дом" > Форум умного дома > Сделай сам > OpenWRT

Результаты опроса: Если роутер прошит и настроен под Arduino, Вы купили бы его
Да 47 30.13%
Нет 22 14.10%
Куплю и сам настрою 87 55.77%
Голосовавшие: 156. Вы ещё не голосовали в этом опросе

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 19.07.2012, 03:12   #1
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 8,752
Вес репутации: 8949
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Ставим OpenWrt на миниатюрный WiFi роутер TP-LINK TL-MR3020

Статья про то как прошить и настроить роутер TP-Link MR3020 или TL-WR703N* для использования его в своих проектах.
Популярный проект WiFi робот

Так же wr703n и MR3020 можно прошить прошивкой CyberWrt, данная прошивка понравится тем кто не хочет использовать дополнительный софт(PUTTY, WinCSP и др.)
В этой прошивке встроен веб интерфейс , к роутеру можно подключатся через любой веб браузер,
Доступны все возможные модули благодаря которым Вы в считанные секунды, можете превратить свой роутер в
Видеорегистратор, Веб радио, Часы, Робота, WiFi контроллер и пр. и при этом не почувствуете что работаете с линуксом

Цитата:
Уважаемые пользователи. на прошивке Attitude Adjustment 12.09 есть баг или фича (скорее конечно фича) - при монтировании разделов созданных в OS Windows - необходимо чтобы они были Primary. В противном случае, если раздел будет Logical (даже есть он ext2-3-4) при попытке монтирования ваша железка зависнет и перезагрузится.
Название: tp.jpg
Просмотров: 95479

Размер: 8.5 Кб

Характеристики роутера TP-Link MR3020:
процессор Atheros AR7240 частотой 400 МГц
SoC: Atheros AR9330 Rev 1
32 Мб ram
4 Мб флэш-памяти
USB-2.0 Host
Wi-Fi 802.11 b/g/n 150Mbps
Ethernet-порт 100MBit
UART (на плате)
Питание осуществляется через мини-USB (+5В)
Максимальный ток с включенным Wi-Fi 150мА или 100мА без него.
Размер печатной платы: 5,7см х 5,7см
Размер роутера: 6,7см х 7.4cm х 2.2cm

Нажмите на изображение для увеличения
Название: tp-link.jpg
Просмотров: 2618
Размер:	130.8 Кб
ID:	440

1. Прошивка
Вместо заводской прошивки, зальем на него OpenWRT.
Сначала скачиваем новую прошивку от 21.09.12 (r33482) с этого форума. Подключаем роутер к компьютеру LAN кабелем (адрес по-умолчанию: 192.168.0.254), логин/пароль: admin/admin. Заходим через браузер в системные настройки, выбираем заранее скаченый файл прошивки, нажимаем кнопку обновить и ждем пока зальется. Во время прошивки не трогайте роутер и не отключайте его питание, иначе получите танцы с бубном или убитый роутер. После прошивки роутер уйдет автоматически в ребут. Теперь роутер получил адрес 192.168.1.1. Подключаемся к нему телнетом, я использовал Putty и получаем окно терминала
Нажмите на изображение для увеличения
Название: putty.png
Просмотров: 3907
Размер:	8.6 Кб
ID:	455

2. Начальная настройка сети
Открываем фаил network текстовом редакторе vi и пропишем в нем свои сетевые настройки:
root@OpenWrt:~# vi /etc/config/network

Настройки Секции config interface 'lan' должны выглядеть так:
Код:
config interface 'lan'
option ifname 'eth0'
option type 'bridge'
option proto 'static'
option ipaddr '192.168.1.99'    # новый IP роутера MR3020
option netmask '255.255.255.0'  # маска
option gateway '192.168.1.1'    # шлюз к которому будет подключаться mr3020
list dns '192.168.1.1'          # DNS1 сервер (головной роутер)
list dns '8.8.8.8'              # DNS2 сервер
Здесь подразумевается, что головной роутер имеет адрес: 192.168.1.1
Если у вас другая подсеть необходимо сменить сетевые адреса на вашу подсеть.

Для дальнейшей настройки роутера mr3020 необходимо его подключить по Ethernet к головному роутеру или ADSL модему получающему интернет.

Схема подключения
Нажмите на изображение для увеличения
Название: begin_net.png
Просмотров: 1383
Размер:	4.3 Кб
ID:	716
Еще нужно добавить строку в /etc/sysupgrade.conf для предотвращения перезаписи конфигов после ребута.
root@OpenWrt:~#echo "/etc/config/" >> /etc/sysupgrade.conf

Выполняем Reboot.
Ждем перезагрузки и проверяем подключение к Интернету:
root@OpenWrt:~#ping cyber-place.ru

Если пингуется:

PING cyber-place.ru (5.9.57.134): 56 data bytes
64 bytes from 5.9.57.134: seq=0 ttl=252 time=52.902 ms
64 bytes from 5.9.57.134: seq=1 ttl=252 time=52.017 ms
64 bytes from 5.9.57.134: seq=2 ttl=252 time=52.137 ms
64 bytes from 5.9.57.134: seq=3 ttl=252 time=52.376 ms
64 bytes from 5.9.57.134: seq=4 ttl=252 time=52.128 ms
64 bytes from 5.9.57.134: seq=5 ttl=252 time=52.166 ms

Прерываем выполнение нажатием клавиш Ctrl^C

Здесь нужно быть внимательным! т.к. использовалась прошивка от 21.09.2012 r33482 (с этого форума) для установки пакетов нужно поменять источник репозитория тоже на эту-же версию.
Правим файл /etc/opkg.conf
комментируем 1-ю строчку и добавляем свою
Код:
#src/gz attitude_adjustment http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages
src/gz attitude_adjustment http://cyber-place.ru/download/packages/
dest root /
dest ram /tmp
lists_dir ext /var/opkg-lists
option overlay_root /overlay
3. Подклчение внешней флэшки.
Казалось бы на этом все, но в своем распоряжении вы имеете очень маленький объем Flash памяти, всего 1.4 Мб, из которых свободно всего около 300 Кб! Этого не хватит даже LuCI установить. Выход есть, нужно подключить внешнюю USB флешку.
Для этого придется выполнить все что я написал ниже.


Начинаем установку пакетов программ!
Обновляем список пакетов и устанавливаем нужные нам пакеты:

root@OpenWrt:~# opkg update
root@OpenWrt:~# opkg install kmod-usb2
root@OpenWrt:~# insmod ehci-hcd
root@OpenWrt:~# opkg install kmod-usb-core kmod-usb-storage kmod-fs-ext4 kmod-scsi-core block-mount e2fsprogs fdisk


Посмотреть список установленных пакетов:
root@OpenWrt:~# opkg list-installed
...
...
kmod-scsi-core - 3.3.8-1
kmod-usb-core - 3.3.8-1
kmod-usb-ohci - 3.3.8-1
kmod-usb-storage - 3.3.8-1
kmod-usb-uhci - 3.3.8-1
kmod-usb2 - 3.3.8-1
kmod-wdt-ath79 - 3.3.8-1
...
...



Смотрим как флешка определась системой:
root@OpenWrt:~# fdisk -l
у меня USB Flash-диск определился как sda
Disk /dev/sda: 1018 MB, 1018691584 bytes
9 heads, 56 sectors/track, 3947 cylinders, total 1989632 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0004862f

Device Boot Start End Blocks Id System
/dev/sda1 2048 1989631 993792 83 Linux



Сначала создаем на USB Flash раздел:
root@OpenWrt:~# fdisk /dev/sda

Выполняем следующие команды:
Command (m for help): d
Partition number (1-4): 1

Command (m for help): d
Partition number (1-4): 2

Command (m for help): d
Partition number (1-4): 3

Command (m for help): d
No partition is defined yet!


Создаем раздел:
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p

Partition number (1-4): 1
First cylinder (27-122, default 27):
Using default value 27
Last cylinder or +size or +sizeM or +sizeK (27-122, default 122):
Using default value 122


Смотрим, что получилось:
Command (m for help): p
Disk /dev/sda: 1018 MB, 1018691584 bytes
7 heads, 8 sectors/track, 35529 cylinders, total 1989632 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0004862f

Device Boot Start End Blocks Id System
/dev/sda1 * 2048 1989631 993792 83 Linux

Command (m for help): a
Partition number (1-4): 1


Выходим:
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.


Раздел создан, форматируем его:
root@OpenWrt:~# mkfs.ext4 /dev/sda1

mke2fs 1.42.4 (12-June-2012)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
62208 inodes, 248448 blocks
12422 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=255852544
8 block groups
32768 blocks per group, 32768 fragments per group
7776 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376

Allocating group tables: done
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done



Монтируем новый диск и копируем на него все необходимое:
root@OpenWrt:~# mkdir -p /mnt/usb
root@OpenWrt:~# mount -t ext4 /dev/sda1 /mnt/usb -o rw,sync
root@OpenWrt:~# tar -C /overlay -cvf - . | tar -C /mnt/usb -xvf -


Правим фаил /etc/config/fstab:
root@OpenWrt:~# vi /etc/config/fstab

Нам нужно отредактировать секцию config 'mount':
config 'mount'
option target /overlay
option device /dev/sda1
option fstype ext4
option options rw,sync
option enabled 1
option enabled_fsck 0


Сохраняем, перезагружаемся, проверяем:
root@OpenWrt:~# df -h
Filesystem Size Used Available Use% Mounted on
rootfs 968.0M 51.9M 867.6M 6% /
/dev/root 1.5M 1.5M 0 100% /rom
tmpfs 14.2M 72.0K 14.2M 0% /tmp
tmpfs 512.0K 0 512.0K 0% /dev
/dev/sda1 968.0M 51.9M 867.6M 6% /overlay
overlayfs:/overlay 968.0M 51.9M 867.6M 6% /


Отлично!!! У нас теперь много свободного пространства, для установки модулей и утилит.

4. Последние шрихи.
Устанавливаем поддержку кодировок
opkg update
opkg install kmod-nls-cp1251 kmod-nls-koi8r kmod-nls-utf8 kmod-nls-cp866 kmod-nls-cp437



Детальное описание всего что устанавливалось на роутер TP-LINK

Примечание
Так как при работе с роутером необходимо постоянно что-то редактировать и изменять, очень удобно (вместо встроенного vi) работать используя WinSCP - это графический клиент SFTP (SSH File Transfer Protocol) для Windows с открытым исходным кодом. Он также поддерживает протокол SCP (Secure Copy Protocol). Предназначен для защищённого копирования файлов между компьютером и серверами, поддерживающими эти протоколы. Программа имеет встроенный редактор (но можно подключить и внешний). Есть также руссификатор программы.

Для работы по защищенному протоколу SSH, SCP необходимо задать пароль для пользователя root. Для этого необходимо в консоле дать команду: passwd и ввести ваш новый пароль (ввод не видим), затем повторить еще раз.

Это также позволит работать с Putty используя SSH протокол (22 порт).

Более детально можно прочитать здесь
Вложения
Тип файла: rar putty.rar (1.51 Мб, 1337 просмотров)
Тип файла: rar winscp513_setup.rar (4.80 Мб, 2835 просмотров)

Последний раз редактировалось andr128; 25.06.2013 в 17:10. Причина: правка источника пакетов
Admin вне форума   Ответить с цитированием
Старый 04.08.2012, 23:36   #2
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 8,752
Вес репутации: 8949
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию

Ручной метод прошивки с помощью TFTP
setenv ipaddr <device-ip, eg. 192.168.1.4>
setenv serverip <server-ip, eg. 192.168.1.2>
tftpboot 0x80000000 firmware-image.bin
erase 0x9f020000 +0x3c0000
cp.b 0x80000000 0x9f020000 0x3c0000
bootm 0x9f020000

Цоколевка UART
1-TX
2-RX
3-GND
4-VCC
Вывод 1 обозначен на плате.
Нажмите на изображение для увеличения
Название: tl-mr3020_top.jpg
Просмотров: 4134
Размер:	304.5 Кб
ID:	450 Нажмите на изображение для увеличения
Название: tp_link.jpg
Просмотров: 2058
Размер:	78.2 Кб
ID:	451
Чтобы получить надежное последовательное соединение, вам придется подключить подтягивающий резистор 10К между TX и VCC.

Настройки для доступа к консоли через UART будут следующие
Bits per second: 115200
Data bits: 8
Stop bits: 1
Parity: None
Flow control: None

более подробно здесь

После загрузки оригинальной прошивки , Вы можете нажать return для активации Linux
TL-MR3020 mips #185 Fri Oct 21 16:26:50 CST 2011 (none)
TL-MR3020 login: root
password: 5up



Увеличение объема оперативной памяти до 64мГб
В роутере используется чип памяти Zentel A3S56D40FTP DDR1 16Мбит х 16бит (16 * 16 = 256 Mbit. 256 / 8 = 32MByte) 400 МГц .
Его можно заменить его на любой 32Mbit х 16-битный чип. 333 вместо 400 МГц и роутер будет работает отлично. Правда сейчас довольно трудно найти такие чипы. Нужно искать ноутбучную планку памяти DDR-SODIMM.

Проверенные микросхемы памяти:
V58C2512164SAI5 (планка Kingston KVR400X64C3A/256)
Hynix HY5DU121622DTP-D43 (планка Mustang DDR-SODIMM на 512 МБ)
Hynix HY5DU121622CTP-D43 (планка Hynix SODIMM DDR-PC2700S-25330 на 512MB DDR 333 CL 2.5, 400 МГц чипы совместимы с "D43", маркировкой).
Infineon HYB25D512160BE (планка Infineon DDR-SODIMM на 512 МБ)

Не проверенные планки, но теоретически они должны работать:
PC400 HY5DU121622DTP-D43-C Hynix
PC400 H5DU5162ETR-E3C Hynix
PC400 K4H511638G-LCCC Samsung
PC400 K4H511638J-LCCC Samsung
PC400 A3S12D40ETP-G5 Zentel
PC400 NT5DS32M16BS-5Т Nanya
PC400 P3S12D40ETP-GUTT Mira
PC333 MT46V32M16TG-6T:F Micron
PC333 MT46V32M16P-6T:F Micron
PC333 EDD5116ADTA-6B-E Elpida
PC333 HYB25D512160CE-6 Qimonda
PC333 HYB25D512160CEL-6 Qimonda
PC333 HYB25D512160DE-6 Qimonda

Поле замены микросхемы памяти, роутер должен сам определить новый объем RAM 64мГб

Последний раз редактировалось andr128; 09.07.2013 в 20:58.
Admin вне форума   Ответить с цитированием
Старый 08.08.2012, 18:08   #3
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 8,752
Вес репутации: 8949
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию

Как прошить роутер в OpenWrt из командной строки?
Выбираем папку /tmp
cd /tmp

Скачиваем в папку /tmp совместимую с роутером прошивку
root@OpenWrt:/tmp# wget http://downloads.openwrt.org/snapsho...fs-factory.bin
Connecting to downloads.openwrt.org (78.24.191.177:80)
openwrt-ar71xx-gener 100% |*************************************** ******************| 3840k 0:00:00 ETA
[/I]

root@OpenWrt:/tmp# wget http://downloads.openwrt.org/snapsho...ar71xx/md5sums
Connecting to downloads.openwrt.org (78.24.191.177:80)
md5sums 100% |*************************************** **************************************** ***********************************| 27375 0:00:00 ETA


Проверить целостность файлов
md5sum -c md5sums

Прошиваем
mtd -r write /tmp/openwrt-ar71xx-generic-tl-mr3020-v1-squashfs-factory.bin firmware

Ждём пару минут, роутер после прошивки, уйдет автоматически в reboot

Оригинальная прошивка для роутера MR3020
Вложения
Тип файла: bin mr3020nv1_en_3_13_12_up(120615).bin (3.75 Мб, 3795 просмотров)
Admin вне форума   Ответить с цитированием
Старый 09.08.2012, 22:04   #4
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 8,752
Вес репутации: 8949
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию

Устанавливаем Midnight Commander
opkg update
opkg install mc


Для правильной работы MC, перед запуском нужно выполнить:
export TERMINFO="/usr/share/terminfo"
export TERM="xterm"
mc


Но что бы каждый раз не писать эти строчки перед запуском, то лучше прописать их в файле profile:

vi /etc/profile
export TERMINFO=/usr/share/terminfo
export TERM=xterm


Еще можно выбрать тип терминала в Putty


Midnight Commander должен выглядеть вот так:
Нажмите на изображение для увеличения
Название: mc.png
Просмотров: 10486
Размер:	15.5 Кб
ID:	453
Admin вне форума   Ответить с цитированием
Старый 10.08.2012, 00:02   #5
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 8,752
Вес репутации: 8949
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию

Устанавливаем Web Interface LuCI
opkg update
opkg install luci


Включаем и запускаем веб интерфейс
/etc/init.d/uhttpd enable
/etc/init.d/uhttpd start


Проверяем, из браузера с любого устройства, набраем IP адрес 192.168.1.99
Логин: root
Пароль: xxxx

Для руссификации Luci устанавливаем следующий пакет
opkg update
opkg install luci-i18n-russian

Нажмите на изображение для увеличения
Название: webface.jpg
Просмотров: 2501
Размер:	194.9 Кб
ID:	454
Admin вне форума   Ответить с цитированием
Старый 10.08.2012, 20:03   #6
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 8,752
Вес репутации: 8949
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию

Описание часто используемых команд в OpenWrt linux:

uname -a - Показать версию ядра Linux;
cat /proc/cpuinfo - Показать информацию о железе
cat /proc/meminfo - Показать расширенную информацию о занимаемой оперативной памяти
free -m - Информация о используемой и свободной оперативной памяти
ls /dev - Показать все устройства в системе
id - Показывает сводную информацию по текущему пользователю (логин, UID, GID);
ps - Показать все загруженные процессы;
top - Посмотреть какой процесс и на сколько он нагружает процессор
date - Посмотреть дату и время
dmesg - Показывает log-файл загрузки
lsmod - Список всех модулей загруженных в ядро
netstat -rn - Выводит таблицу маршрутизации
netstat -an | grep LISTEN - Показывает список всех открытых портов
netstat -tup - Активные соединения с интернетом
nslookup cyber-place.ru - отправить запрос DNS серверу и получить IP запрашиваемого домена
stty -F /dev/ttyATH0 speed - узнать скорость порта
stty -F /dev/ttyATH0 -a - полная информация об настройках порта
stty -F /dev/ttyATH0 cs8 115200 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts - Изменить параметры UART порта


fdisk -l Информация о всех подключенных дисках;
blkid - Выводит UUID информацию всех доступных накопителей в системе;
df Показывает свободное и занятое место в разделах;
mkfs.ext4 /dev/sda1 - Форматирует диск sda1 в FS ext4
mount /dev/sda1 /mnt - Монтирует раздел /dev/sda1 к точке монтирования /mnt;
mount - Показывает полную информацию о примонтированных устройствах;
umount /mnt - Отмонтирует раздел от точки монтирования /mnt;
clear - Очистить окно терминала;
reboot - Перезагрузить устройство;
exit - Завершить сеанс;
passwd - Меняет пароль текущего пользователя;
date - Показывает текущую дату и время;
pwd - Показывает текущий путь;
ls - Показывает список файлов и каталогов в текущей папке;
mkdir /test - Создание папки с именем test;
rmdir /test - Удаление папки с именем test;
rm -i stats.gif - Удаление файла с именем stats.gif;
touch /tmp/myfile.txt - Создать фаил
chmod 777 /tmp/myfile.txt - Изменить права доступа к файлу

cd /tmp - Перейти в указанную папку;
wget htp://cyber-place.ru/images/misc/stats.gif - Скачать файл в текущую папку

opkg update – обновляет список пакетов (загружая его из репозитория, указанных в конфигурационном файле);
opkg upgrade – обновляет все установленные пакеты;
opkg install <имя_пакета> – устанавливает пакет (в качестве параметра может принимать имя пакета, а также путь или HTTP URL, указывающий на файл пакета);
opkg remove <имя_пакета|регулярно _выражение> – удаляет один или несколько пакетов;
opkg list – выводит на экран полный список пакетов;
opkg list-installed – выводит на экран список установленных пакетов.

cat /home/primer- Показать содержимое файла /home/primer ;
vi /folder/filename - открыть файл в редакторе vi
i - включить режим редактирования
[Esc] - выйти из режима редактирования

u - undo (отмена)
CTRL + R - redo

:w [Enter] - сохранить внесенные изменения.

:q [Enter] - выйти без сохранения изменений
:wq [Enter] - сохранить внесенные изменения и выйти.

dd - удалет строку на которой находится курсор
x - удалет символ на котором находится курсов

[y] - копирует строку в буфер
[P] - вставляет скопированную строку после той, на которой в текущий момент находится курсор


wget -O - -q http://www.chisono.it/ip.asp && echo - Посмотреть Ваш IP
Admin вне форума   Ответить с цитированием
Старый 10.08.2012, 22:18   #7
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 8,752
Вес репутации: 8949
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию

Подключил Arduino Nano V.7 к UART роутера
Залил тестовый скетч в Arduino Nano
PHP код:
#define ledPin 13 
void setup() 
{  
  
Serial.begin(115200);  
  
pinMode(ledPinOUTPUT);      


void loop() 

  if (
Serial.available() > 0
  { 
    
byte inByte Serial.read(); 
    switch (
inByte
    { 
        case 
'1'
        
digitalWrite(ledPinHIGH); 
        
Serial.println("ON"); 
        break; 
        case 
'0'
        
digitalWrite(ledPinLOW);
        
Serial.println("OFF"); 
        break; 
    }         
  } 

Посмотреть что пришло в порт, можно так:
cat /dev/ttyATH0

Отправить из консоли в порт роутера
echo "Привет" > /dev/ttyATH0

Светодиод на Arduino реагирует моментально!
Теперь можно написать веб морду для удаленного управления.
Admin вне форума   Ответить с цитированием
Старый 14.08.2012, 23:29   #8
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 8,752
Вес репутации: 8949
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию

Запускаем Web Server на роутере TP-LINK MR-3020

Добавим пакеты веб-сервера, PHP, sqlite и временной зоны
opkg update
opkg install lighttpd lighttpd-mod-cgi lighttpd-mod-access lighttpd-mod-redirect zoneinfo-core zoneinfo-europe libsqlite3 php5-cgi php5-mod-pdo php5-mod-sqlite php5-mod-gd php5-mod-session


Создадим домашнюю директорию для файлов.
Также создаем пользователя и группу.

echo CyberLab:*:101:CyberLab:/srv/www:/bin/ash >> /etc/passwd
mkdir /srv/www
chgrp web /srv/www
chown CyberLab /srv/www


Добавляем пароль для пользователя
passwd хххххх

Подправим фаил конфигурации lighttpd. Настройки хранятся /etc/lighttpd/lighttpd.conf
Для этого нужно раскомментировать нижеприведенные строки
Цитата:
server.modules = (
"mod_cgi",
"mod_access",
"mod_redirect"
)

server.network-backend = "write"


server.document-root = "/srv/www"

server.errorlog = "/srv/log/error.log"

index-file.names = ( "index.htm", "index.php" )

$HTTP["url"] =~ "\.pdf$" {
server.range-requests = "disable"
}

server.pid-file = "/var/run/lighttpd.pid"

server.username = "CyberLab"

server.groupname = "web"

server.port = 81

server.event-handler = "poll"

server.dir-listing = "enable"

server.upload-dirs = ( "/tmp" )

cgi.assign = ( ".pl" => "/usr/bin/perl", ".cgi" => "/usr/bin/perl", ".php" => "/usr/bin/php-cgi" )
Правим фаил PHP.ini
Цитата:
[Date]
date.timezone = Europe/Moscow

extension=gd.so
extension=pdo.so
extension=sqlite.so
extension=session.so
extension=timezonedb.so
;extension=xml.so
;extension=xmlreader.so
;extension=xmlwriter.so
;extension=ftp.so
;extension=json.so
;extension=mysql.so

doc_root =
Запускаем сервер
/etc/init.d/lighttpd start

Создайте файл date.php в папке /srv/www
и добавьте в него нижеприведенные строки
PHP код:
<?php
$melbdate 
date("l, d F Y h:i a",time()+(1*60));
print (
"$melbdate");
?>
В адресной строке браузера напишите IP, Port и имя файла
http://192.168.1.99:81/date.php

В окне браузера должны увидеть дату и время
Название: php.png
Просмотров: 108185

Размер: 2.9 Кб
Admin вне форума   Ответить с цитированием
Старый 15.08.2012, 17:49   #9
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 8,752
Вес репутации: 8949
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию

Настраиваем FTP-сервер

Создаем группу
echo web:x:101: >> /etc/group

Создадим пользователя и домашнюю директорию для ftp
Добавим его в группу nogroup (65534) и пользователя CyberLab
echo CyberLab:*:102:101:CyberLab:/srv/ftp:/bin/ash >> /etc/passwd
echo ftp:*:103:65534:ftp:/srv/ftp:/bin/ash >> /etc/passwd
mkdir -p /srv/ftp
chgrp -R web /srv
chown CyberLab /srv/ftp


Добавим пароль для пользователя CyberLab
passwd CyberLab

Установим пакет FTP-сервер
opkg update
opkg install pure-ftpd


Настройки FTP находятся в файле /etc/config/pure-ftpd.
Отредактируйте следующие строки:
option noanonymous '0'
option anonymouscantupload '1'
option syslogfacility 'none'
option altlog 'stats:/var/log/pureftpd.log'
option enabled '1'


Также удалите строку peruserlmits

Запустим FTP сервер:
/etc/init.d/pure-ftpd enable
/etc/init.d/pure-ftpd start

Пробуем зайти из браузера ftp://192.168.1.99/
Название: ftp.jpg
Просмотров: 102288

Размер: 14.7 Кб

Для полноценного использования настраиваем Total Commander
Нажмите на изображение для увеличения
Название: ftp_srv.jpg
Просмотров: 1036
Размер:	100.3 Кб
ID:	461

Теперь мы можем заливать через ftp нужные нам файлы
Будут вопросы спрашивайте
Admin вне форума   Ответить с цитированием
Старый 16.08.2012, 23:08   #10
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 8,752
Вес репутации: 8949
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию

Пробуем использовать порты роутера

Смотрим используемые порты в системе
root@CyberLab:/sys/class/gpio# ls
export gpio8 gpiochip0 unexport

root@CyberLab:/sys/class/gpio# cd gpiochip0
root@CyberLab:/sys/devices/virtual/gpio/gpiochip0# ls
base label ngpio subsystem uevent

Общее количество портов контроллера
root@CyberLab:/sys/devices/virtual/gpio/gpiochip0# cat ngpio
30

Первый порт начинается с номера
root@CyberLab:/sys/devices/virtual/gpio/gpiochip0# cat base
0

Используемый контроллер
root@CyberLab:/sys/devices/virtual/gpio/gpiochip0# cat uevent
root@CyberLab:/sys/devices/virtual/gpio/gpiochip0# cat label

ath79

Добавить порт gpio13 в систему
echo 13 > /sys/class/gpio/export

Удалить порт gpio13 из системы
echo 13 > /sys/class/gpio/unexport

Используемые в роутере порты контроллера
gpio0 - WLAN светодиод
gpio8 - USB Power питание USB разьема
gpio11 - WPS кнопка
gpio17 - Ethernet светодиод
gpio18 - плоский переключатель 3g,wisp,ap
gpio20 - плоский переключатель 3g,wisp,ap
gpio26 - WPS светодиод
gpio27 - Internet светодиод

Приведенные выше порты, нельзя использовать, так как они используются ядром.
Для их использования нужно удалить из ядра модули "leds-gpio" и "gpio-buttons"
Admin вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 12 (пользователей: 0 , гостей: 12)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 10:38. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика