ADKI: UN SISTEMA WEB DE ADQUISICIÓN DE DATOS
BAJO LINUX
Ped o Ju ado Maqueda, Jo ge Juan Chico
1
, Paulino Ruiz de Cla ijo Vázquez
1
Manuel J. Bellido Díaz
1
, Alejand o Millán Calde ón
1
Da id Gue e o Ma os
1
, En ique Os ua A angüena
Depa amen o de Tecnología Elec ónica. Uni e sidad de Se illa.
E.T.S. Ingenie ía In o má ica. A . Reina Me cedes s/n. 41012 Se illa. España.
Tl : +34 - 954 55 61 61. Fax: +34 - 954 55 27 64
1
También con el Ins i u o de Mic oelec ónica de Se illa
Cen o Nacional de Mic oelec ónica -CNM-CSIC- España
[email protected] g, {jjchico,paulino,bellido,amillan,gue e,os ua}@d e.us.es
Resumen
Es a con ibución p esen a una aplicación gené ica de adquisición de da os y
con ol pa a sis emas simples que inco po a el egis o his ó ico de la ac i idad del
sis ema y la capacidad de consul a y ges ión de la aplicación de o ma emo a ía
web. Las ca ac e ís icas del sis ema lo hacen idóneo pa a su aplicación en el con ol de
g anjas o la ges ión de pequeños edicios: iluminación, cale acción, en ilación, e c.
La aplicación ha sido desa ollada ín eg amen e median e so wa e lib e en el ma co
de un p oyec o n de ca e a de la i ulación de Ingenie ía Técnica en In o má ica
de Sis emas de la Uni e sidad de Se illa, mos ando la idoneidad de es e ipo de
pla a o ma an o en en el ámbi o indus ial como académico.
1. INTRODUCCIÓN
Desde hace iempo, el o denado es un elemen o cla e en muchos sis emas de con ol.
La g an en aja del uso del o denado se de i an de sus ca ac e ís icas como sis ema de
p opósi o gene al que puede se p og amado pa a ealiza la a ea de con ol eque ida
pe o que además, puede lle a a cabo mul i ud de a eas complemen a ias como el egis o
de la ac i idad y la gene ación de in o mes e his ó icos que pe mi en, en e o as cosas, el
es udio de la ope ación del sis ema, op imización, co ección de e o es, e c. La acilidad
de uso de los sis emas in o má icos ac uales o ece ambién a ac i as opciones como la
posibilidad de adap ación del sis ema a nue as necesidades de o ma ápida.
Po o a pa e, el ex ao dina io desa ollo de las edes de o denado es y en especial el
de In e ne pe mi e inco po a a los sis emas de con ol basados en o denado capacidades
adicionales y de g an u ilidad como la moni o ización y ges ión emo a del sis ema, basada
en la conexión a a és de la ed al o denado enca gado del con ol.
1
De es e modo, las posibilidades del o denado hacen posible imagina y lle a a la
p ác ica sis emas de con ol con ca ac e ís icas inimaginables hace pocos años. Los ela-
i amen e bajos cos es de los sis emas in o má icos ac uales hacen que es as capacidades
es én, además, al alcance de pequeñas y medianas emp esas e incluso de usua ios pa i-
cula es.
Uno de los aspec os undamen ales que mo i a es e abajo es mos a que en la ac-
ualidad es posible la implemen ación de un sis ema de con ol basado en o denado con
ca ac e ís icas a anzadas como las desc i as an e io men e: egis o de ac i idad, moni o-
ización y congu ación emo a, e c. con cos es bajos y asequibles. La cla e en cuan o a
la educción de cos es se basa, po una pa e, en los p ecios de los sis emas in o má icos
ac uales y en el uso de so wa e lib e [1], que puede se adqui ido po un cos e ma ginal.
Es e ipo de so wa e, el so wa e lib e, ha su ido un espec acula desa ollo en los úl i-
mos años, p opo cionando hoy en día un amplio conjun o de he amien as y aplicaciones
de al a calidad: sis emas ope a i os, se ido es de In e ne , bases de da os y, en gene al,
odos los componen es necesa ios pa a la ealización de un sis ema de con ol basado en
o denado .
El sis ema desc i o en es a con ibución es ela i amen e sencillo pe o sucien e pa a
un buen núme o de aplicaciones de con ol que no p ecisen de una espues a en iempo
eal. El sis ema, po una pa e, ecoge da os a a és de un in e az de adquisición de da os
y pe mi e acciona di e sos ac uado es en unción de los da os de en ada. El signicado de
las señales de en ada así como de las eglas de ac uación son comple amen e congu ables,
lo que pe mi e la adap ación del sis ema a múl iples aplicaciones p ác icas como el con ol
de g anjas, sis emas de iego, iluminación, cale acción, ges ión de pequeños edicios, e c.
Uno de los aspec os más in e esan es del sis ema es que pe mi e la consul a de da os y
acceso a las eglas de con ol median e una in e az web, lo que pe mi e el acceso desde
cualquie luga con acceso a In e ne que disponga de un na egado web es ánda .
Es impo an e des aca que el abajo p esen ado se desa olló como ema de P o-
yec o Fin de Ca e a pa a la ob ención del í ulo de Ingenie o Técnico en In o má ica
de Sis emas de la Uni e sidad de Se illa du an e el cu so 2001/02 ob eniendo la máxima
calicación. Es e hecho mues a las posibilidades del so wa e lib e y de las pla a o mas
abie as pa a se usadas en el ámbi o docen e pa a el desa ollo de p oyec os aplicados.
La madu ez alcanzada po es as pla a o mas pe mi e, po una pa e, la o mación de los
alumnos en p oyec os ecnológicos y, po o a pa e, la ob ención de esul ados ex apo-
lables al sec o p oduc i o, como los que se p esen an en es a con ibución.
El es o de es a con ibución se o ganiza como sigue: en el siguien e apa ado se p e-
sen a una desc ipción gene al del sis ema, su a qui ec u a e implemen ación. En el e ce
apa ado se desc ibe el uso y congu ación del sis ema. En el cua o apa ado se esbozan
algunas de las aplicaciones del sis ema desa ollado. Finalmen e se esumen las conclusio-
nes más ele an es.
2. DESCRIPCIÓN DEL SISTEMA
2.1. Requisi os uncionales
Los equisi os uncionales del sis ema pueden esumi se en los siguien es pun os:
El sis ema debe adqui i da os desde las en adas analógicas de una a je a de ad-
quisición de da os. Es os da os pueden se almacenados y pod án oma se decisiones
de con ol en unción del alo de los mismos.
2
El in e alo con el que se moni o izan y se almacenan los da os de en ada debe
se congu able. Los da os adqui idos po el sis ema deben pode ans o ma se
median e ope aciones sencillas an es de se almacenados con obje o de con e i los
a alo es con un signicado ísico ú il.
Un sis ema de ac i ación/desac i ación ac ua á sob e las salidas digi ales de la a -
je a de adquisición de da os en unción de unas eglas p og amables y dependien es
de los alo es de las señales de en ada.
El sis ema debe se independien e del ha dwa e de adquisición de da os conc e o.
El sis ema se á accesible emo amen e median e una in e az web pudiendo usa se
pa a ello cualquie na egado web con encional.
El acceso web debe pe mi i la lec u a cómoda del his ó ico de da os almacenados,
así como la congu ación gene al del sis ema en sí y de las eglas de con ol.
El acceso al sis ema dispond á de un mecanismo de con ol median e nomb e de
usua io y con aseña.
Con el n de cumpli los obje i os gene ales mencionados en la In oducción, el
sis ema debe se implemen ado en su o alidad empleando so wa e lib e.
2.2. A qui ec u a del sis ema
El sis ema desa ollado ha sido denominado ADKI. La a qui ec u a gene al del sis ema
ADKI se mues a en la gu a 1.
El sis ema se puede di idi en dos pa es bien di e enciadas:
Una se ía un p og ama bina io que ejecu ado en o ma de demonio se enca ga de lee
las congu aciones que desc iben las en adas y salidas u ilizadas así como su elación
en e ellos pa a que dependiendo de los alo es de en ada, se ac i e o desac i e las
salidas. Además se enca ga de in oduci las medidas omadas po las en adas en la base
de da os ( as se a adas po una ó mula ma emá ica pa a ajus a la a una medida eal)
así como el in e alo de iempo en e cada medida.
Po la o a pa e es a ía la aplicación web que pe mi i ía consul a las medidas oma-
das po la aplicación, di e enciando además median e au en icación po con aseña el ipo
de consul as que puede hace el usua io, llegando incluso el caso de que si iene sucien es
pe misos, pueda cambia emo amen e los a chi os de congu ación pa a un mejo ajus e.
2.3. Implemen ación
La gu a 2 mues a en de alle los componen es que o man la implemen ación del sis ema.
Es os componen es se desc iben a con inuación:
Una a je a de adquisición de da os compa ible con Comedi [2] y con al menos 16
en adas analógicas.
D i e s Comedi: Es un paque e so wa e desa ollado en la Uni e sidad de Cali o nia
en Be keley que nos si e pa a con ola , lee y esc ibi da os con una a je a de
adquisición bajo Linux g acias a que in eg a una can idad eno me de con olado es
pa a un g an núme o de a je as de adquisición de da os pa a Linux, y que en
3
Figu a 1: Diag ama de bloques gene al de ADKI.
la ac ualidad eune d i e s pa a más de 250 a je as de ab ican es como Na ional
Ins umen s, Ad an ech, Adlink y o os. Además p opo cionan un esquele o pa a que
los usua ios puedan esc ibi sus p opios con olado es con compa ibilidad comple a
con el p opio Comedi. Y po el o o lado enemos
Lib e ías Comedi: las lib e ías Comedi, que se enca gan de p opo ciona nos un pa-
que e bas an e ex enso de unciones en C pa a el con ol, lec u a y esc i u a de
da os de las a je as de adquisición, abs ayéndonos así del modelo en pa icula .
Así, al u iliza lo, nos asegu amos de que la aplicación que u iliza esas unciones,
debe ía unciona sin p oblemas en una a je a de o o modelo e incluso dis in o
ab ican es, siemp e que es é sopo ado po Comedi, y u ilicemos sus con olado es
pa a ins ala la. Como odo lo an e io es so wa e lib e.
P og ama ADKI: El co azón de odo el sis ema y se enca ga de odo el manejo de
la p opia a je a y de los da os, según lo indicado en los a chi os de congu ación
adki.con y adki_ou .con . Po mo i os de eciencia, es á p og amado en C y emplea
4
Figu a 2: Diag ama de bloques de la implemen ación ealizada de ADKI.
el sis ema de empo izado es p opio de UNIX [3] pa a la ealiza las a eas de
moni o ización y oma de da os.
MySQL [4]: Es un sis ema ges o de base de da os o almen e compa ible con el
lenguaje SQL y ambién como odo lo an e io , so wa e lib e. En e sus en ajas
es án la inclusión de unas lib e ías p opias pa a el lenguaje C, y la g an apidez de
inse ción y búsqueda de da os en las bases de da os con un cos o de ecu sos ha d-
wa e mínima. Po el con a io iene el incon enien e de que el bloqueo y desbloqueo
de ablas pa a el acceso concu en e en esc i u a no es á muy bien implemen ado,
aunque en nues o caso, es o no iene mucha ele ancia, al habe sólo una conexión
ac i a que al e e la base de da os, y que se á el p og ama ADKI. Es e incon enien e
no a ec a a la posibilidad de ealiza di e sas consul as simul áneas desde a ios
clien es WEB.
Aplicación PHP: Se enca ga de gene a las in e aces median e PHP que es un
lenguaje de al o ni el pa a p og amación de páginas web dinámicas (de c eación en
el mismo momen o de la consul a). Su sin axis es muy pa ecida al C, y su inclusión
5
en el código HTML na i o es muy ácil de hace [5, 6]. La elección de es e lenguaje
se debe a las siguien es azones:
•
G an in e acción con o os lenguajes, incluso con unciones p opias pa a su
manejo, al con a io de, po ejemplo Pe l.
•
Todas las acciones se ealizan en el se ido , con lo cual el clien e no se e
sob eca gado de abajo ni comp ome e su p opia segu idad al ejecu a código
ex año que no se e di ec amen e.
•
To almen e lib e y no dependien e de la pla a o ma (al con a io que ASP).
Apache [7]: Se ido web ápido, segu o y lib e, líde en su campo y que se in eg a
pe ec amen e con PHP y MySQL.
2.4. He amien as y en o no de desa ollo
El p oyec o se ha desa ollado sob e pla a o ma IBM-PC con sis ema ope a i o GNU/Linux
[8, 9]. Aunque no se han hecho p uebas, el sis ema debe ía unciona sin cambios sob e
cualquie o a a qui ec u a sopo ada po GNU/Linux siemp e que el sis ema de adqui-
sición de da os es é sopo ado po Comedi en esa a qui ec u a.
Pa a el desa ollo del p oyec o se han empleado dos de las dis ibuciones GNU/Linux
más popula es del momen o como son Debian [10] y Red Ha [11], ambos con núcleos del
sis ema ope a i o pe sonalizados de la se ie 2.4.x.
Las he amien as u ilizadas pa a el desa ollo han sido las siguien es, siendo odas
so wa e lib e:
KDe elop [12]: Sin duda el IDE lib e pa a Linux po excelencia, in eg ado en el
sis ema de esc i o io de KDE, nos pe mi e ealiza p oyec os en lenguajes como C,
C++ y Objec i e-C , además de que en la nue a e sión a publica , se añadi án
o os como Ja a e incluso PHP, aunque sólo si es á compilado como cgi-bin. Además
de ene esal ado de sin axis, depu ación, azas y p ác icamen e odo lo que se le
pueda pedi a un in e az de p og amación.
Pa a la edición del código PHP se ha empleado el p og ama Vim (
i imp o ed
)
un clónico mejo ado del Vi con esal ado de sin axis que acili a la localización de
e o es simples como el cie e de comillas o el empa ejamien o de co che es. También
se a a de so wa e lib e.
En la pa e de MySQL se ha empleado el p opio moni o de sis ema de la aplica-
ción. Aunque la aplicación se enca ga de c ea la base de da os y odas las ablas,
además de in oduci los da os au omá icamen e sin in e ención alguna de usua io
o adminis ado , el moni o se u ilizó pa a comp oba y co egi la sin axis de los
comandos in oducidos po el p og ama así como la co ec a c eación de las ablas
y de la in oducción de da os.
Pa a el análisis léxico y sin ác ico de los a chi os de congu ación se han empleado
las he amien as
ex
y
bison
espec i amen e, ambas pe enecien es al p oyec o
GNU. Es os dos p og amas son los he ede os de los o iginales
lex
y
yacc
, p esen es
en la mayo ía de los sis emas UNIX, mejo ándolos en di e sos aspec os.
6
Figu a 3: Ejemplo de a chi o adki.con .
Figu a 4: Ejemplo de a chi o adki_ou .con .
Como ya hemos comen ado, el se ido web que se ha u ilizado es el popula Apache,
po su al a in eg ación con MySQL y PHP, que iene de se ie con el p opio paque e
bina io del se ido , sin ene que ecompila lo, con el consiguien e aho o de iempo
y es ue zo.
3. USO DEL SISTEMA
3.1. Moni o de adquisición de da os
El p og ama de congu ación se maneja median e dos a chi os de ex o simple, uno de
congu ación gene al adki.con y o o que con ola la ac i ación/desac i ación de salidas
digi ales llamado adki_ou .con .
Viendo el ejemplo del a chi o
adki.con
(gu a 3) obse amos que hay cinco campos:
#canal
indica a qué canal ísico nos es amos e iendo.
nomb e
es un iden icado del canal.
unidad
, nos da á la unidad en la que se mide ese canal.
ó mula
dene la ó mula a aplica al da o en ol ios pa a ob ene el da o nal.
ac ualización
es el iempo que anscu i á en e dos inse ciones de da os en la abla
co espondien e al canal.
Po o o lado, el a chi o
adki_ou .con
iene el esquema que se mues a en la gu a 4.
Como podemos e , se a a de unas compa aciones de las medidas que se ecogen en
las en adas analógicas, que si se cumplen ejecu an la acción que se indica al nal de la
línea, pudiendo se la ac i ación (
ac i e
) o desac i ación (
deac i e
) de cualquie salida
digi al, indicando ese núme o el canal ísico.
7
Figu a 5: In e az web. Acceso de usua io de ni el 3.
Figu a 6: In e az web. Acceso de usua io de ni el 2.
3.2. Aplicación web
El in e az web sólo puede se accedido as da un nomb e de usua io y con aseña. Según
el ni el de usua io se nos pe mi e hace las siguien es acciones:
Ni el 3: Como se puede comp oba en la gu a 5, an sólo se pe mi e comp oba la
úl ima medida ealizada, sin más opciones.
Ni el 2: En la gu a 6, se puede e que, además de lo incluido en el ni el 3,
ambién se pe mi e accede al his ó ico median e el bo ón que es á jus o debajo de
las úl imas medidas ealizadas. Es o nos lle a ía a o o menú en el que pod íamos
elegi el in e alo de iempo a examina .
Ni el 1: Se puede ap ecia en la gu a 7 que, además de lo incluido en el ni el 2,
ambién se pe mi e ges iona los usua ios añadiendo los nue os que sean necesa ios
y bo a los que no sean ya ú iles; así como cambia los pe misos a los usua ios ya
8
Figu a 7: In e az web. Acceso de usua io de ni el 1.
exis en es (excep o cambios al ni el 0). Pa a ello pulsa emos el bo ón Ges iona
usua ios.
Ni el 0: Po úl imo, en la gu a 8, se mues a el menú pa a los usua ios de ni el 0,
en el que se pe mi e odo lo dicho en el ni el 1 así como cambia el usua io al ni el
0, y ambién edi a los a chi os de congu ación de la aplicación emo amen e. Pa a
cada a chi o exis e una in e az de edición que se co esponde con cada uno de los
dos nue os bo ones que apa ecen en es e ni el.
4. APLICACIONES
Las aplicaciones p ác icas del sis ema desa ollado son muchas, an o en el ámbi o indus-
ial como cien íco. La cons ucción de aplicaciones conc e as pasa ía po la ins alación
del sis ema desa ollado jun o con los disposi i os conc e os de ansducción y ac uación
adecuados pa a la aplicación deseada. La calib ación del sis ema se pod ía ealiza á-
cilmen e a pa i de las medidas omadas en iempo eal y median e la adap ación de
los che os de congu ación ( ó mulas y eglas de ac uación) a la lógica p opia de la
aplicación.
En el ma co del P oyec o Fin de Ca e a en que se ha desa ollado el sis ema, se han
ealizado p uebas de uncionamien o basadas en la oma de da os de elemen os ansduc o-
es simples: po encióme os, células o oeléc icas, e c, y se han implemen ado algo i mos
de ac uación median e el lenguaje de eglas p opio de la aplicación. Ob eniendo esul a-
dos a o ables en odos los casos, an o en la lec u a en iempo eal de la in o mación
de en ada como en el almacenamien o de his ó icos y cumplimien o de las eglas de
ac uación.
Aunque conside amos que los de alles de implemen aciones conc e as del sis ema que-
dan ue a del ámbi o de es e abajo, a con inuación desc ibimos algunas de sus posibles
aplicaciones:
9