Como eu inventei uma bicicleta, ou melhor, um submarino controlado via Internet móvel

Oi pessoal, uma vez vi que submarinos com um longo alcance, funcionalidade menos ou menos tolerável e menos do que o novo iphone não estão à venda, e decidi fazer isso sozinho.


É controlado pela Internet, e agora a Internet móvel cobre uma grande área da Rússia. Pequenos lagos são completamente cobertos por ela, e das margens da grande Internet há dezenas de quilômetros da costa.



Elon Musk também anunciou a criação de uma Internet mundial.

Decidi imprimir o barco em uma impressora 3D, os modelos são feitos na bússola_3d. O código está escrito em python 3.
Link para o github .

Equipamentos e materiais


• impressora 3d
• Computador de placa única Raspberry pi
• modems de 4g (2 peças)
• laptop (2 peças 1º - transmissor, 2º - servidor)
• servomotores
• webcam
• motor
• baterias Pb
• outros (relés, ferro de solda, sensores, adesivos, tintas, selantes ...).

Detalhes


Como já mencionado, os detalhes são impressos em uma impressora 3D com uma camada de 0,3 mm e um bico de 0,4 mm
em uma mesa de alumínio com um substrato de cola bf2 para melhor adesão, os detalhes mais longos foram impressos cerca de 14 horas. Desenho de montagem inferior.



Aperto


Para maior estanqueidade, os servomotores e o principal motor BC são vedados com vedante de silicone e graxa. O próprio barco, devido ao tamanho de suas peças e à tendência do plástico abs a encolher (redimensionando após a impressão), em alguns locais esses locais rachados com cola de pvc, em locais de juntas aparafusadas de silicone para aquários.

Nutrição


Como fonte de energia - duas baterias de chumbo de 6v conectadas em série capazes de fornecer 3,3 AmH, as baterias de chumbo são usadas devido ao fato de serem mais baratas, menos contatos de carga devem ser conduzidos para fora do barco e também são pesados ​​(o barco é muito volumoso e sua média a densidade deve ser de cerca de 1000 kg / m ** 3).

Transferência de dados


Agora, sobre o principal, transferência de dados.

Como a água absorve o EMV, o modem deve ser levado ao topo, para que o barco opere com um flutuador.

Na rede local, em casa, está instalado um servidor que transfere tudo que chega a ele de um endereço para outro. No momento, o barco transmite o vídeo e o laptop comanda o controle. Tudo isso é organizado através de soquetes.

Como eu queria fazer o máximo possível para torná-lo mais interessante e reinventar a roda , eu mesmo transmiti o vídeo, como já havia dito, portanto, sem inventar nada melhor, decidi não transferir o vídeo, mas os quadros em jpg. Uma imagem é transmitida, a palavra de parada “stop” é envenenada e, como não ocorre em jpg, o código separa facilmente onde e quando exibir a imagem.

while bytes('stop','utf-8') not in data: image_result.write(data)#   1    data = sock.recv(1024)#    1  if bytes('stop','utf-8') in data: image_result.write(data[:data.index(bytes('stop','utf-8'))])#         



Reproduza fotos e receba a câmera usando o opencv. Ainda não há compressão, portanto, o atraso é de 9 a 13 segundos. Os botões de controle são gravados usando o Tkinter.

Modelo de fundo 3D


Durante o upload do modelo 3D para o github, vi o que o arquivo stl consiste e decidi escrever o código para criar um modelo 3D da topografia inferior a partir da lista de distâncias percorridas por um telêmetro ultrassônico (que ainda não foi instalado).

Exemplo de tetrahedron.stl em txt
solid
facet normal 0 0 0
outer loop
vertex 0 0 0
vertex 2 0 0
vertex 1 1 2
endloop
endfacet
facet normal 0 0 0
outer loop
vertex 2 0 0
vertex 1 2 0
vertex 1 1 2
endloop
endfacet
facet normal 0 0 0
outer loop
vertex 0 0 0
vertex 1 2 0
vertex 1 1 2
endloop
endfacet
facet normal 0 0 0
outer loop
vertex 0 0 0
vertex 1 2 0
vertex 2 0 0
endloop
endfacet
endsolid



A seguir, fotos interessantes e não muito

























Sumário


Na verdade, era tudo o que eu queria contar, minha principal idéia, que não entendeu, foi a criação de um aparelho que permite receber informações de baixo d'água a uma grande distância do laptop de controle. Tchau, até o próximo artigo.

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


All Articles