Удаленное управление. Поймаем кнопку за событие.

И снова вечер и снова делать нечего.
А вот например GPIO. Тут один товарищ описал что такое GPIO в серии статей GPIO для чайников. Из них мы знаем, что GPIO может работать как на вход, так и на выход. Грубо говоря, если я замкну 2 пина, один из которых будет IN, а второй OUT и поменяю значение второго, то значение первого так же изменится. Думаю, схему подобного приводить не стоит, потому что, фактически, это просто соединение прямым проводом двух пинов.

Удаленное управление.

Надо что-то тут написать, а то совсем сайт вымер.

Сразу прошу извинить, если стиль написания плохой. не писатель я совсем :)

Дело было вечером, делать было нечего. От нечего делать взял да и купил себе железку на базе ARM. На самом деле хотел построить на ней танк.
Ну а так как не хотелось пользовать всякие node.js и прочие готовые инструменты, решил немного повелосипедить. Так что про то, что «Есть же вот такая штука!» или на худой конец «ssh», я вкурсе. Велосипедил я Just For Fun

Raspberry Pi Black Box (DIY-корпус)

Два года назад я купил raspberry pi model b.Я не обладал и не обладаю особыми навыками программирования, поэтому, установив дистрибутив raspbian и наигравшись, я надолго забыл про микрокомпьютер.
Недавно я откопал свою raspberry и решил докупить недостающее оборудование, заодно собрать корпус.Пересмотрев варианты корпусов, которые в продаже и статьи о самодельных корпусах, я решил собрать что-то своё, уникальное.

Подключение блока сегментных индикаторов с драйвером MAX7219

7-сегментный индикатор хорошо подходит для вывода цифровых значений — он компактен, эстетичен, потребляет мало тока, хорошо виден издалека и при ярком освещении. Каждый сегмент индикатора представляет собой светодиод. Зажигаясь, сегменты образуют цифру или символ.
Недостатком таких индикаторов является то, что для управления каждым сегментом нужен отдельный вывод.
Драйвер MAX7219 решает эту проблему. К 1 чипу MAX7219 можно подключить до 8 семисегментных светодиодных индикаторов, управлять которыми можно по интерфейсу SPI.

Простая установка Windows 10 на Raspberry pi 2

В официальной инструкции Microsoft (http://ms-iot.github.io/content/win10/SetupRPI.htm)запись образа с Windows 10 IoT для Raspberry Pi 2 на карту памяти (IoT — Internet of Things «интернет вещей») должна производиться с компьютера, на котором установлена Windows 10, что не очень удобно.

В этой статье, я расскажу как можно обойти это ограничение и записать образ с Windows 10 IoT с любой современной версии Windows.

Wiring Pi - библиотека работы с GPIO. Часть 1

Данная статья рассчитана на пользователей, имеющих представления об основах GPIO Raspberry Pi.
Если эта тема для вас новая, то перед прочтением статьи рекомендую ознакомится с другими статьями для начинающих на тему GPIO — их можно найти в разделе «Документация»

В настоящее время самой популярной библиотекой для работы с GPIO на Raspberry Pi стала wiringPi

Bubot: Scout — машинка с управлением через веб интерфейс без строчки кода

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



Видео сделано в продолжение обзорной статьи по фреймворку для робототехники и домашней автоматизации.

Bubot — очень легкий фреймворк на Python 3 для программирования роботов и домашней автоматизации

Предыстория

Хотелось создать своего робота, а так же автоматизировать управление светом и климатом дома. С этой целью начал изучать имеющиеся возможности. Для себя я разделил все решения на две группы: системы в которых код на контроллере выполняется в одном главном цикле (arduino, lego и т.п.) и системы состоящие из параллельно работающих процессов обменивающихся между собой сообщениями.
Интуитивно выбрал вторую группу, так как хотелось найти максимально простое решение с дружественным пользовательским интерфейсом. Из наиболее популярных представителей этого «семейства» очень понравились Microsoft Robotics Studio и ROS. Но к сожалению, на текущий момент, привязать их к конкретному железу весьма не просто, да и разобраться в них с нуля так же весьма не тривиальная задача. В итоге принял решение писать сам, но «кодить» на C очень не хотелось, Душа просила чего-нибудь попроще и полегче. В итоге выбрал Python. А учитывая, что по мимо робота и «умного дома» в голову начало лезть куча других идей, то решил сразу сделать небольшой фреймворк, в котором основной упор был бы сделан на простоту разработки.

Концепция

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

Bubot - Схема

Сеть процессов строится на базе стандартного Python модуля multiprocessing. Система обмена сообщениями и разделяемая память реализованы при помощи Redis.

Каждый Bubot имеет встроенный веб-сервер веб-сервер Tornado, который позволяет контролировать состояние, управлять роботом, на ходу менять параметры (калибровать) робота, а также закладывается возможность обмена данными между роботами.
Bubot не является системой реального времени, хотя Bubot возможно интегрировать с кодом реального времени.

Чистый звук на Raspberry Pi, подключаем USB звуковую карту

Как известно звук с аналогового аудиовыхода Raspberry Pi не отличается высоким качеством и наполнен посторонними шумами, что особенно заметно при большой громкости динамиков.
Для получения качественного звука лучше подключить по USB внешнюю звуковую карту. Помимо улучшения качества аудио, звуковая карта обладает входом для микрофона, что также весьма полезно.
Чтобы не заморачиваться с драйверами я выбрал звуковую карту с чипом c-Media, т.к c-Media работает в Raspbian «из коробки».

Получение данных с аналоговых датчиков, подключенных к Raspberry Pi

Информация, снимаемая с аналогового датчика, представляет собой напряжение сигнального выхода датчика. Это напряжение может изменяться от 0 до напряжения питания датчика (грубо говоря, чем больше измеряемая датчиком величина, тем выше напряжение сигнального выхода)
Чтобы считать это напряжение и преобразовать его к осязаемому цифровому значению используется аналого-цифровой преобразователь (AЦП).
В Raspberry Pi отсутствует встроенный АЦП, поэтому для подключения к RasPi аналоговых датчиков потребуется внешний АЦП.

Я использовал АЦП на основе чипа PCF8591 — http://rspmarket.com/viewproduct/49/

Это 4-канальный 8-битный АЦП, который передаёт считываемые с датчика значения напряжения по i2c.

Компиляция ядра для Raspberry Pi и Raspberry Pi2

Приветствую уважаемое русскоязычное сообщество Raspberry Pi
Сегодня я расскажу вам про технику компиляции ядра для Raspberry Pi и Raspberry Pi2
Зачем нам может потребоваться компиляция собственного ядра? Ну например, чтобы добавить устройства, которые не поддерживаются в дефолтной сборке.