{"id":24461045,"url":"https://github.com/medialabuniovi/iot_cooper","last_synced_at":"2025-04-13T05:36:34.928Z","repository":{"id":198273780,"uuid":"700477988","full_name":"MediaLabUniovi/IOT_Cooper","owner":"MediaLabUniovi","description":"Project to monitor the water level of a creek using LilyGO LoRa32 OLED v2.1_1.6","archived":false,"fork":false,"pushed_at":"2025-02-28T12:07:36.000Z","size":22696,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-26T22:12:17.974Z","etag":null,"topics":["esp32","iot","lilygo","lora","lorawan","sensor","solar-energy","ttgo"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MediaLabUniovi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-10-04T17:07:57.000Z","updated_at":"2025-03-10T11:19:52.000Z","dependencies_parsed_at":"2024-12-31T17:57:14.961Z","dependency_job_id":null,"html_url":"https://github.com/MediaLabUniovi/IOT_Cooper","commit_stats":{"total_commits":194,"total_committers":1,"mean_commits":194.0,"dds":0.0,"last_synced_commit":"6c1bba51c3469c7595298c6e6638ab94dfd5ca3b"},"previous_names":["medialablpwan/waterlevelcontrol","medialabuniovi/lorawaterlevelmonitoring","99danirmoya/sensorcooper","99danirmoya/sensor-cooper"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MediaLabUniovi%2FIOT_Cooper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MediaLabUniovi%2FIOT_Cooper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MediaLabUniovi%2FIOT_Cooper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MediaLabUniovi%2FIOT_Cooper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MediaLabUniovi","download_url":"https://codeload.github.com/MediaLabUniovi/IOT_Cooper/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248670508,"owners_count":21142897,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["esp32","iot","lilygo","lora","lorawan","sensor","solar-energy","ttgo"],"created_at":"2025-01-21T04:17:07.244Z","updated_at":"2025-04-13T05:36:34.904Z","avatar_url":"https://github.com/MediaLabUniovi.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"right\"\u003e\n\n[![english](https://raw.githubusercontent.com/stevenrskelton/flag-icon/master/png/16/country-4x3/gb.png)](./README.md) | [![spanish](https://raw.githubusercontent.com/stevenrskelton/flag-icon/master/png/16/country-4x3/es.png)](./README_ES.md)\n\n\u003c/div\u003e\n\n![Static Badge](https://img.shields.io/badge/stability-beta-%23009680)\n\n# \u003cp align=\"justify\"\u003e SENSOR COOPER V3.2 - MEDIALAB_ LPWAN: LORA ULTRASONIC SENSOR TO MEASURE SAN MIGUEL'S CREEK WATER LEVEL \u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n_Powered by_\n\n[![made-in-ArduinoIDE](https://img.shields.io/badge/Arduino_IDE-00979D?style=for-the-badge\u0026logo=arduino\u0026logoColor=white)](https://www.arduino.cc/) [![programmed-for-LilyGOLoRa32](https://img.shields.io/badge/espressif-E7352C?style=for-the-badge\u0026logo=espressif\u0026logoColor=white)](https://www.lilygo.cc/)\n\n## Project based on: [rwanrooy/TTGO-PAXCOUNTER-LoRa32-V2.1-TTN](https://github.com/rwanrooy/TTGO-PAXCOUNTER-LoRa32-V2.1-TTN)\n\n\u003c/div\u003e\n\n___\n\n\u003cdiv align=\"justify\"\u003e\n\n## Table of contents\n- [Introduction](https://github.com/medialablpwan/lorawaterlevelmonitoring/tree/main#introduction-leftwards_arrow_with_hook)\n- [Main features](https://github.com/medialablpwan/lorawaterlevelmonitoring/tree/main#-main-features-leftwards_arrow_with_hook-)\n- [To-Do list](https://github.com/medialablpwan/lorawaterlevelmonitoring/tree/main?tab=readme-ov-file#to-do-list-leftwards_arrow_with_hook)\n- [Component list](https://github.com/medialablpwan/lorawaterlevelmonitoring/tree/main#-component-list-leftwards_arrow_with_hook-)\n- [Connection list](https://github.com/medialablpwan/lorawaterlevelmonitoring/tree/main#-connection-list-leftwards_arrow_with_hook-)\n- [Flowchart (Simplified!)](https://github.com/medialablpwan/lorawaterlevelmonitoring/tree/main#-flowchart-simplified-leftwards_arrow_with_hook-)\n- [Code files](https://github.com/medialablpwan/lorawaterlevelmonitoring/tree/main#code-files-leftwards_arrow_with_hook)\n- [Libraries](https://github.com/medialablpwan/lorawaterlevelmonitoring/tree/main#libraries-leftwards_arrow_with_hook)\n- [Deployment experiment](https://github.com/medialablpwan/lorawaterlevelmonitoring/tree/main#-deployment-experiment-leftwards_arrow_with_hook-)\n- [License](https://github.com/medialablpwan/lorawaterlevelmonitoring/tree/main#-license-leftwards_arrow_with_hook-)\n- [Contact](https://github.com/medialablpwan/lorawaterlevelmonitoring/tree/main#-contact-leftwards_arrow_with_hook-)\n\n\u003c/div\u003e\n\n___\n\n\u003cdiv align=\"justify\"\u003e\n\n## Introduction [:leftwards_arrow_with_hook:](https://github.com/medialablpwan/lorawaterlevelmonitoring/tree/main#table-of-contents)\n\nIn honour of Martin Cooper, Princesa de Asturias Award 2009, and Arlene Harris and their vision of IoP, The Internet of People, in MediaLab_ LPWAN we wanted to develop an IoT device that could improve the quality of the Polytechnic School of Engineering of Gijón. As a result, the idea of the Cooper Sensor came in as a LoRa device, synchronizable with [The Things Network](https://www.thethingsnetwork.org/), that could be left measuring the water level of San Miguel's creek without any need of mantainance.\n\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/medialablpwan/lorawaterlevelmonitoring/blob/main/pics/4_Martin%20Cooper%20y%20Arlene%20Harris.jpg\" width=\"600\"  style=\"margin: 10px;\"/\u003e\n\u003c/div\u003e\n\u003cbr/\u003e\n\n\u003cp align=\"justify\"\u003e With these sensors, the aim is to monitor the possibility of a flood in the main building during the heavy rains season. Specifically, in 2018, a major flood took place turning useless many expensive equipment from the lower floors that were used by the students during the laboratory practices of many subjetcs: \u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/medialablpwan/lorawaterlevelmonitoring/blob/main/pics/escuela-politecnica-ingenieria%20(4).jpg\" width=\"600\"  style=\"margin: 10px;\"/\u003e\n\u003c/div\u003e\n\u003cbr/\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/medialablpwan/lorawaterlevelmonitoring/blob/main/pics/escuela-politecnica-ingenieria%20(12).jpg\" width=\"600\"  style=\"margin: 10px;\"/\u003e\n\u003c/div\u003e\n\u003cbr/\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/medialablpwan/lorawaterlevelmonitoring/blob/main/pics/escuela-politecnica-ingenieria%20(6).jpg\" width=\"600\"  style=\"margin: 10px;\"/\u003e\n\u003c/div\u003e\n\u003cbr/\u003e\n\n\u003cp align=\"justify\"\u003e In this repo, you will find all the files and teaching guides required to fully understand and even take the creative freedom to improve this project. Folders and files have been given a self-explanatory name to make navigation more intuituve. \u003c/p\u003e\n\n___\n\n### \u003cp align=\"justify\"\u003e Main features [:leftwards_arrow_with_hook:](https://github.com/medialablpwan/lorawaterlevelmonitoring/tree/main#table-of-contents) \u003c/p\u003e\n\n- \u003cp align=\"justify\"\u003e Developed using LilyGO LoRa32 OLED v2.1_1.6 (ESP32 based board with built-in LoRa capabilities that supports solar recharging and battery management) \u003c/p\u003e\n\n  \u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"https://github.com/medialablpwan/waterlevelcontrol/blob/main/pics/Screenshot%202023-11-13%20194151.png\" width=\"600\"  style=\"margin: 10px;\"/\u003e\n  \u003c/div\u003e\n  \u003cbr/\u003e\n\n- \u003cp align=\"justify\"\u003e Changes made for JSN-SR04T (Ultrasonic distance sensor) \u003c/p\u003e\n\n  \u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"https://github.com/medialablpwan/waterlevelcontrol/blob/main/pics/61rPJNXbuNL._AC_UF894%2C1000_QL80_.jpg\" width=\"600\"  style=\"margin: 10px;\"/\u003e\n  \u003c/div\u003e\n  \u003cbr/\u003e\n\n\u003e [!WARNING]\n\u003e This sensor is extremely sensitive to physical disturbances. Be sure to perfectly align it perpendicularly to the surface where the ultrasonic beam bounces and also mind having direct vision to it\n\n\u003cdiv align=\"justify\"\u003e\n\n- Dynamic Data Transmission Rate implementation: send interval dynamically changes its value between 20 and 40 minutes depending on the typical deviation from the latest 5 distances sent to The Things Network (By OTAA; file [`payload_formatter.json`](https://github.com/medialablpwan/lorawaterlevelmonitoring/blob/main/payload_formatter.json) is a suggestion on how to decode the sent bytes)\n\n  \u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"https://github.com/medialablpwan/lorawaterlevelmonitoring/blob/main/pics/Screenshot%202023-11-30%20182339.png\" width=\"600\"  style=\"margin: 10px;\"/\u003e\n  \u003c/div\u003e\n  \u003cbr/\u003e\n\n\u003c/div\u003e\n\n- \u003cp align=\"justify\"\u003e Custom PCB \u003c/p\u003e\n\n  \u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"https://github.com/medialablpwan/lorawaterlevelmonitoring/blob/main/pics/Screenshot%202024-01-22%20172558.png\" width=\"600\"  style=\"margin: 10px;\"/\u003e\n  \u003c/div\u003e\n  \u003cbr/\u003e\n\n\u003e [!TIP]\n\u003e Consider soldering female pin connectors so the electronic components can simply be plugged in and unplugged if a repair has to be done\n\n- \u003cp align=\"justify\"\u003e Custom housing to fit all the elements in the most efficient way (Container + Solar panel holder + USB protector) \u003c/p\u003e\n\n  \u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"https://github.com/medialablpwan/lorawaterlevelmonitoring/blob/main/pics/Screenshot%202023-12-01%20175741.png\" width=\"600\"  style=\"margin: 10px;\"/\u003e\n  \u003c/div\u003e\n  \u003cbr/\u003e\n  \u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"https://github.com/medialablpwan/lorawaterlevelmonitoring/blob/main/pics/Screenshot%202023-12-01%20175633.png\" width=\"600\"  style=\"margin: 10px;\"/\u003e\n  \u003c/div\u003e\n  \u003cbr/\u003e\n  \u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"https://github.com/medialablpwan/lorawaterlevelmonitoring/blob/main/pics/Screenshot%202023-12-04%20113305.png\" width=\"600\"  style=\"margin: 10px;\"/\u003e\n  \u003c/div\u003e\n  \u003cbr/\u003e\n\n  \u003e Assembly example:\n  \u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"https://github.com/medialablpwan/lorawaterlevelmonitoring/blob/main/pics/5_Carcasa%20%2B%20Electr%C3%B3nica%20montada.jpg\" width=\"600\"  style=\"margin: 10px;\"/\u003e\n  \u003c/div\u003e\n  \u003cbr/\u003e\n\n\u003e [!WARNING]\n\u003e Clear colour PETG 3D printing filament is recommended to survive sun radiation and plastic deformations. An O-ring is also a good choice to fix and stabilize the sensor inside of the bell. Four M3 screws are needed to fix the assembly\n\n___\n\n\u003cdiv align=\"justify\"\u003e\n\n### To-do list [:leftwards_arrow_with_hook:](https://github.com/medialablpwan/lorawaterlevelmonitoring/tree/main#table-of-contents)\n\nThe following list enumarates all the tasks involved in the researching process of this project and if they have been strictly completed:\n\n- [ ] Full understanding of the development board and its pinout\n```diff\n- Some pins are conflictive due to poor manufacturer documentation, so testing is still being\n- carried out\n```\n\n- [x] Full understanding of the sensor working mode and alternative modes\n\n- [x] Sensor code implementation\n\n- [x] LoRa code implementation\n\n- [x] Low power code implementation\n\n- [ ] Low power hardware components\n```diff\n- A transistor is being tried to be implemented so the sensor can be powered-on from the\n- board's 5V pin and powered-off when going to deep slee, but it is getting tricky\n```\n\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/medialablpwan/lorawaterlevelmonitoring/blob/main/pics/circuit.png\" width=\"400\"  style=\"margin: 10px;\"/\u003e\n\n  \u003cem\u003eElectric schematic with the transistor\u003c/em\u003e\n\u003c/div\u003e\n\u003cbr/\u003e\n\n\u003cdiv align=\"justify\"\u003e\n\n- [ ] PCB design\n```diff\n- As low power hardware has not been fully implemented, PCB has to wait\n```\n\n- [x] Casing 3D modeling\n      \n- [x] Data visualization app\n\n\u003c/div\u003e\n\n___\n\n### \u003cp align=\"justify\"\u003e Component list [:leftwards_arrow_with_hook:](https://github.com/medialablpwan/lorawaterlevelmonitoring/tree/main#table-of-contents) \u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n| Component | Model |\n| ------------- | ------------- |\n| Dev Module  | [LilyGO LoRa32 OLED v2.1_1.6](https://www.tinytronics.nl/shop/en/development-boards/microcontroller-boards/with-lora/lilygo-ttgo-t3-lora32-868mhz-v1.6.1-esp32) |\n| Distance sensor  | [JSN-SR04T](https://www.tinytronics.nl/shop/en/sensors/distance/waterproof-ultrasonic-sensor-jsn-sr04t) |\n| N-Channel MOSFET  | [IRF540N](https://www.amazon.es/AUKENIEN-Transistor-IRF9540N-Transistores-potencia/dp/B09TJJJXFY/ref=sr_1_7?crid=32LB9EZ8Q81R0\u0026dib=eyJ2IjoiMSJ9.UqJKtI1towT4naZiatE1UAz3Y34XB4iKgzo6DKubwUI4RG1qKF_oX4Un0vPC8oIiA0EFIXieDXkMAloim0p3wd53thboFPEwhQTLzEYASTn-ir9NuyrY-VBMWOrpUmAWkdOI0-NIpeF4CGnXEBoyOUkkiZ55dz6yiT-UVQ5KhHcHhs34AOguiHi3PlFpSBtSQITXz6c9NVWxuNR-AgDC0xPEYvXwdFZ6dJQA9_fEU7LkaFrESMUXJF041slnfQtWcSPyd30nK2G8wFKLq59d9Q-yjADI9jY9gAWg0tpO2wI.uLG5EZvlmd2_UDPlM2LwyNBqoAfxE2lxi6x1rXETEug\u0026dib_tag=se\u0026keywords=irf540n\u0026qid=1711314804\u0026sprefix=IRF%2Caps%2C88\u0026sr=8-7\u0026th=1) |\n| Resistor  | [2k2](https://www.amazon.es/BOJACK-valores-resistencias-pel%C3%ADcula-carbono/dp/B08FD1XVL6/ref=sr_1_5?keywords=resistor\u0026qid=1703351987\u0026sr=8-5) |\n| Battery  | [18650](https://www.tinytronics.nl/shop/en/power/batteries/18650/eve-18650-li-ion-battery-3100mah-10a-inr18650-33v) |\n| Solar panel  | [SYP-S0606](https://www.tinytronics.nl/shop/en/power/solar-energy/solar-panels/solar-panel-with-dc-dc-converter-and-usb-5v-1a) |\n| PCB  | [Custom (file included)](https://github.com/medialablpwan/lorawaterlevelmonitoring/tree/main/pcb) |\n| Housing  | [Custom (file included)](https://github.com/medialablpwan/lorawaterlevelmonitoring/tree/main/carc) |\n\n\u003c/div\u003e\n\n___\n\n### \u003cp align=\"justify\"\u003e Connection list [:leftwards_arrow_with_hook:](https://github.com/medialablpwan/lorawaterlevelmonitoring/tree/main#table-of-contents) \u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n| JSN-SR04T | Transistor | Resistor | 18650 Shield | SYP-S0606 | LilyGO |\n| ------------- | ------------- | ------------- | ------------- | ------------- | ------------- |\n| `trigger` | - | - | - | - | `13` |\n| `echo` | - | - | - | - | `12` |\n| `5v` | `S` | - | - | - | - |\n| `GND` | - | `indifferent` | - | - | `GND` |\n| - | `G` | `indifferent` | - | - | `15` |\n| - | `D` | - | - | - | `5V` |\n| - | - | - | `USB-In` | `USB-Out` | - |\n| - | - | - | `USB-Out` | - | `USB-In` |\n\n\u003c/div\u003e\n\n\u003e Sketched it looks the following way:\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/medialablpwan/lorawaterlevelmonitoring/blob/main/pics/sensor_cooper_v3_3_schematic.png\" width=\"600\"  style=\"margin: 10px;\"/\u003e\n\u003c/div\u003e\n\u003cbr/\u003e\n\n\u003e [!CAUTION]\n\u003e Board model used in the sketch above is a TTGO T3 v1.3, but pin numbers correspond to those on the v2.1_1.6\n\n___\n\n### \u003cp align=\"justify\"\u003e Flowchart (Simplified!) [:leftwards_arrow_with_hook:](https://github.com/medialablpwan/lorawaterlevelmonitoring/tree/main#table-of-contents) \u003c/p\u003e\n\n```mermaid\ngraph TD;\n  A[Turn on] --\u003e|1| B(Wake up if in deep sleep)\n  B --\u003e|2| C(Get distance and battery measurement)\n  C --\u003e|3| D(Send bytes to TTN)\n  D --\u003e|4| E(Time data transmission rate)\n  E --\u003e|5| F(Go to deep sleep)\n  F --\u003e|6| B\n```\n\n___\n\n\u003cdiv align=\"justify\"\u003e\n\n### Code files [:leftwards_arrow_with_hook:](https://github.com/medialablpwan/lorawaterlevelmonitoring/tree/main#table-of-contents)\n\nIn this section, a brief description on how the code is distributed among files in [`medialablpwan/lorawaterlevelmonitoring/main/`](https://github.com/medialablpwan/lorawaterlevelmonitoring/tree/main/main), where the code is available and ready to flash or edit, is given:\n\n- [`main.ino`](https://github.com/medialablpwan/lorawaterlevelmonitoring/blob/main/main/main.ino)\n  ```C\n  /*\n  Definition of global functions\n  Variables to be stored in the RTC memory\n  'setup()' and 'loop()' functions\n  */\n  ```\n- [`sensor.ino`](https://github.com/medialablpwan/lorawaterlevelmonitoring/blob/main/main/sensor.ino)\n  ```C\n  /*\n  Functions and variables needed to make a sensor work\n  */\n  ```\n- [`ddc.ino`](https://github.com/medialablpwan/lorawaterlevelmonitoring/blob/main/main/ddc.ino)\n  ```C\n  /*\n  Functions and variables for the implementation of the dynamic data transfer rate\n  */\n- [`sleep.ino`](https://github.com/medialablpwan/lorawaterlevelmonitoring/blob/main/main/sleep.ino)\n  ```C\n  /*\n  Functions to activate ESP32's deep sleep mode\n  */\n- [`ttn.ino`](https://github.com/medialablpwan/lorawaterlevelmonitoring/blob/main/main/ttn.ino)\n  ```C\n  /*\n  Functions from LMIC library\n  */\n- [`configuration.h`](https://github.com/medialablpwan/lorawaterlevelmonitoring/blob/main/main/configuration.h)\n  ```C\n  /*\n  Sensor macros and boolean toggles\n  */\n- [`credentials.h`](https://github.com/medialablpwan/lorawaterlevelmonitoring/blob/main/main/credentials.h)\n  ```C\n  /*\n  OTAA keys for TTN synchronization\n  */\n- [`lmic_project_config.h`](https://github.com/medialablpwan/lorawaterlevelmonitoring/blob/main/main/lmic_project_config.h)\n  ```C\n  /*\n  LoRa frequency band and radio chip selector\n  */\nA more in depth analysis is given in the code itself as comments explain what each function does.\n\n\u003c/div\u003e\n\n\u003e [!TIP]\n\u003e The most important files to edit are `sensor.ino`, where any sensor can be implemented, and `configuration.h`, where the peripherals' macros are declared\n\n\u003e [!CAUTION]\n\u003e Additional code may be needed if implementing I2C I/O. The functions to make them work are in the original project in [`TTGO-PAXCOUNTER-LoRa32-V2.1-TTN/main/main.ino`](https://github.com/rwanrooy/TTGO-PAXCOUNTER-LoRa32-V2.1-TTN/blob/master/main/main.ino)\n\n___\n\n\u003cdiv align=\"justify\"\u003e\n\n### Libraries [:leftwards_arrow_with_hook:](https://github.com/medialablpwan/lorawaterlevelmonitoring/tree/main#table-of-contents)\n\n- LilyGO board library (Paste the link on the `Preferences` tab and choose `TTGO LoRa32 OLED` as `Board` in Arduino IDE): https://github.com/Xinyuan-LilyGO/LilyGo-LoRa-Series/blob/master/boards/t3_s3_v1_x.json\n\n- LMIC (Copy the contents of the project file `main/lmic_project_config.h` to the library file `arduino-lmic/project_config/lmic_project_config.h` and uncomment the proper frequency for your region. The sketch does always look at the library folder for the configured region!): https://github.com/mcci-catena/arduino-lmic\n\n- QuickMedianLib (To obtain more solid distance values): https://github.com/luisllamasbinaburo/Arduino-QuickMedian\n\n- ESP sleep (To reduce battery consumption): https://github.com/pycom/pycom-esp-idf/blob/master/components/esp32/include/esp_sleep.h\n\n\u003c/div\u003e\n\n\u003e [!NOTE]\n\u003e Other libraries, like SPI library, are easily downloadable from Arduino IDE\n\n___\n\n___\n\n## \u003cp align=\"justify\"\u003e Deployment experiment [:leftwards_arrow_with_hook:](https://github.com/medialablpwan/lorawaterlevelmonitoring/tree/main#table-of-contents) \u003c/p\u003e\n\n### \u003cp align=\"justify\"\u003e The first unit has been deployed near the Polytechnic School of Engineering of Gijón: \u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/medialablpwan/waterlevelcontrol/blob/main/pics/9_Sensor%20Cooper%20en%20Arroyo%20de%20San%20Miguel.jpg\" width=\"600\"  style=\"margin: 10px;\"/\u003e\n\u003c/div\u003e\n\u003cbr/\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/medialablpwan/lorawaterlevelmonitoring/blob/main/pics/map.png\" width=\"600\"  style=\"margin: 10px;\"/\u003e\n\u003c/div\u003e\n\u003cbr/\u003e\n\n___\n\n### Access the Grafana panel[^1] via this QR code or the link below it:\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/medialablpwan/waterlevelcontrol/blob/main/pics/qrcode_4f566df1fed52c6e7fd5f661f64ae3eb.balena-devices.com.png\" width=\"600\"  style=\"margin: 10px;\"/\u003e\n\u003c/div\u003e\n\u003cbr/\u003e\n\n\u003cp align=\"center\"\u003e http://4f566df1fed52c6e7fd5f661f64ae3eb.balena-devices.com:8080/d/vJhQNCZgz/sensores-jsn-sr04t-arroyo-de-san-miguel?from=now-24h\u0026orgId=1\u0026to=now\u0026refresh=1m \u003c/p\u003e\n\n___\n\n___\n\n## \u003cp align=\"justify\"\u003e License [:leftwards_arrow_with_hook:](https://github.com/medialablpwan/lorawaterlevelmonitoring/tree/main#table-of-contents) \u003c/p\u003e\n\nThis project is licensed under the [GPL-3.0 license](https://github.com/rwanrooy/TTGO-PAXCOUNTER-LoRa32-V2.1-TTN/blob/master/LICENSE). Contains code from [rwanrooy/TTGO-PAXCOUNTER-LoRa32-V2.1-TTN](https://github.com/rwanrooy/TTGO-PAXCOUNTER-LoRa32-V2.1-TTN)\n\n___\n\n### \u003cp align=\"justify\"\u003e Contact [:leftwards_arrow_with_hook:](https://github.com/medialablpwan/lorawaterlevelmonitoring/tree/main#table-of-contents) \u003c/p\u003e\n\n\u003e [!IMPORTANT]\n\u003e We will kindly answer doubts and read suggestions: [![Gmail Badge](https://img.shields.io/badge/-Gmail-c14438?style=for-the-badge\u0026logo=Gmail\u0026logoColor=white\u0026link=mailto:medialablpwan@gmail.com)](mailto:medialablpwan@gmail.com)\n\u003e \n\u003e More info about our activities: [![Linkedin Badge](https://img.shields.io/badge/-LinkedIn-blue?style=for-the-badge\u0026logo=Linkedin\u0026logoColor=white\u0026link=https://www.linkedin.com/groups/9298597/)](https://www.linkedin.com/groups/9298597/)\n\n_\u003cp align=\"justify\"\u003e Authors: Daniel Rodríguez Moya, Óscar Gijón, Ramón Rubio and MediaLab\\_ LPWAN Workgroup :shipit: \u003c/p\u003e_\n\n[^1]: Instructions on how to deploy Grafana panels are given on the repo [`medialablpwan/documentacion`](https://github.com/medialablpwan/documentacion).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmedialabuniovi%2Fiot_cooper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmedialabuniovi%2Fiot_cooper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmedialabuniovi%2Fiot_cooper/lists"}