• Arduino в Linux: копаемся в кишках проекта

    • Tutorial

    Введение


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

    Поэтому в данной заметке мы разберемся в структуре и настройках проекта.
    Читать дальше →
  • Arduino в Linux: настраиваем Qt Creator в качестве среды разработки

    • Tutorial
    Платформа Arduino популярна, независимо от того, ругают её или хвалят. Её создателям удалось снизить порог вхождения до уровня несколько кликов мышью + пара строк кода и вуаля — вот вам моргающий светодиодик. И вообще, для быстрого прототипирования поделок на AVR, Arduino вещь крайне удобная. Единственное что им не удалось это IDE, которую и IDE-то назвать сложно. Среди функций IDE она обеспечивает только одну — автоматизацию создания и сборки проекта.

    Для пользователей Windows существует альтернатива: MS Visual Studio Community + плагин vMicro который позволяет писать скетчи, но уже со всеми вкусностями, предоставляемыми IDE. Плагин без проблем качается в самой студии через меню «Инструменты» и в триале работает сколько угодно. Платная версия в теории поддерживает пошаговую отладку, но меня, как владельца лицензионной копии vMicro они не очень-то и впечатлили.

    Для пользователей Linux всё как всегда: хотим хорошую IDE — выбираем «жертву» и пытаемся прикрутить к ней нужный функционал. Существуют решения на базе Eclipse, но я не люблю эклипс, о чём уже однажды писал. Я мирюсь с ним как с неизбежным злом, когда под рукой нет вообще ничего подходящего. Из всех бесплатных IDE я больше всего уважаю мощный и замечательный Qt Creator, в котором я и моя команда работаем уже больше года. Поэтому и рассказывать буду о том, как превратить его в среду разработки для Arduino.
    Читать дальше →
  • 19 ноября приглашаем на пятый DIY Meetup



      Всем привет! DIY-сообщество Mail.Ru Group — разработчики, которые в свободное от работы время мастерят всякие крутые, неожиданные вещи (умный дом и умные часы, обнимишка, тепловизор на FLIR Lepton своими руками, электровелосипед и многое другое, всё это вы можете найти в нашем блоге на Гиктаймс) — периодически собираются, чтобы рассказать о своих разработках желающим и обменяться опытом с друзьями по разуму.

      В воскресенье, 19 ноября, приглашаем всех желающих на пятый открытый DIY Meetup Mail.Ru Group в Москве: скорее регистрируйтесь! По итогам голосования мы сформировали программу митапа, смотрите её под катом.
      Читать дальше →
    • Русификация библиотеки LiquidCrystal_I2C для OLED-дисплеев Winstar

        Для строчных дисплеев Winstar очень соблазнительно сократить число управляющих соединений, которых даже при четырехпроводном включении получается не меньше шести (R/W можно не подключать, см. вот эту публикацию автора). Говорят (в том числе и сами винстары, см. оф. сайт), что контроллер WS0010 может управляться по SPI (а некоторые даже и по I2C!), но инструкций в документации на эту тему упорно не помещают, и как с этим управляться — непонятно. К тому же SPI помогает не сильно — вместо шести соединений получаем четыре привязанных к дисплею, потому что еще для каких-то целей SPI в любительской практике употребляют нечасто. Потому самое удобное решение в плане сокращения числа соединений для стандартных плат Arduino — использовать так называемый расширитель (экспандер) портов на основе шины I2C под названием PCF8574. Это позволяет сократить число необходимых соединений до двух (не считая питания), причем на основе выводов стандартного порта TWI, что не мешает подключать к нему же различные датчики, часы и т.п.
        Читать дальше →
      • Opensource контроллер умного дома на базе Arduino Mega 2560 с поддержкой MQTT, DMX-512, 1-Wire, Modbus и Openhab

        Сегодня я решился вынести на суд общественности проект, работу над которым вел на протяжении последней пары лет: «LightHub». То, что получилось в итоге, можно назвать, пожалуй, самым дешевым решением для создания Умного дома, которое, тем не менее, умеет:

        • Управлять освещением и силовыми устройствами(Реле, диммеры DMX-512 и Modbus RTU)
        • Управлять теплыми полами (в качестве термодатчиков используются полтора десятка дешевых DS18B20, разведенных по квартире)
        • Управлять задвижками вентиляции/кондиционера
        • Управлять самодельной системой приточной вентиляции.
        • Многое такого, о чем я изначально не задумывался, просто в силу того, что контроллер получился абсолютно открытым, гибко конфигурируемым, и прекрасно дополняющим Опенсорсные решения Openhab+Mosquitto+NodeRed

        На вход контроллера подключаются обычные выключатели, кнопки, контактные датчики, датчики протечки и пр. которые могут управлять как локальными нагрузками так и устройствами, подключенными к другим таким же контроллерам или ко всему, что понимает протокол MQTT. У меня, например, подключен геркон, установленный в коробке входной двери. Когда закрываю замок на три оборота — выключаются свет, теплые полы, бойлеры, AV ресивер. Когда возвращаюсь — состояние этих приборов восстанавливается как было до ухода.

        На выход — например, такие вот релейные модули, DMX, Modbus переферия.

        Контроллеры конфигурируются при помощи JSON файлов, которые при старте контроллера загружаются по http (далее, конфиг можно сохранить в NVRAM через Serial CLI). Ну и, конечно, все это управляется системой Openhab 2, через штатное мобильное приложение.
        Задачи «малой автоматизации» решены как при помощи штатных openhab rules (не очень удобных), так и при помощи NodeRed. (По поводу NodeRed вот статья, которая прекрасно описывает пример автоматизации.)

        Исходники, вместе с примерами конфигов, выложены на GIThub, описание понемногу выкладываю на сайте проекта. Соответственно, более полная история под катом.
        Читать дальше →
      • Платформа ARM и брокер MQTT, как современная основа решений для Интернета вещей

          Протокол MQTT, на текущее время, завоевал свою популярность и стал стандартом де факто в проектах, направленных на создание решений для Интернета вещей (IoT). Конечно, Интернет вещей – это определенная абстракция или, правильнее, концепция построения распределенных сетей устройств или машин. При этом, частные задачи взаимодействия машин Machine-to-Machine (M2M), уже сегодня эффективно решаются, включая и уровень подключения этих систем к Интернет, как для создания промышленных систем автоматики, так, например, и для построения систем «умного дома». Очевидно, что для критически важных систем требуется наличие локального арбитра или брокера и устройств, позволяющих отработать решение ситуации не зависимо от качества Интернет-подключения, а также в случае полного разрыва связи.

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


          ClusterHAT review: Raspberry Pi cluster computer kit. Photo: MagPi magazine
          Читать дальше →
        • AdBlock похитил этот баннер, но баннеры не зубы — отрастут

          Подробнее
          Реклама
        • Приручение дикой зверушки: добавляем поддержку Homekit в «умную розетку» Redmond SkyPlug RSP-100S

          • Tutorial


          Предыстория


          Впервые про данную розетку я узнал из статьи Умная розетка Redmond SkyPlug RSP-100S Анализ конструкции и схемы электрической принципиальной. Выявление недостатков. Помню, что прочитав ее, в первую очередь заинтересовался схемой бестрансформаторного источника питания и тем, насколько компактно размещены элементы в корпусе розетки при том, что внутри полноценное реле, а не, скажем, симистор.

          О каких-то попытках перепрограммировать Bluetooth-модуль и речи не было, тк программирование BLE устройств исторически было делом очень непростым. Вот пример: Разработка IoT устройств с использованием Bluetooth LE, явно не DIY уровень.

          Однако, за прошедший год ситуация кардинальным образом изменилась…
          Читать дальше →
        • Как заварить чай по MQTT или доступная умная розетка с контролем температуры и тока

          • Tutorial

          Зачем?


          Даже в этом хабе наблюдается повышение интереса к IoT, по моему субъективному мнению это глобальная тенденция, выходящая далеко за рамки этого сайта. А значит стоит вставить и свои 5 копеек в развитие направления, тем более что давно крутилась мысль сделать узел для умного дома, который смог бы контролировать потребление любого прибора питающегося от сети 220В и давал возможность программировать логику управления в зависимости от параметров потребления, температуры, фазы луны и т.д. Существуют готовые решения, но часто в них что-то не устраивает, да и готовое это не наш метод если можно попробовать построить свой уникальный велосипед.



          Параметры будущего велосипеда:

          — Дешевое устройство из общедоступных компонентов.
          — Контроль тока в цепи потребителя.
          — Управление устройством по протоколу MQTT.
          — Контроль температуры устройства.
          — Два выносных датчика для контроля температуры потребителя.
          — Индикация состояния на экране устройства.
          — Аварийное отключения потребителя если температура или ток превысили задаваемые значения.
          Читать дальше →
        • Автоматизация дачного обогрева «своими руками»

            Дача — это хорошо, а вот теплая дача — это намного лучше, а на моей даче тепла как раз и не хватает, поэтому решил заняться вопросом организации дачного обогрева. Итак имеется небольшая дача, состоящая из 2-х комнат и небольшого общего коридора, также наличествует электричество 220В.

            Начал с идеи, надо было придумать систему обогрева которая бы держала комфортную температуру, здесь нужны датчики температуры, по одному в крайнем случае по 2 на комнату (на случай если один выйдет из строя). Прочитал много информации чем же можно устроить обогрев типа Электрокотел vs Конвекторы, решил что в моем случае мне лучше подойдут конвекторы (как оказалось в дальнейшем это не важно, можно было бы использовать любой из них). Принцип работы: делаю замер температуры, если она ниже требуемой — включаю конвертор(обогреватель), если выше требуемой выключаю. Идея сама по себе не нова, опять же комнатные термостаты могут решить этот вопрос, выглядят красиво — но вот цена на них кусается. Поэтому решил делать устройство самостоятельно.
            Читать дальше →
          • Arduino! Что дальше? Делаем велокомпьютер

            Как это было


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


            В 10 лет мне подарили радио конструктор, я думаю у многих такой был.




            Я собрал на нем все схемы, мне нравилось как они работали. Изучил все основные радиодетали. Потом купили радиоконструктор — «радиоприемник в корпусе». Надо было уже паять, он тоже скоро был готов и отлично работал. Я продолжал делать небольшие схемки. Платы — лак и стеклянные трубочки. Но потом увлёкся программированием. Освоил Си, потом Си++. По окончанию университета, стал работать программистом, чем и занят по сей день.


            Arduino


            Когда у меня подрос сын, я решил его тоже научить электронике. Взял свой старый пыльный конструктор и … сын его «выкинул». Что это за хлам, зачем мне пищать разными тонами. Какие- то не интересные схемы. Я задумался, и стал смотреть, чем можно заменить его. Знаток и другие конструкторы, были в общем-то аналогичны. И тут я случайно наткнулся на Arduino. Вот то, что нужно. Электроника и программирование в одном флаконе.




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

            Читать дальше →
          Самое читаемое