Пришел на проект, где используется husky. Хотел изучить этот пакет, но во время попалась эта статья. Спасибо автору. Если будет какая-нибудь хорошая статья по использованию хуков на практике помимо документации, поделитесь, пж
В проекте GSM-модем позволяет передать данные на удаленный сервер. Конечно, можно было бы поступить иначе - сделать из личного компьютера сервер, а к шкафу подключаться по USB. Но этот подход весьма не удобен(получение белого IP, компьютер должен быть постоянно включен и т.п.)
Да, Вы абсолютно правы! К Arduino дополнительно можно подключить несколько датчиков и реле. Сообщения в формате D17 или A0, позволяют легко считать данные с любого аналогового входа и задать нужный уровень на любом цифровом пине
I. Силовая часть электрической цепи К контроллеру заряда подключены солнечная панель, свинцовый АКБ и нагрузка 12 В (лампа). II. Цепь ArduinoВ текущей реализациик аналоговому входу(№0) контроллера подключен датчик напряжения. К одному из цифровых пинов подключено реле, переключения которого замыкает/размыкает цепь с нагрузкой 12 В (лампой). Алгоритм загруженный в память контроллера, организован так, что из сообщения, получаемого от GSM-модема через плату MAX485, будет принят номер пина и его тип(аналоговый, цифровой). По этим данным будет вычислен пин, которому следует выставить высокий/низкий сигнал и с какого аналогового входа считать данные и передать их обратно. III Цепь модем - ArduinoМодем соединен с Arduino по RS-485 интерфейсу через MAX485. В системе он играет роль прозрачного канала и нужен для того, чтобы связать физическую схему и экземпляр backend, который запущен на удаленном сервере.
После подачи питания на контроллер Arduino и GSM-модем система начинает работать. Чтобы увидеть данные, нужно пройти процедуру авторизации в веб-приложении. После чего станет доступен функционал, отвечающий за отображение данных пользователя(роут /devices). Если администратор назначил юзеру датчики и реле, то пользователь сможет увидеть данные с сенсоров и выполнить переключения реле, нажимая на кнопку в веб-интерфейсе.
Пользователь нажимает вручную, т.е. в текущей реализации система работает в режиме "запрос-ответ"
Спасибо за комментарий! Учту в будущем. вся система в целом делает? - предоставляет пользователю возможность проводить мониторинг солнечной панели и управлять нагрузкой подключенной к 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. Настройка виртуальной машины и публикация в сети:
Спасибо за комментарий! Честно говоря, использовал модем, который бесцельно лежал в офисе. Думаю, стоит попробовать и модем с UART. Если есть примеры или опыт работы с ними, то был бы рад ознакомиться с материалом
Пришел на проект, где используется husky. Хотел изучить этот пакет, но во время попалась эта статья.
Спасибо автору. Если будет какая-нибудь хорошая статья по использованию хуков на практике помимо документации, поделитесь, пж
В проекте GSM-модем позволяет передать данные на удаленный сервер. Конечно, можно было бы поступить иначе - сделать из личного компьютера сервер, а к шкафу подключаться по USB. Но этот подход весьма не удобен(получение белого IP, компьютер должен быть постоянно включен и т.п.)
Да, Вы абсолютно правы! К Arduino дополнительно можно подключить несколько датчиков и реле. Сообщения в формате D17 или A0, позволяют легко считать данные с любого аналогового входа и задать нужный уровень на любом цифровом пине
I. Силовая часть электрической цепи
К контроллеру заряда подключены солнечная панель, свинцовый АКБ и нагрузка 12 В (лампа).
II. Цепь ArduinoВ текущей реализации к аналоговому входу(№0) контроллера подключен датчик напряжения. К одному из цифровых пинов подключено реле, переключения которого замыкает/размыкает цепь с нагрузкой 12 В (лампой).
Алгоритм загруженный в память контроллера, организован так, что из сообщения, получаемого от GSM-модема через плату MAX485, будет принят номер пина и его тип(аналоговый, цифровой). По этим данным будет вычислен пин, которому следует выставить высокий/низкий сигнал и с какого аналогового входа считать данные и передать их обратно.
III Цепь модем - ArduinoМодем соединен с Arduino по RS-485 интерфейсу через MAX485. В системе он играет роль прозрачного канала и нужен для того, чтобы связать физическую схему и экземпляр backend, который запущен на удаленном сервере.
После подачи питания на контроллер Arduino и GSM-модем система начинает работать. Чтобы увидеть данные, нужно пройти процедуру авторизации в веб-приложении. После чего станет доступен функционал, отвечающий за отображение данных пользователя(роут /devices). Если администратор назначил юзеру датчики и реле, то пользователь сможет увидеть данные с сенсоров и выполнить переключения реле, нажимая на кнопку в веб-интерфейсе.
Пользователь нажимает вручную, т.е. в текущей реализации система работает в режиме "запрос-ответ"
Спасибо за комментарий! Учту в будущем.
вся система в целом делает? - предоставляет пользователю возможность проводить мониторинг солнечной панели и управлять нагрузкой подключенной к 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
Записал короткое видео, в котором продемонстрировал переключения
Спасибо за комментарий!
Честно говоря, использовал модем, который бесцельно лежал в офисе. Думаю, стоит попробовать и модем с UART. Если есть примеры или опыт работы с ними, то был бы рад ознакомиться с материалом