• Удешевление мелких серий электроники в России. Кейс интернет-радиоприемника WOLNA

      На картинке ниже фото двух версий платы интернет-радиоприемника WOLNA-1 Слева до того, как я осознал как оптимизировать себестоимость, и справа после. Для сравнения: 120 точек пайки против 300, 20 компонентов против 80, 14 пунктов в BOM вместо 31. И при этом функционал стал шире- появился контроллер питания литиевых аккумуляторов. Кому интересно как это произошло и сколько помогло сэкономить, добро пожаловать под кат. Так же этот материал будет полезен неопытным заказчикам разработки, обращающимся к фрилансерам.

      image
      Читать дальше →
    • Быстрый старт с ARM Mbed: разработка на современных микроконтроллерах для начинающих

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

        Традиционным уникальным преимуществом платформы Arduino называлось (да и сейчас иногда называется, хотя это уже неверно — и мы поговорим, почему) опускание порога входа в микроконтроллерную разработку до уровня базовых знаний C/C++ и электроники в маштабе «подключить светодиод в нужной полярности».

        Спросите примерно у любого активного сторонника Arduino — и вам быстро объяснят, что можно, конечно, писать под STM32 или nRF52, но выгоды в том реальной никакой, зато вас ждут бессонные ночи над сотнями страниц даташитов и бесконечные простыни функций с длинными непонятными названиями.

        Заслуги Arduino в снижении порога вхождения действительно трудно переоценить — эта платформа появилась на свет в середине нулевых годов, а после 2010 завоевала серьёзную популярность среди любителей. Особых альтернатив на тот момент ей не было — процессоры на ядрах Cortex-M только появились, по сравнению с AVR они были довольно сложны даже для профессиональных разработчиков, а отладочные платы у большинства вендоров стоили от сотни долларов и выше (и в общем в индустрии ценник за отладку на 5-долларовом контроллере в $500 никого сильно не удивлял).

        Однако большая проблема Arduino в том, что её развитие за минувшие 10+ лет более всего напоминает некоторые модели АвтоВАЗа:


        Так как дальше я планирую длинное вступление, то сейчас, чтобы вы представляли, в чём будет заключаться практическая часть, я приведу полный текст программы, включающий инициализацию процессора STM32 и мигание светодиодом. Программа написана для ОС ARM Mbed:

        #include "mbed.h"
        DigitalOut myled(LED1);
        
        int main() {
            while(1) {
                myled = 1; // LED is ON
                wait(0.2); // 200 ms
                myled = 0; // LED is OFF
                wait(1.0); // 1 sec
            }
        }

        Похоже ли это на высокий входной порог? На функции с непонятными названиями? Бессонные ночи над даташитами? Нет? Ладно, давайте не будем забегать вперёд.
        Читать дальше →
      • Праздник к нам приходит: ГКРЧ расширила ISM-диапазон 868 МГц в два раза

          Короткая, но важная для причастных к IoT новость: ГКРЧ официально расширила безлицензионный диапазон 868 МГц, в котором традиционно живут такие сети, как LoRaWAN, Стриж/Вавиот, Sigfox и другие.

          Официально это называется «неспециализированные устройства малого радиуса общего применения», а закреплены изменения в Приложении 12 к Решению ГКРЧ № 18-46-03-1 от 11 сентября 2018 года.

          Было:

          • 864,0 — 865,0 МГц — мощность до 25 мВт, рабочий цикл до 0,1 % или LBT*, запрещено использование на территории аэропортов
          • 868,7 — 869,2 МГц — мощность до 25 мВт, рабочий цикл без ограничений, использование без ограничений

          Стало (жирным выделены изменения):

          • 864,0 — 865,0 МГц — мощность до 25 мВт, рабочий цикл до 0,1 % или LBT*, запрещено использование на территории аэропортов
          • 866,0 — 868,0 МГц — мощность до 25 мВт, рабочий цикл до 1 % или LBT*, запрещено использование на территории аэропортов, спектральная плотность мощности до 1000 мВт/МГц
          • 868,7 — 869,2 МГц — мощность до 100 мВт, рабочий цикл до 10 % или LBT*, использование без ограничений

          * Listen Before Talk. Что это означает, правда, никто не знает, так как в российских НПА техническая суть LBT нигде не расшифровывается. Да и, собственно, никто его и не использует.

          Что это означает конкретно для сетей LoRaWAN?
          Читать дальше →
        • Основы электробезопасности при проектировании электронных устройств

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

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


            Тема это большая и сложная, но я постараюсь выделить основные моменты — не в последнюю очередь на основании ошибок, которые я видел во всевозможных реальных устройствах и проектах, в том числе публиковавшихся на Хабре. Я не буду долго и нудно перечислять ГОСТы, но перечислю совсем базовые вещи, которые необходимо понимать и соблюдать, чтобы не убить хотя бы себя (если вы планируете не убивать также и окружающих, то после завершения этой статьи не поленитесь пролистать и релевантные ГОСТы).

            Итак, вы собрались делать устройство, которое как минимум одним своим концом включается в розетку.
            Читать дальше →
          • Опытное производство электроники за минимальный прайс

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

              Почитал я некоторые ранее опубликованные статьи о том, как жить славному молодцу, перед которым встала задача спаять 10-50-100 устройств из резисторов и микросхем, и взгрустнул, ибо во всех в них советы были даны если не вредные, то и не сильно полезные.


              А вот, например, совет держать включённый паяльник за ручку — полезный!

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

              • регулярно надо делать 5-10-50-100 плат с SMD-компонентами
              • по возможности быстро
              • по возможности дёшево

              Если вы можете позволить себе — что по срокам, что по деньгам — услуги «Резонита» или «Компэла» (сотрудничающего, впрочем, с «Резонитом») по сборке модулей под ключ, то текст ниже в общем и целом не для вас. Однако, на практике даже в достаточно крупных компаниях люди, занимающиеся опытными образцами, часто собирают их сами — потому что это занимает пару дней вместо недели, потому что всегда можно на ходу что-то подправить, потому что не надо бегать между начальством и бухгалтерией со счетами и актами… В мелких же вопрос упирается попросту в деньги.

              Тем более, что в наше время базовое оборудование, позволяющее делать подобные вещи достаточно быстро и достаточно дёшево, доступно даже любителю-одиночке.
              Читать дальше →
            • Нейрокурятник: часть 1. Установка Raspberry Pi и камеры в курятник и их настройка

              • Tutorial
              image
              Большой брат следит за тобой, птица!


              Статьи про нейрокурятник
              Заголовок спойлера
              1. Вступление про обучение себя нейросетям
              2. Железо, софт и конфиг для наблюдения за курами
              3. Бот, который постит события из жизни кур — без нейросети
              4. Разметка датасетов
              5. Работающая модель для распознавания кур в курятнике
              6. Итог — работающий бот, распознающий кур в курятнике

              Читать дальше →
            • Linux: кнопки, светодиоды и GPIO

              Введение


              Начиная с версии 2.6.26 (кажется) у Linux появляется стандартный интерфейс для работы с GPIO через sysfs. В оригинале прочитать об этом можно в [LGPIO00]. Я попытаюсь пересказать своими словами содержимое этого документа.

              Главной точкой работы с GPIO является директория /sys/class/gpio. Если вы загляните в нее, то увидите два файла: export и unexport. Сразу после загрузки системы, все линии GPIO принадлежат ядру и использовать их в своих программах просто так не получится. Для этого, линию GPIO нужно экспортировать, записав её номер в файл export. Например, команда: echo 8 > /sys/class/gpio/export – сообщает ядру, что мы хотим использовать GPIO8. Перевод каретки '\n' и символ окончания строки '\0' – не обязательны: код на языке C: write(fd, “8”, 1); — отработает точно так же.
              Читать дальше →
            • WiFi колонка/плеер на базе Orange Pi Zero или история о потерянном времени

              Доброго дня уважаемым хабровчанам!

              Предыстория


              История моя началась с того, что по просьбе одного друга нужно было сделать небольшое программируемое устройство с выводом звука и GPIO. Давно хотел поработать с каким-либо одноплатником *Pi и потому сразу решил делать на чем-то подобном (результат + опыт). Друг почти сразу отказался от предложенного проекта, ну а я оказался с купленной платой OrangePi Zero. Некоторое время провалялась она без дела, пока не отдали мне старый МФУ Canon MX320 без поддержки сети. Мне очень не хотелось иметь лишний провод от ноутбука к принтеру, и в результате апельсинка была извлечена, настроена и работает с тех пор в качестве CUPS сервера по USB (результат, кстати, хороший, но это уже совсем другая история).

              Завязка


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

              Можно, конечно же, купить bluetooth-колонки. Или bluetooth-адаптер. Но это значит малый радиус действия и проигрывание музыки только на том устройстве, с которым по bluetooth связан телефон. Надо что-то посерьезнее. «Здорово было бы повесить такой сервер на апельсинку, который мог бы принимать аудиопоток с смартфона по WiFi, — подумал я, — ведь она постоянно подсоединена по ethernet к роутеру, малонагружена (так как стоит на ней Ubuntu Server 16.04), разместить можно удобно, электричества потребляет мало.» Сказано — сделано.
              Читать дальше →
            • Orange Pi на автомойке ч.3

                Продолжение статей Arduino на автомойке и Arduino на автомойке ч.2.


                Как понятно из заголовка перешли на использование Orange Pi One. Машинка гораздо поинтереснее Arduino. Выбран среди себе подобных в основном из-за цены. По сравнению в Arduino лучше решает следующие задачи:

                — сеть (проблем пока нет)
                — подключение монитора вместо табло
                — возможность использования тач-панели
                — возможность использования базы данных
                — возможность установки на «себя» веб-сервера
                Читать дальше →
              • 6 кнопок



                  Постановка задачи



                  Сутки добрые, Хабраюзеры!

                  Пару недель назад представитель федерации по кикбоксингу нашего региона поставил мне задачу, сделать то, что позволит сократить время проведения соревнований на 30% методом автоматизации, кибернизации, механизации и прочей «ции». Человек он простой, прямой, и сильный так, что отказать у меня не было возможности. Задача была принята.

                  Подробности
                • Самые полезные приёмы работы в командной строке Linux

                  • Перевод
                  Каждый, кто пользуется командной строкой Linux, встречался со списками полезных советов. Каждый знает, что повседневные дела вполне можно выполнять эффективнее, да только вот одно лишь это знание, не подкреплённое практикой, никому не приносит пользы.

                  Как выглядят типичные трудовые будни системного администратора, который сидит на Linux? Если абстрагироваться от всего, кроме набираемых на клавиатуре команд, то окажется, что команды эти постоянно повторяются. Всё выходит на уровень автоматизма. И, если даже в работе есть что улучшать, привычка противится новому. Как результат, немало времени уходит на то, чтобы делать так, как привычнее, а не так, как быстрее, и, после небольшого периода привыкания – удобнее. Помнить об этом, сознательно вводить в собственную практику новые полезные мелочи – значит профессионально расти и развиваться, значит – экономить время, которое можно много на что потратить.

                  image

                  Перед вами – небольшой список полезных приёмов работы с командной строкой Linux. С некоторыми из них вы, возможно, уже знакомы, но успели их позабыть. А кое-что вполне может оказаться приятной находкой даже для знатоков. Хочется надеяться, что некоторые из них будут вам полезны и превратятся из «списка» в живые команды, которыми вы будете пользоваться каждый день.
                  Читать дальше →