Pull to refresh
51
0.1
Александр Фролов @AlexandreFrolov

Управляющий директор

Send message

Как поднять почтовый сервер mailcow

Level of difficultyEasy
Reading time5 min
Views5K

Немного почтового сервера вам в ленту

Хочу поделиться своим опытом поднятия почтового сервера для личных нужд!
Бывает хочется сделать что-то эдакое, вот и получилась эта статья и личная почта.

Читать
Total votes 7: ↑5 and ↓2+3
Comments15

Большая шпаргалка по Docker: как распилить монолитный проект на части

Level of difficultyMedium
Reading time19 min
Views20K

Погружение в мир контейнеризации с докером — это путь к оптимизации развёртыванию приложений, а также ключ к упрощению жизни разработчиков и системных администраторов. Меня зовут Андрей Аверков, в IT c 2008 начинал пусть с аналитика-проектировщика IT систем, 11 лет в роли разработчика и последние годы на руководящих должностях. Сейчас я тимлид команды разработки из 9 человек в группе компании Кокос. Мы занимаемся созданием и поддержкой CPA платформ (gdeslon.ru, fxpartners.ru, ads.mobisharks.com), а также проектом по генерации лендингов — lpgenerator.ru. У нас большой опыт в разделении продуктов на части, поэтому, сегодня мы собрали самое основное и необходимое для работы с Docker. В нашей шпаргалке вы найдете все необходимое для успешного старта с докером: от базовых концепций и установки до продвинутых техник работы с контейнерами.

Читать далее
Total votes 23: ↑18 and ↓5+13
Comments11

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

Level of difficultyEasy
Reading time25 min
Views7.4K

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

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

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

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

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

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

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

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

Level of difficultyMedium
Reading time19 min
Views3.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 14: ↑13 and ↓1+12
Comments8

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

Level of difficultyEasy
Reading time15 min
Views7.9K

Делаем программно-управляемый телефон или даже узел связи на базе одноплатного компьютера 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 41: ↑40 and ↓1+39
Comments55

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

Level of difficultyEasy
Reading time17 min
Views4.8K

 

В предыдущей статье мы рассказали, как с помощью модуля 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 16: ↑14 and ↓2+12
Comments10

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

Level of difficultyMedium
Reading time15 min
Views6.6K

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

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

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

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

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

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

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

Level of difficultyMedium
Reading time31 min
Views9.6K

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

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

В этой статье мы расскажем об использовании для контроля напряжения, тока и мощности недорогого модуля 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
Views4.4K

Из предыдущих статей нашей серии про сервоприводы вы знаете, что для управления сервоприводами используется широтно‑импульсная модуляция ШИМ (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
Views5.3K

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

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

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

Отправка SMS кириллицей с AT-модема

Reading time3 min
Views6.6K

Оперативное информирование клиентов, когда их достаточно много для ручного обзвона, но недостаточно много для подключения массового сервиса, вроде sms.ru (на самом деле сервис хорош, но недавняя политика некоторых мобильных операторов создала определённые финансовые сложности ввиду заградительных тарифов на использование услуг sms-рассылок с/без использования имён, для относительно не крупных рассылок), что породило потребность в применении независимого инструмента.

Путем продолжительных скитаний по просторам сети, был изучен ряд материалов и некоторые готовые решения. Спасибо dos999 (Ссылка на пост) за отправную точку, но хотелось бы реализовать это "модном" на python3.

Была предпринята попытка адаптировать изложенную логику на основе полученных знаний, но уперся в кириллическую кодировку, т.к. готового кодера в UCS-2 python не имеет, а варианты на основе utf-16 приводили к какому-то такому результату "PÉQ@P>Q£Q$P>P9".

Но, кто ищет - то находит. Попалась мне на задворках сети готовая реализация на python2 от huh-muh (Ссылка на пост). И тут пазл сложился, а адаптировать под python3 труда не составило:

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

Реализация отправки sms-уведомлений

Reading time3 min
Views16K
В виду достаточно большого парка серверов/свитчей/модемов и иного активного оборудования в конторе, была установленная система мониторинга zabbix и успешно использовалась продолжительное время. Zabbix имеет замечательную возможность отправки уведомлений о возникших проблемах.
Для этого был написан скрипт отправки sms сообщений через шлюз email-to-sms оператора связи, ограничение по количеству смс с одного адреса в сутки было обойдено путем ротации исходящих адресов, работало более или мение сносно, но в последнее время смс сообщения через данный шлюз начали доходить с задержкой порядка 10-15 минут, что уже не очень нравилось.
Итак, было решено организовать отправку уведомлений через собственный GSM-терминал, порывшись в прайсах поставщиков и не обнаружив там подходящих по цене и характеристикам GSM модемов весьма огорчился.
И тут вспомнилось что дома валяется старый Siemens CX65 да еще и data-кабель к нему, после подключения телефона и курения доков по отправке sms сообщений пришел к не очень радостному выводу, оказывается siemens не поддерживает отправку sms в текстовом режиме, команда AT+CMGF=1 возвращает error.
Отправка сообщений в данных аппаратах возможна только в режиме PDU, ради спортивного интереса и для размятия мозгов было решено реализовать эту систему, был написан скрипт для перекодировки в PDU формат сообщений и отправки через телефон.
Читать дальше →
Total votes 46: ↑42 and ↓4+38
Comments44

Игровая платформа RetroPie на Repka Pi 3 или еще одна игровая ретро-консоль на Репке

Level of difficultyEasy
Reading time3 min
Views5.1K

В статье расскажу об импортозамещении Raspberry Pi на российский одноплатный микрокомпьютер Repka Pi 3, разработанный НПО Рэйнбовсофт (Rainbowsoft) из Саратова

Читать далее
Total votes 19: ↑16 and ↓3+13
Comments28

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

Level of difficultyMedium
Reading time24 min
Views20K

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

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

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

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

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

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

Введение в Iptables

Reading time6 min
Views60K

Iptables - это мощный инструмент управления сетью в Linux, который позволяет администраторам управлять входящими и исходящими пакетами данных. Это основной инструмент для настройки межсетевых экранов в системах Linux.

Читать далее
Total votes 9: ↑6 and ↓3+3
Comments9

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

Reading time20 min
Views18K

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

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

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

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

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

Zabbix-мониторинг российского микрокомпьютера Repka Pi

Reading time12 min
Views5.7K

В этой статье я расскажу о настройке Zabbix-мониторинга российского одноплатного микрокомпьютера Repka Pi 3, разработанного НПО Рэйнбовсофт (Rainbowsoft) из Саратова. Помимо параметров, доступных для мониторинга с помощью стандартного агента Zabbix, с помощью шаблона  zabbix-agent-on-repka-pi, рассмотренного в этой статье, вы сможете поставить на контроль температуру CPU и GPU, а также тактовую частоту ядер процессора.

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

Перенос в Docker монолитного SAAS-сервиса

Reading time18 min
Views3K

В этой статье мы расскажем о переносе одного из компонентов монолитного SAAS-сервиса, а именно тестового интернет-магазина, в контейнеры. Статья будет полезна тем, кто только приступил к изучению Docker.

Читать далее
Total votes 7: ↑5 and ↓2+3
Comments11

STM8L подробное руководство первых шагов

Level of difficultyEasy
Reading time6 min
Views11K

Речь пойдет о маломощном микроконтроллере STM8L001J3. Постараюсь подробно рассказать о необходимых шагах для прошивки "hello world" и различных подводных камнях.

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

Docker-compose: идеальное рабочее окружение

Reading time11 min
Views200K


Здрасте!
В последнее время все чаще задумываюсь об оптимальности рабочего процесса и хотелось бы поделиться своими изысканиями в данном вопросе.


В данном посте поговорим про docker-compose, который по моему мнению является панацеей в вопросе организации и оптимизации рабочего процесса разработчика.


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

Читать дальше →
Total votes 28: ↑12 and ↓16-4
Comments47
1
23 ...

Information

Rating
3,125-th
Location
Москва и Московская обл., Россия
Date of birth
Registered
Activity