Siedzę z Mr3020 metr od wdr4300,  więc to raczej nie problem zasięgu

Jakiś czas temu skonfigurowałem z waszą pomocą ten mały routerek jako klient w trybie relayed i to działało. Zachciało mi się nowego routera głównego i kupiłem WDR4300. Działa dobrze (na oryginalnym sofcie), ale ponieważ zmieniłem nazwę sieci, hasła, pulę adresacji IP to musiałem wrócić do ustawień MR3020. Robiłem wszystko jak poprzednio, ale nie udało mi się uzyskać dostępu do internetu (podłączony kablem do komputera) i co dziwniejsze jak w LUCCI robię skan dostępnych sieci WIFI, to nie wyświetla mojej z WDR4300. Oczywiście mowa tu o paśmie 2.4 a nie 5 GHz. (filtrowanie po mac wyłączone) Smartfony, tablet, itd. działają na wifi bez problemu.

Wpisywałem też ręcznie w /etc/config/wireless dane mojej sieci z hasłami i też nic. Jeśli dane by się nie zgadzały to byłby błąd połączenia, a w moim przypadku nie znajduje SSID

Macie jakiś pomysł? coś trzeba odblokować na jednym, albo drugim routerze?

Dzięki.

Widziałem wiele przykładów w sieci, ale często są dość fragmentaryczne i ciężko się w nich orientować. Każdy tez ma inne podejście i trudno uczyć się na podstawie analogii. Ale macie racje, OpenWrt i konsoli też się bałem i jakoś poszło.

Projekt blokada widziałem wczoraj, będę się wzorował jeśli chodzi o uruchomienie skryptu. Jak rozumiem najlepiej będzie w pliku index.html zrobić od razu przekierowanie do skryptu i tam już umieścić całą stronę www i obsługę seriala

Przykład z kamerą dość skomplikowany jak na początek, ale jest serial więc spróbuje to dostosować.

Czy muszę coś na początek doinstalować?

Po wielkich bojach z dużą pomocą Cezarego zdołałem uruchomić OpenWrt na moim MR3020, który będzie częścią składową mojego robota. Mam już exroot, kamerę z transmisją na żywo (4 fps ale zawsze coś), transmisję z arduino przez ser2net i uruchomioną stronę WWW z okienkiem kamery na uhttpd.

Docelowo chciałbym, żeby pod okienkiem kamery były umieszczone przyciski do sterowania robotem i informacja zwrotna nt. pozycji, stanu baterii, itp.

Nie mam żadnego doświadczenia w PHP, czy lua więc proszę o wsparcie, bo przeczytałem już wiele stron, ale nie wszystko rozumiem. Wyczytałem, że najprościej będzie przygotować skrypt lua, a wcześniej uruchomić transmisję przez
cat /dev/ttyUSB0

i stworzyć skrypt, np:

#!/usr/bin/lua
io.output("/dev/ttyUSB0")
io.write("on2\r")
io.write("on3\r")

Czy mogę go utworzyć od razu w docelowym folderze przez edytor vi? Czy folder docelowy to będzie ten wskazany przez uci set uhttpd.@uhttpd[-1].home=/mnt/usbdrive/www (robiłem z poradnika) i dodanym folderze /cgi-bin?

I teraz najważniejsze: jak mogę odczytać parametr z pola formularza na www, żeby zamiast on2\r z przykładu była wartość formularza? Jak odczytać z serial i wyświetlić na www?

A masz może pomysł na sprawdzoną kamerkę, która sprawi najmniej kłopotów?

Widziałem wątek o kamerach,  ale nie jestem przekonany. Parę osób z powodzenie uruchomiło Logitech c270, ale ona jest dość droga i jak kupię kolejną i nie uda się podłączyć to żona mi... smile

Jakość obrazu i rozdzielczość nie jest tu decydująca, ważne żeby działała i dawała w miarę płynny obraz na żywo. Czy któryś ze znanych producentów (Logitech, Creative, Microsoft) na pewno stosuje obsługę MJPG, bo gdzieś czytałem, że takie chodzą lepiej?

Sprawdziłem kamerkę na PC i działa dobrze, więc to musi być coś z ustawieniami na routerze. Na motion w ogóle nie można wejść na stronę (192.168.1.112:8081 nie znaleziona). Jakieś pomysły? Bardzo mi zależy na uruchomieniu tej właśnie kamery, bo pasuje mi do mojego projektu.

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480  MxCh= 1
B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0002 Rev= 3.03
S:  Manufacturer=Linux 3.3.8 ehci_hcd
S:  Product=Generic Platform EHCI Controller
S:  SerialNumber=ehci-platform
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=256ms

T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  4 Spd=480  MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=1415 ProdID=2000 Rev= 2.00
S:  Manufacturer=OmniVision Technologies, Inc.
S:  Product=USB Camera-B4.09.24.1
C:* #Ifs= 3 Cfg#= 1 Atr=80 MxPwr=500mA
I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=ov534
E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=83(I) Atr=03(Int.) MxPS=  64 Ivl=64ms
I:* If#= 1 Alt= 0 #EPs= 0 Cls=01(audio) Sub=01 Prot=00 Driver=(none)
I:* If#= 2 Alt= 0 #EPs= 0 Cls=01(audio) Sub=02 Prot=00 Driver=(none)
I:  If#= 2 Alt= 1 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=(none)
E:  Ad=84(I) Atr=05(Isoc) MxPS= 768 Ivl=1ms

nie mogę otworzyć

root@OpenWrt:~# cat /proc/bus/usb/device
cat: can't open '/proc/bus/usb/device': No such file or directory

Udało się uruchomić router w trybie klienta przeźroczystego zgodnie z Twoją instrukcją. teraz na AP mam przyznany routerowi kolejny adres z puli 192.168.1.112. Dokładnie o to mi chodziło. Wielkie dzięki.

Uruchomiłem też ser2net i dodałem jako autostart - działa dobrze

Ale kamera nie działa! Na mjp-streamer wyświetla jedną do kilku klatek. czerwona dioda na ps3 gaśnie i koniec. Po ponownym wpisaniu  /etc/init.d/mjpg-streamer znowu na kilka sekund jest wizja i dalej to samo.

Dziś zainstalowałem motion zgodnie z poradnikiem i nic ... nie mogę nawet odpalić strony (strona nie znaleziona). Zgodnie z konfigiem powinna być na 192.168.1.112:8081

Proszę o jeszcze odrobinę cierpliwości i pomoc w uruchomieniu tek kamerki ps3.

Wracając do kamery - wyedytowałem  /etc/init.d/mjpg-streamer


#!/bin/sh /etc/rc.common
# Copyright (C) 2009-2012 OpenWrt.org

START=50

SERVICE_DAEMONIZE=1
SERVICE_WRITE_PID=1

PROG=/usr/bin/mjpg_streamer

error() {
        echo "${initscript}:" "$@" 1>&2
}

section_enabled() {
        config_get_bool enabled "$1" 'enabled' 0
        [ $enabled -gt 0 ]
}

start_instance() {
        local s="$1"

        section_enabled "$s" || return 1

        config_get device "$s" 'device'
        config_get resolution "$s" 'resolution'
        config_get fps "$s" 'fps'
        config_get www "$s" 'www'
        config_get port "$s" 'port'

        [ -c "$device" ] || {
                error "device '$device' does not exist"
                return 1
        }

        service_start /usr/bin/mjpg_streamer --input "input_uvc.so -y \
                --device $device --fps $fps --resolution $resolution" \
                --output "output_http.so --www $www --port $port"
}

stop_instance() {
        local s="$1"

        section_enabled "$s" || return 1

        service_stop /usr/bin/mjpg_streamer
}

start() {
        config_load 'mjpg-streamer'
        config_foreach start_instance 'mjpg-streamer'
}

stop() {
        config_load 'mjpg-streamer'
        config_foreach stop_instance 'mjpg-streamer'
}

Dodałem -y do "service_start /usr/bin/mjpg_streamer --input "input_uvc.so -y \"
i coś jest tzn. po wpisaniu http://192.168.1.2:8080/stream.html pojawia się strona, ale zarówno na static jak i stream jest wyświetlona 1 klatka i stoi. Czerwona dioda na kamerze się świeci. Przy próbie odświeżenia strony traci połączenie i nie da się już połączyć ze stroną, a czerwona dioda gaśnie.

Po wpisaniu ponownie /etc/init.d/mjpg-streamer enable i  /etc/init.d/mjpg-streamer start dioda się zapala i znowu na chwilę można wejść na stronę i wyświetlić 1 klatkę - potem brak połączenia. Co z tym zrobić?

ok. spróbuję. Najpierw zrobię sobie failsafe, żeby mieć na czysto.

A wtedy kamera i Serial będą  dostępne pod adresem MR3020 na odpowiednim porcie?

dzięki za cierpliwość, ale chyba się nie rozumiemy. pisałeś wcześniej żeby zmienić adres na 192.168.2.2.

Na komputerze nie mogę zmienić na 192.168.2.x wifi ma z głównego AP z rezerwacją adresu na 192.168.1.100 i taką adresację (do 112) maja wszystkie moje urządzenia w domu.

według mojego wyobrażenia o trybie klienta MR2030 powinien być przeźroczysty, tzn. urządzenie podłączone do niego kablem powinno zachować swoje IP z głównego AP a nie dostać przydzielone nowe z MR3020.

Inna sprawa, że nie moge się dostać na sam router po odłączeniu go fizycznie od laptopa. A przecież powien być dostępny pod adresem 192.168.2.2, tak jak dostępny jest główny ap z dowolnego komputera w sieci pod 192.168.1.1

Może przyznanie MR3020 kolejnego adresu z puli adresów głównego AP coś zmieni - np 192.168.1.113

nie mam gargoyole tylko czysty OpenWrt, zgodnie z poradą z pierwszych postów

ok zaraz to zrobię.
Moje SSID na glównym routerze to M.M.M., więc jest dobrze (wezmę w ''). Nie chcę się łączyć z wan tylko nie ma dostępu nawet z lan. Nie planuje dostępu z wan po ip, bo robot będzie działał tylko w domu

Mój główny router AP jest na 192.168.1.1, a zakres adresacji to 192.168.1.100-999. mam też ustawione filtrowanie MAC (ale juz dodałem MAC routera MR3020). Czy te ustwienia moga mieć jakiś wpływ?

edit: Nie, niestety po reboot z routerem podłączonym tylko do zasilania nie da się połączyć wpisując w putty 192.168.2.2 na komputerze w tej samej sieci lan

root@OpenWrt:~# vi /etc/config/network
       
config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config interface 'lan'
        option ifname 'eth0'
        option type 'bridge'
        option proto 'static'
        option ipaddr '192.168.1.2'
        option netmask '255.255.255.0'
        option gateway 192.168.1.1
        option dns 8.8.8.8

config interface 'wan'
        option fname 'wlan0'
        option proto 'dhcp'


root@OpenWrt:~# vi /etc/config/wireless

config wifi-device  radio0
        option type     mac80211
        option channel  11
        option macaddr  64:66:b3:4d:80:38
        option hwmode   11ng
        option htmode   HT20
        list ht_capab   SHORT-GI-20
        list ht_capab   SHORT-GI-40
        list ht_capab   RX-STBC1
        list ht_capab   DSSS_CCK-40

config wifi-iface
        option device   radio0
        option network  wan
        option mode     sta
        option ssid     M.M.M.
        option encryption psk2
        option key *************

Jak odłączę kabel od pc to bezprzewodowo w tej samej sieci wpisując 192.168.1.2 w putty nie ma połączenia z routerem

Ok dzięki, kamerą zajmę się później. najpierw muszę uruchomić jako klienta. To wracamy od początku. Jak pisałem wcześniej zmodyfikowałem wszystko jak w poradniku, ale niestety  nie działało. Poradziłeś mi dodać gateway to tak zrobiłem - przynajmniej pojawił się internet na laptopie do którego podłaczyłem router kablem, żeby poinstalować pakiety. Przy konfiguracji jak w poradniku nie było dostępu do netu   

Pochwalę się małym sukcesem. udało mi się uruchomić ser2net i odpalić transmisję szeregową bezpośrednio z arduino, więc mogę ominąć ethernet shield do arduino i obsługę TCP

Jak włączyć yuyv? Szukam, na forum i każdy pisze żeby włączyć, ale nikt nie pisze jak sad

Ok. gubię się jeszcze wybacz. Mam z tym do czynienia od wczoraj, a wcześniej nic z linuksem.

nic nie kombinowałem tak było w poradniku jako przykład konfiguracji MR3020 . Dodatkowo zmodyfikowałem zgodnie z poradnikiem /etc/config/wireless

A możesz mi podpowiedzieć co dokladnie powienem umieścić w /etc/config/network i /etc/config/wireless

Teraz dla odmiany nie pozwala mi się dostać do konfiguracji mjpg-streamer

root@OpenWrt:~# /etc/init.d/mjpg-streamer enable
root@OpenWrt:~# /etc/init.d/mjpg-streamer start
root@OpenWrt:~# /etc/config/mjpg-streamer
-ash: /etc/config/mjpg-streamer: Permission denied

W tej chwili mam podłączone kablem pod PC i teraz mam dostęp do ruter po  wpisaniu 192.168.1.2 w putty, dostarcza też internet po kablu do laptopa. To jest wygodne żeby instalować pakiety.

Ale docelowo chce mieć router jako klienta, do którego po kablu podłączę arduino, i jednocześnie będę miał do niego dostęp po lan, żeby dostać się do kamerki

Niestety nie wiem jak to zrobić

Na MR3020 przed zainstalowaniem OpenWrt udało mi się odpalić takie połączenie jako klienta do mojego AP na oryginalnym sofcie TP-LINK

jeśli chodzi o yuyv to chodzi o config mjpg-streamer?

Niestety, wciąż jest coś jest nie tak z klientem, bo po odłączeniu od komputera nie mogę się dostać na router (mam pod adresem 192.168.1.2 bo na 192.168.1.1 mam router główny AP). W takim przypadku nie uruchomię kamerki, nawet w sieci domowej.

A propos kamerki. Mam już kamerę od PS3 zainstalowałem wszystko zgodnie z poradnikiem i.... niespodzianka - nie działa. Na mjpg-streamer pokazała się strona, ale podglądu obrazu nie było, a  i wyglądała na zawieszoną, bo nie mogłem przełączyć na static. Zainstalowałem tez motion, ale tu żadnej reakcji.

ok. sprawdziłem po zmianie - internet jest w PC opkg update zadziałało. Powinno też działać jako klient z arduino ethernet shield.

Jak to przejdę i zakupię kamerkę to niechybnie się jeszcze zwrócę o pomoc. bałem się tej konsoli, ale chyba nie taki diabeł straszny smile

ok. zaraz to przełożę do sekcji lan, sorry - przeoczyłem,

ale żebym dobrze zrozumiał router mam podłączony kablem z PC, tak jest ok?

ustawienia zrobiłem już wcześniej zgodnie z poradnikiem, teraz dodałem gateway i dns. Wygląda to tak:

config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config interface 'lan'
        option ifname 'eth0'
        option type 'bridge'
        option proto 'static'
        option ipaddr '192.168.1.2'
        option netmask '255.255.255.0'

config interface 'wan'
        option proto 'dhcp'
        option gateway 192.168.1.1
        option dns 8.8.8.8

To mój pierwszy kontakt z linuksem...

Zainstalowałem czysty OpenWRT zgodnie z poradnikami, ustawiłem hasło, nauczyłem się obsługiwać vi smile zedytowałem pliki /etc/config/network i /etc/config/wireless, ale po kilku godzinach się poddałem. Nie działa jako klient.

Dobrze przynajmniej, że instalacja wyszła mogę się bez problemu łączyć z konsolą przez putty - to dla mnie nowość, nie licząc dosa w dawnych czasach.

utknąłem...zanim zabiorę się za kamerę chciałem przynamniej klienta ustawić

Możesz mi poradzić jak w takim razie ustawić gateway i dns, żeby mieć dostęp do konsoli i jednocześnie dostęp do instalacji pakietów z netu? Będę wdzięczny.