Kirjoittaja Aihe: Raspberry Pi Stratum-1 NTP-serverinä, osa 1  (Luettu 1485 kertaa)

0 jäsentä ja 1 Vieras katselee tätä aihetta.

Poissa J.Jäntti

  • Foorumin ylläpitäjä
  • Ylläpito
  • *****
  • Viestejä: 5318
    • Finland Weather Exchange (FinWX)
Raspberry Pi Stratum-1 NTP-serverinä, osa 1
« : Sunnuntai, 04.11.2018, 21:55 »
Vaikka kyseessä ei ole ihan sääasemiin viittaava laite ja sen toiminnan parantaminen, se on kuitenkin laite johon sääasemat tukeutuvat tavalla tai toisella.

On sanottava, että en muista milloin olisin saanut asennella Linuxia (tark. Raspbiania) SD-kortille niin moneen kertaan, kuin mitä on tähän mennessä joutunut tekemään.
Tässä projektissa tuli turpiin kerta toisensa jälkeen aina eri kohdissa asennustapahtumaa, mikä alkoi jo vaikuttamaan motivaatioon pyörittää koko NTP-serveriä. En ollut kuitenkaan tullut luovuttamaan, joten tappeluksihan tuokin meni ihan kunnolla.

Käytössäni oli kolme erilaista ohjetta rakentaa NTP-serveri. Ne olivat:
- Satsignal.eu-sivuston ohje
- Open Collector-sivuston ohje ja
- NTPsec-sivuston, Eric S. Raymondin tekemä ohje

Näiden ohjeiden seuraamisesta sellaisenaan tuli melkoinen Via Dolorosa, koska osa tiedoista oli auttamattomasti vanhentunutta uudemman Raspbianin ja Raspberry Pi 3:n Firmwaren myötä ja koska muutokset olivat pääosin raudan ohjauksen tasolla, kaikki ohjeet floppasivat enemmän tai vähemmän ja lopulta valmista tuli vain siten, että näitä kaikkia kolmea ohjetta yhdisteli parhaan kykynsä mukaisesti.

Mitä osia tähän projektiin tarvittiin?
- Raspberry Pi Model 3 B, toiseksi uusin versio heidän pienestä piirilevytietokoneestaan.
- Raspberry Pi:n virallinen virtalähde
- Adafruit Ultimate GPS HAT for Raspberry Pi A+/B+/Pi 2/Pi 3-Minikitti
- CR1220-litium-nappiparisto
- Ulkoinen GPS-antenni
- IPX => SMA-muuntokaapeli GPS-antennia varten
- HDMI-kaapeli
- Monitori, jossa on HDMI-paikka
- Näppäimistö
- Verkkokaapeli ja yhteys sisäverkkoon
- SD-kortti, minimissään 8 Gigatavua
- Kortinlukija
- Windows-kone johon asennetaan ohjelma kortin kirjoitusta varten
- Raspbian Strech Lite (Linux-versio jossa ei ole graafista käyttöliittymää)
- Kärsivällisyyttä. Paljon.

Mitäs tämä kustantaa ja mistä tavarat hommattiin?
Hinnat ovat 4.11.2018 tasolta, joten niissä on varmasti tapahtunut loikkia suuntaan tai toiseen tai koko laite on saattanut poistua valikoimasta, joten tietyllä varovaisuudella on viisasta lähteä liikkeelle.
- Raspberry Pi 3 B, Jimm's PC Store 39,90€
- Raspberry Pi:n virallinen virtalähde, Jimm's PC Store 14,90€
- Adafruit Ultimate GPS HAT for Raspberry Pi A+/B+/Pi 2/Pi 3-Minikitti, eBay 50,70€
- CR1220-litium-nappiparisto, Clas Ohlson 2,99€
- Ulkoinen GPS-antenni, eBay 12,30€
- IPX => SMA-muuntokaapeli GPS-antennia varten, eBay 6.63€
- HDMI-kaapeli, Jimm's PC Store 6.90€
- Verkkokaapeli,  Jimm's PC Store 6.00€
- SD-kortti, 8Gt, Jimm's PC Store 8.00€
- Kortinlukija, Jimm's PC Store 5,90€

Yhteensä hintaa tälle teknolelulle tulee kyseisillä osilla 154,22€. Osa näistä voi olla sinulle tarpeettomia, jos osia löytyy omasta takaa.
Näppäimistö, Monitori, Windows-kone, Raspbian ja kärsivällisyys ovat sellaisia, joille ei hintaa voi asettaa. Näppäimistö on lainattavissa koneesta, kunhan se on USB-väyläinen ja näyttökin periaatteessa, jos siinä on HDMI. Näyttöä ei tarvita kiinni kuin hetken aikaa.

Tällä piirilevytietokoneella oli ikää tämän projektin alussa noin vuoden verran. Hommasin sen pakettina Jimm's PC Storesta Black Friday-alennusmyynnistä. Se oli pyörimässä mukana kuriositeettina, hakemassa paikkaansa minun muiden koneiden seassa, mutta sille ei tahtonut löytyä käyttötarkoitusta, ennen kuin vasta sitten, kun GPS-aikavastaanotinlaite alkoi kenkkuilemaan urakalla ja aikaa kysyessä siltä tuli lähinnä täyttä puutaheinää tarkkuuden osalta. Toki kellonaika oli sekunnilleen oikein mutta Stratum-1-tasoiseksi siitä ei enää ollut edes vitsinä, koska tarkkuus heilui vuoron perään mikrosekuntien ja millisekuntien välissä, välillä niinkin pahoin, että NTP-serveriohjelmisto veti henkselit sille ja pudotti sen Stratum-2:ksi, joten se oli pakko ajaa alas ja ottaa kokonaan pois käytöstä.

Mikä hiton Stratum?
Näin kansankielellä Stratum-tasot määrittelevät sen, miten lähellä ollaan täyttä totuutta tarkasta ajasta. Nämä tasot menevät 0 ja 15 välille, 0:n ollessa kaikista tarkin.
Stratum 0 on itse atomikello. Se voi olla mitä hyvänsä GPS-satelliitin atomikellosta esim. Saksan PTB (Physikalisch-technische Bundesanstalt):llä on käytössään neljä Cesium-atomikelloa, joiden poikkeamat ovat luokkaa yksi sekunti miljoonassa vuodessa tai parempi, käytännössä siis olemattomat. Nämä ovat myös laitteina isoja, herkkiä ja tavattoman kalliita, joten niitä ei kotoa löydy ellet ole Eurojackpot-voittaja kahdesti putkeen. Lisäksi nämä laitteet ovat sellaisia etteivät ne tyypillisesti ole kiinni Internetissä suoraan.

Tätä varten on Stratum 1-tason koneet. Ne kertovat ulos Stratum 0-laitteen kertoman kellonajan ja ovat näennäisesti Stratum 0-laitteessa kiinni. Näiden kellonaikaheitto on teknisesti niin lähellä Stratum 0:aa kuin voi vain olla, poikkeamat ovat tyypillisesti mikrosekuntien (0.000001 sekuntia) tai pikosekuntien (0.000000001 sekuntia) luokkaa.

Stratum 2-laitteet ovat sitten niitä, jotka ovat vastaavasti Stratum 1-laitteelta hakeneet ajan. Nämä ovat yleensä koneita, jotka jakavat sisäverkossa kellonaikaa eteenpäin, mutteivät ole kiinni vastaavasti muussa, kuin Stratum 1-laitteissa eivätkä ole yhtä tiukkoja kellonajan tarkkuudesta ja heittoa näissä voi olla jo enemmän, riippuen siitä, mikä niiden kuorma on ja kuinka usein ne vastaavasti synkronoivat kellonsa Stratum 1-laitteilta. Stratum 2-kellot ovat melko tyypillisesti loppukäyttäjiä palvelevien palvelinten kelloja.

Stratum 3-laitteet puolestaan ottavat kellonaikansa Stratum 2-laitteilta ja ovat melko tavanomaisesti loppukäyttäjien kuten työasemien kelloja. Tästä eteenpäin ei yleensä kellonaikaa jaeta eteenpäin, kuin äärimmäisessä poikkeuksessa.

Stratum 4-15 ovat sitten oma kategoriansa ja tyypillisesti nämä ovat ns. villejä kelloja jotka hakevat aikansa arvoaan pykälää korkeammalta tasolta harvakseltaan. Stratum 5-tasolla oleva kello on tyypillinen tietokoneen RTC (Realtime clock)-kello ilman mitään kummempaa synkronointia ja mitä pidemmälle mennään, sitä tyypillisemmin ollaan tekemisissä kellon kanssa, jota ei käytännössä synkronoida lainkaan. Stratum 15 on käytännössä täysin synkronoimaton kello, mutta vielä aikansa puolesta käytössä oleva sellainen.

Tässä ketjusarjassa ohjeistan parhaan kykyni mukaan miten saat omasta Raspberry Pi 3 B-koneestasi Stratum 1-tasoisen NTP-aikaserverin, jotta säästyt samanlaiselta tavattomalta väännöltä.
Huomioitavaa on se, että tämä on varsin tekninen ohjeistus. Sinulla pitää olla aiempaa kokemusta Linux-koneiden kanssa ja PuTTY tulisi olla tuttu ohjelma, sillä tässä tullaan valtaosa asioista suorittamaan sitä kautta. Lähtökohta on myös se, että RasPi on osa sisäverkkoa. OHJEET KOSKEVAT VAIN Adafruit Ultimate GPS HAT:ia. Kolvin on myös hyvä pysyä kädessä, koska Adafruit:n GPS-piiriin tulee juottaa GPIO-palikka kiinni ennen itse asennusta.

Linuxia kehiin!
Raspbianin viimeisimmän Lite-version voi noutaa täältä:
https://www.raspberrypi.org/downloads/raspbian/

Muista valita kahdesta vaihtoehdosta Lite ja .zip-pakettina.
Tallenna .zip-paketti sellaiseen paikkaan jonka muistat. Pakettia ei tarvitse purkaa koneella minnekään.

Seuraavana vuorossa on ohjelma nimeltään Etcher.
Sen saat täältä:
https://www.balena.io/etcher/

Valitse alasvetovalikosta Portable-versio ja oikea bittimäärä koneestasi riippuen (joko 32-bittinen tai 64-bittinen) niin säästyt turhanpäiväiseltä asentamiselta.
Tämä ohjelma lukee .zip-paketin sisällön ja kirjoittaa SD-kortille sisällön, luoden RasPi:lle kortin, jossa Raspbian Stretch-Linux majailee ja josta RasPi käynnistyy.

Kytke kortinlukija kortteineen koneeseen ja käynnistä ohjelma.
Itse ohjelman käyttö on yksinkertainen 1-2-3 ratkaisu, jossa ensin valitaan kortille menevä tiedosto (joka on äskettäin hakemasi .zip-paketti), valitaan kortti (ohjelma osaa yleensä haistaa kortin olemassaolon) ja käynnistetään kirjoitus.
HUOM!! Jos otit kortin vanhojen korttiesi seasta, etkä uutena paketistaan, varmistu siitä, ettei kortissa ole mitään jonka sisällöstä välität vähääkään sillä kyseisen kortin sisältö lähtee bittiavaruuteen.
Riippuen kortista ja kortinlukijasta, kirjoitus vie 5-15 minuuttia. Tässä välissä voit vaikka laittaa RasPi:n valmiiksi; GPS-piiri RasPi:n päälle ja CR1220-paristo piiriin paikalleen.

Kun olet saanut kortin valmiiksi, laita se RasPiin sisään ja käynnistä se. Kone käynnistyy pari kertaa ja sen jälkeen oletkin valmis aloittamaan tämän laitteen roolittamisen NTP-serveriksi, kun edessäsi näkyy kirjautumisruutu. Sitten se hauskuus alkaa.

Siirry hauskan äärelle tästä (osa 2)
« Viimeksi muokattu: Sunnuntai, 04.11.2018, 22:52 kirjoittanut J.Jäntti »
Juha Jäntti
Foorumin ja sivuston ylläpitäjä
Finland Weather Exchange (FinWX)

http://www.finwx.net/
------------------------------------------
Ukkoskausi avattu Suomessa: --.--.----
Ukkoskausi avattu Helsingissä: --.--.----
-------------------------------------------
Ukkospäivälaskuri 2021; Helsinki/Viikinmäki
0 ukkospäivää.
------------------------------------------
Twitter, FinWX:n ylläpidon ilmoitukset
------------------------------------------