• Просто о сложном. Часть 2, создание беспроводного «умного дома». На основе технологии Linux, Z-Wave и ПО MajorDoMo

    • Tutorial

    Часть 2. Продолжаем создавать умный дом


    В этой части устанавливаем в систему «Умный дом» контроллер Z-Wave, определяем его и знакомимся с *Nix операционными системами и работой в терминале (программой PuTTY), свои действия буду немного пояснять.

    image

    Напомню мои требования к «умному дому» (УД):


    1. Место — квартира, где переделка (существенная переделка чего-либо не планируется).
    2. Возможность интеграции всех решений в единую систему УД с открытым кодом .
    3. Возможность постепенного расширения (масштабирования) функционала.
    4. По-возможности, минимальные затраты.
    5. По возможности покупка элементов системы в РБ или же в РФ, без всяких заказов с зарубежных сайтов. Пришел, посмотрел, купил.
    6. По возможности русскоязычный интерфейс, документация, поддержка.

    В первой части мы уже создали загрузочную карту памяти, настроили и узнали IP адрес платы Raspberry, немного научились работать с программой PuTTY и подключаться через SSH соединение.

    Сейчас делаем следующие шаги: расширим место на карте памяти, установим контроллер RaZberry в систему, немного ознакомимся с интерфейсом панели управления Z-Wave и MajorDoMo/
    Читать дальше →
    • +23
    • 10k
    • 8
  • Отладка многопоточных программ на базе FreeRTOS

    • Tutorial

    image

    Отладка многозадачных программ дело не простое, особенно если ты сталкиваешься с этим впервые. После того, как прошла радость от запуска первой задачи или первой демо программы, от бесконечно волнительного наблюдения за светодиодами, каждый из которых моргает в своей собственной задаче, наступает время, когда ты осознаешь, что довольно мало понимаешь (вообще не врубаешься) о том, что на самом деле происходит. Классика жанра: «Я выделил целых 3КБ операционной системе и запустил всего 3 задачи со стеком по 128Б, а на четвертую уже почему-то не хватает памяти» или «А сколько вообще стека я должен выделить задаче? Столько достаточно? А столько?». Многие решают данные задачи путем проб и ошибок, поэтому в этой статье я решила объединить большинство моментов, которые, в настоящее время, значительно упрощают мне жизнь и позволяют более осознанно отлаживать многопоточные программы на базе FreeRTOS.

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

    В данной статье я расскажу о следующих моментах:


    1. Настройка OpenOCD для работы с FreeRTOS.
    2. Не забываем включать хуки.
    3. Статическое или динамическое выделение памяти?
    4. Сказ, о параметре configMINIMAL_STACK_SIZE.
    5. Мониторинг использования ресурсов.
    Читать дальше →
  • Как мы в Smart Engines учили Sailfish OS распознаванию

      Smart Engines и Sailfish OS

      Всем привет! Как вы уже знаете по нашим статьям, мы в Smart Engines занимаемся распознаванием, причем распознавать мы стараемся на чем угодно и в любых условиях. Мы поддерживаем все популярные операционные системы: iOS, Android, Windows, Linux, MacOS, Solaris. Поддерживаем мы и отечественного производителя: Эльбрус и AstraLinux. Наши алгоритмы оптимизированы под ARMv7-v8, AArch64, x86, x86_64, SPARC, E2K, MIPS.


      Поэтому, когда мы увидели нарастающую популярность российской операционной системы Sailfish Mobile OS RUS, мы не смогли обойти ее стороной. Sailfish Mobile OS RUS — это POSIX-совместимая операционная система для мобильных устройств, развиваемая отечественной компанией «Открытая Мобильная Платформа» для решения задач корпоративных пользователей и государственных учреждений. По состоянию на февраль 2018 года является единственной мобильной операционной системой, включенной в реестр Отечественного ПО и прошедшей сертификацию ФСБ по классу АК1/КС1.


      В этой статье мы расскажем о своем опыте портирования нашей библиотеки распознавания Smart IDReader (технология Hieroglyph) на Sailfish OS. В ней будет код, ссылки и видео. Мы хотим, чтобы эта статья была технически информативной и полезной в качестве общей инструкции для тех, кто портирует С++ приложения на Sailfish OS.


      Читать дальше →
    • Что такое PAT? Лабораторная работа в Packet Tracer

      • Tutorial

      Введение


      PAT (Port Address Translation) — технология трансляции адресов с использованием портов. Данная технология решает проблему доставки возвратных пакетов. Так как количество белых IP ограничено нам необходимо экономить эти адреса. Помня об этом, была создана технология РАТ. Она позволяет локальным хостам использовать частные IP-адреса и установить один зарегистрированный адрес на маршрутизатор доступа. В технологии преобразования адресов РАТ используется особенность работы протокола ТСР: с точки зрения сервера абсолютно все равно, осуществляются соединения с тремя разными хостами с разными адресами или соединения устанавливаются с одним хостом на один IP-адрес, но с разными портами. Следовательно, чтобы подключить к Интернету множество хостов небольшого офиса с помощью одного только зарегистрированного публичного IP адреса, служба РАТ транслирует частные адреса локальных хостов в один имеющийся зарегистрированный. Чтобы правильно пересылать пакеты обратной коммуникации локальным хостам, маршрутизатор хранит у себя таблицу IP адресов и номеров портов для протоколов TCP и UDP. Об IP адресах и масках подсети можно почитать в другой моей статье.

      Задание лабораторной работы


      Создать простую сеть с использование технологии PAT (перегруженный NAT). Схема сети представлена ниже. Вся работа будет выполняться в программе Cisco Packet Tracer.


      Читать дальше →
    • О книге «Обеспечение безопасности АСУТП в соответствии с современными стандартами»



        Как обеспечить функциональную составляющую безопасности систем управления? Чем отличается функциональная безопасность от информационной безопасности и кто из них «главнее»? Есть ли смысл в сертификации на соответствие требованиям стандартов? Своим опытом в решении этих и других вопросов я старался поделиться с сообществом, когда полтора года назад начал публиковать на хабре серию статей. За это время из серии статей сложилось нечто большее.

        На днях издательство «Инфра-Инженерия» опубликовало мою книгу «Обеспечение безопасности АСУТП в соответствии с современными стандартами». Формат аннотации на сайте издательства предусматривает всего несколько строк, поэтому я решил поделиться с читателями основными идеями и развернутым содержанием книги.
        Читать дальше →
      • [Не только студентам] Лабораторная работа в Packet Tracer

        Задание лабораторной работы


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

        В сети должна быть реализована возможность связываться с любым из трёх помещений в компании, но при этом каждое помещение (отдел) должны быть изолированы.
        Также в третьем помещении необходимо создать беспроводную точку доступа. Эта точка должна иметь пароль junior17, должны автоматически выдаваться первые 20 адресов, SSID должен быть скрыт.

        Во втором отделе стоит не настроенный web сервер. Это тоже необходимо исправить. От Вас требуется реализовать в каждом помещении возможность получать доступ к серверу по url имени.

        В первом отделе 4 рабочих места, во втором — 2 рабочих места и сервер, третье помещение нужно для отдыха персонала (10 рабочих мест, в том числе 4 беспроводных).

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

        Так как Вы давно дружны с директором он попросил Вас создать административную виртуальную сеть и задать ей имя KingMan.

        В средствах Вы ограничены. У Вас осталось с прошлой работы 3 коммутатора Cisco 2960, маршрутизатор Cisco 1941 и роутер Cisco WRT300N.

        Всю работу необходимо выполнить в бесплатной программе Packet Tracer.
        Читать дальше →
      • Как разрабатывают и производят устройства IoT в России

          Мы с большим любопытством заглянули в R&D-отдел наших давних партнеров — компании Стриж, которая сама разрабатывает и производит в России базовые станции, конечные устройства IoT, протоколы передачи и ПО. Большая часть наших вопросов касалась организации процесса разработки и трудностей, с которыми они сталкивались.


          Читать дальше →
        • Использование LevelDB

            Столкнулся с ситуацией, когда мои коллеги для организации локального персистентного key-value хранилища используют SQLite, MemcacheDB, Redis игнорируя встраиваемые хранилища такие как LevelDB, Sophia, HamsterDB и т.д.

            Я разбил статью на две части:
            1. небольшое введение в api LevelDB;
            2. использование LevelDB, для хранения временных рядов.

            Подробности
          • Преступление и наказание для владельцев критической информационной инфраструктуры РФ



              Вирус Petya/NotPetya/ExPetr в 2017 году был «хорошим» примером насколько крупный бизнес может пострадать от такого рода атаки, например, Maersk оценила ущерб от «Пети»:
              “We expect the cyber-attack will impact results negatively by USD 200–300m.”
              Мы ожидаем, что кибер-атака негативно повлияет на результаты в размере 200-300 млн долларов США

              Вы помните, что в середине 2017 был опубликован Федеральный закон от 26.07.2017 N 187-ФЗ «О безопасности критической информационной инфраструктуры Российской Федерации» и этот закон вступил в силу с 1 января 2018 года, а вместе с ним вступили в силу изменения в Уголовный кодекс РФ.

              Думаю, вопрос ответственности за нарушение уголовного законодательства РФ является актуальным для тех, чья работа связана с критической информационной инфраструктурой (далее — КИИ).

              Внимание: в статье 2 картинки (одну вы видели) и много текста

              Leges intellegi ab omnibus debent