<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
		<id>http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Bobot</id>
		<title>Bobot - Historial de revisiones</title>
		<link rel="self" type="application/atom+xml" href="http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Bobot"/>
		<link rel="alternate" type="text/html" href="http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=Bobot&amp;action=history"/>
		<updated>2026-04-05T21:46:00Z</updated>
		<subtitle>Historial de revisiones para esta página en el wiki</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=Bobot&amp;diff=4413&amp;oldid=prev</id>
		<title>Andres en 19:35 11 abr 2013</title>
		<link rel="alternate" type="text/html" href="http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=Bobot&amp;diff=4413&amp;oldid=prev"/>
				<updated>2013-04-11T19:35:48Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='es'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Revisión anterior&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revisión del 19:35 11 abr 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Línea 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Línea 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Bobot ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Bobot ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Archivo:bobot.png|thumb|Fig. 9.1 bobot logo]][[Archivo:componentes.png|thumb|Fig. 9.2 Arquitectura del bobot]][[Archivo:web_bobot.png|thumb|Fig. 9.3 Interacción con dispositivo USB4all de forma web]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Archivo:bobot.png|thumb|Fig. 9.1 bobot logo]][[Archivo:componentes.png|thumb|Fig. 9.2 Arquitectura del bobot]][[Archivo:web_bobot.png|thumb|Fig. 9.3 Interacción con dispositivo USB4all de forma web]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;bobot-server (version 2) es un servicio que permite &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;acceder &lt;/del&gt;a aplicaciones y usuarios interactuar con dispositivos USB4all.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;bobot-server (version 2) es un servicio que permite a aplicaciones y usuarios interactuar con dispositivos USB4all.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Consiste en un agente altamente portable y liviano, que exporta la funcionalidad de los dispositivos USB4all presentes de una forma fácil de usar. Ofrece dos métodos de acceso,&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Consiste en un agente altamente portable y liviano, que exporta la funcionalidad de los dispositivos USB4all presentes de una forma fácil de usar. Ofrece dos métodos de acceso,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;uno optimizado para aplicaciones, basado en un socket y un protocolo fácilmente parseable, y otro optimizado para ser usado por humanos, mediante un sitio web&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;uno optimizado para aplicaciones, basado en un socket y un protocolo fácilmente parseable, y otro optimizado para ser usado por humanos, mediante un sitio web&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Andres</name></author>	</entry>

	<entry>
		<id>http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=Bobot&amp;diff=1650&amp;oldid=prev</id>
		<title>Jorge en 17:26 2 feb 2012</title>
		<link rel="alternate" type="text/html" href="http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=Bobot&amp;diff=1650&amp;oldid=prev"/>
				<updated>2012-02-02T17:26:36Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='es'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Revisión anterior&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revisión del 17:26 2 feb 2012&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l98&quot; &gt;Línea 98:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Línea 98:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Puede descargarse bobot desde el git del proyecto butiá en sourceforge.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Puede descargarse bobot desde el git del proyecto butiá en sourceforge.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;La &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;discusión para la &lt;/del&gt;futura versión de Bobot&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;, llamada Toribio, &lt;/del&gt;se &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;encuentra &lt;/del&gt;[[&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;aquí&lt;/del&gt;]].&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;La futura versión de Bobot se &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;llama &lt;/ins&gt;[[&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Toribio&lt;/ins&gt;]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Jorge</name></author>	</entry>

	<entry>
		<id>http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=Bobot&amp;diff=1594&amp;oldid=prev</id>
		<title>Jorge: /* Toribio */</title>
		<link rel="alternate" type="text/html" href="http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=Bobot&amp;diff=1594&amp;oldid=prev"/>
				<updated>2012-01-20T17:44:34Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Toribio&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='es'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Revisión anterior&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revisión del 17:44 20 ene 2012&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l97&quot; &gt;Línea 97:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Línea 97:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Puede descargarse bobot desde el git del proyecto butiá en sourceforge.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Puede descargarse bobot desde el git del proyecto butiá en sourceforge.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;La discusión para la futura versión de Bobot, llamada Toribio, se encuentra [[aquí]].&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Jorge</name></author>	</entry>

	<entry>
		<id>http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=Bobot&amp;diff=1330&amp;oldid=prev</id>
		<title>Andres: /* Bobot */</title>
		<link rel="alternate" type="text/html" href="http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=Bobot&amp;diff=1330&amp;oldid=prev"/>
				<updated>2011-11-04T15:41:22Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Bobot&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='es'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Revisión anterior&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revisión del 15:41 4 nov 2011&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l80&quot; &gt;Línea 80:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Línea 80:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Entre las características del bobot se encuentra la capacidad de abstraer al usuario del tipo de hardware de placa de E/S está conectada pudiendo ser placas que utilizan comunicación serial rs232c o USB u otra tecnología como también la cantidad de las mismas. En la figura 8.2 puede verse un caso posible, donde se encuentran diferentes ''usermodules'' cargados en una ''baseboard'' y ciertos drivers cargados en el bobot que van a permitir consumir los servicios expuestos por los ''usermodules''.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Entre las características del bobot se encuentra la capacidad de abstraer al usuario del tipo de hardware de placa de E/S está conectada pudiendo ser placas que utilizan comunicación serial rs232c o USB u otra tecnología como también la cantidad de las mismas. En la figura 8.2 puede verse un caso posible, donde se encuentran diferentes ''usermodules'' cargados en una ''baseboard'' y ciertos drivers cargados en el bobot que van a permitir consumir los servicios expuestos por los ''usermodules''.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Como se mencionó al comienzo de la sección, bobot expone un protocolo que puede utilizarse mediante conexiones TCP/IP, este protocolo se describe de esta forma:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Como se mencionó al comienzo de la sección, bobot expone un protocolo que puede utilizarse mediante conexiones TCP/IP &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;mediante la interacción con el bobot server&lt;/ins&gt;, este protocolo se describe de esta forma:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; LIST&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; LIST&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Andres</name></author>	</entry>

	<entry>
		<id>http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=Bobot&amp;diff=1327&amp;oldid=prev</id>
		<title>Andres: Página creada con '== Bobot == Fig. 9.1 bobot logoFig. 9.2 Arquitectura del bobot[[Archivo:web_bobot.png|thumb|Fig. 9.3 Interacción c...'</title>
		<link rel="alternate" type="text/html" href="http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=Bobot&amp;diff=1327&amp;oldid=prev"/>
				<updated>2011-11-04T15:35:53Z</updated>
		
		<summary type="html">&lt;p&gt;Página creada con &amp;#039;== Bobot == &lt;a href=&quot;/inco/proyectos/butia/mediawiki/index.php/Archivo:Bobot.png&quot; title=&quot;Archivo:Bobot.png&quot;&gt;Fig. 9.1 bobot logo&lt;/a&gt;&lt;a href=&quot;/inco/proyectos/butia/mediawiki/index.php/Archivo:Componentes.png&quot; title=&quot;Archivo:Componentes.png&quot;&gt;Fig. 9.2 Arquitectura del bobot&lt;/a&gt;[[Archivo:web_bobot.png|thumb|Fig. 9.3 Interacción c...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Bobot ==&lt;br /&gt;
[[Archivo:bobot.png|thumb|Fig. 9.1 bobot logo]][[Archivo:componentes.png|thumb|Fig. 9.2 Arquitectura del bobot]][[Archivo:web_bobot.png|thumb|Fig. 9.3 Interacción con dispositivo USB4all de forma web]]&lt;br /&gt;
bobot-server (version 2) es un servicio que permite acceder a aplicaciones y usuarios interactuar con dispositivos USB4all.&lt;br /&gt;
Consiste en un agente altamente portable y liviano, que exporta la funcionalidad de los dispositivos USB4all presentes de una forma fácil de usar. Ofrece dos métodos de acceso,&lt;br /&gt;
uno optimizado para aplicaciones, basado en un socket y un protocolo fácilmente parseable, y otro optimizado para ser usado por humanos, mediante un sitio web&lt;br /&gt;
hosteado en el propio agente, el cual atiende en el puerto 2010.&amp;lt;br&amp;gt; &lt;br /&gt;
Bobot introduce el concepto de driver, en el cual se codifica el protocolo que utilizan los ''usermodules'', de esta forma se exponen al usuario del sistema bobot los servicios que implementan los ''usermodules'' ocultando los detalles relacionados con el protocolo de intercambio de mensajes.&lt;br /&gt;
Para desarrollar compatibilidad con un nuevo dispositivo electronico en la plataforma USB4all utilizando bobot para su control, primero se debe desarrollar el ''usermodule'' necesario como fue descripto en la sección: Escribiendo un ''usermodule'' luego se debe escribir el driver correspondiente a ese ''usermodule''. &lt;br /&gt;
&lt;br /&gt;
El driver se escribe en Lua, debe seguir un formato preestablecido y es implementado mediante el recurso de tablas que brinda Lua. Una característica de Lua es que las funciones son miembros de primer orden, esto permite (entre otras cosas) que una función pueda ser un tipo de datos válido, pasar funciones como argumento de funciones o como retorno de las mismas y almacenarla en una tabla. &lt;br /&gt;
Esta capacidad permite que dentro de la tabla que representa un driver se puedan almacenar funciones asociadas para cada servicio expuesto por un módulo. Estas funciones son invocadas al solicitarse servicios desde la aplicación que utiliza la biblioteca.&lt;br /&gt;
&lt;br /&gt;
Asociado a cada función se almacenan metadatos que describen los parámetros que la función recibe, su tipo, valor de retorno y valores aceptados.&lt;br /&gt;
Mucha de ésta información es utilizada por el bobot para generar el sitio web mencionado anteriormente, como se muestra en la figura 9.3. Este sitio describe al módulo de usuario y se puede usar como documentación y mecanismo de prueba del mismo. &lt;br /&gt;
A continuación se muestra un ejemplo de driver para el módulo de usuario presentado en la sección: Escribiendo un ''usermodule''. En este driver podemos ver que se exportan los siguientes servicios:&lt;br /&gt;
* read_version&lt;br /&gt;
* prender&lt;br /&gt;
* apagar&lt;br /&gt;
* buzzer_corto&lt;br /&gt;
* buzzer_triple&lt;br /&gt;
&lt;br /&gt;
El siguiente código corresponde con la implementación de estos servicios en un driver bobot:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt; &lt;br /&gt;
local device = _G&lt;br /&gt;
local RD_VERSION = string.char(0x00)&lt;br /&gt;
local PRENDER = string.char(0x01)&lt;br /&gt;
local APAGAR = string.char(0x02)&lt;br /&gt;
local BUZZER_CORTO = string.char(0x03)&lt;br /&gt;
local BUZZER_TRIPLE = string.char(0x04)&lt;br /&gt;
&lt;br /&gt;
api={}&lt;br /&gt;
api.read_version = {}&lt;br /&gt;
api.read_version.parameters = {} --no parameters&lt;br /&gt;
api.read_version.returns = {[1]={rname=&amp;quot;version&amp;quot;, rtype=&amp;quot;number&amp;quot;}} --one return&lt;br /&gt;
api.read_version.call = function ()&lt;br /&gt;
        local get_read_version = RD_VERSION &lt;br /&gt;
        device:send(get_read_version)&lt;br /&gt;
        local version_response = device:read(2) &lt;br /&gt;
        local raw_val = string.byte(version_response, 2) &lt;br /&gt;
        --print(&amp;quot;rawval, deg_temp: &amp;quot;, raw_val, deg_temp)&lt;br /&gt;
        return raw_val&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
api.prender = {}&lt;br /&gt;
api.prender.parameters = {} --no parameters&lt;br /&gt;
api.prender.returns = {} --no return&lt;br /&gt;
api.prender.call = function ()&lt;br /&gt;
    local write_res, err = device:send(PRENDER)&lt;br /&gt;
    if write_res then return true else return false end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
api.apagar = {}&lt;br /&gt;
api.apagar.parameters = {} --no parameters&lt;br /&gt;
api.apagar.returns = {} --no return&lt;br /&gt;
api.apagar.call = function ()&lt;br /&gt;
    local write_res, err = device:send(APAGAR)&lt;br /&gt;
    if write_res then return true else return false end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
api.buzzer_corto = {}&lt;br /&gt;
api.buzzer_corto.parameters = {[1]={rname=&amp;quot;num&amp;quot;, rtype=&amp;quot;number&amp;quot;}} &lt;br /&gt;
api.buzzer_corto.returns = {} --no return&lt;br /&gt;
api.buzzer_corto.call = function (num)&lt;br /&gt;
    local write_res, err = device:send(BUZZER_CORTO .. string.char(num))&lt;br /&gt;
    if write_res then return true else return false end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
api.buzzer_triple = {}&lt;br /&gt;
api.buzzer_triple.parameters = {[1]={rname=&amp;quot;tiempo1&amp;quot;, rtype=&amp;quot;number&amp;quot;}, [2]={rname=&amp;quot;tiempo2&amp;quot;, rtype=&amp;quot;number&amp;quot;}, [3]={rname=&amp;quot;tiempo3&amp;quot;, rtype=&amp;quot;number&amp;quot;}} &lt;br /&gt;
api.buzzer_triple.returns = {} --no return&lt;br /&gt;
api.buzzer_triple.call = function (tiempo1, tiempo2, tiempo3)&lt;br /&gt;
    local write_res, err = device:send(BUZZER_TRIPLE .. string.char(tiempo1) .. string.char(tiempo2) .. string.char(tiempo3))&lt;br /&gt;
    if write_res then return true else return false end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En el ejemplo puede notarse al comparar con el ''usermodule'' presentado de ejemplo, como se realiza el pasaje de parámetros entre el driver y el ''usermodule'', esto corresponde con el protocolo definido por el usuario para codificar los comandos del ''usermodule'' y el orden de los parámetros, este protocolo es llamado en la arquitectura USB4all como ''user protocol'' y responde al formato de &amp;lt; COMANDO [argumento1] [argumento2]...[argumentoN] &amp;gt; para el pedido y mensajes del tipo &amp;lt; COMANDO [resultado1] [resultado2]..[resultadoN] &amp;gt; para la respuesta. &lt;br /&gt;
&lt;br /&gt;
Entre las características del bobot se encuentra la capacidad de abstraer al usuario del tipo de hardware de placa de E/S está conectada pudiendo ser placas que utilizan comunicación serial rs232c o USB u otra tecnología como también la cantidad de las mismas. En la figura 8.2 puede verse un caso posible, donde se encuentran diferentes ''usermodules'' cargados en una ''baseboard'' y ciertos drivers cargados en el bobot que van a permitir consumir los servicios expuestos por los ''usermodules''.&lt;br /&gt;
&lt;br /&gt;
Como se mencionó al comienzo de la sección, bobot expone un protocolo que puede utilizarse mediante conexiones TCP/IP, este protocolo se describe de esta forma:&lt;br /&gt;
&lt;br /&gt;
    LIST&lt;br /&gt;
    DESCRIBE moduleName&lt;br /&gt;
    CALL moduleName operation param1, param2, ...,paramN&lt;br /&gt;
    OPEN moduleName&lt;br /&gt;
    CLOSEALL&lt;br /&gt;
&lt;br /&gt;
Donde el comando:&lt;br /&gt;
* LIST despliega la lista de módulos disponibles en la placa por su nombre.&lt;br /&gt;
* DESCRIBE muestra la información de que servicios expone el módulo de nombre moduleName e información sobre los parámetros.&lt;br /&gt;
* CALL es utilizado para invocar los servicios expuestos por un módulo.&lt;br /&gt;
* OPEN se utiliza para abirir un módulo, a partir de ese momento el baseboard le asigna tiempo de CPU y recursos al ''usermodule'', actualmente esta deprecado su uso ya que bobot se encarga de abrirlos de forma automática ante la primer invocación.&lt;br /&gt;
* CLOSEALL cierra todos los módulos abiertos en la placa, llevandola a un estado conocido.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Puede descargarse bobot desde el git del proyecto butiá en sourceforge.&lt;/div&gt;</summary>
		<author><name>Andres</name></author>	</entry>

	</feed>