|
Sensor Cooper v3.2 - Medialab_ Lpwan: ультразвуковой датчик Lora для измерения уровня воды в Сан -Мигеле в ручье
Питаться от
В честь Мартина Купера, премии Princesa de Asturias 2009, и Арлин Харрис и их видение IOP, Интернета людей, в Medialab_ Lpwan мы хотели разработать устройство IoT, которое могло бы улучшить качество политехнической школы инженерии Gijón. В результате идея датчика Купера стала устройством LORA, синхронизируемой с сетью вещей, которая может быть оставлена измерением уровня воды в ручье Сан -Мигель без каких -либо потребностей в манере.

С этими датчиками цель состоит в том, чтобы контролировать возможность наводнения в главном здании во время сезона проливных дождей. В частности, в 2018 году произошел серьезный наводнение, ставшее бесполезным многими дорогостоящими оборудованием с нижних этажей, которые использовались студентами во время лабораторных практик многих подборов:



В этом репо вы найдете все файлы и руководства по обучению, необходимые для полного понимания, и даже воспринимать творческую свободу для улучшения этого проекта. Папкам и файлам получили самоочевидное имя, чтобы сделать навигацию более интуитивной.
Основные функции ↩
Разработано с использованием Lilygo Lora32 OLED v2.1_1.6 (плата на основе ESP32 со встроенными возможностями LORA, которые поддерживают солнечную зарядку и управление аккумуляторами)

Изменения, внесенные для JSN-SR04T (датчик ультразвукового расстояния)

Предупреждение
Этот датчик чрезвычайно чувствителен к физическим нарушениям. Обязательно отлично выровняйте его перпендикулярно на поверхность, где отскочивает ультразвуковой луч, а также у нее прямое зрение.
Динамическая реализация скорости передачи данных: Отправить интервал динамически изменяет свою стоимость между 20 и 40 минутами в зависимости от типичного отклонения от последних 5 расстояний, отправленных в сеть вещей (от OTAA; файл payload_formatter.json - это предложение о том, как декодировать отправленные байты)

Пользовательская печатная плата

Кончик
Рассмотрите возможность пайки женских разъемов, чтобы электронные компоненты могли быть просто подключены и отключены, если необходимо сделать ремонт
Пользовательский корпус, чтобы соответствовать всем элементам наиболее эффективным образом (контейнер + держатель солнечной панели + USB -защитник)



Пример сборки:

Предупреждение
Прозрачный цвет Petg 3D -печать рекомендуется пережить солнечное излучение и пластические деформации. Уплотнительное кольцо также является хорошим выбором для исправления и стабилизации датчика внутри колокола. Четыре винта M3 необходимы для устранения сборки
Следующий список перечисляет все задачи, связанные с процессом исследования этого проекта, и если они были строго выполнены:
- Some pins are conflictive due to poor manufacturer documentation, so testing is still being
- carried out Полное понимание рабочего режима датчика и альтернативных режимов
Реализация кода датчика
Реализация кода Лоры
Реализация низкой мощности
Компоненты с низким содержанием электроэнергии
- A transistor is being tried to be implemented so the sensor can be powered-on from the
- board's 5V pin and powered-off when going to deep slee, but it is getting tricky 
Электрическая схема с транзистором
- As low power hardware has not been fully implemented, PCB has to wait Обсадка 3D -моделирование
Приложение для визуализации данных
Список компонентов ↩
| Компонент | Модель |
|---|---|
| Dev Module | Lilygo Lora32 OLED v2.1_1.6 |
| Датчик расстояния | JSN-SR04T |
| N-канальный MOSFET | IRF540N |
| Резистор | 2K2 |
| Батарея | 18650 |
| Солнечная панель | SYP-S0606 |
| Печатная плата | Пользовательский (включен в файл) |
| Жилье | Пользовательский (включен в файл) |
Список соединений ↩
| JSN-SR04T | Транзистор | Резистор | 18650 Щит | SYP-S0606 | Лилиго |
|---|---|---|---|---|---|
trigger | - | - | - | - | 13 |
echo | - | - | - | - | 12 |
5v | S | - | - | - | - |
GND | - | indifferent | - | - | GND |
| - | G | indifferent | - | - | 15 |
| - | D | - | - | - | 5V |
| - | - | - | USB-In | USB-Out | - |
| - | - | - | USB-Out | - | USB-In |
Нарисовал, это выглядит следующим образом:

Осторожность
Модель платы, используемая в приведенном выше эскизе, представляет собой TTGO T3 v1.3, но номера PIN -код соответствуют номерам на V2.1_1.6.
Блок -схема (упрощенная!) ↩
График TD;
A [включить] -> | 1 | B (просыпайтесь, если во сне)
B -> | 2 | C (получите расстояние и измерение батареи)
C -> | 3 | D (отправить байты в TTN)
D -> | 4 | E (скорость передачи данных времени)
E -> | 5 | F (иди глубоко сон)
F -> | 6 | Беременный
В этом разделе приведено краткое описание того, как код распределяется между файлами в medialablpwan/lorawaterlevelmonitoring/main/ , где код доступен и готов к вспышке или редактированию, дается:
main.ino /*
Definition of global functions
Variables to be stored in the RTC memory
'setup()' and 'loop()' functions
*/sensor.ino /*
Functions and variables needed to make a sensor work
*/ddc.ino /*
Functions and variables for the implementation of the dynamic data transfer rate
*/sleep.ino /*
Functions to activate ESP32's deep sleep mode
*/ttn.ino /*
Functions from LMIC library
*/configuration.h /*
Sensor macros and boolean toggles
*/credentials.h /*
OTAA keys for TTN synchronization
*/lmic_project_config.h /*
LoRa frequency band and radio chip selector
*/Более глубокий анализ приведен в самом коде, поскольку комментарии объясняют, что делает каждая функция.
Кончик
Наиболее важными файлами для редактирования являются sensor.ino , где может быть реализован любой датчик, и configuration.h , где объявляются макросы периферийных устройств.
Осторожность
Дополнительный код может потребоваться при реализации I2C ввод/вывода. Функции, чтобы они работали в оригинальном проекте в TTGO-PAXCOUNTER-LoRa32-V2.1-TTN/main/main.ino
Библиотека плат Lilygo (вставьте ссылку на вкладку Preferences и выберите TTGO LoRa32 OLED в качестве Board в Arduino IDE): https://github.com/xinyuan-lilygo/lilygo-lora-series/blob/master/boards/t3_s3_v1_x.json
LMIC (скопируйте содержимое файла проекта main/lmic_project_config.h в файл библиотеки arduino-lmic/project_config/lmic_project_config.h и не почесал правильную частоту для вашего региона. Эскет.
QuickMedMeanlib (для получения более твердых значений расстояния): https://github.com/luisllamasbinaburo/arduino-quickmedian
ESP Sleep (чтобы уменьшить потребление батареи): https://github.com/pycom/pycom-esp-idf/blob/master/components/esp32/include/esp_sleep.h
Примечание
Другие библиотеки, такие как библиотека SPI, легко загружаются с Arduino IDE
Эксперимент по развертыванию ↩
Первое подразделение было развернуто вблизи Политехнической школы инженерии Gijón:



http://4f566df1fed52c6e7fd5f661f64ae3eb.balena-devices.com:8080/d/vjhqnczgz/sensores-jsn-sr04t-arroyo-de-san-miguel?from=now-24h&orgid=1&toShryfr.from=now-24h---
Лицензия ↩
Этот проект лицензирован по лицензии GPL-3.0. Содержит код из RwanRooy/TTGO-Paxcounter-Lora32-V2.1-TTN
Свяжитесь с ↩
Важный
Мы любезно ответим на сомнения и прочитаем предложения:
Больше информации о нашей деятельности:
Авторы: Даниэль Родригес Мойя, óscar Gijón, Ramón Rubio и Medialab_ Lpwan Workgroup
Инструкции о том, как развернуть панели Grafana, приведены на репо medialablpwan/documentacion . ↩