Comments 10
|ПО для настройки модема не работает в Linux
В принципе есть же модемы с UART настройка через AT команды и Win/Linux ненужны.
Спасибо за комментарий!
Честно говоря, использовал модем, который бесцельно лежал в офисе. Думаю, стоит попробовать и модем с UART. Если есть примеры или опыт работы с ними, то был бы рад ознакомиться с материалом
Записал короткое видео, в котором продемонстрировал переключения
передать данные с датчиков, соединенных к солнечной панели 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, позволяют легко считать данные с любого аналогового входа и задать нужный уровень на любом цифровом пине
Проект «Solar Future» или передача данных с Arduino на веб-интерфейс через GSM-сеть