ES2349099B1 - Sistema y procedimiento de programación visual de dispositivos móviles desde el propio dispositivo. - Google Patents

Sistema y procedimiento de programación visual de dispositivos móviles desde el propio dispositivo. Download PDF

Info

Publication number
ES2349099B1
ES2349099B1 ES200900355A ES200900355A ES2349099B1 ES 2349099 B1 ES2349099 B1 ES 2349099B1 ES 200900355 A ES200900355 A ES 200900355A ES 200900355 A ES200900355 A ES 200900355A ES 2349099 B1 ES2349099 B1 ES 2349099B1
Authority
ES
Spain
Prior art keywords
block
event
monitoring
visual programming
mobile devices
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
ES200900355A
Other languages
English (en)
Other versions
ES2349099A1 (es
Inventor
Miguel Lizondo Del Amo
Agustin Nuñez Castain
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Deimos Space SL
Original Assignee
Deimos Space SL
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Deimos Space SL filed Critical Deimos Space SL
Priority to ES200900355A priority Critical patent/ES2349099B1/es
Publication of ES2349099A1 publication Critical patent/ES2349099A1/es
Application granted granted Critical
Publication of ES2349099B1 publication Critical patent/ES2349099B1/es
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Telephonic Communication Services (AREA)

Abstract

Sistema y procedimiento de programación visual de dispositivos móviles desde el propio dispositivo. El sistema comprende:
- un bloque de programación visual (3) para:
\bullet
representar los eventos (E_{1}, ..., E_{n}), condiciones (C_{1}, ..., C_{m}) y acciones (A_{1}, ..., A_{s}) que el usuario puede seleccionar;
\bullet
obtener para cada evento seleccionado las condiciones (C_{j}, C_{k}) y las acciones a ejecutar (A_{p}, A_{r}) si se cumplen dichas condiciones (C_{j}, C_{k})
\bullet
un bloque de observadores (1) encargado de activar un sensor (7) relacionado con cada evento, y monitorizar el estado de los sensores (7) activados;
\bullet
un bloque de contexto (2) encargado de recibir la información proveniente de los sensores (7) monitorizados, y generar eventos a partir de dicha monitorización;
\bullet
un bloque de motor del robot (4) encargado de recibir dichos eventos y comprobar si se cumplen las condiciones (C_{j}, C_{k}) asociadas a cada evento, ejecutando en este caso a través de un bloque de actuadores (5) las acciones (A_{p}, A_{r}) correspondientes.

Description

Sistema y procedimiento de programación visual de dispositivos móviles desde el propio dispositivo.
Campo de la invención
La presente invención se engloba dentro del campo de los dispositivos móviles, tales como teléfonos móviles y PDAs, y más en concreto, en un procedimiento de programación visual que facilita la programación del dispositivo móvil desde el propio dispositivo, a cualquier usuario sin conocimientos informáticos, para que el dispositivo móvil ejecute una serie de acciones determinadas por el usuario en respuesta a unos eventos determinados, siempre que se cumplan una serie de condiciones también programadas por el usuario.
Antecedentes de la invención
Los teléfonos móviles actuales integran cada vez más un mayor número de tecnologías de comunicación (comunicación celular, WiFi, Bluetooth, NFC, etc.), multimedia (p.ej., gráficos 3D, sonido estéreo, vídeo, cámara) e incluso sensores de contexto (localización, aceleración, iluminación, temperatura, batería, brújula...).
Para gestionar estas tecnologías, los fabricantes incorporan en el dispositivo un sistema operativo que permite, no solo utilizarlas, sino incluso incorporar nuevas aplicaciones profesionales o de consumo como correo electrónico, navegación por Internet, juegos, etc.
La mayoría de estos sistemas operativos permiten actualmente la descarga y ejecución de programas desarrollados por terceros pero hasta ahora, la creación de estas aplicaciones sólo se podía realizar en otras plataformas (PC, Servidores de Desarrollo, Internet,...), pero siempre fuera del propio dispositivo móvil. Una vez desarrolladas externamente, la aplicación así creada se descarga en el dispositivo móvil vía radio o cable, se instala y configura para que pueda ser utilizada por el usuario.
La capacidad de desarrollar una aplicación que pueda ser utilizada en un dispositivo móvil es sólo accesible a personas cualificadas y formadas en los distintos lenguajes de programación y entornos de ejecución utilizados, y que posea un entorno de desarrollo en un equipo informático externo al dispositi-
vo.
Al no existir un único estándar, cada fabricante de dispositivos utiliza distintos sistemas operativos y entornos de ejecución que hacen que una aplicación móvil desarrollada para un modelo de dispositivo y fabricante concreto, difícilmente pueda ser utilizada en otro modelo distinto. Por ello, cada aplicación sólo sirve para un terminal de un modelo y fabricante específico y debe ser desarrollado a priori por profesionales, para que finalmente pueda ser descargado y utilizado por el usuario final del teléfono.
El usuario final de un terminal móvil no puede programarlo directamente sobre el propio terminal, y su interacción se limita bien a usar los servicios preconfigurados por el fabricante, o bien a descargar nuevas aplicaciones y utilizarlas sin posibilidad de modificar su código o comportamiento.
Por otro lado, el teléfono móvil, posee cada vez mayor información de contexto de la situación particular en la que se encuentra, como la localización, el movimiento, la proximidad a balizas, la iluminación, la situación de comunicación (hablando, navegando...), la bitácora dé uso, el consumo de batería, la lista de contactos, etc.
El uso actual de esta información de contexto es muy limitada y fundamentalmente orientada a mejorar el consumo de batería (apagando los procesos que no sean relevantes), o adaptando el interfaz de usuario a la situación de iluminación o conectividad.
Por último, la información de los sensores se recoge de manera pasiva, de tal manera que los sensores son consultados sólo cuando una acción del usuario lo requiere y posteriormente apagados para evitar el consumo de energía y por tanto, alargar la disponibilidad del dispositivo. Una excepción son los eventos de comunicación relacionados con la recepción de llamadas y de mensajes, pero estos eventos sólo activan el sonido y/o la vibración del móvil, y es el usuario el que debe de reaccionar y mediante algún mecanismo de apertura o teclado, arrancar los aplicativos correspondientes de comunicación por voz y datos.
En resumen, el usuario no puede configurar la ejecución de una acción basada en un evento generado desde uno de los sensores.
El objetivo de esta invención es facilitar la programación visual de los teléfonos móviles u otros aparatos personales de electrónica de consumo desde el propio dispositivo, a cualquier usuario sin conocimientos informáticos, permitiendo automatizar las acciones repetitivas relacionadas con las tecnologías disponibles en el dispositivo mediante algoritmos simples representadas por elementos gráficos que el usuario coloca según una triada (evento, condición, acción). La presente invención, permite, mediante un simple movimiento de piezas y su parametrización, representar cada nuevo algoritmo, activarlo, y dejarlo en ejecución para que actúe cuando un evento detectado desde los sensores cambien el perfil del contexto y se cumplan las condiciones predefinidas, sin necesidad de atención por él usuario, produciendo a su vez las acciones deseadas según la disposición de las piezas.
Descripción de la invención
La invención se refiere a un sistema de programación visual de dispositivos móviles desde el propio dispositivo de acuerdo con la reivindicación 1 y a un procedimiento de acuerdo con la reivindicación 12. Realizaciones preferidas del sistema y del procedimiento se definen en las reivindicaciones dependientes.
Con respecto al sistema de programación visual, se programa el dispositivo móvil para que éste actúe según una pauta programada cuando se cumplan unas determinadas condiciones de contexto asociadas a un determinado evento generado a partir de la información proporcionada por al menos un sensor del dispositivo. El sistema comprende:
- un bloque de programación visual encargado de:
\bullet
representar en medios de visualización del dispositivo móvil los diferentes eventos, condiciones de contexto y acciones que el usuario puede seleccionar a través de medios de entrada del dispositivo, en un formato de secuencia, según las prioridades definidas;
\bullet
obtener, según la selección del usuario, los distintos eventos a monitorizar y, para cada evento seleccionado, las condiciones de contexto y las acciones a ejecutar en cada de que se cumplan dichas condiciones de contexto;
- un bloque de observadores encargado de activar, para cada evento a monitorizar, al menos un sensor relacionado con cada evento, y monitorizar el estado de dichos sensores activados;
- un bloque de contexto conectado con el bloque de observadores, encargado de recibir la información proveniente de dichos sensores monitorizados, y generar eventos a partir de dicha monitoriza-
ción;
- un bloque de motor del robot encargado de recibir del bloque de contexto los eventos generados en la monitorización y, para cada evento generado a partir de dicha monitorización, comprobar si se cumplen las condiciones de contexto asociadas a dicho evento y ejecutar a través de un bloque de actuadores las acciones asociadas a aquellos eventos generados en la monitorización que cumplan sus condiciones de contexto.
El bloque de observadores comprende puede comprender a su vez:
- un módulo observador de modo de operación encargado de monitorizar el perfil activo del dispositivo móvil seleccionado por el usuario;
- un módulo observador de llamada de voz, encargado de monitorizar las llamadas telefónicas;
- un módulo de localización por celda, encargado de monitorizar el estado del parámetro Cell-ID que identifica la celda actual en la que se encuentra el dispositivo móvil;
- un módulo observador de mensajes móviles, encargado de monitorizar los mensajes recibidos y/o enviados por el dispositivo móvil;
- un módulo observador de reloj encargado de monitorizar el reloj del dispositivo y las alarmas basadas en el estado del reloj;
- un módulo observador de movimiento encargado de monitorizar el estado de los acelerómetros del terminal (siempre que el dispositivo móvil disponga de unos acelerómetros).
- un módulo observador de localización por WiFi (16) encargado de monitorizar los puntos de acceso WiFi (siempre que el dispositivo móvil tenga capacidades WiFi)
- un módulo observador de presencia Bluetooth (17) encargado de monitorizar el estado de Ja conexiones Bluetooth (siempre que el dispositivo móvil tenga capacidades Bluetooth).
El bloque de contexto puede estar adicionalmente configurado para:
- efectuar la homogeneización e integración en un solo valor final de la información recibida de aquellos sensores que proveen información para un mismo evento.
- archivar un historial de las sucesivas monitorizaciones para la exclusión de errores en los sensores por evoluciones incongruentes y el aprendizaje adaptativo de casos de uso, para recomendaciones como dispositivo inteligente.
Es objeto también de la presente invención un procedimiento de programación visual de dispositivos móviles desde el propio dispositivo, para que éste actúe según una pauta programada cuando se cumplan unas determinadas condiciones de contexto asociadas a un determinado evento generado a partir de la información proporcionada por al menos un sensor del dispositivo. El procedimiento comprende:
- representar en medios de visualización del dispositivo móvil los diferentes eventos, condiciones de contexto y acciones que el usuario puede seleccionar a través de medios de entrada del dispositivo;
- almacenar, según la selección del usuario, los distintos eventos a monitorizar y, para cada evento seleccionado, las condiciones de contexto y las acciones a ejecutar en cada de que se cumplan dichas condiciones de contexto;
- activar, para cada evento a monitorizar, el al menos un sensor relacionado con cada evento;
- monitorizar el estado de dichos sensores activados;
- para cada evento generado a partir de dicha monitorización, comprobar si se cumplen las condiciones de contexto asociadas a dicho evento;
- para aquellos eventos generados en la monitorización que cumplan sus condiciones de contexto, ejecutar las acciones asociadas al evento.
Breve descripción de los dibujos
A continuación se pasa a describir de manera muy breve una serie de dibujos que ayudan a comprender mejor la invención y que se relacionan expresamente con una realización de dicha invención que se presenta como un ejemplo no limitativo de ésta.
La Figura 1 muestra un diagrama de la interacción de los diferentes bloques de la invención y su integración en el dispositivo.
La Figura 2 muestra un diagrama de configuración del bloque de programación visual.
La Figura 3 muestra un diagrama de secuencia de funcionamiento del sistema.
Descripción de una realización preferida de la invención
El sistema propuesto permite al propio usuario configurar el dispositivo móvil y prepararlo para reaccionar a diferentes eventos producidos por los sensores disponibles, basados en unas reglas predefinidas que tienen en cuenta la información de contexto en tiempo real, y ejecutar acciones con los actuadores disponibles, así como disparar mecanismos de conexión, transferencia de información y ejecución de aplicaciones, mediante un sistema sencillo de programación visual que no requiere conocimiento ni aprendizaje de lenguaje de programación.
El sistema permite también que la configuración definida por el propio usuario, sea enviada y compartida con otros usuarios en otros modelos de dispositivos, de fabricantes distintos, siempre que estos últimos integren el sistema objeto de la invención.
Para realizar su misión, el sistema objeto de la presente invención comprende las bloques 1, 2, 3, 4 y 5, según se muestra en la Figura 1.
El bloque de observadores 1 tiene como misión gestionar los sensores 7 y transmisores/receptores de comunicación, activando, o desactivándolos en base a criterios predefinidos, recogiendo la información, calibrando sus valores y adaptándolos al formato especificado. Su diseño modular hace que este bloque se pueda adaptar a diferentes dispositivos móviles según incorporen o no cada una de las tecnologías de sensores, haciendo el sistema objeto de la invención compatible con la gran mayoría de los terminales móviles del mercado. Con un conjunto de observadores adecuado para los sensores disponibles de cada terminal móvil, se consigue toda la información de estado del terminal que se pasa al bloque de 2 de contexto y que es independiente del modelo y fabricante del dispositivo.
En particular, el bloque de observadores 1 comprende preferentemente al menos los siguientes módulos:
- Módulo observador de modo de operación 10, encargado de monitorizar el perfil actual del terminal seleccionado por el usuario (p.ej., modo normal, reunión, silencio...). Este módulo incorpora las interfaces específicas de cada terminal, según las interfaces del sistema operativo que utilice. También puede actuar como gestor de parámetros, puesto que los modos de operación pueden ser actualizados por la ejecución de una acción de otra secuencia automática. De esta forma, las secuencias pueden ser anidadas y responder a comportamientos complejos.
- Módulo observador de llamada de voz 11, encargado de la gestión de la línea telefónica. Este módulo se encarga de monitorizar las llamadas entrantes e identificar el número llamante, así como detectar la finalización de la llamada, bien por descuelgue por el usuario, bien por interrupción desde el número/llamante (llamada perdida).
- Módulo de localización por celda 12, encargado de leer el registro donde se almacena el parámetro Cell-ID que identifica unívocamente a la antena y sector con la que el terminal móvil tiene establecido el registro del enlace. Este módulo no sólo lee el Cell-ID sino que genera un evento cada vez que detecta un cambio en este parámetro, sin intervención del usuario.
- Módulo observador de mensajes móviles 13, encargado de leer los mensajes en sus diferentes formatos (SMS, MMS) y obtener el remitente.
- Módulo observador de reloj 14 encargado de generar los eventos de tiempo o alarmas basados en horas y/o días de la semana, leyendo la información del reloj 71.
- Módulo observador de movimiento 15, encargado de generar eventos cuando los acelerómetros del terminal 70 detecten un movimiento correspondiente aun gesto predefinido del usuario (Ej: dar la vuelta, agitar, podómetro, caída, reposo...).
- Módulo observador de localización por WiFi 16, encargado de generar un evento cuando se detecte la presencia de un punto de acceso WiFi determinado, bien por su identificador SSID o por su identificador MAC.
- Módulo observador de presencia Bluetooth 17, encargado de generar un evento cuando se descubra otro dispositivo Bluetooth (baliza u otro terminal móvil o pc).
El bloque de contexto 2 tiene como misión mantener una imagen actualizada del estado global del dispositivo. Para ello está conectado con el bloque de observadores 1 del cual recibe la información procesada de los sensores y es capaz de notificar a los demás bloques de los cambios producidos en las propiedades del estado. Esto se realiza mediante suscripciones, por lo que uno o mas bloques pueden ser informados de los cambios producidos, en forma de evento. Un típico caso de uso es del bloque de motor del robot 4, que reaccionará en base a los eventos que se le envíen desde el bloque este bloque de contexto 2. El bloque de contexto 2 es, pues, un gestor de eventos, contexto y perfiles.
El bloque de motor del robot 4 está conectado al bloque de contexto 2 para solicitar si ya existe una suscripción a un sensor, y en caso negativo, avisarle de qué sensores va a activar o desactivar a través bloque de observadores 1 y permitir que el bloque de contexto 2 inicie la lectura de los eventos a través del bloque de observadores 1. El bloque de contexto 2 también puede indicar al bloque de motor del robot 4 que ha recibido una solicitud de suscripción de otro bloque para iniciar la secuencia anterior. A este bloque de contexto 2 puede estar conectado cualquier otro bloque en formato de suscripción incluido el bloque de motor del robot 4. Para que un sensor esté activado, al menos una suscripción debe de indicar su necesidad al bloque de contexto 2, aunque podría recibir más de una suscripción, sin implicar ello que se active más de una vez. Este bloque de contexto 2 realiza también la calibración, homogeneización e integración de los parámetros recibidos de distintos sensores en un solo valor final, en el caso de que haga falta. Esto es, si el dispositivo posee varios sensores que miden un mismo parámetro (p.ej: localización GPS, Cell-ID y Mac de Wifi) que pueden dar resultados incoherentes, este módulo define las prioridades, para dar como resultado, el valor más fiable posible (p.ej: si está en exteriores, el valor de GPS es más prioritario que el de Cell-ID, pero si está en interior y el GPS da lectura erróneas, la prioridad es de la localización con Cell-ID, salvo que haya cobertura WiFi con una MAC específica, en cuyo caso sería esta última la prioridad). También este bloque permite memorizar y archivar un historial de los sucesivos estados del contexto, bien para eliminar saltos incongruentes de la máquina de estados o para realizar un aprendizaje de comportamientos que permita inferir decisiones al bloque de motor del robot 4, como comportamientos adaptativos.
El bloque de programación visual 3 tiene como objetivo permitir la configuración de las acciones que se automatizarán en base a los eventos que se produzcan, siempre que se cumplan una serie de condiciones. Este bloque utiliza la interfaz gráfica para representar mediante bloques la secuencia evento-condición(es)-acción(es) y se configura mediante uso de teclas, pantalla táctil u otro dispositivo de entrada del terminal, por el propio usuario final.
La Figura 2 muestra un diagrama de configuración del bloque de programación visual. Como aparece en dicha figura, este bloque utiliza la pantalla del dispositivo 9 y un interfaz de entrada de datos (teclado 72, pantalla táctil, etc) para permitir al usuario seleccionar una serie de piezas (8a, 8b, 8c) de tres categorías diferenciadas al usuario en la pantalla por forma o color del elemento gráfico, o bien un texto explicativo. La primera categoría de piezas 8a, con fondo blanco en la figura, corresponde a los eventos disponibles en el dispositivo en particular, las piezas E_{1} a E_{n}, siendo E_{i} la pieza elegida por el usuario mediante la pulsación de teclas izquierda o derecha y la traslación horizontal gráfica correspondiente a modo de menú, dejando visualizada en la pantalla la pieza elegida E_{i}. En este caso, n corresponde al número de eventos disponibles en el dispositivo, eventos de activación. Una vez elegida la pieza E_{i}, opcionalmente se puede modificar los parámetros que indican la condición que define el evento (p.ej.: entrar o salir de una celda de telefonía móvil, hace necesario indicar cuál es su Cell-ID, o recibir un SMS puede requerir que el evento sólo ocurra cuando el SMS viene de una persona o un grupo concreto de personas). A continuación, se repite el procedimiento para elegir una condición de filtrado entre la segunda categoría de piezas 8b, marcadas con rayado inclinado en la figura, que corresponden a las condiciones de contexto, las piezas C_{1} a C_{m}, siendo m el número de condiciones monitorizables en el dispositivo en concreto. En el caso de las condiciones, se pueden elegir varias, para limitar aún más el filtro de contexto cuando se compruebe una secuencia, por lo que una vez elegida C_{j} de la lista horizontal, de piezas de condiciones, se puede volver a insertar otra vez la misma lista de condiciones y elegir otra pieza C_{k} diferente. El número de condiciones elegidas para una secuencia no está limitado. Por último, el usuario debe elegir la tercera categoría de piezas 8c, marcadas con rayas horizontales, la pieza o piezas de la acción o acciones a realizar, de entre las disponibles A_{1}...A_{s}, que se pondrán en marcha si se ha recibido el evento E_{i} y se cumplen las condiciones C_{j} ... C_{k}, que en la figura corresponden a A_{p} ... A_{r}. El bloque de programación visual 3 se encarga de las etapas de la Fase 1, configuración de secuencias por el usuario, del proceso descrito en la Figura 3, la cual muestra un diagrama de secuencia de funcionamiento del sistema.
El bloque de motor del robot 4 es el encargado de analizar la información de contexto cada vez que se recibe un evento desde el bloque de contexto 2, siempre que esté suscrito a dicho evento, en base a la configuración elegida por el usuario a través del bloque de programación visual 3. En el caso de que este bloque de motor del robot 4 reciba un evento al que está suscrito, realiza la lectura del contexto desde el bloque de contexto 2 y si se cumple las condiciones especificadas por el usuario en el bloque de programación visual 3, señaliza al bloque de actuadores 5 para que realice la(s) acción(es) preconfiguradas por el usuario final en el bloque de programación visual 3. Este bloque de motor del robot 4 puede estar suscrito por el usuario a más de un evento, y realiza las activaciones y lecturas de los sensores estrictamente necesarias, para evitar el consumo de batería por los sensores que no están implicados en los eventos elegidos y activados por el usuario. También en este bloque se implementa la seguridad y la configuración de permisos de uso automático de actuadores por parte del bloque de motor del robot 4, de tal manera que el usuario elija qué acciones se pueden realizar sin confirmación manual y qué otras necesitan dicha confirmación por parte del usuario. También incluye el registro de claves de servicios autenticados que permita al sistema interactuar automáticamente con otros servicios externos en nombre del usuario, utilizando su identificativo y sus claves de acceso (p.ej: publicación automática en blogs o envío de alarmas).
Por tanto, el bloque de motor del robot 4 está conectado al bloque de programación visual 3 y recibe de éste, o a través de otros enlaces remotos, las secuencias que el usuario desea activar. Estas secuencias son utilizadas por este bloque para solicitar las suscripciones correspondientes al bloque de contexto 2 y solicitar al bloque de observadores 1que active los sensores que sean necesarios para las secuencias recibidas, siempre que el bloque de contexto 2 le indique que no existía anteriormente ninguna suscripción a este sensor. También se conecta con el bloque de contexto 2 para poder recibir, a través de las suscripciones, los eventos homogeneizados y poder comprobar las condiciones incluidas en las secuencias recibidas. Por último, este bloque también está conectado con el bloque de actuadores 5 para disparar los comandos que realicen las acciones incluidas en las secuencias recibidas. También recibe del bloque de actuadores 5 los avisos de terminación de ejecución de acción, puesto que estas se realizan de manera asíncrona y no secuencial. En el caso de que alguna acción requiera aprobación específica del usuario o la inclusión de claves para el acceso a servicios remotos, este bloque también dispone de la capacidad de interrumpir la acción y realizar la consulta al usuario mediante avisos sonoros y visuales. Este bloque se encarga de las etapas comprendidas en la Fase 2 (activación y sistema en espera) y Fase 3 (disparo del sistema en base a eventos y cumplimiento de condiciones) del proceso descrito en la Figura 3.
El bloque de actuadores 5 se encarga de implementar las acciones simples, según la secuencia evento-condición(es) elegida por el usuario final. Este bloque es modular, como el bloque de observadores 1, y su número de actuadores dependerá de las capacidades técnicas de cada dispositivo. Las acciones más comunes ya implementadas son vibración, reproducción de sonido, presentación de información en la pantalla, reproducción de vídeo, envío de mensajes (SMS, MMS, email), cambio de perfil de usuario, cambio de estado de contexto, publicación en web mediante protocolo http/tcp/ip, descarga de documento en URL, emparejamiento de Bluetooth.
El conjunto de módulos de este bloque es extensible a medida que aparezcan nuevas tecnologías dentro de los dispositivos móviles, por medio de módulos accesorios, sin tener que modificar el sistema.
Gracias al diseño modular del sistema objeto de la invención, y que el bloque de contexto 2, el bloque de programación visual 3 y el bloque de motor del robot 4 son estándares para cualquier dispositivo, dejando al bloque de observadores 1 y al bloque de actuadores 5 la adecuación a un modelo de terminal concreto, se consigue que las secuencias configuradas por un usuario sean reutilizables en cualquier otro dispositivo que integre el sistema.
Además, la simplicidad de uso del bloque de programación visual 3, donde los elementos gráficos que aparecen sólo se puede encajar de manera correcta, se evita que se puedan introducir errores de configuración por parte del usuario, por lo que cualquier persona, sin conocimiento ni formación en un lenguaje de programación, puede usar el sistema, sin riesgo de fallo.
La existencia de módulos de sensores en el bloque de observadores 1 y de actuadores en el bloque de actuadores 5 permite que estas tecnologías sean accesibles y utilizables por cualquier usuario sin conocimiento tecnológico, y no sólo a personas formadas y con conocimientos de lenguaje de ordenadores.
Con el sistema objeto de la invención, por tanto, cualquier usuario de dispositivo móvil puede configurar acciones automáticas relacionadas con todas las capacidades tecnológicas de su dispositivo, sin necesidad de conocimiento técnico.

Claims (15)

1. Sistema de programación visual de dispositivos móviles desde el propio dispositivo, para que éste actúe según una pauta programada cuando se cumplan unas determinadas condiciones de contexto asociadas a un determinado evento generado a partir de la información proporcionada por al menos un sensor (7) del dispositivo, y, caracterizado porque comprende:
- un bloque de programación visual (3) encargado de:
\bullet
representar en medios de visualización del dispositivo móvil los diferentes eventos (E_{1}, ..., E_{n}), condiciones de contexto (C_{1}.....C_{m}) y acciones (A_{1}, ..., A_{s}) que el usuario puede seleccionar a través de medios de entrada del dispositivo, en un formato de secuencia, según las prioridades definidas;
\bullet
obtener, según la selección del usuario, los distintos eventos a monitorizar (E_{i}) y, para cada evento seleccionado, las condiciones de contexto (C_{j}, C_{k}) y las acciones a ejecutar (A_{p}, A_{r}) en cada de que se cumplan dichas condiciones de contexto (C_{j}, C_{k});
- un bloque de observadores (1) encargado de activar, para cada evento a monitorizar (E_{i}), al menos un sensor (7) relacionado con cada evento, y monitorizar el estado de dichos sensores (7) activados;
- un bloque de contexto (2) conectado con el bloque de observadores (1), encargado de recibir la información proveniente de dichos sensores (7) monitorizados, y generar eventos a partir de dicha monitorización;
- un bloque de motor del robot (4) encargado de recibir del bloque de contexto (2) los eventos generados en la monitorización y, para cada evento generado a partir de dicha monitorización, comprobar si se cumplen las condiciones de contexto (C_{j}, C_{k}) asociadas a dicho evento y ejecutar a través de un bloque de actuadores (5) las acciones (A_{p}, A_{r}) asociadas a aquellos eventos generados en la monitorización que cumplan sus condiciones de contexto (C_{j}, C_{k}).
2. Sistema de programación visual de dispositivos móviles desde el propio dispositivo según la reivindicación 1, caracterizado porque él bloque de observadores (1) comprende un módulo observador de modo de operación (10) encargado de monitorizar el perfil activo del dispositivo móvil seleccionado por el usuario.
3. Sistema de programación visual de dispositivos móviles desde el propio dispositivo según cualquiera de las reivindicaciones anteriores, caracterizado porque el bloque de observadores (1) comprende un módulo observador de llamada de voz (11), encargado de monitorizar las llamadas telefónicas.
4. Sistema de programación visual de dispositivos móviles desde el propio dispositivo según cualquiera de las reivindicaciones anteriores, caracterizado porque el bloque de observadores (1) comprende un módulo de localización por celda (12), encargado de monitorizar el estado del parámetro Cell-ID que identifica la celda actual en la que se encuentra el dispositivo móvil.
5. Sistema de programación visual de dispositivos móviles desde el propio dispositivo según cualquiera de las reivindicaciones anteriores, caracterizado porque el bloque de observadores (1) comprende un módulo observador de mensajes móviles (13), encargado de monitorizar los mensajes recibidos y/o enviados por el dispositivo móvil.
6. Sistema de programación visual de dispositivos móviles desde el propio dispositivo según cualquiera de las reivindicaciones anteriores, caracterizado porque el bloque de observadores (1) comprende un módulo observador de reloj (14) encargado de monitorizar el reloj del dispositivo y las alarmas basadas en el estado del reloj.
7. Sistema de programación visual de dispositivos móviles desde el propio dispositivo según cualquiera de las reivindicaciones anteriores, en el que el dispositivo móvil dispone de unos acelerómetros (70), caracterizado porque el bloque de observadores (1) comprende un módulo observador de movimiento (15) encargado de monitorizar el estado de los acelerómetros del terminal (70).
8. Sistema de programación visual de dispositivos móviles desde el propio dispositivo según cualquiera de las reivindicaciones anteriores, en el que el dispositivo móvil tiene capacidades WiFi, caracterizado porque el bloque de observadores (1) comprende un módulo observador de localización por WiFi (16) encargado de monitorizar los puntos de acceso WiFi.
9. Sistema de programación visual de dispositivos móviles desde el propio dispositivo según cualquiera de las reivindicaciones anteriores, en el que el dispositivo móvil tiene capacidades Bluetooth, caracterizado porque el bloque de observadores (1) comprende un módulo observador de presencia Bluetooth (17) encargado de monitorizar el estado de la conexiones Bluetooth.
10. Sistema de programación visual de dispositivos móviles desde el propio dispositivo según cualquiera de las reivindicaciones anteriores, caracterizado porque el bloque de contexto (2) está adicionalmente configurado para efectuar la homogeneización e integración en un solo valor final de la información recibida de aquellos sensores (7) que proveen información para un mismo evento.
11. Sistema de programación visual de dispositivos móviles desde el propio dispositivo según cualquiera de las reivindicaciones anteriores, caracterizado porque el bloque de contexto (2) está adicionalmente configurado para archivar un historial de las sucesivas monitorizaciones para la exclusión de errores en los sensores por evoluciones incongruentes y el aprendizaje adaptativo de casos de uso, para recomendaciones como dispositivo inteligente.
12. Procedimiento de programación visual de dispositivos móviles desde el propio dispositivo, para que éste actúe según una pauta programada cuando se cumplan unas determinadas condiciones de contexto asociadas a un determinado evento generado a partir de la información proporcionada por al menos un sensor (7) del dispositivo, caracterizado porque comprende:
- representar en medios de visualización del dispositivo móvil los diferentes eventos (E_{1}, ..., E_{n}), condiciones de contexto (C_{1}, ..., C_{m}) y acciones (A_{1}, ..., A_{s}) que el usuario puede seleccionar a través de medios de entrada del dispositivo;
- obtener, según la selección del usuario, los distintos eventos a monitorizar (E_{i}) y, para cada evento seleccionado, las condiciones de contexto (C_{j}, C_{k}) y las acciones a ejecutar (A_{p}, A_{r}) en cada de que se cumplan dichas condiciones de contexto (C_{j}, C_{k});
- activar, para cada evento a monitorizar (E_{i}), el al menos un sensor (7) relacionado con cada evento;
- monitorizar el estado de dichos sensores (7) activados;
- para cada evento generado a partir de dicha monitorización, comprobar si se cumplen las condiciones de contexto (C_{j}, C_{k}) asociadas a dicho evento;
- para aquellos eventos generados en la monitorización que cumplan sus condiciones de contexto (C_{j}, C_{k}), ejecutar las acciones (A_{p}, A_{r}) asociadas al evento.
13. Procedimiento de programación visual de dispositivos móviles desde el propio dispositivo según cualquiera la reivindicación 12, caracterizado porque los eventos a monitorizar (E_{i}) comprenden al menos uno de los siguientes:
- monitorizar el perfil activo del dispositivo móvil seleccionado por el usuario;
- monitorizar las llamadas telefónicas;
- monitorizar el estado del parámetro Cell-ID que identifica la celda actual en la que se encuentra el dispositivo móvil;
- monitorizar los mensajes recibidos y/o enviados por el dispositivo móvil;
- monitorizar el reloj del dispositivo y las alarmas basadas en el estado del reloj;
- monitorizar el estado de los acelerómetros del terminal (70), en caso de que éste disponga de ellos;
- monitorizar los puntos de acceso WiFi, en caso de que el dispositivo móvil tenga capacidades WiFi;
- monitorizar el estado de la conexiones Bluetooth, en caso de que el dispositivo móvil tenga capacidades Bluetooth;
14. Procedimiento de programación visual de dispositivos móviles desde el propio dispositivo según cualquiera de las reivindicaciones 12-13, caracterizado porque comprende efectuar la homogeneización e integración en un solo valor final de la información recibida de aquellos sensores (7) que proveen información para un mismo evento.
15. Procedimiento de programación visual de dispositivos móviles desde el propio dispositivo según cualquiera de las reivindicaciones 12-14, caracterizado porque comprende archivar un historial de las sucesivas monitorizaciones para la exclusión de errores en los sensores por evoluciones incongruentes y el aprendizaje adaptativo de casos de uso, para recomendaciones como dispositivo inteligente.
ES200900355A 2009-02-09 2009-02-09 Sistema y procedimiento de programación visual de dispositivos móviles desde el propio dispositivo. Expired - Fee Related ES2349099B1 (es)

Priority Applications (1)

Application Number Priority Date Filing Date Title
ES200900355A ES2349099B1 (es) 2009-02-09 2009-02-09 Sistema y procedimiento de programación visual de dispositivos móviles desde el propio dispositivo.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
ES200900355A ES2349099B1 (es) 2009-02-09 2009-02-09 Sistema y procedimiento de programación visual de dispositivos móviles desde el propio dispositivo.

Publications (2)

Publication Number Publication Date
ES2349099A1 ES2349099A1 (es) 2010-12-28
ES2349099B1 true ES2349099B1 (es) 2011-10-27

Family

ID=43415153

Family Applications (1)

Application Number Title Priority Date Filing Date
ES200900355A Expired - Fee Related ES2349099B1 (es) 2009-02-09 2009-02-09 Sistema y procedimiento de programación visual de dispositivos móviles desde el propio dispositivo.

Country Status (1)

Country Link
ES (1) ES2349099B1 (es)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018061030A1 (en) 2016-10-01 2018-04-05 Gunakar Private Limited System for co-ordination of logical sequence of instructions across electronic devices using visual programming and wireless communication

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8130193B2 (en) * 2005-03-31 2012-03-06 Microsoft Corporation System and method for eyes-free interaction with a computing device through environmental awareness
JP2008250596A (ja) * 2007-03-30 2008-10-16 Nec Corp 移動端末装置を利用した緊急救助システム、移動端末装置を利用した緊急救助方法、携帯電話装置及び移動端末装置を利用して実行される緊急救助プログラム
KR100861329B1 (ko) * 2007-04-06 2008-10-01 한국과학기술원 상황 모니터링을 지원하는 상황 모니터링 장치 및 상황 모니터링 방법
JP5245308B2 (ja) * 2007-07-18 2013-07-24 日本電気株式会社 携帯電話装置、そのチャネルサーチ方法及びプログラム

Also Published As

Publication number Publication date
ES2349099A1 (es) 2010-12-28

Similar Documents

Publication Publication Date Title
EP3035738B1 (en) Method for connecting appliance to network and corresponding device
US9020476B2 (en) System and method for remote care and monitoring using a mobile device
EP3032412B1 (en) Method and device for upgrading firmware
US10264085B2 (en) Method and device for presenting push notifications
KR101737191B1 (ko) 스마트 단말기 제어방법, 장치, 프로그램 및 기록매체
ES2361192T3 (es) Gestión y acceso remoto a bases de datos, servicios y dispositivos asociados a un terminal móvil.
EP3007369B1 (en) Method, device and system of prompting communication event
RU2644410C2 (ru) Способ для напоминания и устройство напоминания
EP3110180A1 (en) Method and device for managing self-balanced vehicle
US9680982B2 (en) Emergency communication device
CN107306293B (zh) 防沉迷方法及系统
TWI486893B (zh) 在社群網路中分享群組狀態的系統及其方法
CA2892985A1 (en) System and method for configuring a field device of a control system
TW201437824A (zh) 跨裝置通訊傳輸系統及其方法
EP3264817B1 (en) Method and device for visually showing the security level of a wifi signal using an icon
US20150335001A1 (en) Electric Fishing Reel and Remote Operation System and Method
EP3322227B1 (en) Methods and apparatuses for controlling wireless connection, computer program and recording medium
JP2013084249A (ja) ユーザ設定が可能なユーザインタフェース設定方法及び装置
JP6310159B2 (ja) アプリケーションインストール方法、装置、スマートデバイス、プログラムおよび記録媒体
ES2349099B1 (es) Sistema y procedimiento de programación visual de dispositivos móviles desde el propio dispositivo.
JP2007226088A (ja) 学習機、学習機システム
CN113194404A (zh) 低功耗的定位方法、装置及计算机可读存储介质
CN105898029A (zh) 一种紧急通讯方法及装置
KR102229101B1 (ko) 긴급 상황 알림 시스템 및 그 방법
CN108184204A (zh) 基于智能音响的位置信息采集方法、服务器及存储介质

Legal Events

Date Code Title Description
FG2A Definitive protection

Ref document number: 2349099

Country of ref document: ES

Kind code of ref document: B1

Effective date: 20111027

FD2A Announcement of lapse in spain

Effective date: 20180924