Ваш браузер узнаёт актуальное время от компьютера. А как узнаёт время компьютер? Через батарейку в материнской плате. А откуда берётся время там? А кто отвечает за то, чтобы время у всех было точное? В этом посте мы проследим, как отсчитывается время, на которое ориентируется современная техника, и рассмотрим, какие потенциальные проблемы сулит такой расклад.
Пользователь
Зачем Программисту Микроконтроллеров Диофантовы Уравнения
Школьные уроки математика не прошли даром.
Вот, настал день, когда впервые пришлось решить на работе Диофантовое уравнение.
А в чем проблема работать с файлами?
Данные - это важный компонент системы. Приложение может хранить их где угодно, но в результате все сводится к файлам. Файлы - это хорошая абстракция, но она протекает: если не знать того, как работают ОС или гарантии файловой системы, то легко выстрелить себе в ногу.
Меня увлекла тема отказоустойчивости, а конкретно - отказоустойчивой работы с файлами. В этой статье я попытался соединить все полученные знания:
Кто участвует в процессе записи
Ошибки, которые могут произойти
Что от нас зависит, а что нет
И самое главное - как это этого защититься
Секретная китайская плата с ЦАП: вспоминаем COVOX
Привет, Хабр! Сегодняшний радиоконструктор меня очень порадовал. Предельно простая схема позволяет получить весьма интересную форму выходного сигнала, благодаря программируемому двоично-десятичному счётчику КР1533ИЕ2 (74LS90) и резистивному цифро-аналоговому преобразователю, как в винтажной звуковой карте «COVOX».
КР1533ИЕ2 сама по себе является очень интересной микросхемой стандартной логики, которую стоит рассмотреть подробнее.
Решение cryptopals. Часть 2
Продолжаем решать задания cryptopals. В этой части рассмотрим блоки заданий 3 и 4, которые посвящены блочному шифрованию, хеш-функциям и генераторам псевдослучайных чисел.
Решение cryptopals. Часть 1
Часто при изучении криптографии делают упор на теорию, оставляя практическую часть в стороне. Упражнения cryptopals — это прекрасный вариант подтянуть практические навыки. С одной стороны, начинать можно с минимумом предварительных знаний. С другой стороны, затронуты все важные темы на примере реальных атак. В этой части рассмотрим блоки заданий 1 и 2.
Основы управления ресурсами в C
Привет, Хабр!
Управлении ресурсами включает в себя распределение, использование и освобождение различных типов ресурсов. В языке программирования C автоматическое управление памятью отсутствует, эта задача ложится на плечи разработчиков.
В этой статьи рассмотрим основные возможности для работы с ресурсами в C.
Расчет потерь в MOSFET транзисторах
Приветствую!
В этой статье я расскажу, как рассчитываю потери на MOSFET транзисторах при разработке источника питания и поверхностно рассмотрю основные переходные процессы.
Сети ZigBee. Зачем и почему?
Чего «репу» чешешь?
На золотую рыбку другая сеть нужна!
Собственно, я собирался продолжить серию топиков, посвященных работе RTLS – системы позиционирования в реальном времени. А именно, рассказать о беспроводной инфраструктуре системы, основанной на сетях ZigBee. Но вдруг с удивлением обнаружил, что на Хабрахабре нет публикаций, посвященных стандарту IEEE 802.15.4 и спецификации ZigBee. Есть лишь немногочисленные упоминания, связанные с тем или иным приложением. Попытаюсь по мерее сил заполнить этот пробел.
В последнее время все большее распространение и значение приобретают беспроводные сенсорные сети. Сети, которые по своему назначению, параметрам, спецификациям существенно отличаются от сетей связи – WiFi, GSM, LTE и т.п. Среди прочих, используемых в сенсорных сетях, выделяется спецификация ZigBee – наиболее продвинутая надстройка к стандарту IEEE 802.15.4
В этом году исполнилось 10 лет со времени основания ZigBee альянса, а в октябре исполняется 5 лет с момента утверждения действующей в настоящее время спецификации ZigBee Pro Feature Set 2006. Так что публикацию можно считать юбилейной.
Желающих познакомиться с самоорганизующейся самовосстанавливающейся и не требующей специального частотного разрешения сенсорной сетью прошу под кат.
Zigbee для самых маленьких. Пост номер 1
Около месяца назад попали в мое распоряжение модули Atmel ATZB-S1-256-3-0-C основанные на чипе ATmega256RFR2 объединяющим в себе 2.4Mhz трансивер, микроконтроллер AVX на 256 килобайт памяти и даже чип-антенну. Атмель обещали в свою очередь out of the box поддержку Zigbee для этих модулей и было принято решение строить наш mesh именно на них.
Если кто не понял то при помощи этих модулей можно относительно просто построить IoT меш сеть добавляя к модулям лишь кнопочки, лампочки, сенсоры и батарейки. Основной микропроцессор уже на месте, даже с осцилятором из трансивера.
Звучит довольно просто, не так ли? На практике все оказалось намного прозаичнее. Основной проблемой оказалась недооценка технологической сложности атмелевского стека Zigbee, самого стандарта Zigbee, ну и переоценка собственных возможностей. Дело в том что сам я давно не програмировал на C, давно перешел на Matlab и Python, все указатели и другие средства управления ресурсами и процессами давно положил в тумбочку и выкинул ключ. Ну что-же… в мире ембеддед меня ждало много приятных неожиданностей.
Собираем простейшую ZigBee-сеть, программируем под Mbed, общаемся через MQTT
Предполагается, что вы уже знаете, что такое ZigBee и для чего он нужен. Теперь вам хочется подключить свой первый XBee-модуль и решить с его помощью свои задачи, не вдаваясь в программирование самого модуля, а лишь используя его как интерфейс связи. В конце будем все данные пересылать через самодельный MQTT-шлюз куда угодно, хоть на локальный сервер, хоть в Интернет. Мы решили показать всё на примере Mbed как самой простой и доступной новичкам RTOS. Вы убедитесь, что всё работает «из коробки», и можете сразу начать делать свой проект, даже если до этого вы имели дело только с Ардуино.
Встраиваем своё устройство «Умного дома» в экосистему SmartThings
Рассмотрим, как встроить свое собственное устройство с платформой «Умного дома» Samsung SmartThings. Мы реализуем вариант прямого (Direct) подключения для управления устройством «Умного дома» на примере кнопки-выключателя и трехцветной лампочки.
Подборка лучших внешних аккумуляторов с USB-C PD для ноутбуков
Внешние аккумуляторы стали неизменным атрибутом современной жизни. Они выручают дома при банальном отключении света из-за плохой погоды, в кафе, самолёте, больнице, на природе и в любых местах, где розеток мало или они отсутствуют вовсе.
Поэтому мы собрали подборку пауэрбанков с высокоскоростным портом USB-C PD. С его помощью ноутбуки будут заряжаться так же быстро, как при использовании оригинальных блоков питания.
Google Apps Script и с чем его едят
Всем привет! Меня зовут Леша Штанько, я системный администратор и интегратор (если остается время, еще и JS-разработчик :D) в AGIMA. Если представить Google большим айсбергом, то на его верхушке точно разместятся всеми любимые и популярные инструменты, вроде Google Sheets и Google Calendar, а Google Apps Script скроется где-то под толщей воды. Но я считаю, что больше людей должны попробовать этот классный инструмент. Поэтому в этой статье расскажу о его главных достоинствах и поделюсь практическими примерами.
SimulIDE: открытый симулятор цифровых схем и микроконтроллеров
В этой заметке я решил рассказать о SimulIDE. Это относительно новое программное средство с открытым исходном кодом, предназначенное для моделирования 8-битных микроконтроллеров семейств AVR и PIC, а также прочих электронных схем. По интерфейсу SimulIDE напоминает Proteus. SimulIDE кроссплатформенный и работает под Linux, Windows и Mac. Далее будут рассмотрены основные возможности этого симулятора и рассказано о моих личных впечатлениях от работы с данной программой.
Получаем спутниковые координаты GPS/ГЛОНАСС с помощью модуля SIM868 на Repka Pi
Сегодня уже трудно найти человека, который не знает, что такое навигатор и GPS-координаты. В этой статье мы расскажем о том, как встроить функции навигатора в устройство, собранное на базе микрокомпьютера Repka Pi. Для получения координат мы будем использовать модуль GSM/GPRS/GNSS Bluetooth HAT, о котором вы уже знаете из предыдущих статей нашей серии про эти модули на базе SIM868.
Полученные GPS-координаты вы сможете использовать в устройствах IoT, роверах, самокатах, дронах, автомобилях, в шлагбаумах, воротах и так далее.
Вы научитесь получать от модуля сообщения NMEA в формате передачи данных между корабельными приборами. Этот формат часто применяется при интеграции навигатора с различными устройствами, которые должны получать и отслеживать данные о местоположении, направлении, скорости, параметры навигационных спутников и другие данные.
Контролируя GPS-координаты своего устройства, вы сможете получать сообщения о начале движения или остановке устройства, о вхождении в определенную область, заданную своими координатами или о выходе устройства из этой области. Также можно контролировать высоту, скорость и направление перемещения устройства. Например, можно реагировать на превышение скорости, отправляя сообщение в центр обработки данных.
Если устройств много, то данные о координатах, добавленные в телеметрические данные, позволят сразу понять, где находится то или иное устройство, требующее внимания или обслуживания.
Модуль GSM/GPRS/GNSS Bluetooth HAT может отправлять данные, например, через GPRS или SMS, а также совершать телефонные звонки.
STM32. Процесс компиляции и сборки прошивки
Так родилась идея для этой статьи: не используя ничего, кроме текстового редактора и командной строки, собрать проект мигания светодиодом на отладочной плате STM32F0-Discovery. Поскольку я не до конца понимал, как происходит процесс компиляции и сборки проекта, мне пришлось восполнять пробелы в знаниях. Разобравшись с этим вопросом, я подумал — а почему бы не рассказать другим об этом?
Всем кому интересно — добро пожаловать под кат! 🙂
На помойку? Никак нет! Пишем нативные приложения для дешевых китайских телефонов
Если сейчас приехать в пункт приема металлолома, то можно обнаружить просто огромные кучи различных телефонов и прочих электронных «отходов», которые стоят под открытым небом и ждут, когда придёт их черёд окончательного разложения. Однако при ближайшем рассмотрении выясняется, что многие девайсы оказываются полностью рабочими даже после недельного лежания под палящим солнцем и проливными дождями, а сдали их в чермет по причинам «не нужен, надоел, купил новый» и т. п. Я не считаю это правильным, ведь даже в простые кнопочные звонилки имеется возможность вдохнуть новую жизнь, если знать один интересный, но малоизвестный факт: для них можно писать нативные приложения на C и использовать железо телефона в своих целях. А это, на минуточку, как минимум: дисплей с подсветкой, вибромотор, динамик, клавиатура и GSM-радиомодуль с возможностью выхода в сеть. Сегодня мы с вами: узнаем, на каких аппаратных платформах работают китайские телефоны, какие существуют программные платформы и где взять для них SDK, а в практической части мы напишем 2D-игру с нуля, которая будет работать на многих китайских кнопочниках. Интересно? Тогда жду вас под катом!
Книга «Основы компиляции: инкрементный подход»
Компиляторы традиционно считаются одной из самых трудных для понимания и изучения тем. Обычно в книгах каждая глава посвящена отдельному проходу компилятора. Но такая структура не позволяет раскрыть, как языковые средства влияют на решения, принимаемые при проектировании компилятора.
Вместо этого в «Основах компиляции» выбран инкрементный подход: компилятор совершенствуется последовательно, и читатель может написать весь код самостоятельно. Книга помогает создать собственный компилятор для небольшого, но достаточно мощного языка программирования, постепенно, шаг за шагом вводя все более сложные языковые средства.
Джереми Сик объясняет важнейшие концепции, алгоритмы и структуры данных, лежащие в основе современных компиляторов, и закладывает основу для изучения более сложных тем. Это краткое, но доступное руководство уже давно используют студенты и профессионалы.
Qucs-S: руководство по видам моделирования, часть 1
Qucs-S является программой с открытым исходным кодом для моделирования электронных схем. Qucs-S кроссплатформенный (поддерживаются Linux и Windows) и написан на С++ с использованием набора библиотек Qt. О данной программе рассказывают мои предыдущие статьи. Для работы Qucs-S рекомендуется использовать также открытый движок моделирования Ngspice. Актуальным релизом Qucs-S на текущий момент является версия 2.1.0. В данной статье подробно рассматриваются виды моделирования, имеющиеся в Qucs-S. Начальное руководство по работе с программой можно найти здесь: https://habr.com/ru/articles/678526/
Информация
- В рейтинге
- Не участвует
- Зарегистрирован
- Активность