
PortablePy: компьютер-раскладушка для MicroPython

Техножрец Омниссии.
Что делать, когда хочется писать о книгах, но рубеж года уже пройден, а 2021 пока не радует новинками? Можно еще раз вспомнить достойные фантастические романы, которые вышли на русском в 2020, и заслуживают внимания, хотя их авторы, по крайней мере пока, не могут похвастаться большой популярностью в России. Поэтому хочу рассказать о нескольких фантастических книгах прошлого года, которые произвели на меня хорошее впечатление.
Буду рад, если в комментариях поделитесь своими фантастическими находками.
Под новый год решил порадовать себя чем-нибудь эдаким, например — 3D-принтером. Года четыре назад я уже смотрел в эту сторону и то, что, что предлагал тогда Aliexpress, выглядело не особо внушающим доверия. Обзоры говорили, что вместо более или менее готового комплекта, который требует только отверточной сборки, к вам приходит конструктор «сделай сам», который нужно долго допиливать, чтобы получить хоть какое-то качество выходе. Ходили слухи, что первым, что делает новоявленный обладатель 3D-принетра - это печатает к нему штук пять дополнительных компонентов. Кроме того, раньше меня пугали какие-то нереальные сроки печати — 6, а то и 12 часов на не самые сложные модели, и я искренне надеялся, что за это время ситуация изменилась к лучшему Кроме того, если четыре года назад я смотрел с нижний ценовой сегмент в районе 150 USD, теперь я решил целиться повыше — примерно в 300 USD, в надежде, что за эту цену наши китайские друзья могут предложить принтер, который будет печатать из коробки. Выбор пал на принтер с условным названием MyBestPrinter X – большая область печати, стол, который перемещается вверх-вниз двумя моторами, «легкая» кинеманика Core XY, обещающая высокие скорости перемещения каретки — все это говорило о том, что надежда на хороший принтер может себя оправдать, а печать будет быстрой. Кроме того, обещалась точность 0.1 мм (запомним это). Пришло время сходить на YouTube, чтобы убедиться в этом окончательно. На этот конкретный принтер обзоров в Сети довольно мало, а вот на «младшего брата» - MyBestPrinter Y, их хватает. Посмотрев с десяток роликов, я понял, что за четыре года не изменилось ничего. Один из авторов прямо говорит — не надейтесь на работу из коробки, 3D-принтер — это проект. В других обзорах, в числе прочего, упоминаются:
Поводом для написания данной статьи послужила статья “Я хотел купить недорогой 3D-принтер, но посмотрел YouTube и расхотел”, в конце которой автор просит ответить на несколько вопросов. Попробую ответить с точки зрения своего семилетнего опыта 3D-моделера и 3D-печатника. Для начала небольшие предостережения.
В данной статье не будет советов: “Покупайте принтер производителя Х - он хороший, а производителя Y - не берите ни в коем случае”, только общие рекомендации.
Классификация принтеров неформальная, принятая в отечественном сегменте печатников.
Все написанное основано на личном опыте автора и является его личным мнением.
Если данные предостережения вас не пугают - добро пожаловать под кат.
Недавно на работе получил задачу от руководителя: сделай так чтобы телефон android не сливал данные гуглу. Можете представить мой восторг (и предвкушение) ибо спустя 2 недели тестов я вполне уже чувствовал себя человеком который прошивает телефоны на радиорынке (ничего личного, просто не мой профиль). Прочел отличную статью и понабравшись опыта решил немного дополнить. Статья кстати отличная, рекомендую к прочтению.
Давайте рассмотрим несколько альтернативных операционных систем якобы без сервисов гугла, и выясним действительно ли они не общаются с гуглом. Подготовился я к слову основательно, для тестов даже приобрел девайс "pixel 3", так как GrapheneOS работает только с устройствами от google.
Приветствую, в этой статье вы узнаете: как сделать датчик движения с использованием ИК диода и ИК приемника на STM32 с минимальным использованием ядра (т.е. с максимальной загрузкой периферии) на регистрах, используя таймеры.
S in IoT stands for SecurityПро Shodan уже не раз писали, в том числе и здесь. Я хочу предложить еще раз пробежаться по возможностям этого замечательного инструмента и принципам его работы. Сразу хочу оговориться, ситуация с этим поисковиком вполне классическая для исследователей в области информационной безопасности — инструмент может использоваться как с благими намерениями, так и сильно за чертой закона.
*"ублюдок" — вольный перевод слова "git" — "an unpleasant or contemptible person", "неприятный или презренный человек".
В комментариях к статье 15 базовых советов по Git для эффективной работы каждый день развернулась дискуссия на тему эффективности использования тех или иных команд и опций. Надо признать, что git
предоставляет столько различного функционала, что во-первых, за всем становится невозможно уследить, а во-вторых, его можно совершенно по-разному вписывать в рабочий процесс.
Давайте посмотрим, что можно использовать, чтобы улучшить себе жизнь. Статья предполагает, что читатель умеет пользоваться основными возможностями git
и понимает что делает, когда, скажем, вводит в консоль git rebase --merge --autostash
.
С каждым годом курсовые для моих студентов становятся все объемнее. Например, в этом году одним из заданий была разработка метеостанции, ведь только ленивый не делает метеостанции, а студенты они по определению не ленивые, поэтому должны её сделать. Её можно быстро накидать в Cube или собрать на Ардуино, но задача курсового не в этом. Основная задача — самостоятельно, с нуля разобраться с модулями микроконтроллера, продумать архитектуру ПО и, собственно, закодировать все на С++, начиная от регистров и заканчивая задачами РТОС. Кому интересно, здесь пример отчета по такому курсовому
Так вот, появилась небольшая проблема, а именно, бесплатный IAR позволяет делать ПО размером не более 30 кБайт. А это уже впритык к размеру курсового в неоптимизированном виде. Анализ кода студентов выявил, что примерно 1/4 часть их приложения занимает FreeRtos — около 6 кБайт, хотя для того, чтобы сделать вытесняющую переключалку и управлялку задачами хватило бы, наверное… да байт 500 причем вместе с 3 задачами (светодиодными моргунчиками).
Эта статья будет посвящена тому, как можно реализовать Очень Простой Планировщик(он же SST), описанный в статье аж 2006 года и сейчас поддерживаемый Quantum Leaps в продукте Qp framework.
С помощью этого ядра очень просто реализовать конечный автомат, и оно очень хорошо может использоваться в небольших проектах студентами (и не только), которые могут получить дополнительно 5 кБайт в свое распоряжение.
Я попробую показать как можно реализовать такой планировщик самому. Чтобы не сильно перегружать статью, рассмотрю переключение контекста на CortexM0 у которого нет аппаратного модуля с плавающей точкой.
Все кто заинтересовался и хочет понять как можно переключать контекст, добро пожаловать под кат.