Programa Jonis Tester

skirta shildymo sistemos, naudojanchios Jonio shilumos ukio kontroleri, testavimui bei derinimui.

Programa parashyta naudojant javasrcript programavimo kalbos dialekta ir vykdoma JSDB interpretatoriaus pagalba (failas jsdb.exe).

Programa pritaikyta darbui Windows XP aplinkoje, tachiau reikalui esant galima paleisti ir Unix
sheimos operacinese sistemose, tam reikalui reikalinga Unix JSDB versija kuria galima susikompiliuoti ish isheities kodo pateikto JSDB svetraineje.

Programa sudaro 2 dalys:
	1. Paprastas web serveris (paleidziamas failo _run_server.bat pagalba), serveris atsiliepia lokaliu adresu http://127.0.0.1:8080/ atsidarius shi adresa narshykleje, galesite valdyti programa bei perzhiurineti duomenu surinkimo programos sukaupta informacija grafiniame pavidale.
	
	Pagal nutylejima naudojamas 8080 portas, jei shis portas uzhimtas, imamas sekantis ish eiles portas 8081, apie tai serveris informuoja atitinkamamu praneshimu cmd.exe konsoleje
	
	2. Duomenu surinkejo servisas (paleidzhiamas su failu: _run_collector.bat) nustatytu periodishkumu ima duomenis ish kontrolerio ir kaupia SQLite
	duomenu bazeje - faile sqldb.db
	Pagal nutylejima duomenys imami kas 20 sek, apklausinejamas portas COM1.


nustatymai laikomi faile settings.cfg
be nustatymu kurie valdomi shalia grafiko esanchia forma (visi pakeitimai ishsaugomi automatishkai, nuemus focus'a nuo redaguojamo laukelio, t.y. kliktelejus su pele i kita laukeli arba i bet kuria narshykles lango vieta), kolkas yra keletas nustatymu kurie gali buti pakeichiami tik rankomis:

def: din4.def - kontrolerio konfiguracinis failas
timeout: 20 - duoemu surinkimo periodishkumas sekundemis
comport: 1 -  COM porto numeris
graphRefresh: 60 - grafiko autorefresho periodas sekundemis, 0 - atjungia
authIps: x.x.x.x - nustatyme leidžiamų adresų sąrašas suvedamas atskiriant tarpais, pvz: authIps: 88.118.3.1 88.118.32.1 88.118.32.5
authPass: abc - prisijungimo slaptažodis, jį palikus tuščią, slaptažodis klausiamas niekad nebus.
rawDataSource: net://www.manodomenas.lt:2061/ - galima nurodyti imti duomenis ne ish com porto o ish bet kur internete patalpinto kontrolerio, kuris padarytas pasiekiamas per tcp/ip protokola, tada nustatymas "comport" ignoruojamas

velesnese versijose bus galimybe keisti per nustatymu puslapi

Startavus serveriams ju cmd.exe konsoles lieka aktyvios ir jose rashomi serveriu praneshimai

Jeigu yra butinybe programa paleisti Win2000 aplinkoje, naudokite bat falus su priesaga "_old",
bus naudojama sena JSDB interpretatoriaus versija.

Programos interfeisas paprastas kaip 3 kapeikos, joje dabar galima
	1. "Remote control" distancinis kontrolerio valdymas, nebereikia lakstyti i katiline, galima ka nors pareguliuot gulint lovoje
	2. "Graph" stebeti reikiamu kontrolerio atiduodamu parametru kitimo grafika, pasirinkti kreiviu spalvas bei pasirashyti komentarus.
	3. "View collected data" perzhiureti sukauptus duomenis lenteles pavidale.
	4. "Get data from controller" nuskaito ir atvaizduoja lenteles pavidale duomenis tiesiai ish kontrolerio 
	5. "Initialize Database" - sunaikina esama duomenu baze bei jos struktura ir pagal konfiguracini kontrolerio faila sukuria naujai
	6. "settings" - rodo esamus programos nustatymus
	7. "Shutdown SERVER & EXIT" - stabdo web swerveri ir uzhdaro narshykles langa (duomenu surinkimo serverio tai neitakoja)
	

Programa yra tokia kokia yra ir ash neatsakau, jei ja paleidus Jusu kompiuteris sprogs ir ishlakstys i gabalus...

Jei rimtai, programoje turbut yra klaidu, bet ja jau imanoma naudotis, visi komentarai ir pasiulymai priimami, rashykite Joniui arba man i zhemiau nurodyta e-mail adresa.

Kodel viskas anglishkai arba shveplai ?
todel kad, JSDB nenaudoja UTF-8 koduotes o naudoja kazhkoki savo unicode varianta, ateityje pasistengsim ka nors sugalvot.

-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------

versijų istorija:

0.30 [2013-03-27]

1. idetas naujos Jonio kontrolerio versijos su ARM STM32 procesoriumi palaikymas (pradine versija),
testerio funkcionala perjungia kontrolerio parametru aprashymo failas jtherm3.def

parametru aprashymas nusirodo testerio konfiguraciniame faile  settings.cfg
pirmoje eiluteje kas naudoja nauja kontroleri, ten turi buti:
def: jtherm3.def

kas naudoja ankstesni kontroleri:
def: din6.def

2. patvarkytas distancinis valdymas, shalia temperaturu ishvesti atitinkami pavadinimai kurie suvesti ties grafiko temperaturomis

3, shiek tiek patvarkytas programos kodas, ishmesti nereikalingi fragmentai, pataisytos pastebetos smulkios klaidos

po ranka neturiu ankstesnio tipo kontrolerio, todel shita versija testuota tik su nauju kontroleriu


0.21 [2012-12-29]

1. shioje versijoje grafiku braizhykles nustatymai gali buti paimami ish nustatymu failo settings.cfg, galimi kintamieji:
(chia kintamieji surashyti su reikshmemis pagal nutylejima)

graph_width: 1024
graph_height: 800
graph_bgColor: #FFFFC8
graph_gridColor1: #CCCCCC
graph_gridColor2: #ECECEC
graph_tSpace: 12
graph_lSpace: 60
graph_rSpace: 25
graph_bSpace: 60
graph_oShiftStep: 17

galite shita nustatymu bloka isirashyti rankomis i nustatymu faila o reikshmes pasikeisti pagal savo poreikius

detaliau:

grafiko ishmatavimai:
graph_width - grafiko paveiksliuko plotis
graph_height - grafiko paveiksliuko aukshtis

spalvos (rgb hex formate):
graph_bgColor - grafiko paveiksliuko fono spalva
graph_gridColor1  - pirma liniju spalva
graph_gridColor2 - antra liniju spalva

grafiku zonos atitraukimai nuo paveiksliuko krashtiniu (pikseliais)
graph_tSpace - atstumas nuo virshaus
graph_lSpace - atstumas nuo virshaus
graph_rSpace - atstumas nuo kaires
graph_bSpace - atstumas nuo apachios
graph_oShiftStep - ishejimu grafikams skirtu zonu zhingsnis

jei kuriu nors parametru nustatymu faile nera, naudojamos reikshmes pagal nutylejima.

2. idetos kursoriaus xy linijos, kad butu lengviau susiorientuoti kokios tashko data ir reikshme

3. i komplekta ideta konsoline  DIN2 eeprom konfiguracijos nuskaitymo i faila ir irashymo i kontroleri programa.

paleidzhiama failu _run_eeprom.bat

!!!!!! demesio !!!!!!
!!!!!! skaitymo/rashymo metu, testerio serveris ir duomenu surinkejas privalo buti ishjungti !!!!!!!!


0.20 [2011-10-25]

1. patvarkyta kad veiktu su nauju kontrolerio protokolu
2. perdarytas distancinis, 
	-dabar rodoma daugiau ishejimu,
	- rodomos visos temperaturos,
	- ishejimai atvaizduojami su visomis busenomis:
		- rankinis (pabraukimas apachioje)
		- ishejimo inversija (ishejimas rodomas baltame fone juodomis raidemis)


0.14 [2011-03-21]

1. patvarkytas distancinis, ishejimai rodomi skaichiais o aktyvumas - juos paryshkinant, pagerintas stabilumas labai dazhnai spaudant mygtukus autoferfeshas nebeuzhsiciklina.
2. idetas 6 versijos kontrolerio palaikymas
3. ideta galimybe def faile parametrams nurodyti atributa hidden="1", tokiu atveju nereikalingu parametru checkboxai nebetabaluoja grafiko programoje



0.13 [2011-01-20]

1. naujas nustatymas (nutolusio serverio adresas), kuri nurodzhius testeris nenaudoja comporto, o jungiasi prie kontrolerio per interneta.
nustatymo formatas:

rawDataSource: net://www.manodomenas.lt:2061/

2. galimybe nustatymu faile nurodyti eile adresu atskirtu kableliu, pvz:
dataSources: net://www.test.lt:2061/,net://www.test.lt:2062/,net://www.test2.lt:2061/

tada distancinio valdymo programoje rodoma dar viena sekcija kurioje galima pasirinkti koki nutolusi serveri naudojame


3. galimybe reguliuoti distancinio valdymo displejaus atnaujinimo dazhni 
distanciniame nauja sekcija "display timeout (refresh display)"
nustatymas "remoteDisplTimeout", reikshmes nuo 0 iki 99, nuline reikshme atnaujinima ishjungia
aspaudus zhodeli "refresh" displejus atnaujinamas rankiniu budu


0.12 [2010-12-24]

1. pakeistas išėjimų atvaizdavimas grafike, dabar atvaizduojama ne vienoje kruvoje o sekančio išejimo grafikas dedamas č pikseliais aukščiau ankstesniojo

2. dadėtas autorizacijos funkcionalas, dabar namų routeryje galima drąsiai nukreipti norimą portą į kompiuterį kuriame sukasi testeris ir programa galite saugiai naudotis per internetą

kompiuterius kurie jungiasi prie testerio web serverio ish lokalaus tinklo ir kurių adresas yra  127.0.0.1 arba  yra diapazone 10.x.x.x arba 192.168.xx.xx - praleidžiami be jokių apribojimų.

Kompiuteriams ish išorės išvedama slaptažodžio forma. Nurodžius teisingą slaptažodį, testeris įsimena jo ip adresa, ir toliau testerio darbas vyksta normaliame rėžime tol, kol testerio serveris nebus sustabdytas.

DĖMESIO, dažnai naudojamas vienas išorinis adresas privačių tinklų išėjimui į internetą, todel turėkite omenyje,
kad vienam tokio tinklo vartotojui prisijungus prie testerio, visi kiti to tinklo vartotojai galės jungtis be slaptažodžio
nes visų jų ip adresas tas pats.

Esant reikalui nustatymuose galima nurodyti ip adresų sąrašą kurie praleidžiami be slaptažodžio ivedimo.

nustatymų faile settings.cfg 2 nauji parametrai:

authIps
	nustatyme leidžiamų adresų sąrašas suvedamas atskiriant tarpais, pvz:
	authIps: 88.118.3.1 88.118.32.1 88.118.32.5

authPass
	prisijungimo slaptažodis, jį palikus tuščią, slaptažodis klausiamas niekad nebus.

Jokiu būdu neatidarinekite routerio portų kol neįvestas slaptažodis!


0.11 [2010-12-13]
dadėtas distancinis valdymas klaviatūros pagalba (papildomos klaviatūros klavišai ir/arba kursoriaus klavišai + enter, tarpas ir escape),
papildomos klaviatūros klavišai reaguoja i paspaudimus esant ir įjungtam ir išjungtam NUM LOCK:

Meniu:
	escape, tarpas, 7
Enter:
	enter, 0
Aukštyn
	rodyklė aukštyn, 8
Žemyn
	rodyklė žemyn, 2
Kairėn
	rodyklė kairėn, 4
Dešinėn
	rodyklė dešinėn, 6


0.1 [2010-12-03]

1. padarytas distancinio valdymo funkcionalas.
2. pataisyta binarinių išėjimų grupės "O" numeracija, dabar kaip ir kontroleryje nuo 1 iki 12
3. padarytas com porto arbitražas tarp procesų (JSDB nesuteikia jokiu priemonių porto užimtumui patikrint, o be to dalyko dažnai  vienas procesas bando atidaryti portą kai kitas tuo metu naudojasi ir viskas pastringa)


0.09a [2010-11-25]

1. pataisyta nemaloni klaida, kuri keičiant grafiko nustatymus kartais sustabdydavo web serverį
2. išsaugant aprašymą be reikalo neberefrešina grafiko
3. pataisytas grafiko elgesys kai paduodamos nesąmoningos temperatūrų reikšmės (jos kartais atsiranda kai veikiant kontroleriui junginejami davikliai)
4. pataisyta probl. kai kaikuriais atvejais neteisingai paskaičiuojami temperatūrų maksimali bei minimali ribos ir grafikas "nuvažiuodavo i pievas"

dadejau nedidelius patobulinimus:

- papildytas autorefrešo funkcionalas, dabar jis veikia tik kai parametras "Date to" turi reikšmę "now", kitais atvejais paveksliuką galima parkrauti spragtelėjus ant jo su pele,
- pakeitus nustatymus ir automatiškai persikrovus grafikui, autorefrešas stabdomas ir peraktyvuojamas nuo perkrovimo momento.

0.08a [2010-11-05] sauja smulkiu pataisymu, duomenu surinkimo servisas nebepasminga esant ryshio problemoms su kontroleriu, idetas nustatymas graphRefresh - grafiko autorefresho periodas sekundemis, 0 - atjungia
 ishmesti dialogRead ir readMode nustatymai, nes kontroleryje paliktas tik vienas dielogo rezhimas

0.07a [2010-11-01] - dadeti binariniai "O" lauko ishejimai, bei galimybe pasirinkti ishvedamo intervalo trukme (diskretishkumas 1 valanda),
bei intervalo pabaiga ISO formate: yyyy-mm-dd hh:ii:ss (pagal nutylejima reishme "now") 

0.05a [2010-10-29] - dadeti binariniai ishvedimai, ir y abscises masteliavimas pagal visas aktyvias temperaturas (dar nera "O" lauko ishvedimo)

0.04a [2010-10-28] - pirma versija kuria imanoma naudotis, bet dar nera binariniu ishejimu ishvedimo, tik temperaturos


---
Algis
go@home.lt