воскресенье, 24 января 2021 г.

Голос, как основа блога, подкаста, технического видео (урока): кухня



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


 

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

суббота, 12 сентября 2020 г.

RE-ing BLE fitness smart watch protocol made easy. Part 2. Kaitai

 

Parts: 1, 2.

I'm not going to advertise the Kaitai set of instruments. Just want to note that it may be very useful in simple RE cases.

E.g. you already have the BT network dump in PCAP format. And can open the Kaitai Web IDE, open you dump there and see it parsed to a certain detalisation level.

But for a real KSY development we need to deploy our local copy of the IDE.



RE-ing BLE fitness smart watch protocol made easy. Part 1. Dump

You got your shiny new fitness bracelet or a smart watch. Great! You installed a companion app on your smartphone. Allright.

You could already be fine and happy using it. But if not... Want to know nuts and bolts of the protocol? Then go DEEPER


 

четверг, 19 марта 2020 г.

пятница, 20 сентября 2019 г.

Running hybrid approach to testing on an embedded target

You might be one of those software engineers who love to be Agile, use BDD or TDD. Then you are aware how important the choice of the testing framework is. E.g. Busted for Lua is a very good and feature-rich BDD framework.
On the other hand, running a heavy framework on a small MCU with as little as 80 KB of RAM may be a challenge. So how to satisfy the two contradictory desires? Let's see:

вторник, 9 апреля 2019 г.

Введение в мир умных часов, часть ca2d82, платформы

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

Brand xWatch/Wear/...

  • + OS: Linux/xOS, в общем, смарт-платформа. Это даёт множество возможностей по кастомизации и расширению функциональности
  • + качественные компоненты и ПО (отсюда обоснованные претензии со стороны пользоваетелей таких часов к "дешёвым китайским часам".
  • - ЦЕНА
Технически эти гаджеты представляют собой хорошо миниатюризованные "смартфоны", некторые даже с обычным Android-ом. Большинство не имеют GSM/3G/LTE (или все?).
Есть попытки разрабатывать открытые прошивки, например, AsteroidOS. Некоторые ОС (Pebble) позволяют расширение функций с помощью пользовательских программ.

Смарт-браслеты

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

Fernvale от Mediatek

Я считаю отдельной категорией смарт-часы на платформе Fernvale от Mediatek (MT626x, MT250x).
  • + форм-фактор и автономность "на уровне"
  • + цена (Китай-таки)
  • + GSM/2G
  • - проблемный SDK, закрытая платформа.
Благодаря дешёвому и мощному (действительно мощному, в разы!) микроконтроллеру эти часики способны на многое, но, похоже, никому ещё не удалось этим воспользоваться.
Есть частично открытая прошивка, RePhone.
Обещает много интересного, поэтому больше — в отельной статье.

Введение в мир умных часов, часть 515a60

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


Классификация №1, поверхностная

  1. показывает время
  2. считает шаги и прочую статистику жизнедеятельности
  3. показывает уведомления с телефона
  4. активно отслеживает движение и пытается общаться с пользователем
  5. расширябельно / кастомизируемо / программируемо
  6. варианты подключения: BLE, GSM
Этот список не исчерпывающий, можно дополнять всякими субъективными "хотелками".

Классификация №2, движняковая

  1. считает шаги
  2. пульс
  3. всякие упражнения
  4. велосипед
  5. улавливает начало физической нагрузки и (как может) следит за состоянием тела (ну хоть бы и за пульсом)
  6. отдаёт собранные данные в смартфон

Классификации прочие, технические

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

понедельник, 16 июля 2018 г.

вторник, 26 июня 2018 г.

Elough E03 / Zrse magnet connector pinout

FYI


µUSB: 1 2 3 4 5

VCC D- D+ ID GND






Elough E03 / Zrse magnet connector: cable 1 2 3 4 5
connected to USB - 2 1 - 5

6 7 8 9 10
connected to USB - 2 1 3 5


вторник, 29 мая 2018 г.

fx2lp: логический анализатор и не только

Однажды, когда мне приспичило заполучить логический анализатор, ноги повели меня на SiGrok: отличное и универсальное FOSS ПО с анализом протоколов и поддержкой большого количества железа (представьте, не только логические анализаторы и осциллографы!)
На канале мне сразу подсказали, что меньше чем за 5 баксов (блин, дёшево!) можно заполучить плату логического анализатора с приличными характеристиками: на базе чипа "fx2lp" CY7C68013A
Ну-с, с чем её едят?

вторник, 22 мая 2018 г.

профилируем программы, не умы

Раз уж потратил изрядное количество времени на проблемку, так постараюсь минут за 10 это описать...
Задача: получить читаемый лог вызовов функций программы.
Решение "по учебнику" — профилировщик, в GCC это gprof. Не сработало!


пятница, 11 мая 2018 г.

новая периферия: попытка выработать подход (на примере RFID-RC522)

На правах "записок" на "манжетах".
Имеется устройство, возможно, почти "безмозглое".
Задача: дойти до состояния, когда устройство можно использовать.
Тут попытка поставить вопросы и найти ответы, которые встретятся по ходу решения задачи: от вопроса подключения устройства до выбора API для работы с ним. В качестве подопытного — MF-RC522

четверг, 19 апреля 2018 г.

FlareRPG: secret overworld

Hi! FlareRPG version 1.0 came out recently. I looked around a bit.
Then hailing Free and Open Source (FOSS) nature of the game I quickly "mapped" the maps of empyrean_campaign (the main SP game). Here's what I got:

пятница, 17 ноября 2017 г.

radare2 в ALTLinux

тем, кого всерьёз интересует Reverse Engineering, никак не обойтись без radare2. А собирать его в репозитарий бессмысленно, т.к. пользоваться надо однозначно суперсвежаком из GIT HEAD. Поэтому вот SPEC для ALTLinux для сборки у себя на компьютере (в hasher тоже собирается). На здоровье.
Бонус: есть книжка для начинающих REнжинеров , даже на русском языке. Только про radare там ничего нет, лишь одно упоминание.

понедельник, 17 июля 2017 г.

GM to MT-32 translation

Say, you have Roland MT-32 (a wonderful vintage synth) and want to play random MIDI files through it which obviously are General MIDI. But MT-32 is instrument-incompatible with GM because it was produced before GM was proposed.
But it's possible to substitute the instruments (aka "Program Change" in MIDI).

четверг, 13 апреля 2017 г.

Я — экспериментатор...

Порой бывает полезно отойти на пару шагов от мэйнстрима и попробовать что-то новое, вроде как "сыграть новым мячом на старом поле". Эксперимент в этой статье — программирование для микроконтроллеров на базе ARM Cotrex M3+ (линейка STM32) на новом и современном языке низкого уровня Rust.

среда, 8 февраля 2017 г.

Модуль DevHelp для API STM32 HAL

пришло время написать о новом увлечении: микроконтроллеры. Понятно, что я неминуемо бы ими занялся, т.к. эмбедщина это в первую очередь микроконтроллеры.
Начав с так популярного сейчас Arduino, скакнул к STM32 на вычислительном ядре ARM Cortex-M. Ну, пока не продвинулся сильно дальше "Hello, world!", что в мире МК выглядит, как Blink, то есть моргание светодиодом 😉
Так что первый побочный выхлоп документация для программирования "STM32F1xx HAL Drivers".
Установка элементарная: надо распаковать в папку $HOME/.local/share/devhelp/books/

понедельник, 30 ноября 2015 г.

новая батарея... новая жизнь!

Завелась такая беда с планшетом: при заряде батареи меньше половины экран временами начинал моргать, планшет выключался. В результате даже пару раз (!) повреждался /efs.