Pull to refresh
-7
0.1

Пользователь

Send message

Пишем прошивку под TI cc2530 на Z-Stack 3.0 для Zigbee реле Sonoff BASICZBR3 с датчиком ds18b20

Reading time22 min
Views57K


Предполагается, что читатель уже имеет начальные знания языка C, что-то знает о Zigbee, чипе cc2530, методах его прошивания и использования, а также знаком с такими проектами, как zigbee2mqtt. Если нет — подготовьтесь или сходите почитать на https://myzigbee.ru и https://www.zigbee2mqtt.io/
Статья написана сперва подробно, но постепенно ускоряется и уже не останавливается на деталях, а описывает готовый код прошивки. Если кому-то не интересны рассуждения, то просто открывайте исходники прошивки и читайте их.

Исходный код готовой прошивки

Код и подход к разработке не претендует на идеальность. “Я не волшебник, я только учусь.”

Цель


Основная цель — разобраться, как писать прошивки под Z-Stack, давно хотел. Поэтому решил реализовать альтернативную прошивку под готовое оборудование (в качестве примера выбрано реле Sonoff BASICZBR3) и добавить возможность подключения популярного датчика температуры ds18b20.

Дополнительно хотел показать начинающим Zigbee-разработчикам пример разработки прошивки под чип TI cc2530 на Z-Stack.
Читать дальше →
Total votes 33: ↑33 and ↓0+33
Comments21

Calico для сети в Kubernetes: знакомство и немного из опыта

Reading time9 min
Views54K


Цель статьи — познакомить читателя с основами сетевого взаимодействия и управлением сетевыми политиками в Kubernetes, а также со сторонним плагином Calico, расширяющим стандартные возможности. Попутно будут продемонстрированы удобство конфигурации и некоторые фичи на реальных примерах из опыта нашей эксплуатации.
Читать дальше →
Total votes 38: ↑38 and ↓0+38
Comments0

Генератор админок

Reading time14 min
Views21K

Кратко суть проблемы: нужно было много админок, написал генератор админок.


Как работает:


  • описали сущности в JSON;
  • сгенерировали схему БД (PostgreSQL);
  • сгенерировали процедуры для БД;
  • сгенерировали сервер (NodeJS или PHP);
  • сгенерировали админку (HTML файл);
  • накатили, задеплоили, скопировали все это;
  • можно приступать к работе;

Содержание:


  • как дошёл до этого;
  • почему не взял готовое решение;
  • что получилось;
  • что НЕ получилось;
  • как оно работает;
  • про UX;
Читать дальше →
Total votes 41: ↑39 and ↓2+37
Comments13

Подборка русских и зарубежных фантастических книг за год

Reading time5 min
Views81K


Почти два года назад мы делали подборку любопытных фантастических книг, вышедших в 2014 году. И в начале этого года мы решили поддержать это начинание — предлагаем вам одни из самых интересных, по мнению читателей, фантастических произведений, вышедших в 2016-м (как на русском, так и на английском).
Читать дальше →
Total votes 28: ↑24 and ↓4+20
Comments122

Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю №176 (7 — 13 сентября 2015)

Reading time6 min
Views37K
Предлагаем вашему вниманию подборку с ссылками на полезные ресурсы, интересные материалы и IT-новости


Читать дальше →
Total votes 35: ↑28 and ↓7+21
Comments6

Многозадачность в ядре Linux: workqueue

Reading time7 min
Views36K
Продолжаем тему многопоточности в ядре Linux. В прошлый раз я рассказывала про прерывания, их обработку и tasklet’ы, и так как изначально предполагалось, что это будет одна статья, в своем рассказе о workqueue я буду ссылаться на tasklet’ы, считая, что читатель уже с ними знаком.
Как и в прошлый раз, я постараюсь сделать мой рассказ максимально подробным и детальным.

Статьи цикла:
  1. Многозадачность в ядре Linux: прерывания и tasklet’ы
  2. Многозадачность в ядре Linux: workqueue
  3. Protothread и кооперативная многозадачность


Читать дальше →
Total votes 68: ↑68 and ↓0+68
Comments4

Безопасность Виртуализации. Часть 2

Reading time16 min
Views18K
Продолжение перевода статьи «Virtualization Security» за авторством Terry Komperda.

Безопасность Виртуализации. Часть 1

7. РЕКОМЕНДАЦИИ И ОПТИМАЛЬНЫЕ МЕТОДЫ ПО БЕЗОПАСНОЙ ВИРТУАЛИЗАЦИИ

7.1 Доступ Администратора и Разделение Обязанностей
  • Предоставьте администраторам серверов права на включение/выключение только своего сервера.
  • Возможно вы захотите дать администраторам права на развертывание новых ВМ, а не на редактирование уже существующих виртуальных машин. Другие администраторы, в свою очередь, будут иметь права только на изменение уже существующих ВМ, а не на создание новых.
  • Отдельная аутентификация должна присутствовать для каждой гостевой ОС, если только нет веских оснований, чтобы два или более гостей могли использовать одни и те же данные.
  • Это может показаться противоречащим общей мысли, но чем больше среда, тем проще разделять права по функциям. Один администратор не может одновременно управлять и хранением, и доменами, и виртуализированной инфраструктурой и сетями.

Читать дальше →
Total votes 6: ↑3 and ↓30
Comments3

Отечественные SOHO устройства, реально ли?

Reading time3 min
Views1.8K
SOHO
Сталкиваясь порой с косорукостью тайваньских производителей SOHO устройств различной направленности, будь-то роутеры или принт-серверы, возникает один закономерный вопрос? Доколе производители потребительских устройств будут перекладывать ответственность за промахи в своей продукции с себя на пользователя? Я думаю, вы не раз сталкивались с тем, что в вашем домашнем роутере почему-то не работает обещанный VPN, а DHCP он получает по счастливой случайности.

Более того, модифицированные версии прошивок для устройств от Open Source комьюнити зачастую стабильнее и функциональнее заводских собратьев. За примерами далеко ходить не надо, это и DD-WRT, и OpenWRT и множество других примеров.
Читать дальше →
Total votes 77: ↑71 and ↓6+65
Comments174

Настройка Wifi AP на примере Ubuntu

Reading time2 min
Views75K
Этот топик является продолжением Настройка Wifi в Linux при помощи Adhoc на примере Ubuntu. Я не буду описывать настройку раздачи интернета и dhcp т.к. это есть в предыдущем типике. Как и прошлая статья, эта будет нацелена на новичка. Благодаря покупке HTC Hero, я был вынужден настроить WIFI на режим AP, ибо оказалось, что Hero Adhoc изначально не поддерживает.(Кстати HTC Hero подключился, но интеренет не работает надеюсь в новой прошивке это решится)
К сожалению в моем Dlink DWA-110 нет AP, зато есть SoftAP. Его то мы и настроим.
Приступим
Total votes 15: ↑10 and ↓5+5
Comments14

URL.js или дружим JavaScript с обработкой ссылок

Reading time8 min
Views50K
image

Доброго времени суток, уважаемые хабравчане!

Возникла передо мной сегодня задача генерации GET-параметров и всего URL в целом, на стороне клиента, прям вот щас, без возможности «поговорить» с сервером. Сразу оговорюсь, про этот пост я узнал вот прям перед написанием данной статьи ибо сначала закончил писать, а потом уже прибег к поиску, да и пост тот — не со всем про то же самое, что у меня.

Итак, к делу.

Задача и проблемы


Проблемы — те же что и в посте, который я привел выше:
  • Невозможность использовать window.location для «приготовления» URL;
  • Нельзя работать сразу с несколькими window.location в силу политики безопасности браузеров;
  • Отсутствие известных готовых решений ( да и сейчас, уже апосля, я не нашел подобного кода )

Задачи которые я поставил перед собой:
  • Удобный синтаксис
  • Возможность как читать части URL так и изменять их
  • Работа с GET-параметрами
  • Кроссбраузерность и универсальность


Писал я на чистейшем JavaScript, причем без использования prototype.__defineGetter__ или prototype.__defineSetter__ в угоду кроссбраузерности ибо IE < 9 такого не умеет. Более подробно про getters/setters написано в этом посте.

Для тех кому интересно — сядем разберем, а кому надо готовое решение — милости прошу в конец поста, ссылки на скачивание — там.

Приступим! Раньше сядем — раньше выйдем.
Читать дальше →
Total votes 60: ↑47 and ↓13+34
Comments60

Поднимаем свою Vertcoin ноду P2Pool *c merged-ом и плюхами

Reading time19 min
Views24K


Проснулся утром, сравнил статистику начислений честно намайненных монет в кабинете пула с показателями калькулятора, и окончательно убедился в том что пул недоначисляет?
Надоело платить комиссии «не за что»?
Или решил поддержать децентрализацию сети и уйти с крупного пула?
А может просто захотелось «поднять» что-то своё?

Не важно какова причина, важно другое — в голове засело едкое, ослепляющее желание что-то поменять, и прекращать майнить «через дядю».
И между ней и тобой появляется один простой, но в то же время очень резонный вопрос — «Как?».
Ответ на него такой же простой — «Легко!».

Хотите узнать больше?
Total votes 9: ↑6 and ↓3+3
Comments10

Как работают финансы облачной компании

Reading time4 min
Views9K
Поговорим о том, как устроена одна из главных составляющих облачной компании — финансы.

Оценить экономику компании помогают несколько простых метрик — MRR, CLV, CAC. В этом посте мы расскажем о том, как их считать и интерпретировать.

MRR: как оценить рост бизнеса

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

Читать дальше →
Total votes 31: ↑24 and ↓7+17
Comments4

Мошеннические методы монетизации в free-to-play играх

Reading time11 min
Views136K
Примечание переводчика: После публикации статьи с автором связался коммерческий директор из King.com, создателя Candy Crush Saga, и прояснил несколько моментов, после чего автор добавил пару замечаний. Добавленные абзацы отмечены курсивом.

Принудительная монетизация


Модель принудительной монетизации основывается на уловках, с помощью которых можно заставить человека совершить покупку с неполной информацией, или сокрытии этой информации так, что технически она остаётся доступной, но мозг потребителя не улавливает эту информацию. Сокрытие покупки может быть осуществлено с помощью простой маскировки связи между действием и ценой, как я писал в статье Системы контроля в F2P.

Согласно исследованиям, добавление даже одной промежуточной валюты между потребителем и реальными деньгами, например «игровых самоцветов» (премиальная валюта), делает потребителя гораздо менее подготовленными к оценке стоимости сделки. Лишние промежуточные предметы, я называю их «наслоения», делают для мозга оценку ситуации очень сложной, особенно под напряжением.

Этот дополнительный стресс часто подаётся в форме того, что Роджер Дики из Zynga называет «весёлыми мучениями». Приём заключается в том, чтобы поставить потребителя в очень неудобное или неприятное положение в игре, а потом предложить ему убрать эти «мучения» в обмен на деньги. Эти деньги всегда замаскированы в слоях принудительной монетизации, поскольку потребитель, столкнувшийся с «реальной» покупкой, скорее всего не поведётся на трюк.
Читать дальше →
Total votes 138: ↑131 and ↓7+124
Comments76

Захабренный договор на разработку сайта, дизайна, софта. Версия 1.1

Reading time18 min
Views245K
На сайте немало постов о том, какие условия нужно включать в договор на создание сайтов и программ (краткий список ниже), но нет договора в формате, который можно взять за основу для составления своего договора. Мы изучили условия из постов (спасибо авторам), подумали над ними, переработали и учли в предлагаемой на ваш суд форме договора. Так что договор пока можно считать частично «захабренным».


Договор авторского заказа
Total votes 158: ↑147 and ↓11+136
Comments124

Мозырский инженер «изобрел» элемент питания на картошке

Reading time2 min
Views79K
Пока интернеты вяло отходят от набега изобретателя «принципиально нового» антивируса Александра Бабушкина, и бурно реагируют на презентацию компании Локхид, в белорусское медиапространство проник некий мозырский инженер линейных сооружений связи НПЗ Александр Зозуля со своим изобретением. На минской (художественной) выставке «Техно-арт», посвященной теме альтернативной энергии, инженер представил микро-туалет типа «сортир», освещаемый единственным светодиодом, который питается от от полутора десятков картофелин, собранных в батарею.

Интервью с изобретателем под катом
Total votes 68: ↑49 and ↓19+30
Comments63

Выбор цветовой палитры по фотографии

Reading time1 min
Views43K
Дизайнер Джессика из компании Seed Design Consultancy занимается подбором оригинальных цветовых палитр для сайтов и предлагает несколько методов, в том числе по произвольному цвету, по рубрикатору тем (осень, минералы, природа). Сейчас она придумала ещё один способ, который несложно реализовать самостоятельно методом статистического анализа.

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


Читать дальше →
Total votes 83: ↑71 and ↓12+59
Comments40

Пример доски объявлений на Kohana

Reading time22 min
Views16K

Kohana — довольно молодой PHP фреймворк, форк CI, всецело завязанный на ООП. К достоинствам Kohana можно отнести использование всех возможностей PHP5 на 100%, высокую скорость работы, «легковесность» и простоту как использования, так и изучения. Из минусов отчетливо выделяется небольшое комьюнити, как следствие, не шибко качественная документация и небольшое количество модулей и библиотек.

Не так давно своё знакомство с фреймворками я начинал именно с Kohana и, надо сказать, я был удивлен, насколько легко он мне поддался. Думал будет намного сложнее. Но очень сказывалась нехватка документации и примеров кода. Зарывшись в маны и разбор исходников, через некоторое время, я восполнил интересующие меня пробелы относительно Kohana, и поэтому решил написать эту статью, дабы другим хабралюдям, оказавшимся в схожей ситуации не пришлось по ночам не досыпать и лечить головные боли.

Под катом пример доски объявлений, написанный с помощью Kohana, возможно местами он не претендует на рациональность и здравый смысл, но всё-же я надеюсь услышать конструктивную критику.

Статья рассчитана на людей, имеющих понятие об MVC и ООП, но не имевших, либо мало имевших, дело с фреймворками.

Итак, приступим...
Total votes 73: ↑62 and ↓11+51
Comments82

PHP — получение суммы прописью

Reading time2 min
Views57K
Здравствуйте!

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

Пример использования:
num2str(878867.15); // восемьсот семьдесят восемь тысяч восемьсот шестьдесят семь рублей 15 копеек

Далее сам код…
Читать дальше →
Total votes 31: ↑20 and ↓11+9
Comments32

Information

Rating
3,130-th
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity