Как стать автором
Обновить
15
0
Boris Kotov @advan20092

User

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

Используем Apple Pay и карту Тройка в качестве пропуска на работу

Время на прочтение 16 мин
Количество просмотров 105K
Используем Apple Pay, Android Pay, Mastercard Paypass, Visa PayWave и карту Тройка в качестве пропуска на работу

TL;DR В статье описывается процесс создания системы контроля доступа (СКУД), в которой в качестве идентификатора могут использоваться карты Тройка, любые бесконтактные банковские карты EMV, а также телефоны с Apple Pay и Android Pay. Управление системой происходит через Telegram-бота.

Основные задачи системы


  • Избавиться от лишних карт — в качестве идентификатора используется то, что уже есть у пользователя: транспортная карта, телефон или банковская карта. Какой идентификатор использовать — каждый выбирает сам. Система работает со всеми типами идентификаторов одновременно.
  • Избавиться от бюро пропусков и сложных программ управления — нам надоело выдавать и забирать карты у пользователей, держать отдельные компьютеры для управления пропусками, изучать переусложненные программы.
  • Управление через Telegram — заведение и удаления пользователей происходит удаленно и не требует компьютера.
Всего голосов 118: ↑118 и ↓0 +118
Комментарии 164

Как сделать веб-приложение для вашего собственного Bluetooth Low Energy девайса?

Время на прочтение 19 мин
Количество просмотров 45K
Несколько недель назад я, развлечения ради, собрал простенькую роботизированную руку (а-ля манипулятор) и решил прикрутить к ней управление со смартфона через Bluetooth. Опыта в разработке нативных мобильных приложений у меня пока нет, с Apache Cordova я уже знаком, а вот задействовать Web Bluetooth API было бы интересно, приправив фишками Progressive Web Apps.

Картинка Для Привлечения Внимания
Картинка Для Привлечения Внимания, ведущая под кат


На первый взгляд может показаться, что статей по ключевым словам достаточно: есть спецификация Web Bluetooth, подробная статья в блоге Google Developers с примерами, есть подробный разбор Bluetooth Low Energy, примеры реверс-инжиниринга протоколов различных BLE устройств и даже моргания «умными» лампочками и получения данных от фитнес-браслетов прямо из браузера — что может пойти не так?
Читать дальше →
Всего голосов 25: ↑25 и ↓0 +25
Комментарии 8

На распутье — Ардуино, Cи или Ассемблер?

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

Сначала короткая предыстория появления этого поста. Относительно давно, помигав светодиодом, захотелось сделать что-то полезное. Так появился Беспроводной программируемый по Wi-Fi комнатный термостат с монитором качества воздуха и другими полезными функциями. Как назло, в это время перестал работать мой промышленный термостат. Меня выручил еще сырой макет, наспех спрятанный в картонную коробочку. За время отопительного сезона напрягал лишь один недостаток прототипа – это необходимость таскать по квартире удлинитель 220В и кабель, который всегда путался под шваброй ногами. Поэтому решил сделать нечто похожее, но автономное, притом, с питанием от батареек, как в серийном образце.


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


Приступая к задаче, для меня было очевидно одно – вряд ли программы промышленных автономных устройств составлены на платформе Arduino IDE. Где все спрятано в громоздкие тяжеловесные библиотеки, а простые коды (скетчи) занимают в редакторе несколько десятков строк, делая работу в этой среде комфортной и не требующей особых усилий. Уточню сразу – дальше речь о выборе языка программирования между Ардуино, Си или Ассемблером. "Язык Ардуино"- это сленг для краткости. Нет такого языка программирования. Если увидите тут и дальше "язык Ардуино", то — это "Arduino IDE — интегрированная среда разработки для Windows, MacOS и Linux, разработанная на Си и C ++"(Википедия).

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

Сохраняем настройки и лог файл во внутренней памяти микроконтроллера

Время на прочтение 15 мин
Количество просмотров 7.3K
image Задача сохранения настроек встречается в подавляющем большинстве современных устройств. Реже, но тоже очень часто, требуется хранение лог-файлов. Если речь идет о большом устройстве построенном на Линукс и содержащей как минимум SD карту, то с этими задачами не возникает проблем. Но если все устройство представляет из себя микроконтроллер, то возникает вопрос, где и в каком виде хранить подобные данные. В этом случае, обычно для настроек предлагают использовать сырые данные размещенные во внешнем eeprom. Но такой подход гораздо менее удобен чем вариант с файловой системой пусть даже с сильно ограниченными свойствами. Кроме того он плохо подходит для задач логирования. В данной статье мы расскажем как можно организовать удобное хранение файлов настроек и лог-файлов во внутренней флеш памяти микроконтроллера.
Читать дальше →
Всего голосов 15: ↑13 и ↓2 +11
Комментарии 12

Реле Давления v2.0 — revival

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

Привет, дорогой хабровчанин! Хотел выразить тебе огромное спасибо, за то, что смог побудить меня написать эту статью… 😊

Заваривайте чаёк, кофеёк или что-то покрепче и погнали читать вместе!

Чытаць далей
Всего голосов 21: ↑21 и ↓0 +21
Комментарии 21

Интеграция устройства в экосистему Samsung SmartThings на примере «Умного чайника» Часть 2: переход с ESP8266 на ESP32

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

В первой части статьи на примере “Умного чайника” я описал процесс разработки приложения, интегрированного в экосистему SmartThings. В этой части я усложняю пример: добавляю датчик температуры и делаю плавную индикацию RGB-светодиода. Я опишу, чем отличаются ESP8266 и ESP32, и почему в этом примере нам больше подходит именно ESP32. Также будет описана передача сообщений между потоками/тасками на примере очередей в FreeRTOS. Таким образом, данная статья предназначена для всех, кто хочет перейти от самых простых умных устройств с минимумом функционала, к устройствам чуть более сложным как с программной, так и с железной точки зрения.

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

Подключение энкодера к Ардуино и полнофункциональный код обработки для него

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

Энкодер - это устройство преобразования механического перемещения или угловых изменений положения в цифровой сигнал. В статье рассматривается самый популярный в DIY сообществе инкрементальный энкодер EC11 с кнопкой. При его вращении на выходах A и B формируются TTL сигналы в виде импульсов сдвинутые между собой по фазе на 90 градусов. Таким образом с его помощью, можно определить направление и скорость вращения, а так же рассчитать угол поворота. В отличие от потенциометров, KY-040 он надежный и долговечный.

Читать далее
Всего голосов 39: ↑29 и ↓10 +19
Комментарии 102

Опыт работы с советским газоразрядным дисплеем ГИП-10000 (ИМГ-1-02)

Уровень сложности Сложный
Время на прочтение 13 мин
Количество просмотров 26K

Советская электронная промышленность выпускала множество разнообразных газоразрядных индикаторных приборов: точечные, линейные, шкальные, знаковые, но отдельным пунктом стоит отметить матричные индикаторы (панели). Очень разные по конструкции, по разрешению, по принципу управления – постоянного тока с внешней адресацией, с самосканированием, переменного тока; знакосинтезирующие, графические; монохромные, двух-, трех-, четырехцветные. Номенклатура насчитывала несколько десятков типов изделий. 

В статье пойдёт речь про ГИП-10000. Это газоразрядная матрица постоянного тока с внешней адресацией разрешением 100х100 точек. Применялась она в таких изделиях как Электроника МС6205 и ИМГ-1. Я расскажу про то, как запустил на ней Bad Apple!! и Doom.

Читать далее
Всего голосов 240: ↑240 и ↓0 +240
Комментарии 69

Простой цифровой радиоприемник на базе контроллера STM32G4 своими руками

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

Обучающие проекты по созданию простого цифрового радиоприемника на базе микроконтроллера STM32G431KB.

Читать далее
Всего голосов 85: ↑85 и ↓0 +85
Комментарии 51

Делаем устройство для мониторинга концентрации CO₂

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

Нередко мы сильно увлекаемся написанием кода настолько, что забываем подышать свежим воздухом, особенно когда нельзя держать окно постоянно открытым (ну, бывают причины). В результате этого в помещении повышается концентрация СО₂ и впоследствии начинаются неприятные побочные эффекты в виде сонливости, заторможенности и головной боли. Для решения этой проблемы существуют датчики СО₂, которые при достижении определённой концентрации скажут, что пора открыть окно. Готовые варианты конечно хорошо, но это слишком просто — сделаем своё хост-устройство для измерения и разомнём извилины.
Читать дальше →
Всего голосов 77: ↑76 и ↓1 +75
Комментарии 71

Экспериментируем с ПЛИС семейства ECP5 фирмы Lattice

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

Когда я видел на Хабре упоминание о ПЛИС Lattice, у меня всегда возникал простой вопрос: «А зачем ещё одна ПЛИС?». Вроде всю жизнь хватало пары базовых. Но полгода назад случилось то, что сняло этот вопрос для меня. Пришёл Заказчик и сказал: «Мы делаем проект на ECP5». Против требований Заказчика не попрёшь!

А пока я осваивал работу с этим железом и пытался понять, как обосновать необходимость попробовать то же самое для остальных, мой знакомый, ныне живущий в Штатах, обрадовал новостью, что у его любимого поставщика подходит к концу запас десятых Циклонов и шестых Спартанов. В целом, через три года будет построен новый завод Intel, но что именно там будут производить, он не в курсе. И три года продержаться в любом случае, будет нужно. Короче, сейчас надо иметь возможность быстро мигрировать с одной ПЛИС на другую.

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

Сегодня я расскажу, где купить более-менее дешёвые платы для опытов, как быстро освоить Open Source среду разработки и какие готовые проекты осмотреть в первую очередь.

Читать далее
Всего голосов 38: ↑37 и ↓1 +36
Комментарии 30

[Личный опыт] Эстония: почему сюда нанимают много разработчиков из-за рубежа и что делает страну идеальной для россиян

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

Эстония не попадает в топы стран для эмиграции или в рейтинги самых счастливых государств мира. Но в этой стране больше тысячи стартапов, семь единорогов и очень комфортные условия жизни для иммигрантов из России. Привет, Хабр, меня зовут Илья, я python-разработчик, в 2019 году переехал с супругой в Таллин. Поделюсь, откуда здесь столько стартапов, как вообще живется, как обстоят дела с интеграцией в общество и как устроен быт.




Первое фото в Таллине после приезда, 18 ноября
Читать дальше →
Всего голосов 59: ↑53 и ↓6 +47
Комментарии 207

10 игр для программистов, которые позволят улучшить свои навыки

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

Планируете изучать Java, C++ или Python, но не знаете, с чего начать? А как насчёт игр для программистов?

Да, именно так.

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

Давайте же узнаем о том, как геймификация помогает нам лучше учиться и какие игры помогут стать программистом!
Читать дальше →
Всего голосов 51: ↑47 и ↓4 +43
Комментарии 42

Как я пытался придумать новый подход к изучению алгоритмов через интерактивные визуализации

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

Представьте человека, который изучает алгоритмы. Чтобы понять как они работают, приходится разбираться в их коде и представлять, как компьютер будет его выполнять. Это странно — почему мы должны учиться думать как компьютер, вместо того, чтобы заставить его помогать нам? Какая-то сильная технозависимость.

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

Читать далее
Всего голосов 107: ↑107 и ↓0 +107
Комментарии 55

Выводим первый транш с Upwork

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

UW
Как человеку с образованием программиста и без юридического разобраться в тонкостях работы банков и валютного контроля и, конечно, как вывести свои деньги с Upwork на примере банка Тинькофф бизнес.

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

Всё, что нужно для начала работы с Vue.js

Время на прочтение 13 мин
Количество просмотров 96K
Скорее всего, вы, читая эти строки, уже слышали о JavaScript-фреймворке, который называется Vue. Если вы собирались его опробовать, но не очень хорошо представляли себе то, с чего вам стоит начать, значит — этот материал написан специально для вас. Его автор говорит, что хочет рассказать о том, почему ему очень нравится Vue. Кроме того, он собирается представить всем желающим 4 способа написания первого приложения на Vue.



В конце этого материала, вы найдете ссылки на целый курс по Vue.js.
Читать дальше →
Всего голосов 43: ↑39 и ↓4 +35
Комментарии 31

Введение в реверсинг с нуля, с использованием IDA PRO

Время на прочтение 5 мин
Количество просмотров 24K
Привет, Хабравчане!

Для тех, кто не знает, в своё время я взял на себя ответственность перевести испанский курс Introduccion Al Reversing Con Ida Pro Desde Cero под авторством Ricardo Narvaja на русский язык. Прошло 2,5 года и теперь я могу смело сказать, что курс переведен на русский язык. На данный момент это 67 частей. Но это ещё не всё. В конце 67 части, мы можем увидеть, что нас ждёт продолжение. Сейчас же я бы хотел рассказать, про то как я переводил курс, с чем столкнулся при переводе, что узнал и как всё это было.
Читать дальше →
Всего голосов 36: ↑35 и ↓1 +34
Комментарии 41

Удалённая работа: мифы на ночь

Время на прочтение 6 мин
Количество просмотров 87K
На Хабре тема удалёнки поднимается постоянно. Был откровенный пост, который отозвался до самых глубин сердца. Сегодня случился рекламный пост, где понятие удалёнщика как-то путается с понятием фрилансера. А сейчас будет эмоциональный пост — от простой девчонки, которая вот уже 4 года работает удалённо менеджером в сфере IT. Побуду разрушителем мифов, капитаном очевидностью и чуваком с долларами, но о последнем в другой раз.


Как вариант — изолировать занудных трудоголиков
Читать дальше →
Всего голосов 108: ↑102 и ↓6 +96
Комментарии 312

Мифы и реальность ООП

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

(Источник)

Хочу внести свои «5 копеек» в неутихающий спор противников и сторонников ООП. Из недавних публикаций на эту тему можно отметить ярко негативный заголовок «Чем быстрее вы забудете ООП, тем лучше для вас и ваших программ», более миролюбивый «Хватит спорить про функциональное программирование и ООП» и умеренно позитивный «Объектно ориентированное програмирование в графических языках».
Читать дальше →
Всего голосов 39: ↑30 и ↓9 +21
Комментарии 205

Почему на собеседованиях так часто спрашивают про связные списки

Время на прочтение 3 мин
Количество просмотров 55K
Примечание переводчика: оригинальная статья опубликована в серии твитов

Вероятно, вы уже читали кучу объяснений, почему обработка связных списков — плохой вопрос для собеседования. Я же в первую очередь хочу объяснить, откуда он вообще взялся. Всем пристегнуться, погружаемся в теорию игр ИСТОРИЮ!

Хотя индустрия программного обеспечения процветала в 80-е годы, но действительно взлетела в 90-е. В это десятилетие число работников отрасли в США утроилось и превысило миллион человек. Со взрывным ростом пришла необходимость нанимать массу сотрудников и оценивать их.

Что нужно оценить? Ну, в первую очередь, знание языков. Согласно TIOBE, в 1986−2006 годы самым популярным языком в мире был C, далее следовал C++. К 2006 году Java вышла на первое место, но C остался рядом.

C работал близко к железу без лишних абстракций. Пустой словарь Python расходует аж 288 байт, то есть 5% всего объёма памяти первого поколения Apple II. Абстракции слишком дороги, слишком много накладных расходов. Если вам нужна сложная структура данных, вы должны построить её самостоятельно с помощью массивов, структур и указателей.
Читать дальше →
Всего голосов 76: ↑68 и ↓8 +60
Комментарии 358

Информация

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