Scotch napisał/a:

Potwierdzam żadnych problemów pod neo. 20Mb - tylko wgrywanie OpenWrt może być dla niektórych trochę problematyczne

Linux nie jest mi całkiem obcy, wiec myślę, że nie będzie aż tak źle wink

pyra73 napisał/a:

Nie wiem jak w Tplinku, ale w Zte można łatwo obniżyć snr. Co przy większej odległości od centrali daje nawet 3 Mb więcej od routerów dawanych przez Orange.

Mieszkam w centrum miasta, ale dobrze wiedzieć, że coś takiego można zrobić. Dzięki.

Mam jeszcze jedno pytanie/problem odnośnie sprzętu. Jak to jest z prędkościami sieci?
W tej chwili wszystko u mnie pracuje na 100Mb/s-router i switch. Już wiem jaki router kupić i on może pracować z prędkością 1Gb/s. Wszystkie moje sprzęty mają kaarty sieciowe 1Gb/s oprócz raspberry pi (którego dopiero chcę kupić) który ma kartę sieciową 100Mb/s. Oczywiście wymienię switch na 1Gb/s. Ale co się stanie z całą siecią gdy jedno urządzenie (RPi) może pracować z max 100Mb/s?

Dziękuje za pomoc. Kupuje TP-Link TD-W8970 wink

Nawet nie wiedziałem, że mam w domu taki sprzęt (ZTE) który nada się do takich prędkości. Myślałem, że to jakiś tani badziew.
A czy w TP-Link TD-W8970 po wgraniu OpenWRT będzie mi działał modem?

Mam w domu modem/router od Orange ZTE ZXDSL 831A II. Nigdy go nie używałem, ale czy nada się do Neo 20Mb/s?
Warto się zainteresować routerem TP-LINK TL-WDR4300?

Router TP-LINK TD-W8970 to takie 2 w 1, a ludzie psioczą na takie rozwiązania. Szczerze to bardzo by mi pasowało takie 2 w 1, ale jak mają być problemy to nie chciałbym się w to pakować.

Witam.

Potrzebuję pomocy w wyborze routera i modemu pod Neostradę. W tej chwili używam "cudownego" routera TP-Link TD-W8951ND.
Docelowo chciałbym kupić dwa urządzenia router i modem, ale nie wiem co wybrać sad
Modem ma być tylko bramą na świat, a router ma kierować ruchem między dwoma blaszakami, laptopem, tabletem, dwoma smartfonami, XBMC na rasberry pi.
Na routerze chciałbym oczywiście używać alternatywnego oprogramowania, podłączyć zewnętrzny dysk z własnym zasilaniem.

81

(572 odpowiedzi, napisanych Oprogramowanie / Software)

Już wszystko działa, cały czas problem leżał po stronie karty przekaźników. Po opanowaniu kodu BASCOM, wyrzuceniu kabla USB -> RS232 i wymianie konwertera RS232 -> RS485 na konwerter USB -> RS485 na FT232RL. Wszystko śmiga, aż miło.
Dziękuje jeszcze raz za pomoc i przepraszam za śmietnik w temacie.

82

(572 odpowiedzi, napisanych Oprogramowanie / Software)

A czy to jest poprawne?

echo -ne "0112\r" > /dev/ttyACM0 && grep -m1 "1:" /dev/ttyACM0 | sed -e 's/^1://'

Karta teraz zwraca "1:on" lub "1:off" sed wycina "1:" i zostaje mi on/off-potrzebuje samo on/off.

Ale nadal skrypt "wisi" jeżeli nie otrzyma "1:on" lub "1:off" sad Jak go zatrzymać jeżeli odpowiedz jest inna, brak odpowiedzi czy tam jeszcze coś nie tak przez określony czas?

83

(572 odpowiedzi, napisanych Oprogramowanie / Software)

Już prawie wszystko mam zrobione. Problemem u mnie okazał się program na karcie przekaźników.

Cezary, możesz mi podpowiedzieć jak to zrobić, aby polecenie w skrypcie:

echo -ne "0112\r" > /dev/ttyACM0 && grep -m1 "" /dev/ttyACM0

czekało max 1 sekundę na odpowiedz i zakończyło swoje działanie?
Jeżeli dostanie odpowiedz to natychmiast kończy swoje zadanie, a jak nie dostanie odpowiedzi w określonym czasie to tez kończy swoje zadanie.

84

(572 odpowiedzi, napisanych Oprogramowanie / Software)

Cezary napisał/a:

I tak ma być. Skoro masz możliwość to możesz sobie przerobić kod w sterowniku żeby po poleceniu np.

echo -ne "9999999\r" > /dev/ttyS0

To już bym musial "rozwalic" cały program w karcie.

Cezary napisał/a:

Zwracało wynik dokładnie w w/w formie. Nawet nie będziesz musiał nic parsować.

Ten sposób wydaje mi się, że jest ok. Karty maja swoje adresy, a dzięki temu skryptowi wszystko w nim definiuje-nr karty i nr przekaźnika i na wyjściu mam już tylko "1:", "2:", itd.

85

(572 odpowiedzi, napisanych Oprogramowanie / Software)

Cezary napisał/a:

więc zrób sobie tak żeby wszystkie na raz odpowiadały a ty to przeparsuj.

Właśnie nie wiem jak to ugryźć.
Wysyłam "/power.sh stan" i otrzymuję:

1:on
2:off
3:off
itd.

wynik przefiltrować dla każdego guzika i każdemu stan podstawić. Chyba musiało by być, że za każdym kliknięciem jakiegoś guzika przeładowanie strony i stan podstawiany dla wszystkich.

86

(572 odpowiedzi, napisanych Oprogramowanie / Software)

Nie działają mi statusy bo jak dam np. trzy guziki to już przy wczytywaniu strony jest problem-wszystkie trzy wysyłają zapytanie o status i wszystkie czekają na odpowiedz. Przez tyle pytań i odpowiedzi jednocześnie blokuje się magistrala bo poprzez RS485 dane mogą płynąć tylko w jedna stronę w danym czasie sad

87

(572 odpowiedzi, napisanych Oprogramowanie / Software)

Te trzy to tylko dla testów...
Chodzi mi o to jak to zrobić na stronie odnośnie tych statusów.
Na wet dla tych trzech mam problem opanować ich stan sad

88

(572 odpowiedzi, napisanych Oprogramowanie / Software)

Panowie,
Mam takiego "stwora":

<?
if($_GET[on] == "on"){
$message = shell_exec("/var/www/power.sh on 1");
header("Location: test.php");
exit;
}
if($_GET[off] == "off"){
$message = shell_exec("/var/www/power.sh off 1");
header("Location: test.php");
exit;
}
$relay1 = trim(shell_exec("/var/www/power.sh status 1"))
?>
<html>
<?php
if($relay1 == "on" )
echo '<a href="?off=off"><img style="width: 50px; height: 50px;" src="images/on.png"></a>';
else
echo '<a href="?on=on"><img style="width: 50px; height: 50px;" src="images/off.png"></a>';
?>
</html>

i do tego skrypt /power.sh

#!/bin/bash

case "$1" in
    off)
        [ $2 = "1" ] && echo -ne "0510\r" > /dev/ttyS0
        [ $2 = "2" ] && echo -ne "0520\r" > /dev/ttyS0
        [ $2 = "3" ] && echo -ne "0530\r" > /dev/ttyS0
        ;;
     on)
        [ $2 = "1" ] && echo -ne "0511\r" > /dev/ttyS0
        [ $2 = "2" ] && echo -ne "0521\r" > /dev/ttyS0
        [ $2 = "3" ] && echo -ne "0531\r" > /dev/ttyS0
        ;;
 status)
        [ $2 = "1" ] && echo -ne "0512\r" > /dev/ttyS0 && grep -m1 "" /dev/ttyS0
        [ $2 = "2" ] && echo -ne "0522\r" > /dev/ttyS0 && grep -m1 "" /dev/ttyS0
        [ $2 = "3" ] && echo -ne "0532\r" > /dev/ttyS0 && grep -m1 "" /dev/ttyS0
        ;;
   stan)
        echo -n "1:"
        echo -ne "0512\r" > /dev/ttyS0 && grep -m1 "" /dev/ttyS0
        echo -n "2:"
        echo -ne "0522\r" > /dev/ttyS0 && grep -m1 "" /dev/ttyS0
        echo -n "3:"
        echo -ne "0532\r" > /dev/ttyS0 && grep -m1 "" /dev/ttyS0
        ;;

   esac

 exit 0

I teraz tak, wszystko jest fajnie, pięknie, ikonki on/off podstawiają sie do aktualnego stanu przekaźnika, ale jak zrobić więcej "guzików"?
Tzn. "guziki" sobie zrobię, ale mam problem z odczytaniem stanu dla większej ilości "guzików" sad
Jak to zrobić, aby stan się ustawiał zawsze dla wszystkich jednocześnie poprzez jedno zapytanie czy odświeżenie strony?

89

(572 odpowiedzi, napisanych Oprogramowanie / Software)

Tzn. serwer www php itp. już u mnie jest postawiony i działa. Bardziej mi chodzi o to jak stworzyć stronę z "guziczkami" aby można było sobie sterować tym wszystkim.

Jak możesz to prześlij mi tez tego "gotowca" do Powerswitch'a na pimowo(malpa)gmail.com

90

(572 odpowiedzi, napisanych Oprogramowanie / Software)

Jak postawić taką prosta stronę i jak sterować przekaźnikami wink
Tylko jest problem, a nawet dwa: to nie "Power switch" i mam Debiana.

91

(572 odpowiedzi, napisanych Oprogramowanie / Software)

wabikboy
możesz coś więcej powiedzieć na temat swojego rozwiązania-co i jak?

92

(572 odpowiedzi, napisanych Oprogramowanie / Software)

uuu... no to kiszka sad
W domu mam jeszcze terminal HP T5710 z openWRT nada się?

Chociaż wolałbym to zrobic na Debianie. Kolega wabikboy pokazywał tu na forum (nie mogę teraz znaleźć tego tematu) swoj sposób na sterowanie przekaźnikami przez www-nada się to na Debiana?

93

(572 odpowiedzi, napisanych Oprogramowanie / Software)

Udało mi się zrobić, aby status wyglądał tak jak ma być.
Zmodyfikowałem kod karty, teraz po zapytaniu np. "echo -ne "0112\r > /dev/ttyS0" zwraca tylko "on" lub "off"
a "1:" itd. pobiera ze skryptu wink

Kolego Cezary podpowiedz jeszcze jak to uruchomić na Debianie, aby się wyświetlały ikonki itp. itd.

94

(572 odpowiedzi, napisanych Oprogramowanie / Software)

Według Twoich wytycznych skrypt wygląda tak:

#!/bin/bash

case "$1" in
    off)
        [ $2 = "1" ] && echo -ne "6010\r" > /dev/ttyS0
        [ $2 = "2" ] && echo -ne "6020\r" > /dev/ttyS0
        ;;
    on)
        [ $2 = "1" ] && echo -ne "6011\r" > /dev/ttyS0
        [ $2 = "2" ] && echo -ne "6021\r" > /dev/ttyS0
        ;;
    status)
        echo -n "1:"
        echo -ne "6012\r" > /dev/ttyS0 && grep -m1 "60:" /dev/ttyS0
        echo -n "2:"
        echo -ne "6022\r" > /dev/ttyS0 && grep -m1 "60:" /dev/ttyS0
        ;;
esac

exit 0

Męczę kartę  o numerze "60" bo akurat mam ją na stole.

I teraz tak:

/skrypt.sh on 1

włącza pierwszy przekaźnik na karcie "60", a

/skrypt.sh off 1

wyłącza pierwszy przekaźnik na karcie "60".

Polecenie:

/skrypt.sh status

zwraca po chwili (karty odpowiadają z opóźnieniem aby nie było kolizji na magistrali)

1:60:1
2:60:0

czyli stan faktyczny przekaźników na karcie smile

Tak sobie myślę, może lepiej by było gdyby karta zwracała "on" i "off" zamiast "1" i "0" i wyrzucić jej numer?
Pytając przez skrypt o status np:

    status)
        ...
        echo -n "88:"
        echo -ne "8812\r" > /dev/ttyS0 && grep -m1 "88:" /dev/ttyS0
        ...

otrzymam w odpowiedzi:

...
88:off
...

95

(572 odpowiedzi, napisanych Oprogramowanie / Software)

Sprawdzanie stanu o którym piałem wcześniej wymyśliłem niedawno.
Do sprawdzanie stanu itp. używałem minicom.
Soft w kartach oczywiście mogę zmienić i dostane odpowiedz jaka mi pasuje.

W tej chwili na co dzień używam kilku kart przez CRON'a i skrypty BASH, ale bez sprawdzania stanu-po prostu włącz/wyłącz.

Marzy mi się używać tego wszystkiego przez przeglądarkę i wiedzieć co jest włączone/wyłączone.

96

(572 odpowiedzi, napisanych Oprogramowanie / Software)

Skrypt dla "on", "off" działa.
Status musiałbym jakoś inaczej sprawdzić. Wysyłam zapytanie, odczekać chwilę i dopiero dostanę odpowiedź.

Jaką by było najlepiej dostać odpowiedz od karty/jaka forma? Mogę to teraz zmienić, aby później było mniej problemów.

Planuje używać około 10-12 kart po 8 przekaźników na każdej.

97

(572 odpowiedzi, napisanych Oprogramowanie / Software)

A od czego zacząć?
Problem przy RS485 polega na tym, że jest kilka kart i one mają dodatkowo swój adres.

W tej chwili mam zrobione tak, że wysyłając komendę przez terminal:
echo -ne "xxy1\r" > /dev/ttyS0 włączy przekaźnik y na karcie xx
echo -ne "xx91\r" > /dev/ttyS0 włączy wszystkie przekaźniki na karcie xx
echo -ne "9991\r" > /dev/ttyS0 włączy wszystkie przekaźniki na wszystkich katach
echo -ne "xxy0\r" > /dev/ttyS0 wyłączy przekaźnik y na karcie xx
echo -ne "xx90\r" > /dev/ttyS0 wyłączy wszystkie przekaźniki na karcie xx
echo -ne "9990\r" > /dev/ttyS0 wyłączy wszystkie przekaźniki na wszystkich katach
echo -ne "xxy2\r" > /dev/ttyS0 zwróci stan przekaźnika y na karcie xx w formie "xx:0" lub "xx:1"
echo -ne "xx92\r" > /dev/ttyS0 zwróci stan wszystkich przekaźników na karcie xx w formie "xx:00000000"

Wszystkie komendy jak i to co karty zwracają mogę zmienić.

Proszę o jakaś podpowiedz co i jak to ugryźć.
Chciałbym uzyskać sterowanie przekaźnikami przez www klikając na ikonę-włącz/wyłącz i zobaczyć stan.

98

(572 odpowiedzi, napisanych Oprogramowanie / Software)

A da się sterowć w ten sposob przez www (Linux-Debian) ale przekaźnikami podłączonymi przez RS485?

99

(256 odpowiedzi, napisanych Termometr)

Ma ktoś jakiś pomysł/sposób na bazę danych? Pytam ponieważ wszystko było ok dopóki nie uzbierało się trochę więcej danych sad
Dane zbieram co 5min. Po miesiącu wszysko szaleje-generowanie wykresu zamula, dane raz zbiera, a raz nie, błędy odczytów. Gdy przeniosłem bazę w inne miejsce i założyłem nową to wszysko wraca do normy i wyszystko jest ok.

100

(256 odpowiedzi, napisanych Termometr)

Nie mam już bladego pojęcia dlaczego to nie działa.

Jako root modyfikuje crontab -e, dopisuje:

*/5 * * * * php /var/www/meteo.php

Jako root:

ls -l /var/www/meteo.php
-rwxrwxrwx 1 root root 748 lut  5 16:28 /var/www/meteo.php

Co bym nie zrobił to i tak dane się nie zbierają automatycznie, gdy polecenie wpiszę w terminalu to wszystko jest OK-zero błędu.
Jedyne co zauważyłem to przy tym jak cron robi polecenie to na wykresie nie pojawiają się aktualne temperatury (górna tabela) i nic po za tym się nie dzieje...


EDYTA...
Dlaczego na najprostrze rzeczy najtrudniej wpaść? sad
Po podaniu polecenia jako root

digitemp_DS9097 -s /dev/ttyS0 -a -i

wszystko ruszyło jak po dotknięciu magicznej różdżki smile

Dziękuję za pomoc i super skrypty smile