Pull to refresh

Comments 10

|ПО для настройки модема не работает в Linux

В принципе есть же модемы с UART настройка через AT команды и Win/Linux ненужны.

Спасибо за комментарий!
Честно говоря, использовал модем, который бесцельно лежал в офисе. Думаю, стоит попробовать и модем с UART. Если есть примеры или опыт работы с ними, то был бы рад ознакомиться с материалом

Такие модему очень распространены, найти информацию не составит труда. Система AT команд в основе стандартизована, конечно с дополнениями у каждого производителя :).

передать данные с датчиков, соединенных к солнечной панели SDM-50

Может, подключенных?

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

Вывод датчиков от солнечной панели на Arduino Uno

По статье непонятно: а что вся система в целом делает? Получает значения с каких-то датчиков на солнечной панели, а дальше? Что значит "вывод на Arduino Uno"? На входной пин, который оцифровывает значение с датчика? А дальше что, и зачем?

Заглянул в README в репозитории, как-то понятнее все равно не стало. Написаны какие-то руководства к действию, а цель не написана. Если я невнимательно читал, поправьте меня.

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

Спасибо за комментарий! Учту в будущем.

вся система в целом делает?
- предоставляет пользователю возможность проводить мониторинг солнечной панели и управлять нагрузкой подключенной к Arduino через реле

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

Что значит "вывод на Arduino Uno"?  - цифровой пин

Зачем это нужно?...если просто, то мониторить параметры солнечной панели и управлять электрической нагрузкой с АКБ, которую заряжает солнечная панель, через Интернет. Мотивацией было желание реализовать проект, отличающийся от учебного, который предлагался на курсах, с использованием всех имеющихся под рукой ресурсов.

Цель pet-проекта: Разработка веб-приложения для мониторинга параметров(напряжения) солнечной панели SDM-50 и управления реле с использованием аппаратной платформы Arduino, серверной платформы Node.js и фреймворка Next.js.

Задачи:

1. Разработка схемы электрической цепи;

2. Тестирование электрический цепи:

   - Проверка корректной работы платы MAX485 в цепи с модемом и Arduino;

   - Проверка корректности управления Arduino скриптами JS через сеть GSM;

3. Разработка backend на NodeJS:

   - Разработка мидлвар, роутов, контроллеров;

   - Описание схем БД, настройка работы с MongoDB;

   - Настройка аутентификации и JWT;

4. Разработка frontend на NextJS:

   - Разработка компонентов React;

   - Настройка стора Redux;

5. Сборка шкафа диспетчеризации;

6. Настройка виртуальной машины и публикация в сети:

   - Получение доменных имен;

   - Выпуск SSL-сертификата;

   - Настройка GSM-модема

Дальнейшие планы:

- Переход на использование веб-сокетов;

- Замена GSM-модема в пользу SIM800L

А где схема-то? Без неё непонятно, что куда подключено, куда передаются данные и т.д.

Принцип работы всё равно непонятен. Допустим, включаем мы эту панель. Что после этого начинает происходить? Что и где может видеть пользователь?

После того, как он что-то увидел, он вручную нажимает какую-то кнопку, чтобы Arduino переключила реле? Или это делается автоматически по какому-то порогу значения с датчика?

I. Силовая часть электрической цепи
К контроллеру заряда подключены солнечная панель, свинцовый АКБ и нагрузка 12 В (лампа).
II. Цепь ArduinoВ текущей реализации к аналоговому входу(№0) контроллера подключен датчик напряжения. К одному из цифровых пинов подключено реле, переключения которого замыкает/размыкает цепь с нагрузкой 12 В (лампой).
Алгоритм загруженный в память контроллера, организован так, что из сообщения, получаемого от GSM-модема через плату MAX485, будет принят номер пина и его тип(аналоговый, цифровой). По этим данным будет вычислен пин, которому следует выставить высокий/низкий сигнал и с какого аналогового входа считать данные и передать их обратно.
III Цепь модем - ArduinoМодем соединен с Arduino по RS-485 интерфейсу через MAX485. В системе он играет роль прозрачного канала и нужен для того, чтобы связать физическую схему и экземпляр backend, который запущен на удаленном сервере.

После подачи питания на контроллер Arduino и GSM-модем система начинает работать. Чтобы увидеть данные, нужно пройти процедуру авторизации в веб-приложении. После чего станет доступен функционал, отвечающий за отображение данных пользователя(роут /devices). Если администратор назначил юзеру датчики и реле, то пользователь сможет увидеть данные с сенсоров и выполнить переключения реле, нажимая на кнопку в веб-интерфейсе.

Пользователь нажимает вручную, т.е. в текущей реализации система работает в режиме "запрос-ответ"

из сообщения, получаемого от GSM-модема через плату MAX485, будет принят номер пина и его тип(аналоговый, цифровой). По этим данным будет вычислен пин, которому следует выставить высокий/низкий сигнал и с какого аналогового входа считать данные и передать их обратно

А зачем это делается удаленно через GSM? Схема же физически сама себя не изменит и не подключит провода от реле и датчика к другим пинам Arduino.

Подразумевается, что к разным пинам могут подключены несколько реле и несколько датчиков?

В проекте GSM-модем позволяет передать данные на удаленный сервер. Конечно, можно было бы поступить иначе - сделать из личного компьютера сервер, а к шкафу подключаться по USB. Но этот подход весьма не удобен(получение белого IP, компьютер должен быть постоянно включен и т.п.)

Да, Вы абсолютно правы! К Arduino дополнительно можно подключить несколько датчиков и реле. Сообщения в формате D17 или A0, позволяют легко считать данные с любого аналогового входа и задать нужный уровень на любом цифровом пине

Sign up to leave a comment.

Articles