Структура на сървъра и резултати

Сървъра се състои от две статични страници и три динамично изменящи се чрез използване на външни динамични javascript променливи изобразявани чрез document.write() и мета таг за autorefresh. На Фиг. 2.7 е показано дървото на страниците и външните променливи.

Figure: Дърво на страниците и външните променливи
\includegraphics[width=380pt]{figs/Fig18.pdf.ps}

Главната страница представлява статичен HTML с изписвани javascript променливи за различните метеорологични параметри. Променливите се съдържат в отделно генерирана страница /s с вид напр. ``var SI=1100; AT=22.32; ST=18.5; BP=1018; BR=0.08; HUM=72; WS=3; WD=''North-East''; ''. На Фиг.2.8 е показан вида на връщаната главна страница.

Figure: Вид на главната страница indexPage
\includegraphics[width=450pt]{figs/Fig19.pdf.ps}

Към основната страница на сървъра е разработена допълнителна страница за изобразяване на графики, отчитащи измененията на параметрите в реално време за последните 24 часа, Фиг.2.9. За целта е използвана open-source javascript библиотека dygraphs за визуализиране на Dan Vanderkam[26], която извлича данни под формата на CSV1 от променлива в оперативната памет на микроконтролера. Източника на графичната библиотека е външен. т.е. не се намира в паметта на микроконтролера а бива извлечена от външен сървър. Причината за използването на тази методика е, че микроконтролера няма достатъчно налична ROM памет за да бъде събрана библиотеката (72kB), както и неналичието на възможност за пакетна фрагментация от страна на SPI_Ethernet библиотеката.

Figure: Вид на графичната страница
\includegraphics[width=400pt]{figs/Fig20.pdf.ps}

Администраторската страница е защитена с парола, алгоритъм изграден посредством javascript, който дава защита от влизане на неоторизирани потребители в страницата. Степента на защита на системата е минимална. По-опитни компютърни специалисти лесно биха могли да проникнат, но изграждането на силно защитена админ страница не беше приоритет.

В страницата се намира сервизна информация за сверяване на часовнка, преглеждане на комуникацията между slave контролерите и ядрото, извличане на точно определени променливи от паметта с цел усъвършенстване.



Deyan Levski 2013-06-22