Pull to refresh
89
0
Анатолий @RyabovA

User

Send message

Нейросети и CV — основы теории и практика — система машинного зрения на одноплатнике Repka Pi

Level of difficultyMedium
Reading time28 min
Views5.9K

— Никто не обнимет необъятного!

Козьма Прутков, 1854

Одно из интересных и полезных применений нейросетей — обнаружение объектов на изображении, таких как машины, люди или человеческие лица.

Глубокое погружение в тему нейросетей требует немало времени и сил, а также определенных знаний в области математики. Хорошая новость в том, что уже созданы фреймворки, пригодные для применения в реальных проектах без предварительной фундаментальной подготовки программистов.

Вы, наверное, слышали, что для работы нейронных сетей требуются большие вычислительные мощности, а в данной статье мы на практике рассмотрим создание системы распознавания с помощью уже обученных моделей нейросетей и возможности создания такой системы на одноплатном компьютере на примере как Repka Pi.

Так же рассмотрим основные понятия нейронных сетей. Разберём, как добавить функции обнаружения лиц и людей в видеопотоке от обычной веб-камеры, подключенной через USB к Repka Pi. При этом будут использованы каскады Хаара, нейросеть Yolo-FastestV2, фреймворки OpenCV и NCNN, а также репозиторий ml-repka от компании Rainbowsoft.

Формат статьи не позволяет рассказать подробно о том, как устроены и работают нейронные сети, тут потребуется не одна книга. Тем не менее, наша статья может послужить хорошим для тех, кто собирается начать изучать нейросети и сразу хотел бы делать это и на практике, а также для тех, кто хочет добавить возможность обнаружения объектов в свое встроенное решение на базе одноплатного компьютера.

Так в статье есть целый ряд тщательно подобранных ссылок на материалы для более углубленного изучения предметной области. Надеемся, что эта статья сможет стать хорошим началом погружения в Мир ИИ и нейронных сетей вообще, и компьютерного зрения (CV) в частности, для всех, кто только собирался это сделать и ждал подходящего случая. Эта статья - как раз такой случай.

Читать далее
Total votes 21: ↑21 and ↓0+27
Comments2

Подключение модулей навигаторов U-BLOX к Repka Pi

Level of difficultyMedium
Reading time18 min
Views2.2K

Ранее в статье Получаем спутниковые координаты GPS/ГЛОНАСС с помощью модуля SIM868 на Repka Pi мы рассказали про модуль GSM/GPRS/GNSS Bluetooth HAT, реализующий все основные функции смартфона, в том числе получение координат GPS.

Теперь вы узнаете, как подключить к микрокомпьютеру Repka Pi модули, созданные компанией u-blox AG, созданные специально для работы со спутниковыми системами глобального позиционирования GNSS. Такие модули пригодятся, например, если вам не нужна полная функциональность SIM868.

Пользуясь нашей статьей, вы научитесь настраивать конфигурацию таких модулей с помощью программы, составленной на языке Python, а также мощной программой U-CENTER, созданной компанией u-blox AG. Такая настройка пригодится, например, для работы с российской системой ГЛОНАСС.

Читать далее
Total votes 4: ↑4 and ↓0+6
Comments3

Устанавливаем и применяем Docker на Repka Pi

Level of difficultyEasy
Reading time16 min
Views2.9K

Сейчас уже, наверное, трудно найти IT-специалиста, который никогда не слышал про Docker — открытую платформу разработки, доставки и запуска приложений в контейнере. У этой платформы много достоинств, в том числе эффективное использование ресурсов, легковесность, скорость, масштабирование, управление версиями приложений и образов, быстрое развертывание и запуск приложений, а также возможность запуска Docker и его приложений практически на любой платформе.

Если можно на любой, то давайте запустим Docker на микрокомпьютере Repka Pi российской разработки и сборки, оснащенной ОЗУ объемом 2 ГБайт. Прочитав нашу статью, вы научитесь использовать Repka Pi для изучения всех основных возможностей Docker, а также создавать приложения Docker, работающие с оборудованием через GPIO и I2C.

Мы расскажем, как установить Docker на Repka Pi, как с помощью двух команд запустить WordPress, как работать из контейнера Docker с пинами GPIO микрокомпьютера, а также напишем программу, получающую данные с погодной станции BME280 через интерфейс I2C.

Зачем Docker нужен на микрокомпьютерах

Установка Docker на Repka Pi

Установка WordPress

Создаем контейнер для работы с GPIO

Контроль и освобождение ресурсов

Загрузка образа контейнера на Docker Hub

Контейнер для работы с I2C

Полезные ссылки

Итоги

 

Читать далее
Total votes 8: ↑6 and ↓2+5
Comments0

Библиотека WiringRP для управления GPIO на Repka Pi

Level of difficultyMedium
Reading time23 min
Views1.3K

Если вы ищете средства для работы с GPIO микрокомпьютера Repka Pi из программ, составленных на Си, обратите внимание на библиотеку WiringRP. В этой статье мы расскажем, как создавать с ее помощью однопоточные и многопоточные программы, управляющие светодиодами, сервоприводами и реле, а также обрабатывающие прерывание от кнопки, подключенной к контакту GPIO.

Вы можете использовать WiringRP при создании программ для обучения и управления различными устройствами и системами. Это могут быть промышленные и робототехнические установки, устройства IoT, а также устройства умного дома.

Автор выражает благодарность создателю библиотеки WiringRP Сергею Шалапову за помощь в подготовке этой статьи.

Возможности WiringRP

Установка WiringRP

Загрузка библиотеки WiringRP

Мигаем светодиодом

Запускаем multiBlink

Добавляем управление кнопкой

Запускаем потоки при нажатии кнопки

Управляем реле и сервоприводами по кнопке

Полезные ссылки

Итоги

 

Читать далее
Total votes 4: ↑4 and ↓0+6
Comments0

Настраиваем минимальный WEB-сервер на Repka Pi 3. NGINX + PHP-FPM + MySQL и ставим Wordpress

Level of difficultyMedium
Reading time10 min
Views5.8K

В этой статье я расскажу как установить на Repka Pi 3 полноценный WEB сервер на Nginx с php-fpm и MySQL для того, чтоб в конечном счете установить WordPress и начать делать и размещать Ваш сайт на данной платформе. Ставить будем на родную ОС Repka Pi от 11.12.23 (последняя актуальна прошивка на момент написания статьи).

Читать далее
Total votes 10: ↑8 and ↓2+9
Comments22

Получаем спутниковые координаты GPS/ГЛОНАСС с помощью модуля SIM868 на Repka Pi

Level of difficultyEasy
Reading time25 min
Views9.3K

Сегодня уже трудно найти человека, который не знает, что такое навигатор и GPS-координаты. В этой статье мы расскажем о том, как встроить функции навигатора в устройство, собранное на базе микрокомпьютера Repka Pi. Для получения координат мы будем использовать модуль GSM/GPRS/GNSS Bluetooth HAT, о котором вы уже знаете из предыдущих статей нашей серии про эти модули на базе SIM868.

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

Вы научитесь получать от модуля сообщения NMEA в формате передачи данных между корабельными приборами. Этот формат часто применяется при интеграции навигатора с различными устройствами, которые должны получать и отслеживать данные о местоположении, направлении, скорости, параметры навигационных спутников и другие данные.

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

Если устройств много, то данные о координатах, добавленные в телеметрические данные, позволят сразу понять, где находится то или иное устройство, требующее внимания или обслуживания.

Модуль GSM/GPRS/GNSS Bluetooth HAT может отправлять данные, например, через GPRS или SMS, а также совершать телефонные звонки.

Читать далее
Total votes 15: ↑14 and ↓1+20
Comments1

Управление и администрирование Linux-сервера на одноплатнике (SBC) через браузер. На примере Repka Pi 3

Level of difficultyEasy
Reading time3 min
Views210

Сейчас же хочу рассказать про Webmin — намного более функциональное приложение, позволяющее полностью управлять «малиной» из браузера. Вообще, он используется для мониторинга и удаленного контроля «серьезных» серверов, но будет очень полезен и для владельцев одноплатных микрокомпьютеров.

Читать далее
Rating0
Comments0

Отправляем и принимаем SMS с помощью SIM868 и Repka Pi

Level of difficultyMedium
Reading time19 min
Views4.5K

В этой статье мы продолжим рассказ об использовании модуля GSM/GPRS/GNSS Bluetooth HAT, созданного на базе SIM868, для беспроводной передачи данных в виде СМС-сообщений через Российский одноплатник Repka Pi. Такой способ даже в наше время актуален, когда нужно управлять автоматикой или другими устройствами, когда 2G/3G/4G и даже GPRS не позволяет это делать из за удалённости/помех или по иным причинам и важно обеспечить высокую надёжность управления.

Это третья статья данного цикла и из первой статьи вы узнали, как с помощью упомянутого модуля обмениваться данными между микрокомпьютером Repka Pi с JSON-сервисом, доступным в интернете, по каналу GPRS. Вторая статья рассматривает такой обмен глубже, на уровне AT-команд, передаваемых в модуль через UART.

Теперь настала очередь рассказать об отправке и приеме коротких текстовых сообщений SMS (Short Message Service). Этот канал передачи данных пригодится, например, в тех случаях, если в месте расположения вашего оборудования недоступен ни WiFi, ни GPRS.

Сообщения SMS можно передавать в текстовом режиме, а также в так называемом режиме PDU (Protocol Data Unit). В первом случае длина сообщения не может превышать 160 байт, и в нем не должно быть символов кириллицы. Пользоваться режимом PDU сложнее, но в нем нет этих недостатков.

Далее мы рассмотрим работу в обоих режимах как с помощью Python и библиотеки RoverConnect, так и через AT-команды.

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

Читать далее
Total votes 10: ↑9 and ↓1+12
Comments8

У меня зазвонил Репка-фон. Делаем телефон на базе Repka Pi 3 с применением модуля SIM868

Level of difficultyEasy
Reading time15 min
Views8.4K

Делаем программно-управляемый телефон или даже узел связи на базе одноплатного компьютера Repka Pi и модуля платы функционального расширения для GSM связи.

Просто поражают возможности одноплатных компьютеров в формфакторе Raspberry за счёт применения с использованием их 40 pin разъёма, поддерживающего все наиболее популярные промышленные интерфейсы. Становится интересным пробовать решать разные задачи такого типа со ставшими доступными уже год назад Российскими одноплатниками Repka Pi, разработанными на основе китайской элементной базы, но разработанные и производимые уже в России и имеющие хорошую поддержку, что сильно меняет и расширяет возможности применения и получения ответов на возникающие вопросы, так как работы с такими задачами часто сопряжена с возникающими техническими вопросами.

Реализация телефонной связи и радиоуправление - это ооооочень интересные возможности, дающие много простора для решения различных задач по автоматизации процессов в рамках своих проектов, как DIY, так и вполне промышленных задач. Учитывая, что в Репке за последнее время добавлена возможность работать с CAN интерфейсов и I2S, то круг задач и поле для фантазии становятся практически не ограниченными.

Это четвертая статья серии, посвященной модулю GSM/GPRS/GNSS Bluetooth HAT. В этой статье рассмотрим как добавить в ваше IoT-устройство или другое оборудование функции мобильного телефона. Ранее мы рассматривали как принимать и отправлять сообщения и многое другое и вот настало время для реализации функционала полноценной телефонной голосовой связи.

Настало время превратить модуль GSM/GPRS/GNSS Bluetooth HAT, созданный на базе SIM868, в самый настоящий телефон, способный звонить и принимать звонки. Мы расскажем о том, как это можно делать из программы, составленной на языке Python, а также опишем соответствующие AT-команды. Вы проверите их в работе с помощью терминала minicom.

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

Читать далее
Total votes 32: ↑31 and ↓1+39
Comments55

Управление сервоприводами, часть 4. Управление «сервами» по I2C с Repka Pi через серво-драйвер Robointellect Controller

Level of difficultyMedium
Reading time20 min
Views3.3K

В предыдущих статьях нашей серии про сервоприводы мы рассказывали, как они устроены, как можно управлять сервоприводами с помощью широтно-импульсной модуляции ШИМ (Pulse Width Modulation,  PWM) с помощью контроллеров Robointellect Controller 001, а также напрямую через GPIO через генератор ШИМ на плате микрокомпьютера Repka Pi.

В четвертой статье серии статей про сервоприводы мы расскажем, как управлять сервоприводами с помощью контроллеров Robointellect Controller 001 или PCA9685, подключенных к Repka Pi через шину I2C.

Читать далее
Total votes 7: ↑7 and ↓0+7
Comments1

Продолжаем глубже изучать передачу данных по сетям GSM через GPRS с помощью SIM868 и Repka Pi — про AT-команды

Level of difficultyEasy
Reading time17 min
Views8.1K

 

В предыдущей статье мы рассказали, как с помощью модуля GSM/GPRS/GNSS Bluetooth HAT, созданного на базе SIM868, библиотек SIM800L, RoverConnect и Telemetry можно обмениваться данными между микрокомпьютером Repka Pi с JSON-сервисом, доступным в интернете.

Мы привели исходные коды программ на Python, которые можно использовать для такого обмена. Однако за пределами изложения остался рассказ о том, как происходит работа с модулем на уровне AT-команд.

Такая информация нужна для более глубокого понимания принципов работы SIM800 и SIM868 при передаче данных через GPRS (General Packet Radio Service). Она может пригодиться при отладке программ передачи данных, составленных с использованием других библиотек и языков программирования. Также же сведения об AT-командах GPRS потребуются, если вы собираетесь создать свою собственную библиотеку передачи данных в сетях мобильных операторов.

Собираем стенд для работы

Установка и запуск терминала minicom

Документация по AT-командам модуля

Получаем информацию с помощью AT-команд

Инициализация модуля SIM868

Обмен данными через GPRS

Полезные ссылки

Итоги

Читать далее
Total votes 12: ↑10 and ↓2+11
Comments10

Передаем данные с одноплатника Repka Pi (или Raspberry Pi) в интернет по GSM связи через модуль SIM868 и GPRS протоколу

Level of difficultyMedium
Reading time15 min
Views7.8K

Всегда ли вы берете с собой смартфон? Наверное да, ведь это удобно, когда под руками есть все каналы связи.

Но что, если вы собираете автономно работающее устройство с микрокомпьютером, такое как как радиоуправляемый вездеход, робот присутствия, устройство управления шлагбаумом, систему IoT, турникет или что-то подобное?

Было бы неплохо оснастить это устройство чем-то, похожим по функциональности на смартфон. Тогда вы смогли бы определять его координаты GNSS, обмениваться данными через GPRS, Bluetooth или SMS, а также просто позвонить на свое устройство по телефону и поговорить с ним (или с тем, кто стоит рядом).

Еще не так давно все это было реализовать довольно затруднительно, но сейчас доступны недорогие модули на базе SIM868, в которых есть все необходимое.

В этой статье мы расскажем о том, как настроить обмен данными по каналам GPRS мобильных провайдеров между микрокомпьютерами Raspberry Pi или Repka Pi с сервером, размещенном в интернете. Для обмена будем использовать модуль GSM/GPRS/GNSS Bluetooth HAT.

Читать далее
Total votes 11: ↑10 and ↓1+11
Comments6

I2C датчик INA219 + Python + Repka Pi: измеряем ток, напряжение и мощность во встраиваемых системах управления

Level of difficultyMedium
Reading time31 min
Views12K

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

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

В этой статье мы расскажем об использовании для контроля напряжения, тока и мощности недорогого модуля GY-219 с интерфейсом I2C и чипом INA219. Вы сможете подключить его практически к любому микрокомпьютеру, где есть такой интерфейс.

В статье будет описано подключение GY-219 к отечественному микрокомпьютеру Repka PI, однако все будет работать и с Raspberry Pi. В интернете вы найдете руководства, как подключить GY-219 к любому другому микрокомпьютеру или микроконтроллеру с интерфейсом I2C.

Читать далее
Total votes 19: ↑19 and ↓0+19
Comments22

Управление сервоприводами, часть 3. Управляем ШИМ/PWM сервоприводами с разъёмов GPIO компьютеров на примере Repka Pi

Level of difficultyMedium
Reading time19 min
Views5.8K

Из предыдущих статей нашей серии про сервоприводы вы знаете, что для управления сервоприводами используется широтно‑импульсная модуляция ШИМ (Pulse Width Modulation, PWM).

Это третья статья серии статей про сервоприводы. В ней мы расскажем, как управлять сервоприводами напрямую с порта GPIO микрокомпьютера Repka Pi 3. Вы попробуете сделать чисто программный генератор ШИМ, а также использовать аппаратный генератор ШИМ, доступный в Repka Pi.

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

Мы также расскажем, какие защитные меры нужно предпринимать при подключении сервоприводов непосредственно к контактам GPIO, а также научим запускать программы управления сервоприводами от имени непривилегированного пользователя.

Читать далее
Total votes 11: ↑11 and ↓0+11
Comments5

Управление сервоприводами, часть 2. Управляем сервоприводами с помощью серво-контроллера через USB любых компьютеров

Level of difficultyMedium
Reading time40 min
Views6.4K

В первой статье серии про сервоприводы с названием Сервоприводы: устройство и управление мы рассказывали о том, для чего нужны сервоприводы, как они устроены, и как ими управлять с помощью ШИМ, приведены характеристики некоторых популярных сервоприводов. Мы написали программу на Python для Repka Pi, позволяющую выполнять необходимые операции над сервоприводами с удержанием угла, а также с сервоприводами постоянного вращения.

С помощью этой, второй статьи серии, вы научитесь пользоваться 16-канальным ШИМ-контроллером Robointellect Controller 001. Данный контроллер создан на базе микросхемы PCA9685 и предназначен для управления различными исполнительными устройствами, использующими ШИМ-модуляцию:

Читать далее
Total votes 6: ↑6 and ↓0+6
Comments7

Знакомимся с RepkaPi.GPIO SysFS. Установка и управление GPIO через Python 3. Теоретические основы работы GPIO портов

Level of difficultyEasy
Reading time10 min
Views3.1K

Начнем знакомство с подключаемой библиотекой RepkaPi.GPIO, данная библиотека написана на Python 3 и для управления GPIO использует методы, реализованные через SysFS.

Читать далее
Total votes 6: ↑4 and ↓2+2
Comments1

Управление сервоприводами, ЧАСТЬ 1. Сервоприводы — устройство и способы управления

Level of difficultyMedium
Reading time24 min
Views32K

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

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

Однако если вам нужно повернуть вал двигателя на заданный угол или поддерживать вращение с заданной скоростью, то здесь пригодятся сервоприводы.

Это первая статья серии статей про сервоприводы. Из нее вы узнаете, как устроены эти устройства, какими они бывают, как ими можно управлять с помощью импульсных генераторов, а также через отечественный микрокомпьютер Repka Pi.

Другие статьи серии про сервоприводы вы найдете здесь:

Хочу начать управлять сервоприводами
Total votes 14: ↑14 and ↓0+14
Comments8

Дальняя радиосвязь с LoRa на одноплатных микрокомпьютерах Repka Pi

Reading time20 min
Views25K

Если вы занимаетесь сбором данных на обширной территории, да еще не охваченной интернетом, возникает задача передачи данных на расстояния, исчисляемые километрами без использования WiFi и сети Ethernet.

В решении этой задачи вам помогут радиомодули, передающие данные с использованием технологии связи на большие расстояния (Long Range, LoRa). Эта технология запатентована компанией Semtech и реализована в микросхемах приемо‑передатчиков (трансиверов), таких как SX1268, SX1276, SX1278.

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

К сожалению, скорость передачи данных LoRa невелика, порядка 2400–19 200 бит/c. Однако этого достаточно, например, для систем телеметрии и удаленного контроля, систем умного дома или других подобных систем.

Читать далее
Total votes 24: ↑24 and ↓0+24
Comments68

Repka Pi и начало работы. Тесты разных MicroSD, клонирование SD карт, создание образов SD карт c рабочей прошивкой

Level of difficultyEasy
Reading time13 min
Views9.7K

В данной статье пойдет разговор о MicroSD картах. У многих начинающих пользователей мини компьютеров типа Raspberry Pi, Orange Pi или как наш сегодняшний участник теста Repka Pi, задаются вопросом “Какую карту памяти выбрать?”. И данный вопрос является немаловажным, ведь от выбранной MicroSD зависит производительность системы в целом.

Читать далее
Total votes 14: ↑11 and ↓3+8
Comments7

С чего начинается embedded-разработка? Debug UART на Repka Pi 3 — подключение к отладочному терминалу Репки через UART

Reading time7 min
Views9.9K

В этой статье рассмотрим как подключиться к консоли Repka Pi 3 через UART.

Repka Pi как и другие компьютеры аналогичного семейства имеет Debug UART выведенный на 40 пиновый разъем платы.

Для начала работы нам потребуется программа PuTTY и USB to TTL конвертер с кабелем.

Скачиваем и устанавливаем программу текущую версию PuTTY с официального сайта https://www.putty.org/. На момент написание статьи версия PuTTY 0.78.

Вот так выглядит PuTTY после установки.

Начать свой Путь Embedded разработчика....
Total votes 19: ↑13 and ↓6+13
Comments16
1

Information

Rating
Does not participate
Location
Саратов, Саратовская обл., Россия
Registered
Activity

Specialization

Chief Product Officer (CPO), Systems Analyst
Lead
Project management
Development management
Agile
Optimization of business processes
Negotiation
Automation of processes
Presentations
Project planning
Information Technology
Strategic planning