OpenWRT установка на Dlink DIR-320
Бошльшое спасибо Andrew автору статьи
Home About OpenWRT Chaos Calmer 15.05 on Dlink DIR-320 with CDMA modem
До пункта с редактированием fstab все шло хорошо.
fstab редактировал как описано здесь
http://wiki.openwrt.org/ru/doc/uci/fstab
Честно говоря сам тупанул на пару часов, ну да ладно,
идем дальше...
Общее время: 12m 54s
Загружено: 4508 файлов, 307M за 5m 14s (1001 KB/s)
Перемещаю repo
Проверяю установкой Nano и MC
Ранее устанавливал OpenWrt на TP-link tl-wr1043nd c FTP
и
TL-WR1043ND прошивка на OpenWRT и запуск на нем MiniDLNA
Home About OpenWRT Chaos Calmer 15.05 on Dlink DIR-320 with CDMA modem
Dlink & extroot USB drive |
Install OpenWRT using Image builder for brcm47xx/legacy
Самому собрать прошивку у меня не получилось, так как Image builder работает только на 64-разрядных системах. Пришлось попросить товарища.
make image PROFILE="Broadcom-b43" PACKAGES="base-files libc libgcc busybox kmod-usb2 kmod-usb-ohci kmod-usb-uhci kmod-usb-storage kmod-fs-ext4 block-mount kmod-scsi-core -dropbear mtd uci -opkg netifd fstools swconfig wpad-mini nvram -otrx kmod-leds-gpio kmod-gpio-button-hotplug kmod-ledtrig-default-on kmod-ledtrig-timer kmod-ledtrig-netdev dnsmasq iptables -ip6tables ppp ppp-mod-pppoe kmod-nf-nathelper firewall odhcpd odhcp6c kmod-usb-serial kmod-usb-serial-cp210x"
На этапе make я добавил два модуля "kmod-usb-serial kmod-usb-serial-cp210x"
Когда он скинул мне результат команды make в архиве, я смог продолжить.
Our file of interest is
Our file of interest is
openwrt-15.05.1-brcm47xx-legacy-asus-wl-500gp-v2-squashfs.trx
since Asus WL500gp-V2 uses the same hardware as Dlink DIR-320 Rev A. Firmware Flashing
Прошивка установилась без проблем! Адаптера USB-to-Serial под рукой не нашлось. Telnet подключился сразу. Все ОК. Теперь самое интересное.
Setting up extroot
Подключение корневой директории на внешнюю память USB drive. В моем случае, это флешка на 8 Gb.
After editing your fstab file it should look like following:дальше пришлось обратится к официальному руководству по настройке fstab и автомонтированию
fstab редактировал как описано здесь
http://wiki.openwrt.org/ru/doc/uci/fstab
Честно говоря сам тупанул на пару часов, ну да ладно,
идем дальше...
Installation of package manager (opkg)
Флэшку втыкаю в ПК закачиваю в /home/repo
wget -r --no-parent --reject "index.html*" "https://downloads.openwrt.org/chaos_calmer/15.05.1/brcm47xx/legacy/packages/"
ЗАВЕРШЕНО --2017-04-15 01:22:17--Общее время: 12m 54s
Загружено: 4508 файлов, 307M за 5m 14s (1001 KB/s)
Перемещаю repo
mv downloads.openwrt.org/chaos_calmer/15.05.1/brcm47xx/legacy/packages/* .
rm -rf downloads.openwrt.org/
ls
base luci management packages routing telephony
Устанавливаю OPKG . Редактирую /etc/opkg/distfeeds.conf
Проверяю установкой Nano и MC
root@OpenWrt:/# opkg install nano
Installing nano (2.4.1-1) to root...
Downloading file:///home/repo/packages/nano_2.4.1-1_brcm47xx.ipk.
Installing libncurses (5.9-2) to root...
Downloading file:///home/repo/base/libncurses_5.9-2_brcm47xx.ipk.
Installing terminfo (5.9-2) to root...
Downloading file:///home/repo/base/terminfo_5.9-2_brcm47xx.ipk.
Configuring terminfo.
Configuring libncurses.
Configuring nano.
Make sure internet works.
Подключаю интернет WiFi клиентом к домашнему роутеру (можно и к смартфону например). Описание
Предварительно еще нужно установить поиск wifi сетей
LuCI installation
Без запинки.
3g/CDMA modem configuration
Пока нет надобности...
Measuring signal strength
Не проверял
Настройка Firewall
The firewall configuration located in
/etc/config/firewall
.В дополнение к правилам по умолчанию, разрешил входящие соединения для SSH и HTTP, потом и для Вебкамеры. Остальной входящий трафик отбрасываем.
Switch Documentation Структурная схема движения трафика в роутере |
Подключение Вебкамеры
http://h-wrt.com/ru/doc/webcam
Чтобы USB-адаптер монтировался автоматически при загрузке, необходимо внести вышеуказанные команды в файл /etc/rc.local
Сбор и вывод статистики температуры на графике.
mjpg_streamer -i "input_uvc.so -d /dev/video0 -y" -o "output_http.so"
http://192.168.2.1:8080/?action=stream
Подключение датчика температуры 1-Wire
Для USB адаптера DS9490R установить пакеты:
kmod-w1
kmod-w1-gpio-custom
kmod-w1-master-ds2490
kmod-w1-master-gpio
kmod-w1-slave-therm
owfs
owftpd
owhttpd
owserver
owshell
Примонтировать 1-Wire: owfs --allow_other -u /home/1wire
Просмотр примонтированных датчиков: ls -lah /home/1wire
Запуск Web-интерфейса (если нужно):
owserver -uall -p 3000
owhttpd -s 3000 -p 3001
owfs -s 3000 /home/1wire/
Просмотр в Web-браузере:
http//ip-адрес:3001/
kmod-w1-gpio-custom
kmod-w1-master-ds2490
kmod-w1-master-gpio
kmod-w1-slave-therm
owfs
owftpd
owhttpd
owserver
owshell
owfs - это программа, которая отображает сеть в виде файловой системы. То, что owfs совпадает с названием всего пакета - чистая случайность.Создать точку монтирования адаптера: mkdir /home/1wire
owhttpd - это программа, которая делает доступной сеть по HTTP протоколу (по-народному, через браузер)
И та и другая программы могу работать с мастером сети самостоятельно, но не вместе!
Чтобы owfs и owhttpd работали одновременно, нужно запустить owserver.
owserver -u -p 3000
Запускает сервер работы с сетью, -u значит физическое устройство USB типа DS9490R, и отвечает на запросы по 3000 порту.
owhttpd -s 3000 -p 3001
-s 3000 - порт, на котором запущено owserver
-p 3001 - порт, на котором owhttpd сам отвечает по протоколу HTTP
owfs -s 3000 /home/1wire/
-s 3000 понятно, дальше идет mount point, который является обязательным параметром http://www.ab-log.ru/forum/viewtopic.php?t=420
Примонтировать 1-Wire: owfs --allow_other -u /home/1wire
Просмотр примонтированных датчиков: ls -lah /home/1wire
Запуск Web-интерфейса (если нужно):
owserver -uall -p 3000
owhttpd -s 3000 -p 3001
owfs -s 3000 /home/1wire/
Просмотр в Web-браузере:
http//ip-адрес:3001/
Чтобы USB-адаптер монтировался автоматически при загрузке, необходимо внести вышеуказанные команды в файл /etc/rc.local
Сбор и вывод статистики температуры на графике.
Steps:
Убрал за ненадобностью строчки из /etc/rc/local
INTERVAL=$COLLECTD_INTERVAL
То в логе /var/log/collectd.log ошибка:
exec plugin: exec_read_one: error = sleep: invalid number '60.000'
Поэтому у меня
INTERVAL=30
Прописал к скрипту путь в Statistics > Setup > General plugins > Exec
Перезапуск статистики
root@OpenWrt:~# /etc/init.d/collectd restart
root@OpenWrt:~# /etc/init.d/luci_statistics restart
Получаем это:
https://wiki.openwrt.org/doc/howto/statistic.collectd
https://wiki.openwrt.org/doc/howto/statistic.rrdtool
https://wiki.openwrt.org/doc/howto/statistic.custom
http://flux242.blogspot.ru/2011/01/collectd-mod-exec-part-2.html
opkg install collectd-mod-exec
- Write your script (example below), set it executable, test it out and place it somewhere persistent.
- In LuCI, add your script under Statistics→Setup→General plugins→Exec, and save&apply.
- After a few seconds, check that
collectd
has created an RRD under/var/rrd/yourhostname/exec-foo/datatype_bar.rrd
. - Create
/usr/lib/lua/luci/statistics/rrdtool/definitions/exec.lua
and tell LuCI about titles, data types and colours. - Visit Statistics→Graphs→General→Exec and try rendering your data.
- Consider adding
/usr/lib/lua/luci/statistics/rrdtool/definitions/exec.lua
to/etc/sysupgrade.conf
so it survives upgrades.
Убрал за ненадобностью строчки из /etc/rc/local
#owhttpd -s 3000 -p 3001Подредактировал скрипт из example для сбора статистики в базу RRDTool. Получилось
#owfs -s 3000 /home/1wire/
#!/bin/bashТут осталась непонятка с переменной $INTERVAL Если
HOSTNAME="${COLLECTD_HOSTNAME:-`hostname -f`}"
INTERVAL=30 #$COLLECTD_INTERVAL
while sleep "$INTERVAL"
do
val=$((owread -s3000 /uncached/28.08B6EE080000/temperature10 | awk '{ print $1; }') 2>/dev/null);
if [ $? -ne 0 ]
then
val="U"
fi
echo "PUTVAL \"$COLLECTD_HOSTNAME/exec-temperature/temperature\" interval=$INTERVAL N:$val"
done
INTERVAL=$COLLECTD_INTERVAL
То в логе /var/log/collectd.log ошибка:
exec plugin: exec_read_one: error = sleep: invalid number '60.000'
Поэтому у меня
INTERVAL=30
Прописал к скрипту путь в Statistics > Setup > General plugins > Exec
Для построения графика, создаю файл exec.lua в директории
/usr/lib/lua/luci/statistics/rrdtool/definitions/ следующего содержания:
module("luci.statistics.rrdtool.definitions.exec", package.seeall)Включил плагин Statistics > Setup > Output plugins > RRDTools
function rrdargs(graph, plugin, plugin_instance)
-- For $HOSTNAME/exec-foo-bar/temperature_baz-quux.rrd, plugin will be
-- "exec" and plugin_instance will be "foo-bar". I guess graph will be
-- "baz-quux"? We may also be ignoring a fourth argument, dtype.
if "test" == plugin_instance then
return {
title = "%H: 1Wire sensor temperature",
vlabel = "celsius",
data = {
types = { "temperature" },
options = {
temperature = {
title = "made up",
color = "ff0000"
}
}
}
}
end
end
Перезапуск статистики
root@OpenWrt:~# /etc/init.d/collectd restart
root@OpenWrt:~# /etc/init.d/luci_statistics restart
Получаем это:
Статистика температуры в холодильнике. 1Wire, Collectd, RRDTool, Luci_statistics. |
Статистика температуры в морозилке. 1Wire, Collectd, RRDTool, Luci_statistics. |
https://wiki.openwrt.org/doc/howto/statistic.collectd
https://wiki.openwrt.org/doc/howto/statistic.rrdtool
https://wiki.openwrt.org/doc/howto/statistic.custom
http://flux242.blogspot.ru/2011/01/collectd-mod-exec-part-2.html
Ранее устанавливал OpenWrt на TP-link tl-wr1043nd c FTP
и
TL-WR1043ND прошивка на OpenWRT и запуск на нем MiniDLNA
Комментарии
Отправить комментарий