Многие из тех, кто мастерит разные штуковины на ESP8266, в какой-то момент задумывались, что было бы здорово взять ту штуковину, положить в карман — и пойти с ней погулять. ESP8266 ведь такой маленький, так и просится. И тут на нашем пути встречается небольшое препятствие — одним программированием здесь не обойтись, придётся брать в руки паяльник, но всё не так страшно, и, надеюсь, эта статья вам поможет.
Джеймс Бонд @k0ldbl00d
Слесарь-сантехник
Несколько дельных советов по CSS
4 min
55KCSS Protips
Это современные решения типичных проблем, коллекция советов, которая поможет вам улучшить ваши профессиональные навыки CSS.От переводчика
Приветствую, для вас подготовлен еще один перевод заметок на тему CSS. Мэтт Смит, разработчик из Портленда, поделился CSS-советами и выложил их на GitHub. Мне особенно понравилась его подборка, она структурирована, не особо громоздкая в плане скучных больших текстов и описаний, и в целом будет понятна даже новичку. Я буду рад, если в комментариях мы с вами обсудим каждый пункт и в итоге дадим некоторые заключения. Итак, приступим.Cодержание
- Используем псевдо-класс :not для задания рамки навигации
- Добавляем межстрочный интервал элементу body
- Центрируем по вертикали все что угодно
- Правильно разделяем запятыми элементы списков
- Отрицательный порядковый номер в nth-child
- Используем SVG-логотипы
- Аксиоматический CSS
- Максимальная высота у CSS-слайдера
- Наследуем box-sizing
- Одинаковая ширина ячейки таблицы
- Динамические внешние отступы при помощи flexbox
- Используем селектор атрибутов пустых ссылок
- Стили по умолчанию для обычных ссылок
+16
Параметры Wayfinder
5 min
45KОписание
Служит для организации меню. Позволяет организовать простые,
многоуровневые, а также выпадающие меню.
Благодаря использованию шаблона результат может быть выведен в виде
нумерованных и ненумерованых списков или любом другом.
Рассмотрим параметры, которые есть у Wayfinder. Указанные параметры относятся к первой версии.
+3
Почему SNMP это не очень просто?
17 min
160KTutorial
Давным давно, на Хабре была опубликована статья, рассказывающая о том, как использовать популярную библиотеку, для работы с SNMP из Java-приложения. Поддерживая, в целом, начинание автора, я хочу остановиться на тех сложностях, которые могут возникнуть в реальном проекте, использующем SNMP.
+25
Собственный сервер Git на базе Ubuntu или Debian/GNU Linux
2 min
81KЯ встречал в сети много tutorial'ов по установке своего сервера git как на gitweb, так и на webdav, но, увы, они либо были только по одному из вышеназванных пунктов, не освещая другой, либо банально не работали. Вчера возникла необходимость поднять свой сервер репозиториев. Потратил пару часов — поднял, теперь хочу поделиться опытом, потому что считаю проблему актуальной :)
+33
Arduino & Modbus
6 min
211KВ предыдущей статье мы соединили открытую платформу домашней автоматизации OpenHAB с контроллером Arduino использовав очень простой, текстовый протокол. Но это решение поставит нас в тупик, если мы захотим подключить наш контроллер к другой системе, что же делать?
Modbus — самый известный и распространенный стандарт в промышленной автоматизации, его поддерживают миллионы устройств по всему миру, эти устройства легко интегрируется в единую сеть и стыкуются с огромным количеством готового программного обеспечения. Попробуем использовать его в нашем проекте?
Что нам необходимо знать об этом стандарте?
Протокол Modbus использует последовательные линии связи (например, RS232, RS485), а протокол Modbus TCP рассчитан на передачу данных по сетям TCP/IP.
Протокол Modbus имеет два режима передачи RTU и ASCII, в режиме ASCII каждый байт передается как два ASCII символа его шестнадцатеричного представления.
В сети Modbus есть только один ведущий, который с заданным интервалом опрашивает несколько ведомых устройств, каждое из которых имеет свой уникальный адрес от 1 до 254, адрес 0 широковещательный и на него отвечают все устройства, так как ведущий в сети один у него нет своего адреса.
В спецификации Modbus определено два типа данных, один бит и 16 битное слово. Данные организованны в четыре таблицы с 16 битной адресацией ячеек, адресация в таблицах начинается с 0. Для доступа к данным из разных таблиц предназначены отдельные команды.
Как нам подключить Modbus устройство к OpenHAB?
Modbus — самый известный и распространенный стандарт в промышленной автоматизации, его поддерживают миллионы устройств по всему миру, эти устройства легко интегрируется в единую сеть и стыкуются с огромным количеством готового программного обеспечения. Попробуем использовать его в нашем проекте?
Что нам необходимо знать об этом стандарте?
Протокол Modbus использует последовательные линии связи (например, RS232, RS485), а протокол Modbus TCP рассчитан на передачу данных по сетям TCP/IP.
Протокол Modbus имеет два режима передачи RTU и ASCII, в режиме ASCII каждый байт передается как два ASCII символа его шестнадцатеричного представления.
В сети Modbus есть только один ведущий, который с заданным интервалом опрашивает несколько ведомых устройств, каждое из которых имеет свой уникальный адрес от 1 до 254, адрес 0 широковещательный и на него отвечают все устройства, так как ведущий в сети один у него нет своего адреса.
В спецификации Modbus определено два типа данных, один бит и 16 битное слово. Данные организованны в четыре таблицы с 16 битной адресацией ячеек, адресация в таблицах начинается с 0. Для доступа к данным из разных таблиц предназначены отдельные команды.
Discrete Inputs | 1 бит | только чтение |
Coils | 1 бит | чтение и запись |
Input Registers | 16 бит | только чтение |
Holding Registers | 16 бит | чтение и запись |
Как нам подключить Modbus устройство к OpenHAB?
+19
Кнопок много не бывает
6 min
13KПримерно полгода назад я прочитал статью «Почему стоит использовать препроцессоры». В ней автор описывает преимущества препроцессоров на примере реализации кастомных кнопок. Статья оказалась познавательна и очень интересна. Автор приводил в примеры разные препроцессоры и объяснял почему остановился на Sass. На счет цвета карандашей и вкуса я не вправе спорить, у каждого свои взгляды. Но еще тогда мне показались несправедливыми описания о том, что Less не достаточно мощный. Еще тогда хотелось сделать что-то подобное, воплотить идею автора на других препроцессорных языках (Less, Stylus). На момент прочтения статьи времени что-то сделать свое не было. И вот недавно, в один из выходных, я вспомнил об этой статье и решил реализовать идею автора — только средствами Less. Делать что-то новое я не видел смысла, поэтому решил помочь автору в развитии проекта, сделал форк с его репозитория, проделал необходимую работу и создал pull request.
+3
Проблема «7-го января»
2 min
42KВо время работы над одним из проектов обнаружился довольно интересный баг, который, как потом выяснилось, проявляется не только в «самописных» календарях, но и в популярных open-source библиотеках. Проблема заключается в невозможности выбрать 7 января. В некоторых календарях эта дата просто отсутствует:
Если выбирать 6-е число (которое стоит на месте 7-го), то выбирается… 6-е число.
Баг наблюдается (по предварительным оценкам) под Windows 8.
UPD: Природа проблемы раскрыта здесь. Все дело в RTZ2 после Microsoft Update KB2998527.
UPD2: 0xy: проблема наблюдается не только в Firefox, но и в мобильных версиях различных браузеров. Подробнее (плюс баг-фикс).
Некоторые подробности под катом.
Если выбирать 6-е число (которое стоит на месте 7-го), то выбирается… 6-е число.
Баг наблюдается (по предварительным оценкам) под Windows 8.
UPD: Природа проблемы раскрыта здесь. Все дело в RTZ2 после Microsoft Update KB2998527.
UPD2: 0xy: проблема наблюдается не только в Firefox, но и в мобильных версиях различных браузеров. Подробнее (плюс баг-фикс).
Некоторые подробности под катом.
+25
Методы мониторинга в системах DWDM (Часть 1)
5 min
31KОсновным принципом технологии WDM (Wavelength-division multiplexing, частотное разделение каналов) является возможность передавать в одном оптическом волокне множество сигналов на различных несущих длинах волн. В российском телекоме системы передачи, созданные с помощью технологии WDM, называют «системы уплотнения».
+11
Поддельное BLE-устройство на nRF24l01
4 min
62KДанная статья на 90% основывается на заметке «Bit-Banging» Bluetooth Low Energy. Все началось с того, что потребовалось запустить распространенные сейчас трансиверы на чипе Nordic nRF24l01. В процессе поиска примеров работы с ними я и наткнулся на вышеупомянутую статью. Являясь обладателем телефона с поддержкой Bluetooth 4.0 (который и включает в себя Bluetooth Low Energy), подумал: а почему бы не попытаться повторить эксперимент?
+30
IPv6: Сколько адресов нужно для счастья?
6 min
55KКартинка, которая некоторых привыкших к IPv4 сетевиков может ввести в ступор:
Причём каждый из этих адресов может быть использован наравне с другими. Как так?
R6#sh ipv6 interface brief
FastEthernet0/0 [up/up]
FE80::218:18FF:FE45:F0E2
1::1
1::2
1::3
1::10
1::100:500
2::1
2::2
Причём каждый из этих адресов может быть использован наравне с другими. Как так?
+58
Прозрачная аутентификация в Redmine
3 min
24KСегодняшний пост будет про удобство использования Redmine в корпоративной среде, а если быть точнее, про прозрачную авторизацию пользователей Redmine в домене Microsoft Active Directory.
Мы используем Redmine как единую информационную среду, в которой работают все сотрудники компании. Вводить один и тот же пароль дважды — это всегда неудобно. Поэтому, мы настроили прозрачную аутентификацию через домен.
Мы используем Redmine как единую информационную среду, в которой работают все сотрудники компании. Вводить один и тот же пароль дважды — это всегда неудобно. Поэтому, мы настроили прозрачную аутентификацию через домен.
+13
Установка «Redmine» на «Linux Ubuntu» с прозрачной аутентификацией в домене (Apache, Passenger, RVM, MySQL)
7 min
79KTutorial
Данным постом хотелось бы начать цикл статей о том, как мы адаптировали под свои нужды трекер задач «Redmine».
Около 2-х лет назад мне пришлось достаточно сильно изменить профиль своей деятельности, и от системного администрирования уйти в разработку на фреймворке «Ruby on Rails». Нужно было адаптировать «Redmine» под нужды достаточно большого IT-отдела, а потом и под нужды компании в целом. Тогда, я столкнулся, с относительной не простотой установки «Redmine». И комплексной статьи для новичков очень не хватало!
Есть несколько способов установки ROR-приложения, которым является «Redmine». В данной статье речь пойдет об установки на web-сервер «Apache», с использованием «Passenger» и «RVM». В качестве сервера баз данных, мы до сих пор используем «MySQL» (вернее MariaDB), хотя и подумываем о переезде на «PostgreSQL».
Около 2-х лет назад мне пришлось достаточно сильно изменить профиль своей деятельности, и от системного администрирования уйти в разработку на фреймворке «Ruby on Rails». Нужно было адаптировать «Redmine» под нужды достаточно большого IT-отдела, а потом и под нужды компании в целом. Тогда, я столкнулся, с относительной не простотой установки «Redmine». И комплексной статьи для новичков очень не хватало!
Есть несколько способов установки ROR-приложения, которым является «Redmine». В данной статье речь пойдет об установки на web-сервер «Apache», с использованием «Passenger» и «RVM». В качестве сервера баз данных, мы до сих пор используем «MySQL» (вернее MariaDB), хотя и подумываем о переезде на «PostgreSQL».
+19
Hadoop для сетевых инженеров
7 min
22KApache Hadoop — это набор утилит для построения суперкомпьютера, способного решать задачи, слишком большие для одного сервера. Множество серверов образуют Hadoop-кластер. Каждая машина в кластере носит название узла, или ноды. Если необходимо увеличить производительность системы, то в кластер просто добавляется больше серверов. Ethernet выполняет функции «системной шины» суперкомпьютера. В данной статье будут рассмотрены аспекты дизайна сетевой инфраструктуры, а также архитектура, которую Cisco предлагает использовать для таких систем.
+23
Демо для Sega MegaDrive
1 min
48KВ прошедшие выходные на демопати EVOKE 2013 была выпущена лучшая в истории Sega демонстрация под эту платформу. Реакция в сообществе настолько бурная, что даже если вы слышали о демосцене лишь краем уха — стоит посмотреть!
Overdrive by Titan — Sega MegaDrive demo
По ссылкам на Pouet вы можете дополнительно проникнутся атмосферой показа через две live-записи — оцените реакцию зала! Сама работа наполнена огромным числом референсов к классическим demo на Amiga, PC и C64.
В основе архитектуры Sega MegaDrive лежат два классических процессора: Motorola 68000 (16bit, 7.61 МГц) и Zilog Z80 (8bit, 3.55 МГц). Последний почти ничем не помогает в конкретном демо, так как используется в режиме совместимости с Master System. Основное ОЗУ консоли — 64 кб.
Всем Сега, пацаны!
Overdrive by Titan — Sega MegaDrive demo
По ссылкам на Pouet вы можете дополнительно проникнутся атмосферой показа через две live-записи — оцените реакцию зала! Сама работа наполнена огромным числом референсов к классическим demo на Amiga, PC и C64.
В основе архитектуры Sega MegaDrive лежат два классических процессора: Motorola 68000 (16bit, 7.61 МГц) и Zilog Z80 (8bit, 3.55 МГц). Последний почти ничем не помогает в конкретном демо, так как используется в режиме совместимости с Master System. Основное ОЗУ консоли — 64 кб.
Всем Сега, пацаны!
+62
Интеграция с ВКонтакте на базе Open API
8 min
47KСоциальная сеть ВКонтакте предоставляет широкие возможности для интеграции со сторонними сайтами. В основном эти возможности представлены уже готовыми виджетами. Однако, есть еще и Open API, которое позволяет не только авторизовать пользователя, но и выполнить любой метод, доступный приложениям ВКонтакте (ВКонтакте API).
+69
Воскрешение D-Link DWL-2100AP
4 min
8.4KЯ работаю в мелкой фирме-провайдере, предоставляющей интернет в области, в том числе и в частном секторе. В качестве технологии последней мили выбран Wi-Fi с направленными антеннами и точками доступа на обеих сторонах (в режимах WDS и «клиент»). Энергоснабжение в частном секторе оставляет желать лучшего — напряжение скачет и довольно часто пропадает совсем. Само собой, на оборудовании такие условия сказываются крайне негативно — точки часто выходят из строя, при этом многие из них вываливаются в циклическую перезагрузку из-за возникающих сбоев в прошивке. Таких точек у нас скопилась пара десятков. Начальство решило, что ремонтировать точки в итоге обойдется дороже чем купить новые. Но жаль, когда столько оборудования лежит мертвым грузом, но еще может послужить родине.
+24
Связка Nginx+Apache, как отдавать Apache только запросы к PHP?
2 min
2.2KБыла поставлена задача: сделать отказоустойчивый и производительный веб-сервер. В интернете можно найти большое количество документации по настройке связки Nginx+Apache, всю технологию описывать нет смысла. Идея состоит в том, что легковесный Nginx должен отдавать весь статический контент (картинки, архивы и т.п.), запросы на генерацию динамического контента отдаються тяжеловесному индейцу Apache. Такая связка разгружает сервер и сейчас используется почти повсеместно.
Как же отдавать Apache ТОЛЬКО запросы на PHP, а все остальное обрабатывать NGINX`ом?
Как же отдавать Apache ТОЛЬКО запросы на PHP, а все остальное обрабатывать NGINX`ом?
+1
Пишем скрипт голосового меню для Asterisk
3 min
4.9KВсем привет!
Решил написать небольшую заметку как у нас в компании организовал голосовое меню для Asterisk. Тема наиболее актуально для новичков в IP-телефонии. Так что, товарищи хабравчане, не минусуйте сильно, я же стрался помочь новичкам.
Что нам для этого потребуется: заранее записать 4 приветственных сообщения:
1. Здравствуйте, вы позвонили в компанию Рога и Копыта. Для соединения с сотрудником наберите его внутренний номер или оставайтесь на линии.
2. Секретарь не может вам ответить, но вы можете связаться с интересующим вас отделом. Нажмите 1 — отдел ТС, 2 — 1С-программирования и т.д.
3. К сожалению, сотрудник не может вам ответить. Будет сделана переадресация на его сотовый телефон.
4. К сожалению, сотрудники отдела не можут вам ответить. Вы можете оставить голосовое сообщение руководителю отдела.
Схема выглядит следующим образом[Зараннее прошу прощения за художественную часть :) не силен]
Решил написать небольшую заметку как у нас в компании организовал голосовое меню для Asterisk. Тема наиболее актуально для новичков в IP-телефонии. Так что, товарищи хабравчане, не минусуйте сильно, я же стрался помочь новичкам.
Что нам для этого потребуется: заранее записать 4 приветственных сообщения:
1. Здравствуйте, вы позвонили в компанию Рога и Копыта. Для соединения с сотрудником наберите его внутренний номер или оставайтесь на линии.
2. Секретарь не может вам ответить, но вы можете связаться с интересующим вас отделом. Нажмите 1 — отдел ТС, 2 — 1С-программирования и т.д.
3. К сожалению, сотрудник не может вам ответить. Будет сделана переадресация на его сотовый телефон.
4. К сожалению, сотрудники отдела не можут вам ответить. Вы можете оставить голосовое сообщение руководителю отдела.
Схема выглядит следующим образом[Зараннее прошу прощения за художественную часть :) не силен]
+6
Настройка IPTV на уровне доступа
3 min
14KВо время затянувшегося кризиса провайдеры начинают бороться за каждого пользователя. Сделать это можно несколькими путями: либо уменьшать абонентскую плату, но тут есть определенные пределы, никто же не хочет работать себе в убыток; либо вводить новые услуги.
На настройки одной из них в сетях Ethernet-провайдера и посмотрим.
На настройки одной из них в сетях Ethernet-провайдера и посмотрим.
+7
Information
- Rating
- Does not participate
- Location
- Параньга, Марий Эл, Россия
- Date of birth
- Registered
- Activity