Search
Write a publication
Pull to refresh
0
0
Send message

Выжать все соки или используем Raspberry pi на всю катушку

Reading time11 min
Views266K
Всем привет!

Долой унылые речи о том, что это мой первый пост и все такое. Пожалуй лучше я расскажу о том, как выжать все соки из маленькой малютки под названием Raspberry PI (далее RPI), ценой $ 35. Я уверен на 146,6% что здесь уже были посты подобного рода, и этот пост не претендует на твердую пять. Скорее это просто вступительное слово о том: «Как я занял себя делом на пару унылых вечеров». Собственно мы получим в итоге Raspberry PI который можно использовать:
  1. как домашний web-сервер (если ты какой-нибудь PHP-разработчик, и тебе не чуждо веселье);
  2. как мультимедийную приставку с популярным XBMC Media Center (или супер-пупер-крутую-шняжку к телевизору за скромные 1800$);
  3. и как ночную торрент качалку, с web-интерфейсом (для ленивых);

Для тех кому стало интересно прошу под кат (Внимание! Трафик).
Читать дальше →

Стримминг Steam игр на Raspberry PI

Reading time2 min
Views29K
Некоторое время назад Valve представила приставку для телевизора Steam Link, позволяющую использовать телевизор в качестве удаленного монитора. Как владелец Raspberry Pi, я тут же озаботился вопросом: «А оно, сможет?».

Заинтересовавшихся прошу далее.
Читать дальше →

Пять способов улучшить Raspberry Pi

Reading time3 min
Views174K
Стремительно набирает популярность одноплатный компьютер Raspberri Pi. Стремясь сделать его как можно дешевле, разработчики выкинули все «лишнее» и максимально упростили конструкцию там, где это было возможно. С одной стороны, это вынуждает пользователя терпеть некоторые неудобства при работе с системой. Но с другой стороны, оставляет простор для творчества и усовершенствований.

Итак, вашему вниманию предлагается обзор пяти полезных модификаций для Raspberry Pi.
Читать дальше →

Rust: & и ref в паттернах

Reading time5 min
Views11K
(продолжение)

Как вам, думаю, известно, Раст входит в число языков реализующих сопоставление с образцом (pattern matching). В случае если вам незнаком данный термин, вы можете думать о нём как об обобщёном switch выражении в котором мы сравниваем объекты не только по значению, но и по структуре:

match hashmap.get(&key) {
    Some(value) => do_something_with(value),
    None => { panic!("Oh noes!"); },
}

Разумеется сравнением дело не ограничивается. Как вы можете видеть в примере выше, объекты так же могут быть деструктурированы во время сопоставления (Some(value)) и их части присвоены другим переменным (value), которые могут быть далее использованы в соответствующей ветви match выражения.

Изящно, не правда ли? В Расте сопоставление с образцом это хлеб и масло не только для match, но и для for, (if) let и даже для обыкновенных аргументов функции.

Однако, долгое время я достаточно смутно представлял себе что происходит в случае когда мы добавляем к сопоставлению ссылки и заимствования. & и ref являются двумя «операторами» часто используемых при этом. Разнице между ними и будет посвящена данная статья.
Читать дальше →

Работа с радиомодулями SI4432

Reading time12 min
Views81K
В статье рассмотрены функциональные особенности работы радиомодуля на микросхеме ISM (industrial, scientific and medical radio bands) трансивера SI4432. Также приведены простейшие примеры программной инициализации модуля и описаны некоторые возможные вариации настройки.


Читать дальше →

Беспроводные сети ZigBee. Часть 2 [Работа с радиомодулями ETRX35X]

Reading time22 min
Views37K

Введение



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

Читать дальше →

Беспроводные сети ZigBee. Часть 1 [Вводная]

Reading time9 min
Views113K

Введение


Сейчас о концепции IoT («интернета вещей») говорят везде. Появляется «умная» бытовая техника, которая может подключиться к сети (Bluetooth/Wi-Fi) по беспроводному интерфейсу и начать рассылать уведомления о том, что задача по стирке/готовке еды/кипячению воды завершена и неплохо бы что-то с этим сделать. Большинство таких «умных» устройств получает питание непосредственно из электросети. Но как быть, если хочется получать информацию от беспроводного термометра и при этом не менять батарейку каждую неделю? Или иметь беспроводной выключатель с небольшим аккумулятором для которого не понадобится штробить стены? И хорошо бы объединить такие устройства в единую распределенную сеть, которой можно управлять удаленно и которая сама, основываясь на показаниях датчиков/извещателей/счетчиков, могла бы принимать какие-то решения.

Специально для решения таких задач была создана беспроводная технология ZigBee, о которой мы и начнем разговор.

Читать дальше →

Куча способов переиспользовать код в Rust

Reading time40 min
Views20K
Я нашел эту статью авторства Alexis Beingessner как наиболее понятное описание системы типов в Rust, и что с ними можно делать. Надеюсь, кому-нибудь этот перевод будет полезен. Не смотрите на то, что вначале описываются очевидные вещи — под конец можно утонуть. Статья огромная и скорее всего будет разобрана на главы. Переведено достаточно вольно. Авторский стиль сохранен. — прим.пер.

(статья написана о Rust 1.7 stable)

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

В этой статье не будет исчерпывающего описания синтаксиса или общих деталей описываемых возможностей. Здесь рассказывается, почему происходит так или иначе, так как подобные вещи я всегда забываю. Если вы нашли эту статью в попытках выучить Rust полноценно, вам определенно стоит для начала ознакомиться с Книгой (оригинал вот — прим.пер.). В то же время я здесь буду уточнять некоторые произвольные теоретические аспекты того, что происходит.
Скорее всего, в этой статье полно ошибок, и она не должна претендовать на звание официального руководства. Это просто сборник того, что я накопал за неделю, пока искал новую работу.
Осторожно, там глубоко!

И снова – NooLite + FLProg

Reading time7 min
Views9.3K

Добрый день. Я — разработчик программы FLProg, и сегодня я хочу продолжить тему связки оборудования компании “Ноотехника” и программы FLProg.

Ранее (раз, два) я уже писал о появлении в программе поддержки передатчика MT1132 и силовых блоков под его управлением. Теперь с выходом версии 1.15 появилась поддержка модуля приёмника MR1132 и трех беспроводных датчиков – PT111, PT112 и PM111.

image image

Читать дальше →

Как делаются Z-Wave устройства

Reading time18 min
Views27K
В этой статье мы расскажем, как создаются устройства Z-Wave. С точки зрения схемотехники и программирования разработка Z-Wave устройства не сильно отличается от разработки устройства на базе Arduino, AVR или PIC. Однако есть в Z-Wave свои нюансы. О них-то и пойдёт речь под катом.

Читать дальше →

Делаем собственное Z-Wave устройство на базе Z-Uno

Reading time14 min
Views29K
Протокол Z-Wave весьма популярен, и существует огромное множество совместимых устройств. Однако все, кто когда либо автоматизировал своё жилище, сталкивались с тем, что чего-то таки не хватает.

Кому-то не хватает датчика давления, кому-то датчика дождя, кому-то хочется устройство на 6 реле в одном корпусе, да ещё и на батарейках. А кому-то просто нужно управлять через Z-Wave пылесосом iRobot Roomba.

Но всего этого нет в Z-Wave (да и в других протоколах тоже), и производители не торопятся осуществлять все ваши мечты.

Мы услышали вашу боль и создали идеальный комбайн. Встречайте Z-Uno, которая сочетает простоту и универсальность. Z-Uno — это Arduino в мире Z-Wave. На этой плате вы можете собрать все ваши устройства мечты и многое другое.
Читать дальше →

RaZberry — умный дом на базе Z-Wave и Raspberry Pi

Reading time8 min
Views216K
Raspberri Pi with RaZberry extention boardМногие пытаются собрать «Умный дом» своими руками. При выборе системы стоит учитывать не только ассортимент и стоимость конечных устройств, но и возможности контроллера. Большинство контроллеров сразу готовы к работе «из коробки», но представляют ограниченные возможности. Однако нередко именно гибкость и возможность лёгкой интеграции является основополагающим критерием при выборе.

И вот, появился долгожданный «кубик Lego» для систем автоматизации на базе технологии Z-Wave, который обладает желаемой гибкостью и в то же время большим функционалом и низкой ценой.

Плата расширения RaZberry для Raspberry Pi, превращает самый популярный и дешёвый мини-компьютер в Z-Wave контроллер домашней автоматизации.

Читать дальше →

Радиоприёмник из DVB стика за $8 — изучаем SDR с GNURadio

Reading time11 min
Views60K
Каждый день мы пользуемся множеством радио устройств. Однако редко понимаем, как они работают. Эпоха радиолюбителей фактически прошла, оставив в прошлом любителей спаять приёмник ДВ или СВ своими руками. Да и в методах кодирования техника ушла далеко вперёд. Мы часто слышим рассуждения о взломе умных домов на радио протоколах, о ненадёжности радио связи и т.д. Но многие ли из вас пробовали, например, подслушать Z-Wave сеть умного дома соседа и тем более поуправлять ей? Насколько велика эта угроза для вас?

К счастью в наши дни стали доступны очень удобные средства для работы с радио, а именно SDR.

SDR (Software Defined Radio) позволяет программно перестраивать приёмник и передатчик для работы на различных частотах от 20 до 2000 МГц, после чего произвести обработку сигнала на компьютере с помощью цифровых методов. Это существенно отличает SDR от аналоговых схем радиопрёмников и передатчиков, позволяя легко менять алгоритм обработки полученного сигнала.




Существует множество разных программ для обработки радио сигналов. Я изучил наиболее популярную из них GNURadio. Этот пакет позволяет строить процесс обработки из различных блоков, стыкуя их друг с другом в формате потоковой обработки (pipe). Каждый следующий блок принимает данный от одного или нескольких предыдущих, а вывод передаётся другим блокам.

Под катом я расскажу об основах SDR и GNURadio и о том, как за 8 баксов сделать приёмник AM/FM, китайской управляемой розетки, телеметрии со спутника и всего, что вздумается.

Читать дальше →

Немного о технологии Z-Wave

Reading time17 min
Views105K
В данной статье хотелось бы осветить немного внутренностей протокола Z-Wave. Учитывая, что владелец протокола компания Sigma Designs (поглотившая Zensys) просит подписывать NDA перед раскрытием особенностей реализации, а часть вообще никому не показывает, подробных данных а сети не найти. Я не собираюсь рассказывать здесь слишком много, чтобы не нарушить подписанный NDA. Надеюсь, и данная информация окажется полезной и сподвигнет кого-нибудь занятся разработкой собственных железок на этом протоколе. Итак, начнём!
Читать дальше →

Простой интерфейс к умному дому с nooLite

Reading time10 min
Views16K
Сколько-то месяцев тому назад я поставил у себя дома «умный дом» на базе компонентов белорусской «Ноотехники», о которых на Хабре и Гиктаймсе писали много-много раз. Строго говоря, я не рассматривал его именно как умный дом — а в первую очередь как удобный: начинался он с желания получить управление лампами из разных мест квартиры без капремонта проводки, а заодно сделать посекционное включение для тех ламп, к которым сейчас проведена одна пара проводов.

Если полистать публикации по данной теме, они в основном сводятся к трём вещам: «как я установил первый выключатель», «как я пишу супернавороченный интерфейс с плагинами и собственным скриптовым языком» и «как я настраиваю полную автоматизацию, чтобы вообще больше выключателей не видеть».

Увы, ни одна из них ничего практически ценного мне не давала: помимо того, что последние две категории обычно находятся в вечном состоянии work-in-progress, я не верю в осмысленную автоматизацию света в городской квартире (больше тут автоматизировать особо нечего), а также не хочу собственный скриптовый язык. Я хочу систему, которая, будучи однажды установленной, позволяла бы и мне, и другим людям удобно управляться со светом в квартире, по возможности не поднимая задницу с кресла и не требуя никаких специальных знаний. И не только включать и выключать, но и, например, поменять функцию конкретной кнопки.



В общем, я её сделал.

Но обо всём по порядку.
Читать дальше →

Беспроводные технологии «интернета вещей»

Reading time11 min
Views28K
Привет, Гиктаймс!

В последнее время — ну как «время», так обычно говорят про дни или недели, а тут речь идёт скорее уже о годе-двух — мимо постоянно проскакивают статьи на тему «что такое Интернет вещей» (ну и на смежные: основные игроки, основные тенденции, новейшие продукты и так далее). К сожалению, примерно 99 из 100 из них насколько объёмны, настолько же и бессмысленны: их авторы пытаются говорить об IoT как о некоей единой и цельной концепции.

Однако цельного и единого IoT не существует и не может существовать. В лучшем случае, IoT можно определить как концепцию удалённого взаимодействия машина-машина (m2m) или машина-человек (m2h), в то время как классический Интернет — это взаимодействие человек-человек.

Но на этом единство и заканчивается. Можно ли описать одной статьей «тенденции и основных игроков интернета»? Да вы шутите, что ли? Придётся охватить СМИ, соцсети, видеосервисы, магистральных провайдеров, ВОЛС, сотовые сети, корпоративные сети, облачные сервисы для бизнеса, сетевое оборудование для дома, CPE для офиса, магистральное оборудование… всё это — части того, что называется сейчас «Интернет».

То же самое — и с «Интернетом вещей». Это и лампочки LiFX в квартире, и контроллеры Danfoss в вентиляционных установках офисных зданий, и ваш любимый фитнес-трекер, и система мониторинга дорожной обстановки мегаполиса, и централизованный сбор данных о состоянии и ресурсе парка электрофрезерных станков, и много чего ещё. Каждое из этих применений — это свой собственный рынок, собственные решения и на программном, и на аппаратном уровне и, разумеется, собственные игроки, многие из которых другими сегментами IoT не занимаются и никогда не будут заниматься.

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

Что в этой ситуации делать? Я думаю, начать немного разгребать интернето-вещевые завалы, раскладывая по полочкам базовые понятия. И начать я хочу с того, какие беспроводные технологии сейчас популярны — и чем они, чёрт возьми, друг от друга отличаются.

Говоря человеческим языком — на чём сейчас принято делать нижние три уровня модели OSI.



Читать дальше →

OpenHAB — стань программистом собственного жилища

Reading time9 min
Views202K
image
Дом — это машина для жилья
Ле Корбюзье

В этом посте я расскажу об opensource проекте домашней автоматизации openHAB.
openHAB переводится как "Open Home Automation Bus". Это значит, что он нацелен на создание универсальной платформы для объединения всей домашней «умной» техники в единую систему управления.

Что же это дает на практике? Под катом я расскажу о том, как с помощью этого решения можно создать настоящий интернет вещей в своем доме.

Читать дальше →

Не IoT, а малина! Строим IoT-проект на Raspberry Pi с Windows 10 и DeviceHive

Reading time7 min
Views53K
Привет, Хабр.

Наверное каждый разработчик на определенном этапе задумывался о собственном IoT-проекте. Internet of Things сейчас поистине вездесущ и многим из нас хочется попробовать свои силы. Но не все знают, с чего начать и за что браться в первую очередь. Сегодня давайте посмотрим, как легко и непринужденно запустить свой собственный IoT-проект под Raspberry Pi 2, используя Windows 10 IoT Core и DeviceHive.

Деплоим Windows 10 приложения на Raspberry Pi 2


Для начала давайте установим Windows 10 IoT Core на Raspberry Pi. Для этого нам потребуется Windows 10 IoT Core Dashboard, который можно взять вот здесь. Там же можно при желании скачать отдельно ISO-образ, но особого смысла в этом нет — инструмент сделает это за вас.
Читать дальше

Обзор языка программирования Rust

Reading time10 min
Views104K
Rust — новый экспериментальный язык программирования, разрабатываемый Mozilla. Язык компилируемый и мультипарадигмальный, позиционируется как альтернатива С/С++, что уже само по себе интересно, так как даже претендентов на конкуренцию не так уж и много. Можно вспомнить D Вальтера Брайта или Go от Google.
В Rust поддерживаются функицональное, параллельное, процедурное и объектно-ориентированное программирование, т.е. почти весь спектр реально используемых в прикладном программировании парадигм.

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

Читать дальше →

Raspberry Pi: подробная настройка с нуля до TorrentBox

Reading time7 min
Views351K

Прелюдия


Я давно следил на ХабраХабр за проектом Raspberry Pi и твердо решил заполучить свой мини-компьютер. Когда начался предзаказ, я воспользовался им практически сразу, однако только 17 июня 2012 года мне на Email пришло сообщение от RSComponents.Com о возможности заказа моего экземпляра Raspberry Pi. Итого прошло около месяца с момента предзаказа.

В этот же день я создал заказ (кстати, в то время уже можно было заказать «официально» в Российскую Федерацию) и стал ждать свою «малину». Информационное письмо обещало отгрузку в течение максимум 6 недель, но в этот срок я так и не получил свою плату. Во время звонка в московское представительство RS, менеджер фирма дал понять, что поставки скоро будут, но когда — неизвестно.

17 августа мне на email пришло сообщение от сотрудницы Московского RS, что моя плата доставлена в офис и ее можно забирать (т.к. заказать из RS с доставкой на дом нельзя, потому что DHL не доставляет посылки частным лицам). Собственно говоря, в этот же день я и получил свой компьютер Raspberry Pi!


Читать дальше →

Information

Rating
Does not participate
Location
Минская обл., Беларусь
Date of birth
Registered
Activity

Specialization

Backend Developer, Application Developer
Senior
Git
SQL
OOP
Java
Docker
Spring Boot
Java EE
Intellij IDEA
Hibernate
Java Spring Framework