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 PDFInfo
- 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
Links
- 230000000007 visual effect Effects 0.000 title claims abstract description 38
- 238000000034 method Methods 0.000 title claims abstract description 16
- VJYFKVYYMZPMAB-UHFFFAOYSA-N ethoprophos Chemical compound CCCSP(=O)(OCC)SCCC VJYFKVYYMZPMAB-UHFFFAOYSA-N 0.000 title 1
- 230000009471 action Effects 0.000 claims abstract description 33
- 238000012544 monitoring process Methods 0.000 claims abstract description 31
- 230000033001 locomotion Effects 0.000 claims description 6
- 230000003044 adaptive effect Effects 0.000 claims description 4
- 230000010354 integration Effects 0.000 claims description 4
- 230000007717 exclusion Effects 0.000 claims description 3
- 238000000265 homogenisation Methods 0.000 claims description 3
- 230000003213 activating effect Effects 0.000 abstract description 2
- 230000000875 corresponding effect Effects 0.000 abstract 1
- 238000005516 engineering process Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 238000001994 activation Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000060 site-specific infrared dichroism spectroscopy Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, 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.
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.
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.
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.
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;
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.
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.
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.
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)
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)
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 | 日本電気株式会社 | 携帯電話装置、そのチャネルサーチ方法及びプログラム |
-
2009
- 2009-02-09 ES ES200900355A patent/ES2349099B1/es not_active Expired - Fee Related
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 |