Pull to refresh
0
0
Артем @lart

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

Send message

Взлом дешёвого фитнес-браслета

Reading time10 min
Views89K
Это перевод. Статья опубликована 27 мая 2018 года


Фитнес-трекер до и после разборки

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

  • действительно маленький форм-фактор (примерно 15×40 мм);
  • Bluetooth low energy (BLE);
  • OLED-дисплей (96×32 пикселя);
  • аккумулятор;
  • USB-зарядка;
  • акселерометр;
  • вибромотор;
  • цена около $10 (!).
Читать дальше →

Самодельный лидар: OpenTOFLidar

Reading time27 min
Views79K

В этой статье я хочу рассказать про свой проект импульсного (TOF) Open Source лидара — о том как я его делал, и каких результатов удалось добиться.
top-picture

Читать дальше →

Роботаракан Петя за десять баксов

Reading time10 min
Views30K

Знакомьтесь с Петей, шестиногом о трёх сервоприводах


Продолжаю публикацию статей из серии "ардуино головного мозга". Петя — это очень дешёвый (примерно десять баксов) гексапод. Он может быть прекрасным проектом на один ненастный выходной, который развлечёт как и взрослых, так и детей. Раз уж мы про развлечения, вот вам видеоролик с Петей, танцующим под фанк-музыку:


Читать дальше →

Можно ли использовать С++ вместо Си для небольших проектов в микроконтроллерах

Reading time23 min
Views51K
Существует мнение, что использование С++ при разработке программного обеспечения для микроконтроллеров это как стрельба из пушки по воробьям. Мол код получается большого размера и неповоротливый, а мы привыкли бороться за каждый бит в ОЗУ или ПЗУ. И программное обеспечение для микроконтроллера может быть написано обязательно на Си. Действительно, ведь язык Си был задуман как альтернатива ассемблеру, код должен был быть такой же компактный и быстрый, а читаемость и удобство разработки позволять легко писать довольно большие программы. Но ведь когда-то и разработчики на ассемблере говорили тоже самое про Си, с тех пор утекло много воды и программистов, использующих только ассемблер, можно по пальцам пересчитать. Конечно, ассемблер еще играет важную роль в разработке кода для быстрых параллельных вычислений, написании ОСРВ, но это скорее исключение из правил. Так же как когда-то Си пробивал себе дорогу в качестве стандарта для встроенного ПО, так и язык С++ уже вполне может заменить Си в этой области. С++ стандарта С++14 и современные компиляторы имеют достаточно средств для того чтобы создавать компактный код и не уступать по эффективности коду, созданному на Си, а благодаря нововведениям быть понятнее и надежнее. Ниже приведен код поиска наименьшего числа в массиве из 5 целых чисел на двух языках Си и С++ на компиляторе IAR for ARM 8.20 с отключенной оптимизацией.
Читать дальше →

Этот восхитительный Юникод

Reading time27 min
Views103K


Перед вами обновляемый список самых замечательных «вкусностей» Юникода, а также пакетов и ресурсов

Юникод — это потрясающе! До его появления международная коммуникация была изнурительной: каждый определял свой отдельный расширенный набор символов в верхней половине ASCII (так называемые кодовые страницы). Это порождало конфликты. Просто подумайте, что немцам приходилось договариваться с корейцами, где чья кодовая страница. К счастью, появился Юникод и ввёл общий стандарт. Юникод 8.0 охватывает более 120 000 символов из более 129 письменностей. И современные, и древние, и до сих пор не расшифрованные. Юникод поддерживает текст слева направо и справа налево, наложение символов и включает самые разные культурные, политические, религиозные символы и эмодзи. Юникод потрясающе человечен, а его возможности сильно недооцениваются.
Читать дальше →

Все, что вы хотели знать об обратном маятнике

Reading time5 min
Views39K
Статья служит шпаргалкой для тех, кто хочет сделать свой обратный маятник. Здесь описаны проблемы, из-за которых я все переделывал несколько раз, приведен краткий обзор теории, необходимый для понимания, как стабилизировать систему.

40 лучших инструментов и ресурсов Laravel

Reading time16 min
Views31K
image
Привет, Хабр! Представляю вашему вниманию подборку, которая является переводом моей оригинальной статьи.

Если есть идеи что добавить в подборку — буду рад пообщаться в комментах. Наслаждайтесь!
Читать дальше →

Как спроектировать идеальное занятие

Reading time12 min
Views4.6K

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


Ниже сам документ.

Читать дальше →

Тренинг Cisco 200-125 CCNA v3.0. Сертифицированный сетевой специалист Cisco (ССNA). День 1. Основы сети

Reading time11 min
Views46K
Данный 46-дневный видеокурс актуализирован по состоянию на 2018 год и содержит 49 видеоуроков продолжительностью от 17 до 65 минут.



Добро пожаловать, я ваш преподаватель Имран Рафаи, сегодня мы начнём нашу серию лекций с темы «Основы сети». Этот видеокурс идеально подходит не только тем, кто собирается сдавать экзамены на сертифицированного сетевого специалиста Cisco, но и тем, кто интересуется сетями или хочет начать карьеру в области сетей. Сертификат CCNA очень ценная вещь, и я призываю всех, кто стремится к совершенству в этой области, получить этот сертификат, потому что он имеет большое значение для оценки вашего профессионализма. Прежде чем продолжить, я попрошу вас сосредоточиться на первых 3-х днях обучения, потому что в эти дни я буду освещать фундаментальные понятия, которые станут основой вашей сетевой карьеры и пригодятся вам, может быть, даже через 20 лет.

Разрабатываем крутой GUI на esp8266 с библиотекой uGFX

Reading time10 min
Views59K

В многих проектах для esp8266 я использую TFT экран с тачскрином. В зависимости, от проекта интерфейс может быть простым, например, текстовая консоль, выводящая лог работы приложения или просто график изменения входного сигнала. А в некоторых — сложный GUI, с несколькими экранами, графическими кнопками, строками ввода текста и даже виртуальной клавиатурой.


В этой статье хочу поделиться опытом, как можно подключить экран с тачскрином к esp8266 и реализовать графический интерфейс в среде Arduino.


Видео-тизер:



Итак, приступим

ТАУ для самых маленьких: пример реализации ПИД-регулятора в Unity3D

Reading time24 min
Views91K

Вместо введения


Системы автоматического управления (САУ) предназначены для автоматического изменения одного или нескольких параметров объекта управления с целью установления требуемого режима его работы. САУ обеспечивает поддержание постоянства заданных значений регулируемых параметров или их изменение по заданному закону либо оптимизирует определенные критерии качества управления.

10 лет работы на одной батарейке: беспроводной датчик влажности и температуры

Reading time6 min
Views43K
Texas Instruments занимает лидирующие позиции во многих сегментах рынка полупроводниковой продукции. Следуя традиции, компания сама разрабатывает примеры применения своих электронных компонентов и публикует материалы на своем сайте: теория, схемы, референс-дизайны, обучающее видео и т.д. Там же продаются электронные компоненты и готовые платы (комплекты разработчиков и инструменты). Также TI имеет собственный форум e2e.ti.com и поддерживается сторонний ресурс www.43oh.com для инженеров-разработчиков и просто любителей. Активно ведет работу со школами и колледжами, обучая программированию микроконтроллеров даже младшеклассников.

Тем не менее, наши любители мало знакомы с примечательной продукцией этой компании. Скорее всего, это связано с ценой и почти отсутствием материалов на русском языке, что ограничивает аудиторию любителей, познакомившихся с полупроводниковой продукцией от TI. Также есть один неприятный нюанс – некоторые вещи не пропустит таможня РФ, а другие не экспортируются из США в РФ (и это не последствия недавних санкций — «так было»). Тем не менее есть способы приобрести необходимое.

Этой статьей я хочу обратить внимание любителей-разработчиков на решения TI, в частности, применимые для умного дома. Ряд опубликованных статей на GT об умном доме могли бы позаимствовать некоторые интересные решения. Например, опубликованная avs24rus статья Беспроводный Lighting-Sensor с питанием от CR2450, вызвала, запомнившееся мне, обсуждение в комментариях: «Как сделать так, чтобы датчик «поставить и забыть» на улице в условиях экстремальных минусовых температур? Аккумулятор, солнечная батарея, ионистор?
Читать дальше →

Оптимизация сайта для GooglePage Speed (учтены все особенности после его обновления) Часть 1

Reading time4 min
Views53K
Эта статья будет интересна, кто столкнулся с разного рода проблемами после обновления Google PageSpeed и претензиям со стороны заказчиков или начальника, почему упал бал или возникло такое количество замечаний. А так же тем, кто производит оптимизацию сайтов.
В первую очередь стоит упомянуть, что вот в этой статье, на мой взгляд, всё очень грамотно и доступно расписано.

Я же от себя добавлю больше практических советов, а так же будет интересно послушать вашу точку зрения и увидеть ваши наработки.
Читать дальше →

Загрузчик с шифрованием для STM32

Reading time8 min
Views34K
В данной статье хотел бы написать о своем опыте создания загрузчика для STM32 с шифрованием прошивки. Я являюсь индивидуальным разработчиком, поэтому нижеприведенный код может не соответствовать каким-либо корпоративным стандартам

В процессе работы ставились следующие задачи:

  • Обеспечить обновление прошивки пользователем устройства с SD-карты.
  • Обеспечить контроль целостности прошивки и исключить запись некорректной прошивки в память контроллера.
  • Обеспечить шифрование прошивки для исключения клонирования устройства.

Код писался в Keil uVision с использованием библиотек stdperiph, fatFS и tinyAES. Подопытным микроконтроллером был STM32F103VET6, но код может быть легко адаптирован под другой контроллер STM. Контроль целостности обеспечивается алгоритмом CRC32, контрольная сумма расположена в последних 4 байтах файла с прошивкой.

В статье не описано создание проекта, подключение библиотек, инициализация периферии и прочие тривиальные этапы.
Читать дальше →

Часы на газоразрядных лампах (ГРИ), они же Nixie clock

Reading time18 min
Views56K

Концепция проекта


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

Задачи создать прибор для массового производства не ставилось.

Поэтому бюджет проекта заметно больше разумного. Решения принимались исходя из собственных представлений о красоте, стоимость комплектующих не учитывалась. Реально ограничения конечно есть всегда и, например, покупать большие ГРИ (газоразрядные индикаторы) типа ИН18 я не стал – цена их больше интуитивно определенной границы и они не вписывались в мою концепцию внешнего вида изделия. Я использовал ГРИ типа ИН-12.
Рассказ об увлекательной работе далее

Оптимизация энергопотребления STM32: практическое руководство

Reading time19 min
Views59K
Привет, Хабр!

В сети довольно много статей про работу микроконтроллеров STM32 в энергоэффективных устройствах — как правило, это устройства на батарейном питании — однако среди них прискорбно мало разбирающих эту тему за пределами перечисления энергосберегающих режимов и команд SPL/HAL, их включающих (впрочем, та же претензия относится к подавляющему большинству статей про работу с STM32).

Тем временем, в связи с бурным развитием умных домов и всевозможного IoT тема становится всё более актуальной — в таких системах многие компоненты имеют батарейное питание, и при этом от них ожидаются годы непрерывной работы.

Восполнять данный пробел мы будем на примере STM32L1 — контроллера весьма популярного, достаточно экономичного и при этом имеющего некоторые специфические именно для этой серии проблемы. Практически всё сказанное будет также относиться к STM32L0 и STM32L4, ну и в части общих проблем и подходов — к другим контроллерам на ядрах Cortex-M.



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

Рыцари плаща и руткитов: что посмотреть про хакеров. Сериалы

Reading time8 min
Views72K
Лето — пора путешествий и заслуженного отдыха.  Каким бы ни было путешествие и куда бы вы ни направлялись, наверняка, это будет длинная дорога (авиаперелет или поезд), или же среднего качества связь, если мы говорим об удаленных от благ цивилизации местах.

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

Мы приготовили для вас небольшую подборку сериалов, так или иначе связанных с ИT. А натолкнула нас на идею этого поста многолетняя дружба ЛАНИТ с Международным фестивалем документального кино "ДОКЕР", где, кстати, в том числе с нашей помощью традиционной стала номинация для фильмов о возможностях информационных технологий «Let IT Doк!».

Кадр из сериала «Mr. Robot» (eps3.1_undo.gz)
Читать дальше →

Курс MIT «Безопасность компьютерных систем». Лекция 1: «Вступление: модели угроз», часть 1

Reading time15 min
Views144K

Массачусетский Технологический институт. Курс лекций #6.858. «Безопасность компьютерных систем». Николай Зельдович, Джеймс Микенс. 2014 год


Computer Systems Security — это курс о разработке и внедрении защищенных компьютерных систем. Лекции охватывают модели угроз, атаки, которые ставят под угрозу безопасность, и методы обеспечения безопасности на основе последних научных работ. Темы включают в себя безопасность операционной системы (ОС), возможности, управление потоками информации, языковую безопасность, сетевые протоколы, аппаратную защиту и безопасность в веб-приложениях.

Лекция 1: «Вступление: модели угроз» Часть 1 / Часть 2 / Часть 3

Памятка пользователям ssh

Reading time13 min
Views1.6M
abstract: В статье описаны продвинутые функций OpenSSH, которые позволяют сильно упростить жизнь системным администраторам и программистам, которые не боятся шелла. В отличие от большинства руководств, которые кроме ключей и -L/D/R опций ничего не описывают, я попытался собрать все интересные фичи и удобства, которые с собой несёт ssh.

Предупреждение: пост очень объёмный, но для удобства использования я решил не резать его на части.

Оглавление:
  • управление ключами
  • копирование файлов через ssh
  • Проброс потоков ввода/вывода
  • Монтирование удалённой FS через ssh
  • Удалённое исполнение кода
  • Алиасы и опции для подключений в .ssh/config
  • Опции по-умолчанию
  • Проброс X-сервера
  • ssh в качестве socks-proxy
  • Проброс портов — прямой и обратный
  • Реверс-сокс-прокси
  • туннелирование L2/L3 трафика
  • Проброс агента авторизации
  • Туннелирование ssh через ssh сквозь недоверенный сервер (с большой вероятностью вы этого не знаете)
Читать дальше →

Как перевести речевой аудио-файл в текст с помощью Google translate

Reading time2 min
Views302K


Обычно Google translate используют для перевода речи транслируемой микрофоном.


Но в один момент, автору потребовалось перевести подкаст Медузы в текст.


Идея лежала на поверхности и наверняка программы для этого должны были присутствовать. Так -же как сделано в Gogle translate.


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


Первый нашелся русскоязычный сайт https://speechpad.ru/blog/windows-integration/



Но, как бы не было обидно, магия не сработала…

Читать дальше →

Information

Rating
Does not participate
Location
Украина
Registered
Activity