Servidor en las nubes: preparándose para lanzar

En una publicación sobre la regata, mencionamos que en agosto, una competencia con premios espera a todos los vendedores ambulantes. Es hora de rasgar el velo del secreto. De alguna manera, tuvimos la idea de que la frase "servidor en las nubes" se puede entender literalmente. ¡Y realmente lancemos un servidor que funcione en el cielo para que pueda hacer ping! Al principio, la idea parecía una locura, pero girándola así y discutiéndola en todos los sentidos, todavía se nos ocurrió una forma de enviar el servidor hacia las aves. Ya a finales de agosto, se realizará un lanzamiento histórico, pero por ahora estamos trabajando en el hardware del proyecto. Detalles debajo del corte.


  1. El servidor se basará en Raspberry Pi 3

    Sería interesante llevar al aire un servidor de servidor único, pero su peso + el peso de UPS ... Para todo esto, se necesitaría una fuerza de elevación considerable. Sí, y por qué, si sobre la base de la Raspberry Pi 3 compacta puedes implementar un servidor muy decente, con una potencia informática cientos de veces mayor que la máquina en la que Tim Berners-Lee se divirtió en 1991.
  2. Lanzaremos el servidor en un globo

    Tuvimos ideas para elevar el servidor en una sonda de helio, pero luego el servidor no haría ping por un tiempo antes de que la pelota explote a gran altitud en una atmósfera enrarecida y toda la estructura caiga al suelo. Quería ampliar la "ventana" del tiempo aire a una hora y media. Y luego decidieron usar un globo. La duración del vuelo es de dos horas. Además, el vuelo, aunque no es completamente controlable, puede haber nuestro ingeniero en la canasta, quien puede, en caso de un mal funcionamiento, "encender y apagar" rápidamente en el acto.
  3. Utilizaremos la comunicación celular como red de transporte.

    Las antenas WiFi modernas pueden "penetrar" distancias bastante grandes, pero para esto sería necesario construir un complejo de comunicaciones que no fuera inferior en sus parámetros a una estación de radar militar. Y en aras de 1.5-2 horas de comunicación, no tiene sentido construir dicho sistema, porque a la altura del vuelo en globo, la comunicación celular debería funcionar de manera estable.

Después de la formulación de estos "postulados", el proyecto dejó de parecer impracticable, y pronto comenzamos a trabajar de inmediato en las tres áreas.

En primer lugar, pidieron ayuda a los chicos de nearspace.ru que se comieron un perro en el lanzamiento de cualquier pieza de hierro (con búsqueda y rescate posteriores).

Luego sacaron el Raspberry Pi 3, acostado en la mesita de noche de nuestro administrador, y comenzaron a configurarlo.


Cámara conectada:


Y lo probamos en nuestra "Semilla":


Semyon es muy conveniente como modelo y asistente: no pide comida, no se distrae con el teléfono, siempre de excelente humor y con una amplia sonrisa en su casco. Por supuesto, no necesitamos un traje espacial para el vuelo, pero el ambiente en la oficina crea el adecuado.

El esquema del proyecto es el siguiente:


Powerbank se utiliza para pruebas en tierra, para comenzar necesita algo más confiable.

Quizás la pieza de hardware más interesante es la placa para recibir datos de todos los sensores:


Los muchachos de nearspace.ru sufrieron durante mucho tiempo con diferentes análogos, y luego hicieron una computadora a bordo, porque la confiabilidad es crucial, el destino de todo el proyecto depende de los datos de telemetría. La computadora de a bordo es responsable de recibir los datos de todos los sensores conectados y transferirlos a la Raspberry Pi.

Lo iniciaron, lo configuraron y, después de algunas semanas de programación y sentadillas con panderetas, logramos obtener datos de telemetría y fotos de Seeds desde una cámara gran angular:


Los datos de telemetría se transmiten en una línea de la siguiente forma:


Luego, este código convierte la cadena en una matriz y muestra los datos en el sitio:

$str = 'N:647;T:10m55s;MP.Stage:0;MP.Alt:49;MP.VSpeed:0.0;MP.AvgVSpeed:0.0;Baro.Press:1007.06;Baro.Alt:50;Baro.Temp:35.93;GPS.Coord:N56d43m23s,E37d55m68s;GPS.Home:N56d43m23s,E37d55m68s;Dst:5;GPS.HSpeed:0;GPS.Course:357;GPS.Time:11h17m40s;GPS.Date:30.07.2018;DS.Temp:[fc]=33.56;Volt:5.19,0.00,0.00,0.00,0.00,0.00,0.00,0.00'; parse_str(strtr($str, [ ':' => '=', ';' => '&' ]), $result); print_r($result); 

Descripción de algunos datos:

  • N: 2432; - número de paquete de datos, siempre en aumento
  • T: 40m39s; - tiempo desde el momento en que se enciende el controlador de vuelo
  • MP. Etapa: 0; - etapa de vuelo (0 - en el suelo o debajo de 1 km, 1 - subida, 2 - flotar en altitud, 3 - descenso)
  • MP.Alt: 54; - altura barométrica en metros desde el nivel del mar - debe mostrarse
  • MP.VSpeed: 0.0; - velocidad vertical en metros por segundo con un filtro mediano
  • MP.AvgVSpeed: 0.0; - velocidad vertical en metros por segundo con filtro de promedio
  • Baro.Press:1006.49; - presión del barómetro en milibares
  • Baro.Alt: 54; - altura del barómetro
  • Baro.Temp: 36.99; - temperatura del propio barómetro
  • GPS. Código: N56d43m23s, E37d55m68s; - coordenadas actuales
  • GPS.Inicio: N56d43m23s, E37d55m68s; - coordenadas del punto de inicio
  • GPS. Alt: 165; - Altura del GPS en metros
  • GPS.Dst: 10; - distancia desde el punto de partida en metros
  • DS.Temp: [fc] = 34.56; - sensor de temperatura en el tablero

Cómo se ve la salida:

 Array ( [N] => 647 [] => 10m55 [MP_Stage] => 0 [MP_Alt] => 49 [MP_VSpeed) => 0.0 [MP_AvgVSpeed] => 0.0 [Baro rss] => 1007.06 [Baro_Alt] => 50 [Baro_Temp] => 35.93 [GPS_Coord] => N56d43m23s,E37d55m68s [GPS_Home) => N56d43m23s,E37d55m68s [Dst] => 5 [GPS_HSpeed] => 0 [GPS_Course] => 357 [GPS_Time] => 11h17m40s [GPS_Date] => 30.07.2018 [DS_Temp] => [f] .56 [Volt] => 5.19, 0.00,0.00,0.00,0.00,0.00,0.00,0.00 ) 

Pero, ¿qué pasa si la conexión celular "cae"? Para este caso, tenemos una segunda tarjeta, se insertan dos tarjetas SIM en el módem (en una ranura a su vez):


Puede cambiar automáticamente al canal de reserva si el principal deja de responder de repente.

¿Y qué sucederá si ambas redes celulares no están disponibles?

(El chico de la edición de "Jumble" No. 45 no es en vano leyendo la "Teoría de la probabilidad")

En este caso, tendremos un rastreador GPS independiente que envía una señal sobre su ubicación. Tenga en cuenta que no lo hace a través de una red celular, cuya disponibilidad a largas distancias no está garantizada por nadie, sino a través de un satélite.


Sí, el rastreador GPS es algo más grande que el que James Bond implantó debajo de la piel. Dado que nuestra competencia depende de las coordenadas del servidor volador, esta parte de los datos recibidos del tablero será la más importante. Pero hablaremos de esto en la próxima publicación. Muy pronto, sigue nuestro blog!

Creemos tanto en el éxito de toda la empresa que incluso anunciaron una competencia para aquellos que de repente quieren adivinar el lugar del aterrizaje de la pelota. Detalles en nuestra nueva publicación .

Source: https://habr.com/ru/post/es420451/


All Articles