цифровая электроника
вычислительная техника
встраиваемые системы

 

Избавьтесь от Google Glass в своей сети

Автор: Mike(admin) от 8-06-2014, 07:11

Очки дополненной реальности Google Glass, не смотря на относительно высокую стоимость, набирают популярность. Впрочем, это нравится далеко не каждому. Люди, не желающие лишний раз попадать в объективы каких-либо видеокамер, далеко не в восторге от такой новинки. Энтузиаст по имени Julian, которого можно причислить к этой категории людей, разработал специальный скрипт glasshole, позволяющий выявить присутствие Google Glass в сети и «выпнуть» эти очки из нее.


Google Glass

Принцип работы скрипта прост и заключается в том, что каждый производитель сетевых интерфейсных устройств присваивает своей продукции собственный MAC-префикс. Это часть МАС-адреса, которая является уникальной для данного производителя. Программа с помощью утилиты arp-scan формирует список всех MAC-адресов устройств сети, которые потом сравнивает с MAC-адресом, характерным для Google Glass. При совпадении выдается предупреждающий звуковой сигнал, и затем запускается утилита aireplay-ng в режиме де-аутентификации. Это позволит отправить spoof-пакеты клиенту (очкам Google Glass), что заставит его отключиться от сети.

Библиотека арифметических операций для PIC16

Автор: Mike(admin) от 3-06-2014, 15:33

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


MiniPirate

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



Генератор аддитивного белого гауссовского шума

Автор: Mike(admin) от 22-05-2014, 11:20

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


гауссовский шум

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



Конвертер BCD-ASCII

Автор: Mike(admin) от 12-05-2014, 13:15

Двоично-десятичный формат кода (BCD) часто используется при работе с LCD-дисплеями и часами реального времени. В BCD-числе каждый десятичный разряд рационального числа записывается в виде его четырёхбитного двоичного кода.


Двоично-десятичный формат числа

Для преобразования DCD-формата в ASCII-код и обратно помогут две приведенные ниже функции bcdToAscii() и asciiToBcd().

Простой макрос для манипуляции отдельными битами

Автор: Mike(admin) от 20-04-2014, 12:00

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


Простой макрос для манипуляции отдельными битами

Нижеприведенный фрагмент кода реализует макрос для установки конкретного бита в лог. «1», сброса бита и его инвертирования, а также чтения значения бита.



Matlab-код для отображения данных с COM-порта

Автор: Mike(admin) от 10-04-2014, 05:25

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


matlab

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

Библиотека для работы с датчиком SHT11

Автор: Mike(admin) от 30-03-2014, 14:00

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


SHT11

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

yasp - браузерный ассемблер с виртуальным микроконтроллером

Автор: Mike(admin) от 27-03-2014, 06:13

Уже немногие инженеры-программисты знают ассемблер, хотя он помогает понять принципы программирования встраиваемых систем и то, что стоит за языком C. Поэтому в последнее время стали появляться браузерные компиляторы и эмуляторы языка ассемблер для обучения и создания простых проектов, например, ASM80. Но два энтузиаста Роберт Фишер и Майкл «luto» Лютонски разработали полнофункциональную браузерную среду разработки, включающую в себя компилятор ассемблера, эмулятор и отладчик. Назвали они её yasp.


yasp

Самое интересное то, что в этой среде «аппаратные» элементы: микроконтроллер, потенциометр, кнопки, светодиоды. Так что, процесс отладки должен быть нагляден и удобен.

Реализация ПИ-регулятора с компенсацией эффекта насыщения

Автор: Mike(admin) от 15-03-2014, 07:30

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


ПИ-регулятор

Для борьбы с насыщением регулятора проверяется выход, и если P+I (пропорциональная и интегральная части) превышает требуемый диапазон регулирования, то новое значение интегратора не сохраняется, если все это только способствует насыщению. Это позволяет предотвратить большие выбросы при сильных шумах или при больших уставках на входе.

Программная эмуляция интерфейса I2C

Автор: Mike(admin) от 2-03-2014, 11:08

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


Шина I2C

Код на языке C с комментариями приведен под катом.