Szukaj:Słowo(a): 18 dBI 10m 2

witam
moze Wy szanowni grupowicze mi doradzicie cokolwiek
pokrotce opisze
eter zaszumiony na max srednio apek widzi 30 - 40 innych sieci



Ops, u mnie już by nie działało chyba.

mam klientow mniej wiecej rozrzuconych po kole w promieniu max 3km od bazy
na bazie extraeter 18 + osbridgexl z cyberbajtu
u klientow przewaznie kanciaki + yagi 18 z 15 metrowymi kablami



Może zmienić karty na apeki?

klientow 30



jakie łącze i łącza?

baza zaczyna siadac sygnal sie kiepsci, klienci marudzic zaczynaja, pingi
sie bujaja od 10-100



w normie

zmianialem antene na polaryzacje pionowa i w sumie duzo to nie dalo



To chyba czas przejść na 5GHz lub wypróbować panele 18dbi np MAXI z DIPOLA.
Wziąłem takiego na próbę i porównałem netstumblerem z Yagi 19 (ze
sklep.komputersoft.pl) wygląda na to, że yagi sprzedawana jest ze
zdecydowanie zawyżonymi parametrami.
Panele są również bardziej niż Yagi odporne na fale w innej polaryzacji.
zatem zdaje sie na Was



Witam,

Jak mam Signal -70 dBm, to oznacza, że w tym punkcie moc odbierana wynosi
10 do potęgi -7, czyli 0,0000001 miliwata? Przecież to jakieś jest
niedorzeczne...

Przeprowadziłem test: ustawiłem kartę WL-8305 w tryb Ad-Hoc (aby móc
wygodnie mierzyć sygnał przez nią wydawany). Karta ma 18 dBm, 5 metrów
kabla + parabola 20 dBi. czyli moc wydawana to jest około 35 dBm. Mam
racje? To dlaczego jak za parabolą postawię kartę Orinoco Classic Gold, to
pokazuje mi jedynie -12 dBm na Orinoco? Według moich powyższych wyliczeń
powinna pokazywać chyba +35 dBm.

Czy dobrze to liczę, czy się mylę? A jeżeli sie mylę, to w czym?

U mnie akurat gdzie było 0 widoczności, przez budynek i jeszcze drzewa, Yagi
nie sprawdzała się a sygnał dopiero millenium złapała i do dzisiaj działa.
Może to przypadek że dobrze zrobioną dostałem. Zima - lato bez zmian. Ale
fakt że w lini prostej to 400m.

Dlatego podają 15-18 dBi bo współpracując z anteną o polaryzacji pionowej
lub poziomej osiąga 15dBi zysku, a przy współpracy z taką samą 18 dBi.
Dopiero teraz na to wpadłem.





: Wtrace sie przy okazji.....
: Ponoc w terenie zabudowanym lepiej stosowac anteny helikalne, unika
sie
: wtedy szkodliwych odbic....
: Czy halikalne w takim srodowisku beda lepsze od anten Yagi?

Czytaj dalej bajki.. ale nie musisz ich opowiadać...
Tę kto wymyślił znowu, interline?

m.

--
WLAN FAQ: http://milea.pl/pl/wlan-faq/
WiFi NEWS: news://news.milea.pl/

main() {int j=-1;char t[]="eYadlg2eYj[af8ead]Y&hd ";while(t[j]!=' ')
{putchar(t[++j]+'10');} return 0;}




Dlatego podają 15-18 dBi bo wspólpracując z anteną o polaryzacji
pionowej lub poziomej osiąga 15dBi zysku, a przy wspólpracy z taką
samą 18 dBi. Dopiero teraz na to wpadlem.



to jeszcze wpadnij na to ze te 15-18 to tak na prawde 7-10, a moze
nawet 5-8 :)

Pozdrawiam.

A też ostatnio zobaczyłem że biquad mojej roboty działał lepiej od Millenium
i Yagi 19 (te stare już nieprodukowane od Wirefree).





| Dlatego podają 15-18 dBi bo wspólpracując z anteną o polaryzacji
| pionowej lub poziomej osiąga 15dBi zysku, a przy wspólpracy z taką
| samą 18 dBi. Dopiero teraz na to wpadlem.

to jeszcze wpadnij na to ze te 15-18 to tak na prawde 7-10, a moze
nawet 5-8 :)

Pozdrawiam.



To dlaczego niektore sklepy robia certy na zestaw i bula za to duzo kasy?



Właśnie po to aby bulić za to dużo kasy :-)

Powiedzmy ze u usera bedzie legalnie u mnie troche mniej legalnie....
Zastanawia mnie czy faktycznie yagi jest lepsze o millenium chodzi o typ
anteny (np przy zalozeniu ze obie maja 15dB to ktora bedzie lepsza i dlaczego
moze mi ktos to wyjasnic?).



Millenium ma 15 dBi jak ja jestem ksiądz. Ona ma najwyżej 8 dBi... Byle
panel 8 dBi bije ją na głowę...

Jak wspomniałem wyżej: Millenium (i wszystkie helicale) mają polaryzację
kołową i ściągają szum i zakłócenia z wszystkich polaryzacji. Nie masz co
liczyć na niej na stabilny sygnał. W każdych warunkach Yaga jest lepsza. A
jak założysz sobie Millenium w mieście, gdzie masz duże odbicia i szum to w
ogóle linka nie zrobisz. SNR będzie Ci latać: 10 dB, 20 dB, 15 dB, 3 dB,
itd. Yaga da stabilny sygnał. Na terenie zadrzewionym silnie (ale nie
zakłóconym) polecam panele 18 dBi (choć one tyle raczej nie mają). Tam
gdzie duże zakłócenia to tylko Yagi (polaryzacja liniowa pozioma lub
pionowa, nie ściąga szumu). Im dłuższa tym lepsza: te które podałem jako 20
dBi mają 105 cm.

Witam grupowiczów.
Mam okazję w najblizszym czasie przejść na częstotliwość 5 GHz
równocześnie zwiększając transfer na 512 lub 1024, obecnie korzystam z
karty na rt 2400 łącze 256/64 długość kabla ok 10 m antena
paraboliczna, odległość od nadajnika ok 1,5 km (ogólnie śmiga bez
problemu, czasem w okresie letnim (antena nadawcza przesłonieta przez
liscie)wystepują niewielkie problemy. Przy przejściu na 5 GHz dostęp do
sieci przeprowadzony bedzie przez AP.
Moje pytanie dotyczy; czy
częstotliwosć 5 GHz pod względem wpływu naturalnych przeszkód
(liście drzew itp)na jakość połaczenia jest bardziej odporna niz pasmo
2,4 GHz ?
Z góry dziękuje za odpowiedzi.



Odporność na przeszkody jest o wiele mniejsza. Powiem więcej ... 2,4 GHz
podziała nawet z odbitej. 5 GHz wymaga wzajemnej widoczności anten. Różnice
... odległośś 1,5 km dla np. routerboarda 532 z kartą 400 mW na antenie Mars
23 dBi to pryszcz i do dookólnej na takim samym sprzęcie bezproblemowo łącze
na poziomie 18-24 Mbitów (oczywiście half-duplex) przy pingu
kilkumilisekundowym.
Pozdrawiam.

Witam,
kupilem w yagi_pl antene (na allegro) "MOCNA ANTENA PANELOWA -
MIKROPASKOWA
17dBi 2,4GHz". Chcialem jej uzyc do linka na 300 m. Do tej pory
uzywalem tam:
- przyzwoitej anteny typu yagi 18 dBi,
- starej helicalnej 15 dBi (kupionej 10 lat temu - zalosnej jakosci -
nawinietej na rurze od odkurzacza).

Na tym komplecie (helikalna i yagi) karta Avaya pokazuje sygnal -74
dBm.
Po wymianie (MOCNA PANELOWA....i yagi) sygnal -77 dBm.

Doszedlem do wniosku, ze ta MOCNA PANELOWA.... jest do bani i
poprosilem o wymiane na
MOCNA ANTENA KIERUNKOWA GRID 20HV 2,4GHz.

Umowilem sie, ze dostane upust 10% na tym gridzie zeby zrekompensowac
mi koszty przesylki.

Dzisiaj doszedl do mnie grid (zalatwianie tego trwalo prawie 2
tygodnie) i sie niemilo rozczarowalem.

Wystawili mi fakture z cena za grida 20 zl, wyzsza niz z allegro (142
zl zamiast 122 zl), korekte na
69,95 (cena panelowej z allegro) i zadnej znizki 10%.

Zaplacilem 3x za wysylke i kupilem antene za 142 zl zamiast 110 zl
(inny sprzedawca na allegro).

Firme yagi.pl stanowczo odradzam :)

Sprawe probowalem wlasnie zalatwic - to dowidzialem sie, ze te 10% to
da sie zalatwic a roznica
w cenie allegro i "ze strony" to: "tak musi byc". Jak poprosilem nr
tel. do przelozonego to
okazalo sie, ze pracownik nie moze mi dac :) (to jest praktyka
oszukanczych firemek)

pozdrawiam
Tomek Grabowski

Jak przetestuje MOCNA ANTENA KIERUNKOWA GRID to dam znac.

swietnie, tylko ze mialem w zeszlym roku link na 2 km. chodzilo ladnie nie
narzekalem. przyszedl crowley postawil dwa benbenki i link poszedl sie j....
nie pomogly dwie jagi po 18 dbi, paraboli powiesic nie moge (10 pietro, okna
na zachod, duza przestrzen, i przewaga wiatroof zachodnich i to calkiem
silnych. poprostu kappa. teraz musze wymyslec jakies sensowne likniecie sie
z osiedlem. i z tego powodu szukam alternatyw dla radia. inna sprawa ze jak
cos robie to chcialbym to zrobic i zapomniec(tzn zeby nie bylo awari niskich
pingow itp.)
wpadlem na pomysl zeby rzucic kabel (czyt swiatlowód)... tylko ktorendy?
pozdrawiam
SlawcioD

| stanelem z orinoko na balkonie i lapnolem z 18( słownie: osiemnascie!!!)
| ap...
| kumpel z 2 km dalej lapie 29 ap (tak dwadziescia dziewiec acces pointow)
| to troche gesto. nie sadzicie:)?

A anteny kierunkowe to pies ?
Dadzą ci lepsze S/I [Singnal/Interference]

--

Home Page http://anfi.homeunix.net/ [ PageRank 6 ]




swietnie, tylko ze mialem w zeszlym roku link na 2 km. chodzilo ladnie nie
narzekalem. przyszedl crowley postawil dwa benbenki i link poszedl sie j....
nie pomogly dwie jagi po 18 dbi, paraboli powiesic nie moge (10 pietro, okna
na zachod, duza przestrzen, i przewaga wiatroof zachodnich i to calkiem
silnych. poprostu kappa. teraz musze wymyslec jakies sensowne likniecie sie
z osiedlem. i z tego powodu szukam alternatyw dla radia. inna sprawa ze jak
cos robie to chcialbym to zrobic i zapomniec(tzn zeby nie bylo awari niskich
pingow itp.)



Oczywiście próbowałeś kombinować z położeniem tej anteny obok anteny crowley'a?

[...]



--

Home Page http://anfi.homeunix.net/ [ PageRank 6 ]


Odpowiem moze bardziej kompleksowo.

| Jakie przepisy regulują (...), strefy bezpieczeństwa

Obecnie jest to Rozporządzenie  z Dz. U. nr 107, poz. 676 i w tym zakresie fal
jest podana gęstość mocy równa 0,1 W/m2.
Nie ma żadnych regulacji odnośnie szkół, przedszkoli, itp Kiedyś (do sierpnia
1998r) były takie regulacje (Dz. U.  nr 25 z 1980, poz. 101, szkoly i
przedszkola nie mogły się znajdować w strefie pola o gęstości 0,025 W/m2)
ale obecnie gęstość pola ma być mniejsza od wyżej wspomnianej (0,1) wartosci.

Dla przykładu - antena panelowa o zysku 18,5 dBi zasilana z BTSa mocą 25 W (w
Twoim przypadku jest pewnie podobnie).
ERP w głównej wiązce promieniowania to ok. 560 W. Antena ma w pionie bardzo
wąską wiązkę o szerokości ok. 6.5 stopnia. Na zerowym kącie od anteny (na
wprost) strafa narażenia to 21 m, na 5 stopniach 9,5 m, na 10 4,5m a na 15
2,11m.
W poziomie wiazka jest szersza i na zerowym kacie strefa narazenia to jak
wyzej 21 m, na 20 stopniach 17,5 m, na 60 stopniach 7 m.
Wszystko zależy więc od tego jak te anteny są pochylone w stosunku do Twoich
okien, ale nawet przy dokładnym wycelowaniu w takim przypadku wszystko zgodnie
z rozporzadzeniem jest ok (20m vs 40m).
Ale jeśli Cie to martwi to ja podjechalbym do Centertela (dla Twojej
lokalizacji to chyba w Warszawie) i wyciągnąłbym raport oddziaływania,
ewenetualnie porozumiałbym się z WIOŚ lub z Sanepidem, mogą dokonać
odpowiednich pomiarów.



Wielkie dzięki tego mi było trzeba.

Pozdrawiam
Krzysiek M.

Hmm no to odpada :I Cholera bo nadal chyba trochę jeszcze brakuje by był internet wszędzie bez problemu... pewnie dlatego że ta antenę co kupiłem to jakieś cudo chyba nie jest tylko samoróbka (niby 17 dbi ^_^)taka co myślicie ? Co zrobić jeszcze by wzmocnić ten sygnał.W domku na górze sygnał jest dobry tam coś 4-5 kresek więc super na dole dziwne bo potrafi w jednym miejscu być 5 kresek a za kilka sekund zerwać połączenie.Nie wiem może to dlatego że cała okolica(ogrodzenie,maszyny typu traktor ,wywrotka,itp itd) stoją niedaleko domu obok są też budynki całe ze stali i jak myślcie może to wszystko osłabiać/odbijać sygnał i przez to tak skacze?Teraz żałuje że nie wziąłem jakieś firmowej anteny kierunkowej.... To co proponujecie ? Można zrobić np na dachu od domku jakiś odbiornik który odbiera sygnał i rozsyła go jeszcze raz w okolicy domu ? ( to sie zwało AP tak xD? ) czy może coś innego ? Jak na razie mam router ten co wybrałeś antenę tą co podałem link wyżej i to połączone kablem h-155 4 metry.Antena jest gdzieś na wysokości 4 metrów niby więc już tak prawie nad ogrodzeniem...

[ Komentarz dodany przez: BliSki: 2008-10-27, 18:12 ]
Witam.Puki co to nie jest wielki problem, ale wolę zapytac.
Mam łącze 20 MB/s Exatela symetryczne. Dosył łącza na 5G do wieżowca skąd rozprowadzam na poszczególne sieci. I od jakiegos czasu z jednej sieci mam ruch pod 10 MB/s i kilku klientów pisze ze czasem jest kilkusekundowe lub 2-3 minutowe spore spowolnienie. Dostył Exatela ustawiony na 24MB/s (zaznaczam ze wszystko na routerboardach + anteny 23 dbi, karty ustawione na 15 dbm zeby zbytnio nie szumiały). Dzis dosył ustawiłem na 18/24 MB/s , reszta z BTS puszczona na 12 MB/s (4 oddzielne sieci). Może ktos miał cos takiego ??? Wszystkie anteny oczywiscie polaryzacja pionowa, wszelkie routerboardy i karty takie same. Boje sie ze jak przyłącze jeszcze jedną siec to zacznie dosył wariowac.

(PS. Dosył z exatela jest na odcinku 500m a reszta sieci około 3 km w róznych kierunkach , najdalej 9 KM)
president carolina lub ohio lub iowa najlepiej, stosunek dlugosci do podbicia, przy tej dlugosci wiecej jak 3 dBi nie uzyskasz.
spliter
president johny lun alan 18, johny jest mniejszy. sprobuj poszukac johnego 1, johny 2 jest nowszy, ale drozszy, chyba ze ci to dynda

johnego moge ci zaprezentowac w realu, mamy w busa wstawionego.

antenka na dach, spliterek, cb i zwykle, powinno sie ladnie prezentowac.
hektarow na tym nie zrobisz, ale z 10 kilo z dobrym wiatrem pociagnie.
kwestia pogody oczywiscie

jakby ktos nie wiedzial, zasieg radia zalezy rowniez od pogody, a dokladniej od plam na sloncu
w zime jest ich mniej, i zasiegi sa lepsze
sorry, wiem ze temat chyba zamkniety, ale mam podobny problem,
robie siec wifi, na dachu mam antenke 20dB, ap i z metr kabla, czy klientom wystarczy zwykla kaczka dolaczona do kazdej karty wifi?? czy kupic im jakas lepsza... zalezy mi na kosztach u klientow, siec musi dzialac do niecalego kilometra


Jeśli zależy Ci na tanim rozwiązaniu to rób sam anteny. Koszt jednej ant biquad to 10 - 15 zl, czas wykonania do 1 godziny. Zysk okolo 10 - 12 dBi , przy odleglosci do 1 km - bezposrednia widocznosc anten (AP 20 dBm + antena sektor zysk 18 dBi) masz pewny sygnal (Netstumbler 60 dBm). Co do anten dolaczonych do kart to przy odleglosci do 300 m bedziesz miec sygnal, ale jakosc polaczenia moze byc mizerna, albo żadna. Wszystko w praktyce - bo teoretycznie powinno dzialac. Zwróc szczególną uwagęna czułość kart klienckich najlepiej do 95 dBm (ja używam msi 54g2 lub pc2100c). W domu mam usb planet WL-U350b - używam sporadycznie (czułość max. 85 dBm). Jeszcze jedno; staraj sięużywać kart od jednego producenta, duża róznorodość obniża transfer z AP.
Zamontowałem dzisiaj antenę i kartę wszystko połączyłem 16 metrami kabla h155 i SRSK_sepolno i SRSK_biskupin czasami mi zlapie lecz sygnal jest na 30 - 40 %



Kabel jak na H155 bardzo dlugi (chyba nie zaleca sie go na wieksza odleglosc niz 10m). Lepszy bylby RF-240 albo, jak jego zamontowanie nie bedzie zbyt klopotliwe to H1000

Mam kartę ASUSA WL- 138G
i antenę niestety kupiona na allegro ponoc 18 dBi ale na polaryzacje kołową.



moim zdaniem bez porzadnej, pewnej anteny (np. z dipol.com, a nie z Allegro), przy tej dlugosci kabla, to nie ma sensu.

Podczas łączenia proces staje na pobieraniu zewnętrznego adresu.



Bo masz moc nadawcza za mala (duza strata na kablu+kiepska antena), wiec ty widzisz AP, ale AP nie widzi ciebie.


| ppm install DBI.ppd
Ofkoz, doozo prosciej, lecz niestety nie zadziala (u mnie nie zadziala), jak
pisalem wczesniej , wywala jakies kwasy o braku pliku PPD, nie wiem co jest
grane...

| Jesli to nie dziala, to prawdopodobnie zainstalowales Perla z pliku AS
(exe),
| zamiast MSI. W takim razie musisz dodac perla do PATH, a dla plikow .pl
| ustawic uruchamianie przez c:perlinperl.exe (lub wPerl.exe, jesli
chcesz
| uniknac konsoli)

tylko jeden sposob, najpierw perl ppm.pl a pozniej install /location costam
DBI.
Moze cos po drodze zwalilem, a moze to tylko uroki MS WIN32 ;)



Bez przesady. To dziala na Winzgrozie, a Perl jest jednym z nielicznych
znanych mi rzeczy, ktore dzialaja tam dobrze.

To ja widze kilka mozliwosci:

albo z jakiegos powodu nie ma tam pliku ppd...

albo nie ma binariow dla platformy win32 (pliczek tar.gz zawarty w zipie
ma w nazwie platforme)

albo nie odpalasz ppm'a z katalogu, w ktorym jest plik ppd (co oczywiscie
spowoduje taki blad, bo przeciez skad biedny ppm ma wiedziec, gdzie
masz ten plik? ;))))) )

Prawidlowe dzialanie:

Rozpakowujesz archiwum do katalogu, np: d: empsex

D:cd tempsex

D:TEMPSexdir

01/04/03  10:56         <DIR         .
01/04/03  10:56         <DIR         ..
01/04/03  10:56         <DIR         i686-linux-thread-multi
01/04/03  10:56         <DIR         MSWin32-x86-multi-thread
01/01/02  18:39                    124 README
01/01/02  18:27                    741 Sex.ppd
01/04/03  10:56         <DIR         sun4-solaris-thread-multi
          7 plik(ów)               865 bajtów
                           296 910 336 bajtów wolnych

D:TEMPSexppm install Sex.ppd

I powinno zadzialac... Jesli nie, to cos masz skopane w instalcji Perla,
albo masz BARDZO starego perla build 5xx, ktory wymagal patcha na PPM'a

Pozdrawiam

Odpowiem moze bardziej kompleksowo.

Jakie przepisy regulują (...), strefy bezpieczeństwa



Obecnie jest to Rozporządzenie  z Dz. U. nr 107, poz. 676 i w tym zakresie fal
jest podana gęstość mocy równa 0,1 W/m2.
Nie ma żadnych regulacji odnośnie szkół, przedszkoli, itp Kiedyś (do sierpnia
1998r) były takie regulacje (Dz. U.  nr 25 z 1980, poz. 101, szkoly i
przedszkola nie mogły się znajdować w strefie pola o gęstości 0,025 W/m2)
ale obecnie gęstość pola ma być mniejsza od wyżej wspomnianej (0,1) wartosci.

Antena Panelowa w zasadzie trzy *2 (odbiór i nadawanie)



dokladnie jest tak - jedna nadawanie, obydwie odbior,

na standardowym
maszcie GSM  moje okno jest niżej od anteny o jakieś 10 metrów. ale to
jest wciąż wiązka głowna, jak wynika z mojej wiedzy na ten temat.



Dla przykładu - antena panelowa o zysku 18,5 dBi zasilana z BTSa mocą 25 W (w
Twoim przypadku jest pewnie podobnie).
ERP w głównej wiązce promieniowania to ok. 560 W. Antena ma w pionie bardzo
wąską wiązkę o szerokości ok. 6.5 stopnia. Na zerowym kącie od anteny (na
wprost) strafa narażenia to 21 m, na 5 stopniach 9,5 m, na 10 4,5m a na 15
2,11m.
W poziomie wiazka jest szersza i na zerowym kacie strefa narazenia to jak
wyzej 21 m, na 20 stopniach 17,5 m, na 60 stopniach 7 m.
Wszystko zależy więc od tego jak te anteny są pochylone w stosunku do Twoich
okien, ale nawet przy dokładnym wycelowaniu w takim przypadku wszystko zgodnie
z rozporzadzeniem jest ok (20m vs 40m).
Ale jeśli Cie to martwi to ja podjechalbym do Centertela (dla Twojej
lokalizacji to chyba w Warszawie) i wyciągnąłbym raport oddziaływania,
ewenetualnie porozumiałbym się z WIOŚ lub z Sanepidem, mogą dokonać
odpowiednich pomiarów.

Witam
Zacznę od tego że mam małe doświadczenia w budowie sieci chodź już trochę poczytałem, i mam jakoś tam wiedze teoretyczną.

Chcę zbudować sieć na początek 100 jak dobrzej pójdzie to do około 200 użytkowników. Sieć byłaby dość mocno rozproszona, najdalej położony użytkownik był by o około 8 km i kilku oddalonych o: 5 km, 3km, 2km. Teren jest dość płaski i miejscami mocno zalesiony. Myślę że sieć chodziła by w standardzie 802.11g . Antena zamocowana na około 18 metrowym budynku w tym przypadku byłby krudszy kabel między anteną a AP myślę że zmieściłbym się w 10 metrach i w dwóch złączkach na jednym kablu – czytałem że powyżej 10m są duże starty w zasięgu. Całkiem możliwe że będę mógł się doczepić do masztu PLUS GSM ale wtedy kabel będzie bardzo długi na oko ponad 20m a podczepić AP w puszcze hermetycznej zaraz pod anteną na maszcie za bardzo nie chcę bo jak by się coś stało nie będę za każdym razem właził na maszt. No i teraz dobór sprzętu: jakiś kompik na serwer z systemem operacyjnym Linux Trustix , AP – rooter o mocy wyjściowej 18 - 20dBm myślałem nad LINKSYS WRV200-EU lub WRT54GL który ma dwa wyjścia na anteny: jedną antenę sektorową 23 lub 24dBi zakładam że po drodze na kablu będą straty i będzie na wyjściu około 20dBi a druga antena na mniejsze odległości kierunkową YAGI 18dBi a i jeszcze kabel H1000 do tego UPS na 4 gniazda podtrzymujące i dwa restarterki Usunięcie fragmentu niezgodnego z regulaminem (np link do Allegro):
Usunięte przez Moderatora ->bob - niezgodne z Regulaminem Forum.
Witam po dosyć długim czasie!!
Moje boje z internetem GSM toczą się nadal

Wyniki!!!
Nie jest to może wielkie rękodzieło jednak spełnia swoje zadanie.

Antenę stworzyłem na podstawie programu "Yagi Calculator"

10 elementów + dipol + reflektor (wykonane z drutu miedzianego średnica 4,5 mm)
boom (wykonany ze starej szyny od wieszania firan)
blacha za reflektorem (aluminium o średnicy reflektora)

Wygląd mojej antenki:

http://img87.imageshack.u...27323875mx6.jpg

http://img7.imageshack.us...33832821zn2.jpg

http://img134.imageshack....23413264bg8.jpg

http://img26.imageshack.u...89940515hv8.jpg

Połączenie anteny kabel o długości ok 5 m z KONEKTOREM INDUKCYJNYM do modemu ICON 225

http://img134.imageshack....53340441ba4.jpg

Prędkość łącza przed podłączeniem anteny:

http://img231.imageshack....zrzut002sk5.jpg

Prędkość łącza po podłączeniu anteny:

http://img230.imageshack....rzut0011fs5.jpg

http://img222.imageshack....zrzut009uj7.jpg

Nie wiem czy to dobry wynik czy nie ale ogólnie odczuwam poprawę prędkości a to chyba najważniejsze!!!

Zasięg EDGE przy 71 -77 dBm (2 lub 3 kreski zasięgu); 18-21 dBi, 55%

Łapię UMTS z odległych nadajników jednak nie pokazuje wtedy zasięgu.
Witajcie,
Mam pewien problem. Od jakiegoś czasu zaczynają mi się cuda w sieci dziać.
Weźmy pod uwagę jedną bazę:
MT RB 333 + 2 karty WLAN (były CM9 - teraz R52 - dalej to samo).
Anteny bazowe - Sektory Elboxa. Klienci mają anteny Elboxa (panele 14 lub 19 dbi). AP TPLink lub karty Sparklan albo Dlink).

MT nie zajmuje się niczym innym niż podłączaniem klientów (nie ma kolejek ani innych wynalazków). Teraz ten MT wpięty jest do kolejnego MT 433 który robi za serwer PPPOE i zakłada kolejki na podstawie Radiusa (głównie w 99% 512kbit/512kbit - Simple Queues). Na jednej karcie max 18 klientów.

Konfiguracja karty:
Kod: Zaznacz całyname="wlan1" mtu=1500 mac-address=XXX arp=enabled disable-running-check=no interface-type=Atheros AR5413
      radio-name="XXX" mode=ap-bridge ssid="XXX" area="" frequency-mode=regulatory-domain country=poland
      antenna-gain=0 frequency=2417 band=2.4ghz-b/g scan-list=default rate-set=default supported-rates-b=1Mbps,2Mbps,5.5Mbps,11Mbps
      supported-rates-a/g=6Mbps,9Mbps,12Mbps,18Mbps,24Mbps,36Mbps,48Mbps,54Mbps basic-rates-b=1Mbps basic-rates-a/g=6Mbps
      max-station-count=2007 ack-timeout=dynamic tx-power=17 tx-power-mode=card-rates noise-floor-threshold=default
      periodic-calibration=default periodic-calibration-interval=60 burst-time=disabled dfs-mode=none antenna-mode=ant-a
      wds-mode=disabled wds-default-bridge=none wds-default-cost=100 wds-cost-range=50-150 wds-ignore-ssid=no
      update-stats-interval=disabled default-authentication=yes default-forwarding=yes default-ap-tx-limit=0
      default-client-tx-limit=0 proprietary-extensions=post-2.9.25 wmm-support=disabled hide-ssid=no security-profile=default
      disconnect-timeout=3s on-fail-retry-time=100ms preamble-mode=both compression=no allow-sharedkey=no
      station-bridge-clone-mac=00:00:00:00:00:00 hw-retries=4 frame-lifetime=0 adaptive-noise-immunity=none

I teraz zaczynają się cuda. Wieczorami pingi skaczą praktucznie u każdego do nieraz 1000ms i net muli. Za to ja do tego MT który jest nadajnikiem mam pingi po 10 - 12 ms. od strony linka na 5ghz.

Gość mi się poskarżył i wysłał traceroute do interia.pl
Największe opóźnienia generuje właśnie MT będący bazą. Łącze wyjściowe w peaku mam obciążone do max 35%. Link główne 5 Ghz mają po 2-3 Mbit ruchu w peaku, więc na 100% problem leży po stronie bazy.

Gdy robie traceroute

Gdzie jest problem? Bo mi klienci zaczynają suszyć głowę.
Opisuje ciekawy przypadek :) moze komus sie przyda doswiadczenie.
Zaprzyjazniona firma poprosila mnie o zestawienie linku po Wroclawiu
pomiedzy 2 budynkami.

Budynek A - nowoczesny biurowiec w centrum
Budynek B - 10 pietrowiec na blokowisku na obrzezach miasta
widocznosc optyczna idealna
inne stacje w zasiegu:
http://online.pl/pages/rtl8181/screens/site_biuro.gif

Ograniczeniem w budynku A jest brak mozliwosci instalacji anteny na
zewnatrz - jedyna zgoda to za antena za szyba lub antena za siatka
zabezpieczajaca klimatyzatory. Ponadto trudny montaz - antena musiala
byc jak najmniejsza i utrudniony dostep - montaz wymaga wylaczenia
klimatyzatora.

odleglosc 5 km wedlug mapy.

Zainstalowany sprzet:

Budynek A: AP Ovislink, kabel H155 RSMA-N 2 metry antena panel 13 dBi    
(Dipol) polaryzacja pionowa
Budynek B: AP Ovislink, kabel H155 RSMA-SMA 2 metry antena
paraboliczna    mini 20 dBi (Interline) polaryzacja pionowa

Antene w budynku A zaslania siatka (stal ocynkowana) o oczkach okolo
1 cm, druty biegna pod katem 45 stopni. Antena jest calkowicie
zaslonieta siatka i znajduje sie mniej wiecej 5 cm za nia.

Zaobserwowane zjawiska:

- poziom sygnalu zalezy minimalnie od odleglosci od siatki. Jesli antena
jest blizej poziom sygnalu jest minimalnie mniejszy. Powyzej 4 cm poziom
sygnalu pozostaje nie zmieniony.
- siatka powoduje znacznie mniejsze straty niz szklo (ale szyba nie byla
wykonana ze zwyklego szkla tylko z pochlaniajacego promieniowanie
podczerwone)

Jesli kogos interesuje wrzuce wykresy z Netstumblera

Nie spodziewalem sie ze lacze bedzie wogole dzialac - siatka powinna
ekranowac antene. Jednak w praktyce jest odmiennie.
Generalnie lacze dziala bardzo dobrze. Ciagly transfer FTP na poziomie
200 kilobajtow/sek. Pingi:

508 octets from 192.168.7.253: icmp_seq=990 ttl=64 time=18.2 ms
1508 octets from 192.168.7.253: icmp_seq=991 ttl=64 time=20.5 ms
1508 octets from 192.168.7.253: icmp_seq=993 ttl=64 time=17.9 ms
1508 octets from 192.168.7.253: icmp_seq=995 ttl=64 time=15.8 ms
1508 octets from 192.168.7.253: icmp_seq=996 ttl=64 time=18.5 ms
1508 octets from 192.168.7.253: icmp_seq=997 ttl=64 time=16.1 ms
1508 octets from 192.168.7.253: icmp_seq=998 ttl=64 time=31.3 ms
1508 octets from 192.168.7.253: icmp_seq=999 ttl=64 time=14.8 ms

--- 192.168.7.253 ping statistics ---
1000 packets transmitted, 975 packets received, 2% packet loss
round-trip min/avg/max = 12.7/20.8/53.9 ms

Tak naprawde nie spodziewalem sie ze wogole bedzie dzialac. Ponadto
sadzilem ze szyba bedzie znacznie mniejsza przeszkoda niz siatka o
stosunkowo drobnych oczkach ktora powinna dzialac jak reflektor.

Ma ktos moze podobne doswiadczenia ? Jak wyglada sprawa
w wypadku lacz 5Ghz ?

Chcialam skompilowac jadro 2.4.20, i po skompilowaniu i zainstalowaniu
komputer non stop sie resetuje. Wpadlam na pomysl, ze zamiast z
www.kernel.org sprobuje bezposrednio ze zrodel pakietu RedHat 9 (kernel-
source-2.4.20-8.i386.rpm) niestety efekt ten sam. Macie jakas koncepcje?
Ponizej zalaczam spis RPMek systemu (zbite do jednej linii coby mniej
zajmowalo, a i tak da sie odczytac).

hwdata-0.75-1setup-2.5.25-1basesystem-8.0-2bzip2-libs-1.0.2-8cracklib-2.7-
21e2fsprogs-1.32-6expat-1.95.5-2glib-1.2.10-10gmp-4.1.2-2iputils-20020927-
2libacl-2.2.3-1losetup-2.11y-9mktemp-1.5-18net-tools-1.60-12popt-1.8-
0.69shadow-utils-4.0.3-6newt-0.51.4-1libtermcap-2.0.8-35iproute-2.4.7-
7MAKEDEV-3.3.2-5less-378-7raidtools-1.00.3-2rootfiles-7.2-6hotplug-2002_04_01-
17cracklib-dicts-2.7-21file-3.39-9cpio-2.5-3findutils-4.1.7-9grep-2.5.1-7ash-
0.3.8-8gzip-1.3.3-9modutils-2.4.22-8procps-2.0.11-6python-2.2.2-26rhpl-0.93-
1sed-4.0.5-1pam-0.75-48SysVinit-2.84-13mkinitrd-3.4.42-1util-linux-2.11y-9vim-
minimal-6.1-29initscripts-7.14-1cyrus-sasl-2.1.10-4openldap-2.0.27-8passwd-
0.68-3kbd-1.08-4at-3.1.8-33bzip2-1.0.2-8cyrus-sasl-plain-2.1.10-4elfutils-
0.76-3ftp-0.17-17iptables-1.2.7a-2libstdc++-3.2.2-5libtool-libs-1.4.3-
5logrotate-3.6.8-1mailx-8.1.1-28man-1.5k-6mtr-0.52-2openssh-3.5p1-6perl-5.8.0-
88pspell-0.12.2-16python-optik-1.4-2setuptool-1.12-1sudo-1.6.6-3openssh-
server-3.5p1-6tcpdump-3.7.2-1telnet-0.17-25tmpwatch-2.8.4-5unzip-5.50-7vixie-
cron-3.0.1-74zip-2.3-16fontconfig-2.1-9libpng-1.2.2-16slrn-0.9.7.4-9XFree86-
libs-4.3.0-2curl-7.9.8-5httpd-2.0.40-21mod_perl-1.99_07-5mod_python-3.0.1-
3php-4.2.2-17webalizer-2.01_10-11perl-HTML-Tagset-3.03-28xinetd-2.3.10-6cpp-
3.2.2-5glibc-devel-2.3.2-11.9autoconf-2.57-3automake15-1.5-6byacc-1.9-25curl-
devel-7.9.8-5db4-devel-4.0.14-20dev86-0.16.3-8diffstat-1.31-2gcc-3.2.2-5gdbm-
devel-1.8.0-20gpm-devel-1.19.3-27libf2c-3.2.2-5libgcj-3.2.2-5gcc-java-3.2.2-
5gcc-gnat-3.2.2-5gcc-c++-3.2.2-5libuser-devel-0.51.7-1modutils-devel-2.4.22-
8patchutils-0.2.19-1pkgconfig-0.14.0-3readline-devel-4.3-5rpm-build-4.2-
0.69strace-4.4.95-2zlib-devel-1.1.4-8mx-2.0.3-8ncurses-c++-devel-5.3-4nmap-
3.00-4perl-Compress-Zlib-1.16-11perl-DBI-1.32-5mod_auth_mysql-1.11-12MySQL-
python-0.9.1-6perl-DBD-MySQL-2.1021-3php-mysql-4.2.2-17screen-3.9.13-
5openssl096b-0.9.6b-3glibc-common-2.3.2-11.9redhat-logos-1.1.12-1filesystem-
2.2.1-3glibc-2.3.2-11.9chkconfig-1.3.8-1db4-4.0.14-20elfutils-libelf-0.76-
3gdbm-1.8.0-20glib2-2.2.1-1hdparm-5.2-4libattr-2.2.0-1libgcc-3.2.2-5mingetty-
1.01-1mount-2.11y-9pcre-3.9-10setserial-2.17-12slang-1.4.5-16termcap-11.0.1-
16bash-2.05b-20lvm-1.0.3-12ncurses-5.3-4psmisc-21.2-4redhat-release-9-
3usbutils-0.9-10words-2-21zlib-1.1.4-8info-4.3-5ed-0.2-31gawk-3.1.1-
9coreutils-4.5.3-19grub-0.93-4krb5-libs-1.2.7-10openssl-0.9.7a-2readline-4.3-
5pyxf86config-0.3.5-1rpm-4.2-0.69dev-3.3.2-5authconfig-4.3.4-1sysklogd-1.4.1-
12tar-1.13.25-11lilo-21.4.4-22vim-common-6.1-29which-2.14-5kernel-2.4.20-
8cyrus-sasl-md5-2.1.10-4libuser-0.51.7-1usermode-1.67-2redhat-config-mouse-
1.0.5-1bc-1.06-12crontabs-1.10-5diffutils-2.8.1-6finger-0.17-16gpm-1.19.3-
27lha-1.14i-9groff-1.18.1-20libwvstreams-3.70-8mailcap-2.1.13-1make-3.79.1-
17man-pages-1.53-3ntsysv-1.3.8-1openssh-clients-3.5p1-6pinfo-0.6.6-4pyOpenSSL-
0.5.1-8rpm-python-4.2-0.69slocate-2.6-8tcp_wrappers-7.6-34quota-3.06-9tcsh-
6.12-4time-1.7-21traceroute-1.4a12-9utempter-0.5.2-16wget-1.8.2-9freetype-
2.1.3-6libjpeg-6b-26libxml2-2.5.4-1XFree86-libs-data-4.3.0-2XFree86-Mesa-
libGL-4.3.0-2gd-1.8.4-11httpd-manual-2.0.40-21perl-Filter-1.29-3mod_ssl-
2.0.40-21php-imap-4.2.2-17m4-1.4.1-13perl-HTML-Parser-3.26-17binutils-
2.13.90.0.18-9glibc-kernheaders-2.4-8.10patch-2.5.4-16automake14-1.4p6-
5.1automake-1.6.3-5cdecl-2.5-27cyrus-sasl-devel-2.1.10-4db4-utils-4.0.14-
20dialog-0.9b-20020814.2doxygen-1.2.18-3gdb-5.3post-0.20021129.18gmp-devel-
4.1.2-2indent-2.2.9-2gcc-g77-3.2.2-5libgcj-devel-3.2.2-5libgnat-3.2.2-
5libstdc++-devel-3.2.2-5libtool-1.4.3-5ltrace-0.3.29-1ncurses-devel-5.3-4perl-
CPAN-1.61-88python-devel-2.2.2-26redhat-rpm-config-8.0.21-1rpm-devel-4.2-
0.69texinfo-4.3-5httpd-devel-2.0.40-21mc-4.6.0-4ncftp-3.1.5-4ncurses4-5.0-
11perl-CGI-2.81-88perl-DB_File-1.804-88mysql-3.23.54a-11mysql-devel-3.23.54a-
11mysql-server-3.23.54a-11php-devel-4.2.2-17pine-4.44-18comps-9-
0.20030313links-0.96-2kernel-source-2.4.20-8

Wyprzedaż - potrzebne i tanie urządzenia. Prezentujemy kilkanaście produktów w najlepszych cenach. ZNAJDŹ COŚ DLA SIEBIE. Zapraszamy!

Tel. (22) 853 41 29 Fax : +48 (22) 853 41 05
Biuro handlowe HARDWAX ul. Wróbla 43 02-736 Warszawa

[Eksploatacja Tonery]
1.  Kyocera TONER FS 7000 TK30H, wyd. 33 000 str.  366.00 zł (300.00 netto)
http://hardwax.pl/prod3899x1.html

[Eksploatacja Wkłady atramentowe]
2.  Epson Atrament Stylus Color 900 / 980 T003 Czarny  97.00 zł (79.51 netto)
http://hardwax.pl/prod10614x1.html

[Elementy sieciowe Karty ethernet PCI]
3.  Eusso FAST CARD 10/100MBps SLIM (UEC2200S)  30.00 zł (24.59 netto)
http://hardwax.pl/prod12086x1.html

4.  D-Link USB (2.0) 5 x A-Port (4x external, 1x internal) PCI Adapter DU-520  102.00 zł (83.61 netto)
http://hardwax.pl/prod5366x1.html

[Elementy sieciowe Przełączniki hub i switch]
5.  D-Link Hubby Ethernet 5-port Hub RJ45 Uplink DE-805TP 117.00 zł (95.90 netto)
http://hardwax.pl/prod16139x1.html

6.  D-Link Switch 5-Port 10/100Mbit DES-1005D 103.00 zł (84.43 netto)
http://hardwax.pl/prod5295x1.html

[Elementy sieciowe Routery i firewalle]
7.  D-Link Router DI-604 Internet Gateway  154.00 zł (126.23 netto)
http://hardwax.pl/prod5351x1.html

[Elementy sieciowe Serwery druku]
8.  D-Link Print Server - 1xUSB 10/100Base-T DP-301U 305.00 zł (250.00 netto)
http://hardwax.pl/prod12339x1.html

[Elementy sieciowe Wi-Fi Anteny]
9.  D-Link Air Wireless 2,4 GHz, 5 dBi Indoor Antena (SMA Reverse) DWL-50AT  62.00 zł (50.82 netto)
http://hardwax.pl/prod5264x1.html

[Elementy sieciowe Wi-Fi USB]
10.  D-Link AirPlus XtremeG Wireless USB 11/54 Mbps DWL-G122 220.00 zł (180.33 netto)
http://hardwax.pl/prod14842x1.html

[Multimedia Dyktafony cyfrowe]
11.  Olympus Dyktafon cyfrowy DS-2000  586.00 zł (480.33 netto)
http://hardwax.pl/prod11980x1.html

[Multimedia Tablety Graficzne]
12.  Trust Work Tablet 100 USB  158.00 zł (129.51 netto)
http://hardwax.pl/prod192x1.html

[Peryferia Akcesoria]
13.  ACT Zaciskarka HT-300U 8p 6p  131.00 zł (107.38 netto)
http://hardwax.pl/prod14153x1.html

[Peryferia Filtry monitorowe]
14.  3M BF 10L standardowy filtr antyodbiciowy do monitora  115.00 zł (94.26 netto)
http://hardwax.pl/prod4106x1.html

15.  3M 3M BF 20L standardowy filtr antyodbiciowy do monitora  168.00 zł (137.70 netto)
http://hardwax.pl/prod16140x1.html

[Peryferia Skanery Skanery A4]
16.  Plustek OpticPro S24  258.00 zł (211.48 netto)
http://hardwax.pl/prod7498x1.html

[Peryferia Tunery TV zewnętrzne]
17.  Avermedia TV CARDBUS PCMCIA  251.00 zł (205.74 netto)
http://hardwax.pl/prod13755x1.html

18.  Avermedia TUNER AVER TV BOX  242.00 zł (198.36 netto)
http://hardwax.pl/prod15971x1.html

19.  Avermedia TUNER TV E-500 CARDBUS PLUS PCMCIA  311.00 zł (254.92 netto)
http://hardwax.pl/prod15970x1.html

[Podzespoły Kontrolery Firewire]
20.  D-Link Firewire 3-Port PCI + Ulead Video Studio Basic SE DFW-500 146.00 zł (119.67 netto)
http://hardwax.pl/prod5397x1.html

[Podzespoły Płyty główne Socket 478 (Intel)]
21.  Gigabyte Płyta główna 865GV, DualDDR400, VGA, SATA, LAN, mATX GA-8I865GV-MK 242.00 zł (198.36 netto)
http://hardwax.pl/prod14844x1.html

[Podzespoły Tunery TV PCI]
22.  Visionplus VP-1020A  217.00 zł (177.87 netto)
http://hardwax.pl/prod3781x1.html

[Podzespoły Wentylatory]
23.  Titan Wentylator do kart graficznych System Exhaust Blower TTC-003  47.00 zł (38.52 netto)
http://hardwax.pl/prod14154x1.html

bardzo ciekawe spostrzezenia. Na jakich antenach po obu stronach przeprowadziles te testy ?

U mnie dziala to tak na APPro:

- link 4,8 km, 100% widocznosc, sasiednie kanaly zajete, parabola 22 dBi i panel 13 dBi, ping 1500 bajtow:

10 packets transmitted, 10 packets received, 0% packet loss
round-trip min/avg/max/mdev = 9.110/10.519/15.468/1.924 ms

- link 1,5 km 80% widocznosc, sasiednie kanaly zajete, panel 18 dBi i
panlel 7 dbi, ping 1500 bajtow:

10 packets transmitted, 10 packets received, 0% packet loss
round-trip min/avg/max/mdev = 4.993/5.217/5.680/0.261 ms

Sugerowalbym ... zmniejszyc TX Power Level do minimum i sprawdzic wyniki. Acha i koniecznie wylacz Auto Rate Fallback jesli jest wlaczony. I ustaw standardowe wartosci predkosci (Tx Operation Rate 1,2,5.5,11 i Tx Basic Rate 1,2)

A ponadto jesli komus sie chce eksperymentowac to istnieja szerokie
mozliwosci regulacji parametrow po zalogowaniu sie telnetem:

Online.PL/APLite (witek-dom2poltegor)# flash get TX_POWER_LEVEL
TX_POWER_LEVEL=4
Online.PL/APLite (witek-dom2poltegor)# flash set TX_POWER_LEVEL 8
Online.PL/APLite (witek-dom2poltegor)#

- recznie ustawic CCA_MODE (wykrywanie zajetosci
nosnika) - dozwolone wartosci to 0,1,2, standardowe
ustawienie w Ovislink to 1, ale w innych urzadzeniach
rowniez 2 (u mnie sprzet nie dzialal z innymi ustawieniami niz 1 a zmiany spowodowaly zawieszenie AP po drugiej stronie!!)

Online.PL/APLite (witek-dom2poltegor)# flash set HW_CCA_MODE 2

- aby ustawienia staly sie obowiazujace nalezy przeladowac konfiguracje poleceniem:

Online.PL/APLite (witek-dom2poltegor)# reload
Executing /bin/reload
Flash paramter check
Reading configuration
Flash configuration OK
Running AP/APC mode
Executing /bin/wlan.sh
Reading wlan configuration
Shutting down interface wlan0
Configuring interface wlan0
Starting interface wlan1 (WDS: 00e098c5bef3)
Enabling interface wlan0
Executing /bin/tcpip.sh
Reading TCPIP configuration
Setting MAC configuration
Setting BRIDGE configuration
Creating bridge interface
STP DISABLED
Adding LAN (eth0) interface to bridge
Adding WLAN/WDS interface to bridge
Setting TCPIP configuration
Setting ip 192.168.100.250 for br0 (bridge mode)

Wyjasnienia:

moc ustawia poleceniem flash set TX_POWER_LEVEL wartosc
gdzie wartosc oznacza moc od 0 (najmniejsza) do ... no wlasnie jest problem.

- ovislink ma standardowo 4
- planet ma standardowo 3
- HS3000 (250 mW ze wzmacniaczem chyba) ma standardowo 8
- Eminent z Dipola ma wartosci 10, 12 w zaleznosci od kanalu

Istnieje teoria ze pierwsze 3 lub 4 bity steruja moca (maksymalnie 19,5 dBm) zas pozostale reguluja
inne parametry.

Wpisywalem rozne wartosci i zadna z nich nie doprowadzila do uszkodzenia urzadzenia. Nie sprawdzalem przez dluzszy czas
(wiecej niz 20 minut) wartosci powyzej 16.

Jesli ktos uzyska jakies zmiany w poziomie sygnalu niech da
znac. U mnie na linkach 1,5 km (2 panele 13 dBi) roznice
byly minimalne.

Ustawienia CCA wplywa na wydajnosc w zakloconym srodowisku.
Rowniez prosze o informacje o wplywie na szybkosc transmisji.

Acha i oczywiscie po zakonczeniu testow warto przywrocic
standardowe wartosci.

Online.PL/APLite (witek-dom2poltegor)# flash set HW_CCA_MODE 1
Dziś przeglądając miejscowy BIP, znalazłem kilka ciekawych informacji odnośnie pozwoleń jakie UM wydał Polkomtelowi. Pozwole sobie zacytować fragment, bo nie znam się na tym do końca i chciałbym żeby ktoś z większą wiedzą przjżał i ocenił

po rozpatrzeniu wniosku POLKOMTEL S.A., ul. Postępu 3, 02-676 Warszawa,

ustala się:

środowiskowe uwarunkowania zgody na realizację przedsięwzięcia mogącego znacząco oddziaływać na środowisko:

pod nazwą: „Przebudowa bazowej stacji telefonii komórkowej nr BT-22248 Krosno South” zlokalizowanej w Krośnie, przy ul. Sikorskiego 19, na działce o nr ewid. 2746/1.

I. Rodzaj i miejsce realizacji przedsięwzięcia:

Przedsięwzięcie polega na przebudowie bazowej stacji telefonii komórkowej nr BT-22248 Krosno South zlokalizowanej w Krośnie, przy ul. Sikorskiego 19, na działce o nr ewid. 2746/1.

Powyższe przedsięwzięcie obejmuje:
a) montaż trzech anten sektorowych typu 742 215 o głównych kierunkach nadawania w azymutach 60o, 180o 300o, zamontowanych na wysokości 40 m n.p.t. (spód anteny) charakteryzujących się parametrami :
- pasmo przenoszenia – 1920/2200 MHz,
- zysk energetyczny – 18 dBi,
- szerokość wiązki promieniowania dla połowy mocy – 65o - poziomo; 6,2o - pionowo,
- tilt elektryczny - 0o,
- moc nadajnika – 43,01 dBm,
- tłumienie – 2,4 dB;
b) montaż trzech anten sektorowych typu 800 10 123 o głównym kierunku nadawania w azymutach 60o, 180o 300o, zamontowanych na wysokości 40 m n.p.t. (spód anteny) charakteryzujących się parametrami :
- pasmo przenoszenia – GSM – 880/960 MHz; DCS – 1710/1880 MHz,
- zysk energetyczny – GSM – 16,5 dBi; DCS – 17,8 dBi,
- moc nadajnika zasilającego – GSM – 43,01 dBm; DCS – 43,01 dBm,
- szerokość wiązki promieniowania dla połowy mocy – GSM - 86o - poziomo; 6,9o – pionowo; DCS - 84o - poziomo; 4,8o – pionowo,
- tilt elektryczny - 0o,
- tłumienie – GSM – 1,54 dB; DCS – 2,30 dB,
c) montaż jednej anteny sektorowej typu VHLP1-18 o głównym kierunku nadawania w azymucie 176o, zamontowanej na wysokości 31 m n.p.t. (środek anteny) charakteryzującej się parametrami :
- pasmo częstotliwości – 17,7/19,7 GHz,
- zysk energetyczny –34,6 dBi,
- moc nadajnika zasilającego –18 dBm,
- szerokość wiązki promieniowania dla połowy mocy – 3,3o,
- tłumienie – GSM – 0 dB,
d) wymiana jednej anteny sektorowej typu VHLP1-370 o głównym kierunku nadawania w azymucie 304o, zamontowanej na wysokości 31 m n.p.t. (środek anteny) charakteryzującej się parametrami :
- pasmo częstotliwości – 37,0/40,0 GHz,
- zysk energetyczny –40,0 dBi,
- moc nadajnika zasilającego –18 dBm,
- szerokość wiązki promieniowania dla połowy mocy – 1,3o,
- tłumienie – GSM – 0 dB,



Zaznaczone na czerwono - czyżby UMTS?? Pisałem maila do Plusa i od nowego roku i niby mają zaczynać u mnie z 3G...

Zaznaczone na niebiesko - co to za anteny/system o takiej wysokiej częstotliwości??
Optymalizacja wydajności sieci WiFi wymaga bardzo obszernej wiedzy i dużego doświadczenia. Dlatego zaleca się przestrzegania poniższych wskazówek, a w razie potrzeby – także korzystania z pomocy doświadczonego administratora WiFi.

Wybór wersji oprogramowania APPro54G i zalecana konfiguracja:

zalecamy korzystanie zawsze z najnowszej wersji oprogramowania dostępnej pod adresem:
http://approsoftware.com/...8186/APPRO54G/.

jeśli sieć ma działać w standardzie "g" lub oczekują Państwo wydajności powyżej 10 mbitów należy zainstalować wersje TF oprogramowania (oznaczenie: appro54TF-1.xx-dd-mm-rrrr)

należy korzystać ze sterownika WLAN w wersji 1.11 (oznaczenie: appro54TF-1.11-dd-mm-rrrr), chyba
że zostało przetestowane że sterownik 1.08 w danej konkretnej sieci funkcjonuje lepiej

defaultowa konfiguracja została opracowana z myślą o optymalnej wydajności. Nie zalecamy podejmowania prób jej optymalizacji przez osoby nie posiadajace doświadczenia w zakresie
sieci WiFi.

Zalecana topologia sieci:

Jeśli istotne znaczenie ma wydajność sieci, do stacji bazowej nie powinno się podłaczać wiecej niż 15 klientów. Maksymalna odległość od klienta nie powinna wynosic wiecej niż 2km. – jest to spowodowane ograniczeniami systemu transmisji bezprzewodowej.

dla sieci powyżej 15 użytkowników w celu osiągniecia maksymalnej wydajności
zalecamy stosowanie lokalnych stacji bazowych o małym zasięgu w układzie gwiazdy

szkielet łączący stacje bazowe powinen być niezależny i pracować na innych urządzeniach
niż urządzenia do których łączą się klienci. Zalecane urządzenia do budowy szkieletu
to APPro5000 pracujące w paśmie 5Ghz

Stacje klienckie powinny znajdować się w podobnej odległości od stacji bazowej. Należy pamiętać że ze względu na specyfikę medium radiowego jeden słaby punkt rzutuje negatywnie na działanie całej sieci.

Zalecenia ogólne:

Należy stosować wyłącznie anteny renomowanych producentów. Na stacjach bazowych powinny być instalowane anteny kolinearne lub sektorowe pracujące w polaryzacji pionowej, na stacjach klienckich – panele wykonane w technologii mikropaskowej.

Nie zalecamy stosowania anten typu Yagi-Uda, anten dookólnych sektorowych pracujących w polaryzacji poziomej.

Antena na stacji bazowej powinna mieć jak najmiejszy zysk (np 8 dbi), zaś antena po stronie klienta jak najwiekszy (16-18 dbi)

Podczas instalowania anten należ pamiętać, że większemu zyskowi anteny towarzyszy mniejszy kąt promieniowania sygnału w pionie. Kąt ten waha się od 3 do 30, a w praktyce oznacza to, że anteny należy montować na tej samej wysokości, bądź antenę stacji bazowej powinno się pochylić w kierunku anten klienckich.

Zainstalowanie anteny o dużym zysku (powyżej 16 dbi) na stacji bazowej może skutkować słabszym poziomem sygnału w bezpośredniej bliskości anteny związanym z bardzo wąska (3 stopniową) szerokościa wiazki.

Anteny muszą się „widzieć” bez jakichkolwiek przeszkód, a ponadto należy zadbać o brak przeszkód w tzw. strefie Fresnela. W uproszczeniu strefę tę można traktować jak prosty tunel łączący stację bazową ze stacją kliencką. Zależnie od odległości między urządzeniami, średnica tego tunelu wynosi od 5 do 30 metrów (większej odległości odpowiada większa średnica). W strefie tej nie powinno być żadnych drzew, szczytów dachów, kominów itp.

Długość kabli antenowych nie powinna przekraczać trzech metrów, a same kable powinny być wykonane przez renomowanych producentów (wraz z zainstalowanymi złączami).

Podczas wyboru kanału roboczego najlepszy będzie taki, który jest oddalony o co najmniej trzy kanały od innych używanych na danym obszarze. Nigdy nie należy ustawiać kanałów sąsiadujących z tymi, które zajęły urządzenia emitujące silny sygnał.
Podstawową zasadą w sieci AWMN jak i innych jest nierozproszony sygnał. Czyli anteny w miarę możliwości kierunkowe lub ewentualnie dookólne max 8dbi ale wtedy sprzęt który ma możliwość redukcji sygnału. Co za tym idzie laptopy z wbudowaną kartą sieciową odpadają natychmiast.
Sposoby na sprzęt:
1. Karta bezprzewodowa na pci + kabel antenowy 50 Ω + antena
zalety
- jedynie dobre gdy stawiamy AP
wady
- cena
- ograniczenia długości kabla im dłuższy tym większe straty
- jak już kabel długi (25 m) potrzeba lepszego kabla (czyt 4,90€ za metr)
2. Ap z możliwością pracy jako client
zalety
- łatwość obsługi
- znikome straty
- cena w zależności od modelu
- konfiguracja
wady
-czasami potrzebne specjalistyczne narzędzia
-mogą ukraść
- potrzebna karta sieciowa lan 10/100 mb (prawie każdy laptop ma to wbudowane)

Co lepsze? wybór wg gustu odległośći sprzętu itd

modele polecane
najtańszy zestaw:
http://www.cosmodata.gr/p...mid=11&pid=1616
http://www.cosmodata.gr/p...&mid=11&pid=954
+ do tego kabel sieciowy 8 żyłowy bezstratny (do 300 m)około 0,30€ metr w sklepie u fanosa + 2 złączki + jak nie ma od kogo pożyczyć specjalne szczypce do zaciskania ( 7 €)
+ kabel cienki prądowy dwużyłowy 0,09 € za metr
cena całości to około 70 - 100 € w zależności od długości kabli
antenę lepiej też dokupić w sklepie u fanosa najlepiej paraboliczną lub siatkę kierunkową obydwie w granicach 25€ i 18~21 dbi
zestaw trochę droższy
sprzęt Linksys WRT54g z Sveasoft lub OpenWrt firmware
jeżeli chodzi o karty wewnętrzne pci polecam różne modele firmy Cisco jak np LMC340 & LMC352, PCI340 & PCI352, ΑΡ340 & AP352, WGB340 & WGB350
na ogół wszystkie które mają wyjście na antenę zewnętrzną
Jedynym problemem przy tego typu połączeniu jest odległość anteny od pc
straty kabla na metrze w zależności od typu wachają się od 0,3~1 dbi
Moc nadawania zgodnie z prawem nie może przekroczyć 21 dbi
jak to policzyć ?
moc na wyjściu + moc anteny - strata kabla = <21dbi
jednym słowem przy pierwszej karcie sieciowej którą miałem na wyjściu było 15 dbi(bardzo dużo z regóły jest 2-3) + antena 21 dbi - 30 m kabla o stracie 0,5 czyli 15 dbi - dodatkowo dwa łączenia pigtal - 2 dbi = 19 dbi (działało ładnie, koszt = wolę sobie nie przypominać)
zestaw tylko dla fanatyków
dołączam link do kilku przydatnych programików do obliczeń strat na różnego rodzaju kablach i chyba odczytu rezystorów (niepamiętam już a brak czasu na sprawdzenie)
www.polonos.gr/diafora.zip (waga 1,8 mb)
w galeri kilka fotek w dziale anteny
adres sklepu fanosa
fanos elektonika odos Solomou koło kanigos

za parę godzin odcinek pod tytułem montaż
Kilkadziesiąt gier na róźne modele telefonów Nokia i nie tylko

Blue.Sphere.Games.Hovercraft.Racers.v1.00.S30.Java .Retail-BiNPDA
BOBBY.CARROT.3.v1.0.0.S40.J2Me.RETAiL-NOKiApDA
BUBBLE.TROUBLE.v1.0.SiEMENS.CX65.J2Me.RETAiL-MSGPDA
Capcom.Maximum.Blow.v1.00.S30.Java.Retail-BiNPDA
CAT.LOVE.ADVENTURE.v1.0.S40.J2Me.RETAiL-NOKiApDA
Cell.Media.Fall.Ball.v1.18.S30.Java.Retail-BiNPDA
Cherrysoft.Strip.4.You.Laura.v1.0.S30.Java.Retail-BiNPDA
CONSTANTiNE.v1.0.SiEMENS.CX65.J2Me.RETAiL-MSGPDA
CRASH.NiTRO.KART.v1.6.0.SiEMENS.CX65.J2Me-MSGPDA
Dbi.Metal.Slug.v0.33.S30.Java.Retail-BiNPDA
Ejsoft.Interpid.v1.0.S30.Java.Retail-BiNPDA
Elkware.The.Fall.v1.26.S30.Java.Retail-BiNPDA
Foneros.Slideshow.Diana.And.Angie.Playing.Outside. v1.0.S30.Java.Retail-BiNPDA
FRUiT.FACTORY.2.v1.0.1.S40.J2Mev2.RETAiL-NOKiApDA
Funmobile.Big.2.Heroes.v1.00.S30.Java.Retail-BiNPDA
Funmobile.Big.2.Popstars.v1.00.S30.Java.Retail-BiNPDA
GNOMES.GONE.WiLD.v1.08.SiEMENS.CX70.J2Me.RETAiL-MSGPDA
HAMMER.AND.SiCKLE.v1.07.19.RUSSiAN.SiEMENS.CX70.J2 Me.RETAiL-MSGPDA
Handy.Games.Ancient.Ruins.1.v1.0.S30.Java.Retail-BiNPDA
Handy.Games.Ancient.Ruins.2.v1.0.S30.Java.Retail-BiNPDA
Handy.Games.Atlantis.2027.v3.1.S30.Java.Retail-BiNPDA
Hero.Craft.Ball.Rush.v1.0.S30.Java.Retail-BiNPDA
Hero.Craft.Governator.Up.v1.01.S30.Java.Retail-BiNPDA
HUGO.AND.FERNANDO.v1.0.0.S40.J2Me.RETAiL-NOKiApDA
Ismar.F14.Final.Attack.v1.15.S30.Java.Retail-BiNPDA
iTANX.v1.0.GERMAN.K500.J2Me-MSGPDA
Jacado.Jump.v1.00.S30.Java.Retail-BiNPDA
LASER.SQUADRON.v1.0.K700.J2Me-MSGPDA
LEMONY.SNiCKET.v1.2.40.S40.J2Me.RETAiL-NOKiApDA
MAFiA.WARS.2.v1.1.33.SiEMENS.CX65.J2Me.RETAiL-MSGPDA
MiCRO.GOLD.RUSH.v1.8.SiEMENS.CX70.J2Me-MSGPDA
Microjocs.Astro.3003.v1.5.S30.Java.Retail-BiNPDA
Minick.Jackass.v1.0.S30.Java.Retail-BiNPDA
Mobile.2.Win.Bikini.Mix.N.Match.v1.0.S30.Java.Reta il-BiNPDA
Mobile.2.Win.Desert.Rally.v1.00.S30.Java.Retail-BiNPDA
Mobile.2.Win.Dragons.Strike.Back.v1.0.S30.Java.Ret ail-BiNPDA
Mobile.2.Win.Euro.Shoot.Out.2.v1.0.S30.Java.Retail -BiNPDA
Morpheme.Moto.Maniacs.v1.7.S30.Java.Retail-BiNPDA
N.Y.NiGHTS.v1.0.9.S40.J2Me.RETAiL-NOKiApDA
New.Ground.Fire.At.Will.v1.10.S30.Java.Retail-BiNPDA
On.My.Mob.Fish.Tank.v0.11.S30.Java.Retail-BiNPDA
SLiP.GATE.v1.2.S40.J2Me.RETAiL-NOKiApDA
SPACE.MiNiNG.2.v1.0.1.SiEMENS.CX65.J2Me-MSGPDA
Sumea.Pitfall.Jungle.v1.00.S30.Java.Retail-BiNPDA
THE.CROW.v1.0.33.SiEMENS.CX70.J2Me-MSGPDA
THE.LEGEND.OF.ZORRO.v1.07.K700.J2Me.RETAiL-MSGPDA
TOP.GUN.2.v1.0.5.S40.J2Me.RETAiL-NOKiApDA
TOWNSMEN.3.v1.0.S40.J2Me.RETAiL-NOKiApDA
TOWNSMEN.3.v1.0.SiEMENS.CX65.J2Me.RETAiL-MSGPDA
Upmobile.Mutants.v1.40.S30.Java.Retail-BiNPDA
Wim.Extreme.Hockey.v1.1.S30.Java.Retail-BiNPDA
Wireless.Wizards.2.X.2.v1.00.S30.Java.Retail-BiNPDA
WRATH.OF.THE.ORCS.v1.0.33.S60.J2Me-MSGPDA
X-Twins.Jasmine.v1.1.1.S30.Java.Retail-BiNPDA

http://rapidshare.de/files/16993743/54_super_Gamez.zip
Wielkość: 4.3 Mb
Źródło: The Cavern
54 Gry Na Telefony, Fajne Gierki [JAVA]

Spis gierk
Blue.Sphere.Games.Hovercraft.Racers.v1.00.S30.Java.Retail-BiNPDA
BOBBY.CARROT.3.v1.0.0.S40.J2Me.RETAiL-NOKiApDA
BUBBLE.TROUBLE.v1.0.SiEMENS.CX65.J2Me.RETAiL-MSGPDA
Capcom.Maximum.Blow.v1.00.S30.Java.Retail-BiNPDA
CAT.LOVE.ADVENTURE.v1.0.S40.J2Me.RETAiL-NOKiApDA
Cell.Media.Fall.Ball.v1.18.S30.Java.Retail-BiNPDA
Cherrysoft.Strip.4.You.Laura.v1.0.S30.Java.Retail-BiNPDA
CONSTANTiNE.v1.0.SiEMENS.CX65.J2Me.RETAiL-MSGPDA
CRASH.NiTRO.KART.v1.6.0.SiEMENS.CX65.J2Me-MSGPDA
Dbi.Metal.Slug.v0.33.S30.Java.Retail-BiNPDA
Ejsoft.Interpid.v1.0.S30.Java.Retail-BiNPDA
Elkware.The.Fall.v1.26.S30.Java.Retail-BiNPDA
Foneros.Slideshow.Diana.And.Angie.Playing.Outside.v1.0.S30.Java.Retail-BiNPDA
FRUiT.FACTORY.2.v1.0.1.S40.J2Mev2.RETAiL-NOKiApDA
Funmobile.Big.2.Heroes.v1.00.S30.Java.Retail-BiNPDA
Funmobile.Big.2.Popstars.v1.00.S30.Java.Retail-BiNPDA
GNOMES.GONE.WiLD.v1.08.SiEMENS.CX70.J2Me.RETAiL-MSGPDA
HAMMER.AND.SiCKLE.v1.07.19.RUSSiAN.SiEMENS.CX70.J2Me.RETAiL-MSGPDA
Handy.Games.Ancient.Ruins.1.v1.0.S30.Java.Retail-BiNPDA
Handy.Games.Ancient.Ruins.2.v1.0.S30.Java.Retail-BiNPDA
Handy.Games.Atlantis.2027.v3.1.S30.Java.Retail-BiNPDA
Hero.Craft.Ball.Rush.v1.0.S30.Java.Retail-BiNPDA
Hero.Craft.Governator.Up.v1.01.S30.Java.Retail-BiNPDA
HUGO.AND.FERNANDO.v1.0.0.S40.J2Me.RETAiL-NOKiApDA
Ismar.F14.Final.Attack.v1.15.S30.Java.Retail-BiNPDA
iTANX.v1.0.GERMAN.K500.J2Me-MSGPDA
Jacado.Jump.v1.00.S30.Java.Retail-BiNPDA
LASER.SQUADRON.v1.0.K700.J2Me-MSGPDA
LEMONY.SNiCKET.v1.2.40.S40.J2Me.RETAiL-NOKiApDA
MAFiA.WARS.2.v1.1.33.SiEMENS.CX65.J2Me.RETAiL-MSGPDA
MiCRO.GOLD.RUSH.v1.8.SiEMENS.CX70.J2Me-MSGPDA
Microjocs.Astro.3003.v1.5.S30.Java.Retail-BiNPDA
Minick.Jackass.v1.0.S30.Java.Retail-BiNPDA
Mobile.2.Win.Bikini.Mix.N.Match.v1.0.S30.Java.Retail-BiNPDA
Mobile.2.Win.Desert.Rally.v1.00.S30.Java.Retail-BiNPDA
Mobile.2.Win.Dragons.Strike.Back.v1.0.S30.Java.Retail-BiNPDA
Mobile.2.Win.Euro.Shoot.Out.2.v1.0.S30.Java.Retail-BiNPDA
Morpheme.Moto.Maniacs.v1.7.S30.Java.Retail-BiNPDA
N.Y.NiGHTS.v1.0.9.S40.J2Me.RETAiL-NOKiApDA
New.Ground.Fire.At.Will.v1.10.S30.Java.Retail-BiNPDA
On.My.Mob.Fish.Tank.v0.11.S30.Java.Retail-BiNPDA
SLiP.GATE.v1.2.S40.J2Me.RETAiL-NOKiApDA
SPACE.MiNiNG.2.v1.0.1.SiEMENS.CX65.J2Me-MSGPDA
Sumea.Pitfall.Jungle.v1.00.S30.Java.Retail-BiNPDA
THE.CROW.v1.0.33.SiEMENS.CX70.J2Me-MSGPDA
THE.LEGEND.OF.ZORRO.v1.07.K700.J2Me.RETAiL-MSGPDA
TOP.GUN.2.v1.0.5.S40.J2Me.RETAiL-NOKiApDA
TOWNSMEN.3.v1.0.S40.J2Me.RETAiL-NOKiApDA
TOWNSMEN.3.v1.0.SiEMENS.CX65.J2Me.RETAiL-MSGPDA
Upmobile.Mutants.v1.40.S30.Java.Retail-BiNPDA
Wim.Extreme.Hockey.v1.1.S30.Java.Retail-BiNPDA
Wireless.Wizards.2.X.2.v1.00.S30.Java.Retail-BiNPDA
WRATH.OF.THE.ORCS.v1.0.33.S60.J2Me-MSGPDA
X-Twins.Jasmine.v1.1.1.S30.Java.Retail-BiNPDA

GIERKI:

CODE
http://rapidshare.de/files/16993743/54_super_Gamez.zip
Last-Modified: Thu Jan  3 10:51:16 2002
Posting-Frequency: weekly (friday)
URL: http://www.kt.agh.edu.pl/other/perl/faq/
Archive-name: pl/comp/lang/perl-faq/3
Part: 3

8. Obsluga plikow
  8.1. Jak otworzyc plik?
    8.1.1. - tylko do zapisu.
    Jesli plik nie istnieje, zostanie utworzony. Jesli istnieje, jego
    poprzednia  zawartosc zostaje wymazana.  

    8.1.2. < - tylko do odczytu.
    Domyslny sposob otwarcia pliku.  

    8.1.3. | - tylko do dopisywania.
    Wszelkie informacje sa dodawane na koncu pliku.  

    8.1.4. +| - odczyt/dopisywanie.
    Jak wyzej z odczytem.

    8.1.5. +- odczyt/zapis.
    Mozna pisac i czytac w dowolnym miejscu.

    8.1.6. +< - odczyt/zapis.
    Jak wyzej. Zawartosc pliku zostaje na poczatku wymazana.  

  8.2. Jak ustawic sie w zadanym miejscu?
  Gdy znane jest miejsce w bajtach nalezy uzyc  seek(PLIK, przesuniecie,
  skad). Parametr skad okresla wzgledem czego podajemy przesuniecie  

   - od poczatku pliku (skad = 0)
   - od aktualne pozycji (1)
   - od konca pliku (2)

  Gdy nie jest znane miejsce nalezy go ustalic tworzac indeksy  (polozenie
  miejsc charakterystycznych) na przyklad w osobnym pliku.  Czytanie od
  zadanej linii jest niemozliwe bez wczytania poprzednich linii.

  8.3. Jak dopisac w zadanym miejscu?
  Ogolnie da sie jedynie nadpisywac w srodku pliku poprzez zamiane znakow
  (open FH,"<+plik") lub dopisywac na koncu (open FH,"| plik"). W celu
  dodania lub skasowania czegos ze srodka lub poczatku pliku, nalezy
  przepisac caly plik.

  8.4. Jak znalezc pliki w katalogu?
  Nie nalezy stosowac konstrukcji uruchamiajacych program zewnetrzny,
  ktore  moga spowalnic dzialanie (przykladowo pliki z rozszerzeniem
  .txt):

  Zamiast niej lepiej uzyc:

   opendir(KATALOG,".");

   closedir KATALOG;

  By ustawic znalezione powyzej pliki z rozszerzeniem .txt (pomijajac
  grep'a - wszystkie) w kolejnosci czasow modyfikacji:

  Do szukania (/usr/home) rowniez w podkatalogach (plikow .pm) mozna  uzyc
  systemowego find lub lepiej modulu File::Find.  

   use File::Find;
   %found = ( );
   find( &wanted, '/usr/home' );
   $wynik = join " ", keys %found;
   print "$wynik ";

   sub wanted {
     $found{( split "/", $File::Find::name )[4] } = 1 if /.pm$/;
   }

  8.5. Jak wyluskac nazwe pliku/katalogu?
  Najlepszym i przenosnym rozwiazaniem jest modul File::Basename. Mozna
  tez uzyc wyrazenia regularnego: /([^/]+)$/

  8.6. Jak odczytac/zmienic haslo w pliku (dodac uzytkownika)?
  Moduly/funkcje HTTPD::UserAdmin i HTTPD::GroupAdmin obsluguja plik z
  haslami w formacie tekstowym, dbm, Berkley DB, lub innym  zgodnym z DBI:

   use HTTPD::UserAdmin ();
   HTTPD::UserAdmin
      -new(DB ="/foo/.htpasswd")
      -add($username =$password);

  Do wczytania hasla z klawiatury dobrze jest uzyc modulu Term:

   use Term::ReadKey;
   ReadMode('noecho');
   $password = ReadLine(0);

  Jesli perl (i system hasel ukrytych) zostal poprawnie zainstalowany
  funkcje getpw*() [np. getpwnam()] daja dostep do odczytania hasel
  uzytkownikow. (Przy systemie hasel ukrytych tylko, gdy sa wywolywane
  przez administratora)

   $pwd = (getpwuid($<))[1];
   $salt = substr($pwd, 0, 2);  # salt to pierwsze dwa znaki hasla

   if (crypt($haslo, $salt) ne $pwd) { die "Sorry... "; } else { print "ok "; }

  Zmiana hasla wiaze sie ze stworzeniem nowego pliku w odpowiednim
  formacie, opisanym w manie do passwd i zainstalowaniem go za pomoca
  opisanej  w UNIXowym manie funkcji pwd_mkdb. Haslo nalezy wczesniej
  zakodowac, przy uzyciu funkcji crypt za pomoca wygenerowanego wczesniej
  (patrz nizej) dwubajtowego salta.

  Przydatny moze okazac sie modul Authen-PAM.

  W przypadku kodowania hasel MD5 zastosowanie znajduje odpowiedni modul:

   use MD5;
   $md5=new MD5;
   $md5-add("$haselko");
   $digest= $md5-digest();

  W zakodowanym hasle salt jest miedzy drugim a trzecim znakiem $.  

  8.7. Jak sprawdzic prawa dostepu do pliku?
  man 2 stat:

   $mode = sprintf "%04o", (stat $file)[2] & 0777;

  jest jeszcze dodana stala 0100000 - oznaczajaca zwykly plik.

  Oprocz stat jest jeszcze funkcja -X (perldoc -f -X) z roznymi
  sprawdzaniami pliku.

  8.8. Jak sprawdzic date modyfikacji pliku?
   my ($s, $min, $h, $d, $m, $y, $weekday);
   if($filename and -e $filename) {
    ($s, $min, $h, $d, $m, $y, $weekday) =
     localtime((stat(_))[9]);   # juz raz bylo stat, wiec mozna uzyc _
    $y += 1900;
    $m ++;                      # zeby byl z przedzialu 1-12
   }

  lub

   use POSIX;
   use File::stat;

   print strftime "%d-%m-%Y", localtime( (stat($filename))-mtime );

  8.9. Jak uaktualnic daty modyfikacji/dostepu plikow?
   $teraz=time;

  8.10. Jak sprawdzic wielkosc (rozmiar) pliku?
  Jedna z linijek:

   $wielkosc=(stat("nazwa-pliku.txt"))[7];
   $wielkosc= -s "nazwa-pliku.txt";
   $wielkosc=(stat("nazwa-pliku.txt"))-size;

  8.11. Jak skopiowac/przesunac plik?
  Mozna to zrobic na dwa sposoby. Jesli chodzi o szybkosc to mozna
  uruchomic zewnetrzny program lub uzyc modulu File::Copy. Jesli chodzi o
  kontrole i wiecej pisania (i jak twierdza niektorzy przenosnosc) to
  przepisywanie open/read/write/close.

  Do zmiany nazwy sluzy funkcja rename.

  8.12. Jak moge usunac plik?
   unlink($filename);

  8.13. Jak zmniejszyc plik?
  Jest funkcja "truncate", ktora pozwala "przyciac" otwarty plik, np:

   truncate F, 1000;

  obcina plik otwarty jako F do 1000 bajtow. Tylko ze ta funkcja nie musi
  dzialac - musisz przetestowac czy w Twoim systemie operacyjnym jest
  zaimplementowana.

  8.14. Jaka funkcja sluzy do ograniczania dostepu do pliku?
  Do blokowania dostepu do pliku sluzy funkcja flock().  

  Funkcja ta nie dziala na systemach firmy Microsoft. Zamiast niej
  stosujemy moduly LockFile::Simple lub File::Lock.

  Flock ma dwa parametry: uchwyt pliku i rodzaj operacji.

   use Fcntl ':flock';
   sub lock { flock(MBOX,LOCK_EX); seek(MBOX, 0, 2); }
   sub unlock { flock(MBOX,LOCK_UN); }

   open(MBOX, "| /usr/spool/mail/$ENV{'USER'}")
     or die "Can't open mailbox: $!";
   lock();
   print MBOX $msg," ";
   unlock();

  By funkcja flock dzialala poprawnie plik musi byc otwarty do pisania
  (lub dopisywania), czyli mozna ograniczac po otwarciu i  przed
  zamknieciem pliku. Zamkniecie pliku znosi ograniczenie.

  flock(LOCK_EX) blokuje wszystkie procesy probujace zrobic flock na tym
  pliku.  flock(LOCK_SH) blokuje procesy probujace zrobic flock(LOCK_EX)
  (w domysle: piszace do pliku), ale nie blokuje procesow wykonujacych
  flock(LOCK_SH). W rezultacie wiele procesow czytajacych ma jednoczesnie
  dostep do pliku, ale proces piszacy zostanie zablokowany do czasu, az
  wszystki czytajace zwolnia blokade.

  Flock czeka na odblokowanie, o ile nie dodasz LOCK_NB, wtedy wroci z
  bledem i mozesz na to zareagowac.

   (LOCK_SH = 1, LOCK_EX = 2, LOCK_NB = 4, LOCK_UN = 8 - zazwyczaj).

  8.15. Gdzie znajduje sie biezacy katalog (.)?
  use Cwd; $dir = cwd;

  8.16. Jak przekierowac STDOUT/STDERR?
  Do przekierowania nigdzie (na null):

   open( STDOUT, "/dev/null" );
   open( STDERR, "/dev/null" );

  lub:

   close (STDOUT);
   close (STDERR);

  8.17. Jak obsluzyc plik po kompresji?
  Moduly:

   Archive::Zip
   Archive::Tar
   Compress::Bzip2

  8.18. Jak policzyc sume kontrolna CRC?
  Dla calego drzewa katalogow:

   use Digest::MD5;
   $dx = new Digest::MD5;
   subdir($DIR);
   print "MD5($DIR) = ", $dx-hexdigest, " ";

   sub subdir {
      my $dir = shift;
      opendir(D, $dir);

      closedir(D);

          if (-d "$dir/$_") { subdir("$dir/$_"); }
          elsif (-f _) {
              open(F, "$dir/$_");
              $dx-addfile(F);
              close(F);
          }
      }
   }

9. Bazy danych
Zaleca sie przeniesc na grupe pl.comp.bazy-danych oraz zajrzec do jej
FAQ http://www.dbf.pl/faq/

  9.1. Jak zaczac prace z baza danych?
  Do poprawnego dzialania potrzebny jest dzialajacy serwer baz danych
  (moze  byc gdzies w sieci) oraz lokalny klient (lub biblioteki -
  drajwery).

    - sciagnac i zainstalowac DBI
    - sciagnac i zainstalowac odpowiednie DBD
    - poczytac odpowiednie manuale (np. perldoc DBD::mysql)

  Ogolnie schemat jest nastepujacy:

   use DBI;

   $dbname="nazwabazy";
   $dbdbd="mysql";    #lub Sybase lub Pg lub inna nazwa DBD
   $username="nazwauzytkownika";
   $password="haslo";
   $table="tabelka";

    my $dbh = DBI-connect( "dbi:$dbdbd:$dbname", $username, $password);
    my $sth = $dbh-prepare( "select * from $table" );
    $sth-execute() || die $sth-errstr;

    $dbh-disconnect();

  9.2. Co zrobic z plikiem dbf?
  Istnieja dwa konkurencyjne rozwiazania do dbf i FoxPro, sa to:  Xbase
  oraz XBase. Na podstawie tego drugiego powstal interfejs przez DBI,
  czyli sterownik DBD-XBase.  

   use XBase;
   my $table = new XBase("dbase.dbf") or die XBase-errstr();
   for (0 .. $table-last_record())  {
    my ($deleted,$id,$msg) = $table-get_record($_,"ID","MSG");
    print "$id: $msg " unless $deleted;
   }

  9.3. Jak czytac pliki dbm?
  Nie nalezy juz stosowac funkcji dbmopen, itp. lecz tie.  

   use GDBM_File ;
   tie %hash, 'GDBM_File', $filename, &GDBM_WRCREAT, 0640;
   $hash{bzt} = 'tralala';

  dodatkowe informacje:  

   perldoc NDBM_File, DB_File, AnyDBM_File

  Do wielopoziomowych struktur dbm sluzy modul MLDBM.

  9.4. A co z Excelem (CSV)?
  Do wspolpracy z Excelem warto uzywac formatu CSV obslugiwanego przez
  DBI::CSV, a z platformy Windows zaleca sie modul Win32::OLE. Ostatecznie
  mozna  wykorzystac Spreadsheet::WriteExcel i Spreadsheet::ParseExcel.  

  9.5. A z
...

więcej »

Last-Modified: Thu Sep 19 09:15:07 2002
Posting-Frequency: weekly (friday)
URL: http://www.kt.agh.edu.pl/other/perl/faq/
Archive-name: pl/comp/lang/perl-faq/3
Part: 3

8. Obsluga plikow
  8.1. Jak otworzyc plik?
    8.1.1. - tylko do zapisu.
    Jesli plik nie istnieje, zostanie utworzony. Jesli istnieje, jego
    poprzednia  zawartosc zostaje wymazana.  

    8.1.2. < - tylko do odczytu.
    Domyslny sposob otwarcia pliku.  

    8.1.3. | - tylko do dopisywania.
    Wszelkie informacje sa dodawane na koncu pliku.  

    8.1.4. +| - odczyt/dopisywanie.
    Jak wyzej z odczytem.

    8.1.5. +< - odczyt/zapis.
    Mozna pisac i czytac w dowolnym miejscu.

    8.1.6. +- odczyt/zapis.
    Jak wyzej. Zawartosc pliku zostaje na poczatku wymazana.  

  8.2. Jak ustawic sie w zadanym miejscu?
  Gdy znane jest miejsce w bajtach nalezy uzyc  seek(PLIK, przesuniecie,
  skad). Parametr skad okresla wzgledem czego podajemy przesuniecie  

   - od poczatku pliku (skad = 0)
   - od aktualne pozycji (1)
   - od konca pliku (2)

  Gdy nie jest znane miejsce nalezy go ustalic tworzac indeksy  (polozenie
  miejsc charakterystycznych) na przyklad w osobnym pliku.  Czytanie od
  zadanej linii jest niemozliwe bez wczytania poprzednich linii.

  8.3. Jak dopisac w zadanym miejscu?
  Ogolnie da sie jedynie nadpisywac w srodku pliku poprzez zamiane znakow
  (open FH,"<+plik") lub dopisywac na koncu (open FH,"| plik"). W celu
  dodania lub skasowania czegos ze srodka lub poczatku pliku, nalezy
  przepisac caly plik.

  8.4. Jak znalezc pliki w katalogu?
  Nie nalezy stosowac konstrukcji uruchamiajacych program zewnetrzny,
  ktore  moga spowalnic dzialanie (przykladowo pliki z rozszerzeniem
  .txt):

  Zamiast niej lepiej uzyc:

   opendir(KATALOG,".");

   closedir KATALOG;

  By ustawic znalezione powyzej pliki z rozszerzeniem .txt (pomijajac
  grep'a - wszystkie) w kolejnosci czasow modyfikacji:

  Do szukania (/usr/home) rowniez w podkatalogach (plikow .pm) mozna  uzyc
  systemowego find lub lepiej modulu File::Find.  

   use File::Find;
   %found = ( );
   find( &wanted, '/usr/home' );
   $wynik = join " ", keys %found;
   print "$wynik ";

   sub wanted {
     $found{( split "/", $File::Find::name )[4] } = 1 if /.pm$/;
   }

  Jest tez polecenie systemowe find2perl, konwertujace systemowego find'a
  na skrypt perlowy.

  8.5. Jak wyluskac nazwe pliku/katalogu?
  Najlepszym i przenosnym rozwiazaniem jest modul File::Basename. Mozna
  tez uzyc wyrazenia regularnego: /([^/]+)$/

  8.6. Jak odczytac/zmienic haslo w pliku (dodac uzytkownika)?
  Moduly/funkcje HTTPD::UserAdmin i HTTPD::GroupAdmin obsluguja plik z
  haslami w formacie tekstowym, dbm, Berkley DB, lub innym  zgodnym z DBI:

   use HTTPD::UserAdmin ();
   HTTPD::UserAdmin
      -new(DB ="/foo/.htpasswd")
      -add($username =$password);

  Do wczytania hasla z klawiatury dobrze jest uzyc modulu Term:

   use Term::ReadKey;
   ReadMode('noecho');
   $password = ReadLine(0);

  Jesli perl (i system hasel ukrytych) zostal poprawnie zainstalowany
  funkcje getpw*() [np. getpwnam()] daja dostep do odczytania hasel
  uzytkownikow. (Przy systemie hasel ukrytych tylko, gdy sa wywolywane
  przez administratora)

   $pwd = (getpwuid($<))[1];
   $salt = substr($pwd, 0, 2);  # salt to pierwsze dwa znaki hasla

   if (crypt($haslo, $salt) ne $pwd) { die "Sorry... "; } else { print "ok "; }

  Zmiana hasla wiaze sie ze stworzeniem nowego pliku w odpowiednim
  formacie, opisanym w manie do passwd i zainstalowaniem go za pomoca
  opisanej  w UNIXowym manie funkcji pwd_mkdb. Haslo nalezy wczesniej
  zakodowac, przy uzyciu funkcji crypt za pomoca wygenerowanego wczesniej
  (patrz nizej) dwubajtowego salta.

  Przydatny moze okazac sie modul Authen-PAM.

  W przypadku kodowania hasel MD5 zastosowanie znajduje odpowiedni modul:

   use MD5;
   $md5=new MD5;
   $md5-add("$haselko");
   $digest= $md5-digest();

  W zakodowanym hasle salt jest miedzy drugim a trzecim znakiem $.  

  8.7. Jak sprawdzic prawa dostepu do pliku?
  man 2 stat:

   $mode = sprintf "%04o", (stat $file)[2] & 0777;

  jest jeszcze dodana stala 0100000 - oznaczajaca zwykly plik.

  Oprocz stat jest jeszcze funkcja -X (perldoc -f -X) z roznymi
  sprawdzaniami pliku.

  8.8. Jak sprawdzic date modyfikacji pliku?
   my ($s, $min, $h, $d, $m, $y, $weekday);
   if($filename and -e $filename) {
    ($s, $min, $h, $d, $m, $y, $weekday) =
     localtime((stat(_))[9]);   # juz raz bylo stat, wiec mozna uzyc _
    $y += 1900;
    $m ++;                      # zeby byl z przedzialu 1-12
   }

  lub

   use POSIX;
   use File::stat;

   print strftime "%d-%m-%Y", localtime( (stat($filename))-mtime );

  8.9. Jak uaktualnic daty modyfikacji/dostepu plikow?
   $teraz=time;

  8.10. Jak sprawdzic wielkosc (rozmiar) pliku?
  Jedna z linijek:

   $wielkosc=(stat("nazwa-pliku.txt"))[7];
   $wielkosc= -s "nazwa-pliku.txt";
   $wielkosc=(stat("nazwa-pliku.txt"))-size;

  8.11. Jak skopiowac/przesunac plik?
  Mozna to zrobic na dwa sposoby. Jesli chodzi o szybkosc to mozna
  uruchomic zewnetrzny program lub uzyc modulu File::Copy. Jesli chodzi o
  kontrole i wiecej pisania (i jak twierdza niektorzy przenosnosc) to
  przepisywanie open/read/write/close.

  Do zmiany nazwy sluzy funkcja rename.

  8.12. Jak moge usunac plik?
   unlink($filename);

  8.13. Jak zmniejszyc plik?
  Jest funkcja "truncate", ktora pozwala "przyciac" otwarty plik, np:

   truncate F, 1000;

  obcina plik otwarty jako F do 1000 bajtow. Tylko ze ta funkcja nie musi
  dzialac - musisz przetestowac czy w Twoim systemie operacyjnym jest
  zaimplementowana.

  8.14. Czy mozna zapisac do pliku cala strukture danych?
  Zapisanie do pliku tablicy czy hasza (nawet wielopoziomowego) jest
  mozliwe za pomoca modulu Data::Dumper.

  8.15. Jaka funkcja sluzy do ograniczania dostepu do pliku?
  Do blokowania dostepu do pliku sluzy funkcja flock().  

  Funkcja ta nie dziala na systemach firmy Microsoft. Zamiast niej
  stosujemy moduly LockFile::Simple lub File::Lock.

  Flock ma dwa parametry: uchwyt pliku i rodzaj operacji.

   use Fcntl ':flock';
   sub lock { flock(MBOX,LOCK_EX); seek(MBOX, 0, 2); }
   sub unlock { flock(MBOX,LOCK_UN); }

   open(MBOX, "| /usr/spool/mail/$ENV{'USER'}")
     or die "Can't open mailbox: $!";
   lock();
   print MBOX $msg," ";
   unlock();

  By funkcja flock dzialala poprawnie plik musi byc otwarty do pisania
  (lub dopisywania), czyli mozna ograniczac po otwarciu i  przed
  zamknieciem pliku. Zamkniecie pliku znosi ograniczenie.

  flock(LOCK_EX) blokuje wszystkie procesy probujace zrobic flock na tym
  pliku.  flock(LOCK_SH) blokuje procesy probujace zrobic flock(LOCK_EX)
  (w domysle: piszace do pliku), ale nie blokuje procesow wykonujacych
  flock(LOCK_SH). W rezultacie wiele procesow czytajacych ma jednoczesnie
  dostep do pliku, ale proces piszacy zostanie zablokowany do czasu, az
  wszystki czytajace zwolnia blokade.

  Flock czeka na odblokowanie, o ile nie dodasz LOCK_NB, wtedy wroci z
  bledem i mozesz na to zareagowac.

   (LOCK_SH = 1, LOCK_EX = 2, LOCK_NB = 4, LOCK_UN = 8 - zazwyczaj).

  8.16. Gdzie znajduje sie biezacy katalog (.)?
  use Cwd; $dir = cwd;

  8.17. Jak przekierowac STDOUT/STDERR?
  Do przekierowania nigdzie (na null):

   open( STDOUT, "/dev/null" );
   open( STDERR, "/dev/null" );

  lub:

   close (STDOUT);
   close (STDERR);

  8.18. Czym generowac RTF?
  Po porownaniu RTF::Document v0.64 i RTF::Writer v1.06, trzeba
  stwierdzic, ze RTF::Writer wydaje sie bardziej dopracowany (sam numer
  wersji moglby juz na to wskazywac). Sam przykladowy skrypt do
  RTF::Document sieje bledami, tak ze na sprawna wersje tego modulu chyba
  trzeba troche jeszcze poczekac.

  8.19. Jak obsluzyc plik po kompresji?
  Moduly:

   Archive::Zip
   Archive::Tar
   Compress::Bzip2

  8.20. Jak policzyc sume kontrolna CRC?
  Dla calego drzewa katalogow:

   use Digest::MD5;
   $dx = new Digest::MD5;
   subdir($DIR);
   print "MD5($DIR) = ", $dx-hexdigest, " ";

   sub subdir {
      my $dir = shift;
      opendir(D, $dir);

      closedir(D);

          if (-d "$dir/$_") { subdir("$dir/$_"); }
          elsif (-f _) {
              open(F, "$dir/$_");
              $dx-addfile(F);
              close(F);
          }
      }
   }

9. Bazy danych
Zaleca sie przeniesc na grupe pl.comp.bazy-danych oraz zajrzec do jej
FAQ http://www.dbf.pl/faq/

  9.1. Jak zaczac prace z baza danych?
  Do poprawnego dzialania potrzebny jest dzialajacy serwer baz danych
  (moze  byc gdzies w sieci) oraz lokalny klient (lub biblioteki -
  drajwery).

    - sciagnac i zainstalowac DBI
    - sciagnac i zainstalowac odpowiednie DBD
    - poczytac odpowiednie manuale (np. perldoc DBD::mysql)

  Ogolnie schemat jest nastepujacy:

   use DBI;

   $dbname="nazwabazy";
   $dbdbd="mysql";    #lub Sybase lub Pg lub inna nazwa DBD
   $username="nazwauzytkownika";
   $password="haslo";
   $table="tabelka";

    my $dbh = DBI-connect( "dbi:$dbdbd:$dbname", $username, $password);
    my $sth = $dbh-prepare( "select * from $table" );
    $sth-execute() || die $sth-errstr;

    $dbh-disconnect();

  9.2. Co zrobic z plikiem dbf?
  Istnieja dwa konkurencyjne rozwiazania do dbf i FoxPro, sa to:  Xbase
  oraz XBase. Na podstawie tego drugiego powstal interfejs przez DBI,
  czyli sterownik DBD-XBase.  

   use XBase;
   my $table = new XBase("dbase.dbf") or die XBase-errstr();
   for (0 .. $table-last_record())  {
    my ($deleted,$id,$msg) = $table-get_record($_,"ID","MSG");
    print "$id: $msg " unless $deleted;
...

więcej »

URL: http://www.kt.agh.edu.pl/other/perl/faq/
Last-Modified: Thu Nov  7 13:21:44 2002
Archive-name: pl/comp/lang/perl-faq/3
Part: 3
Posting-Frequency: weekly (friday)

8. Obsluga plikow
  8.1. Jak otworzyc plik?
    8.1.1. - tylko do zapisu.
    Jesli plik nie istnieje, zostanie utworzony. Jesli istnieje, jego
    poprzednia  zawartosc zostaje wymazana.  

    8.1.2. < - tylko do odczytu.
    Domyslny sposob otwarcia pliku.  

    8.1.3. | - tylko do dopisywania.
    Wszelkie informacje sa dodawane na koncu pliku.  

    8.1.4. +| - odczyt/dopisywanie.
    Jak wyzej z odczytem.

    8.1.5. +< - odczyt/zapis.
    Mozna pisac i czytac w dowolnym miejscu.

    8.1.6. +- odczyt/zapis.
    Jak wyzej. Zawartosc pliku zostaje na poczatku wymazana.  

  8.2. Jak ustawic sie w zadanym miejscu?
  Gdy znane jest miejsce w bajtach nalezy uzyc  seek(PLIK, przesuniecie,
  skad). Parametr skad okresla wzgledem czego podajemy przesuniecie  

   - od poczatku pliku (skad = 0)
   - od aktualne pozycji (1)
   - od konca pliku (2)

  Gdy nie jest znane miejsce nalezy go ustalic tworzac indeksy  (polozenie
  miejsc charakterystycznych) na przyklad w osobnym pliku.  Czytanie od
  zadanej linii jest niemozliwe bez wczytania poprzednich linii.

  8.3. Jak dopisac w zadanym miejscu?
  Ogolnie da sie jedynie nadpisywac w srodku pliku poprzez zamiane znakow
  (open FH,"<+plik") lub dopisywac na koncu (open FH,"| plik"). W celu
  dodania lub skasowania czegos ze srodka lub poczatku pliku, nalezy
  przepisac caly plik.

  8.4. Jak znalezc pliki w katalogu?
  Nie nalezy stosowac konstrukcji uruchamiajacych program zewnetrzny,
  ktore  moga spowalnic dzialanie (przykladowo pliki z rozszerzeniem
  .txt):

  Zamiast niej lepiej uzyc:

   opendir(KATALOG,".");

   closedir KATALOG;

  By ustawic znalezione powyzej pliki z rozszerzeniem .txt (pomijajac
  grep'a - wszystkie) w kolejnosci czasow modyfikacji:

  Do szukania (/usr/home) rowniez w podkatalogach (plikow .pm) mozna  uzyc
  systemowego find lub lepiej modulu File::Find.  

   use File::Find;
   %found = ( );
   find( &wanted, '/usr/home' );
   $wynik = join " ", keys %found;
   print "$wynik ";

   sub wanted {
     $found{( split "/", $File::Find::name )[4] } = 1 if /.pm$/;
   }

  Jest tez polecenie systemowe find2perl, konwertujace systemowego find'a
  na skrypt perlowy.

  8.5. Jak wyluskac nazwe pliku/katalogu?
  Najlepszym i przenosnym rozwiazaniem jest modul File::Basename. Mozna
  tez uzyc wyrazenia regularnego: /([^/]+)$/

  8.6. Jak odczytac/zmienic haslo w pliku (dodac uzytkownika)?
  Moduly/funkcje HTTPD::UserAdmin i HTTPD::GroupAdmin obsluguja plik z
  haslami w formacie tekstowym, dbm, Berkley DB, lub innym  zgodnym z DBI:

   use HTTPD::UserAdmin ();
   HTTPD::UserAdmin
      -new(DB ="/foo/.htpasswd")
      -add($username =$password);

  Do wczytania hasla z klawiatury dobrze jest uzyc modulu Term::ReadKey
  lub Term::ReadLine.

   use Term::ReadKey;
   ReadMode('noecho');
   $password = ReadLine(0);

  Jesli perl (i system hasel ukrytych) zostal poprawnie zainstalowany
  funkcje getpw*() [np. getpwnam()] daja dostep do odczytania hasel
  uzytkownikow. (Przy systemie hasel ukrytych tylko, gdy sa wywolywane
  przez administratora)

   $pwd = (getpwuid($<))[1];
   $salt = substr($pwd, 0, 2);  # salt to pierwsze dwa znaki hasla

   if (crypt($haslo, $salt) ne $pwd) { die "Sorry... "; } else { print "ok "; }

  Zmiana hasla wiaze sie ze stworzeniem nowego pliku w odpowiednim
  formacie, opisanym w manie do passwd i zainstalowaniem go za pomoca
  opisanej  w UNIXowym manie funkcji pwd_mkdb. Haslo nalezy wczesniej
  zakodowac, przy uzyciu funkcji crypt za pomoca wygenerowanego wczesniej
  (patrz nizej) dwubajtowego salta.

  Przydatny moze okazac sie modul Authen-PAM.

  W przypadku kodowania hasel MD5 zastosowanie znajduje odpowiedni modul:

   use MD5;
   $md5=new MD5;
   $md5-add("$haselko");
   $digest= $md5-digest();

  W zakodowanym hasle salt jest miedzy drugim a trzecim znakiem $.  

  8.7. Jak sprawdzic prawa dostepu do pliku?
  man 2 stat:

   $mode = sprintf "%04o", (stat $file)[2] & 0777;

  jest jeszcze dodana stala 0100000 - oznaczajaca zwykly plik.

  Oprocz stat jest jeszcze funkcja -X (perldoc -f -X) z roznymi
  sprawdzaniami pliku.

  8.8. Jak sprawdzic date modyfikacji pliku?
   my ($s, $min, $h, $d, $m, $y, $weekday);
   if($filename and -e $filename) {
    ($s, $min, $h, $d, $m, $y, $weekday) =
     localtime((stat(_))[9]);   # juz raz bylo stat, wiec mozna uzyc _
    $y += 1900;
    $m ++;                      # zeby byl z przedzialu 1-12
   }

  lub

   use POSIX;
   use File::stat;

   print strftime "%d-%m-%Y", localtime( (stat($filename))-mtime );

  8.9. Jak uaktualnic daty modyfikacji/dostepu plikow?
   $teraz=time;

  8.10. Jak sprawdzic wielkosc (rozmiar) pliku?
  Jedna z linijek:

   $wielkosc=(stat("nazwa-pliku.txt"))[7];
   $wielkosc= -s "nazwa-pliku.txt";
   $wielkosc=(stat("nazwa-pliku.txt"))-size;

  8.11. Jak skopiowac/przesunac plik?
  Mozna to zrobic na dwa sposoby. Jesli chodzi o szybkosc to mozna
  uruchomic zewnetrzny program lub uzyc modulu File::Copy. Jesli chodzi o
  kontrole i wiecej pisania (i jak twierdza niektorzy przenosnosc) to
  przepisywanie open/read/write/close.

  Do zmiany nazwy sluzy funkcja rename.

  8.12. Jak moge usunac plik?
   unlink($filename);

  8.13. Jak zmniejszyc plik?
  Jest funkcja "truncate", ktora pozwala "przyciac" otwarty plik, np:

   truncate F, 1000;

  obcina plik otwarty jako F do 1000 bajtow. Tylko ze ta funkcja nie musi
  dzialac - musisz przetestowac czy w Twoim systemie operacyjnym jest
  zaimplementowana.

  8.14. Czy mozna zapisac do pliku cala strukture danych?
  Zapisanie do pliku tablicy czy hasza (nawet wielopoziomowego) jest
  mozliwe za pomoca modulu Data::Dumper.

  8.15. Jaka funkcja sluzy do ograniczania dostepu do pliku?
  Do blokowania dostepu do pliku sluzy funkcja flock().  

  Funkcja ta nie dziala na systemach firmy Microsoft. Zamiast niej
  stosujemy moduly LockFile::Simple lub File::Lock.

  Flock ma dwa parametry: uchwyt pliku i rodzaj operacji.

   use Fcntl ':flock';
   sub lock { flock(MBOX,LOCK_EX); seek(MBOX, 0, 2); }
   sub unlock { flock(MBOX,LOCK_UN); }

   open(MBOX, "| /usr/spool/mail/$ENV{'USER'}")
     or die "Can't open mailbox: $!";
   lock();
   print MBOX $msg," ";
   unlock();

  By funkcja flock dzialala poprawnie plik musi byc otwarty do pisania
  (lub dopisywania), czyli mozna ograniczac po otwarciu i  przed
  zamknieciem pliku. Zamkniecie pliku znosi ograniczenie.

  flock(LOCK_EX) blokuje wszystkie procesy probujace zrobic flock na tym
  pliku.  flock(LOCK_SH) blokuje procesy probujace zrobic flock(LOCK_EX)
  (w domysle: piszace do pliku), ale nie blokuje procesow wykonujacych
  flock(LOCK_SH). W rezultacie wiele procesow czytajacych ma jednoczesnie
  dostep do pliku, ale proces piszacy zostanie zablokowany do czasu, az
  wszystki czytajace zwolnia blokade.

  Flock czeka na odblokowanie, o ile nie dodasz LOCK_NB, wtedy wroci z
  bledem i mozesz na to zareagowac.

   (LOCK_SH = 1, LOCK_EX = 2, LOCK_NB = 4, LOCK_UN = 8 - zazwyczaj).

  8.16. Gdzie znajduje sie biezacy katalog (.)?
  use Cwd; $dir = cwd;

  8.17. Jak przekierowac STDOUT/STDERR?
  Do przekierowania nigdzie (na null):

   open( STDOUT, "/dev/null" );
   open( STDERR, "/dev/null" );

  lub:

   close (STDOUT);
   close (STDERR);

  8.18. Czym generowac RTF?
  Po porownaniu RTF::Document v0.64 i RTF::Writer v1.06, trzeba
  stwierdzic, ze RTF::Writer wydaje sie bardziej dopracowany (sam numer
  wersji moglby juz na to wskazywac). Sam przykladowy skrypt do
  RTF::Document sieje bledami, tak ze na sprawna wersje tego modulu chyba
  trzeba troche jeszcze poczekac.

  8.19. Jak obsluzyc plik po kompresji?
  Moduly:

   Archive::Zip
   Archive::Tar
   Compress::Bzip2

  8.20. Jak policzyc sume kontrolna CRC?
  Dla calego drzewa katalogow:

   use Digest::MD5;
   $dx = new Digest::MD5;
   subdir($DIR);
   print "MD5($DIR) = ", $dx-hexdigest, " ";

   sub subdir {
      my $dir = shift;
      opendir(D, $dir);

      closedir(D);

          if (-d "$dir/$_") { subdir("$dir/$_"); }
          elsif (-f _) {
              open(F, "$dir/$_");
              $dx-addfile(F);
              close(F);
          }
      }
   }

9. Bazy danych
Zaleca sie przeniesc na grupe pl.comp.bazy-danych oraz zajrzec do jej
FAQ http://www.dbf.pl/faq/

  9.1. Jak zaczac prace z baza danych?
  Do poprawnego dzialania potrzebny jest dzialajacy serwer baz danych
  (moze  byc gdzies w sieci) oraz lokalny klient (lub biblioteki -
  drajwery).

    - sciagnac i zainstalowac DBI
    - sciagnac i zainstalowac odpowiednie DBD
    - poczytac odpowiednie manuale (np. perldoc DBD::mysql)

  Ogolnie schemat jest nastepujacy:

   use DBI;

   $dbname="nazwabazy";
   $dbdbd="mysql";    #lub Sybase lub Pg lub inna nazwa DBD
   $username="nazwauzytkownika";
   $password="haslo";
   $table="tabelka";

    my $dbh = DBI-connect( "dbi:$dbdbd:$dbname", $username, $password);
    my $sth = $dbh-prepare( "select * from $table" );
    $sth-execute() || die $sth-errstr;

    $dbh-disconnect();

  9.2. Co zrobic z plikiem dbf?
  Istnieja dwa konkurencyjne rozwiazania do dbf i FoxPro, sa to:  Xbase
  oraz XBase. Na podstawie tego drugiego powstal interfejs przez DBI,
  czyli sterownik DBD-XBase.  

   use XBase;
   my $table = new XBase("dbase.dbf") or die XBase-errstr();
   for (0 .. $table-last_record())  {
    my ($deleted,$id,$msg) = $table-get_record($_,"ID","MSG");
    print
...

więcej »

Archive-name: pl/comp/lang/perl-faq
Last-Modified: Thu May  4 10:54:43 2000
URL: http://www.kt.agh.edu.pl/other/perl/faq/
Posting-Frequency: weekly (friday)

1. FAQ grupy pl.comp.lang.perl
  1.1. Co sie w FAQ zmienilo od ostatniej wersji?
  1.2. Gdzie jest FAQ w najnowszej wersji?
2. Wiedza
  2.1. Jakie sa ksiazki po polsku?
  2.2. CPAN - co to takiego?
  2.3. Gdzie znajde najblizsza dokumentacje?
  2.4. Jak dostac odpowiedz na newsach?
  2.5. Gdzie jest archiwum grupy pl.lang.comp.perl?
  2.6. Czy sa w sieci kursy po polsku?
  2.7. Kto prowadzi platne szkolenia?
  2.8. Czy sa jakies inne strony w Polsce o Perlu?
  2.9. Czy sa manuale dostepne w sieci?
3. Uruchamianie skryptow
  3.1. Dlaczego nie moge uruchomic skryptu?
  3.2. Jak uruchomic inny program ze skryptu?
  3.3. Jak testowac skrypty?
  3.4. Czy jest perl dla DOS/Windows?
  3.5. Czy mam modul XX?
  3.6. Jak zainstalowac modul?
  3.7. Jak zostawic dzialajacy skrypt (w tle)?
  3.8. Jak obslugiwac kilka zadan rownolegle?
  3.9. Co to jest kompilator perla?
  3.10. Jak ukryc kod programu?
4. Internet
  4.1. Jak przetwarzac formularz (pisac skrypt CGI)?
  4.2. Jak wysylac odpowiedz do przegladarki?
  4.3. A co z ciastkami (cookies)?
  4.4. Jak identyfikowac ogladacza WWW?
  4.5. Jak wyslac po sobie kilka stron?
  4.6. Jak sciagnac plik z okreslonego odniesienia URL?
  4.7. Jak wyslac plik do przegladarki?
  4.8. Jak wysylac maila?
  4.9. Jak odczytac poczte z zalacznikami?
  4.10. Jak sprawdzic poprawnosc adresu e-mail?
  4.11. Jak odebrac poczte?
  4.12. Co to sa wstawki SSI i jak ich uzywac?
  4.13. Jak uruchamiac CGI pod DOS/Windows?
  4.14. Jak zamienic adres na inna forme?
  4.15. Jak sprawdzic czy adres/domena jest zajety/a?
  4.16. Jak pisac licznik?
  4.17. Jak pisac ksiazke gosci?
  4.18. Co to jest mod_perl?
5. Polskie znaki
  5.1. Jak uaktywnic polskosc?
  5.2. Jak sortowac z polskimi znakami?
  5.3. Jak zmienic wielkosc liter?
  5.4. Jak poprawic polskie znaki?
  5.5. Jak odkowac polskie znaki?
6. Obsluga plikow
  6.1. Jak czytac od zadanego miejsca?
  6.2. Jak pisac w zadanym miejscu?
  6.3. Jak znalezc pliki w katalogu?
  6.4. Jak odczytac/zmienic haslo w pliku (dodac uzytkownika)?
  6.5. Jak sprawdzic prawa dostepu do pliku?
  6.6. Jak sprawdzic date modyfikacji pliku?
  6.7. Jak sprawdzic wielkosc pliku?
  6.8. Jak moge usunac plik?
  6.9. Jaka funkcja sluzy do ograniczania dostepu do pliku?
  6.10. Gdzie znajduje sie biezacy katalog (.)?
  6.11. Jak policzyc sume kontrolna CRC?
7. Bazy danych
  7.1. Jak zaczac prace z baza danych
  7.2. Co zrobic z plikiem dbf?
  7.3. Jak obsluzyc baze Sysbase?
  7.4. Jak czytac pliki dbm?
  7.5. Co z baza Postgres?
8. Grafika
  8.1. Jak tworzyc obrazki?
  8.2. Jak robic wykresy?
  8.3. Jak tworzyc grafike tekstowa?
9. Wyrazenia regularne
  9.1. Jak wyciac spacje z przodu i konca?
  9.2. W jaki sposob przetwarzac HTML?
10. Inne
  10.1. Jak sprawdzic czas?
  10.2. Jak zamienic licze dziesietna na binarna lub szesnastkowa?
  10.3. Jak zamienic string na liczbe?
  10.4. Jak wygenerowac salt?
  10.5. Jak zakodowac stdin przez ROT-13 i wyswietlic?
  10.6. Jak zakodowac string dla WWW (urlencoding)?
  10.7. Jak poprawic format liczby/zaokraglic?
  10.8. Jak przeformatowac tekst (np. dla maila)?
  10.9. Jak wyrzucic duplikaty z tablicy?
  10.10. Jak zamienic hash na tablice i odwrotnie?
  10.11. Jak pozamieniac teksty wedlug hash'a?
  10.12. Czy mozna portowac hash'a (tablice asocjacyjna)?
  10.13. Jak zakomentowac wiekszy fragment?
  10.14. Jak stworzyc pakiet (package)?

1. FAQ grupy pl.comp.lang.perl
 Data modyfikacji: 4 maja 2000

Chcialbym podziekowac, tym ktorzy wniesli wklad w to faq. W
szczegolnosci czytelnikom grupy news:pl.comp.lang.perl zadajacym pytania
i odpowiadajacym,  sa to w szczegolnosci:

 Piotr Piatkowski
 Marcin Jagodzinski
 Hubert depesz Lubaczewski
 Szymon Sokol
 Lukasz Rewerenda

Z gory chcialbym podziekowac wszystkim, ktorzy zauwaza ciekawostki o

  1.1. Co sie w FAQ zmienilo od ostatniej wersji?
   Rownoleglosc skryptow
   Czytanie poczty z zalacznikami
   Dekodowanie polskich liter
   Poprawianie pliku
   Wysylanie poczty z naglowkami

  1.2. Gdzie jest FAQ w najnowszej wersji?
  Przede wszystkim na grupie news:pl.comp.lang.perl oraz news:pl.answers
  a takze:

   http://www.kt.agh.edu.pl/other/perl/faq/ (wersja HTML)
   http://www.kt.agh.edu.pl/other/perl/faq/faq.pl.txt (wersja tekstowa)
   http://www.kt.agh.edu.pl/other/perl/faq/faq.txt (wersja bez ogonkow)
   http://www.kt.agh.edu.pl/other/perl/faq/faq.ps (wersja postsript)

  oraz w archiwach grup.

2. Wiedza
  2.1. Jakie sa ksiazki po polsku?
  Uczyc Perla mozna sie z ksiazek (kolejnosc losowa):

   Rafe Colburn (Michal Mosiewicz):
   "CGI", wyd. Helion, Gliwice 1998
   ISBN 83-7197-032-3, ok. 30 zl
   Ksiazka podobno wciaga, ma jednak bledy skladniowe.

   Jerry Muelver (Bogdan Kaminski):
   "Perl - Tworzenie stron WWW",
   [wyd. IDG BOOKS ?], wyd. RM, 1998,  ISBN: 83-87216-35-6  ok. 43 zl
   Wydanie ma sporo bledow.

   Larry Wall, Tom Christiansen, Randal L. Schwartz, Stephen Potter
   (Marzena Baranowska, Marcin Moskwa, Rafal Sztencel, Piotr Teczynski):
   "Programowanie Perl" ("Programming Perl, Second Edition"),
   wyd. RM, Warszawa 1999, ISBN 83-87216-30-5, ok. 80 zl:

   tworcow tego jezyka
   podstawowa ksiazka, wyjasniajaca tajniki programowania w Perlu.
   Nie jest to pozycja dla osob zupelnie poczatkujacych. Fatalnie,
   ciezko przetlumaczona, zawiera manuale.

   "Zastosowania PERL"
   wyd. O'REILLY ok. 100 zl [?]

   Tom Christiansen, Nathan Torkington (Michal Mosiewicz):
   "Perl receptury" ("Perl Cookbook"),
   wyd. RM, Warszawa 1999, ISBN 83-87216-96-8, ok. 80 zl:
   Ksiazka ta pokazuje rozne rozwiazania problemow, przed jakimi staje osoba
   programujaca w perlu. Jest jednoczesnie pelnym przegladem tego jezyka:
   na przykladach mozemy nauczyc sie zarowno podstaw Perla (choc podobno
   nie od zera), jak i zaglebic sie w bardziej zaawansowane zagadnienia.
   Uzywa wspolczesnego modulowatego Perla5. Dobrze opisany i
   skomentowany kod. Sensowne zastosowania i przyklady.

   Craig Patchett, Matthew Wright (Michal Mosiewicz, Jerzy Hodor):
   "CGI/Perl - ksiazka kucharska" ("CGI/Perl Cookbook"),
   wyd. Helion, Gliwice 1999, ISBN 837197-061-7, ok. 65 zl
   przydatne programy CGI wydrukowane  i prawie linia po linii
   komentowane - swietna metoda nauki na przykladach z CD-ROMem.

   Elizabeth Castro (Piotr Nowakowski):
   "PERL i CGI, nauka pisania skryptow"
   wyd. Mikom, Warszawa 1999, ISBN 83-7158-194-7, ok. 28 zl
   Ksiazka z przykladami do pobrania spod http://www.peachpit.com/vqs/perlcgi

  Przyklady programow z powyzszych ksiazek mozna odnalezc:

   ftp://ftp.ora.com/published/oreilly/perl/
   ftp://ftp.oreilly.com/published/oreilly/nutshell/

  W druku:

   Programming the Perl DBI wyd. O'Reilly
   wyd. ReadMe
   Mozna sie dowiedziec o budowie baz danych (od tych najprostszych csv
   az po relacyjne), o skladni SQL, o budowie interfejsu DBI wraz z
   przejrzystymi przykladami obejmujacymi kazde zagadnienie, o obsludze z
   poziomu DBI sterownikow roznych baz, nieco o ODBC, a wszystko --
   oczywiscie -- z punktu widzenia Perla.

  2.2. CPAN - co to takiego?
  Glownym zrodlem dokumentacji jest CPAN (Comprehensive Perl Archive
  Network). W CPANie znalezc mozna: samego Perla (interpreter, zrodla,
  wersje  skompilowane), dokumentacje, przykladowe skrypty, moduly
  (biblioteki).

   ftp://ftp.man.szczecin.pl/pub/perl/CPAN/
   ftp://ftp.man.torun.pl/pub/doc/CPAN/
   ftp://ftp.pk.edu.pl/pub/lang/perl/CPAN/
   ftp://sunsite.icm.edu.pl/pub/CPAN/

  2.3. Gdzie znajde najblizsza dokumentacje?
  Na komputerze gdzie Perl jest zainstalowany, powinny byc dostepne
  manuale, ktorych wykaz uzyskuje sie wydajac komende man perl. Uzytecznym
  poleceniem jest takze (lub czasem zastepujacym polecenie man)  perldoc w
  nastepujacej konfiguracji:

   perldoc CGI - informacja o module CGI
   perldoc -f print - informacja o funkcji print
   perldoc -q debug - informacja z FAQ na temat
                      znajdowania bledow (debug) w Perlu

  Dostep do FAQ po wydaniu komendy man perlfaq.

  W niektorych systemach (windows) komende perldoc zastepuje zestaw perl
  perldoc. A manuale sa w fromacie HTML. W innym systemie (Linux) manuale
  sa w jezyku polskim, dostepne takze przez WWW:

   http://ptm.linux.pl/man_HTML/man1/perl.1.html

  2.4. Jak dostac odpowiedz na newsach?
  Grupa news:pl.comp.lang.perl sluzy przede wszystkim do dyskusji o
  zawilosciach jezyka perl. Do dyskucji na temat zagadnien WWW sluzy grupa
  news:pl.comp.www, a takze news:pl.comp.www.server-side, natomiast w
  kwestii baz danych nalezy wrocic sie na pl.comp.bazy-danych.

  Przed skierowaniem pytania na grupe nalezy sprawdzic czy odpowiedz nie
  znajduje sie w FAQ (najlepiej siegnac po najnowsza wersje).

  W przypadku pytan kierowanych na grupe o perlu, nalezy postawic pytanie,
  na ktore odpowiedz nie jest zbyt dluga. Gotowych szablonow programow
  szukac w archiwach na WWW. Jednakze opis problemu nie moze sie
  sprowadzac do zdania "skrypt mi nie dziala". Warto podac szczegoly,
  zwlaszcza zacytowac komunikaty.

   -- Houston, mamy problem!
   -- Slyszymy was Apollo, o co chodzi?
   -- Rakieta nam sie zepsula! Nie dziala!

  2.5. Gdzie jest archiwum grupy pl.lang.comp.perl?
   http://www.deja.com/group/pl.comp.lang.perl
   http://www.amg.net.pl/Perl/
   http://www.newsgate.pl/archiwum/pl-comp-lang-perl/
   http://www.remarq.com/threads.asp?group=pl%2Ecomp%2Elang%2Eperl

  2.6. Czy sa w sieci kursy po polsku?
  Tak. Oto ich lista:

    2.6.1. kurs Krzysztofa Juszkiewicza
     http://www.kt.agh.edu.pl/other/perl/ [2.08.99]

    2.6.2. kurs Kazimierza Pietruszewskiego
    [05.05.98]:
...

więcej »


>