MK2

KalkkuWikistä
Siirry navigaatioonSiirry hakuun

Tämän sivun tiedot ovat kokonaisuudessaan vanhentuneet. Päivitettävä tai poistettava.

MK2 asemaohjelmat

OVAT TOIMIMATONTA SONTAA ÄLÄ KOSKE

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

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

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

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

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