PIE1 - O Raspberry PI envia imagens ao vivo do espaço
HAB (High Altitude Ballooning) é um hobby crescente onde os entusiastas usam balões meteorológicos padrão para colocar pequenas cargas normalmente 100g-1kg "perto do espaço" em altitudes de cerca de 30 km, carregando um dispositivo de rastreamento de voo e normalmente com alguns sensores (temperatura, pressão, etc) e muitas vezes com uma câmera de vídeos ou fotos de armazenamento para um cartão SD para posterior recuperação. O trabalho do rastreador é ler a localização do receptor GPS, possivelmente também ler alguns sensores e, em seguida, formatar e enviar uma frase de telemetria para o solo através de um link de rádio de baixa potência. Os voos só acontecem uma vez que o caminho previsto seja considerado seguro (evitando aeroportos e áreas densamente povoadas, por exemplo) a permissão foi obtida a partir (no Reino Unido) da CAA. Aqui o sistema de rastreamento usa a faixa de rádio de 70cm (em torno de 434MHz) usando RTTY para enviar a telemetria para um número de estações terrestres executadas por outros entusiastas. A telemetria de todos os receptores é enviada para um servidor central que, em seguida, dirige um mapa ao vivo que pode ser visualizado por qualquer pessoa com uma conexão à Internet. O sistema funciona muito bem e tem sido usado para rastrear cargas úteis a distâncias de 800 km ou mais, mesmo que o transmissor seja limitado pela lei do Reino Unido para 10mW ERP.
No início de maio eu recebi meu primeiro computador Raspberry Pi, e tendo enviado vários balões de alta altitude antes de pensar em usar um com um computador de voo. Em quase todos os meus voos anteriores eu usei placas Arduino Mini Pro, e estes são ideais - minúsculos, não pesam quase nada, simples e precisam de pouquíssima energia. Olhei para o Pi e não vi nenhuma dessas características desejáveis! O que eu vi foi uma porta USB que oferece acesso rápido, fácil e barato a uma webcam, o que significa que pela primeira vez eu poderia ter imagens ao vivo (SSDV) enviadas pela minha carga - algo que não foi feito muitas vezes.
"Near Space" é um ambiente bastante hostil - menos de 1% de atmosfera, temperaturas até -50C - e se algo der errado é provável que fique errado. O link de rádio é unidirecional, portanto não há chance de fazer remotamente um "sudo reboot" e muito menos desligar e ligar novamente! A descida pode ser violenta, assim como o desembarque, por isso mesmo coisas como tomadas de cartão SD podem representar um potencial modo de falha.
O Pi é um passo para cima na complexidade das placas usuais que usamos, que não têm cartões SD, ou USB, ou mesmo um sistema operacional, de modo que a energia extra e capacidade tem um preço, e o primeiro é um aumento no requisito de potência de cerca de 60mA para mais de 500mA, e que, naturalmente, significa dissipação de energia muito maior.
As pessoas muitas vezes se preocupam com as baixas temperaturas no Near space, mas quando sua carga está gerando alguns watts de energia o que não é susceptível de ser um problema! Eu estava muito mais preocupado com quão quente iria ficar dentro da carga útil, então eu adicionei alguns dissipadores de calor para o Pi:
Eu usei adesivo térmico especial para colar dissipadores de calor para o chip USB / ETH e para o regulador 3.3V. Ambos ficam quentes, mas não quente normalmente, e eu temia que a 1% de atmosfera (por isso menos convecção) e possivelmente seria demasiado quente. Você também pode ver 2 fios que transportam 5V diretamente para o Pi – soldar nas articulações ficam mais confiáveis do que usando um conector. Outra modificação foi remover o conector de vídeo S2 para obter espaço para os componentes na minha placa de expansão.
A modificação final foi curto-circuitar os fusíveis USB uma vez que a exigência atual da minha webcam excede sua classificação. Em seguida, eu adicionei um pequeno pedaço de stripboard transportando um transmissor de rádio RadiometrixNTX2 para enviar a telemetria e imagens para a Terra e conectado a um receptor GPS simples uma cauda de fio para que ele possa ser mantido longe dos dispositivos de transmissão.
O item final para um rastreador básico é uma fonte de alimentação adequada. Energizer Lithium AA células são a escolha óbvia, uma vez que são especificadas para trabalhar até -40 graus C, e são muito boas em altas correntes (precisamos de mais de 500mA para o Pi plus webcam). No caminho para 30 km o exterior vai descer para -50C, e mesmo com isolamento mínimo as baterias de auto aquecimento para ficar dentro de sua faixa de operação. O Pi precisa de 5V fornecido a ele, então eu usei um LDO externo (Low DropOut) regulador linear alimentado a partir de 6 AAs que irá fornecer tensão suficiente para o regulador.
Com o regulador dissipando até 3 watts que precisava e com um dissipador de calor. Isso é muito calor para se livrar em uma carga (que é isolada porque você não quer que ela fique muito fria, porque isso pode afetar outras partes). Eu tinha alguns reguladores de modo comutado encomendado, mas eles não chegaram a tempo para o meu voo, por isso subiu com o regulador linear.
A técnica usual com o NTX2 é enviar os valores '1' e '0' no RTTY movendo um pino de E / S de uso geral para cima e para baixo na taxa correta. Por exemplo. Cada 20ms para a taxa de dados comum de 50 baud. Isso é fácil quando você está programando um AVR ou PIC de metal nua - basta usar uma rotina de atraso ou como em meus rastreadores, uma interrupção do temporizador. No entanto, o Pi executa um sistema operacional não em tempo real, então eu não poderia confiar no tempo preciso, especialmente se o sistema operacional está ocupado tirando uma foto da webcam. Existem outras opções, mas optei pela mais simples - conectar o NTX2 à porta serial. RTTY é apenas normal serial RS232 marcas de estilo e espaços e bits de parada etc, então por que não deixar o hardware UART fazer o tempo para mim? Não demorou muito para escrever um pequeno programa em 'C' que abriu a porta serial em 4800 baud, ler bastante GPS strings para encontrar a longitude, latitude e altitude, em seguida, fechar a porta e reabrir a 300 baud (eu encontrei Que as taxas de baud de comutação sem fechar e abrir nem sempre era confiável) para enviar uma sequência de telemetria formatada. Claro que para fazer isso eu tive que desativar o prompt de login na porta serial, e parar as mensagens de depuração kernel sendo enviadas para ele, mas tudo era simples. Tudo isso foi feito usando a imagem padrão do Debian em um cartão SD de 4GB.
Agora para as imagens ao vivo. Eu tive que aplicar um patch para o Debian depois do qual ele felizmente reconheceu a webcam como / dev / video0. Eu tentei alguns webcams e resolvi sobre a Logitech C270 que é de razoável qualidade, leve e barata (no caso de a carga ir faltando!). Eu tentei vários programas de imagem da webcam e encontrei fswebcam para ser o melhor (trabalhou sem mexer, mas tinha opções suficientes para adaptar a foto). Lembre-se que o sistema de rádio tem baixa largura de banda e com um típico voo com duração de 2 horas e assim nós não temos tempo para enviar grandes imagens, então não há nenhum ponto usando a melhor webcam e a resolução mais alta. Eu resolvi em 432 x 240 pixels com 50% de compressão como um bom compromisso entre qualidade e velocidade de download.
Eu medi a corrente da webcam e ela passou de 50mA em ocioso para 250mA pico quando tira uma foto, daí a necessidade do fusível USB para curto-circuito (140mA max). Um script de shell simples tirou uma foto a cada 30 segundos, salvando-os no cartão SD para que o programa de rastreamento pudesse escolher a "melhor" imagem (maior jpeg!) Para transmissão. Cada imagem escolhida é então convertida para o formulário para download (dividido em blocos cada com FEC) antes de ser enviado um bloco de cada vez. Eu intercalava os dados de imagem com telemetria - 4 pacotes de imagem para cada pacote de telemetria). Aqui está o. Pimaking um autorretrato:
Com o tracker concluído testado e a permissão para o voo obtido da CAA, eu construí um container para o Pi, webcam, GPS, antenas, baterias e regulador. Eu não queria usar muito isolamento, para o pacote necessário para não ficar muito quente com 3 - 5 watts sendo gerado no interior, então eu usei 10 mm de espessura EPX material. Qualquer thinner seria muito frágil.
Quando o dia do lançamento se aproximou, as previsões de vento mostraram consistentemente um caminho de voo em forma de S do local de lançamento perto de minha casa em West Berkshire, inicialmente voando para o sul, depois para o leste e depois brevemente para o norte antes de virar o oeste em altitudes mais altas. Então, durante a descida, passaria por aquelas direções na sequência oposta, finalmente pousando em algum lugar nos Chilterns. Eu obtive a permissão para 2 voos, assim que um amigo e entusiasta companheiro Anthony Stirk poderia vir por para voar dois rastreadores novos que tinha construído. Com 3 trackers e 2 voos, optamos em pôr para voar um balão grande com um pequeno tracker de luz e depois lançamos um segundo balão com o tracker maior de Anthony e uma câmera de vídeo GoPro HD e então anexamos o Pi a isso. Depois de pensarmos mais um pouco, decidimos adicionar um terceiro tracker como um backup para ter certeza de que teríamos o GoPro de volta!
O dia do voo chegou, e assim veio a chuva, mas foi previsto que passaríamos por isso esperamos e em seguida, fui para o local de lançamento, o tempo melhorou só teve uma leve chuvinha.
Primeiro foi o balão maior com a carga pequena, então Anthony poderia fazer uma tentativa no recorde mundial de altitude. Então veio o voo um pouco mais complicado com minha carga útil de Pi na parte superior, então a carga útil de GoPro e finalmente meu seguidor "Buzz" seguidor que eu tinha posto para voar antes. Aqui está "PIE1" esperando para subir:
E o balão está sendo anexado a:
Todo o trem de paraquedas e as 3 cargas pesavam 1kg (o mesmo que a minha primeira carga) e do balão para a carga mais baixa era cerca de 60 metros de comprimento! O lançamento foi interessante, como inicialmente o vento manteve o balão baixo e a linha estava quase horizontal!
Depois de uma curta espera o vento aliviou, o balão levantou e chegou a um ângulo onde era seguro para lançar depois de correr em direção ao balão o mais rápido que pude! Fiquei aliviado ao ver tudo se erguendo bem e aquele aparato enorme fez uma visão impressionante à medida que subia em direção às nuvens.
O site de lançamento está na aldeia onde moro, então depois nós dirigirmos os carros de perseguição de volta para minha casa, para o nosso "controle de missão" para assistir ao rastreamento e imagens de lá. Os pontos de pouso previstos, isso significava que não havia pressa para voltar para os carros para perseguir as cargas, então tivemos muito tempo para assistir as imagens, entrar e pegar algum alimento.
O primeiro voo foi a tentativa de altitude, usando uma marca e tamanho de balão que a partir da experiência ou explode cedo em cerca de 27 km, ou excede a especificação para chegar a 40 km ou mais. Na verdade, o topo os melhores lugares na tabela de registro de altitude são todos detidos por essa marca / tamanho. Anthony estava observando a leitura da altitude na telemetria de perto!
Enquanto isso eu, claro, estava muito mais interessado em quão bem o Raspberry Pi estava indo. A posição GPS ainda mostrava a posição no local de lançamento, o que é um sinal seguro de interferência ao sinal GPS. Ainda não determinei qual é, mas o receptor GPS e a antena estavam bem perto do Pi e da webcam na carga. Para a próxima vez vou acrescentar rastreio e aumentar a distância um pouco. No entanto, os dados da imagem estavam chegando
perfeitamente, não só através da minha antena e receptor em casa, mas também através de outros receptores em todo o país. Como o balão ficou mais alto as imagens ficaram melhores, e mais receptores começaram a obter bons dados, com alguns dados de imagem mesmo sendo recebido tão longe como a Irlanda do Norte (mais de 500 km de distância - não é ruim para 10mW!). Agora, um voo PIE não está completo sem um gráfico PIE, então aqui está um, mostrando o número de pacotes de imagem recebidos por ouvintes diferentes (graças a todos!):
O primeiro voo, entretanto, foi subindo na tabela de altitude, atingindo a posição # 4 apenas 300 metros abaixo do recorde mundial. Parte de mim queria ir mais, mas parte foi feliz que não bateu no # 2 local na mesa! O balão explodiu e inicialmente a descida parecia perfeitamente normal. No entanto, a maior parte do balão ainda estava ligada e conseguiu produzir uma forma de paraquedas que retardou a descida a apenas 2 metros por segundo a uma altitude onde deveria ter sido pelo menos 5 vezes mais! Voltando ao voo principal, ele estava enviando imagem após imagem sem erros e cada imagem sendo melhor do que a última como o balão ficou mais alto e mais alto.
Estávamos esperando que explodisse em cerca de 34 km, mas obviamente o balão não estava ciente de nossos cálculos. Passou por 34 km, e 35, e .... E acabou estourando a poucos metros de distância de 40 km (39.994 metros para ser exato, colocando-o em 12'th lugar na tabela de registro de altitude do Reino Unido). Bastante incrível para um balão de tamanho médio com cerca de 1kg de cargas sob ele! Com ambos os balões tendo estourado era hora de começarmos a ir com os carros de perseguição, os quais foram equipados com antenas, receptores de rádio, netbooks ou PCs de carro para decodificação e mapeamento, e Internet 3G. A previsão de desembarque para o voo principal era para perto de Didcot, então fomos até lá e estacionamos para verificar a última previsão. Não estávamos longe quando as cargas caíram em Milton Heights, a poucos quilômetros do local de lançamento. Surpreendentemente, um dos receptores estava perto o suficiente para ainda estar pegando imagens ao vivo, e depois de um tempo, todos puderam ver que a carga tinha pousado com segurança na grama longa:
Enquanto isso, o voo anterior ainda estava caindo, mas muito, muito lentamente - menos de 1 quinto da taxa esperada! Nós não sabíamos no momento, mas estamos bastante seguros agora que o látex tinha conseguido formar o seu próprio paraquedas. Então, com alguns quilômetros a ir, ele acelerou de repente acima (nós pensamos que o látex tivesse rasgado) e aterrissou em um campo ao norte de Oxford. Aqui está o plano de altitude muito incomum:
Demorou um tempo para obtermos a posição final, mas tendo feito isso parecia que estava em uma localização bastante inacessível. Com a chuva caindo, Anthony decidiu chamá-lo, em vez de tentar recuperar o que é apenas £ 50 de tracker. Ele então não tentou recuperar e eu fui online para dizer os outros receptores na sala de bate-papo UKHAS que eu estava prestes a ir para casa também. "Ah, mas é perto de um layby na A34", foi-me dito, "fácil chegar lá" e "a chuva vai passar em 5 minutos". Bem, isso não parecia tão ruim assim que eu partir para o norte até a A34, em seguida, voltar para o sul para chegar ao layby.
Bem, dessas 3 declarações, 1 estava correta - era apenas 155m do layby. No entanto, a chuva apenas continuou a vir, apenas facilitando de torrencial para muito pesado como nos sentamos no carro esperando. Eventualmente, eu decidi recupera-lo, e rastejando passando árvores e arbustos para encontrar ... um campo cheio de pé milho alto.
Nenhuma chance de ver a carga de lá, embora eu tenha tentado. Depois de falhar eu voltei para o carro para obter o meu telefone Android carregado com o software HamGPS que orienta você para um local de destino.
Demorou e depois de muito esforço para chegar lá e por um tempo eu senti como se estivesse estrelando em "Dave Of The Triffids", mas quando eu cheguei à posição de destino encontrei a corda de nylon entre a carga útil e os restos do balão! Realmente não era visível até que eu estivesse quase em cima dela. Aqui estou emergindo, bem-sucedido, depois da minha expedição
Para baixar o tutorial em PDF clique no link abaixo: