Pull to refresh
0
0
Igor Venzhyk @sven47

User

Send message

Zyxel Keenetic 4G, arduino и датчики температуры ds18b20

Reading time6 min
Views65K
image Привет Хабрахабр! Хочу поделится с вами как я подключил Arduino к своему роутеру. Поехали!
Современные роутеры — как небольшие компьютеры, которые выполняют узкоспециализированную задачу для раздачи сетевого трафика. На борту такого небольшого устройства установлена ОС Linux, только без графического интерфейса и с урезанной программной частью. Передо мной встал вопрос, а почему бы не подключить arduino к своему роутеру — Zyxel Keenetic 4G? Немного погуглив я наткнулся на замечательный форум, где одним из участников была сделана модифицированная прошивка с поддержкой установки дополнительных пакетов для Keenetic 4G.
В нашем случае управление Arduino происходит через библиотеку php_serial.class.php и легкого веб сервера на основе Lighttpd + php. С помощью этих инструментов будем подавать команды ардуинке на чтение показаний с двух температурных датчиков (дом, улица), записывать ответ в базу данных Sqlite3 и выводить на нашу веб-страничку.
Читать дальше →
Total votes 38: ↑34 and ↓4+30
Comments31

Открытая система управления “умным домом” MajorDoMo

Reading time7 min
Views75K
В этой статье я расскажу об одном проекте, которым занимаюсь уже довольно продолжительное время и который с некоторых пор доступен широкой публике. Речь идёт о системе управления “умным домом” MajorDoMo (Major Domestic Module), являющейся центральным блоком комплекса программно-аппаратных решений, которые я, в силу своих скромных возможностей, внедряю в своём домашнем хозяйстве.

image

Но обо всём по порядку…

Читать дальше →
Total votes 120: ↑117 and ↓3+114
Comments58

+10 к интеллекту

Reading time9 min
Views165K
MM_mindmap_title

Так или иначе, практически каждый из нас использовал в своей жизни технику интеллект–карт или Mind Mapping. Это всего лишь простая радиальная схема, но с правильным подходом ее можно превратить в мощный инструмент аналитики и синтеза информации, который всегда под рукой и достаточно прост в использовании. И что самое интересное, освоение техники настолько естественно для нашего мозга, что занимает всего лишь несколько минут…
Читать дальше →
Total votes 90: ↑75 and ↓15+60
Comments49

«Паскалевская графика на HTML5» или «Что Opera сделала с Rainbow Dash»

Reading time1 min
Views10K
Увидел на тематическом сайте, посвящённом сериалу My Little Pony код на Turbo Pascal, использующий старинный модуль Graph и рисующий нескольких персонажей.

Код содержал только вызовы функций и комментарии, javascript отлично его парсил. Осталось только дописать свои графические функции.

Финальная версия
Читать дальше →
Total votes 115: ↑92 and ↓23+69
Comments114

Библиотека расчёта периодов времени для платформы .NET

Reading time2 min
Views1.6K
Вступление
В процессе написания программного обеспечения для другого проекта, я столкнулся с необходимостью работы с расчётами периодов времени. Эти расчёты были важной частью решения, соответственно требования к корректности и аккуратности результатов были высоки.

Необходимая функциональность затрагивала следующие области:

1. Поддержку индивидуальных периодов времени
2. Работу с календарём периодов внутри календарного года
3. Работу с календарём периодов, выходящим за рамки календарного года (фискальный год или школьный учебный год)

Такие расчёты должны были быть доступны как для серверных компонент (веб-сервисы и задачи), так и для «толстых» клиентов (Silverlight).

Анализ ситуации привёл меня к выводу, что ни компоненты .NET Framework (чего я не ожидал), ни другие доступные инструменты не соответствуют всем моим требованиям. А поскольку я уже сталкивался с подобными проблемами в прежних проектах, то и решил разработать для этих целей библиотеку.

Несколько циклов разработки привели к созданию библиотеки Time Period, доступной ныне для таких сред исполнения:

1. .NET Framework версии 2 и выше
2. .NET Framework для Silverlight с версии 4
3. .NET Framework для Windows Phone с версии 7

С целью демонстрации части функциональности библиотеки, я сделал приложение на Silverlight, назвал его Calendar Period Collector и разместил по адресу http://www.cpc.itenso.com/. Приложение демонстрирует поиск календарных периодов.
Читать дальше →
Total votes 21: ↑15 and ↓6+9
Comments4

Raspberry Pi, сигнализация и умный дом

Reading time7 min
Views117K

Началось все года 4 назад когда во время рабочего дня у меня обчистили квартиру. Попасть домой через дверь после этого уже не удалось из-за поврежденного замка. Неприятное событие заставило задуматься о безопасности жилища. И это лишь одна из причин для мониторинга и автоматизации квартиры. Как часто прийдя на работу (а то и уезжая или улетая куда-либо) вы сомневались выключили ли перед уходом утюг, закрыли ли газ, воду ;-) Подбавим масла в огонь админам — спокойны ли вы что ваш старый БП в работающем системнике дома не чадит и не пылает!?) И что удаленно делать с девайсом, который «наглухо завис».

В этом посте я рассмотрю некоторые существующие на рынке решения, розничную стоимость доступного аппаратного обеспечения и способ как создать сигнализацию квартиры и некоторые из функций «умного дома» используя одноплатный компьютер Raspberry Pi
Читать дальше →
Total votes 45: ↑38 and ↓7+31
Comments107

Создание конечного автомата для разбора HTTP запроса

Reading time3 min
Views9K
Детерминированный конечный автомат можно использовать для реализации очень быстрого способа разбора входной последовательности. Требуется всего один проход по входной последовательности, и минимальные действия на каждом шаге. К сожалению эта модель имеет ограничения — не всегда возможно построить ДКА, для имеющегося Недетерминированного конечного автомата (регулярного выражения, грамматики). Или даже если возможно построить, автомат может иметь слишком большое число состояний.

Тем не менее я решил попробовать создать парсер для HTTP запроса на основе ДКА. Основная задача не просто проверить корректность HTTP запроса, а именно выделить во входной строке элементы соответствующие определенным значениям полей HTTP запроса. Автомат должен генерироваться из BNF правил (разбросанных по) RFC2616. Реализовано все на C#, автомат на выходе тоже на C#. Хотя понятно что когда автомат готов, сгенерировать его на любом языке, в любом виде не проблема.
Читать дальше →
Total votes 31: ↑23 and ↓8+15
Comments12

Android. Обзор боевых приложений

Reading time2 min
Views320K
Доброго времени суток!

Наряду со статьей "iPhone: MiTM атака из кармана", родилась почти аналогичная статья про Android.

Мы уже знаем, на что способен iPhone. Уступает ли ему Android?

Было рассмотрено около 25 боевых приложений. Хочу предоставить вам результат маленького исследования. Многие приложения даже не запустились, некоторые подвесили телефон намертво, но некоторые даже работали!

Весь софт тестировался на телефоне LG Optimus, с версией Android 2.3.

Итак, краткий обзор боевого софта на Android:

Читать дальше →
Total votes 255: ↑238 and ↓17+221
Comments49

Радиообследование (Site Survey) зоны покрытия сети Wi-Fi

Reading time6 min
Views25K
Проект беспроводной сети Wi-Fi всегда должен включать в себя радиообследование объекта на стадии проектных работ и до начала инсталляции оборудования. Это единственная действительно реальная возможность, при правильном проведении, получить достаточно оснований для создания работоспособного решения беспроводной сети с предсказуемыми характеристиками.

В беспроводных системах очень сложно предсказать распространение радиоволн и определить наличие интерференции без использования тестового оборудования. Даже если вы используете всенаправленные омни-антенны в действительности радиоволны не распространяются на одинаковое расстояние во всех направлениях. Вместо этого различные препятствия, как например стены, двери, лифтовые шахты, люди и т.п. вводят различный уровень затухания сигнала, что является причиной того, что диаграмма направленности радио становится неоднозначной и непредсказуемой. В результате часто необходимо выполнять радиообследование зоны покрытия Wi-Fi-сети (Site Survey) для полноценного понимания поведения и распространения радиосигналов до начала развертывания Точек Доступа беспроводной сети.
Основная цель радиообследования (Site Survey) это получение достаточного объема информации, чтобы определить количество и позиции Точек Доступа для предоставления требуемого покрытия внутри всей целевой зоны. В большинстве случаев требуемое покрытие определяется обеспечением минимальной скорости передачи данных (data rate). Радиообследование также определяет присутствие интерференции идущей от других источников, которая может снизить производительность WLAN.

Требования и сложность радиообследования объекта будут варьироваться в зависимости от самого объекта и его характеристик. Например
Читать дальше →
Total votes 8: ↑4 and ↓40
Comments5

Перехват сессий в беспроводных сетях

Reading time1 min
Views61K
На хабре уже была статья о Перехвате аккаунтов пользователей в Wi-Fi-сетях с Android используя утилитку DroidSheep (небольшой русский howto для ленивых).

Используя эту программу, я столкнулся с вопросом: как бы мне сохранить перехваченные сессии? DroidSheep позволяет отправлять на почту перехваченные сессии. Но это очень неудобно для меня. Я бы хотел сохранять сессии в привычном для меня pcap формате для дальнейшего анализа на стационарном компьютере через WireShark (или через его аналог на андроиде SharkReader ).

Фактически, задачу можно переформулировать: нам нужен arp-spoofing с возможностью логирования всех перехваченных пакетов в формат pcap. Предлагаемый вариант не претендует на оптимизированный в каком-либо виде. Но вполне работоспособен.

Мой вариант под катом
Total votes 51: ↑34 and ↓17+17
Comments10

Простой индикатор раскладки клавиатуры в курсоре на С++

Reading time2 min
Views37K
Тема отображения текущей раскладки беспокоила хабрасообщество уже не раз. Я опробовал множество существующих решений, но по разным причинам они меня не устроили. Чтобы подобрать для себя наиболее удобный вариант отображения текущей раскладки, я написал небольшое приложение на C++, которое при нажатии на левый Shift отображает язык в системном курсоре редактирования текста. Менее 100 строк кода и около 4 килобайт в скомпилированном виде — на основе этого вы можете достаточно просто реализовать свой взгляд на то, как на самом деле должна выглядеть индикация текущей раскладки.
Читать дальше →
Total votes 82: ↑76 and ↓6+70
Comments74

Прямая трансляция Secure Software Development Conference

Reading time1 min
Views2K
Привет, Хабр!

Если вы задаетесь вопросом, какое отношение Microsoft имеет к безопасности, вам стоит присоединиться к онлайн трансляции первой конференции по безопасности Secure Software Development Conference под катом.

Ваши сомнения развеют лучшие эксперты Microsoft в области безопасности: Алекс Лукас, Гленн Питтавей, Андрей Бешков, Владимир Юнев и многие другие. Речь пойдет о внедрении процессов, обеспечивающих целостность и технологиях создания безопасных приложений. Особое внимание будет уделено циклу безопасной разработки SDL.

Читать дальше →
Total votes 21: ↑15 and ↓6+9
Comments4

SqlBulkCopy — безбашенная загрузка больших данных или как оседлать дикую лошадь (C#)

Reading time8 min
Views43K

SqlBulkCopy — это эффективное решение для массовой загрузки данных в таблицы Microsoft SQL Server. Источник данных может быть любой, будь то xml-файл, csv-файл или другая СУБД, например MySQL. Достаточно получить из источника данные в виде объекта DataTable или реализовать интерфейс IDataReader поверх методов доступа к данным.

Вам не придется создавать файлы на диске для дальнейшей их загрузки с помощью утилиты BCP, вам не придется писать код для генерации множественных INSERT запросов. При загрузке данных SqlBulkCopy работает на более низком уровне, позволяя вставлять миллионы записей за максимально короткий срок.
Читать дальше →
Total votes 40: ↑32 and ↓8+24
Comments8

Новый курс по веб-разработке для начинающих на русском MSDN

Reading time2 min
Views33K


На русском MSDN опубликован обновленный курс по веб-разработке для начинающих c помощью ASP.NET и бесплатной среды разработки WebMatrix. Новый курс состоит из 16 статей на русском языке, которые дадут достаточно знаний для создания своих первых сайтов и получения навыков веб-разработки.

Содержание курса:
Кроме того, для PHP и ASP.NET разработчиков на русском MSDN опубликованы дополнительные материалы по профессиональному использованию WebMatrix в том числе для работы с популярными CMS:
Читать дальше →
Total votes 51: ↑38 and ↓13+25
Comments19

Учебный курс. Работа с параллелизмом с Entity Framework в приложении ASP.NET MVC

Reading time12 min
Views12K
Это заключительная часть цикла статей, посвященного разработке с помощью Entity Framework и ASP.NET MVC 3. Первые главы вы можете найти по следующим ссылкам:
В предыдущих уроках вы работали со связанными данными. В этом уроке мы рассмотрим вопросы одновременного доступа. Вы создадите страницы, работающие с сущностью Department, и страницы для редактирования и удаления сущностей Department будут также обрабатывать ошибки параллелизма. Результаты работы изображены на иллюстрациях.

clip_image001
Читать дальше →
Total votes 26: ↑20 and ↓6+14
Comments4

Топ-5 самых впечатляющих книг, которые должен прочесть каждый разработчик ПО

Reading time3 min
Views380K
Не так давно промелькнула ссылка на достаточно свежее (осень 2011) англоязычное голосование со скромным названием "самая впечатляющая книга, которую должен прочесть каждый разработчик программного обеспечения" и описанием:

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

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

Однако в данном небольшом посте я возьму на себя смелость перечислить ТОП-5 тех самых книг, победивших в голосовании, переведенных на русский язык. И дать небольшие комментарии, ведь книги действительно этого достойны. Да, лично я бы поменял некоторые места, однако положимся на «мнение зала» ресурса Stack Overflow.
Читать дальше →
Total votes 236: ↑219 and ↓17+202
Comments182

Тюнинг производительности для ASP.NET. Часть 1

Reading time3 min
Views6.5K
Untitled-1В первой части уловок с производительностью для ASP.NET и IIS7 мы рассмотрим некоторые простые, но тем не менее мощные возможности web.config файла. Используя некоторые трюки мы увеличим производительность любого нового или существующего веб-сайта, не изменяя ничего, кроме web.config файла.
Читать дальше →
Total votes 22: ↑12 and ↓10+2
Comments4

С чего начать изучение Windows Installer?

Reading time7 min
Views54K
Installer pic Технология Windows Installer (MSI) является стандартом де-факто в мире системных администраторов, занимающихся распространением и поддержкой программного обеспечения для десктопных и серверных версий Windows. Формат MSI поддерживается всеми крупнейшими системами управления конфигурациями (Microsoft SCCM, CA Unicenter и многими другими), а для некоторых систем распространения ПО — является единственным поддерживаемым форматом.
Мой опыт работы с этой технологией — как теоретический, так и практический — приобретен за время работы в компании «Инфопульс Украина» и связан с созданием MSI-пакетов и подготовкой готовых MSI-пакетов к автоматической установке в корпоративной среде.
Читать дальше →
Total votes 79: ↑67 and ↓12+55
Comments12

Шаблоны проектирования в автоматном программировании

Reading time6 min
Views17K

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

В статье рассматриваются особенности применения шаблонов Visitor/Double Dispatch и State при реализации системы на основе конечного автомата. Кроме того, статью можно рассматривать как продолжение цикла публикаций о шаблонах проектирования на Хабрахабре.

Читать дальше →
Total votes 31: ↑26 and ↓5+21
Comments12

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Date of birth
Registered
Activity