Разработка для интернета вещей *
Учимся разрабатывать для интернета вещей
Телеграм-бот для домашнего видео-наблюдения из подручных материалов
Disclaimer
Эта статья содержит некоторое количество программного кода, написанного на языке Python. Ввиду того, что автор статьи по профессии является сисадмином, но не программистом — стиль и качество этого кода, могут вызвать проявление неконтролируемых эмоций у профессионалов. Пожалуйста, немедленно прекратите чтение если вид неаккуратного или неоптимального кода может негативно сказаться на вашем психическом состоянии.
Постановка задачи
Основной причиной реализации проекта, явилась простуда с вытекающими: избытком свободного времени и невозможностью выходить из дома. Порывшись у себя в столе я обнаружил:
- RaspberryPi 3 model B
- Вебкамера Logitech C270
- Карта памяти Kingston microSDHC 16 Гб
- Некоторое количество проводов и адаптеров
Из всего перечисленного, было решено построить систему домашнего видео-наблюдения с функционалом оповещения о вторжении. В качестве платформы был выбран телеграм-бот. Бот имеет следующие преимущества перед другими возможными реализациями (веб, мобильное приложение):
- Не требуется установки дополнительного клиентского ПО
- Серверная часть может работать с приватным IP адресом через NAT, при этом предъявляются минимальные требования к подключению (вплоть до 3G модема)
- Большая часть инфраструктуры находится на стороне сервис-провайдера, который за меня решил вопросы авторизации, безопасности итп...
С помощью беглого анализа интернет-публикаций, существующие решения обнаружены не были.
Библиотека для синхронизации состояния
Так случилось, что на одном проекте потребовалось реформировать способ обмена данными между различными процессами. Исторически сложившаяся схема была довольно неприглядна. Один процесс периодически перезаписывал свои текущие настройки в виде XML-файла. Второй вычитывал этот файл раз в секунду, проверяя, что в нём поменялось с прошлого раза. Изменения файла вычислялись через множество сравнений текущего и прошлого его состояний, порождая некоторую цепочку действий. Читающий процесс писал в свою очередь другой XML-файл, который читался третьим процессом и т.п. Самое печальное то, что данная схема требовала громоздкого, из раза в раз повторяющегося кода сравнений, который наслаивался при добавлении новых данных.
Работа с COM-портом Arduino из Java-приложения
Недавно на просторах интернета наткнулся на весьма простую библиотеку Java-Arduino Communication Library. Не найдя публикаций на эту тему здесь, решил поделиться с вами опытом использования. Для работы нам понадобятся установленные Arduino IDE, IntelliJ IDEA, Java SE Development Kit и, собственно, сам микроконтроллер (я тестировал на китайской Arduino Nano и Strela на базе Leonardo от Амперки, на обоих все все работало отлично).
Истории
ROS, ELM и черепашка
ELM — очень простой и элегантный язык, компилирующийся в javascript и отлично подходящий для разработки интерактивных программ.
Я решил совместить приятное с полезным и изучать ROS (по которой сейчас идет курс) и ELM вместе.
Такое железное и такое безымянное
Почему железное, почему безымянное, и что будет на школе — обо всем по порядку.
Текстовая трансляция со дня открытых дверей Лаборатории Касперского – Open Day 2017
Видео-стрим:
Текстовая трансляция под катом.
Как сделать веб-приложение для вашего собственного Bluetooth Low Energy девайса?
Картинка Для Привлечения Внимания, ведущая под кат
На первый взгляд может показаться, что статей по ключевым словам достаточно: есть спецификация Web Bluetooth, подробная статья в блоге Google Developers с примерами, есть подробный разбор Bluetooth Low Energy, примеры реверс-инжиниринга протоколов различных BLE устройств и даже моргания «умными» лампочками и получения данных от фитнес-браслетов прямо из браузера — что может пойти не так?
Команда Университета ИТМО вышла в финал Всемирной олимпиады роботов
Тайм-менеджмент для кинестетиков
Время — самый ценный ресурс, который у нас есть. Чтобы использовать его максимально продуктивно, существуют всякого рода техники тайм-менеджмента. Если говорить о тайм-менеджменте в масштабах рабочего дня, то одна из самых популярных техник называется Pomodoro. Но эта статья не про GTD, а про код (и немного про железо ^^).
Так вот, для техники Pomodoro есть инструмент Tomighty и у него открытый исходный код на C#, что побуждает к модификации этого самого кода с целью добавления новых возможностей и интеграции со всякими штуками.
Сегодня мы будем интегрировать клиент Tomighty с устройстовм "Большая Красная Кнопка". Нам для этого понадобится:
- Большая Красная Кнопка (со светодиодом). У меня оказалась не очень большая, но очень красная.
- ESP8266 — один из наиболее оптимальных микроконтроллеров по соотношению удобство/цена. Это даже не микроконтроллер вовсе, но как микроконтроллер он абсолютно прекрасен!
- MicroPython. Я не знаю языка удобнее чем Python, а вы? Разве что Ruby, но его вроде бы не портировали на ESP8266.
- Протокол MQTT для связи между компом и девайсом.
- Visual Studio.
- Опционально, расширение CodeRush for Roslyn. Оно сильно упрощает работу с как со своим, так и с незнакомым кодом.
Зачем? Чтобы получить опыт работы с чужим кодом. В связи с грядущим Hacktoberfest, этот скилл будет крайне актуален.
Welcome!
Вторая версия Монитора качества воздуха
Некоторое время назад я описывал прибор для мониторинга качества воздуха в помещении, который можно сделать самостоятельно из деталей заказанных на известном китайском интернет магазине.
И вот появилась новая версия прибора.
Моя любимая конференция по встраиваемым технологиям и интернету вещей
Я всегда сам стараюсь постетить конференцию EDAY, которую проводит Кварта, чтобы быстро обновить свои знания во встриваемых решениях, пообщаться с партнёрами и т.д. Я считаю, что это одна из лучших профильных конференций по встраиваемым технологиям и инетрнету вещей, поэтому с радостью хочу вас всех туда пригласить.
10 октября в Москва в ИнфоПространстве пройдёт 10 конференция «Встраиваемые технологии и Интернет вещей», которую организует компания Кварта Технологии. Участие бесплатное, необходима регистрация.
«Каждому по кванту»: Станут ли квантовые вычисления коммерческим продуктом?
Ближайшие события
Поиграем в Firebase
Меня зовут Оксана и я Android-разработчик в небольшой, но очень классной команде Trinity Digital. Тут я буду рассказывать об опыте создания настольной игрушки на базе Firebase и всяких разных железяк.
Кроссплатформенный IoT: Использование Azure CLI и Azure IoT Hub
Пять главных аспектов плохой безопасности интернета вещей
Рынок безопасности интернета вещей к 2021 году достигнет $37 млрд, согласно аналитическому отчёту Marketsandmarkets.com. Где разрастается хаос в сфере кибербезопасности, там и тратятся большие деньги на обеспечение этой безопасности.
В начале 2017 года эксперты предсказывали, что зияющие в IoT бреши приведут к разрушению критически важной инфраструктуры, росту конкурентной разведки и краж интеллектуальной собственности. Также прогнозировалось, что многократное увеличение DDoS-атак парализует Dyn DNS-систему, а с ней и многие важные веб-домены.
Давайте рассмотрим пять основных аспектов плачевного состояния IoT-безопасности, вытекающего из взрывного роста, масштабов, уязвимости, ёмкости и доступности устройств.
Итоги «SAP Кодер 2017»: умный холодильник, виртуальный ассистент рекрутера и многое другое
Напомним, SAP Кодер 2017 – это наш первый в СНГ онлайн-конкурс для разработчиков на открытой облачной платформе SAP. Среди десятка призеров было много любопытных проектов, включая системы диспетчеризации скорой помощи, управления инкассацией для сети банкоматов и оптимизации цен в ритейле. А сервис мониторинга отгрузки товаров настолько заинтересовал жюри, что в зале прозвучала фраза «почти купил».
Интеграция TI SensorTag, Eclipse kura и веб части через Apache Camel
Привет всем. В данной статье я бы хотел показать пример использования связки TI SensorTag, Raspberry PI, Apache Camel с выводом в веб часть. В результате будет веб приложение, отображающее в реальном времени данные с сенсоров и бд хранящая показания, с промежуточным связующим узлом в виде Apache Camel приложения.
Цифровой датчик температуры TSic: адреса, пароли, явки
Герой сегодняшней статьи, на первый взгляд, не представляет собой ничего особенного — мало ли мы видели цифровых датчиков температуры. Однако у серии TSic есть два необычных свойства: действительно высокая точность (до ±0.07°C у старшей модели) и малоизвестный однопроводной интерфейс ZACwire.
Под катом подробно описываем номенклатуру стандартных датчиков TSic и кастомные решения, разбираемся в особенностях коммуникационного протокола, смотрим примеры программ для МК. Словом, делаем всё чтобы убедить уважаемого читателя в том что датчики TSic стоят своих денег.
Проблемы безопасности и главные достижения ИИ
Тема искусственного интеллекта остается в фокусе интереса большого количества людей. Главная причина неослабевающего внимания публики в том, что за последние годы мы узнали о сотнях новых проектов, где используются технологии слабого ИИ. Весьма вероятно, что ныне живущие на планете люди смогут воочию застать появление сильного ИИ. Под катом история о том, когда именно ждать башковитых роботов в вашей квартире. Спасибо за светлые мысли ZiingRR и Владимиру Шакирову. Enjoy.
Вклад авторов
smart_alex 1032.4olegator99 452.0uuuulala 351.0shiotiny 253.0olartamonov 253.0SmirkinDA 233.6AlexxIT 207.01cloud 195.2dlinyj 188.0gerasimenkoao 178.0