Pull to refresh

Как я изобретал велосипед, а точнее подводную лодку с управлением через мобильный интернет

Reading time3 min
Views17K
Привет всем, я когда-то увидел, что не продаются модели подводных лодок с дальним радиусом действия, более менее сносным функционалом и ценой меньше чем у новенького iphone и решил сделать ее сам.


Она управляется через интернет, а сейчас мобильный интернет покрывает большую площадь России. Маленькие водоемы полностью им покрыты, а от берегов больших интернет есть на даже в десятках километрах от берега.



Также Илон Маск объявил о создании всемирного интернета.

Лодку я решил печатать на 3D принтере, модели сделаны в компас_3d. Код написан на python 3.
Cсылка на github.

Оборудование и материалы


• 3d принтер
• Одноплатный компьютер Raspberry pi
• 4g модемы (2 штуки)
• ноутбук (2 штуки 1-й — передатчик, 2-й — сервер)
• серводвигатели
• веб-камера
• двигатель
• аккумуляторы Pb
• другое (реле, паяльник, датчики, клеи, краски, герметики...).

Детали


Как уже было сказано детали напечатаны на 3D принтере слоем в 0.3 мм соплом 0.4 мм
на алюминиевом столе с подложкой из клея бф2 для лучшей адгезии, самые долгие детали печатались около 14 часов. Снизу сборочный чертеж.



Герметичность


Для герметичности серводвигатели и ведущий бк двигатель загерметизированы силиконовым герметиком и густой смазкой. Сама лодка, из-за размеров своих деталей и склонности abs пластика к усадке (изменению размеров после печати), местами потрескалась эти места покрыты клеем для пвх, в местах болтовых соединений силиконовый герметик для аквариумов.

Питание


В качестве источника питания — две последовательно подключенных свинцовых батарей на 6 v способные выдавать 3.3 AmH, свинцовые батареи используются из-за того что они дешевле, меньше контактов для зарядки надо выводить за пределы лодки и также они тяжелые(лодка слишком объемная, а средняя ее плотность должна быть около 1000 кг/м**3).

Передача данных


Теперь о главном, передача данных.

Так как вода поглощает ЭМВ то нужно выводить модем на верх, поэтому та лодка работает с поплавком.

В локальной сети, дома установлен сервер, передающий все поступающее на него с одного адреса на другой. На данный момент лодка передает видео, а ноутбук команды управления. Организованно это все через сокеты.

Так как мне захотелось сделать как можно больше всего, дабы было поинтереснее , и чтобы по изобретать велосипеды, то передачу видео, как я уже говорил, делал сам, поэтому не придумав ничего лучше, я решил передавать не видео, а кадры в jpg. Передается одна картинка потом отравляется стоп слово «stop», и так как оно не встречается в jpg, то код легко отделяет где и когда показывать картинку.

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'))])#записывает в файл то что пришло до стоп слова



Воспроизведение картинки, и прием с камеры с помощью opencv. Сжатия никакого пока не происходит, поэтому задержка целых 9-13 секунд. Кнопочки управления написаны с помощью Tkinter.

3D модель дна


Вовремя загрузки 3D модели на github я увидел из чего состоит stl файл, и решил написать код еще и для создания 3d модели рельефа дна из списка расстояний до него снятых ультразвуковым дальномером (который еще не установлен).

пример тетраэдр.stl в 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



Далее идут фотографии интересные и не очень

























Подведение итогов


Это собственно все что я хотел рассказать, основной моей идеей кто не понял было создание аппарата, позволяющего получать информацию из-под воды на огромном расстояние от управляющего ноутбука. Пока, до следующей статьи.
Only registered users can participate in poll. Log in, please.
Делать статью про создание 3d моделей средствами питон?
76.19% да80
23.81% нет25
105 users voted. 16 users abstained.
Tags:
Hubs:
If this publication inspired you and you want to support the author, do not hesitate to click on the button
Total votes 35: ↑33 and ↓2+31
Comments79

Articles