Сегодня мы попробуем создать визуальный компонент для работы с разного рода считывателями, подключаемыми по COM-порту (правильное название интерфейса – RS232). Наша цель — получать последовательность байт, которую отправляет устройство при считывании.
Владимир Волкских @Volkskih
User
Файловый менеджер на PHP, с правами, контролем версий и AJAX-ом
2 min
26KОсобенности файлового менеджера:
— Можно задавать права доступа на файлы и директории. Права двух типов: есть доступ или нет доступа. Файлы хранятся в недоступной для скачивания по прямой ссылке папке. Скачивание файла происходит с предварительной проверкой пользователя и прав доступа на файл. Любой пользователь файлового менеджера может обладать правами администратора, что указывается при добавлении нового или редактировании существующего пользователя. Администратор может видеть все, в том числе «удалённые» файлы.
— Контроль версий каждого файла. После загрузки файла он сохраняется с именем, которое не позволяет перезаписать существующие файлы, а его «оригинальное» имя сохраняется в БД. Данный подход разрешает хранить разные состояния файлов.
— Автоматическое создание превью загружаемых изображений.
— Файл в менеджере можно сделать доступным для скачивания
— GPL, код доступен на github

— Можно задавать права доступа на файлы и директории. Права двух типов: есть доступ или нет доступа. Файлы хранятся в недоступной для скачивания по прямой ссылке папке. Скачивание файла происходит с предварительной проверкой пользователя и прав доступа на файл. Любой пользователь файлового менеджера может обладать правами администратора, что указывается при добавлении нового или редактировании существующего пользователя. Администратор может видеть все, в том числе «удалённые» файлы.
— Контроль версий каждого файла. После загрузки файла он сохраняется с именем, которое не позволяет перезаписать существующие файлы, а его «оригинальное» имя сохраняется в БД. Данный подход разрешает хранить разные состояния файлов.
— Автоматическое создание превью загружаемых изображений.
— Файл в менеджере можно сделать доступным для скачивания
— GPL, код доступен на github

+44
Компактный USB HID Bootloader для ATtiny85
8 min
72K
Представляю вашему вниманию новый компактный Bootloader для AVR Tiny 45/85. Данный автозагрузчик распространяется под лицензией GNU GPL, как того требует лицензия V-USB. Основой для данного автозагрузчика послужил ATtiny85 USB Boot Loader от Embedded Creations и его потомок micronucleus-t85, используемый платами Digispark.
Также как и вышеупомянутые, TinyHID Loader основан на библиотеке V-USB.
Ключевые особенности:
- Работает под ATtiny45 и ATtiny85
- Компактен (2кб с базовыми функциями)
- Расширяем (есть ряд дополнительных функций, включение которых увеличит размер)
- Не треубет драйверов (что особенно важно под новые версии Windows)
- Не работает с AVRdude, использует вместо этого кросплатформенное API на C#
- Умеет обновлять сам себя
+22
Введение в CMake
7 min
602KRecovery Mode

+50
Bitmessage 0.3.5: Что нового?
2 min
29K
Крипто мессенджер Bitmessage продолжает свое активное развитие, новая версия принесла следующие функции:
- Поддержка русского языка
- Полностью анонимные децентрализованные чаты
- Огромное количество баг-фиксов
+30
Метод удаления подсетей из SBL или как мы заспамили Spamhaus
2 min
10KRecovery Mode
Как образуются списки SBL Spamhaus и меньших его братьев, думаю, знают все. Вот и наши подсети попали в SBL Spamhaus. Все подсети. Включая IP почтового сервера.

Как мы решили эту проблему? Добро пожаловать под кат.

Как мы решили эту проблему? Добро пожаловать под кат.
+9
Сервис, помогающий найти на TaoBao «редкие» товары (+ немного халявного Google Translate API)
4 min
24KВсех приветствую! Думаю очень-очень многие знают что такое TaoBao или по крайней мере слышали.
Для тех кто не знает: TaoBao — гигантская китайская торговая площадка, количество товаров на которой измеряется числом, близким к миллиарду. Там можно найти практически любой каприз вашей фантазии, причем довольно дешево. Но есть две проблемы: найти товар (весь сайт TaoBao и все описания на китайском) и доставить его (доставка на TaoBao только по Китаю)
Если вторую проблему легко решают множество посредников, то с первой все несколько сложнее. Если вы хотите найти что-то интересное, необычное или выходящее за рамки «обыденных товаров», то перед вами встанет трудность в виде языкового барьера
Примерно два месяца назад я пытался запустить свой интернет-магазин, ассортимент которого довольно уникален для России. Товары планировалось закупать на TaoBao. Задача поиска товаров и некоторые идеи упрощения этого утомительного процесса воплотились в идею сервиса-помощника. Некоторые рутинные действия можно было автоматизировать, что и было сделано. Что из этого получилось смотрите под катом.
Для тех кто не знает: TaoBao — гигантская китайская торговая площадка, количество товаров на которой измеряется числом, близким к миллиарду. Там можно найти практически любой каприз вашей фантазии, причем довольно дешево. Но есть две проблемы: найти товар (весь сайт TaoBao и все описания на китайском) и доставить его (доставка на TaoBao только по Китаю)
Если вторую проблему легко решают множество посредников, то с первой все несколько сложнее. Если вы хотите найти что-то интересное, необычное или выходящее за рамки «обыденных товаров», то перед вами встанет трудность в виде языкового барьера
Примерно два месяца назад я пытался запустить свой интернет-магазин, ассортимент которого довольно уникален для России. Товары планировалось закупать на TaoBao. Задача поиска товаров и некоторые идеи упрощения этого утомительного процесса воплотились в идею сервиса-помощника. Некоторые рутинные действия можно было автоматизировать, что и было сделано. Что из этого получилось смотрите под катом.
+20
Arduino watchdog или автоматический RESET в случае зависания
7 min
248KTutorial

Речь пойдет о том, как держать Arduino всегда в работоспособном состоянии. Механизм watchdog встроен в контроллеры Atmega, но, к сожалению, не всякий загрузчик (bootloader) Arduino правильно обрабатывает эту функцию. Попробуем разобраться с этой проблемой.
Итак, что такое watchdog? Простыми словами — это встроенный таймер на определенное время (до 8 сек в зависимости от чипа), который можно запустить программно. Как только таймер «дотикает» до нуля, контроллер подает правильный сигнал сброса (RESET) и всё устройство уходит в hard перезагрузку. Самое главное, что этот таймер можно сбрасывать в начальное состояние также программным способом.
- Правильный сигнал сброса — достаточный по длительности для того, чтобы контроллер начал перегружаться. Иногда есть соблазн подключить к RST входу какой-либо цифровой выход Arduino и устанавливать его в 0 когда надо перегрузиться. Это плохой подход к решению проблемы, т.к. такого сигнала может быть недостаточно по времени, хотя и не исключено, что в некоторых случаях это тоже будет работать..
- hard перезагрузка это самая настоящая перезагрузка, которая происходит при нажатии на кнопку RESET. Дело в том, что есть еще понятие soft перезагрузки — это программный переход на 0-вой адрес. В принципе, это тоже полезная вещь, но с помощью нее невозможно перегрузить зависший контроллер Ethernet или взглюкнувший LCD.
Короче говоря, встроенный watchdog это как раз то, что нужно и без дополнительных схем, пайки и соединений.
+26
Недорогая альтернатива Arduino. Дадим шанс?
3 min
111K
TI LaunchPad MSP-EXP430G2
Что это?
Недавно мне довелось наткнуться на отладочную плату TI LauchPad MSP-EXP430G2. Похоже, что плата достаточно активно позиционируется как альтернатива другим МК такого же уровня как Arduino.
+23
Мало выводов? Используем RESET
4 min
32K
Чтобы сэкономить порт, разработчики прибегают к невероятным ухищрениям. Например, на одном форуме мне встретился способ управления сдвиговым регистром по одному порту (данные и тактовый импульс) через RC-цепочку. Некоторые такие способы приводят к снижению надежности работы устройства и ухудшению его повторяемости (зависят от параметров конкретного экземпляра микросхемы), поэтому прибегать к ним следует с осторожностью, проанализировав все «за» и «против».
Однако есть способ найти «лишний» порт, который прост, работает стабильно и может быть применен во многих случаях. Это — использование вывода RESET.
+63
Как масштабировать Meteor
4 min
7.6KTutorial
Translation
От переводчика: MeteorJS — открытый (MIT) фулстек JavaScript фреймворк (и клиент и сервер). Текущая версия 0.7.0 — в начале 2014 планируется выход версии 1.0. Публикации на хабре: 1, 2, 3.
Диаграмма компонентов:

Здесь три сервера Метеор, один MongoDb-сервер и HaProxy-сервер, как балансировщик нагрузки. Для поддержки SSL поставим Stud перед HaProxy.
Давайте обсудим компоненты и их настройку.
Подготовка к масштабированию
Диаграмма компонентов:

Здесь три сервера Метеор, один MongoDb-сервер и HaProxy-сервер, как балансировщик нагрузки. Для поддержки SSL поставим Stud перед HaProxy.
Давайте обсудим компоненты и их настройку.
+18
Открытый Терминальный Клиент — первый шаг
6 min
35KЭто первая моя статья на Хабр. Спасибо Хабру за предоставление этой возможности нашей компании.
Мы делаем конечное устройство — ультратонкий клиент — терминальный клиент для «всех» (RDP, VMWare, S.P.I.C.E. и другие) терминальных систем. «Всех» в кавычках потому что это пока не реализовано, но пути есть.
Сейчас готов прототип — плата DS-109 (размером 100мм*100мм) — CPU 1 ГГц, RAM 1 ГБ, NAND 4Гб,…

Закончено производство платы DS-110, характеристики платы opensourceclient.org/faq/specifications-ds-110
Ниже я кратко расскажу о пути, который привел нас под предводительством меня к нынешнему состоянию дел.
Мы делаем конечное устройство — ультратонкий клиент — терминальный клиент для «всех» (RDP, VMWare, S.P.I.C.E. и другие) терминальных систем. «Всех» в кавычках потому что это пока не реализовано, но пути есть.
Сейчас готов прототип — плата DS-109 (размером 100мм*100мм) — CPU 1 ГГц, RAM 1 ГБ, NAND 4Гб,…

Закончено производство платы DS-110, характеристики платы opensourceclient.org/faq/specifications-ds-110
Ниже я кратко расскажу о пути, который привел нас под предводительством меня к нынешнему состоянию дел.
+35
USB для AVR. Введение
4 min
89KРечь пойдет об популярном интерфейсе USB, а именно как заюзать этот самый USB на простых микроконтроллерах AVR. Планирую написать несколько топиков с примерами кода и разъяснениями как со стороны микроконтроллера, так и со стороны компьютера. Конечно на просторах интернета полно всяческих примеров на данную тематику, но в лучшем случае это исходник в котором сам черт ногу сломит, да краткое, на страничку, его описание.
Начну с того, что ранее широко распространенные интерфейсы как COM, LPT, MIDI в настоящее время морально устарели, но ещё нередко присутствует на современных компьютерах и используется в промышленном и узкоспециализированном оборудовании. Так что для связи какой нибудь собственной железки с компьютером давно уже пора осваивать что-то другое. Как вариант ещё можно использовать всякие конверторы/переходники/эмуляторы, но они не всегда работают как оригинальный интерфейс, порождая массу проблем.
Всё хватит пустой болтовни, приступим к делу. Как использовать USB в собственных устройствах?
+23
Индустриальная революция. Часть 2. Атомы – новые биты
3 min
18KПродолжение захватывающей статьи из американского журнала Wired «In the Next Industrial Revolution, Atoms Are the New Bits» (в прошлый раз я рассказал о Rally Fighter – автомобиле, созданным «толпой»).
Коренные преобразования в любой индустрии происходят тогда, когда контроль над отраслью переходит от компаний, кланов, правительств, к рядовому человеку. Интернет сделал доступным широким массам издательское дело, телевидение и связь, что привело к радикальному увеличению участников в цифровом мире – длинной цепочке битов (the long tail of bits).
Теперь то же самое происходит и с производством – длинная цепочка вещей (the long tail of things).

Коренные преобразования в любой индустрии происходят тогда, когда контроль над отраслью переходит от компаний, кланов, правительств, к рядовому человеку. Интернет сделал доступным широким массам издательское дело, телевидение и связь, что привело к радикальному увеличению участников в цифровом мире – длинной цепочке битов (the long tail of bits).
Теперь то же самое происходит и с производством – длинная цепочка вещей (the long tail of things).

+27
TOP-50 достойных сайтов на LiveStreet
1 min
17KПредставляем подборку 50-ти достойных проектов на базе блого-социального движка LiveStreet.
Основные критерии отбора — оформление и функционал. Данный TOP не претендует на стопроцентную полноту и объективность, его цель — показать, что на LS можно построить достаточно уникальные и качественные проекты.

Все картинки кликабельны — открывается оригинал в PNG
Основные критерии отбора — оформление и функционал. Данный TOP не претендует на стопроцентную полноту и объективность, его цель — показать, что на LS можно построить достаточно уникальные и качественные проекты.

Все картинки кликабельны — открывается оригинал в PNG
+52
LiveStreet движок аля Хабра
2 min
12KДобрый день.
Сегодня вышла в свет первая публичная версия моего движка блого-социальных сетей LiveStreet.
Движка, который попытался приблизиться к функциональности Хабра, и я думаю, у него это получилось.
Сегодня вышла в свет первая публичная версия моего движка блого-социальных сетей LiveStreet.
Движка, который попытался приблизиться к функциональности Хабра, и я думаю, у него это получилось.
+118
Как мы пытаемся продать PVS-Studio в Google или очередные ошибки в Chromium
14 min
53K
Когда мы пишем статьи про проверки каких-либо проектов с помощью PVS-Studio, то, как правило, у нас прибавляется клиентов. Тут все честно. Программисты не любят рекламу, но охотно отзываются на интересные материалы, которые легко проверить. Поэтому мы не рекламируем свой инструмент, а просто показываем, что он умеет. Однако, хотя мы проверили код Chromium уже три раза и трижды находили в нем ошибки, ордера с почтой в google.com в моей почте до сих пор нет. Поскольку мне интересно, что я делаю не так, и почему Google пока не использует PVS-Studio, я решил написать очередную статью.
Эта статья состоит из двух частей. В первой рассказывается об инфраструктуре проекта Chromium и нюансах интеграции, во второй приведены очередные найденные ошибки.
Кстати эта статья опубликована и на английском языке. Если захотите переслать ее англоязычным коллегам – пожалуйста, дайте им ссылку вот на это.
Хотите узнать, почему разрабатывать Chromium сложно и далеко не каждый инструмент для программистов может быть использован в проекте Chromium? Тогда читаем…
+260
ZigBee. Совместимость устройств, профили приложений, кластеры, конечные точки, привязки
4 min
20K
Основное назначение сетей ZigBee – связь между устройствами в автоматизированных системах. Области применения сетей ZigBee – самые различные. Типы и назначение связываемых устройств – также весьма разнообразны. Связь может устанавливаться между выключателем и светильником в «умном доме», приборами учета и сервером сетевой обслуживающей компании, датчиком движения и пультом охраны. Возможно, просматривая этот топик, Вы, сами того не подозревая, пользуетесь сетью ZigBee – многие беспроводные мыши с USB адаптером 2,4 ГГц соответствуют ZigBee RF4CE specification.
В этом топике речь пойдет о регламентированных спецификацией ZigBee механизмах, обеспечивающих совместимость и взаимодействие устройств автоматики (приложений) через сеть ZigBee.
О построении и работе сетей ZigBee я писал в предыдущих топиках (можно посмотреть также здесь).
+3
Представлен новый стандарт IEEE 802.22
2 min
6.9K
Главное отличие этого стандарта от предыдущих, например, 802.11, в «дальнобойности». Сигнал единственной передающей станции, без всяких там усилителей и репитеров, можно будет поймать на расстоянии до 100 километров. Впечатляюще, правда? Новый стандарт был представлен международной ассоциацией специалистов в области техники IEEE (Institute of Electrical and Electronics Engineers). Возможно, стандарт 802.22 заменит то, что есть у нас сейчас — 802.11 a/b/g/n.
+54
Tor предлагают встроить в браузер Firefox как стандартную опцию
2 min
70K
Это довольно смелое предложение. Сеть анонимайзеров Tor до недавнего времени считалась в каком-то смысле экзотической технологией, которую используют только хакеры и диссиденты. Всё изменилось в последние месяцы, после истории с тотальной прослушкой интернет-трафика со стороны АНБ и других спецслужб. В нынешних условиях криптография и анонимайзер нужны каждому человеку, который хочет гарантировать конфиденциальность своих коммуникаций.
Если будет реализована инициатива по внедрению Tor в браузер Firefox, то «луковичный» анонимайзер станет стандартным средством для сёрфинга по Сети.
+94
Information
- Rating
- Does not participate
- Location
- Тверь, Тверская обл., Россия
- Registered
- Activity