Freesco, NND, CDN, EOS
http://forum.freesco.pl./

Samorestartujacy sie serwer NND
http://forum.freesco.pl./viewtopic.php?f=24&t=17371
Strona 1 z 2

Autor:  CyberDuck [ sobota, 13 grudnia 2008, 02:49 ]
Tytuł:  Samorestartujacy sie serwer NND

Umiem programowac mikrokontrolery typu ST i wpadlem
moze na nieco szalony pomysl, ale jest to jakies tez rozwiazanie.
Chodzi mi o zbudowanie czegos na wzor whatchdog'a .

Dolozony maly modul wewnatrz komputera oczekiwalby
na impuls podany z NND dajmy na to co minute.
Zdaje sie ze mozna w cron ustawic taka minimalna wartosc.
Cron uruchamialby co minute programik, ktory np wysylalby
na RS odpowiednia sekwencje danych. Mozna zrobic to na dowolny
interface. Dodatkowy modul elektroniczny z mikrokontrolerem
jak juz wspomnialem nasluchiwalby ten interface i jesli nieotrzyma
co okreslony czas odpowiedniej sekwencji danych to powodowalby
najzwyczajniej w swiecie restart NND.

Pomysl ten wiaze sie z problemem, ktory opisalem w innym poscie na
forum i jakos nikt mi niepotrafi pomoc, a to byloby jakies rozwiazanie.
Brak odpowiedniej sekwencji i tak wskazywalby na kompletne
zawieszenie sie komputera wiec tak czy tak w takich wypadkach jest
potrzebny restart komputera z NND. Oczywiscie uklad bylby tez w stanie
odczytywac sygnal zwiazany z pierwszym uruchomieniem sie komputera
po wlaczeniu czy restarcie po to zeby dac czas na uruchomienie
sie NND. Powiedzmy do momentu otrzymania pierwszej porcji informacji.

Pytanie brzmi jak zrobic zeby np na RS pod linuxem pojawila sie zmiana
synalu na dowolnym wyjsciu ?

Autor:  -MW- [ sobota, 13 grudnia 2008, 09:08 ]
Tytuł: 

kiedys na jakims forum wyszperalem taki programik ktory steruje rs podajac rozne stane zaleznie od tego czy uruchomisz program czy nie.
jak bede w domu to poszperam w swoich zasobach i dam znac, tylko przypomnij na pw.

Autor:  CyberDuck [ sobota, 13 grudnia 2008, 14:29 ]
Tytuł: 

Moze to :
http://www2.chip.pl/arts/archiwum/n/art ... 18145.html
w czyms pomoze. Jak ktos potrafi to zaimplementowac
pod Linuxa to byloby fajnie ...
Zchemat i program do mikrokontrolera wykonam sam, ale
musze miec programik pod NND, ktory bedzie potrafil
sterowac wyjsciami RS.

I jeszcze jedno pytanie.
Bo mozna cos takiego tez podlaczac do centronics czyli poprostu
do wyjscia drukarkowego tez istniejacego w kazdym PC.
Ja niezamierzam nigdy tam podlaczac drukarki pod NND.
Jesli takie rozwiazanie przyjac to czy komus sie
to wogole przyda ?


EDIT :
Znalazlem tez cos takiego :
http://www.octave.pl/2008/09/a-jak-ty-k ... swoje-lpt/
Jest to gotowy przepis na sterowanie LTP ale jesli ktos to moze
sprowadzic do gotowych plikow wykonywalnych pod linux
to bylbym bardzo wdzieczny :)

Dalsze zrodla :
http://www.linux.com.pl/forum/index.php ... msg_310675
http://www.elektroda.pl/rtvforum/viewto ... 77#5534177
http://www.elektroda.pl/rtvforum/viewto ... 14#5530314


http://www.elektroda.pl/rtvforum/viewto ... 29#4098029
a to zrodlo wskazuje praktycznie gotowe rozwiazanie i okazuje sie
ze w NND jest wszystko juz gotowe.
Pytanie wiec brzmi czy jesli napisze
cp plik lpt1
to na wyjsciach ustawi mi sie odpowiednia sekwencja
zapisana w pliku ?
Jesli tak to dalej chcialem zapytac jak wyslac dowolna sekwencje ?
Przeciez do pliku nie moge zapisac dowolnego znaku z przedzialu
0 - 255 ...

Autor:  CyberDuck [ sobota, 13 grudnia 2008, 17:03 ]
Tytuł: 

No i dalsze informacje :)
http://www.elektroda.pl/rtvforum/viewto ... 83#3830983
To chyba zalatwia sprawe. Czyli jesli naucze mikrokontroler zwyklej transmisji RS
to powinno zalatwic sprawe.

Autor:  viater [ sobota, 13 grudnia 2008, 23:39 ]
Tytuł:  Re: Samorestartujacy sie serwer NND

CyberDuck pisze:
[ciach]
Pytanie brzmi jak zrobic zeby np na RS pod linuxem pojawila sie zmiana
synalu na dowolnym wyjsciu ?

Pakiet ioportutils

Nie pamiętam już, czy w pakiecie jest jakiś opis - jeśli nie, to:

http://viater.one.pl/pub2/nnd/resetery/

Autor:  -MW- [ niedziela, 14 grudnia 2008, 00:31 ]
Tytuł: 

fajny pakiecik :) - daleko nie trzeba szukac


ps
oczywiscie sterowanie routerem ma ses jesli obok niego stoi inna maszyna
w przeciwnym wypadku
to nic nie wymyslimy bo jak zawisnie to musimy sie do niego pofatygowac
chyba ze akurat port rs bedzie dzialal prawidlowo :).

Autor:  CyberDuck [ niedziela, 14 grudnia 2008, 00:38 ]
Tytuł: 

Viper dziala bez zarzutu :)
Mozna praktycznie ustawic dowolne slowo na porcie rownoleglym.
Wlasnie o cos takiego mi chodzilo. Biore sie wiec do roboty.

Jak zaczolem szukac po sieci to sie okazalo, ze takie uklady juz
istnieja i chyba nietylko ja chcialem miec samorestartujacy sie
serwer w razie problemow.

Ogolnie soie wymyslilem tak, ze :
Mikrokontroler bedzie przy pomocy odpowiedniego sygnalu lub
wiecej sygnalow rozpoznawal, ze maszyna sie wlasnie uruchamia.
Przy wlaczaniu komputera to nie ma znaczenia poniewaz
procesor od startu programu moze poprostu odczekac okolo max 2 min
lub do czasu kiedy otrzyma pierwsza prawidlowa sekwencje danych.
Chcialbym zeby rozpoznanie zawieszenia sie bylo jednoznaczne stad pomyslalem, ze
to ma byc odpowiednia sekwencja sygnalow, a nie pojedyncze 0 lub 1 czy tez
zmiana stanu na przeciwny. W kazdym razie kiedy juz wystartuje to mikrokontroler
bedzie nasluchiwac czy cos jest do niego wysylane. Jesli rozpozna prawidlowa
sekwencje danych to skasuje sobie licznik czasu i znowu bedzie czekac max
2 min na kolejna porcje danych. Jesli jej nieotrzyma to wykona restart
komputera poprzez zwarcie do masy sygnalu restart.
Oczywiscie bedzie pamietac o tym fakcie ustawiajac sobie licznik takich zdarzen
na kolejna wartosc niz byla poprzednio. Powiedzmy ze max takich zdarzen
bedzie ustawiona na 2 razy. Wiec jesli pod rzad zdarzy sie, ze bedzie musial
restartowac komputer to w koncu sie podda i wylaczy go calkowicie.

Mysle tylko, ze przy restarcie trzeba bedzie poczekac nieco dluzej poniewaz
system wykonuje po restarcie sprawdzanie integralnosci plikow co wydluza sam
start komputera o kilka minut. W kazdym razie na bank mi sie to przyda :)

Pomyslalem tez o czyms innym, ale mysle, ze to juz w przyszlosci.
Mam kamerke i program przez ktory sobie obserwuje nieraz co sie
dzieje w domu ale zawsze mi doskwieralo to, ze nie moge jej obrocic
w dowolna strone, a teraz to juz latwizna :P

Autor:  -MW- [ niedziela, 14 grudnia 2008, 00:59 ]
Tytuł: 

wytarczy stawic adapter na 33 obroty/min i juz masz przeglad calego otoczenie :)

Autor:  CyberDuck [ niedziela, 14 grudnia 2008, 15:20 ]
Tytuł: 

Jasne :D Adapter przykrece do sufitu i do niego kamerke :D
I po co mi ogladanie sciany jesli kamerka jest w rogu pomieszczenia ?
Poza tym problem z przewodem ktory sie moze bardzo szybko ukrecic :P

Osobisice jestem zwolennikiem rozwiazan bardziej przemyslanych.
Nie mam problemu z mikrokontrolerami, a ostatnio mi porzypadl
do gustu ST7 i napisanie programu dla niego to dla mnie zaden problem :
http://forum.mikrokontrolery.net/viewtopic.php?t=1603
Poza tym wole patrzec tam gdzie, a nie tam gdzie mi automat kaze.
Jeszcze wczoraj po instalacji pakietu napisalem sobie skrypt w
php, ktory mi sterowal wyjsciem LPT z poziomu strony i dzialalo super.
Na szybko sklecilem sobie z tranzystorow i diod wskaznik.
Tak wiec wykorzystam dwa bity na sterowanie reseterem, a reszte
na sterowanie jakis dodatkowych urzadzen i praktycznie ich ilosc
jest nieskonczona. Szkoda tylko ze w tym pakiecie nie ma rozkazu, ktory
wysyla odpowiednie slowo na wyjscie, ale to da sie obejsc.

W kazdym razie temacik jest piekny :)

Jest jeszcze cos takiego co znalazlem :
http://www.octave.pl/2008/09/a-jak-ty-k ... swoje-lpt/
Tam jest gotowe rozwiazanie, a po instalacji zyskuje sie komende
./set i ./get , ale nie potrafie skompilowac programow jakie sa tam
przedstawione w zrodlach .
set 20 wystawia na port binarnie 20
get pobiera zawartosc portu do zmiennej.
Moglby ktos to skompilowac do gotowego pakietu ? Prosze :)

Autor:  -MW- [ niedziela, 14 grudnia 2008, 16:51 ]
Tytuł: 

a zastanowiles sie kiedys jak sobie radzili przodkowie z otwieraniem metalowych puszek przed wynalezieniem wymyslnych otwieraczy?


ps
nie mozna tego zrobic prosciej na jednym tranzystorze i mikroprzekazniku czerpiac zasilanie wprost z portu com czy rs232?

komputer jest nieco powazniejszym mikrokontrolerem niz ten ktory ty proponujesz.

a jesli koniecznie chcesz wytoczyc armate to zainteresuj sie urzadzeniem sieciowym z odpowiednim oprogramowaniem tak aby komp byl zupelnie zbedny - bo chyba w takim przypadku ma ses cala praca.
Cytuj:
Szkoda tylko ze w tym pakiecie nie ma rozkazu, ktory
wysyla odpowiednie slowo na wyjscie

w pakiecie masz wszystko co trzeba - slowo ustawisz sobie sam
nawet mozesz przeslac " kurw.... mac" :lol:

Autor:  CyberDuck [ niedziela, 14 grudnia 2008, 18:36 ]
Tytuł: 

Cytuj:
a zastanowiles sie kiedys jak sobie radzili przodkowie z otwieraniem metalowych puszek przed wynalezieniem wymyslnych otwieraczy?


Nie bo po co ? Jest 21 wiek i ja staram sie isc na miare mozliwosci do przodu, a nie
wracac sie w tyl. Jesli tak mowisz to dlaczego chcialbys jezdzic samochodem z najnowszymi
rozwiazaniami a nie np rowerem ?

Cytuj:
nie mozna tego zrobic prosciej na jednym tranzystorze i mikroprzekazniku czerpiac zasilanie wprost z portu com czy rs232?

Mozna. Ale nie ma pewnosci, ze niepojawi sie jakis nieustalony stan na
wyjsciu RS czy tez LPT i dlatego wole pewne rozwiazanie. Gdzie na innym forum
przeczytalem, ze ktos zbudowal sterowanie silnikiem krokowym w ten sposob i
podczas startu komputera pojawialy sie rozne smieci na zlaczu co owocowalo
dosc duzymi obrotami tego silnika. Wole nieryzykowac tym, ze podczas startu
komputera juz wtedy zostanie podany sygnal restartu.
Wierz mi ze uklad na mikrokontrolerze to zaledwie pare elementow, a pewnosc
dzialania gwarantowana. Uklad pobiera na tyle malo energii, ze mozna nawet go
zasilic bezposrednio z portu. U mne lezy na kompie taki uklad uruchomieniowy
zasilany bezposrednio z portu USB :

Obrazek

po zdjeciu wyswietlacza wyglada tak :

Obrazek

I jak widzisz dziala. Udalo mi sie to nawet zasilic ze zwyklego
kondensatora elektrolitycznego i dzialalo z wyswietlaczem
bez podswietlenia przez okolo 20 sek wiec mozesz sobie
wyobrazic pogladowo jak to wyglada.
Jesli patrzyles na moj post wczesniej uklad zbudowany i oprogramowany
przezemnie dziala bezawaryjnie juz przez 6 miesiecy, a biorac pod uwage
ostatnie ujemne temperatury to serio jestem zadowolony.

Cytuj:
a jesli koniecznie chcesz wytoczyc armate to zainteresuj sie urzadzeniem sieciowym z odpowiednim oprogramowaniem tak aby komp byl zupelnie zbedny - bo chyba w takim przypadku ma ses cala praca

Poczatkowo mial to byc jedynie reseter do NND i takim ma byc.
Dokupienie modulu sieciowego to tez nie problem i wtedy rzeczywiscie
mozna z dowolnego miejsca na swiecie zaparzyc sobie kawe w domu :D

Cytuj:
w pakiecie masz wszystko co trzeba - slowo ustawisz sobie sam

W pakiecie sa slowa :
zapal, zgas, rstlpt, reseter
ale nie ma slowa ktore wystawia dowolna liczbe binarna.
Zaraz to sprobuje ten program z ostatniego mojego postu skompilowac
do C i zobaczymy jak zadziala. Musialem najpierw zainstalowac w NND
comilator.

Autor:  CyberDuck [ niedziela, 14 grudnia 2008, 18:49 ]
Tytuł: 

No i se nieskompiluje bo przy kompilacji mam taki maly problem :

: [/] [] ()
[root@Serwer .pliki]# g++ -o /usr/bin/get get.cpp
get.cpp:1:20: iostream: Nie ma takiego pliku ani katalogu
get.cpp:2:19: cstdlib: Nie ma takiego pliku ani katalogu
get.cpp: In function `int main()':
get.cpp:10: error: `cout' undeclared (first use this function)
get.cpp:10: error: (Each undeclared identifier is reported only once for each
   function it appears in.)
get.cpp:11: error: parse error before `return'


Ponawiam wiec prosbe przy kompilacji tych programikow.

Autor:  CyberDuck [ poniedziałek, 15 grudnia 2008, 00:39 ]
Tytuł: 

Mam juz dzialajaca komende 'set x' gdzie x to liczba z zakresu 0 do 255.
Liczba jest wystawiana poprzez te komende na port lpt w postaci osmiobitowej.
Sprawdzalem i dziala ...
Jak skompiluje get to dam linka.

Stad mozna pobrac komende set :
http://87.206.122.127/pliki/set.zip

Autor:  CyberDuck [ poniedziałek, 15 grudnia 2008, 02:49 ]
Tytuł: 

Prosba do koogos dobrze znajacego C.
Prosze o skompilowanie tego z ostatniego postu na tej stronie :
http://www.searchengines.pl/Sterowanie- ... 97169.html
Mnie wywala pare bledow podczas kompilacji i nie moge sobie z tym poradzic.
Jeszcze lepiej jesli ktos by sie zajol tym :
http://www.elektroda.pl/rtvforum/viewto ... 58#4412458

Autor:  CyberDuck [ poniedziałek, 15 grudnia 2008, 20:27 ]
Tytuł: 

Tak wiec dzieki Alana z forum elektroda mam dzialajacy skrypt i
jesli ktos chce go sciagnac sobie to : (mam na to pozwolenie Alana i jej serdecznie dziekuje)
http://87.206.122.127/pliki/?id=10

Co trzeba zrobic zeby z tego skorzystac ?
1. w bios musi byc ustawiony tryb pracy portu LPT :
EPP albo na bidirectional
Parallel Port Mode EPP
Mozna tez wlaczyc DMA dla portu jesli ktos ma :
ECP Mode Use DMA : 3
i wlaczone zasilanie portow.
Pisze to na wszelki wypadek bo moja plyta stala dlugo w szafie i musialem to wlaczyc.
2. wystarczy plik zgrac do dowolnego foldera i korzystac do woli :
/folder/lptset -pisz x
Wystawia liczbe x na port lpt w postaci dziesietnej przeliczajac ja na binarna.
Czyli jesli chcemy ustawic D0 i D3 na 1 a pozostale na 0 to wystarczy napisac :
/folder/lptset -pisz 9

/folder/lptset -czytaj
Zwraca w postaci dziesietnej to co jest podane na port lpt.

/folder/lptset -pin
podaje stan portow tylko do odczytu
w gornej lini odczyt ABP+1 w dolnej ABP+2

/folder/lptset -piszs x
Pozwala wlaczyc poszczegolne piny w porcie statusu LPT

/folder/lptset -h
Pomoc.

U mnie dziala znakomicie ... Mam podlaczone diody do portu LPT i napisanie juz
dowolnego programiku wykonawczego np w php to formalnosc :)

Praktyka :
Przedewszystkim w bios musimy ustawic port w mod EPP
Teraz zeby port ustawic jako wyjscie :
lptset -piszs 0
i juz mozna pisac do portu dowolne dane :
np lptset -pisz 15
ustawi nam bity D0 do D3 na 1 a reszte na 0.
W ten sposob mozna cos tam sobie wysylac do dowolnych urzadzen.

Zeby przejsc w tryb czytania :
lptset -piszs 32
i to co podamy z zewnatrz juz mozemy czytac przez :
lptset -czytaj
Zwarcie dowolnego wejscia do masy i wykonanie tej komendy zaowocuje
wyswietleniem w postaci liczby z zakresu 0 - 255 odpowiadajacej
stanom na wejsciach.

Zeby wykonac komende z pod php :
piszemy z konsoli 'chmod +s lptset' czyli nadajemy prawa i :

: [/] [] ()
$liczba = 'XXX'; // XXX liczba z zakresu 0 - 255
shell_exec(shell_exec("lptset -pisz $liczba");


jesli chcemy czytac to :

: [/] [] ()
$liczba = shell_exec(shell_exec('lptset -czytaj');
echo "stan na wejsciu : $liczba <br>";


Jesli masz plik lptset w jakims innym katalogu niz stronka to koniecznie
dopisz przed katalog gdzie sie ten plik znajduje np :
/home/httpd/lptset -pisz 20

Autor:  -MW- [ poniedziałek, 15 grudnia 2008, 20:47 ]
Tytuł: 

nie napisales najwazniejszego gdzie mozna sie zopatrzyc w ement wykonawczy.

Autor:  CyberDuck [ poniedziałek, 15 grudnia 2008, 21:09 ]
Tytuł: 

Robie dopiero. Ale planuje to zrobic tak :

Plytka bedzie wyposazona w mikrokontroler firmy semiconductors ST7Lite19
z pamiecia rom 4 KB, pamiecia RAM 2 KB, EEPROM, Dwoma portami wejscia wyjscia.
Opisuje to bo to daje obraz mozliwosci tego mikrokontrolera.
Moze byc zasilane bezposrednio z zasilacza komputera przy pomocy
zwyklej przejsciowki. Oczywiscie plytek wyposaze w kondesatory odsprzegajace
i tym podobne. Na plytce znajda sie 3 przekazniki :
1. sterujacy resetem komputera
2. sterujacy wylacznikiem komputera
3. sterujacy dowolnym innym urzadzeniem w celu jego zrestartowania np switchem.

Na plytce beda istniec zlacza do podlaczenia wylacznika z obudowy i przycisku reset
oraz gniazda do podlaczenia do plyty glownej komputera do reset i power oraz
do podlaczenia dowolnego innego urzadzenia szeregowo z zasilaniem niskonapieciowym.
Bedzie tez umieszczone zlacze do podlaczenia do portu LPT.
Przy starcie komputera dzieki temu ze sie pojawiaja rozne smieci na zlaczu LPT to
program ST to zauwazy i wydluzy czas na oczekiwanie na sekwencje danych.
Czas ten bedzie mozna sobie dowolnie ustawic poprzez wyslanie do resetera odpowiedniej
sekwencji danych. Podobnie jak bedzie mozna sobie nastawic czas oczekiwania na sekwencje
danych resetujacych licznik czasu.
Teraz jesli juz program ST przejdzie do normalnej pracy oczekujacej na odpowiednia
porcje danych to bedzie czekac odpowiednia ilosc czasu wczesniej nastawiona.
Jesli w tym czasie, powiedzmy 2 min, pojawi sie odpowiednia sekwencja danych na LPT
to ST wyzeruje sobie wewnetrzny licznik czasu do zera. I tak bez konca.
Jesli sie taka sekwencja niepojawi co bedzie oznaczac np zawieszenie sie NND to
zostanie na wyjscie reset podany impulst resetujacy komputer. Czas w tym wypadku
oczekiwania na pierwsza porcje danych bedzie musialbyc wydluzony ze wzgledu na
podejmowanie przez NND roznych dodatkowych czynnosci np sprawdzania dysku.
Cas ten oczywiscie bedzie mozna sobie ustawiac dowolnie.
Jesli po resecie i minieciu maxymalnej ustalonej wartosci czasu niepojawi sie
poprawna dawka informacji na LPT to NND zostanie zrestartowany ponownie.
Jesli zas za drugim razem znowu sie reset niepowiedzie i zostanie przekroczony
czas oczekiwania to komputer zostanie wylaczony calkowicie.
Wysylanie porcji danych bedzie bardzo proste :
wystarczy w crontab -e wpisac sobie wykonywanie co minute odpowiedniego
pliku tekstowego i po sprawie.
Wyslanie odpowiednich ustawien bedzie poprostu zrobione poprzez uruchomienie
odpowiednich bash z konsoli. Zmiana wartosci bedzie na samym koncu.
Cztery rozne sekwencje :
1. resetujaca licznik oczekiwania przez ST
2. ustawienie czasu oczekiwania po restarcie NND
3. ustawienie czasu oczekiwania na kazda poprawna paczke danych
4. reset innych urzadzen podlaczonych do resetera.

Ja tak to widze, ale jesli ktos ma jakies ale to prosze sie wypowiedziec.
Poza tym moge wykonac kilka egzemptlarzy odrazu za jednym zamachem.
W sumie to najtrudniejsze bedzie wykonanie plytek, a wsadzenie elementow
to juz jest pryszcz. Jesli ktos to bedzie chcial to policze poprostu za elementy.
Koszt urzadzenia wraz z chemia niepowinien przekroczyc 50 zl, ale jak to bedzie
w praktyce to zobaczymy.

Autor:  -MW- [ poniedziałek, 15 grudnia 2008, 21:12 ]
Tytuł: 

i rozumiem ze jak sie znajdzie 100 chetnych to jestes w stanie szybko wykonac po rozsadnej cenie.

Autor:  CyberDuck [ poniedziałek, 15 grudnia 2008, 21:13 ]
Tytuł: 

Nieczytales czy co ?
Przeciez napisalem ...

W zasadzie najwiecej czasu zajmie napisanie pod to programu.

Autor:  -MW- [ poniedziałek, 15 grudnia 2008, 21:23 ]
Tytuł: 

a reszta ktorej nie zrobisz?


Cytuj:
Cytat:
a zastanowiles sie kiedys jak sobie radzili przodkowie z otwieraniem metalowych puszek przed wynalezieniem wymyslnych otwieraczy?


Nie bo po co ? Jest 21 wiek i ja staram sie isc na miare mozliwosci do przodu, a nie
wracac sie w tyl. Jesli tak mowisz to dlaczego chcialbys jezdzic samochodem z najnowszymi
rozwiazaniami a nie np rowerem ?

nasowa sie odpowiedz: to zrob sobie sam!

ps.
sa tacy ludzie ktorzy okres manufaktury i chalpnictwa maja przed soba,
ale sa i tacy ktorzy do niego nie chca wracac,
wola rozwiazania proste i dostepne w handlu.

pozdrawiam i zycze pomyslow przy nastepnym projekci.

Strona 1 z 2 Strefa czasowa UTC+2godz.
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/