• Елочка, зажгись! Часть 3: веб-интерфейс и приложение для Android

      Этим текстом мастер Гамбс завершает описание своей новой ёлочной гирлянды. 2015 г. Москва

      Привет, Хабр!

      Итак, мы добрались до финального этапа: раз у нас есть гирлянда, которой управляет нанокомпьютер Black Swift со встроенным Wi-Fi, то логично сделать для неё веб-интерфейс и смартфонное приложение, чтобы помигать светодиодом, если вы понимаете, о чём я.

      1. Гирлянда, подключение Black Swift и среда сборки под OpenWRT на C/C++
      2. Софт на C, работа с GPIO и программная ШИМ
      3. Веб-интерфейс и приложение для Android

      Но сначала — по просьбам читателей публикуем видео работающей ёлочной гирлянды. Не думаю, что кто-то не видел ёлочных гирлянд, думаю, что просто не все верят, что я правда 28-29 декабря пошёл за светодиодами, чтобы украсить ёлку…
      Читать дальше →
      • +24
      • 18,7k
      • 8
    • Елочка, зажгись! Часть 2: софт на C, работа с GPIO и программная ШИМ

        Привет, Хабр!

        В прошлый раз я написал о том, как можно несложно подключить наш нанокомпьютер к чему-нибудь исполнительному (ёлочной гирлянде, например) и развернуть среду для сборки под него программ на C/C++. Сегодня — вторая часть, о том, как написать программу на C для OpenWRT и, соответственно, Black Swift.

        1. Гирлянда, подключение Black Swift и среда сборки под OpenWRT на C/C++
        2. Управляющая программа на C и прямая и быстрая работа с GPIO
        3. Веб-интерфейс и приложение для Android


        Отмечу два момента. Во-первых, я не буду рассказывать о роли функции main и директивы #include — как я говорил раньше, сейчас я пишу в расчёте на людей, в принципе знакомых с программированием, но не знающих, с какой стороны подступиться к такой штуке, как компьютер для встраиваемого применения. Точнее, сегодняшний текст будет скорее для уже подступившихся — так что я остановлюсь на паре интересных моментов, таких как работа с логическими линиями ввода-вывода (GPIO) и микросекундными временами.



        Во-вторых, конечно, писать именно на C не обязательно. Под OpenWRT есть Perl, Python и даже Node.js — с ними вам не нужна, очевидно, никакая среда для сборки софта, только заливай@запускай.

        Читать дальше →
        • +19
        • 12,9k
        • 8
      • Елочка, зажгись! Часть 1: гирлянда и сборка ПО для OpenWRT

          Привет, Хабр!

          28 декабря, за четыре дня до Нового года, у меня возникла проблема: я осознал, что имеющие в продаже новогодние гирлянды — редкостная китайская дрянь. Дело в том, что у меня дома маленькая искусственная ёлка, а также маленький ребёнок — поэтому я не хотел, чтобы на ёлке в каком-либо виде присутствовали 220 В, а также не нуждался в гирляндах на несколько сотен лампочек. И быстро обнаружил, что после вычёркивания всего, подпадающего под эти пункты, в окрестных магазинах остаются исключительно товары категории «обнять и плакать».

          Поэтому мне пришлось сделать гирлянду самому. И у этой гирлянды есть IP-адрес.



          Впрочем, если говорить серьёзно, я преследовал две цели: не только сделать гирлянду себе, но и показать вам, как на нашем нанокомпьютере Black Swift можно делать различные проекты, от наколенных до вполне себе профессиональных — чтобы показать вам, что это довольно просто и быстро. С попутным обсуждением разных интересных моментов.

          Текст рассчитан на людей, которые более-менее понимают, как пишут программы, умеют держать в руке паяльник, но не более того — с какой стороны подойти к нанокомпьютеру с OpenWRT, остаётся загадкой. Попробуем её отгадать, тем более, что весь процесс не требует каких-то особенных (выходящих за вышеуказанные рамки) знаний или специального оборудования — программаторов, адаптеров и т.п.

          Так как это — первая статья по теме, я разобью её на три части, чтобы не получалась огромная простыня:
          1. Гирлянда, подключение Black Swift и среда сборки под OpenWRT на C/C++
          2. Софт на C, работа с GPIO и программная ШИМ
          3. Веб-интерфейс и приложение для Android



          В реальном времени все три части легко укладываются в рамки «проекта выходного дня».
          Читать дальше →
        • Black Swift: зачем мы его сделали

            Как уважаемые хабровчане знают, вот уже почти год мы разрабатываем маленький компьютер (примерно с SD-карточку), работающий под OpenWRT, со встроенным Wi-Fi, USB, Ethernet, азартными играми и доступными женщинами. Дмитрий dzhe уже несколько раз писал про него — и, в общем, с каждым разом собирал в комментариях один и тот же вопрос: а зачем вы вообще его делаете? Ну ведь есть же Raspberry Pi, стоит он столько же, есть VoCore, Carambola, Edison, в конце концов, — зачем нужен ещё один «нанокомпьютер»?

            Пожалуй, надо наконец на этот вопрос ответить — заодно отметив этим ответом появление у нас своего корпоративного блога (спасибо, Хабр!), а также запуск отдельного веб-сайта, посвященного только этому проекту.



            Если коротко: хотя изначально проект начинался как «а не сделать ли нам нанокомпьютер как у китайцев, но для себя и подешевле?», мотивация довольно быстро сместилась — мы поняли, что можем сделать его если не дешевле, то лучше и удобнее, и не только для себя.

            Читать дальше →
          • Простой интерфейс к умному дому с nooLite

            Сколько-то месяцев тому назад я поставил у себя дома «умный дом» на базе компонентов белорусской «Ноотехники», о которых на Хабре и Гиктаймсе писали много-много раз. Строго говоря, я не рассматривал его именно как умный дом — а в первую очередь как удобный: начинался он с желания получить управление лампами из разных мест квартиры без капремонта проводки, а заодно сделать посекционное включение для тех ламп, к которым сейчас проведена одна пара проводов.

            Если полистать публикации по данной теме, они в основном сводятся к трём вещам: «как я установил первый выключатель», «как я пишу супернавороченный интерфейс с плагинами и собственным скриптовым языком» и «как я настраиваю полную автоматизацию, чтобы вообще больше выключателей не видеть».

            Увы, ни одна из них ничего практически ценного мне не давала: помимо того, что последние две категории обычно находятся в вечном состоянии work-in-progress, я не верю в осмысленную автоматизацию света в городской квартире (больше тут автоматизировать особо нечего), а также не хочу собственный скриптовый язык. Я хочу систему, которая, будучи однажды установленной, позволяла бы и мне, и другим людям удобно управляться со светом в квартире, по возможности не поднимая задницу с кресла и не требуя никаких специальных знаний. И не только включать и выключать, но и, например, поменять функцию конкретной кнопки.



            В общем, я её сделал.

            Но обо всём по порядку.
            Читать дальше →
          • SMM? Спасибо, но нет, спасибо

              Если посмотреть записи по теме SMM и вообще онлайн-маркетинга на Хабре, да и на абсолютном большинстве прочих ресурсов, они будут сводиться преимущественно к оптимистичным рассказам, как вам надо сделать, чтобы привлечь много-много клиентов и жить с ними долго и счастливо. Негативные нотки если и проскакивают, то в ключе «вот так делать не надо, а надо так — и будет хорошо». Всё это до сих пор — хотя бум моды на SMM вроде немного прошёл — создаёт впечатление, что SMM нужен всем, это ключ к успеху, главное — правильно его применить. Многое, как обычно, объясняется тем, что минимум половина авторов текстов про SMM не против продать вам SMM-услуги, но — я хочу пойти дальше констатации этого факта и поговорить про то, почему не так уж редко надо не «разрабатывать выигрышную стратегию», а просто говорить «Нет». Для наглядности — на конкретном примере SMM.

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

              К сожалению, пока что не все продают чего-нибудь онлайновое.

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

              Итак, больше я там не работаю, у меня много свободного времени и я хочу поговорить об этом — о SMM в применении к бизнесу, торгующему материальными вещами. И показать на примерах, когда это модное направление не работает вообще просто из-за особенностей своей природы.

              Читать дальше →
            • Увеличение дальности датчиков метеостанций Oregon Scientific

              Некоторое время тому назад я наконец унифицировал метеостанции у себя в квартире — поставил во всех нужных местах Oregon Scientific BAR800 и BAR801, которые я нежно люблю не только за дизайн, позволяющий вешать их на стену, но и за внешний датчик, принимающий сигналы точного времени. Фокус в том, что сигналы оные (DCF-77 из Франкфурта) у меня в принципе дома ловятся, но только у окна или за окном — поэтому обычные метеостанции, у которых антенна встроена в собственно станцию, стоя в глубине квартиры, о времени толком ничего не знают. Разумеется, использование однотипных станций означает, что можно обойтись для всех одним датчиком, а не развешивать по окнам зоопарк.

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

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

              image

              Разумеется, методика подходит к любым метеодатчикам, так как конструкция у них всех примерно одинаковая.

              Читать дальше →