scieee Open visual document viewer

ADKI: un sistema web de adquisición de datos bajo Linux

Jurado Maqueda, Pedro; Juan Chico, Jorge; Ruiz de Clavijo Vázquez, Paulino; Bellido Díaz, Manuel Jesús; Millán Calderón, Alejandro; Guerrero Martos, David; Ostúa Arangüena, Enrique

Abstract

Esta contribución presenta una aplicación genérica de adquisición de datos y control para sistemas simples que incorpora el registro histórico de la actividad del sistema y la capacidad de consulta y gestión de la aplicación de forma remota vía web. Las características del sistema lo hacen idóneo para su aplicación en el control de granjas o la gestión de pequeños edi cios: iluminación, calefacción, ventilación, etc. La aplicación ha sido desarrollada íntegramente mediante software libre en el marco de un proyecto n de carrera de la titulación de Ingeniería Técnica en Informática de Sistemas de la Universidad de Sevilla, mostrando la idoneidad de este tipo de plataforma tanto en en el ámbito industrial como académico.

Full text

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 edicios: 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 congu 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 sucien 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 signicado de las señales de en ada así como de las eglas de ac uación son comple amen e congu 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 edicios, 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 calicació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 congu 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 congu 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 signicado í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 congu 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 congu 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 sucien es pe misos, pueda cambia emo amen e los a chi os de congu 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 congu ación adki.con y adki_ou .con . Po mo i os de eciencia, 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 congu 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 congu ación se maneja median e dos a chi os de ex o simple, uno de congu 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 icado del canal. unidad , nos da á la unidad en la que se mide ese canal. ó mula dene 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 congu 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 congu 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