Как стать автором
Обновить
den26 @den26read⁠-⁠only

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

Отправить сообщение

ESP-NOW — альтернативный протокол обмена данными для ESP8266 и ESP32. Основные понятия

Время на прочтение8 мин
Количество просмотров33K


Технология ESP-NOW — это упрощенный протокол связи WiFi с передачей коротких пакетов между парами сопряженных устройств, разработанный и выпущенный Espressif в 2016.07 для микроконтроллеров ESP8266 и ESP32. При этом дополнительные процедуры, связанные с поддержкой протокола WiFi не используются, что ускоряет процесс обмена пакетами.

ESP-NOW может применяться в Интернете Вещей для управления интеллектуальными источниками света, реле, розетками, другими устройствами дистанционного управления, получения информации от датчиков и других приложений.

ESP-NOW поддерживает следующие функции


  • Зашифрованная и незашифрованная связь между сопряженными парами устройств.
  • Смешанные зашифрованная и незашифрованная связь между сопряженными устройствами.
  • Передача до 250 байт полезной информации.
  • Настройка функции обратного вызова для информирования прикладного уровня, в частности, об успешности или сбое передачи.

Читать дальше →
Всего голосов 22: ↑21 и ↓1+20
Комментарии13

Пара распространённых заблуждений про радиоканалы RFID и Wi-Fi (и RFID как точки Wi-Fi)

Время на прочтение7 мин
Количество просмотров42K

RFID-метка для пациентов, чтобы их было видно на карте больницы

— А можете каждому строителю чип в голову вшить?
— Теоретически да, но, может быть, объясните, зачем вам это нужно?
— Они у нас стройматериалы воруют. Прямо во время работ. А так каждого будет видно, куда он там зашёл, куда не надо.

Проект решился вшиванием в форменную одежду RFID-метки, разделением стройки на зоны и дальше тем, что делается в сети при построении периметра. То есть построением профиля «белого» трафика — кто, куда и когда ходит. А потом — как на файрволле — запретили строителям всё остальное. Кражи сразу сократились. Прораб получил потустороннюю силу и видел почти каждый косяк.

А дальше каждый чёртов раз, когда я рассказываю про RFID-решение, люди начинают махать руками и путать эти метки с Wi-Fi, Bluetooth и пассивными резонирующими контурами. Одна из причин — некоторые RFID-метки действительно работают по Wi-Fi 802.11. Давайте расскажу, как это используется на практике в разных странах.
Читать дальше →
Всего голосов 54: ↑53 и ↓1+52
Комментарии73

Интеграция PostgreSQL с MS SQL Server

Время на прочтение3 мин
Количество просмотров31K

В предыдущей статье мой коллега Дмитрий Васильев описал настройку интеграции PostgreSQL с MySQL и описал, как более эффективно выполнять некоторые запросы.


Интеграция PostgreSQL с MS SQL Server


В этой статье я хотел бы описать настройку подключения PostgreSQL, работающего под управлением Linux, к MS SQL Server. А также, как импортировать все таблицы определенной схемы базы данных MS SQL Server в PostgreSQL без описания структуры каждой таблицы.

Читать дальше →
Всего голосов 20: ↑20 и ↓0+20
Комментарии11

Универсальный скрипт переключения 2-х каналов интернета Mikrotik

Время на прочтение8 мин
Количество просмотров65K
Около 2,5 лет назад писал статью на тему автоматического переключения канала Интернет на резервный. Скрипт, конечно, и по сей день работает «на отлично», но его внешний вид и некоторые нюансы…

Итак, встала задача улучшить скрипт, максимально устранив побочные эффекты. Что ж, приступим.

image
Читать дальше →
Всего голосов 25: ↑24 и ↓1+23
Комментарии34

Компактная ОС для ARM процессоров

Время на прочтение5 мин
Количество просмотров38K
“Кажется, что совершенство достигается не тогда, когда нечего более добавить, а тогда, когда нечего больше убрать."

(Антуан де Сент-Экзюпери)

image


По теме изучения программирования встроенных систем, ОС реального времени, Ассемблера и С позвольте представить очень простую операционную систему StartOS.

Предназначение:

— если вам необходимо создать устройство, начинающее работать через 1-2 секунды после включения питания и способное реагировать на сигналы из внешнего мира в течение микросекунд;
— для быстрого создания систем управления объектами с выводом данных в Интернет;
— отработка идей, алгоритмов, изготовлении прототипов устройств;
— приобретение опыта программирования встроенных систем на языках C и Assembler;
— получение полного доступа к «железу» компьютерного устройства, например, для разработки самомодифицирующихся программ.

Некоторые свойства системы:

Время готовности после включения питания: < 1 сек
Объем двоичного кода программы: < 40 kB
Читать дальше →
Всего голосов 46: ↑43 и ↓3+40
Комментарии40

Asterisk: Обеспечим VIP-клиентам первое место в очереди звонков, а так же свяжем клиента с конкретным оператором на заданное время

Время на прочтение7 мин
Количество просмотров11K
Asterisk — это fun!
Каждый раз сталкиваясь с какой-то нестандартной задачей я радуюсь, радуюсь возможности снова погрузиться с головой в это чудесное состояние творчества, работы мысли. В последнее время такие задачи появляются часто и это здорово.
Обозначенные в заголовке были реализованы и работают, а значит пришло время поделиться с сообществом своими решениями.

Расскажу немного подробнее о каждой.

1. Организовать список номеров телефонов VIP-клиентов.
Звонки от VIP-клиентов должны попадать на первое место в очереди Asterisk, для скорейшей обработки именно их обращения. Так же нужно иметь возможность удобно добавлять и удалять контрагентов из этого списка.

2. Связать звонок клиента с конкретным оператором очереди на заданное время.
Настроить Asterisk так, чтобы в его «памяти», на какое-то заданное время, оставалась информация о том, какой из операторов очереди принял вызов. Позвонил человек с номера 8913*75*5*0 и попадает к оператору очереди Алёна и нужно сделать так, чтобы в течение, например суток, входящие звонки с этого номера принимала только Алёна и никто другой.
Но это еще не все, если клиент не хочет общаться с Аленой, то он может нажать клавишу * на своем телефоне и в следующий раз попадет уже к другому оператору.

С вступлением на этом заканчиваю, немного Python, MySQL и хитрого dialplan ждут вас под катом.
Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии11

Bash скрипт для создания архива данных

Время на прочтение12 мин
Количество просмотров19K
На днях озадачился резервным копированием данных в облако. Нашёл подходящий сервис попробовал, и понял, что существует необходимость в сжатии бэкапа перед отправкой (думаю нет необходимости объяснять зачем). Не стал заморачиваться в поиске готовых решений и решил сам написать скромный скриптик для этой цели. Исходные файл или папка жмутся в .tar.xz с уровнем сжатия 9, что позволяет сохранить права и выдаёт хорошую компрессию на выходе (у меня снэпшот системы сжимается 4 раза). Результатом остался доволен, думаю для малого бизнеса, да и для личных целей многим пригодиться.

Возможности скрипта:
  • гибкая настройка
  • проверка на доступность ресурсов (источник, директория назначения, рабочая директория)
  • проверка на файл блокировки (предотвращает выполнение если источник еще создаётся)
  • вывод информации о сжатии (размер источника, размер архива, соотношение этих размеров)
  • логирование и дебагинг (вывод дополнительной информации о процессе выполнения)
  • возможность менять вывод (как в консоль и лог-файл, так и только в лог-файл)
  • сохраняет и ротирует предыдущие архивы
  • возможность форматирования текста вывода
  • отправка e-mail-а в случае успешного и/или неуспешного завершения

Читать дальше →
Всего голосов 20: ↑13 и ↓7+6
Комментарии22

Домашний медиа-сервер на основе Ubuntu Server 12.04 LTS

Время на прочтение8 мин
Количество просмотров355K
Привет, Хабр! В ходе обсуждения одной статьи про «идеальную» домашнюю сеть, возник спор, что лучше, аппаратный NAS или мини-компьютер с Linux дистрибутивом. Автор предлагал использовать аппаратный NAS, т. к. якобы он проще в администрировании, не требует знаний Linux, да и вообще NAS тихий. Но при этом, для просмотра на DLNA-телевизоре видео, который он не поддерживает, предлагал включать ноутбук с транскодирующим DLNA. Меня это, мягко говоря, удивило, т. к. в идеальной сети такого быть не должно. Поэтому хочу представить своё видение одного из ключевых компонентов домашней сети — централизованного хранилища данных, и основано оно будет на мини-ПК с ОС Ubuntu Server.
Читать дальше →
Всего голосов 112: ↑99 и ↓13+86
Комментарии76

Как настроить iOS-устройство и RAD Studio XE8 (Delphi, C++ Builder)

Время на прочтение4 мин
Количество просмотров19K
Сегодня мы “подружим” или настроим реальное iOS-устройство и RAD Studio XE8 (или Delphi, или C++ Builder, или Appmethod).

В итоге мы сможем запускать наши приложения не только в среде Window, Android, OS X, iOS-симуляторе, но и на реальных iOS-устройствах из одного и того же исходного кода.

План действий:
— настройка макбука + developer.apple.com;
— настройка RAD Studio XE8;
— запуск своего приложения на iOS-устройстве.

Читать дальше →
Всего голосов 13: ↑12 и ↓1+11
Комментарии1

Программирование ARM на Pascal

Время на прочтение7 мин
Количество просмотров23K
Однажды, вдруг совершенно неожиданно и без объявления войны, появилась идея. И требовалось для этого написать и запрограммировать кристалл STM32.

А собственно в чем проблемам? stm32vldiscovery лежала на полке и дожидалась своего часа, программирование знаю и частенько пишу “на заказ”. С железом дружу хорошо.

Первым делом возник вопрос “на чем писать”? Сред программирования много, но язык только “Си”. Без вариантов. Ассемблер не рассматриваю в принципе. Светодиодом помигать можно, но что-то сложнее требует огромных трудозатрат.

Но я не знаю Си! Вообще. Всю жизнь писал только на Pascal/Delphi. Учить язык? Вы пробовали учить язык, когда вам более 40 лет возраста? Когда работа, семья и минимум свободного времени. Когда ум уже не так остр, как в молодости. Да и затевать все это ради одного проект смысла не более, чем учиться на права и покупать машину ради поездки в булочную в соседнем доме.

Выходом послужил найденный “mikroPascal PRO for ARM” от MikroElektronika. Если честно, я уже работал с “mikroPascal PRO for PIC” на пике популярности PIC чипов. Впечатления остались не очень хорошие. Компилятор “со странностями”, оболочка тоже не отличалась стабильностью и дружественным интерфейсом.

Тем более интересно было посмотреть, что изменилось за эти годы и в какую сторону.

И так, что мы имеем на руках:
  • Плату stm32f4discovery;
  • mikroPascal PRO for ARM с лицензионном ключем (взято у товарища. потом придется вернуть). Без ключа — ограничение в 2 КВ на размер кода;
  • Инженер, которого в ВУЗе учили исключительно Pascal.

Задача: освоить программирование микроконтроллера без единой строчки Си кода.

Итак приступим…
Читать дальше →
Всего голосов 19: ↑16 и ↓3+13
Комментарии20

Производительность VMware vSphere 5.5 и 6.0 — настройки, соображения. Perfomance Best Practices

Время на прочтение8 мин
Количество просмотров58K

Проштудировав документы Perfomance Best Practices for vSphere 5.5 и Perfomance Best Practices for vSphere 6.0, не выявил особых расхождений в настройке, как и чего-то дополнительно специфичного для vSphere 6.0.

Большая часть написанного умещается в стандартные рекомендации формата «используйте совместимое и сертифицированное оборудование» и «при сайзинге ВМ выделяйте ресурсы (vCPU, vRAM) в объёме не более необходимого».

Тем не менее, базовые вещи решил оформить отдельным постом, немного переструктурировав, избавив от «воды» и некоторых отсылок и замечаний, которые являются слишком специфичными и для большинства реализаций являются скорее вредными чем полезными. В сухом остатке остались рекомендации, советы и соображения, проверенные и протестированные на практике и применимые для 90% инфраструктур VMware vSphere и standalone ESXi. Разбавленные общими соображениями и дополнениями.
Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии28

Геолокация без GPS (часть 2)

Время на прочтение4 мин
Количество просмотров24K
wifi Здравствуйте!
После предыдущей статьи (часть 1) я получил много отзывов о работе открытого API геолокации по WiFi и вышкам мобильных сетей.
В этот раз я хочу представить свои исправления, лицензирование проекта, геопозиционирование по нескольким точкам доступа, кейсы использования и самое главное — текущие проблемы
Узнать больше
Всего голосов 16: ↑13 и ↓3+10
Комментарии8

Ребята, которые делают говорящего робота для умного дома, раздают платы

Время на прочтение2 мин
Количество просмотров20K
Добрый день, хабражители!

vk.com/rtrg?r=MyfvmSagVGcKoVRPBQ92U5CfxIhCPah9BpgCNi*VQ5Z*GZClBfq8O6Xqoc4FgyLmY/t2xfXW*b/pLNakil70J2BgItRALRcbqLdyvvbQaL48Y3InrmCX91lp3jlslzoTrQWAQ2odZccwu06QSKcDISHi4yplYcjlvQQqCvYweCs-&pixel_id=1000020818
Как видно из нашего профиля — наша компания занимается разработкой и производством интеллектуального домашнего помощника Лекси.

За полтора года работы у нас накопилось немного лишнего железа, которое мы уже не используем и оно нам не нужно. Мы хотим отдать его для опытов в хорошие руки.

image
Читать дальше →
Всего голосов 13: ↑11 и ↓2+9
Комментарии51

Как определить лицо на фотографии с помощью PHP

Время на прочтение3 мин
Количество просмотров39K
Определение лиц используется в соцсетях, фото-редакторах, видеочатах, умной капче, time tracking программах — можно придумать еще множество применений этой функции.
image
Читать дальше →
Всего голосов 36: ↑26 и ↓10+16
Комментарии13

Детекция кожи в Wolfram Language (Mathematica)

Время на прочтение5 мин
Количество просмотров11K

Перевод поста Matthias Odisio "Seeing Skin with Mathematica".
Скачать файл, содержащий текст статьи, интерактивные модели и весь код, приведенный в статье, можно здесь.
Выражаю огромную благодарность Кириллу Гузенко за помощь в переводе.

Детекция кожи может быть довольно полезной — это один из основных шагов к более совершенным системам, нацеленным на обнаружение людей, распознавание жестов, лиц, фильтрации на основе содержания и прочего. Несмотря на всё вышеперечисленное, моя мотивация при создании приложения заключалась в другом. Отдел разработки и исследований в Wolfram Research, в котором я работаю, подвергся небольшой реорганизации. С моими коллегами, которые занимаются вероятностями и статистикой, которые стали находиться ко мне значительно ближе, я решил разработать небольшое приложение, которое использовало бы как функционал по обработке изображений в Mathematica, так и статистические функции. Детекция кожи — первое, что пришло мне в голову.

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

Skin detection model
Читать дальше →
Всего голосов 22: ↑18 и ↓4+14
Комментарии6

Как я Asterisk'ом шлагбаумы открывал

Время на прочтение9 мин
Количество просмотров46K
image

Добрый день, жители хабра.

Хочу поделиться интересным, на мой взгляд, вариантом использования Asterisk.

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

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

Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии24

Удаленная инъекция Wi-Fi кадров

Время на прочтение4 мин
Количество просмотров47K
image

Стандарт WiFi 802.11n использует механизм агрегации кадров для уменьшения накладных расходов при передаче данных.
Для этого несколько кадров объединяются в один. При этом маркер разделителя кадров передается вместе с данными.
Это позволяет сформировать данные, которые при прохождении через WiFi устройство будут интерпретированы им как отдельные кадры.

То есть имея контроль над потоком данных передаваемых от сервера клиенту (например при загрузке файла с сервера атакующего) или от клиента к серверу, можно генерировать произвольные пакеты на всех уровнях OSI:

  • Пакет с любыми заголовками RadioTap: Beacon, Probe Request/Respone, Deauthentication
  • L2 уровень: указать любой MAC адрес в заголовках пакета, можно производить ARP спуфинг
  • L3/L4 уровень: скрафтить любой TCP/UDP/ICMP пакет с любыми заголовками IP
  • и так далее


Уязвимости подвержены только открытые сети стандарта 802.11n.
Читать дальше →
Всего голосов 53: ↑52 и ↓1+51
Комментарии19

Делаем детектор движения, или OpenCV — это просто

Время на прочтение11 мин
Количество просмотров114K
Надо оправдывать название компании — заняться хоть чем-то, что связано с видео. По предыдущему топику можно понять, что мы не только чайник делаем, но и пилим «умное освещение» для умного дома. На этой недели я был занят тем, что ковырял OpenCV — это набор алгоритмов и библиотек для работы с компьютерным зрением. Поиск обьектов на изображениях, распознание символов и все такое прочее.

На самом деле что-то в ней сделать — не такая сложная задача, даже для не-программиста. Вот я и расскажу, как.
Читать дальше →
Всего голосов 45: ↑42 и ↓3+39
Комментарии7

Wi-Fi измеритель CO2 на ESP8266 + K-30

Время на прочтение3 мин
Количество просмотров58K

В данной статье мы продолжим эксперименты с Wi-Fi модулем ESP8266 и попробуем реализовать опрос датчика CO2 K-30 через MODBUS.
Читать дальше →
Всего голосов 22: ↑19 и ↓3+16
Комментарии16

Работа с ESP8266: Первоначальная настройка, обновление прошивки, связь по Wi-Fi, отправка-получение данных на ПК

Время на прочтение7 мин
Количество просмотров414K
На Хабре уже было пару статей о чипе ESP8266 китайской компании Espressif. Статья №1 и Статья №2. Не так давно я получил плату ESP-01 для проведения тестирования. Кому интересно, прошу под кат.
Подробности
Всего голосов 22: ↑22 и ↓0+22
Комментарии42

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность