User Tools

Site Tools


amc2020:group_n:start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

amc2020:group_n:start [2020/08/03 19:53] – [List of Detail Pages] jonas001amc2020:group_n:start [2021/08/24 17:35] (current) – external edit 127.0.0.1
Line 1: Line 1:
 +Group N: Jonas Zender (21125) and Nepomuk
 +
 ====== Garden Pond Monitoring Station ====== ====== Garden Pond Monitoring Station ======
  
Line 29: Line 31:
   <!--<a href="https://wiki.eolab.de/doku.php?id=amc2020:group_n:level" target="_blank"><div style="position: absolute; left: 35.47%; top: 48.26%; width: 3.59%; height: 8.31%; background-color: rgba(0,0,0, 0);"></div></a>-->   <!--<a href="https://wiki.eolab.de/doku.php?id=amc2020:group_n:level" target="_blank"><div style="position: absolute; left: 35.47%; top: 48.26%; width: 3.59%; height: 8.31%; background-color: rgba(0,0,0, 0);"></div></a>-->
      
-  <!--<a href="https://wiki.eolab.de/doku.php?id=amc2020:group_n:pond" target="_blank"><div style="position: absolute; left: 44.69%; top: 37.00%; width: 46.25%; height: 45.31%; background-color: rgba(,0,0, 0);"></div></a>-->+  <a href="https://wiki.eolab.de/lib/exe/fetch.php?media=amc2020:group_n:pond.jpg" target="_blank" title="Pond"><div style="position: absolute; left: 44.69%; top: 37.00%; width: 46.25%; height: 45.31%; background-color: rgba(,0,0, 0);"></div></a>
      
   <a href="https://wiki.eolab.de/doku.php?id=amc2020:group_n:sn74hc595n" target="_blank" title="SN74HC595(N) Shift Register"><div style="position: absolute; left: 11.72%; top: 54.42%; width: 9.84%; height: 9.65%; background-color: rgba(,0,0, 0);"></div></a>   <a href="https://wiki.eolab.de/doku.php?id=amc2020:group_n:sn74hc595n" target="_blank" title="SN74HC595(N) Shift Register"><div style="position: absolute; left: 11.72%; top: 54.42%; width: 9.84%; height: 9.65%; background-color: rgba(,0,0, 0);"></div></a>
Line 102: Line 104:
 The DS18B20 is a digital temperature sensor which comes in different packages, one of which being mounted inside a waterproof metal probe with a cable (1m) attached to it, which made it optimal for measuring the temperature in the pond. For measuring, two DS18B20s were used, one for measuring the temperature of the water close to the surface of the pond, and another for measuring at the bottom. This way it is possible to track how the sun’s irradiance (or its absence) influences the temperatures in different locations and how the values develop over the course of a day. The DS18B20 is a digital temperature sensor which comes in different packages, one of which being mounted inside a waterproof metal probe with a cable (1m) attached to it, which made it optimal for measuring the temperature in the pond. For measuring, two DS18B20s were used, one for measuring the temperature of the water close to the surface of the pond, and another for measuring at the bottom. This way it is possible to track how the sun’s irradiance (or its absence) influences the temperatures in different locations and how the values develop over the course of a day.
  
-It uses a 1-Wire communication protocol, but in contrast to the DHT-22, each device that can communicate with this protocol has a unique 64-bit address, such that each sensor can be addressed individually. Therefore, it is possible to connect a huge number of sensors and read their data using only a single GPIO of the MCU. Like the DHT-22, it has an open-drain output which means that a pullup-resistor is necessary; the DS18B20 has no external pullup resistor, so an external one is needed. But as all the sensors can be in the same data-bus, only a single pullup resistor is necessary for the whole data bus.+It uses a 1-Wire communication protocol, but in contrast to the DHT-22, each device that can communicate with this protocol has a unique 64-bit address, such that each sensor can be addressed individually. Therefore, it is possible to connect a huge number of sensors and read their data using only a single GPIO of the MCU. Like the DHT-22, it has an open-drain output which means that a pullup-resistor is necessary; the DS18B20 has no internal pullup resistor, so an external one is needed. But as all the sensors can be in the same data-bus, only a single pullup resistor is necessary for the whole data bus.
  
 The DS18B20 also has the option to configure the measurement resolution from 9 bits to 12 bits. A lower resolution saves time during measurement but compromises the accuracy of the results. As measurements are only taken hourly, not continuously, the highest resolution was chosen as decreasing the measurement time was not as important as yielding accurate results. After determining the sensor’s addresses, test measurements were taken which were in line with those of the DHT-22. The DS18B20 also has the option to configure the measurement resolution from 9 bits to 12 bits. A lower resolution saves time during measurement but compromises the accuracy of the results. As measurements are only taken hourly, not continuously, the highest resolution was chosen as decreasing the measurement time was not as important as yielding accurate results. After determining the sensor’s addresses, test measurements were taken which were in line with those of the DHT-22.
Line 200: Line 202:
  
 //Local Wifi //Local Wifi
-const char* password = "0726606423178450";      +const char* password = "******************";      
-const char* ssid = "WLAN-WCFUNW";                +const char* ssid = "*********";                
  
-//EOLAB+//MQTT Server
 const char* mqtt_server   = "hsrw.space"; const char* mqtt_server   = "hsrw.space";
-const char* mqtt_username = "user"; +const char* mqtt_username = "****"; 
-const char* mqtt_password = "mqtt";+const char* mqtt_password = "****";
 const unsigned int mqtt_bufsize = 100;     const unsigned int mqtt_bufsize = 100;    
 const char* myname = "GroupN";     const char* myname = "GroupN";    
Line 213: Line 215:
 PubSubClient mqttClient(espClient);                PubSubClient mqttClient(espClient);               
  
-//Example Values:                         
-String val1= "Hello"; 
-String val2= "World"; 
-String val3= "Hey"; 
-String val4= "ESP32"; 
 char Buffer[5];                                    char Buffer[5];                                   
  
Line 534: Line 531:
 </file> </file>
  
-==== Overview for the Code ====+==== 3.2 Overview for the Code ==== 
 + 
 +An elaborate explanation of the different code sections can be found in the detail pages. The following is just to give a short overview and explain the main program.
  
 <html> <html>
Line 604: Line 603:
 ==== 3.3 Results in Grafana ==== ==== 3.3 Results in Grafana ====
  
-After setting up the module, programming the DS3231 accordingly and uploading the code to the ESP32, the results could be seen in the pond monitoring station dashboard in Grafana. For testing outdoors, the components need to be isolated safely to not get into contact with the water from the pond, which was not yet done. Therefore, for testing, the measurements were taken indoors in 1-minute intervals during a hot summer day. The results of those measurements can be seen in figure 4. The temperature spike from the bottom water temperature sensor was due to holding the probe in the hand, the following drop was due to the sensor being placed in a colder glass of water for a short moment to test the responsiveness of the sensor. As can be seen, the sensor needs approximately 5 - 7 minutes to really get into thermal equilibrium with its environment+After setting up the module, programming the DS3231 accordingly and uploading the code to the ESP32, the results could be seen in the pond monitoring station dashboard in Grafana. For testing outdoors, the components need to be isolated safely to not get into contact with the water from the pond, which was not yet done. Therefore, for testing, the measurements were taken indoors in 1-minute intervals during a hot summer day. The results of those measurements can be seen in figure 4. The temperature spike from the bottom water temperature sensor was due to holding the probe in the hand, the following drop was due to the sensor being placed in a colder glass of water for a short moment to test the responsiveness of the sensor. As can be seen, the sensor needs approximately 5 - 7 minutes to really get into thermal equilibrium with its environment.
  
 ^ {{:amc2020:group_n:pond_monitoring_station_data_logger_graphana_light_theme.png?800&direct|Figure 4}}  ^ ^ {{:amc2020:group_n:pond_monitoring_station_data_logger_graphana_light_theme.png?800&direct|Figure 4}}  ^
Line 620: Line 619:
  
 At the pond, the connection of the ESP32 to the local WiFi network might not be good enough for data transmission. Before installing the station, the signal strength at the pond should be tested. In case that it is insufficient, some of the ESP32 modules, especially the Wrover-modules, offer the possibility of soldering an IPEX connector to it; some already have one connected in place. The IPEX connector makes it possible to attach an external antenna which increases the signal strength. However, it is not possible to use an external antenna if the PCB antenna is still connected. To change the antenna used by the ESP32, the small 0Ω SMD resistor connecting PCB antenna and MCU must be removed and connected to the IPEX connector instead. As the components are very small, it might not be easy to do that. At the pond, the connection of the ESP32 to the local WiFi network might not be good enough for data transmission. Before installing the station, the signal strength at the pond should be tested. In case that it is insufficient, some of the ESP32 modules, especially the Wrover-modules, offer the possibility of soldering an IPEX connector to it; some already have one connected in place. The IPEX connector makes it possible to attach an external antenna which increases the signal strength. However, it is not possible to use an external antenna if the PCB antenna is still connected. To change the antenna used by the ESP32, the small 0Ω SMD resistor connecting PCB antenna and MCU must be removed and connected to the IPEX connector instead. As the components are very small, it might not be easy to do that.
 +
 +===== Video Summary =====
 +
 +<html>
 +<!==
 +==>
 +</html>
 +^{{ :amc2020:group_n:amc2020_groupn_jzender_video_v1.0.mp4?800 |Video Summary}}^
 +|Video Summary of the Project|
 +
  
 ===== List of Detail Pages ===== ===== List of Detail Pages =====
Line 640: Line 649:
 \\ \\
 \\ \\
 +
 +===== PHYSICS 2 VIDEO =====
 +
 +^{{ :amc2020:group_n:phy2_2020_group_n_video.mp4?800 | Physics 2 Video}}^
 +|Physics 2 Video Submission|
  
 ===== Group Information, Testing & To Do ===== ===== Group Information, Testing & To Do =====
Line 645: Line 659:
 [[test|Test]] [[test|Test]]
  
-[[amc2020:group_n:tutorial|Image Tutorial]]+[[amc2020:group_n:tutorial|Interactive Image Tutorial]]
  
 Group members: Jonas Zender and Nepomuk Group members: Jonas Zender and Nepomuk
Line 666: Line 680:
 <do jonas>Build a casing for the station</do>\\ <do jonas>Build a casing for the station</do>\\
 <do jonas>Perform test measurements at the pond</do>\\ <do jonas>Perform test measurements at the pond</do>\\
 +<do jonas>Create a video about the station</do>\\
  
 Nepomuk:\\ Nepomuk:\\
amc2020/group_n/start.1596477237.txt.gz · Last modified: 2021/08/24 17:34 (external edit)