Robótica, programación e inventos varios

Videojuegos, música, series...
Bollito
Avatar de Usuario
Mensajes: 9081
Registrado: 18 Feb 2012, 23:12

Robótica, programación e inventos varios

Notapor O.P. Wilkituski » 30 Dic 2017, 22:02

Tenía pensado preguntar esto en algún subreddit, pero he pensado en ponerlo aquí. Estoy planeando hacer un pequeño proyecto tipo DIY y tengo una duda que quizás alguno sepáis responder. ¿Cómo funcionan exactamente los aparatos que se sincronizan por bluetooth? Por ejemplo, unos cascos inalámbricos y la antenita que le conectas al PC. No puede ser algo tan sencillo como conectar un emisor al punto A y un receptor al punto B, porque entonces existiría la posibilidad de que varios dispositivos captasen de forma no deseada la misma onda. ¿Se trata simplemente de un uso de una frecuencia en específico que hace poco probables las interferencias o hay algo más? Un ejemplo en el que parece que sí que hay algo más es el de los mandos inalámbricos de xBox, en que, de alguna forma, se realiza un ajuste previo (probablemente no sea más que un sencillo proceso de ¿está la frecuencia 1/4 ocupada?, probar con la siguiente y parar con la primera disponible de los cuatro mandos posibles, pero bueno).

De todos modos, ahora mismo, el proyecto que tengo en mente es muy sencillo: un botón físico capaz de enviar una señal al móvil cuando lo pulsas y una app de móvil que reproduzca un sonido al recibir esa señal.

Portador de la banspardenya
Avatar de Usuario
Mensajes: 5761
Registrado: 18 Feb 2012, 13:45

Re: Robótica, programación e inventos varios

Notapor Edearth » 31 Dic 2017, 04:46

No quieres meterte con cosas de esas a tan bajo nivel, créeme. Además de que no te hace falta.

Busca algún tutorial en el que alguien conecte un arduino o algo parecido a una aplicación de Android por bluetooth (home automation y demás están de moda ahora, pero parece que hay algunos tan básicos como encender un LED con el móvil; empieza por algo de ese estilo). A partir de ahí puedes escalar y modificarlo para hacer lo que quieras hacer, pero te aviso que si es tu primer proyecto de electrónica o de programación con cosas de redes... es dificil para un principiante.

Bollito
Avatar de Usuario
Mensajes: 9081
Registrado: 18 Feb 2012, 23:12

Re: Robótica, programación e inventos varios

Notapor O.P. Wilkituski » 05 Ene 2018, 00:59

Edearth escribió:No quieres meterte con cosas de esas a tan bajo nivel, créeme. Además de que no te hace falta.

Busca algún tutorial en el que alguien conecte un arduino o algo parecido a una aplicación de Android por bluetooth (home automation y demás están de moda ahora, pero parece que hay algunos tan básicos como encender un LED con el móvil; empieza por algo de ese estilo). A partir de ahí puedes escalar y modificarlo para hacer lo que quieras hacer, pero te aviso que si es tu primer proyecto de electrónica o de programación con cosas de redes... es dificil para un principiante.


Ahí está la cosa. Enviar del móvil a algo es muy sencillo. Lo que yo quiero es enviar de algo al móvil, que hay mucha menos información. De todos modos, ya he encontrado un tutorial, después de mucho escarbar.

Portador de la banspardenya
Avatar de Usuario
Mensajes: 5761
Registrado: 18 Feb 2012, 13:45

Re: Robótica, programación e inventos varios

Notapor Edearth » 06 Ene 2018, 12:28

O.P. Wilkituski escribió:
Edearth escribió:No quieres meterte con cosas de esas a tan bajo nivel, créeme. Además de que no te hace falta.

Busca algún tutorial en el que alguien conecte un arduino o algo parecido a una aplicación de Android por bluetooth (home automation y demás están de moda ahora, pero parece que hay algunos tan básicos como encender un LED con el móvil; empieza por algo de ese estilo). A partir de ahí puedes escalar y modificarlo para hacer lo que quieras hacer, pero te aviso que si es tu primer proyecto de electrónica o de programación con cosas de redes... es dificil para un principiante.


Ahí está la cosa. Enviar del móvil a algo es muy sencillo. Lo que yo quiero es enviar de algo al móvil, que hay mucha menos información. De todos modos, ya he encontrado un tutorial, después de mucho escarbar.

Comparte el tuto. Si por casualidad puedo ayudar con diseño o conceptos, pregunta por aquí. Pero pensaba que enviar datos era relativamente fácil si utilizas arduino y trivial si lo haces con una raspberry pi (porque es un ordenador y ya lo tienes todo implementado, sólo te haría falta un bluetooth/wifi usb).

Bollito
Avatar de Usuario
Mensajes: 9081
Registrado: 18 Feb 2012, 23:12

Re: Robótica, programación e inventos varios

Notapor O.P. Wilkituski » 07 Ene 2018, 01:58

Edearth escribió:Pero pensaba que enviar datos era relativamente fácil si utilizas arduino y trivial si lo haces con una raspberry pi (porque es un ordenador y ya lo tienes todo implementado, sólo te haría falta un bluetooth/wifi usb).


Claro, la cuestión era hacer ese Bluetooth/Wi-Fi que te enviase la señal.

Edearth escribió:Comparte el tuto.


El tutorial en sí era bastante mierdero. Sobre todo me sirvió para comprender mejor el concepto del Bluetooth. Más que nada, el interés estaba en ver los circuitos electrónicos, porque el texto en sí era una basura... Pero me sirvió para algo: para darme cuenta de que la tecnología Bluetooth son esencialmente ondas de radio. Luego, el proyecto se reduce a construir un emisor de radio. De esto hay infinitas formas, pero creo que la versión más sencilla y efectiva que te puedes encontrar por ahí es ésta: https://www.youtube.com/watch?v=MMgzUGBfXiE

Ahora la meta es desarrollar una aplicación que pueda hacer algo así como: "estoy recibiendo algo por la frecuencia x? entonces cambiar el valor de la variable a por 1". Luego ya sería cuestión de, por ejemplo, que cuando el valor de esa variable sea 1, el teléfono reproduzca un sonido o vibre.

Portador de la banspardenya
Avatar de Usuario
Mensajes: 5761
Registrado: 18 Feb 2012, 13:45

Re: Robótica, programación e inventos varios

Notapor Edearth » 08 Ene 2018, 01:00

O.P. Wilkituski escribió:El tutorial en sí era bastante mierdero. Sobre todo me sirvió para comprender mejor el concepto del Bluetooth. Más que nada, el interés estaba en ver los circuitos electrónicos, porque el texto en sí era una basura... Pero me sirvió para algo: para darme cuenta de que la tecnología Bluetooth son esencialmente ondas de radio. Luego, el proyecto se reduce a construir un emisor de radio. De esto hay infinitas formas, pero creo que la versión más sencilla y efectiva que te puedes encontrar por ahí es ésta: https://www.youtube.com/watch?v=MMgzUGBfXiE

Ahora la meta es desarrollar una aplicación que pueda hacer algo así como: "estoy recibiendo algo por la frecuencia x? entonces cambiar el valor de la variable a por 1". Luego ya sería cuestión de, por ejemplo, que cuando el valor de esa variable sea 1, el teléfono reproduzca un sonido o vibre.

Creo que no es tan simple como eso, ¿eh? No puedes simplemente emitir una frecuencia y esperar recibirla en el móvil. Todo esto se maneja mediante protocolos, 0s y 1s que se añaden a los datos que quieras enviar tú, mensajes de forma ordenada, etc. Para que te hagas una idea, te pongo el ejemplo de IP, que es lo que manejo más.

Básicamente, para cada mensaje que se envía de una máquina a otra, el Protocolo de Internet (Internet Protocol, o IP) añade una cabecera de datos que incluyen desde las direcciones IP de las máquinas hasta cosas de configuración. Esos datos son los de que puedes ver en este esquema:

Imagen
https://i.imgur.com/zkjT7PD.jpg

Si cuentas los bits de información que se transmiten con cada paquete enviado, suman un mínimo de 160 bits de información, o 20 bytes. Eso es mucha mierda de la que te tienes que encargar y que tienes que estudiar y aprender. Lo peor es que este no es el único protocolo, por debajo y por encima tienes otros que también te añaden headers propios y que se pueden comportar de maneras extrañas. Ejemplo de cómo funciona la web:

Imagen
https://i.imgur.com/hjqFtjS.png

Por darte más información, el siguiente protocolo que hace funcionar la web es TCP que, para establecer algo así como un "canal" por el que transferir información, empieza intercambiando 3 mensajes con datos específicos (proceso que se conoce como 3-way handshake) y que después, durante la transmisión de datos, usa una técnica conocida como sliding window que te permite regular la cantidad de datos que se transmiten para no colapsar la red ni hacer que la conexión sea demasiado lenta.

Así que no creo que sea tan fácil como te lo propones. Lo que te decía es que seguramente te será más útil comprar un módulo que se encargue de hacer las cosas de bluetooth por ti, como este. No lo he probado ni sé si es el más fácil de usar o qué, pero es un buen punto de inicio.

Bollito
Avatar de Usuario
Mensajes: 9081
Registrado: 18 Feb 2012, 23:12

Re: Robótica, programación e inventos varios

Notapor O.P. Wilkituski » 16 Ene 2018, 15:54

Edearth escribió:Así que no creo que sea tan fácil como te lo propones. Lo que te decía es que seguramente te será más útil comprar un módulo que se encargue de hacer las cosas de bluetooth por ti, como este. No lo he probado ni sé si es el más fácil de usar o qué, pero es un buen punto de inicio.


Es que ya no estamos hablando de Bluetooth, porque es innecesario, puesto que no quiero transmitir (aún, para este primer proyecto) ninguna información real. Así, del mismo modo que un detector de metales no necesita protocolos de ningún tipo, yo tampoco.
Es decir, ya que no necesito transmitir ningún mensaje externo al propio móvil, me basta con emitir radiación electromagnética. Sería entonces algo así como los detectores del SETI: obviamente, desde el espacio exterior no se están enviando ondas con información coherente; basta con detectar que hay "algo". Otro ejemplo, más sencillo, podrían ser los robots que funcionan detectando si hay o no una luz, que son bastante de novato y tampoco requieren ninguna información concreta de esa fuente de luz.

Los protocolos son útiles para el tipo de conexiones en que se transmiten datos "impredecibles" o arbitrariamente complejos. Cuando todas las posibilidades pueden ser especificadas de antemano, la cuestión es más sencilla.

Portador de la banspardenya
Avatar de Usuario
Mensajes: 5761
Registrado: 18 Feb 2012, 13:45

Re: Robótica, programación e inventos varios

Notapor Edearth » 16 Ene 2018, 23:10

O.P. Wilkituski escribió:
Edearth escribió:Así que no creo que sea tan fácil como te lo propones. Lo que te decía es que seguramente te será más útil comprar un módulo que se encargue de hacer las cosas de bluetooth por ti, como este. No lo he probado ni sé si es el más fácil de usar o qué, pero es un buen punto de inicio.


Es que ya no estamos hablando de Bluetooth, porque es innecesario, puesto que no quiero transmitir (aún, para este primer proyecto) ninguna información real. Así, del mismo modo que un detector de metales no necesita protocolos de ningún tipo, yo tampoco.
Es decir, ya que no necesito transmitir ningún mensaje externo al propio móvil, me basta con emitir radiación electromagnética. Sería entonces algo así como los detectores del SETI: obviamente, desde el espacio exterior no se están enviando ondas con información coherente; basta con detectar que hay "algo". Otro ejemplo, más sencillo, podrían ser los robots que funcionan detectando si hay o no una luz, que son bastante de novato y tampoco requieren ninguna información concreta de esa fuente de luz.

Los protocolos son útiles para el tipo de conexiones en que se transmiten datos "impredecibles" o arbitrariamente complejos. Cuando todas las posibilidades pueden ser especificadas de antemano, la cuestión es más sencilla.

Como digas. Lo que dices no suena muy distinto de un transmisor/receptor de radio, y tengo entendido que son un proyecto de nivel bajo-medio. Quizá con eso tienes suficiente para lo que quieres hacer.

Portador de la banspardenya
Avatar de Usuario
Mensajes: 5761
Registrado: 18 Feb 2012, 13:45

Re: Robótica, programación e inventos varios

Notapor Edearth » 29 Ene 2018, 12:53

Doblepost porque estoy en el curro. Quizá te interesa, Wilk:


youtu.be/4eAQ8SCyIkM

Volver a Cultura/Geek

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado

Contador de visitas Contador de visitas