Предыстория
Есть торговые автоматы собственной разработки. Внутри Raspberry Pi и немного обвязки на отдельной плате. Подключены монетоприёмник, купюроприёмник, банковский терминал… Управляет всем самописная программа. Вся история работы пишется в журнал на флешке (MicroSD), который потом передаётся через интернет (с помощью USB-модема) на сервер, там складывается в БД. Информация о продажах загружается в 1с, также есть простенький веб-интерфейс для мониторинга и т.п.
То есть журнал жизненно необходим — для учёта (там выручка, продажи и т.д.), мониторинга (всевозможные сбои и другие форс-мажорные обстоятельства); это, можно сказать, вся информация, которая у нас об этом автомате.
Проблема
Флешки показывают себя как очень ненадёжные устройства. Они с завидной регулярностью выходят из строя. Это приводит как к простоям автоматов, так и (если по каким-то причинам журнал не мог быть передан онлайн) к потерям данных.
Это уже не первый опыт использования флешек, до этого был другой проект с более, чем сотней устройств, где журнал хранился на USB-флешках, там тоже были проблемы с надёжностью, временами число вышедших из строя за месяц исчислялось десятками. Пробовали разные флешки, в том числе и брендовые на SLC памяти, да некоторые модели надёжнее других, но замена флешек не решила проблему кардинально.
Характеристики Raspberry Pi 4 Model B
Одноплатный компьютер Raspberry Pi 4 model B был представлен 24 июня 2019 г. Модель пришла на смену Raspberry Pi 3+. Новинка получила множество обновлений и превосходит свою предшественницу по производительности.
Основные порты Raspberry Pi 4 Model B
Таблица основных характеристик.
Описание | |
Название: | Raspberry Pi 4 Model B |
Процессор: | Broadcom BCM2711 4 ядра Cortex-A72 (ARMv8)64-bit SoC @ 1.5 GHz |
RAM: | На выбор модели (LPDDR4-2400 SDRAM):
|
Питание: | USB Type-C (5V, минимум 3А).Возможно питание через GPIO (5V, минимум 3А). |
Портыи разъемы | 2 порта Micro-HDMI (одновременная поддержка двух мониторов с разрешением 4K) |
2 порта USB 2.0 |
Характеристики впечатляют. Производитель отдельно делает акцент на том, что плату можно использовать в качестве настольного компьютера с подключением двух мониторов. Конечно, нужно отдавать себе отчет в том, что сравнивать малинку с обычным компьютером можно с определёнными ограничениями, но для ряда задач она вполне может заменить настольный компьютер. Пользователь получает крошечный, абсолютно бесшумный компьютер, со встроенным WiFi, Ethernet-портом и четырьмя USB, два из которых USB 3.0.
SCADA на Raspberry: миф или реальность?
Winter Is Coming. На смену программируемых логических контроллеров (ПЛК) постепенно приходят встраиваемые персональные компьютеры. Это связано с тем, что мощности компьютеров позволяют одному устройству вобрать в себя функционал программируемого контроллера, сервера, и (при наличии у устройства выхода HDMI) еще и автоматизированного рабочего места оператора. Итого: Web-сервер, OPC-часть, база данных и АРМ в едином корпусе, и всё это по стоимости одного ПЛК.
В статье рассмотрим возможность применения таких встраиваемых компьютеров в промышленности. Возьмем за основу устройство на базе Raspberry Pi, поэтапно распишем процесс установки на него открытой бесплатной Open Source SCADA-системы российской разработки — Rapid SCADA, а также разработаем в ней проект абстрактной компрессорной станции, в задачи которой будет входить удаленное управление компрессором и тремя вентилями, а также визуализация технологического процесса производства сжатого воздуха.
6. Клиент Steam Link
www.techwiztime.com
Производительность Raspberry Pi не позволяет играть на нём в особо требовательные игры. Но это не значит, что одноплатник для геймера бесполезен. Вам наверняка известно, что в клиенте Steam есть функция «Домашняя трансляция».
Работает она так: вы запускаете игру на своём мощном ПК, а затем изображение начинает транслироваться в реальном времени на другое устройство, с которого вы и будете управлять игрой.
В качестве такого устройства вполне может выступать Raspberry Pi. Подключите его к монитору или телевизору, подсоедините геймпады (лучше всего родной Steam Controller) и дайте доступ через Ethernet к вашей домашней локальной сети.
Затем установите приложение Steam Link, которое официально доступно на Raspberry Pi для системы Raspbian. Включите игру на ПК, начните трансляцию. И Rasbperry Pi превратится в своего рода консоль.
Простейшая интернет радио колонка «Kodi» или спасение «Малинового» кирпича
Основные предпосылки:
- Есть старая неиспользуемая плата Raspberry Pi первого поколения;
- Плата лежит на шкафу мертвым грузом и не используется — плата «Кирпич»;
Что хотелось бы получить:
- В определенный момент времени (например по настроению)
плата перестает быть «Кирпичом», и в нее вставляется волшебная карта памяти; - К плате подключается Ethernet кабель и штекер от обычной бытовой колонки или наушников;
- После подачи питания бывший «Кирпич» — поет
Основная идея:
- Минимальное количество телодвижений для какой либо настройки, в самом идеальном случае, подключаем только «Ethernet» кабель, питание и колонки, и больше ничего не делаем, от слова «совсем»;
- Бывший «Кирпич» из коробки поддерживаем например 20 интернет радиостанций, переключение которых по кругу можно повесить на нажатие колесика мыши или же на определенный pin GPIO (подключить два провода и их замкнуть (моя мечта с детства));
- Управление осуществляется по радио каналу, и этим радио каналом может стать обычная радио мышь;
- Взять уже готовую систему, дистрибутив собрать в «Yocto Project»
т.е. как обычно мы с вами ничего делать не будем, так как все уже сделано.
(достаточно только поместить стороннего наблюдателя с другой стороны «Телевизора»);
Дистрибутив Raspbian
Существует целый ряд дистрибутивов Linux, которые поддерживают работу с Raspberry Pi. Каждый из них имеет свои особенности. Среди них на первое место всегда ставят дистрибутив Raspbian.
Raspbian — это дистрибутив Linux, который основан на Debian. Его разработкой занимается сама Raspberry Pi Foundation и именно его рекомендует к использованию.
Raspbian использует среду рабочего стола PIXEL (Pi Improved Xwindows Environment, Lightweight). PIXEL основана на LXDE и OpenBox, но имеет определенные отличия и доработки.
Новичкам я рекомендую начинать знакомство именно Raspbian, так как он хорошо протестирован и должен работать без каких-либо проблем.
Ниже мы рассмотрим установку дистрибутива Raspbian.
Сделаю небольшое отступление. Очень часто, в отношении сборок Linux для Raspberry Pi не используют понятие дистрибутив, а называют их просто операционной системой. Стоит также отметить, что в Raspberry Pi используется процессор ARM, поэтому на малинку нельзя установить привычные нам дистрибутивы, которые мы используем на персональных компьютерах. Дистрибутивы для Raspberry Pi специально собираются под процессоры ARM и включают необходимые драйвера и программные компоненты, которые обеспечивают поддержку аппаратных частей платы.
Можно ли установить Windows
Нет, привычный Windows не будет работать. Однако, есть Windows 10 Internet of Things (IoT) Core — это специальная версия Windows для «интернета вещей» и ее можно установить на Raspberry Pi. Данная система разработана исключительно для встроенного использования. Она не включает графический интерфейс и не может работать, как настольная операционная система.
4. Извлечение граблей
/usr/share/rdesktop/keymapsraw
/home/user/runrdp-k raw
4.4. При попытке запустить rdesktop сеанс не открывается, в консоль выводится ошибка CredSSP
- Отключить проверку подлинности на сервере, снизив настройки безопасности. В принципе, в тех средах, где Pi пытаются использовать в качестве клиента RDP, это не должно быть слишком большой проблемой безопасности.
- Воспользоваться другим клиентом, например freerdp, remmina, заменив содержимое скрипта runrdp на строку запуска этого клиента.
4.5. Включение и выключение устройства
- С одной стороны, мы можем вообще не выключать устройство, выключая только монитор. Строго говоря, где я поставил RPi, все так и сделано. В общем-то устройство почти не греется, не потребляет электроэнергию, не шумит. Монитор, перед уходом, пользователь выключит.
- Можно настроить выключение на ночь по Cron-у, но тогда, чтобы утром включить RPi, пользователю придется передергивать провод, или блок питания.
- Решить этот вопрос можно, купив питающий USB-кабель с кнопкой размыкания (чтобы включить RPi нужно достаточно будет кратковременно разомкнуть цепь кнопкой). 120 рублей все удовольствие. Но здесь у пользователей сработает автоматика на выключение тем же способом, что для устройство будет аварийно. Учитывая, что мы вынесли волатильные разделы на tmpfs, наверное, маловероятно, что возникнут проблемы, но все таки никто не застрахован, что пользователь не войдет утром в систему из за краха rootfs. Не получилось, так сказать, решения «прибитого гвоздями».
- Есть решения с дополнительной кнопкой, включаемой в GPIO-порт, и включающей / выключающей устройство нежно (надлежащим способом). Но колхозить ее на корпус — это тратить часы и увеличивать себестоимость.
- Впрочем, для RPi даже есть корпуса со встроенной такой кнопкой (у китайцев вообще есть все). Но я лично еще не пробовал.
- Я думаю насчет включения устройства через разрыватель в USB-кабеле, а выключении его по горячей клавише (типа Ctrl+Alt+Shift+P), которая отслеживается системной службой, но руки проработать это решение никак не дойдут.
12. Веб-сервер
www.pimylifeup.com
У вас есть собственный сайт, блог или что-то в этом духе, и вам надоело постоянно платить за хостинг? Почему бы не разместить своё творение на Raspberry Pi? Конечно, одноплатник вряд ли потянет огромный ресурс с миллионами посетителей, но если сайт у вас небольшой, устройство с ним справится.
Можете установить на Raspberry Pi Apache, PHP, MySQL, WordPress — любые инструменты, которые вам понадобятся, и миниатюрный компьютер станет вполне неплохим веб-сервером. Остаётся только приобрести у интернет-провайдера статический IP. Или даже обойтись без этого, воспользовавшись сервисом No-IP.com.
Это далеко не всё, что можно сделать с Raspberry Pi. Умельцы в Сети делают из него собственные метеостанции, системы видеонаблюдения, автоматические раздатчики корма для собак и удобрений для цветов, и даже огромных боевых роботов. Наконец, ничто не мешает задействовать Raspberry Pi для нескольких задач сразу — всё зависит только от ваших потребностей и фантазии.
4. Музыкальный проигрыватель
www.pimusicbox.com
Любите музыку? Если у вас имеется запасной комплект хороших колонок, можете подключить их к Raspberry Pi и превратить одноплатный компьютер в музыкальную станцию.
Для Raspberry Pi создан специальный дистрибутив под названием Pi MusicBox, который предоставляет множество интересных возможностей. С ним вы сможете стримить музыку из Spotify, SoundCloud, Google Music и слушать подкасты iTunes и gPodder. Воспроизводить локальные и сетевые музыкальные файлы в MP3, OGG, FLAC, AAC и наслаждаться тысячами радиостанций через TuneIn, Dirble, AudioAddict и SomaFM. А ещё скробблить на Last.fm.
Pi MusicBox поддерживает внешние звуковые карты USB — это важно для меломанов, поскольку встроенный звук у Raspberry Pi не лучшего качества
Что такое Raspberry Pi
Raspberry Pi представляет собой настоящий компьютер, который выполнен в виде всего одной платы.
Raspberry Pi разрабатывается английской компанией Raspberry Pi Foundation.
Почему «малина»
«Raspberry» в переводе с английского, означает — «малина», поэтому компьютер очень часто называют малинкой.
Логотип Raspberry Pi — изображение ягоды малины. В символике платы и графическом оформлении материалов и аксессуаров часто применяют изображение малины.
Название «Raspberry» было выбрано по аналогии с названиями других компаний, которые также имеют съедобные названия — Apple (яблоко), Apricot (мандарин) Computers, Tangerine (мандарин) Computer Systems и другие.
«Pi» происходит от первоначальной идеи сделать маленький компьютер для работы с языком Python (Пайтон).
Модели Raspberry Pi
Система наименований различных моделей Raspberry Pi может немного запутать новичков, но на самом деле все очень просто.
Pi 1, Pi 2, Pi 3 и Pi 4 означают поколение модели.
- Pi 1 — это модели 2012-2014 г.
- Pi 2 — модели 2015-2016 г.
- Pi 3 — модели 2016-2018 г.
- Pi 4 — текущая модель 2019 г.
Индексы A, A+, B и B+ можно ассоциировать с характеристиками устройства. Модели B, в рамках одного поколения, более производительные и более «навороченные», чем модели A.
«+» добавлялся к моделям, которые имели совсем незначительные изменения по сравнению с моделью без индекса «+», например, Pi 1 B отличается от Pi 1 B+ наличием функции POE (Power over Ethernet).
Также есть Zero-версии платы. Они в прямом и переносном смысле «урезаны».
8. Сетевой диск
www.cnet.com
NAS — это сетевое хранилище в компактном корпусе, которое позволяет легко создавать бэкапы и восстанавливать данные со всех ваших компьютеров в локальной сети. У него много преимуществ, но всё-таки это довольно дорогая штука. Raspberry Pi может всё то же дешевле.
Возьмите Raspberry Pi с установленным Linux на борту и подключите к нему несколько жёстких дисков. Можно использовать как интерфейс SATA, так и USB. Затем в настройках носителей сделайте их общедоступными для всех ваших компьютеров в локальной сети. Получится эдакий импровизированный NAS.
Теперь ваши данные будут в безопасности. Сохраняйте все документы, фотографии и прочие важные сведения на диски Raspberry Pi и будьте уверены, что с ними ничего не случится.
Встроенное средство архивации Windows 10 и другие программы для бэкапов умеют сохранять резервные копии на сетевые диски, так что процесс копирования можно полностью автоматизировать.
11. Маршрутизатор
www.downey.io
Из Rasbperry Pi можно сделать нечто вроде роутера, который будет блокировать рекламу на всех устройствах в вашей домашней сети. Установите на одноплатный компьютер специальное приложение под названием Pi-Hole, настройте, затем переведите Raspberry Pi в режим раздачи Wi-Fi. Возможно, вам придётся докупить внешний модуль Wi-Fi для Pi, если качество сигнала покажется неудовлетворительным.
Когда все ваши гаджеты будут подключаться к интернету через Pi-Hole, на них перестанет отображаться . Баннеры в браузерах, всплывающие окна в приложениях на смартфонах или умных телевизорах — всё это будет заботливо вырезано.
Кроме того, Pi-Hole может блокировать нежелательные для вас сайты и показывать подробную статистику по расходам интернет-трафика.
А если немного поковыряться с настройкой, то с Raspberry Pi можно пропускать весь ваш трафик через VPN или TOR. Тогда вы забудете о постоянных блокировках.
Raspberry Pi проекты – счётчик импульсов
Первый проект для Raspberry следует начать с мигания светодиодами, но лучше сделать полезную вещь – счётчик воды, демонстрирующий работу подсчёта импульсов. На большинстве современных водомеров имеется вращающаяся область чёрного и белого цвета. Её и будем фиксировать. Тёмный цвет – логический 0, светлый – 1.
Кроме Raspberry Pi нам понадобятся:
- Moteino – беспроводной модуль на базе atmega328;
- EE-SY310 – ИК фотопрерыватель;
- Скетч для Moteino https://github.com/LowPowerLab/WaterMote;
- Скрипт для Raspberry https://github.com/LowPowerLab/SumpPumpAlert/blob/master/Gateway.py;
- Графическая оболочка https://github.com/emoncms/emoncms.
Данная конфигурация универсальна. Может быть адаптирована и под Raspberry Pi 1 проекты. К Moteino подключаем питание, фотопрерыватель (VCC, GND, OUT), а затем загружаем скетч WaterMote.ino. Изначально скетч считает: в галлонах в минуту, в последнюю минуту, всего. Но ничто не мешает переделать в литры.
Общий объем воды сохраняется в EEPROM для исключения потерь при отключении питания. Скрипт Gateway.py последовательно собирает данные и отправляет их в EmonCMS для графического вывода из MySQL. Подобный подход также работает с электросчётчиком, только там отслеживается мерцание светодиода.
Разработка IoT-шлюза на базе Raspberry CM3+
Рисунок 1 — Плата устройства
Большой опыт работы в сфере промышленной автоматизации и АСУТП, казалось бы, должен способствовать тому, что со временем уже много всего видел и много всего знаешь. Но не тут-то было. Оказывается, иногда могут возникать задачи и проекты, которые трудно реализовать стандартными средствами. Так под один крупный проект по мониторингу и управлению в «облаке» одного небезызвестного завода N требовалось найти подходящее железо. Однако оказалось, что в России по требованиям помехозащищенности устройства и открытости системы ничего подходящего не существует. Попытка заказать идеально подходящее нам устройство из-за рубежа провалилась, поскольку на территорию нашей страны оборудование с пометкой «IoT» весьма трудно ввести в промышленных масштабах. Другие же поставщики не устроили сроками доставки в 12 недель при небольших объемах и ценой. Поэтому в голове родилась и плотно осела мысль о создании своего устройства. Причем такого, чтобы оно было универсальным и подходило не только конкретно под этот один проект, а под множество других. В итоге от момента зарождения идеи, подбора поставщиков и корпуса, разработки платы, её отладки и тестирования, написания инструкций и технической документации прошло весьма много времени. Но зато теперь я держу с легким трепетом в руках полностью законченное и рабочее устройство, и могу заявлять, что мы это сделали!
Rhasspy — опенсорсный и полностью офлайновый речевой тулкит. Распознавание русского языка. Никаких утечек в облако
Фото из сравнения микрофонных массивов для DIY-устройств типа самодельной умной колонки
Системы вроде Amazon Echo передают в облако для хранения ваши конфиденциальные разговоры (даже записанные случайно). В некоторых случаях записи прослушиваются живыми операторами. Это не просто потеря конфиденциальности. Это как добровольно впустить в свою квартиру «товарища майора», который стоит рядом 24 часа в сутки, слушает и внимательно записывает, притворяясь услужливым ассистентом.
Вместо покупки коммерческой системы у корпораций типа Google, Amazon или «Яндекс», вы можете собрать аналогичную опенсорсную систему на базе Raspberry Pi 2-3 B/B+, персонального компьютера или ноутбука. Rhasspy — безопасный голосовой помощник, который работает автономно. Он ничего не передаёт на удалённые сервисы, при этом успешно справлятся с распознаванием речи и голосовых команд.
Telegram для Raspberry Pi
Благодаря свободному API мессенджера, появились проекты Raspberry Telegram, реализующие идею удалённого взаимодействия. Это весьма удобно, когда нужно управлять оборудованием через интернет, используя GPIO. Стоит отметить, что на Raspberry Pi проекты для начинающих чаще всего применяют этот интерфейс.
Чтобы это осуществить, потребуется:
- Устанавливаем Telegram на устройство IOS, Android или Windows
- Через поиск находим BotFather, нажимаем «Начать» (/start)
- Выбираем /newbot (указываем имя бота и имя пользователя)
- Когда бот будет создан, появится сообщение с токеном
- Вводим команды для установки Teleport в Raspberry Pi для связи с Telegram:
- sudo apt-get install python-pip
- sudo pip install teleport
- Создаём скрипт на Python, где обязательно указывается ТOKEN (примеры скриптов https://github.com/nickoala/telepot/tree/master/examples):
- telegram_bot = telepot.Bot(TOKEN)
Запускаем скрипт, и проверяем его работу
Для проверки используем светодиоды, подключенные к GPIO с определёнными номерами и Pin. Через скрипт включаются и отключаются выбранные светодиоды по команде из Telegram.
Кроме того, полнофункциональное ПО Telegram запускается на Raspberry Pi второй (Model B) и третьей версии. Порядок установки и параметры поддержки доступны на официальном сайте команды Eltechs.
Компьютерное зрение как альтернатива офисным пропускам
Сегодня я расскажу, как мы делали в офисе пропускную систему на основе сервиса распознавания лиц Vision. Сначала небольшая предыстория. Как в любом почтовом сервисе, мы создали систему антиспама. Такие системы сейчас делаются на основе машинного обучения, у нас им занимается мощная команда. А где машинное обучение, там и компьютерное зрение. Поэтому сервис Vision возник вполне органично и естественно.
Параллельно с этим несколько лет назад мы запустили Облако — надёжное хранилище файлов с геораспределением по дата-центрам, которым могут пользоваться как частные лица, так и компании. Со временем у нас появилось «Облако для бизнеса», которое не только хранит файлы, но и позволяет заказывать виртуальные машины. Постепенно это превратилось в MCS — Mail.ru Cloud Solutions, куда в качестве одного из сервисов очень органично вписался Vision.