Cómo crear un navegador de hardware para un randonaut

Randonavting ( randonauting ): esto es cuando se usa un generador de números aleatorios, busca y explora lugares cercanos. Se ve así: primero, la latitud y la longitud se eligen al azar, y luego visitan el lugar correspondiente en la Tierra.



Esta actividad tiene un trasfondo metafísico: se supone que las intenciones del randonauta afectan el proceso de elección aleatoria de un punto en el mapa. Esto se expresa mejor en el artículo del NY Times: "Piensa: la ley de la atracción se encuentra con el geocaching".





Navegador de Dujour Randonaut



¿Por qué sería esto posible? El hecho es que hay personas que creen que utilizando números aleatorios derivados de procesos cuánticos, por ejemplo, utilizando un generador de números aleatorios por hardware (HRNG), se puede utilizar el poder del pensamiento para influir en cuáles son las coordenadas que se elegirán. Como resultado, puede encontrar algunas consecuencias sorprendentes, informativas o incluso desagradables. Un video oscuro de TikTok de adolescentes randomauts que encuentran una maleta llena de partes del cuerpo es una buena ilustración de esta idea .



La idea de que la mente controla la materia puede no ser tan increíble como parece a primera vista. Hay algunos estudios , cuyos sorprendentes resultados parecen indicar la posibilidad de que el pensamiento influya en números aleatorios generados al depender de procesos cuánticos.



¿Qué sucede si se enfoca en una intención específica exactamente cuando se generan coordenadas geográficas aleatorias? Ésta es la esencia del randonauting.



Hay varias diferencias entre mi dispositivo para randonauts y otros proyectos de un enfoque similar.



En primer lugar, he ampliado las capacidades de mi dispositivo a expensas del seguimiento del tiempo. No solo proporciona coordenadas geográficas aleatorias, sino que también indica un tiempo aleatorio para viajar a la ubicación propuesta. Esta mejora se basa en la idea de que podría tener más sentido seleccionar al azar un punto tanto en el tiempo como en el espacio. Como resultado, el Randonaut puede viajar a una ubicación específica viajando en un momento específico, lo que debería ayudar a exprimir al máximo la idea de Randonaut.



En segundo lugar, mi proyecto se diferencia de otros en cómo se seleccionan las coordenadas en él. Solo uso dos números aleatorios para encontrar coordenadas geográficas. Otras implementaciones tienen los conceptos de "vacíos" y "atractores" que utilizan algoritmos estadísticos para determinar los puntos apropiados en el mapa. Los atractores son esencialmente colecciones de valores que representan coordenadas geográficas. Y los vacíos son, por el contrario, la ausencia de tales agrupaciones. Creo que esto solo complica innecesariamente las cosas.





Vacíos y atractores ( fuente )



Este es uno de mis proyectos más difíciles . Necesitará algunas habilidades de programación de Python y hardware para reproducirlo. A este dispositivo lo llamo "Dujour" (en honor a uno de los personajes de The Matrix ). Para hacerte el mismo dispositivo, necesitas lo siguiente:





Quizás se pregunte por qué utilizar un generador de números aleatorios por hardware cuando los números aleatorios también se pueden generar en software. Esta es una buena pregunta. En HRNG para generar verdaderos números aleatorios utilizando procesos físicos cuánticos. Y los programas usan algunos algoritmos. Los programas en realidad generan lo que se denominan números pseudoaleatorios. Tales números, en la mayoría de los casos, están bien para quienes los usan, pero los números generados por los procesos cuánticos son verdaderamente (al menos en teoría) impredecibles. Además, si crees en lo que se basa el randonautting , es decir, en la interacción de la conciencia y la materia, entonces resulta que hay investigacióncuyos resultados indican que el esfuerzo mental solo afecta a los números aleatorios generados mediante procesos cuánticos.



Puede crear un sabor de mi proyecto usando solo una placa Raspberry Pi conectando el HRNG a un puerto USB local, pero prefiero usar un dispositivo separado. Experimenté mucho con generadores de números aleatorios y llegué a la conclusión de que es útil utilizar un servidor RNG remoto al que pueden acceder varios dispositivos cliente.



A continuación se muestra un diagrama que muestra una vista de alto nivel del proceso en el que se basa el randonautting. El script principal se llama rabbit.py



, se ejecuta en la primera placa Raspberry Pi, a la que llamo Dujour1



... Cuando se inicia, (1) realiza una solicitud REST al segundo dispositivo Dujour2



(al host del generador de números aleatorios de hardware) y recibe (2) algunos números de coma flotante aleatorios de él. Estos números se utilizan (3) para seleccionar una ubicación cercana para explorar e indicar cuándo visitar esa ubicación. Luego, el script recopila (4) la URL del servicio Google Maps y la envía (5) al teléfono como un mensaje de texto utilizando el servicio Twilio.





Diagrama de proyecto de alto nivel



Aquí hay un videoclip de mi dispositivo en funcionamiento.









El navegador de Raspberry Pi en acción En una placa llamada Raspberry Pi Dujour1



, es necesario instalar y configurar Linux . Debeconectarle una pantalla ( aquí están las instrucciones para el Matrix Orbital VK204-25). La siguiente imagen muestra la conexión de mi pantalla a la placa.





Conectando el Matrix Orbital VK204-25 al Raspberry Pi Coloqué



el Raspberry Pi y la pantalla debajo de una cubierta de vidrio y conecté una cadena de LED a los pines 5V y GND GPIO. La tapa de cristal me pareció un cómodo "estuche" en el que encaja todo lo que necesitas. Además, me encanta cómo se ve.



Para que el script funcione, rabbit.py



necesita Python y las siguientes bibliotecas:



  • matemáticas
  • numpy
  • subproceso
  • sys
  • hora
  • json
  • urllib2


Si obtiene un error relacionado con las dependencias al ejecutar el script, esto significa que debe instalar el módulo que falta.



Es necesario establecer varias variables antes de ejecutar el script. Todos están en la sección de guiones User Defined Variables



. Aquí hay una descripción de algunos de ellos:



  • loghandle



    : ruta a un archivo de texto en el que se registran todos los inicios del script
  • window_secs



    : El número máximo de segundos que se utilizará para encontrar tiempo para visitar la ubicación seleccionada.
  • meters_out



    : La distancia máxima, en metros, desde la ubicación actual del Randonaut que se utilizará al elegir la ubicación que se visitará.
  • latitude1



    , longitude1



    : las coordenadas actuales, que se utilizan como punto de partida al buscar coordenadas de destino.
  • lcd_addr



    : dirección hexadecimal de la pantalla LCD cuando se utiliza la interfaz I2C.
  • HWRNG



    : IP- HRNG- XXX.XXX.XXX.XXX:YYYY



    .


El proyecto depende de varios scripts externos. sendSMS.py se utiliza para enviar mensajes de texto con coordenadas. orbitalWrite.py se utiliza para la manipulación de la pantalla. Ambos scripts deben colocarse en la misma carpeta del tablero Dujour1



donde se encuentra el script rabbit.py



. Tenga en cuenta que mi script está diseñado para funcionar con una pantalla específica de Matrix Orbital (VK204-25). Si decide utilizar otra pantalla, deberá editar el código en consecuencia. Hay comentarios en el script sobre las secciones de código responsables de interactuar con la pantalla.



Para que funcione el script sendSMS.pynecesita un par de variables de entorno que le permitirán autenticarse en el servicio Twilio: TWILIO_ACCOUNT_SID



y TWILIO_AUTH_TOKEN



. Aquí hay instrucciones para configurar estas variables. Además, se debe instalar la biblioteca auxiliar Twilio Python .



En la placa Raspberry Pi, a la que llamo Dujour2



, que desempeña el papel de servidor, también es necesario instalar y configurar Linux . Es a esta placa a la que se conecta el generador de números aleatorios de hardware. Usé un dispositivo USB OneRNG, las instrucciones sobre cómo configurarlo se pueden encontrar aquí .



Mi servidor se muestra a continuación.





Servidor HRNG usando OneRNG



Una vez completada la configuración inicial del servidor, debe ejecutar un script en él rngrestserver.py



que se usa para transmitir números aleatorios al dispositivo Dujour1



. Los detalles sobre cómo funciona el script del servidor REST se pueden encontrar aquí .



Salir



Si ha creado su propio dispositivo usando mi tutorial, significa que ahora tiene todo lo que necesita para la navegación aleatoria. Simplemente ejecute el script desde la terminal ./rabbit.py



, después de lo cual se enviará un mensaje con un enlace al mapa a su teléfono (lo que ve después de abrir el enlace se verá como el que se muestra a continuación).





Ubicación encontrada con generador de números aleatorios de hardware Mientras



probaba mi dispositivo, encontré varias sincronicidades extrañas. Pero, incluso si no sucede nada fuera de lo común, la randomonautics puede al menos ayudarlo a ver algo increíble, ubicado muy cerca de usted, a lo que no prestó atención antes.



Quizás algún día haga una habilidad especial para Amazon Alexa. Esto me permitiría usar mi servidor Randonautical desde mi teléfono.



¿Te has probado un disfraz de rundonauta?






All Articles