Home

instituto tecnologico y de estudios superiores de monterrey campus

image

Contents

1. a d derecha Velocidad de los motores Se puede asociar o no con los comandos de direcci n motores detenidos 20 de la velocidad maxima 40 de la velocidad maxima 60 de la velocidad maxima 80 de la velocidad maxima Velocidad maxima JZ o Us 0 1 2 3 4 5 SENSORES Medir I luminosidad posicion del carro acelerometro t temperatura u distancia con ultrasonido v velocidad de las ruedas Los comandos 1 y 2 se asocian con sto 1 motor 1 2 motor 2 p SALIDAS Encender n bocina leds de alta luminosidad 0 Z Led normal Se asocia con los comandos 1 2 3 y 4 1 led 1 2 led 2 3 led 3 4 led 4 c Sensor seguidor de l nea Se asocia con los comandos 1 y 2 1 Sensor derecho 2 Sensor izquierdo
2. sido instalada Subversion Recomendaci n para Windows TortoiseSVN JDE Java 2 6 en adelante Driver de Windows o Broadcom para Bluetooth En el caso de Windows XP en adelante viene integrado o se deber utilizar la versi n disponible del Stack de Windows si se utiliza alguna versi n de Linux se tendr que agregar manualmente Elementos del c digo fuente El c digo fuente se encuentra dentro de la p gina anteriormente mencionada Para poder acceder a l se pueden utilizar dos m todos El primero es utilizando la opci n Browse del google code Por otro lado se podr utilizar la herramienta Subversion considerando como semilla la liga que apunta al trunk http rcse teccem googlecode com svn trunk Para mayor referencia de uso y versiones disponibles de dicha herramienta se puede consultar la siguiente liga http subversion apache org packages html El rbol est formado de la siguiente manera Directories svn branches tags vtrunk RobotCemDesktop RobotCemiDE RobotCemMobile ServersClients conf db hooks locks wiki svwn trunk La rama trunk es donde se encuentran las 3 principales composiciones del proyecto lt swn trunk RobotCemDesktop Librer as de comunicaci n e RobotEmulator py Servidor b sico para la pruba de conexi n con PyBluez e robotcem py Este archivo contiene las librer as de comunicaci n entre el robot y el IDE Es esencial para el funcionamiento del programa lt sv
3. INSTITUTO TECNOL GICO Y DE ESTUDIOS SUPERIORES DE MONTERREY CAMPUS ESTADO DE MEXICO Programaci n Robot Did ctico del Instituto v1 0 Manual T cnico Introducci n El prop sito de este manual es facilitar la reutilizaci n del c digo y archivos documentados para la primera versi n del proyecto de programaci n del robot did ctico del instituto Toda la informaci n necesaria podr ser encontrada dentro de la siguiente p gina http rcse teccem googlecode com Nota Es altamente recomendable que las personas encargadas de la siguiente versi n consulten y lean en su totalidad este documento Contenido Dentro de la p gina se podr n encontrar los siguientes elementos Manual de Usuario Manual T cnico C digo del IDE C digo de la aplicaci n m vil Librer as necesarias C digo de comunicaci n con el robot Ficha t cnica del robot Cliente y servidor RFECOMM Cliente y servidor L2CAP Plan de comunicaci n Bluetooth Todos estos componentes son parte esencial para la comprensi n r pida y completa de la primera versi n Todo el c digo est documentado con el prop sito de facilitar al desarrollador la asimilaci n de ste A su vez la p gina cuenta con ligas importantes a considerar para la comprensi n de la comunicaci n Bluetooth y las librer as de PyBluez Requerimientos Python 2 5 en adelante Excluyendo Python 3 hasta que PyBluez lo soporte PyBluez compatible con la versi n de Python que haya
4. c keywords add finally keywords add for keywords add from keywords add global keywords add if keywords add in keywords add is keywords add lambda keywords add not keywords add or keywords add pass keywords add print keywords add raise keywords add return keywords add try keywords add while keywords add with keywords add yield keywords add None keywords add True keywords add import keywords add False Con respecto a la obtenci n de las salidas en otro lenguaje diferente a Java En este caso Python se realiza a trav s de una llamada al sistema la cual manda a llamar a python exe con el c digo generado como argumento De la siguiente manera Process p r exec python exe file Es importante recalcar que para que lo anterior funcione se debe de tener python bien configurado desde el path Las caracter sticas del IDE permiten abrir la posibilidad de integrar f cilmente cualquier lenguaje de programaci n Importante A poco tiempo de la realizaci n de la presentaci n del IDE se observ que el procesamiento de la salida obtenida no desplegaba el primer car cter de la salida Es importante corregirlo o Aplicaci n m vil Con respecto a la apli
5. caci n m vil se realiz algo similar a las librer as del escaneo de bluetooth sin embargo presenta la deficiencia que bajo ambientes saturados de dispositivos el escaneo puede alcanzar tiempos de hasta 15 min En una habitaci n con 4 bluetooth el escaneo tiene una duraci n aproximada de 1 2 min Pese a o lo anterior se present un problema en relaci n al robot al momento de realizar la programaci n para la conexi n la mayor a de los dispositivos m viles ped an establecer una conexi n por intercambio de llaves sin embargo el robot no pose a seguridad alguna y no ten a forma de enviar el password por lo que no fue posible establecer la conexi n de manera correcta Aspectos futuros a considerar Debido a las limitaciones f sicas del robot la primera versi n se vio afectada considerablemente por la falta de varios componentes dentro de la composici n electr nica del producto A continuaci n se mencionar n distintos aspectos a considerar para futuras versiones o Memoria f sica El robot cuenta con una memoria limitada la programaci n de ste es b sica y esto afecta en el desarrollo y eficiencia por parte del programa cliente Es sumamente necesario agregar mayor memoria para que se pueda implementar la utilizaci n de ACKs Acknowledgements de las funciones del robot Esto para evitar la sobresaturaci n de comandos y p rdida de algunos por el b fer limitado del robot o Seguridad Se estuvieron realizando vari
6. gt gt services find service address 00 0A 3A 2D 7C 64 gt gt gt for svc in services print svc name print suvc port Serial Port 1 gt Al obtener el puerto se proceder a establecer la conexi n con el robot usando el siguiente comando gt gt gt socket connect 00 0A 3A 2D 7C 64 1 Una vez realizada la conexi n la pantalla se oculta y ya es posible mandar rdenes al robot Internamente se comunica a trav s de los protocolos de comunicaci n del robot presentados en los anexos de este documento A continuaci n se presenta informaci n de las librer as e Clase principal de la librer a RobotCEM Class for robot control e M todos de la clase principal Instance Methods init_graphics self devicesList Starts up the main window for device selection select_device self event Device selection event manager init self RobotCEM constructor waitForRobotAction self Waits for robot action moveAction self velocity command Sends a moving action to the robot moveForward self velocity None Sends a move forward action moveLeft self velocity None Sends a move left action moveRight self velocity None Sends a move right action moveBackward self velocity None Sends a move backward action stop self Sends a halt to the current action setVelocity self value Sets the robot velocity getLuminosity self Requests for luminosity information getPosition self Request
7. guida se desplegar una pantalla la cual permita escoger el dispositivo bluetooth a conectar t Python26 python File Edit View Help Mar 19 2010 21 28 26 MS w 1500 32 bit Intelj on or license for more information EN Configuraci n Conexi n robot Para comprender lo ocurrido en la pantalla anterior internamente la librer a realizar lo siguiente gt Buscar los dispositivos cercanos desplegando el nombre y direcci n en forma de tupla de cada dispositivo Lo anterior generar que se despliegue la lista en la ventana previamente mostrada con los nombres que se tienen asignado en un dispositivo bluetooth En un futuro esta acci n puede ser omitida al saber las direcciones internas que los robots tengan bluetooth discover devices lookup names True Ejemplo gt gt gt bluetooth discover devices lookup names True 00 05 C9 D2 0A 9A 00 0A 3A 2D 7C 64 TEC1O a 00 16 41 C9 C6 9E FALCONS CORP 00 22 65 1F C9 81 Nozomi 00 23 39 F0 6D 28 00 24 2C B8 54 1F SANTIMOMA 00 25 CF 86 F8 06 KeReN 00 26 08 BF F7 A7 MacBook Pro de Gustavo Alonso Roman Duelxflas gt Buscar los servicios de la direcci n escogida por el usuario tratando de encontrar el puerto que se encuentra asignado para la comunicaci n Por el momento el robot tiene solamente un puerto y es el 1 de serial find service address 00 0A 3A 2D 7C 64 Ejemplo gt
8. n trunk RobotCemiIDE IDE Dentro de este archivo se encuentra el c digo de la interfaz gr fica y el puente de comunicaci n entre las librer as y el GUI lt swn trunk RobotCemMobile Aplicaci n m vil Esta rama contiene los archivos de java utilizados para la aplicaci n m vil El listado de archivos son los siguientes e Controller java e BluetoothDeviceScanner java e Views MainView java MovementView java SensorView java StartUpView java Cada uno de ellos cuenta con una explicasi n de sus m todos y clases dentro de los mismos Nota Para poder utilizar y probar esta parte del proyecto se necesita un celular que soporte Java Se pueden utilizar emuladores pero se debe de tener en cuenta que estos deben de soportar los mismos servicios Bluetooth que los celulares en particular el servicio de Serial RFCOMM lt svn ServersClients Pruebas de comunicaci n Estos c digos pueden ser utilizados para pruebas de comunicaci n tanto por RFECOMM como L2CAP Las dem s ramas son parte de la configuraci n de subversion y por lo tanto no es necesario atender una explicaci n para stas Elementos t cnicos de las aplicaciones o Librer as de comunicaci n RobotCEM Estas librer as se encuentran realizadas con la versi n de Python 2 6 y utilizan PyBluez para el manejo de las conexiones de bluetooth y WxPython para proveer del ambiente gr fico para la selecci n del dispositivo Al crear una instancia de RobotCEM en se
9. os estudios con respecto a la seguridad en la comunicaci n del robot y la computadora Como resultado se pudo lograr el siguiente an lisis de vulnerabilidades Vulnerabilidad Definici n Mitigaci n Overflow en el n mero de El atacante puede enviar un Generar alguna restricci n en asociaciones n mero inusual de peticiones el programa del robot para para asociarse al dispositivo restringir el n mero de con lo cual puede utilizar todos los puertos disponibles y negar cualquier tipo de comunicaci n posterior conexiones permitidas DoS por manejo inadecuado de sesiones Cualquier usuario puede interrumpir la comunicaci n ya establecida con el robot al intentar establecer una nueva sesi n Integrar un esquema de separaci n de recursos para cada sesi n establecida y o restringir el n mero de sesiones establecidas a una sola para control del robot Overflow de memoria El atacante env a un n mero suficiente de peticiones como para saturar la memoria del robot Restringir el n mero de direcciones a cierto tipo de dispositivos que cuentan con el c digo de seguridad adecuado y cuya direcci n f sica ha sido registrada exitosamente Descubrimiento de equipos ocultos El atacante genera peticiones a trav s de una b squeda de dispositivos por direcci n f sica iterando desde cierto rango de direcciones o a trav s de un diccionario preestablecido hasta que un dispositi
10. s for position information getTemperature self Requests for temperature information getObjectProximity self Requests for object proximity information getWheell Velocity self Requests for wheel 1 velocity information getWheel2Velocity self Requests for wheel 2 velocity information turnOnSpeaker self Turns on the speaker turnOnHighLuminosityLight self Turns on the high luminosity light turnOnLight self lightNumber Turns on the light turnOnLineFollower self sensorNumber Turns on the line follower o IDE Debido a cuestiones de portabilidad se decidi realizarlo en Java 1 6 Tiene las caracter sticas de presentar syntax highlight para la parte de codificaci n del lenguaje python desplegar los n meros de l nea y permite f cilmente obtener las salidas del c digo RCSE IDE 1 print hello world Guardar Correr Recalcando la parte de syntax highlight sta se encuentra realizada por la comparaci n de cadenas en el documento obtenido Utilizando el hashSet de palabras claves que se encuentran en el archivo SyntaxDocument java keywords new HashSet lt String gt keywords add and keywords add as keywords add assert keywords add break keywords add class keywords add continue keywords add def keywords add del keywords add elif keywords add else keywords add except keywords add exe
11. vo conteste a la petici n Utilizar un esquema en el que se apague el dispositivo bluetooth cuando no est siendo utilizado Rogue Access Point El atacante puede implementar un servidor bluetooth malicioso al cual los usuarios pueden asociarse a riesgo de obtener alguna especie de virus o aplicaciones para generar acceso al dispositivo asociado Generar un esquema de autenticaci n que incorpore la utilizaci n de llaves din micas Potencial de hijacking El atacante puede tomar control de una sesi n ya establecida por otro usuario aprovechando el mal manejo de sesiones Incorporar un esquema de autenticaci n al robot que se base en un modelo cliente servidor para mapeo de adecuado de c digos PIN a dispositivos confiables Contacto Para cualquier aclaraci n o apoyo con respecto al c digo se podr n consultar a las siguientes personas Alfonso Palacios nirvanaapcO gmail com C sar Gustavo L pez Zamarripa cesar lzamarripa gmail com Jos Rub n Salazar scarletsoul1024 gmail com Anexos e Comandos del robotCem Al momento de hacer las pruebas con el robot nos dimos cuenta que parte de la informaci n de comunicaci n se encontraba incompleta por lo que a continuaci n se presenta la documentaci n de comunicaci n resultante MOTORES Direcci n de los motores Se puede asociar o no con los comandos de velocidad w adelante a izquierda d Ss q atras detenerse

Download Pdf Manuals

image

Related Search

Related Contents

USER MANUAL - BestEcig.ie  仕様書 - 中小企業庁    M panel - Amazon Web Services  Bewapass-Entro-user-manual - Chris Lewis Fire & Security  Computer Gear COPPL0200 surge protector  LOEWE Individual 40  Philips Steam&Go 2-in-1 GC332  

Copyright © All rights reserved.
Failed to retrieve file