MK2

Kalkkuwikistä

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),