Сообщество - Arduino & Pi
Добавить пост

Arduino & Pi

1 377 постов 20 574 подписчика

Популярные теги в сообществе:

Моя первая SMD пайка))

Выглядит ужасно, но заработало с первого раза 😃

Моя первая SMD пайка)) Хобби, Микроэлектроника, Радио, Блок питания, Паяльщики, Видео
Показать полностью 1

Система мониторинга температуры в теплицах (Telegram, 1С, Yandex Алиса, Excel или голосовое оповещение)

Система мониторинга температуры в теплицах (Telegram, 1С, Yandex Алиса, Excel или голосовое оповещение) Linux, Гаджеты, Электроника, Промышленность, Технологии, Техника, Импортозамещение, Теплица, Длиннопост

На сегодняшний день даже система мониторинга в тепличных комплексах - это не дешёвое удовольствие.

Мы протестировали относительно не дорогой комплект, установили по 3шт промышленных датчика (modbus rtu) температуры +влажность в каждую 100метровую теплицу, которых было 9шт, собрали все данные по проводной шине (Utp5e RS485) около 900метров без каких-либо промежуточных коммутаторов и усложнения проекта. В промежутке поставили компьютер AntexGate.

Система мониторинга температуры в теплицах (Telegram, 1С, Yandex Алиса, Excel или голосовое оповещение) Linux, Гаджеты, Электроника, Промышленность, Технологии, Техника, Импортозамещение, Теплица, Длиннопост

Вот такая простая схема!

Итак проект реализовали на разработанном нами контроллере интернет вещей AntexGate + бесплатный софт Node-red, который передает данные либо сразу на экран монитора либо через web-интерфейс:

Система мониторинга температуры в теплицах (Telegram, 1С, Yandex Алиса, Excel или голосовое оповещение) Linux, Гаджеты, Электроника, Промышленность, Технологии, Техника, Импортозамещение, Теплица, Длиннопост

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

Система мониторинга температуры в теплицах (Telegram, 1С, Yandex Алиса, Excel или голосовое оповещение) Linux, Гаджеты, Электроника, Промышленность, Технологии, Техника, Импортозамещение, Теплица, Длиннопост

График температуры и влажности

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

Система мониторинга температуры в теплицах (Telegram, 1С, Yandex Алиса, Excel или голосовое оповещение) Linux, Гаджеты, Электроника, Промышленность, Технологии, Техника, Импортозамещение, Теплица, Длиннопост

Экспорт данных CSV

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

Система мониторинга температуры в теплицах (Telegram, 1С, Yandex Алиса, Excel или голосовое оповещение) Linux, Гаджеты, Электроника, Промышленность, Технологии, Техника, Импортозамещение, Теплица, Длиннопост

Настройки системы оповещения

Страница настроек для оповещения и привязки Teleram бота. Когда достигнут критический придел из всех устройств (телефоны, ПК) с открытым web интерфейсом либо из подключенного монитора происходит голосовое оповещение о низкой, или высокой температуре определенной теплицы и конкретного датчика.

Система мониторинга температуры в теплицах (Telegram, 1С, Yandex Алиса, Excel или голосовое оповещение) Linux, Гаджеты, Электроника, Промышленность, Технологии, Техника, Импортозамещение, Теплица, Длиннопост

Оповещение в телеге

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

Система мониторинга температуры в теплицах (Telegram, 1С, Yandex Алиса, Excel или голосовое оповещение) Linux, Гаджеты, Электроника, Промышленность, Технологии, Техника, Импортозамещение, Теплица, Длиннопост

Немного красоты из систем Умного дома

Примерно такой дружелюбный интерфейс у Яндекса, в добавок на производстве можно раскидать колонок и спрашивать о состоянии системы.

В заключении хотелось бы сказать, что реализация данной системы подходит для конкретного заказчика и большое преимущество свободно программируемых систем AntexGate + Node-red в том, что ее можно доработать в дальнейшем. Можно добавить стыковку с другими системами, весами, поливом, приводами, климатическими системами и другим.

Ниже наш прибор на котором реализован проект, система отработала год.

Система мониторинга температуры в теплицах (Telegram, 1С, Yandex Алиса, Excel или голосовое оповещение) Linux, Гаджеты, Электроника, Промышленность, Технологии, Техника, Импортозамещение, Теплица, Длиннопост

Компьютер интернет вещей AntexGate

Интересно услышать мнение профессионалов о необходимости такой системы на рынке, с разработчиками в РФ и учетом Европейских санкций.

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

Показать полностью 8

Чем заменить Raspberry PI в промышленности?

Чем заменить Raspberry PI в промышленности? Электроника, Linux, Raspberry pi, Гаджеты, Умный дом, Автоматизация, Промышленность, Встраиваемые системы, Контроллер, Длиннопост

Если коротко, то речь пойдет о промышленном ПК на основе Raspberry CM4 – это абсолютный аналог Raspberry Pi4 в промышленном исполнении с надёжной eMMC от Samsung и полной программно-аппаратной совместимостью.

Одну статью мы закончили фразой: «Надеемся, что мы вдохновим читателей на переработку Ваших личных проектов в более масштабное производство с коммерческими перспективами.»

В этой статье мы расскажем о продолжении этой истории и что мы имеем на сегодняшний день.

Глава 1. Небольшие трудности

После пандемии начался великий дефицит на устройства Raspberry CM3+, а потом их и вовсе сняли с производства, что сильно нас не поломало. Мы нашли моментальный выход в виде китайского качественного переходника Raspberry CM3-CM4, тем самым клиенты получили лучшие технические характеристики, а мы время на переход к новому форм-фактору.

Чем заменить Raspberry PI в промышленности? Электроника, Linux, Raspberry pi, Гаджеты, Умный дом, Автоматизация, Промышленность, Встраиваемые системы, Контроллер, Длиннопост

Переходник CM3-CM4

Еще одной проблемой была замена корпуса с Китайского Gainta на собственный, в связи с тем же дефицитом и тяжёлой логистикой (дорого возить куски металла) из Китая. Было решено покончить с этой коробкой.

Чем заменить Raspberry PI в промышленности? Электроника, Linux, Raspberry pi, Гаджеты, Умный дом, Автоматизация, Промышленность, Встраиваемые системы, Контроллер, Длиннопост

Корпус Gainta - крепкий, но дефицитный.

Спустя несколько недель корпус получился, а идею крепления на DIN рейку/панель взяли у Moхи.

Чем заменить Raspberry PI в промышленности? Электроника, Linux, Raspberry pi, Гаджеты, Умный дом, Автоматизация, Промышленность, Встраиваемые системы, Контроллер, Длиннопост

Первая версия устройства в новом корпусе.

Глава 2. Пора переезжать на новую платформу.

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

  1. Необходима гальваническая развязка RS485 портов.

  2. Необходимо два LAN порта для создания киберзащищенных шлюзов между низким и высоким уровнем.

  3. Малый объем оперативной памяти 1Gb в некоторых случаях (установка Касперского, VipNet и другая большая обработка данных)

  4. Отсутствие дополнительного хранилища данных кроме внешней USB флешки.

  5. Нехватка питания для мощных периферийных модемов.

  6. Отсутствие дискретных входов\выходов.

Решено было оставаться на обновленной Raspberry CM4, это устройство сразу решало несколько наших недостатков, а именно ОЗУ до 8GB, WIFI сразу на борту, есть MPCI-E линия для SSD диска, инфраструктура под 1GB Ethernet и самое главное это всемирное сообщество, поддерживающее этот продукт.

В интернете много готовых программах продуктов и исходников для Raspberry.

Самое главное, что клиенту нет необходимости предварительно приобретать такое устройство и можно весь софт писать и тестировать на настольной Raspberry PI и даже целиком перенести слепок на AntexGate c помощью Win32DiskImager.

Инженеру больше не нужно краснеть перед руководством, объясняя, что на этой малинке можно собрать все что угодно, малина — это как-то по-детски, а тут железяка черная – красота!

Накидали функциональную схему и начал тянуться долгий год разработки и отладки.

Чем заменить Raspberry PI в промышленности? Электроника, Linux, Raspberry pi, Гаджеты, Умный дом, Автоматизация, Промышленность, Встраиваемые системы, Контроллер, Длиннопост

Функциональная схема нового устройства

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

RS485 мы конечно развязали, предусмотрели возможность демонтажа гальваники, когда это критически необходимо, получили два LAN порта 1Gb/s и 100Mb/s и более того добавили возможность питания от любого passive POE-инжектора.

По традиции набор интерфейсов 2xRS485/1xRS232/1x1Wire/1xCAN/2xUSB/1xHDMI/2xSMA, самое главное появились дискретные каналы: 4 входа 9-48В развязанные оптопарами, 3 выхода: 2-реле и 1-оптопара.

Также оставили очень полезные вещи: RTC часы, аппаратный watchdog, MPCI-e разъем для модема, двухцветный программируемый светодиод, которым можно поморгать либо настроить для внешнего визуального осмотра состояния прибора (зеленый/желтый/красный).

С диском m.2 получилось все достаточно хорошо и одна линия MPCI-e выдает свои стабильные 300Mb/s на чтение и 300Mb/s на запись. Теперь уже можно хранить огромные базы данных, использовать как тонкий клиент, загрузить медиа контент, хранить и обрабатывать фото и видеофайлы.

Питание для устройства сделали с запасом и в широком диапазоне от 9 до 48В. У каждого инженера найдется блок питания в таком диапазоне. Отдельно для периферийных устройств реализовали понижающий импульсный источник питания в пределах 5А для дисков NVME + модем одновременно.

Чем заменить Raspberry PI в промышленности? Электроника, Linux, Raspberry pi, Гаджеты, Умный дом, Автоматизация, Промышленность, Встраиваемые системы, Контроллер, Длиннопост

Плата сверху с вычислительным модулем Raspberry CM4

Чем заменить Raspberry PI в промышленности? Электроника, Linux, Raspberry pi, Гаджеты, Умный дом, Автоматизация, Промышленность, Встраиваемые системы, Контроллер, Длиннопост

Плата снизу с периферийными устройствами

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

Чем заменить Raspberry PI в промышленности? Электроника, Linux, Raspberry pi, Гаджеты, Умный дом, Автоматизация, Промышленность, Встраиваемые системы, Контроллер, Длиннопост

Корпус из стали 0.7мм порошковая покраска

Чем заменить Raspberry PI в промышленности? Электроника, Linux, Raspberry pi, Гаджеты, Умный дом, Автоматизация, Промышленность, Встраиваемые системы, Контроллер, Длиннопост

Составные части устройства

У нас получился компьютер для встраиваемых систем и действительно безотказный! Всем «дедам» назло.

Чем заменить Raspberry PI в промышленности? Электроника, Linux, Raspberry pi, Гаджеты, Умный дом, Автоматизация, Промышленность, Встраиваемые системы, Контроллер, Длиннопост

Изображение устройства со стороны подключения промышленных интерфейсов

Чем заменить Raspberry PI в промышленности? Электроника, Linux, Raspberry pi, Гаджеты, Умный дом, Автоматизация, Промышленность, Встраиваемые системы, Контроллер, Длиннопост

Изображение устройства со стороны стандартных интерфейсов

Шутки в сторону — мы ведь серьезная организация!

Всем кто дочитал до конца мы готовы предоставить устройство на тестирование.

Подробная инструкция и обсуждение в Telegram.

Показать полностью 10

Пол – это лава: я таки открыл свою игровую комнату

Да-да, идея не уникальна, но тег моё, т.к я сам разработал, спаял и запрограммировал эту штуку

Запрос скетча

Добрый день. Хотелось бы попросить скетч.
цель: имеем wemos d1 mini + применик для пульта 433мгц. Нужно по сигналу с пульта просиходило выключение пк коммандой: shutdown /s /t 10 /m \\имя_компа.
до этого на веб морде weimos были настройки переменных: компа и логин и пароль от компа. Ну и подключение к wifi чтоб это работало.
ну грубо говоря:
прием сигнала с пульта
посыл комманды для авторизации на пк
типа net use t: \\%computername\c$ %password /user:%username
следом:
shutdown /s /t 10 /m \\%computername

как то так.

Плата WiFi Мониторинга UPS типа smart APC

Основной используемый принцип  -запросы и обработка ответов по смарт-протоколу APC
За исключением того, что плату мониторинга/управления собираем на основе WemosD1mini.

Дешевизна решения очевидна, с учетом того, что самая дешевая сетевая плата AP9640 (без внешних датчиков)  стоит более 500$

Плата собрана по традиции в коробочке из под Тик-Така.

Плата WiFi Мониторинга UPS типа smart APC Arduino, Esp8266, Wemos, Apc, Электроника, Самоделки, Длиннопост

Цель реализации:

  • мониторинг основных параметров UPS на WEB странице, а также в представлении XML и JSON

  • доступ к плате по WiFi. Сохранение параметров подключения

  • сигнализация аварии - отправка сообщения на PHP скрипт по ссылке

  • сбор информации о окружающей температуре и влажности

  • сохранение настроек в EEPROM  FLASH

Детали

  • Wemos D1 mini

  • max3232 module без DB9 разъема

  • разъем DB9 папа

  • DHT-21 датчик температуры и влажности (опционально)

Схема простого подключения APC smart к RS232 COM порту ПК:

Плата WiFi Мониторинга UPS типа smart APC Arduino, Esp8266, Wemos, Apc, Электроника, Самоделки, Длиннопост

Схема микроконтроллера в связке с UPS

Плата WiFi Мониторинга UPS типа smart APC Arduino, Esp8266, Wemos, Apc, Электроника, Самоделки, Длиннопост

Код программы

В коде применены нестандартные библиотеки.

Помимо основной esp8266, ESP_EEPROM и WiFiManager

ups_alarm_script_url - ссылка на скрипт, для передачи алерта пропадания/появления питания, на email или телеграмм, в формате http://server/mail=  или похожем.

Основные Команды

Y        Enter smart mode    SM

R        Exit smart mode    SM

^A        Model string        SMART-UPS 700

^N 1,5s ^N        Turn on UPS

K 1,5s K    Turn off      

L        Input line voltage 

P        Power load %        000.0

Q        Status flags        08

    08 = on line, battery OK

    10 = on battery, battery OK

    50 = on battery, battery low

Z        Shutdown immediately    n/a

f        Battery level        099.0

Сообщения

!!!        нет входного напряжения

$        появление входного напряжения

Скетч для Arduino IDE

Пользуясь случаем, хотел бы передать привет все любителям esp

Показать полностью 3

Вышла новая версия Qt Creator 12

Qt Creator 12 - это новая версия интегрированной среды разработки для Qt и C++, которая содержит исправления ошибок и новые функции.

Вышла новая версия Qt Creator 12 Разработка, Программирование, Программист, IT, Qt

Среди самых важных нововведений можно отметить:

  • Интегрированный Compiler Explorer. Введите код, чтобы исследовать, как он выглядит для разных компиляторов.

  • Отладка CMake и протокол Debug Adapter. Установите точки останова в файлах CMake и выберите Отладка > Начать отладку > Начать отладку CMake, чтобы запустить отладчик CMake.

  • Запись экрана. Легко создавайте записи (части) вашего экрана для отчетов об ошибках, обмена, блогов и т.д.

Qt Creator 12 также улучшил производительность запуска, обновил инструменты Clangd и Clang analyzer до LLVM 17.0.1, добавил настройки для имени и комментариев файлов C++, расширил возможности редактора файлов CMake и многое другое.

Интересные факты и фичи языков программирования у нас в канале, заходи :)

Показать полностью

Угадайте звездного капитана юмористической команды «Сборная Красноярска» по описанию одного из участников

Ну что, потренировались? А теперь пора браться за дело всерьез.

Показать полностью

Что же такое исключения в C++

Исключения в C++ - это механизм, который позволяет обнаруживать и обрабатывать ошибки во время выполнения программы. Исключения могут быть сгенерированы оператором throw или автоматически при возникновении некоторых ошибок, таких как деление на ноль, выход за границы массива или нехватка памяти. Исключения могут быть перехвачены и обработаны с помощью конструкции try…catch, которая определяет блок кода, в котором может произойти исключение, и блок кода, в котором исключение обрабатывается.

Исключения могут иметь различные типы, которые определяют характер ошибки и передают дополнительную информацию об исключении. Некоторые типы исключений являются стандартными и определены в библиотеке <stdexcept>. Основные из них:

  • logic_error: общий тип исключений, которые возникают из-за ошибок логики или программирования.

  • invalid_argument: исключение, которое возникает, когда аргумент функции недопустим или некорректен.

  • domain_error: исключение, которое возникает, когда аргумент функции выходит за пределы допустимого домена.

  • length_error: исключение, которое возникает, когда попытка создать объект превышает его максимально допустимый размер.

  • out_of_range: исключение, которое возникает, когда попытка доступа к элементу контейнера, который находится за его границами.

  • runtime_error: общий тип исключений, которые возникают во время выполнения из-за ошибок среды или системы.

  • range_error: исключение, которое возникает, когда результат операции выходит за пределы допустимого диапазона.

  • overflow_error: исключение, которое возникает, когда результат арифметической операции превышает максимально допустимое значение.

  • underflow_error: исключение, которое возникает, когда результат арифметической операции меньше минимально допустимого значения.

Кроме стандартных типов исключений, можно определять свои собственные типы исключений, наследуясь от класса exception или его потомков. Например:

#include <iostream>

#include <exception>

using namespace std;

// Определение собственного типа исключения

class MyException : public exception {

public:

// Переопределение метода what(), который возвращает сообщение об исключении

const char* what() const noexcept override {

return "My exception occurred";

}

};

// Функция, которая генерирует исключение типа MyException

void func() {

throw MyException();

}

int main() {

try {

func(); // Вызов функции, которая генерирует исключение

}

catch (MyException& e) { // Перехват исключения типа MyException

cout << e.what() << endl; // Вывод сообщения об исключении

}

return 0;

}

В этом примере определяется класс MyException, который наследуется от класса exception и переопределяет метод what(), который возвращает сообщение об исключении. Затем в функции func() генерируется исключение типа MyException с помощью оператора throw. В функции main() используется конструкция try…catch для перехвата и обработки исключения типа MyException. В блоке catch выводится сообщение об исключении с помощью метода what().

Исключения в C++ позволяют эффективно и безопасно обрабатывать ошибки в программе, а также разделять код, который может вызвать ошибку, от кода, который может ее обработать.

Интересные факты и фичи языков программирования у нас в канале, заходи :)

Показать полностью
Отличная работа, все прочитано!