MK2
Tämän sivun tiedot ovat kokonaisuudessaan vanhentuneet. Päivitettävä tai poistettava.
MK2 asemaohjelmat[muokkaa]
OVAT TOIMIMATONTA SONTAA ÄLÄ KOSKE[muokkaa]
Ohjelmien tietovarastona on postgresql tietokanta. localhost db ajanotto
Kannassa on:
- Lähtöluettelo
- Asetukset
- Otetut ajat
- tiedonvälityksen http | sms tilatieto
ajat taulu: CREATE TABLE ajat ( id integer primary key default nextval('ajat_id_seq'::regclass), numero integer, aika timestamp, tyyppi integer default 1, smsTila integer default 1, httpTila integer default 1 ); id juokseva tunniste sisäinen viite _ÄLÄ MUUTA_ numero kuljettajan kilpanumero esim 666 aika kuljettajan aika asemalla "YYYY-MM-DD HH-MM-SS.ss" tyyppi 1 = Ponderi | 2 = F1 Käsi | 3 = F2 Käsisyöttö smsTila 1 = Lähettämätön | 2 = Lähettää | 3 = Lähetyksessä virhe | 4 = Lähetä uudelleen | 5 = Lähetys OK httpTila 1 = Lähettämätön | 2 = Lähettää | 3 = Lähetyksessä virhe | 4 = Lähetä uudelleen | 5 = Lähetys OK
CREATE SEQUENCE ajat_id_seq;
settings taulu: CREATE TABLE settings ( -clip- laskentaPuh VARCHAR(15) NOT NULL, asematunnus VARCHAR(15) NOT NULL, asemanro integer, asematyyppi integer, tulospalveluURL VARCHAR(50), laskentaURL VARCHAR(50), -clip- ); laskentaPuh kentässä puhelinnumero johon sms viestit lähetetään esim 0501234 asematunnus kentässä tallettavan & lähettävän aseman tunniste esim mk01l tai at5 ... asemanro edellisen numeerinen osa asematyyppi 1 = LÄHTÖ, 2 = MAALI, 3 = AT tulospalveluURL URL johon httpSender lähettää aikoja esim http://10.1.1.1/mktulos.php laskentaURL ei käytössä
smsviestit taulussa säilötään lähetettyjen aikojen eränumerotietoa. CREATE TABLE smsviestit (aikaid integer NOT NULL, viestiid integer NOT NULL);
tiedonvälitys[muokkaa]
Asemakoneet välittävät tietoa tulospalvelukoneille ja laskentakeskukseen. Laskentaan tietoa voidaan siirtää sms viestein, verkkoliikenteenä http-pyyntöinä, tai levykkein/usb-muistein. tulospalvelukoneelle tieto siirtyy verkkoliikenteenä http pyynnöin.
SMS viestin rakenne
VIESTIN otsake: merkit 0-2 eränumero 000-999 merkit 3-4 asematyyppi mk | at merkit 5-6 asemanro 01-99 merkit 7 asematarkenne l | m tietue-erotin \n AIKA tietueet merkit 0-2 kilpanro 001-999 merkit 3-4 tunnit 00-23 merkit 5-6 minutit 00-59 merkit 7-8 sekunnit 00-59 V merkit 9-10 sadasosat 00-99 V tietue-erotin \n TARKISTE merkit 0-1 viestin merkkien ascii arvojen summa % 256 hexana
mk2_ponReader.php[muokkaa]
Tila: toteutettu, testaamatta
KÄYTTÖ: mk2_ponReader.php START|STOP [portti] [tiedosto] portti = portti johon minkkiloukku on liitetty esim /dev/ttyS0 tiedosto = sqlite3 tiedosto mihin aikanumeroparit talletetaan
Kirjoittaa lisäksi logitiedostoa /tmp/mk2_ponReader.log tiedostossa on kaikki otetut ajat ja muut tehdyt toimet ja virhetilanne tiedotteet.
mk2_smsSender.php[muokkaa]
Tila: toteutus 35%, testaamatta
KÄYTTÖ: mk2_smsSender.php START|STOP [tiedosto] tiedosto = sqlite3 tiedosto mistä lähetettävät ajat luetaan
settings taulun sms_numero kentästä haetaan puhelinnumero johon viesti lähetetään. käyttää lähettämiseen gammu ohjelmaa, olettaa gammun asetusten olevan oikein ja modeemin toimintakunnossa
Kirjoittaa lisäksi logitiedostoa /tmp/mk2_smsSender.log tiedostossa informaatiota tehdyistä toimista & virheistä jne
TODO: lukitse lähetys lähetyksen ajaksi /tmp/mk2_smsSEND.lock jotta useamman aseman yhtaikainenkäyttö olisi mahdollista toteuttaa
mk2_xpon[muokkaa]
Tila: toteutus 0%
Käyttöliittymä ajanottoon. Tämä ei ole pöytäkirjasta syöttöohjelma, käsin syöttö on mahdollista mutta kankeaa.
- käynnistää ponReaderin, smsSenderin httpSenderin
- esittää ruudulla luetut ajat niiden tilat
- ottaa aikoja (F1)
- syöttää aikoja (F2)
- korjaa aikoja (F3) edellyttäen että aika on otettu käsin (F1|F2)
- asetukset (F4) (ei toteutusta)
- laskennan puhelinnumero
- sms lähetys käytössä
- asematunnus
- ponderi portti
- ponderi käytössä
- Kirjoittaa ponderiin (F5) (ei toteutusta)
- Komentaa uudelleen lähetyksiä (F11)
- lähetyttää toistaiseksi lähettämättömät ajat (F12),