0
В данной реализации не всё гладко, диммер работает плохо и ещё есть проблемы. Лучше воспользуйтесь этой статьёй.
istarik.ru/blog/arduino/32.html
  • avatar
  • stD
0
Привет всем. У меня следующая беда: при подключении к роутеру, система работает более менее стабильно, но как только подключаю к серваку на Ubuntu server 14.04.1, то надпись stD больше горит красным чем серым. Скажем из 5-10 секунд красного на 1-2 секунду серая. Даже кнопку ни одну не могу нажать.
Второй вопрос: что изменить, чтобы при нажатии на вкладку на странице — темп или диммер или кнопки, предыдущая открытая сама закрывалась, а то получается что они друг на друга накладываются.
0
Сервер обслуживает два сайта на разных портах. Если есть интерес, тогда начните изучать работу серверов.
  • avatar
  • stD
0
Пожалуйста.

Я еще не до конца понял что произошло

Мы добавили виртуальный хост для luci.
  • avatar
  • stD
0
Я еще не до конца понял что произошло — но мне кажется что стало просто великолепно! И Админка пашет и ymdom в ОЗУ находится! СПАСИБО!
  • avatar
  • dimex
0
В самый конец файла /etc/config/uhttpd добавьте это:

vi /etc/config/uhttpd



...
config uhttpd luci

        list listen_http        0.0.0.0:81

        option home             /www

        option rfc1918_filter 1

        option max_requests 3

        option cert             /etc/uhttpd.crt
        option key              /etc/uhttpd.key

        option cgi_prefix       /cgi-bin

        option script_timeout   60

        option network_timeout  30

        option tcp_keepalive    1



Перегрузитесь, luci будет на 81-ом порту. адрес:81

На всякий случай полный листинг uhttpd:


config uhttpd main

        list listen_http        0.0.0.0:80

        list listen_https       0.0.0.0:443

        # Server document root
        option home             /tmp

        option rfc1918_filter 1

        option max_requests 3

        option cert             /etc/uhttpd.crt
        option key              /etc/uhttpd.key

        option cgi_prefix       /cgi-bin

        option script_timeout   60

        option network_timeout  30

        option tcp_keepalive    1

config cert px5g

        # Validity time
        option days             730

        # RSA key size
        option bits             1024

        # Location
        option country          DE
        option state            Berlin
        option location         Berlin

        # Common name
        option commonname       OpenWrt



config uhttpd luci

        list listen_http        0.0.0.0:81

        option home             /www

        option rfc1918_filter 1

        option max_requests 3

        option cert             /etc/uhttpd.crt
        option key              /etc/uhttpd.key

        option cgi_prefix       /cgi-bin

        option script_timeout   60

        option network_timeout  30

        option tcp_keepalive    1

  • avatar
  • stD
0
В общем проблема была не с пробрасыванием порта. Поблема была в том — что в index.hyml был указан ip. А в моем случае необходимо было указывать dns имя. Спасибо за помощь!
И еще вопрос — как перенести в ОЗУ, но что-бы luci осталась работоспособной?
  • avatar
  • dimex
0
На 80-ом порту у вас работает основной сервер (uhttpd), который отдаёт контент. Php и ser2net описаны в предыдущих статьях, здесь же сделано так, чтоб избавиться от этого хлама.
Ser2net тоже использует определённый порт. Чем Вам мешает дополнительный порт? Ведь в работе он абсолютно прозрачен.
  • avatar
  • stD
0
Может ser2net можно как-то прикрутить?
  • avatar
  • dimex
0
А можно как-то на php что нибудь вместо arduserver прикрутить? Что все работало только на 80-м порту?
  • avatar
  • dimex
0
А как проверить что все в ОЗУ?
Всё в ОЗУ, ничего проверять не нужно. У роутра объём Flash-памяти 4М, однако в папку /tmp можно скопировать файл размером больше 4М. (при вынутой usb-флешке)

если я хочу сменить порт 3490
Поменяйте порт в файле index.html и в (sleep 1 && /arduserver 3490 /dev/ttyUSB0)

А вот при запуске админки luci

Само сабой, файлы luci лежат в папке /www, а сервер настроен на работу в папке /tmp.
  • avatar
  • stD
0
А вот при запуске админки luci — ошибка «No such file or directory»
  • avatar
  • dimex
0
А как проверить что все в ОЗУ? И еще вопрос — если я хочу сменить порт 3490 — мне это необходимо делать в 2-х файлах или одном?
как понимать эти фразы «Менять нужно только адрес 192.168.5.222, порт (3490) трогать не надо.
Если всё же решите поменять порт, то не забудте поменять его в аргументах для запуска программы arduserver, в файле /etc/rc.local (sleep 1 && /arduserver 3490 /dev/ttyUSB0).

Опять же, если будете заходить извне, и «умный дом» подключён к интернету не напрямую, а через другой роутер, то на нём нужно пробросить порт 3490, и 80-ый конечно тоже. „
  • avatar
  • dimex
0
РАБОТАЕТ! светодиод на флешке не мигает!
  • avatar
  • dimex
0
Чтобы не насиловать флешку можно проделать небольшой трюк, надо во время загрузки скопировать папку ymdom в папку /tmp — это временная папка создающаяся в ОЗУ.

Добавьте в /etc/rc.local (до запуска arduread и arduserver) команду:

cp -vR /www/ymdom/ /tmp/


И измените (в /etc/rc.local) путь к файлу file.db, должно получится вот так:


cp -vR /www/ymdom/ /tmp/
(sleep 20 && /arduread /dev/ttyUSB0 /tmp/ymdom/file.db )&
(sleep 1 && /arduserver 3490 /dev/ttyUSB0 )&
exit 0


Так же в файле /etc/config/uhttpd необходимо изменить рабочую папку сервера /www на /tmp

vi /etc/config/uhttpd



...
        # Server document root
        option home             /tmp # ЭТО
...


Всё, теперь перегрузитесь и проверяйте. У меня сейчас нет роутера, так что жду от вас результата.
  • avatar
  • stD
0
Возможно с портами я и смогу побороть. А что насчет возможности отказаться от arduserver?
  • avatar
  • dimex
0
Что значит не могу пробросить порт? Я не знаю что сказать.
  • avatar
  • stD
0
Не получается пробросить порт 3490. Захожу через роутер с инета. Захожу на порт 36101 — форвард на 80. Страничка видна. Дополнительно зафорвардил 36101 на 3490 — не пашет. Пробовал в html файле менять порт и в файле менял rc.local. Не помогает. А можно как-то придумать что-бы работало без этого порта? без arduserver можно? Ведь сам сервер на 80м порту уже работает. Может его можно настроить — что он сам писал в файл db?
  • avatar
  • dimex
0
Будет просто замечательно — если вариант с ОЗУ — заработает. Ведь у меня в роутер всунута простая флешка — она и тупит и не вечна.
  • avatar
  • dimex
0
Пока не готова.
  • avatar
  • stD