Как стать автором
Обновить
3
0

Пользователь

Отправить сообщение

Да, не сможете.

Если у вашей машины IP страны из списка в статье, то pull образов будет работать только если вы пропишете в daemon.json докеру зеркала репозиториев образов, или сделаете рероут запросов к hub.docker.com через зарубежный VPN.

В первом случае обязательно надо проверить, что образы с зеркала совпадают по чексумме с образами с dockerhub, чтобы избежать возможной supply-chain атаки с подменой образов на вредоносные.

Вообще конечно странно, что с проектом, который я описывал, человек защитил магистерскую, а вам со своим, который на порядок (а то и на два), более проработан, не дали даже бакалавра защитить :(

Либо уровень универа выше, либо просто у преподов/научруков свой, особый путь, по типу "а спроектируй мне усилитель D-класса/Блок питания/НЕХ, вот в наше время это был хороший диплом, чего ты свои игрушки пихаешь".

У нас в универе тоже такое было, некоторые деды-консерваторы на части факультетов просто не брали дипломников с чем-то, что по их мнению, несерьезно, хотя конкретные примеры сейчас уже не смогу привести, забыл :(

Ну и да, сравниваю проект в посте с тем, что делал сам - разница конечно огромная, причем по всем параметрам: конструкция, эргономика, железо, код.

Сразу видно, что делалось хорошо, для себя, с интересом, а не "херак-херак и быстро сдать", "и так сойдет" в перерывах между рабочими задачами, плюс видно итеративный подход, как проект рос и улучшался со временем.

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

Моё уважение :)

Было дело, в 2018 году помогал знакомому с его магистерской диссертацией (вангую комментарии про уровень нынешних студентов и ВУЗов, но это к делу не относится, кстати, я и сам тогда был на 1 курсе магистратуры).

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

Общий принцип простой: на руке перчатка с акселерометром и передатчиком, на машинке приемник и драйвер моторов (скорее всего какой-то на базе L298 или DRV8833). Дополнительно в приемнике ещё был режим конвертации команд в PPM, чтобы заменить родной приемник аппаратуры на свой без проблем, оно даже работало, но насколько помню, в финальной версии использовали дубовый вариант с драйвером, потому что не было времени на отладку работы машинки с PPM.

Я отвечал за железо и частично за код, выглядело оно так:

Управляющая плата
Управляющая плата
Приемник.
Приемник.

Обе платы на основе AMega328 + nRF24L01, на управляющей плате ещё гироскоп (MPU6050), мелкие чипы - зарядка, LDO, TVS-сборка для USB и CP2102 для USB-UART. Делал всё ЛУТом, опыт тогда был солидный, рука набита, и в целом 0.3/0.3 сделать получалось в 95% случаев, а тут под С3 вообще 0.3/0.2 (уже не помню, но скорее всего были косяки). Самой большой проблемой были переходные отверстия, которые пропаивались микро-проволочками, часто терялся контакт, и исправить это на набитой компонентами плате было непросто. Маски, разумеется, не было (потом, когда начал использовать фоторезист, пробовал работать и с маской, но это было сложно и грязно, + надо было сетку и т.п., так что забил), поэтому часто были залипухи, припой и мусор где не надо, и дебаг превращался в трэш.

Программировалось всё на Ардуине, в силу отсутствия опыта и времени. Просто залили через ISP загрузчик в МК, и потом работали через USB-UART.

Если правильно помню, крутилка и большинство кнопочек/переключателей были заложены на всякий случай, для дополнительной функциональности, и особо не использовались в финальном варианте. Использовали в основном кнопки для коннекта, чтобы можно было быстро переподключиться, если потерялся сигнал от радиомодуля.

Была куча косяков в роутинге, футпринтах, разводке питания, неправильно назначенных ногах МК, и так далее (под крутилкой вообще 3 SMD-светодиода с резисторами, потому что перепутал сторону её размещения, повезло, что она симметричная и на другую сторону встала без проблем, просто поменялось направление и логика в софте).

Про системы контроля версий я тогда слышал, но как с ними работать, не знал, а ещё не знал, как правильно структурировать проект, поэтому что платы, что код это жесточайший трэш - полтора десятка директорий с разными рабочими и тестовыми файлами, какой-то мусор, картинки, текстовики с багами платы. Чтобы написать этот коммент, пришлось около часа копаться и вспоминать, что там было и как работало, лезть в Fusion 360, импортировать проекты EAGLE в KiCAD.

P.S. Защитился знакомый удачно, на 5, налив воды на 68 страниц :D

Тоже резануло глаз.

Даже если перейти по ссылке и прокрутить вниз, можно увидеть пояснения, что это за числа:

Contribution is a review, comment, commit, issue or PR.

Классика. Слышу звон, да не знаю, где он.

Я, кстати, ещё пару лет назад написал небольшой скриптец на баше, который парсит выгруженный архив данных с сообщениями из ВК, и качает все изображения. Сейчас лениво делаю версию на питоне, которая парсит HTML, и работает наверное раз в 10-15 медленнее, но должна ещё читать из HTML метаданные (отправителя и дату), чтобы сразу ставить на фотку дату отправки. Если интересно, могу поделиться.

Возможно, вы про Виксинт?

Студентом проходил практику в цеху ремонта счетчиков э/э, так их прямо в корпусе заливали Виксинтом, потом долго приходилось его отковыривать для ремонта.

Да, согласен, в этом же и суть эмбеддед:)

Но всё же для сложных и больших проектов чаще всего недостаточно одного профессионала в эмбеддед, особенно, если там и сети, и механика, и электроника, и Linux. В любом случае где-то да просядут знания, и решение может быть неоптимальным. Возможно, в таком случае проще будет как раз привлечь разово специалиста, чтобы потом не пожалеть.

Очень жду продолжения!

Да, мы, кстати, покупали на ТаоБао коннекторы и кабели к WeDo 2.0, взамен поломанных, так что судя по всему, китайцы просекли фишку:)

Кастомные датчики - ну, в теории, это всё можно сделать, но WeDo в этом плане сильно ограничен, так как работает только с компом/планшетом, и портов всего два. Насчет остальных не знаю. EV3 дороже раза в полтора, если правильно помню, но там полноценный Linux, и железо позволяет сделать почти всё, что захочется, либо купить что-то кастомное у других энтузиастов.

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

Ещё есть Lego Technic, но я не слежу, возможно, их уже не выпускают. Там тоже есть где разгуляться, но скорее с точки зрения железа, потому что всё же NXT с EV3 дают бОльшие возможности для программирования.

По поводу сообществ, к сожалению, не подскажу. По Ev3/NXT их раньше было очень много разной степени открытости, по WeDo в основном это детские проекты, а со spike/boost работать особо не довелось, пару раз только мельком их видел.

Да, это только проверка.

На самом деле чаще всего ломаются моторы, из огромной горы моторов и датчиков (думаю, штук по 80+ было датчиков, а моторов больше сотни, докупали запасные), датчиков поломанных было всего пара-тройка, а вот моторов десятка четыре, практически везде проблемы с кабелем, так как дети как только нвд ними не издеваются:( причем многие моторы были далеко не первый раз на починке.

Чтобы можно было кому угодно поручить проверку моторов, изначально сделал несколько простых тестеров, тупо H-мост на двух парах N+P мосфетов, AO4606, кажется, на скрине выше они в SO-8 корпусе. Управление там обычным слайдером, завтра попробую найти фотку или плату.

Этого в принципе хватало, но потом возникла идея сделать более навороченное устройство для внутренних нужд организации. Легально его продавать вряд ли бы вышло, это для EV3 есть и схемы, и SDK, а для WeDo ничего нет, все закрыто и проприетарно, но пользы было бы много. Ну и дальше случилось то, что случилось, собственно.

Я разбирал дохлые модули и датчики, в датчиках стояли stm8, тогда еще дешманские, а вот насчет блока я не помню, кажется, там стоял EFM32, но могу путать, если надо, могу поискать фото платы, может быть остались.

Как я и говорил выше, никаких доков и SDK найти не удалось, но возможно, если попросить вендора, то он поделится.

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

Спасибо!

По поводу ЛА - насколько я помню, он не может выдавать эти 100МГц при использовании всех каналов, а только при использовании двух или трех из всех. Если использовать все каналы, ЧД падает до 16 МГц или около того, надо смотреть описание. На практике не приходилось доходить до таких частот, поэтому не могу точно сказать, насколько правда. Но один неоспоримый плюс есть - в комплекте просто великолепный USB-A->USB-B кабель, очень гибкий и мягкий, не утягивает ЛА за собой. Брали, кстати, анализатор в оф. магазине на Алике.

Про очистители воздуха - да, в родном городе (Новосибирск) есть компания, которая занимается производством умных бризеров и подобного, несмотря на их цены, покупатели у них есть, а во время ковида стало ещё больше.

А у вас прямо полноценный промышленный интернет вещей выходит, судя по схеме. Если не секрет, как реализовали OTA-обновление на таком масштабе? Отдельным приложением на одноплатнике? При таком количестве устройств без OTA любой баг это ужас просто.

Кстати, не рассматривали ли OrangePi как альтернативу Raspberry? Был с ними опыт работы, в целом, прикольная штука, но конечно, и комьюнити меньше, и доков иногда совсем нет, но цена намного ниже, а версии, которым уже лет 5+ (OrangePi PC) вполне стабильно работают.

Поддерживаю, у самого есть отладка на CY7C68013A, использовал её с Saleale Logiс, но как-то не зашло, в итоге перешел на PulseView (sigrok) - ничуть не хуже.

Также был опыт использования Kingst LA1010 (сейчас стоит 3.4кР, ранее стоил примерно 2кР), с их софтом - у него больше частота дискретизации, до 100МГц, и 16 полноценных каналов. Софт родной китайский в целом нормальный, но иногда вис намертво при подключении анализатора или запуске анализа, так и не понял, в чем дело.

В целом, для большинства проектов вполне хватает и самого простого анализатора, очень сильно выручал много раз.

Например, была задача отреверсить протокол подключения датчиков и моторов к детскому конструктору WeDo 2, чтобы непрофессионалу можно было удобно проверять большое количество периферии, просто подключая её к разъему, и тыкая кнопочку (среди периферии есть датчик наклона на гироскопе, датчик расстояния на ИК-датчике отражения и мотор, надо было наглядно показывать, что работает ОК). Протокол там простецкий, на базе UART, просто меняется часть данных в посылке - можно было даже USB-UART + терминалом отреверсить, но проще и безопаснее сначала проверить, что там точно UART, а не I2C, например.

К сожалению, дальше прототипа дело не пошло, ковид усилился, денег в компании стало мало, проект (а потом и весь инженерный отдел) заморозили:(

Примерно так это должно было выглядеть - недоделанная плата.

Огромное спасибо за статью, очень интересно было читать!

Сам одно время занимался и разработкой электроники, и реверсом, и одноплатниками, но с существенно более низкой квалификацией, так как в компании, где работал, не было нормального разделения обязанностей, и приходилось всем делать всё (мои обязанности, например - разработка и изготовление схемотехники и плат, программирование МК/одноплатников, закупка компонентов, работа на станке).

С одной стороны, embedded - это круто, с другой стороны - очень сильно распыляешься, и в итоге страдают навыки.

С нетерпением жду рассказов про другие проекты, очень мало подобных материалов в интернете.

Огромное спасибо за перевод!

Как раз вчера после большого перерыва (играл в версию 1.14.2 уже давно) снова сел за Minecraft, уже версии 1.19, и поразился тому, как поменялась генерация мира, а тут подробно всё разъясняется, было очень интересно!

Для офисных файлов есть OnlyOffice, который +- сравним с обычным MS Office, несовместимости глобальной нет, да еще можно и хранилище сделать на его базе.

На бесплатной VPS от Oracle (2VCPU, 1GB RAM) развернул OpenVPN сервер за 20 мин, да еще и с доступом в подсеть к остальным серверам, работает прекрасно. Хватает даже на видосы в 720p, но учитывая ограничения трафика и прочее, торренты я бы качать так не стал.

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

К слову, если вам потребуются удаленные мошенником данные ВК, вы можете просто запросить все данные о вас с серверов тут: https://vk.com/data_protection?section=rules

Я таким образом выгреб все сообщения, к слову, из архива потом можно добыть ссылки на картинки из диалога:

осторожно, быдлокод

#!/bin/bash

for d in messages/*/ ; do echo $d; grep 'userapi.com' --text -r --exclude=*.urls $d > $d"img.urls"; grep 'audiomsg' --text -r --exclude=*.urls $d > $d"voice.urls"; grep 'https://vk.com/video' --text -r --exclude=*.urls $d > $d"video.urls"; mawk '{match($0,/href=\047[^()]*\047/); s = substr($0,RSTART+6, RLENGTH-7); gsub(/[()]/,"", s); print s}' $d"img.urls" > $d"img_clear.urls" mawk '{match($0,/href=\047[^()]*\047/); s = substr($0,RSTART+6, RLENGTH-7); gsub(/[()]/,"", s); print s}' $d"voice.urls" > $d"voice_clear.urls" mawk '{match($0,/href=\047[^()]*\047/); s = substr($0,RSTART+6, RLENGTH-7); gsub(/[()]/,"", s); print s}' $d"video.urls" > $d"video_clear.urls" done

for d in messages/*/ ; do echo $d"img_clear.urls" echo $d"voice_clear.urls" parallel --gnu wget -P $d"img" < $d"img_clear.urls"; parallel --gnu wget -P $d"voice" < $d"voice_clear.urls"; done

for filename in messages//img/ ; do mv "$filename" "$(echo "$filename" | sed -e 's/?size=.*//')";
done

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность