From 00200c90789d6cb1597371cec4875692ff64474c Mon Sep 17 00:00:00 2001 From: metriful Date: Mon, 16 Nov 2020 18:26:04 +0000 Subject: [PATCH] v3.1.0 --- .../Home_Assistant/Home_Assistant.ino | 218 ++++++++ Arduino/Examples/IFTTT/IFTTT.ino | 190 +++++++ .../IoT_cloud_logging/IoT_cloud_logging.ino | 169 +++--- .../Examples/cycle_readout/cycle_readout.ino | 51 +- .../graph_web_server/graph_web_server.ino | 366 +++++++++++++ Arduino/Examples/interrupts/interrupts.ino | 25 +- .../on_demand_readout/on_demand_readout.ino | 48 +- .../particle_sensor_toggle.ino | 50 +- .../simple_read_T_H/simple_read_T_H.ino | 160 +++--- .../simple_read_sound/simple_read_sound.ino | 80 +-- Arduino/Examples/web_server/web_server.ino | 283 +++++----- Arduino/Metriful_Sensor/Metriful_sensor.cpp | 291 ++++++---- Arduino/Metriful_Sensor/Metriful_sensor.h | 86 ++- Arduino/Metriful_Sensor/WiFi_functions.cpp | 92 ++++ Arduino/Metriful_Sensor/WiFi_functions.h | 26 + Arduino/Metriful_Sensor/graph_web_page.h | 57 ++ Arduino/Metriful_Sensor/graph_web_page.html | 333 ++++++++++++ .../Metriful_Sensor/host_pin_definitions.h | 150 +++--- CHANGELOG.md | 34 ++ Python/GraphViewer.py | 233 ++++++++ Python/Raspberry_Pi/Home_Assistant.py | 119 +++++ Python/Raspberry_Pi/IFTTT.py | 146 +++++ .../Raspberry_Pi}/IoT_cloud_logging.py | 49 +- .../Raspberry_Pi}/cycle_readout.py | 35 +- Python/Raspberry_Pi/graph_web_server.py | 136 +++++ .../Raspberry_Pi}/interrupts.py | 6 +- .../Raspberry_Pi}/log_data_to_file.py | 53 +- .../Raspberry_Pi}/on_demand_readout.py | 38 +- .../Raspberry_Pi}/particle_sensor_toggle.py | 56 +- .../Raspberry_Pi/sensor_package/__init__.py | 1 + .../sensor_package/graph_web_page.html | 333 ++++++++++++ .../sensor_package}/sensor_constants.py | 0 .../sensor_package}/sensor_functions.py | 232 +++++--- Python/Raspberry_Pi/sensor_package/servers.py | 212 ++++++++ Python/Raspberry_Pi/simple_read_T_H.py | 99 ++++ .../Raspberry_Pi}/simple_read_sound.py | 39 +- Python/Raspberry_Pi/web_server.py | 123 +++++ Python/graph_viewer_I2C.py | 159 ++++++ Python/graph_viewer_serial.py | 138 +++++ README.md | 498 +++++++++++++++--- Raspberry_Pi/simple_read_T_H.py | 100 ---- TROUBLESHOOTING.md | 92 ++++ User_guide.pdf | Bin 569590 -> 572639 bytes pictures/graph_viewer.png | Bin 0 -> 60245 bytes pictures/graph_web_server.png | Bin 0 -> 36333 bytes pictures/group.png | Bin 0 -> 332355 bytes pictures/home_assistant.png | Bin 0 -> 54783 bytes pictures/tago.png | Bin 0 -> 50131 bytes sensor_pcb.png | Bin 128106 -> 0 bytes 49 files changed, 4577 insertions(+), 1029 deletions(-) create mode 100644 Arduino/Examples/Home_Assistant/Home_Assistant.ino create mode 100644 Arduino/Examples/IFTTT/IFTTT.ino create mode 100644 Arduino/Examples/graph_web_server/graph_web_server.ino create mode 100644 Arduino/Metriful_Sensor/WiFi_functions.cpp create mode 100644 Arduino/Metriful_Sensor/WiFi_functions.h create mode 100644 Arduino/Metriful_Sensor/graph_web_page.h create mode 100644 Arduino/Metriful_Sensor/graph_web_page.html create mode 100644 CHANGELOG.md create mode 100644 Python/GraphViewer.py create mode 100644 Python/Raspberry_Pi/Home_Assistant.py create mode 100644 Python/Raspberry_Pi/IFTTT.py rename {Raspberry_Pi => Python/Raspberry_Pi}/IoT_cloud_logging.py (80%) rename {Raspberry_Pi => Python/Raspberry_Pi}/cycle_readout.py (67%) create mode 100644 Python/Raspberry_Pi/graph_web_server.py rename {Raspberry_Pi => Python/Raspberry_Pi}/interrupts.py (95%) rename {Raspberry_Pi => Python/Raspberry_Pi}/log_data_to_file.py (71%) rename {Raspberry_Pi => Python/Raspberry_Pi}/on_demand_readout.py (66%) rename {Raspberry_Pi => Python/Raspberry_Pi}/particle_sensor_toggle.py (70%) create mode 100644 Python/Raspberry_Pi/sensor_package/__init__.py create mode 100644 Python/Raspberry_Pi/sensor_package/graph_web_page.html rename {Raspberry_Pi => Python/Raspberry_Pi/sensor_package}/sensor_constants.py (100%) rename {Raspberry_Pi => Python/Raspberry_Pi/sensor_package}/sensor_functions.py (53%) create mode 100644 Python/Raspberry_Pi/sensor_package/servers.py create mode 100644 Python/Raspberry_Pi/simple_read_T_H.py rename {Raspberry_Pi => Python/Raspberry_Pi}/simple_read_sound.py (57%) create mode 100644 Python/Raspberry_Pi/web_server.py create mode 100644 Python/graph_viewer_I2C.py create mode 100644 Python/graph_viewer_serial.py delete mode 100644 Raspberry_Pi/simple_read_T_H.py create mode 100644 TROUBLESHOOTING.md create mode 100644 pictures/graph_viewer.png create mode 100644 pictures/graph_web_server.png create mode 100644 pictures/group.png create mode 100644 pictures/home_assistant.png create mode 100644 pictures/tago.png delete mode 100644 sensor_pcb.png diff --git a/Arduino/Examples/Home_Assistant/Home_Assistant.ino b/Arduino/Examples/Home_Assistant/Home_Assistant.ino new file mode 100644 index 0000000..651dbfe --- /dev/null +++ b/Arduino/Examples/Home_Assistant/Home_Assistant.ino @@ -0,0 +1,218 @@ +/* + Home_Assistant.ino + + Example code for sending environment data from the Metriful MS430 to + an installation of Home Assistant on your local WiFi network. + For more information, visit www.home-assistant.io + + This example is designed for the following WiFi enabled hosts: + * Arduino Nano 33 IoT + * Arduino MKR WiFi 1010 + * ESP8266 boards (e.g. Wemos D1, NodeMCU) + * ESP32 boards (e.g. DOIT DevKit v1) + + Data are sent at regular intervals over your WiFi network to Home + Assistant and can be viewed on the dashboard or used to control + home automation tasks. More setup information is provided in the + Readme and User Guide. + + Copyright 2020 Metriful Ltd. + Licensed under the MIT License - for further details see LICENSE.txt + + For code examples, datasheet and user guide, visit + https://github.com/metriful/sensor +*/ + +#include +#include + +////////////////////////////////////////////////////////// +// USER-EDITABLE SETTINGS + +// How often to read and report the data (every 3, 100 or 300 seconds) +uint8_t cycle_period = CYCLE_PERIOD_100_S; + +// The details of the WiFi network: +char SSID[] = "PUT WIFI NETWORK NAME HERE IN QUOTES"; // network SSID (name) +char password[] = "PUT WIFI PASSWORD HERE IN QUOTES"; // network password + +// Home Assistant settings + +// You must have already installed Home Assistant on a computer on your +// network. Go to www.home-assistant.io for help on this. + +// Choose a unique name for this MS430 sensor board so you can identify it. +// Variables in HA will have names like: SENSOR_NAME.temperature, etc. +#define SENSOR_NAME "kitchen3" + +// Change this to the IP address of the computer running Home Assistant. +// You can find this from the admin interface of your router. +#define HOME_ASSISTANT_IP "192.168.43.144" + +// Security access token: the Readme and User Guide explain how to get this +#define LONG_LIVED_ACCESS_TOKEN "PASTE YOUR TOKEN HERE WITHIN QUOTES" + +// END OF USER-EDITABLE SETTINGS +////////////////////////////////////////////////////////// + +#if !defined(HAS_WIFI) +#error ("This example program has been created for specific WiFi enabled hosts only.") +#endif + +WiFiClient client; + +// Buffers for assembling http POST requests +char postBuffer[450] = {0}; +char fieldBuffer[70] = {0}; + +// Structs for data +AirData_t airData = {0}; +AirQualityData_t airQualityData = {0}; +LightData_t lightData = {0}; +ParticleData_t particleData = {0}; +SoundData_t soundData = {0}; + +// Define the display attributes of data sent to Home Assistant. +// The chosen name, unit and icon will appear in on the overview +// dashboard in Home Assistant. The icons can be chosen from +// https://cdn.materialdesignicons.com/5.3.45/ +// (remove the "mdi-" part from the icon name). +// The attribute fields are: {name, unit, icon, decimal places} +HA_Attributes_t pressure = {"Pressure","Pa","weather-cloudy",0}; +HA_Attributes_t humidity = {"Humidity","%","water-percent",1}; +HA_Attributes_t illuminance = {"Illuminance","lx","white-balance-sunny",2}; +HA_Attributes_t soundLevel = {"Sound level","dBA","microphone",1}; +HA_Attributes_t peakAmplitude = {"Sound peak","mPa","waveform",2}; +HA_Attributes_t AQI = {"Air Quality Index"," ","thought-bubble-outline",1}; +HA_Attributes_t AQ_assessment = {"Air quality assessment","","flower-tulip",0}; +#if (PARTICLE_SENSOR == PARTICLE_SENSOR_PPD42) + HA_Attributes_t particulates = {"Particle concentration","ppL","chart-bubble",0}; +#else + HA_Attributes_t particulates = {"Particle concentration",SDS011_UNIT_SYMBOL,"chart-bubble",2}; +#endif +#ifdef USE_FAHRENHEIT + HA_Attributes_t temperature = {"Temperature",FAHRENHEIT_SYMBOL,"thermometer",1}; +#else + HA_Attributes_t temperature = {"Temperature",CELSIUS_SYMBOL,"thermometer",1}; +#endif + + +void setup() { + // Initialize the host's pins, set up the serial port and reset: + SensorHardwareSetup(I2C_ADDRESS); + + connectToWiFi(SSID, password); + + // Apply settings to the MS430 and enter cycle mode + uint8_t particleSensorCode = PARTICLE_SENSOR; + TransmitI2C(I2C_ADDRESS, PARTICLE_SENSOR_SELECT_REG, &particleSensorCode, 1); + TransmitI2C(I2C_ADDRESS, CYCLE_TIME_PERIOD_REG, &cycle_period, 1); + ready_assertion_event = false; + TransmitI2C(I2C_ADDRESS, CYCLE_MODE_CMD, 0, 0); +} + + +void loop() { + + // Wait for the next new data release, indicated by a falling edge on READY + while (!ready_assertion_event) { + yield(); + } + ready_assertion_event = false; + + // Read data from the MS430 into the data structs. + ReceiveI2C(I2C_ADDRESS, AIR_DATA_READ, (uint8_t *) &airData, AIR_DATA_BYTES); + ReceiveI2C(I2C_ADDRESS, AIR_QUALITY_DATA_READ, (uint8_t *) &airQualityData, AIR_QUALITY_DATA_BYTES); + ReceiveI2C(I2C_ADDRESS, LIGHT_DATA_READ, (uint8_t *) &lightData, LIGHT_DATA_BYTES); + ReceiveI2C(I2C_ADDRESS, SOUND_DATA_READ, (uint8_t *) &soundData, SOUND_DATA_BYTES); + ReceiveI2C(I2C_ADDRESS, PARTICLE_DATA_READ, (uint8_t *) &particleData, PARTICLE_DATA_BYTES); + + // Check that WiFi is still connected + uint8_t wifiStatus = WiFi.status(); + if (wifiStatus != WL_CONNECTED) { + // There is a problem with the WiFi connection: attempt to reconnect. + Serial.print("Wifi status: "); + Serial.println(interpret_WiFi_status(wifiStatus)); + connectToWiFi(SSID, password); + ready_assertion_event = false; + } + + uint8_t T_intPart = 0; + uint8_t T_fractionalPart = 0; + bool isPositive = true; + getTemperature(&airData, &T_intPart, &T_fractionalPart, &isPositive); + + // Send data to Home Assistant + sendNumericData(&temperature, (uint32_t) T_intPart, T_fractionalPart, isPositive); + sendNumericData(&pressure, (uint32_t) airData.P_Pa, 0, true); + sendNumericData(&humidity, (uint32_t) airData.H_pc_int, airData.H_pc_fr_1dp, true); + sendNumericData(&illuminance, (uint32_t) lightData.illum_lux_int, lightData.illum_lux_fr_2dp, true); + sendNumericData(&soundLevel, (uint32_t) soundData.SPL_dBA_int, soundData.SPL_dBA_fr_1dp, true); + sendNumericData(&peakAmplitude, (uint32_t) soundData.peak_amp_mPa_int, + soundData.peak_amp_mPa_fr_2dp, true); + sendNumericData(&AQI, (uint32_t) airQualityData.AQI_int, airQualityData.AQI_fr_1dp, true); + if (PARTICLE_SENSOR != PARTICLE_SENSOR_OFF) { + sendNumericData(&particulates, (uint32_t) particleData.concentration_int, + particleData.concentration_fr_2dp, true); + } + sendTextData(&AQ_assessment, interpret_AQI_value(airQualityData.AQI_int)); +} + +// Send numeric data with specified sign, integer and fractional parts +void sendNumericData(const HA_Attributes_t * attributes, uint32_t valueInteger, + uint8_t valueDecimal, bool isPositive) { + char valueText[20] = {0}; + const char * sign = isPositive ? "" : "-"; + switch (attributes->decimalPlaces) { + case 0: + default: + sprintf(valueText,"%s%" PRIu32, sign, valueInteger); + break; + case 1: + sprintf(valueText,"%s%" PRIu32 ".%u", sign, valueInteger, valueDecimal); + break; + case 2: + sprintf(valueText,"%s%" PRIu32 ".%02u", sign, valueInteger, valueDecimal); + break; + } + http_POST_Home_Assistant(attributes, valueText); +} + +// Send a text string: must have quotation marks added +void sendTextData(const HA_Attributes_t * attributes, const char * valueText) { + char quotedText[20] = {0}; + sprintf(quotedText,"\"%s\"", valueText); + http_POST_Home_Assistant(attributes, quotedText); +} + +// Send the data to Home Assistant as an HTTP POST request. +void http_POST_Home_Assistant(const HA_Attributes_t * attributes, const char * valueText) { + client.stop(); + if (client.connect(HOME_ASSISTANT_IP, 8123)) { + // Form the URL from the name but replace spaces with underscores + strcpy(fieldBuffer,attributes->name); + for (uint8_t i=0; iunit, attributes->name, attributes->icon); + + sprintf(fieldBuffer,"Content-Length: %u", strlen(postBuffer)); + client.println(fieldBuffer); + client.println(); + client.print(postBuffer); + } + else { + Serial.println("Client connection failed."); + } +} diff --git a/Arduino/Examples/IFTTT/IFTTT.ino b/Arduino/Examples/IFTTT/IFTTT.ino new file mode 100644 index 0000000..ff27276 --- /dev/null +++ b/Arduino/Examples/IFTTT/IFTTT.ino @@ -0,0 +1,190 @@ +/* + IFTTT.ino + + Example code for sending data from the Metriful MS430 to IFTTT.com + + This example is designed for the following WiFi enabled hosts: + * Arduino Nano 33 IoT + * Arduino MKR WiFi 1010 + * ESP8266 boards (e.g. Wemos D1, NodeMCU) + * ESP32 boards (e.g. DOIT DevKit v1) + + Environmental data values are periodically measured and compared with + a set of user-defined thresholds. If any values go outside the allowed + ranges, an HTTP POST request is sent to IFTTT.com, triggering an alert + email to your inbox, with customizable text. + This example requires a WiFi network and internet connection. + + Copyright 2020 Metriful Ltd. + Licensed under the MIT License - for further details see LICENSE.txt + + For code examples, datasheet and user guide, visit + https://github.com/metriful/sensor +*/ + +#include +#include + +////////////////////////////////////////////////////////// +// USER-EDITABLE SETTINGS + +// The details of the WiFi network: +char SSID[] = "PUT WIFI NETWORK NAME HERE IN QUOTES"; // network SSID (name) +char password[] = "PUT WIFI PASSWORD HERE IN QUOTES"; // network password + +// Define the details of variables for monitoring. +// The seven fields are: +// {Name, measurement unit, high threshold, low threshold, +// initial inactive cycles (2), advice when high, advice when low} +ThresholdSetting_t humiditySetting = {"humidity","%",60,30,2, + "Reduce moisture sources.","Start the humidifier."}; +ThresholdSetting_t airQualitySetting = {"air quality index","",250,-1,2, + "Improve ventilation and reduce sources of VOCs.",""}; +// Change these values if Fahrenheit output temperature is selected in Metriful_sensor.h +ThresholdSetting_t temperatureSetting = {"temperature",CELSIUS_SYMBOL,24,18,2, + "Turn on the fan.","Turn on the heating."}; + +// An inactive period follows each alert, during which the same alert +// will not be generated again - this prevents too many emails/alerts. +// Choose the period as a number of readout cycles (each 5 minutes) +// e.g. for a 2 hour period, choose inactiveWaitCycles = 24 +uint16_t inactiveWaitCycles = 24; + +// IFTTT.com settings + +// You must set up a free account on IFTTT.com and create a Webhooks +// applet before using this example. This is explained further in the +// instructions in the GitHub Readme, or in the User Guide. + +#define WEBHOOKS_KEY "PASTE YOUR KEY HERE WITHIN QUOTES" +#define IFTTT_EVENT_NAME "PASTE YOUR EVENT NAME HERE WITHIN QUOTES" + +// END OF USER-EDITABLE SETTINGS +////////////////////////////////////////////////////////// + +#if !defined(HAS_WIFI) +#error ("This example program has been created for specific WiFi enabled hosts only.") +#endif + +// Measure the environment data every 300 seconds (5 minutes). This is +// adequate for long-term monitoring. +uint8_t cycle_period = CYCLE_PERIOD_300_S; + +WiFiClient client; + +// Buffers for assembling the http POST requests +char postBuffer[400] = {0}; +char fieldBuffer[120] = {0}; + +// Structs for data +AirData_t airData = {0}; +AirQualityData_t airQualityData = {0}; + + +void setup() { + // Initialize the host's pins, set up the serial port and reset: + SensorHardwareSetup(I2C_ADDRESS); + + connectToWiFi(SSID, password); + + // Enter cycle mode + TransmitI2C(I2C_ADDRESS, CYCLE_TIME_PERIOD_REG, &cycle_period, 1); + ready_assertion_event = false; + TransmitI2C(I2C_ADDRESS, CYCLE_MODE_CMD, 0, 0); +} + + +void loop() { + + // Wait for the next new data release, indicated by a falling edge on READY + while (!ready_assertion_event) { + yield(); + } + ready_assertion_event = false; + + // Read the air data and air quality data + ReceiveI2C(I2C_ADDRESS, AIR_DATA_READ, (uint8_t *) &airData, AIR_DATA_BYTES); + ReceiveI2C(I2C_ADDRESS, AIR_QUALITY_DATA_READ, (uint8_t *) &airQualityData, AIR_QUALITY_DATA_BYTES); + + // Check that WiFi is still connected + uint8_t wifiStatus = WiFi.status(); + if (wifiStatus != WL_CONNECTED) { + // There is a problem with the WiFi connection: attempt to reconnect. + Serial.print("Wifi status: "); + Serial.println(interpret_WiFi_status(wifiStatus)); + connectToWiFi(SSID, password); + ready_assertion_event = false; + } + + // Process temperature value and convert if using Fahrenheit + float temperature = convertEncodedTemperatureToFloat(airData.T_C_int_with_sign, airData.T_C_fr_1dp); + #ifdef USE_FAHRENHEIT + temperature = convertCtoF(temperature); + #endif + + // Send an alert to IFTTT if a variable is outside the allowed range + // Just use the integer parts of values (ignore fractional parts) + checkData(&temperatureSetting, (int32_t) temperature); + checkData(&humiditySetting, (int32_t) airData.H_pc_int); + checkData(&airQualitySetting, (int32_t) airQualityData.AQI_int); +} + + +// Compare the measured value to the chosen thresholds and create an +// alert if the value is outside the allowed range. After triggering +// an alert, it cannot be re-triggered within the chosen number of cycles. +void checkData(ThresholdSetting_t * setting, int32_t value) { + + // Count down to when the monitoring is active again: + if (setting->inactiveCount > 0) { + setting->inactiveCount--; + } + + if ((value > setting->thresHigh) && (setting->inactiveCount == 0)) { + // The variable is above the high threshold + setting->inactiveCount = inactiveWaitCycles; + sendAlert(setting, value, true); + } + else if ((value < setting->thresLow) && (setting->inactiveCount == 0)) { + // The variable is below the low threshold + setting->inactiveCount = inactiveWaitCycles; + sendAlert(setting, value, false); + } +} + + +// Send an alert message to IFTTT.com as an HTTP POST request. +// isOverHighThres = true means (value > thresHigh) +// isOverHighThres = false means (value < thresLow) +void sendAlert(ThresholdSetting_t * setting, int32_t value, bool isOverHighThres) { + client.stop(); + if (client.connect("maker.ifttt.com", 80)) { + client.println("POST /trigger/" IFTTT_EVENT_NAME "/with/key/" WEBHOOKS_KEY " HTTP/1.1"); + client.println("Host: maker.ifttt.com"); + client.println("Content-Type: application/json"); + + sprintf(fieldBuffer,"The %s is too %s.", setting->variableName, + isOverHighThres ? "high" : "low"); + Serial.print("Sending new alert to IFTTT: "); + Serial.println(fieldBuffer); + + sprintf(postBuffer,"{\"value1\":\"%s\",", fieldBuffer); + + sprintf(fieldBuffer,"\"value2\":\"The measurement was %" PRId32 " %s\"", + value, setting->measurementUnit); + strcat(postBuffer, fieldBuffer); + + sprintf(fieldBuffer,",\"value3\":\"%s\"}", + isOverHighThres ? setting->adviceHigh : setting->adviceLow); + strcat(postBuffer, fieldBuffer); + + size_t len = strlen(postBuffer); + sprintf(fieldBuffer,"Content-Length: %u",len); + client.println(fieldBuffer); + client.println(); + client.print(postBuffer); + } + else { + Serial.println("Client connection failed."); + } +} diff --git a/Arduino/Examples/IoT_cloud_logging/IoT_cloud_logging.ino b/Arduino/Examples/IoT_cloud_logging/IoT_cloud_logging.ino index bee5682..60ecd79 100644 --- a/Arduino/Examples/IoT_cloud_logging/IoT_cloud_logging.ino +++ b/Arduino/Examples/IoT_cloud_logging/IoT_cloud_logging.ino @@ -6,7 +6,8 @@ This example is designed for the following WiFi enabled hosts: * Arduino Nano 33 IoT * Arduino MKR WiFi 1010 - * NodeMCU ESP8266 + * ESP8266 boards (e.g. Wemos D1, NodeMCU) + * ESP32 boards (e.g. DOIT DevKit v1) Environmental data values are measured and logged to an internet cloud account every 100 seconds, using a WiFi network. The example @@ -21,24 +22,19 @@ */ #include +#include ////////////////////////////////////////////////////////// // USER-EDITABLE SETTINGS -// How often to read and log data (every 3, 100, 300 seconds) +// How often to read and log data (every 100 or 300 seconds) // Note: due to data rate limits on free cloud services, this should // be set to 100 or 300 seconds, not 3 seconds. uint8_t cycle_period = CYCLE_PERIOD_100_S; -// The I2C address of the Metriful board -uint8_t i2c_7bit_address = I2C_ADDR_7BIT_SB_OPEN; - -// Which particle sensor is attached (PPD42, SDS011, or OFF) -ParticleSensor_t particleSensor = OFF; - -// The details of the WiFi network to connect to: +// The details of the WiFi network: char SSID[] = "PUT WIFI NETWORK NAME HERE IN QUOTES"; // network SSID (name) -char password[] = "PUT WIFI PASSWORD HERE IN QUOTES"; // network password +char password[] = "PUT WIFI PASSWORD HERE IN QUOTES"; // network password // IoT cloud settings // This example uses the free IoT cloud hosting services provided @@ -49,7 +45,7 @@ char password[] = "PUT WIFI PASSWORD HERE IN QUOTES"; // network password // readme and User Guide for more information. // The chosen account's key/token must be put into the relevant define below. -#define TAGO_DEVICE_TOKEN_STRING "PASTE YOUR TOKEN HERE WITHIN QUOTES" +#define TAGO_DEVICE_TOKEN_STRING "PASTE YOUR TOKEN HERE WITHIN QUOTES" #define THINGSPEAK_API_KEY_STRING "PASTE YOUR API KEY HERE WITHIN QUOTES" // Choose which provider to use @@ -59,7 +55,7 @@ bool useTagoCloud = true; // END OF USER-EDITABLE SETTINGS ////////////////////////////////////////////////////////// -#if !defined(ARDUINO_SAMD_NANO_33_IOT) && !defined(ARDUINO_SAMD_MKRWIFI1010) && !defined(ESP8266) +#if !defined(HAS_WIFI) #error ("This example program has been created for specific WiFi enabled hosts only.") #endif @@ -67,7 +63,7 @@ WiFiClient client; // Buffers for assembling http POST requests char postBuffer[450] = {0}; -char fieldBuffer[60] = {0}; +char fieldBuffer[70] = {0}; // Structs for data AirData_t airData = {0}; @@ -76,36 +72,20 @@ LightData_t lightData = {0}; ParticleData_t particleData = {0}; SoundData_t soundData = {0}; -uint8_t transmit_buffer[1] = {0}; - - void setup() { // Initialize the host's pins, set up the serial port and reset: - SensorHardwareSetup(i2c_7bit_address); + SensorHardwareSetup(I2C_ADDRESS); - // Attempt to connect to the Wifi network: - Serial.print("Connecting to "); - Serial.println(SSID); - WiFi.begin(SSID, password); - while (WiFi.status() != WL_CONNECTED) { - delay(500); - Serial.print("."); - } - Serial.println("Connected."); - - //////////////////////////////////////////////////////////////////// + connectToWiFi(SSID, password); // Apply chosen settings to the MS430 - if (particleSensor != OFF) { - transmit_buffer[0] = particleSensor; - TransmitI2C(i2c_7bit_address, PARTICLE_SENSOR_SELECT_REG, transmit_buffer, 1); - } - transmit_buffer[0] = cycle_period; - TransmitI2C(i2c_7bit_address, CYCLE_TIME_PERIOD_REG, transmit_buffer, 1); + uint8_t particleSensor = PARTICLE_SENSOR; + TransmitI2C(I2C_ADDRESS, PARTICLE_SENSOR_SELECT_REG, &particleSensor, 1); + TransmitI2C(I2C_ADDRESS, CYCLE_TIME_PERIOD_REG, &cycle_period, 1); // Enter cycle mode ready_assertion_event = false; - TransmitI2C(i2c_7bit_address, CYCLE_MODE_CMD, 0, 0); + TransmitI2C(I2C_ADDRESS, CYCLE_MODE_CMD, 0, 0); } @@ -125,48 +105,56 @@ void loop() { */ // Air data - ReceiveI2C(i2c_7bit_address, AIR_DATA_READ, (uint8_t *) &airData, AIR_DATA_BYTES); + // Choose output temperature unit (C or F) in Metriful_sensor.h + ReceiveI2C(I2C_ADDRESS, AIR_DATA_READ, (uint8_t *) &airData, AIR_DATA_BYTES); /* Air quality data The initial self-calibration of the air quality data may take several minutes to complete. During this time the accuracy parameter is zero and the data values are not valid. */ - ReceiveI2C(i2c_7bit_address, AIR_QUALITY_DATA_READ, (uint8_t *) &airQualityData, AIR_QUALITY_DATA_BYTES); + ReceiveI2C(I2C_ADDRESS, AIR_QUALITY_DATA_READ, (uint8_t *) &airQualityData, AIR_QUALITY_DATA_BYTES); // Light data - ReceiveI2C(i2c_7bit_address, LIGHT_DATA_READ, (uint8_t *) &lightData, LIGHT_DATA_BYTES); + ReceiveI2C(I2C_ADDRESS, LIGHT_DATA_READ, (uint8_t *) &lightData, LIGHT_DATA_BYTES); // Sound data - ReceiveI2C(i2c_7bit_address, SOUND_DATA_READ, (uint8_t *) &soundData, SOUND_DATA_BYTES); + ReceiveI2C(I2C_ADDRESS, SOUND_DATA_READ, (uint8_t *) &soundData, SOUND_DATA_BYTES); /* Particle data This requires the connection of a particulate sensor (invalid values will be obtained if this sensor is not present). + Specify your sensor model (PPD42 or SDS011) in Metriful_sensor.h Also note that, due to the low pass filtering used, the particle data become valid after an initial initialization period of approximately one minute. */ - if (particleSensor != OFF) { - ReceiveI2C(i2c_7bit_address, PARTICLE_DATA_READ, (uint8_t *) &particleData, PARTICLE_DATA_BYTES); + if (PARTICLE_SENSOR != PARTICLE_SENSOR_OFF) { + ReceiveI2C(I2C_ADDRESS, PARTICLE_DATA_READ, (uint8_t *) &particleData, PARTICLE_DATA_BYTES); } - - if (WiFi.status() != WL_CONNECTED) { - Serial.println("Wifi connection lost: attempting to reconnect."); - WiFi.begin(SSID, password); + + // Check that WiFi is still connected + uint8_t wifiStatus = WiFi.status(); + if (wifiStatus != WL_CONNECTED) { + // There is a problem with the WiFi connection: attempt to reconnect. + Serial.print("Wifi status: "); + Serial.println(interpret_WiFi_status(wifiStatus)); + connectToWiFi(SSID, password); + ready_assertion_event = false; + } + + // Send data to the cloud + if (useTagoCloud) { + http_POST_data_Tago_cloud(); } else { - if (useTagoCloud) { - http_POST_data_Tago_cloud(); - } - else { - http_POST_data_Thingspeak_cloud(); - } + http_POST_data_Thingspeak_cloud(); } } + /* For both example cloud providers, the following quantities will be sent: -1 Temperature/C +1 Temperature (C or F) 2 Pressure/Pa 3 Humidity/% 4 Air quality index @@ -183,93 +171,86 @@ void loop() { // Assemble the data into the required format, then send it to the // Tago.io cloud as an HTTP POST request. void http_POST_data_Tago_cloud(void) { + client.stop(); if (client.connect("api.tago.io", 80)) { client.println("POST /data HTTP/1.1"); client.println("Host: api.tago.io"); client.println("Content-Type: application/json"); client.println("Device-Token: " TAGO_DEVICE_TOKEN_STRING); - - uint8_t T_positive_integer = airData.T_C_int_with_sign & TEMPERATURE_VALUE_MASK; - // If the most-significant bit is set, the temperature is negative (below 0 C) - if ((airData.T_C_int_with_sign & TEMPERATURE_SIGN_MASK) != 0) { - // The bit is set: celsius temperature is negative - sprintf(postBuffer,"[{\"variable\":\"temperature\",\"value\":-%u.%u}", - T_positive_integer, airData.T_C_fr_1dp); - } - else { - // The bit is not set: celsius temperature is positive - sprintf(postBuffer,"[{\"variable\":\"temperature\",\"value\":%u.%u}", - T_positive_integer, airData.T_C_fr_1dp); - } - sprintf(fieldBuffer,",{\"variable\":\"pressure\",\"value\":%lu}", airData.P_Pa); + uint8_t T_intPart = 0; + uint8_t T_fractionalPart = 0; + bool isPositive = true; + getTemperature(&airData, &T_intPart, &T_fractionalPart, &isPositive); + sprintf(postBuffer,"[{\"variable\":\"temperature\",\"value\":%s%u.%u}", + isPositive?"":"-", T_intPart, T_fractionalPart); + + sprintf(fieldBuffer,",{\"variable\":\"pressure\",\"value\":%" PRIu32 "}", airData.P_Pa); strcat(postBuffer, fieldBuffer); sprintf(fieldBuffer,",{\"variable\":\"humidity\",\"value\":%u.%u}", - airData.H_pc_int, airData.H_pc_fr_1dp); + airData.H_pc_int, airData.H_pc_fr_1dp); strcat(postBuffer, fieldBuffer); sprintf(fieldBuffer,",{\"variable\":\"aqi\",\"value\":%u.%u}", - airQualityData.AQI_int, airQualityData.AQI_fr_1dp); + airQualityData.AQI_int, airQualityData.AQI_fr_1dp); strcat(postBuffer, fieldBuffer); sprintf(fieldBuffer,",{\"variable\":\"aqi_string\",\"value\":\"%s\"}", - interpret_AQI_value(airQualityData.AQI_int)); + interpret_AQI_value(airQualityData.AQI_int)); strcat(postBuffer, fieldBuffer); sprintf(fieldBuffer,",{\"variable\":\"bvoc\",\"value\":%u.%02u}", - airQualityData.bVOC_int, airQualityData.bVOC_fr_2dp); + airQualityData.bVOC_int, airQualityData.bVOC_fr_2dp); strcat(postBuffer, fieldBuffer); sprintf(fieldBuffer,",{\"variable\":\"spl\",\"value\":%u.%u}", - soundData.SPL_dBA_int, soundData.SPL_dBA_fr_1dp); + soundData.SPL_dBA_int, soundData.SPL_dBA_fr_1dp); strcat(postBuffer, fieldBuffer); sprintf(fieldBuffer,",{\"variable\":\"peak_amp\",\"value\":%u.%02u}", - soundData.peak_amp_mPa_int, soundData.peak_amp_mPa_fr_2dp); + soundData.peak_amp_mPa_int, soundData.peak_amp_mPa_fr_2dp); strcat(postBuffer, fieldBuffer); sprintf(fieldBuffer,",{\"variable\":\"particulates\",\"value\":%u.%02u}", - particleData.concentration_int, particleData.concentration_fr_2dp); + particleData.concentration_int, particleData.concentration_fr_2dp); strcat(postBuffer, fieldBuffer); sprintf(fieldBuffer,",{\"variable\":\"illuminance\",\"value\":%u.%02u}]", - lightData.illum_lux_int, lightData.illum_lux_fr_2dp); + lightData.illum_lux_int, lightData.illum_lux_fr_2dp); strcat(postBuffer, fieldBuffer); - int len = strlen(postBuffer); + size_t len = strlen(postBuffer); sprintf(fieldBuffer,"Content-Length: %u",len); - client.println(fieldBuffer); - client.println(); + client.println(fieldBuffer); + client.println(); client.print(postBuffer); } else { - Serial.println("Connection failed"); + Serial.println("Client connection failed."); } } + // Assemble the data into the required format, then send it to the // Thingspeak.com cloud as an HTTP POST request. void http_POST_data_Thingspeak_cloud(void) { - if (client.connect("api.thingspeak.com", 80)) { + client.stop(); + if (client.connect("api.thingspeak.com", 80)) { client.println("POST /update HTTP/1.1"); client.println("Host: api.thingspeak.com"); client.println("Content-Type: application/x-www-form-urlencoded"); - uint8_t T_positive_integer = airData.T_C_int_with_sign & TEMPERATURE_VALUE_MASK; - // If the most-significant bit is set, the temperature is negative (below 0 C) - if ((airData.T_C_int_with_sign & TEMPERATURE_SIGN_MASK) != 0) { - // The bit is set: celsius temperature is negative - sprintf(postBuffer,"api_key=" THINGSPEAK_API_KEY_STRING "&field1=-%u.%u", - T_positive_integer, airData.T_C_fr_1dp); - } - else { - // The bit is not set: celsius temperature is positive - sprintf(postBuffer,"api_key=" THINGSPEAK_API_KEY_STRING "&field1=%u.%u", - T_positive_integer, airData.T_C_fr_1dp); - } + strcpy(postBuffer,"api_key=" THINGSPEAK_API_KEY_STRING); + + uint8_t T_intPart = 0; + uint8_t T_fractionalPart = 0; + bool isPositive = true; + getTemperature(&airData, &T_intPart, &T_fractionalPart, &isPositive); + sprintf(fieldBuffer,"&field1=%s%u.%u", isPositive?"":"-", T_intPart, T_fractionalPart); + strcat(postBuffer, fieldBuffer); - sprintf(fieldBuffer,"&field2=%lu", airData.P_Pa); + sprintf(fieldBuffer,"&field2=%" PRIu32, airData.P_Pa); strcat(postBuffer, fieldBuffer); sprintf(fieldBuffer,"&field3=%u.%u", airData.H_pc_int, airData.H_pc_fr_1dp); @@ -291,13 +272,13 @@ void http_POST_data_Thingspeak_cloud(void) { particleData.concentration_fr_2dp); strcat(postBuffer, fieldBuffer); - int len = strlen(postBuffer); + size_t len = strlen(postBuffer); sprintf(fieldBuffer,"Content-Length: %u",len); client.println(fieldBuffer); client.println(); client.print(postBuffer); } else { - Serial.println("Connection failed"); + Serial.println("Client connection failed."); } } diff --git a/Arduino/Examples/cycle_readout/cycle_readout.ino b/Arduino/Examples/cycle_readout/cycle_readout.ino index 40ddc38..9f53595 100644 --- a/Arduino/Examples/cycle_readout/cycle_readout.ino +++ b/Arduino/Examples/cycle_readout/cycle_readout.ino @@ -7,6 +7,9 @@ a repeating cycle. User can choose from a cycle time period of 3, 100, or 300 seconds. View the output in the Serial Monitor. + The measurements can be displayed as either labeled text, or as + simple columns of numbers. + Copyright 2020 Metriful Ltd. Licensed under the MIT License - for further details see LICENSE.txt @@ -19,15 +22,9 @@ ////////////////////////////////////////////////////////// // USER-EDITABLE SETTINGS -// How often to read data (every 3, 100, 300 seconds) +// How often to read data (every 3, 100, or 300 seconds) uint8_t cycle_period = CYCLE_PERIOD_3_S; -// The I2C address of the Metriful board -uint8_t i2c_7bit_address = I2C_ADDR_7BIT_SB_OPEN; - -// Which particle sensor is attached (PPD42, SDS011, or OFF) -ParticleSensor_t particleSensor = OFF; - // How to print the data over the serial port. If printDataAsColumns = true, // data are columns of numbers, useful to copy/paste to a spreadsheet // application. Otherwise, data are printed with explanatory labels and units. @@ -36,8 +33,6 @@ bool printDataAsColumns = false; // END OF USER-EDITABLE SETTINGS ////////////////////////////////////////////////////////// -uint8_t transmit_buffer[1] = {0}; - // Structs for data AirData_t airData = {0}; AirQualityData_t airQualityData = {0}; @@ -48,15 +43,12 @@ ParticleData_t particleData = {0}; void setup() { // Initialize the host pins, set up the serial port and reset: - SensorHardwareSetup(i2c_7bit_address); + SensorHardwareSetup(I2C_ADDRESS); // Apply chosen settings to the MS430 - if (particleSensor != OFF) { - transmit_buffer[0] = particleSensor; - TransmitI2C(i2c_7bit_address, PARTICLE_SENSOR_SELECT_REG, transmit_buffer, 1); - } - transmit_buffer[0] = cycle_period; - TransmitI2C(i2c_7bit_address, CYCLE_TIME_PERIOD_REG, transmit_buffer, 1); + uint8_t particleSensor = PARTICLE_SENSOR; + TransmitI2C(I2C_ADDRESS, PARTICLE_SENSOR_SELECT_REG, &particleSensor, 1); + TransmitI2C(I2C_ADDRESS, CYCLE_TIME_PERIOD_REG, &cycle_period, 1); // Wait for the serial port to be ready, for displaying the output while (!Serial) { @@ -65,7 +57,7 @@ void setup() { Serial.println("Entering cycle mode and waiting for data."); ready_assertion_event = false; - TransmitI2C(i2c_7bit_address, CYCLE_MODE_CMD, 0, 0); + TransmitI2C(I2C_ADDRESS, CYCLE_MODE_CMD, 0, 0); } @@ -76,38 +68,35 @@ void loop() { } ready_assertion_event = false; - /* Read data from the MS430 into the data structs. - For each category of data (air, sound, etc.) a pointer to the data struct is - passed to the ReceiveI2C() function. The received byte sequence fills the data - struct in the correct order so that each field within the struct receives - the value of an environmental quantity (temperature, sound level, etc.) - */ + // Read data from the MS430 into the data structs. // Air data - ReceiveI2C(i2c_7bit_address, AIR_DATA_READ, (uint8_t *) &airData, AIR_DATA_BYTES); + // Choose output temperature unit (C or F) in Metriful_sensor.h + airData = getAirData(I2C_ADDRESS); /* Air quality data The initial self-calibration of the air quality data may take several minutes to complete. During this time the accuracy parameter is zero and the data values are not valid. */ - ReceiveI2C(i2c_7bit_address, AIR_QUALITY_DATA_READ, (uint8_t *) &airQualityData, AIR_QUALITY_DATA_BYTES); + airQualityData = getAirQualityData(I2C_ADDRESS); // Light data - ReceiveI2C(i2c_7bit_address, LIGHT_DATA_READ, (uint8_t *) &lightData, LIGHT_DATA_BYTES); + lightData = getLightData(I2C_ADDRESS); // Sound data - ReceiveI2C(i2c_7bit_address, SOUND_DATA_READ, (uint8_t *) &soundData, SOUND_DATA_BYTES); + soundData = getSoundData(I2C_ADDRESS); /* Particle data This requires the connection of a particulate sensor (invalid values will be obtained if this sensor is not present). + Specify your sensor model (PPD42 or SDS011) in Metriful_sensor.h Also note that, due to the low pass filtering used, the particle data become valid after an initial initialization period of approximately one minute. */ - if (particleSensor != OFF) { - ReceiveI2C(i2c_7bit_address, PARTICLE_DATA_READ, (uint8_t *) &particleData, PARTICLE_DATA_BYTES); + if (PARTICLE_SENSOR != PARTICLE_SENSOR_OFF) { + particleData = getParticleData(I2C_ADDRESS); } // Print all data to the serial port @@ -115,8 +104,8 @@ void loop() { printAirQualityData(&airQualityData, printDataAsColumns); printLightData(&lightData, printDataAsColumns); printSoundData(&soundData, printDataAsColumns); - if (particleSensor != OFF) { - printParticleData(&particleData, printDataAsColumns, particleSensor); + if (PARTICLE_SENSOR != PARTICLE_SENSOR_OFF) { + printParticleData(&particleData, printDataAsColumns, PARTICLE_SENSOR); } Serial.println(); } diff --git a/Arduino/Examples/graph_web_server/graph_web_server.ino b/Arduino/Examples/graph_web_server/graph_web_server.ino new file mode 100644 index 0000000..5ff48a6 --- /dev/null +++ b/Arduino/Examples/graph_web_server/graph_web_server.ino @@ -0,0 +1,366 @@ +/* + graph_web_server.ino + + Serve a web page over a WiFi network, displaying graphs showing + environment data read from the Metriful MS430. A CSV data file is + also downloadable from the page. + + This example is designed for the following WiFi enabled hosts: + * Arduino Nano 33 IoT + * Arduino MKR WiFi 1010 + * ESP8266 boards (e.g. Wemos D1, NodeMCU) + * ESP32 boards (e.g. DOIT DevKit v1) + + The host can either connect to an existing WiFi network, or generate + its own for other devices to connect to (Access Point mode). + + The browser which views the web page uses the Plotly javascript + library to generate the graphs. This is automatically downloaded + over the internet, or can be cached for offline use. If it is not + available, graphs will not appear but text data and CSV downloads + should still work. + + Copyright 2020 Metriful Ltd. + Licensed under the MIT License - for further details see LICENSE.txt + + For code examples, datasheet and user guide, visit + https://github.com/metriful/sensor +*/ + +#include +#include +#include + +////////////////////////////////////////////////////////// +// USER-EDITABLE SETTINGS + +// Choose how often to read and update data (every 3, 100, or 300 seconds) +// 100 or 300 seconds are recommended for long-term monitoring. +uint8_t cycle_period = CYCLE_PERIOD_100_S; + +// The BUFFER_LENGTH parameter is the number of data points of each +// variable to store on the host. It is limited by the available host RAM. +#define BUFFER_LENGTH 576 +// Examples: +// For 16 hour graphs, choose 100 second cycle period and 576 buffer length +// For 24 hour graphs, choose 300 second cycle period and 288 buffer length + +// Choose whether to create a new WiFi network (host as Access Point), +// or connect to an existing WiFi network. +bool createWifiNetwork = true; +// If creating a WiFi network, a static (fixed) IP address ("theIP") is +// specified by the user. Otherwise, if connecting to an existing +// network, an IP address is automatically allocated and the serial +// output must be viewed at startup to see this allocated IP address. + +// Provide the SSID (name) and password for the WiFi network. Depending +// on the choice of createWifiNetwork, this is either created by the +// host (Access Point mode) or already exists. +// To avoid problems, do not create a network with the same SSID name +// as an already existing network. +char SSID[] = "PUT WIFI NETWORK NAME HERE IN QUOTES"; // network SSID (name) +char password[] = "PUT WIFI PASSWORD HERE IN QUOTES"; // network password; must be at least 8 characters + +// Choose a static IP address for the host, only used when generating +// a new WiFi network (createWifiNetwork = true). The served web +// page will be available at http:// +IPAddress theIP(192, 168, 12, 20); +// e.g. theIP(192, 168, 12, 20) means an IP of 192.168.12.20 +// and the web page will be at http://192.168.12.20 + +// END OF USER-EDITABLE SETTINGS +////////////////////////////////////////////////////////// + +#if !defined(HAS_WIFI) +#error ("This example program has been created for specific WiFi enabled hosts only.") +#endif + +WiFiServer server(80); +uint16_t dataPeriod_s; + +// Structs for data +AirData_F_t airDataF = {0}; +AirQualityData_F_t airQualityDataF = {0}; +LightData_F_t lightDataF = {0}; +ParticleData_F_t particleDataF = {0}; +SoundData_F_t soundDataF = {0}; + +const char * errorResponseHTTP = "HTTP/1.1 400 Bad Request\r\n\r\n"; + +const char * dataHeader = "HTTP/1.1 200 OK\r\n" + "Content-type: application/octet-stream\r\n" + "Connection: close\r\n\r\n"; + +uint16_t bufferLength = 0; +float temperature_buffer[BUFFER_LENGTH] = {0}; +float pressure_buffer[BUFFER_LENGTH] = {0}; +float humidity_buffer[BUFFER_LENGTH] = {0}; +float AQI_buffer[BUFFER_LENGTH] = {0}; +float bVOC_buffer[BUFFER_LENGTH] = {0}; +float SPL_buffer[BUFFER_LENGTH] = {0}; +float illuminance_buffer[BUFFER_LENGTH] = {0}; +float particle_buffer[BUFFER_LENGTH] = {0}; + + +void setup() { + // Initialize the host's pins, set up the serial port and reset: + SensorHardwareSetup(I2C_ADDRESS); + + if (createWifiNetwork) { + // The host generates its own WiFi network ("Access Point") with + // a chosen static IP address + if (!createWiFiAP(SSID, password, theIP)) { + Serial.println("Failed to create access point."); + while (true) { + yield(); + } + } + } + else { + // The host connects to an existing Wifi network + + // Wait for the serial port to start because the user must be able + // to see the printed IP address in the serial monitor + while (!Serial) { + yield(); + } + + // Attempt to connect to the Wifi network and obtain the IP + // address. Because the address is not known before this point, + // a serial monitor must be used to display it to the user. + connectToWiFi(SSID, password); + theIP = WiFi.localIP(); + } + + // Print the IP address: use this address in a browser to view the + // generated web page + Serial.print("View your page at http://"); + Serial.println(theIP); + + // Start the web server + server.begin(); + + //////////////////////////////////////////////////////////////////// + + // Get time period value to send to web page + if (cycle_period == CYCLE_PERIOD_3_S) { + dataPeriod_s = 3; + } + else if (cycle_period == CYCLE_PERIOD_100_S) { + dataPeriod_s = 100; + } + else { // CYCLE_PERIOD_300_S + dataPeriod_s = 300; + } + + // Apply the chosen settings to the Metriful board + uint8_t particleSensor = PARTICLE_SENSOR; + TransmitI2C(I2C_ADDRESS, PARTICLE_SENSOR_SELECT_REG, &particleSensor, 1); + TransmitI2C(I2C_ADDRESS, CYCLE_TIME_PERIOD_REG, &cycle_period, 1); + ready_assertion_event = false; + TransmitI2C(I2C_ADDRESS, CYCLE_MODE_CMD, 0, 0); +} + +void loop() { + + // Respond to the web page client requests while waiting for new data + while (!ready_assertion_event) { + handleClientRequests(); + yield(); + } + ready_assertion_event = false; + + // Read the new data and convert to float types: + airDataF = getAirDataF(I2C_ADDRESS); + airQualityDataF = getAirQualityDataF(I2C_ADDRESS); + lightDataF = getLightDataF(I2C_ADDRESS); + soundDataF = getSoundDataF(I2C_ADDRESS); + particleDataF = getParticleDataF(I2C_ADDRESS); + + // Save the data + updateDataBuffers(); + + // Check WiFi is still connected + if (!createWifiNetwork) { + uint8_t wifiStatus = WiFi.status(); + if (wifiStatus != WL_CONNECTED) { + // There is a problem with the WiFi connection: attempt to reconnect. + Serial.print("Wifi status: "); + Serial.println(interpret_WiFi_status(wifiStatus)); + connectToWiFi(SSID, password); + theIP = WiFi.localIP(); + Serial.print("View your page at http://"); + Serial.println(theIP); + ready_assertion_event = false; + } + } +} + +// Store the data, up to a maximum length of BUFFER_LENGTH, then start +// discarding the oldest data in a FIFO scheme ("First In First Out") +void updateDataBuffers(void) { + uint16_t position = 0; + if (bufferLength == BUFFER_LENGTH) { + // Buffers are full: shift all data values along, discarding the oldest + for (uint16_t i=0; i<(BUFFER_LENGTH-1); i++) { + temperature_buffer[i] = temperature_buffer[i+1]; + pressure_buffer[i] = pressure_buffer[i+1]; + humidity_buffer[i] = humidity_buffer[i+1]; + AQI_buffer[i] = AQI_buffer[i+1]; + bVOC_buffer[i] = bVOC_buffer[i+1]; + SPL_buffer[i] = SPL_buffer[i+1]; + illuminance_buffer[i] = illuminance_buffer[i+1]; + particle_buffer[i] = particle_buffer[i+1]; + } + position = BUFFER_LENGTH-1; + } + else { + // Buffers are not yet full; keep filling them + position = bufferLength; + bufferLength++; + } + + // Save the new data in the buffers + AQI_buffer[position] = airQualityDataF.AQI; + #ifdef USE_FAHRENHEIT + temperature_buffer[position] = convertCtoF(airDataF.T_C); + #else + temperature_buffer[position] = airDataF.T_C; + #endif + pressure_buffer[position] = (float) airDataF.P_Pa; + humidity_buffer[position] = airDataF.H_pc; + SPL_buffer[position] = soundDataF.SPL_dBA; + illuminance_buffer[position] = lightDataF.illum_lux; + bVOC_buffer[position] = airQualityDataF.bVOC; + particle_buffer[position] = particleDataF.concentration; +} + + +#define GET_REQUEST_STR "GET /" +#define URI_CHARS 2 +// Send either the web page or the data in response to HTTP requests. +void handleClientRequests(void) { + // Check for incoming client requests + WiFiClient client = server.available(); + if (client) { + + uint8_t requestCount = 0; + char requestBuffer[sizeof(GET_REQUEST_STR)] = {0}; + + uint8_t uriCount = 0; + char uriBuffer[URI_CHARS] = {0}; + + while (client.connected()) { + if (client.available()) { + char c = client.read(); + + if (requestCount < (sizeof(GET_REQUEST_STR)-1)) { + // Assemble the first part of the message containing the HTTP method (GET, POST etc) + requestBuffer[requestCount] = c; + requestCount++; + } + else if (uriCount < URI_CHARS) { + // Assemble the URI, up to a fixed number of characters + uriBuffer[uriCount] = c; + uriCount++; + } + else { + // Now use the assembled method and URI to decide how to respond + if (strcmp(requestBuffer, GET_REQUEST_STR) == 0) { + // It is a GET request (no other methods are supported). + // Now check for valid URIs. + if (uriBuffer[0] == ' ') { + // The web page is requested + sendData(&client, (const uint8_t *) graphWebPage, strlen(graphWebPage)); + break; + } + else if ((uriBuffer[0] == '1') && (uriBuffer[1] == ' ')) { + // A URI of '1' indicates a request of all buffered data + sendAllData(&client); + break; + } + else if ((uriBuffer[0] == '2') && (uriBuffer[1] == ' ')) { + // A URI of '2' indicates a request of the latest data only + sendLatestData(&client); + break; + } + } + // Reaching here means that the request is not supported or is incorrect + // (not a GET request, or not a valid URI) so send an error. + client.print(errorResponseHTTP); + break; + } + } + } + #ifndef ESP8266 + client.stop(); + #endif + } +} + +// Send all buffered data in the HTTP response. Binary format ("octet-stream") +// is used, and the receiving web page uses the known order of the data to +// decode and interpret it. +void sendAllData(WiFiClient * clientPtr) { + clientPtr->print(dataHeader); + // First send the time period, so the web page knows when to do the next request + clientPtr->write((const uint8_t *) &dataPeriod_s, sizeof(uint16_t)); + // Send temperature unit and particle sensor type, combined into one byte + uint8_t codeByte = (uint8_t) PARTICLE_SENSOR; + #ifdef USE_FAHRENHEIT + codeByte = codeByte | 0x10; + #endif + clientPtr->write((const uint8_t *) &codeByte, sizeof(uint8_t)); + // Send the length of the data buffers (the number of values of each variable) + clientPtr->write((const uint8_t *) &bufferLength, sizeof(uint16_t)); + // Send the data, unless none have been read yet: + if (bufferLength > 0) { + sendData(clientPtr, (const uint8_t *) AQI_buffer, bufferLength*sizeof(float)); + sendData(clientPtr, (const uint8_t *) temperature_buffer, bufferLength*sizeof(float)); + sendData(clientPtr, (const uint8_t *) pressure_buffer, bufferLength*sizeof(float)); + sendData(clientPtr, (const uint8_t *) humidity_buffer, bufferLength*sizeof(float)); + sendData(clientPtr, (const uint8_t *) SPL_buffer, bufferLength*sizeof(float)); + sendData(clientPtr, (const uint8_t *) illuminance_buffer, bufferLength*sizeof(float)); + sendData(clientPtr, (const uint8_t *) bVOC_buffer, bufferLength*sizeof(float)); + if (PARTICLE_SENSOR != PARTICLE_SENSOR_OFF) { + sendData(clientPtr, (const uint8_t *) particle_buffer, bufferLength*sizeof(float)); + } + } +} + + +// Send just the most recent value of each variable (or no data if no values +// have been read yet) +void sendLatestData(WiFiClient * clientPtr) { + clientPtr->print(dataHeader); + if (bufferLength > 0) { + uint16_t bufferPosition = bufferLength-1; + clientPtr->write((const uint8_t *) &(AQI_buffer[bufferPosition]), sizeof(float)); + clientPtr->write((const uint8_t *) &(temperature_buffer[bufferPosition]), sizeof(float)); + clientPtr->write((const uint8_t *) &(pressure_buffer[bufferPosition]), sizeof(float)); + clientPtr->write((const uint8_t *) &(humidity_buffer[bufferPosition]), sizeof(float)); + clientPtr->write((const uint8_t *) &(SPL_buffer[bufferPosition]), sizeof(float)); + clientPtr->write((const uint8_t *) &(illuminance_buffer[bufferPosition]), sizeof(float)); + clientPtr->write((const uint8_t *) &(bVOC_buffer[bufferPosition]), sizeof(float)); + if (PARTICLE_SENSOR != PARTICLE_SENSOR_OFF) { + clientPtr->write((const uint8_t *) &(particle_buffer[bufferPosition]), sizeof(float)); + } + } +} + + +// client.write() may fail with very large inputs, so split +// into several separate write() calls with a short delay between each. +#define MAX_DATA_BYTES 1000 +void sendData(WiFiClient * clientPtr, const uint8_t * dataPtr, size_t dataLength) { + while (dataLength > 0) { + size_t sendLength = dataLength; + if (sendLength > MAX_DATA_BYTES) { + sendLength = MAX_DATA_BYTES; + } + clientPtr->write(dataPtr, sendLength); + delay(10); + dataLength-=sendLength; + dataPtr+=sendLength; + } +} diff --git a/Arduino/Examples/interrupts/interrupts.ino b/Arduino/Examples/interrupts/interrupts.ino index 03f1190..37bab65 100644 --- a/Arduino/Examples/interrupts/interrupts.ino +++ b/Arduino/Examples/interrupts/interrupts.ino @@ -4,7 +4,7 @@ Example code for using the Metriful MS430 interrupt outputs. Light and sound interrupts are configured and the program then - waits indefinitely. When an interrupt occurs, a message prints over + waits forever. When an interrupt occurs, a message prints over the serial port, the interrupt is cleared (if set to latch type), and the program returns to waiting. View the output in the Serial Monitor. @@ -43,9 +43,6 @@ bool enableSoundInterrupts = true; uint8_t sound_int_type = SOUND_INT_TYPE_LATCH; uint16_t sound_thres_mPa = 100; -// The I2C address of the Metriful board -uint8_t i2c_7bit_address = I2C_ADDR_7BIT_SB_OPEN; - // END OF USER-EDITABLE SETTINGS ////////////////////////////////////////////////////////// @@ -54,7 +51,7 @@ uint8_t transmit_buffer[1] = {0}; void setup() { // Initialize the host pins, set up the serial port and reset - SensorHardwareSetup(i2c_7bit_address); + SensorHardwareSetup(I2C_ADDRESS); // check that the chosen light threshold is a valid value if (light_int_thres_lux_i > MAX_LUX_VALUE) { @@ -74,31 +71,31 @@ void setup() { if (enableSoundInterrupts) { // Set the interrupt type (latch or comparator) transmit_buffer[0] = sound_int_type; - TransmitI2C(i2c_7bit_address, SOUND_INTERRUPT_TYPE_REG, transmit_buffer, 1); + TransmitI2C(I2C_ADDRESS, SOUND_INTERRUPT_TYPE_REG, transmit_buffer, 1); // Set the threshold - setSoundInterruptThreshold(i2c_7bit_address, sound_thres_mPa); + setSoundInterruptThreshold(I2C_ADDRESS, sound_thres_mPa); // Enable the interrupt transmit_buffer[0] = ENABLED; - TransmitI2C(i2c_7bit_address, SOUND_INTERRUPT_ENABLE_REG, transmit_buffer, 1); + TransmitI2C(I2C_ADDRESS, SOUND_INTERRUPT_ENABLE_REG, transmit_buffer, 1); } if (enableLightInterrupts) { // Set the interrupt type (latch or comparator) transmit_buffer[0] = light_int_type; - TransmitI2C(i2c_7bit_address, LIGHT_INTERRUPT_TYPE_REG, transmit_buffer, 1); + TransmitI2C(I2C_ADDRESS, LIGHT_INTERRUPT_TYPE_REG, transmit_buffer, 1); // Set the threshold - setLightInterruptThreshold(i2c_7bit_address, light_int_thres_lux_i, light_int_thres_lux_f2dp); + setLightInterruptThreshold(I2C_ADDRESS, light_int_thres_lux_i, light_int_thres_lux_f2dp); // Set the interrupt polarity transmit_buffer[0] = light_int_polarity; - TransmitI2C(i2c_7bit_address, LIGHT_INTERRUPT_POLARITY_REG, transmit_buffer, 1); + TransmitI2C(I2C_ADDRESS, LIGHT_INTERRUPT_POLARITY_REG, transmit_buffer, 1); // Enable the interrupt transmit_buffer[0] = ENABLED; - TransmitI2C(i2c_7bit_address, LIGHT_INTERRUPT_ENABLE_REG, transmit_buffer, 1); + TransmitI2C(I2C_ADDRESS, LIGHT_INTERRUPT_ENABLE_REG, transmit_buffer, 1); } // Wait for the serial port to be ready, for displaying the output @@ -118,7 +115,7 @@ void loop() { Serial.println("LIGHT INTERRUPT."); if (light_int_type == LIGHT_INT_TYPE_LATCH) { // Latch type interrupts remain set until cleared by command - TransmitI2C(i2c_7bit_address, LIGHT_INTERRUPT_CLR_CMD, 0, 0); + TransmitI2C(I2C_ADDRESS, LIGHT_INTERRUPT_CLR_CMD, 0, 0); } } @@ -127,7 +124,7 @@ void loop() { Serial.println("SOUND INTERRUPT."); if (sound_int_type == SOUND_INT_TYPE_LATCH) { // Latch type interrupts remain set until cleared by command - TransmitI2C(i2c_7bit_address, SOUND_INTERRUPT_CLR_CMD, 0, 0); + TransmitI2C(I2C_ADDRESS, SOUND_INTERRUPT_CLR_CMD, 0, 0); } } diff --git a/Arduino/Examples/on_demand_readout/on_demand_readout.ino b/Arduino/Examples/on_demand_readout/on_demand_readout.ino index abc71c3..8509dde 100644 --- a/Arduino/Examples/on_demand_readout/on_demand_readout.ino +++ b/Arduino/Examples/on_demand_readout/on_demand_readout.ino @@ -21,26 +21,18 @@ // Pause (in milliseconds) between data measurements (note that the // measurement itself takes 0.5 seconds) -uint32_t pause_ms = 3500; +uint32_t pause_ms = 4500; // Choosing a pause of less than 2000 ms will cause inaccurate // temperature, humidity and particle data. -// The I2C address of the Metriful board -uint8_t i2c_7bit_address = I2C_ADDR_7BIT_SB_OPEN; - -// Which particle sensor is attached (PPD42, SDS011, or OFF) -ParticleSensor_t particleSensor = OFF; - // How to print the data over the serial port. If printDataAsColumns = true, // data are columns of numbers, useful to copy/paste to a spreadsheet // application. Otherwise, data are printed with explanatory labels and units. -bool printDataAsColumns = true; +bool printDataAsColumns = false; // END OF USER-EDITABLE SETTINGS ////////////////////////////////////////////////////////// -uint8_t transmit_buffer[1] = {0}; - // Structs for data AirData_t airData = {0}; LightData_t lightData = {0}; @@ -50,12 +42,10 @@ ParticleData_t particleData = {0}; void setup() { // Initialize the host pins, set up the serial port and reset: - SensorHardwareSetup(i2c_7bit_address); + SensorHardwareSetup(I2C_ADDRESS); - if (particleSensor != OFF) { - transmit_buffer[0] = particleSensor; - TransmitI2C(i2c_7bit_address, PARTICLE_SENSOR_SELECT_REG, transmit_buffer, 1); - } + uint8_t particleSensor = PARTICLE_SENSOR; + TransmitI2C(I2C_ADDRESS, PARTICLE_SENSOR_SELECT_REG, &particleSensor, 1); // Wait for the serial port to be ready, for displaying the output while (!Serial) { @@ -68,50 +58,48 @@ void loop() { // Trigger a new measurement ready_assertion_event = false; - TransmitI2C(i2c_7bit_address, ON_DEMAND_MEASURE_CMD, 0, 0); + TransmitI2C(I2C_ADDRESS, ON_DEMAND_MEASURE_CMD, 0, 0); // Wait for the measurement to finish, indicated by a falling edge on READY while (!ready_assertion_event) { yield(); } - - /* Read data from the MS430 into the data structs. - For each category of data (air, sound, etc.) a pointer to the data struct is - passed to the ReceiveI2C() function. The received byte sequence fills the data - struct in the correct order so that each field within the struct receives - the value of an environmental quantity (temperature, sound level, etc.) - */ + + // Read data from the MS430 into the data structs. // Air data - ReceiveI2C(i2c_7bit_address, AIR_DATA_READ, (uint8_t *) &airData, AIR_DATA_BYTES); + // Choose output temperature unit (C or F) in Metriful_sensor.h + airData = getAirData(I2C_ADDRESS); // Air quality data are not available with on demand measurements // Light data - ReceiveI2C(i2c_7bit_address, LIGHT_DATA_READ, (uint8_t *) &lightData, LIGHT_DATA_BYTES); + lightData = getLightData(I2C_ADDRESS); // Sound data - ReceiveI2C(i2c_7bit_address, SOUND_DATA_READ, (uint8_t *) &soundData, SOUND_DATA_BYTES); + soundData = getSoundData(I2C_ADDRESS); /* Particle data This requires the connection of a particulate sensor (invalid values will be obtained if this sensor is not present). + Specify your sensor model (PPD42 or SDS011) in Metriful_sensor.h Also note that, due to the low pass filtering used, the particle data become valid after an initial initialization period of approximately one minute. */ - if (particleSensor != OFF) { - ReceiveI2C(i2c_7bit_address, PARTICLE_DATA_READ, (uint8_t *) &particleData, PARTICLE_DATA_BYTES); + if (PARTICLE_SENSOR != PARTICLE_SENSOR_OFF) { + particleData = getParticleData(I2C_ADDRESS); } // Print all data to the serial port printAirData(&airData, printDataAsColumns); printLightData(&lightData, printDataAsColumns); printSoundData(&soundData, printDataAsColumns); - if (particleSensor != OFF) { - printParticleData(&particleData, printDataAsColumns, particleSensor); + if (PARTICLE_SENSOR != PARTICLE_SENSOR_OFF) { + printParticleData(&particleData, printDataAsColumns, PARTICLE_SENSOR); } Serial.println(); + // Wait for the chosen time period before repeating everything delay(pause_ms); } diff --git a/Arduino/Examples/particle_sensor_toggle/particle_sensor_toggle.ino b/Arduino/Examples/particle_sensor_toggle/particle_sensor_toggle.ino index 064ce0a..d9a8722 100644 --- a/Arduino/Examples/particle_sensor_toggle/particle_sensor_toggle.ino +++ b/Arduino/Examples/particle_sensor_toggle/particle_sensor_toggle.ino @@ -5,14 +5,14 @@ control signal from one of the host's pins, which can be used to turn the particle sensor on and off. An external transistor circuit is also needed - this will gate the sensor power supply according to - the control signal. + the control signal. Further details are given in the User Guide. The program continually measures and displays all environment data in a repeating cycle. The user can view the output in the Serial Monitor. After reading the data, the particle sensor is powered off for a chosen number of cycles ("off_cycles"). It is then powered on and read before being powered off again. Sound data are ignored - while the particle sensor is on, to avoid fan noise. + while the particle sensor is on, to avoid its fan noise. Copyright 2020 Metriful Ltd. Licensed under the MIT License - for further details see LICENSE.txt @@ -31,25 +31,18 @@ // its data. uint8_t cycle_period = CYCLE_PERIOD_100_S; -// The I2C address of the Metriful board -uint8_t i2c_7bit_address = I2C_ADDR_7BIT_SB_OPEN; - // How to print the data over the serial port. If printDataAsColumns = true, // data are columns of numbers, useful for transferring to a spreadsheet // application. Otherwise, data are printed with explanatory labels and units. -bool printDataAsColumns = true; - -// Which particle sensor is attached (PPD42, SDS011, or OFF) -ParticleSensor_t particleSensor = SDS011; +bool printDataAsColumns = false; // Particle sensor power control options -uint8_t off_cycles = 1; // leave the sensor off for this many cycles between reads +uint8_t off_cycles = 2; // leave the sensor off for this many cycles between reads uint8_t particle_sensor_control_pin = 10; // host pin number which outputs the control signal bool particle_sensor_ON_state = true; // particle_sensor_ON_state is the required polarity of the control -// signal; true means +V is output to turn the sensor on (use this for -// 3.3 V hosts). false means 0V is output to turn the sensor on (use -// this for 5 V hosts). The User Guide gives example switching circuits. +// signal; true means +V is output to turn the sensor on, while false +// means 0 V is output. Use true for 3.3 V hosts and false for 5 V hosts. // END OF USER-EDITABLE SETTINGS ////////////////////////////////////////////////////////// @@ -69,7 +62,7 @@ uint8_t particleSensor_count = 0; void setup() { // Initialize the host pins, set up the serial port and reset: - SensorHardwareSetup(i2c_7bit_address); + SensorHardwareSetup(I2C_ADDRESS); // Set up the particle sensor control, and turn it off initially pinMode(particle_sensor_control_pin, OUTPUT); @@ -77,12 +70,10 @@ void setup() { particleSensorIsOn = false; // Apply chosen settings to the MS430 - if (particleSensor != OFF) { - transmit_buffer[0] = particleSensor; - TransmitI2C(i2c_7bit_address, PARTICLE_SENSOR_SELECT_REG, transmit_buffer, 1); - } + transmit_buffer[0] = PARTICLE_SENSOR; + TransmitI2C(I2C_ADDRESS, PARTICLE_SENSOR_SELECT_REG, transmit_buffer, 1); transmit_buffer[0] = cycle_period; - TransmitI2C(i2c_7bit_address, CYCLE_TIME_PERIOD_REG, transmit_buffer, 1); + TransmitI2C(I2C_ADDRESS, CYCLE_TIME_PERIOD_REG, transmit_buffer, 1); // Wait for the serial port to be ready, for displaying the output while (!Serial) { @@ -91,7 +82,7 @@ void setup() { Serial.println("Entering cycle mode and waiting for data."); ready_assertion_event = false; - TransmitI2C(i2c_7bit_address, CYCLE_MODE_CMD, 0, 0); + TransmitI2C(I2C_ADDRESS, CYCLE_MODE_CMD, 0, 0); } @@ -110,32 +101,33 @@ void loop() { */ // Air data - ReceiveI2C(i2c_7bit_address, AIR_DATA_READ, (uint8_t *) &airData, AIR_DATA_BYTES); + ReceiveI2C(I2C_ADDRESS, AIR_DATA_READ, (uint8_t *) &airData, AIR_DATA_BYTES); /* Air quality data The initial self-calibration of the air quality data may take several minutes to complete. During this time the accuracy parameter is zero and the data values are not valid. */ - ReceiveI2C(i2c_7bit_address, AIR_QUALITY_DATA_READ, (uint8_t *) &airQualityData, AIR_QUALITY_DATA_BYTES); + ReceiveI2C(I2C_ADDRESS, AIR_QUALITY_DATA_READ, (uint8_t *) &airQualityData, AIR_QUALITY_DATA_BYTES); // Light data - ReceiveI2C(i2c_7bit_address, LIGHT_DATA_READ, (uint8_t *) &lightData, LIGHT_DATA_BYTES); + ReceiveI2C(I2C_ADDRESS, LIGHT_DATA_READ, (uint8_t *) &lightData, LIGHT_DATA_BYTES); // Sound data - only read when particle sensor is off if (!particleSensorIsOn) { - ReceiveI2C(i2c_7bit_address, SOUND_DATA_READ, (uint8_t *) &soundData, SOUND_DATA_BYTES); + ReceiveI2C(I2C_ADDRESS, SOUND_DATA_READ, (uint8_t *) &soundData, SOUND_DATA_BYTES); } /* Particle data This requires the connection of a particulate sensor (invalid values will be obtained if this sensor is not present). + Specify your sensor model (PPD42 or SDS011) in Metriful_sensor.h Also note that, due to the low pass filtering used, the particle data become valid after an initial initialization period of approximately one minute. */ if (particleSensorIsOn) { - ReceiveI2C(i2c_7bit_address, PARTICLE_DATA_READ, (uint8_t *) &particleData, PARTICLE_DATA_BYTES); + ReceiveI2C(I2C_ADDRESS, PARTICLE_DATA_READ, (uint8_t *) &particleData, PARTICLE_DATA_BYTES); } // Print all data to the serial port. The previous loop's particle or @@ -144,14 +136,14 @@ void loop() { printAirQualityData(&airQualityData, printDataAsColumns); printLightData(&lightData, printDataAsColumns); printSoundData(&soundData, printDataAsColumns); - printParticleData(&particleData, printDataAsColumns, particleSensor); + printParticleData(&particleData, printDataAsColumns, PARTICLE_SENSOR); Serial.println(); // Turn the particle sensor on/off if required if (particleSensorIsOn) { // Stop the particle detection on the MS430 transmit_buffer[0] = OFF; - TransmitI2C(i2c_7bit_address, PARTICLE_SENSOR_SELECT_REG, transmit_buffer, 1); + TransmitI2C(I2C_ADDRESS, PARTICLE_SENSOR_SELECT_REG, transmit_buffer, 1); // Turn off the hardware: digitalWrite(particle_sensor_control_pin, !particle_sensor_ON_state); @@ -164,8 +156,8 @@ void loop() { digitalWrite(particle_sensor_control_pin, particle_sensor_ON_state); // Start the particle detection on the MS430 - transmit_buffer[0] = particleSensor; - TransmitI2C(i2c_7bit_address, PARTICLE_SENSOR_SELECT_REG, transmit_buffer, 1); + transmit_buffer[0] = PARTICLE_SENSOR; + TransmitI2C(I2C_ADDRESS, PARTICLE_SENSOR_SELECT_REG, transmit_buffer, 1); particleSensor_count = 0; particleSensorIsOn = true; diff --git a/Arduino/Examples/simple_read_T_H/simple_read_T_H.ino b/Arduino/Examples/simple_read_T_H/simple_read_T_H.ino index f1d9d97..c2ff5eb 100644 --- a/Arduino/Examples/simple_read_T_H/simple_read_T_H.ino +++ b/Arduino/Examples/simple_read_T_H/simple_read_T_H.ino @@ -4,10 +4,9 @@ Example code for using the Metriful MS430 to measure humidity and temperature. - Measures and displays the humidity and temperature, demonstrating - the decoding of the signed temperature value. The data are also - read out and displayed a second time, using a “data category read” - of all Air measurement data. View the output in the Serial Monitor. + Demonstrates multiple ways of reading and displaying the temperature + and humidity data. View the output in the Serial Monitor. The other + data can be measured and displayed in a similar way. Copyright 2020 Metriful Ltd. Licensed under the MIT License - for further details see LICENSE.txt @@ -18,24 +17,10 @@ #include -////////////////////////////////////////////////////////// -// USER-EDITABLE SETTINGS -// The I2C address of the Metriful board -uint8_t i2c_7bit_address = I2C_ADDR_7BIT_SB_OPEN; - -// Whether to use floating point representation of numbers (uses more -// host resources) -bool useFloatingPoint = false; - -// END OF USER-EDITABLE SETTINGS -////////////////////////////////////////////////////////// - -uint8_t receive_buffer[2] = {0}; - -void setup() { +void setup() { // Initialize the host pins, set up the serial port and reset: - SensorHardwareSetup(i2c_7bit_address); + SensorHardwareSetup(I2C_ADDRESS); // Wait for the serial port to be ready, for displaying the output while (!Serial) { @@ -46,81 +31,118 @@ void setup() { ready_assertion_event = false; // Initiate an on-demand data measurement - TransmitI2C(i2c_7bit_address, ON_DEMAND_MEASURE_CMD, 0, 0); + TransmitI2C(I2C_ADDRESS, ON_DEMAND_MEASURE_CMD, 0, 0); // Now wait for the ready signal before continuing while (!ready_assertion_event) { yield(); } - - // We now know that data are ready to read. + + // We know that new data are ready to read. //////////////////////////////////////////////////////////////////// - // HUMIDITY + // There are different ways to read and display the data + + // 1. Simplest way: use the example float (_F) functions + + // Read the "air data" from the MS430. This includes temperature and + // humidity as well as pressure and gas sensor data. + AirData_F_t airDataF = getAirDataF(I2C_ADDRESS); + + // Print all of the air measurements to the serial monitor + printAirDataF(&airDataF); + // Fahrenheit temperature is printed if USE_FAHRENHEIT is defined + // in "Metriful_sensor.h" + + Serial.println("-----------------------------"); - // Read the humidity value from the sensor board - ReceiveI2C(i2c_7bit_address, H_READ, receive_buffer, H_BYTES); - // Decode the humidity: the first byte is the integer part, the - // second byte is the fractional part to one decimal place. + // 2. After reading from the MS430, you can also access and print the + // float data directly from the struct: + Serial.print("The temperature is: "); + Serial.print(airDataF.T_C, 1); // print to 1 decimal place + Serial.println(" " CELSIUS_SYMBOL); + + // Optional: convert to Fahrenheit + float temperature_F = convertCtoF(airDataF.T_C); + + Serial.print("The temperature is: "); + Serial.print(temperature_F, 1); // print to 1 decimal place + Serial.println(" " FAHRENHEIT_SYMBOL); + + Serial.println("-----------------------------"); + + + // 3. If host resources are limited, avoid using floating point and + // instead use the integer versions (without "F" in the name) + AirData_t airData = getAirData(I2C_ADDRESS); + + // Print to the serial monitor + printAirData(&airData, false); + // If the second argument is "true", data are printed as columns. + // Fahrenheit temperature is printed if USE_FAHRENHEIT is defined + // in "Metriful_sensor.h" + + Serial.println("-----------------------------"); + + + // 4. Access and print integer data directly from the struct: + Serial.print("The humidity is: "); + Serial.print(airData.H_pc_int); // the integer part of the value + Serial.print("."); // the decimal point + Serial.print(airData.H_pc_fr_1dp); // the fractional part (1 decimal place) + Serial.println(" %"); + + Serial.println("-----------------------------"); + + + // 5. Advanced: read and decode only the humidity value from the MS430 + + // Read the raw humidity data + uint8_t receive_buffer[2] = {0}; + ReceiveI2C(I2C_ADDRESS, H_READ, receive_buffer, H_BYTES); + + // Decode the humidity: the first received byte is the integer part, the + // second received byte is the fractional part to one decimal place. uint8_t humidity_integer = receive_buffer[0]; uint8_t humidity_fraction = receive_buffer[1]; // Print it: the units are percentage relative humidity. Serial.print("Humidity = "); - Serial.print(humidity_integer);Serial.print(".");Serial.print(humidity_fraction);Serial.println(" %"); - - //////////////////////////////////////////////////////////////////// + Serial.print(humidity_integer); + Serial.print("."); + Serial.print(humidity_fraction); + Serial.println(" %"); + + Serial.println("-----------------------------"); + - // TEMPERATURE + // 6. Advanced: read and decode only the temperature value from the MS430 - // Read the temperature value from the sensor board - ReceiveI2C(i2c_7bit_address, T_READ, receive_buffer, T_BYTES); + // Read the raw temperature data + ReceiveI2C(I2C_ADDRESS, T_READ, receive_buffer, T_BYTES); - // Decode and print the temperature: + // The temperature is encoded differently to allow negative values - // Find the positive magnitude of the integer part of the temperature by - // doing a bitwise AND of the first byte with TEMPERATURE_VALUE_MASK + // Find the positive magnitude of the integer part of the temperature + // by doing a bitwise AND of the first received byte with TEMPERATURE_VALUE_MASK uint8_t temperature_positive_integer = receive_buffer[0] & TEMPERATURE_VALUE_MASK; - // The second byte is the fractional part to one decimal place + // The second received byte is the fractional part to one decimal place uint8_t temperature_fraction = receive_buffer[1]; Serial.print("Temperature = "); - // If the most-significant bit is set, the temperature is negative (below 0 C) - if ((receive_buffer[0] & TEMPERATURE_SIGN_MASK) == 0) { - // The bit is not set: celsius temperature is positive - Serial.print("+"); - } - else { - // The bit is set: celsius temperature is negative + // If the most-significant bit of the first byte is a 1, the temperature + // is negative (below 0 C), otherwise it is positive + if ((receive_buffer[0] & TEMPERATURE_SIGN_MASK) != 0) { + // The bit is a 1: celsius temperature is negative Serial.print("-"); } - Serial.print(temperature_positive_integer);Serial.print("."); - Serial.print(temperature_fraction);Serial.println(" C"); - - //////////////////////////////////////////////////////////////////// - - // AIR DATA + Serial.print(temperature_positive_integer); + Serial.print("."); + Serial.print(temperature_fraction); + Serial.println(" " CELSIUS_SYMBOL); - // Rather than reading individual data values as shown above, whole - // categories of data can be read in one I2C transaction - - // Read all Air data in one transaction, interpreting the received bytes as an AirData_t struct: - AirData_t airData = {0}; - ReceiveI2C(i2c_7bit_address, AIR_DATA_READ, (uint8_t *) &airData, AIR_DATA_BYTES); - - // Print the values over the serial port - if (useFloatingPoint) { - // Convert values where necessary to floating point representation: - AirData_F_t airDataF = {0}; - convertAirDataF(&airData, &airDataF); - printAirDataF(&airDataF); - } - else { - // The data remain in integer representation - printAirData(&airData, false); - } } void loop() { diff --git a/Arduino/Examples/simple_read_sound/simple_read_sound.ino b/Arduino/Examples/simple_read_sound/simple_read_sound.ino index 3bb10df..01d537a 100644 --- a/Arduino/Examples/simple_read_sound/simple_read_sound.ino +++ b/Arduino/Examples/simple_read_sound/simple_read_sound.ino @@ -3,8 +3,9 @@ Example code for using the Metriful MS430 to measure sound. - Measures and displays the sound data once. - View the output in the Serial Monitor. + Demonstrates multiple ways of reading and displaying the sound data. + View the output in the Serial Monitor. The other data can be measured + and displayed in a similar way. Copyright 2020 Metriful Ltd. Licensed under the MIT License - for further details see LICENSE.txt @@ -15,24 +16,10 @@ #include -////////////////////////////////////////////////////////// -// USER-EDITABLE SETTINGS - -// The I2C address of the Metriful board -uint8_t i2c_7bit_address = I2C_ADDR_7BIT_SB_OPEN; - -// Whether to use floating point representation of numbers (uses more -// host resources) -bool useFloatingPoint = false; - -// END OF USER-EDITABLE SETTINGS -////////////////////////////////////////////////////////// - -uint8_t receive_buffer[1] = {0}; void setup() { // Initialize the host pins, set up the serial port and reset: - SensorHardwareSetup(i2c_7bit_address); + SensorHardwareSetup(I2C_ADDRESS); // Wait for the serial port to be ready, for displaying the output while (!Serial) { @@ -51,7 +38,7 @@ void setup() { ready_assertion_event = false; // Initiate an on-demand data measurement - TransmitI2C(i2c_7bit_address, ON_DEMAND_MEASURE_CMD, 0, 0); + TransmitI2C(I2C_ADDRESS, ON_DEMAND_MEASURE_CMD, 0, 0); // Now wait for the ready signal (falling edge) before continuing while (!ready_assertion_event) { @@ -61,22 +48,49 @@ void setup() { // We now know that newly measured data are ready to read. //////////////////////////////////////////////////////////////////// + + // There are multiple ways to read and display the data + + + // 1. Simplest way: use the example float (_F) functions + + // Read the sound data from the board + SoundData_F_t soundDataF = getSoundDataF(I2C_ADDRESS); + + // Print all of the sound measurements to the serial monitor + printSoundDataF(&soundDataF); + + Serial.println("-----------------------------"); + + + // 2. After reading from the MS430, you can also access and print the + // float data directly from the struct: + Serial.print("The sound pressure level is: "); + Serial.print(soundDataF.SPL_dBA, 1); // print to 1 decimal place + Serial.println(" dBA"); + + Serial.println("-----------------------------"); + + + // 3. If host resources are limited, avoid using floating point and + // instead use the integer versions (without "F" in the name) + SoundData_t soundData = getSoundData(I2C_ADDRESS); + + // Print to the serial monitor + printSoundData(&soundData, false); + // If the second argument is "true", data are printed as columns. + + Serial.println("-----------------------------"); + + + // 4. Access and print integer data directly from the struct: + Serial.print("The sound pressure level is: "); + Serial.print(soundData.SPL_dBA_int); // the integer part of the value + Serial.print("."); // the decimal point + Serial.print(soundData.SPL_dBA_fr_1dp); // the fractional part (1 decimal place) + Serial.println(" dBA"); - // Read all sound data in one transaction, interpreting the received bytes as a SoundData_t struct: - SoundData_t soundData = {0}; - ReceiveI2C(i2c_7bit_address, SOUND_DATA_READ, (uint8_t *) &soundData, SOUND_DATA_BYTES); - - // Print the values over the serial port - if (useFloatingPoint) { - // Convert values to floating point representation: - SoundData_F_t soundDataF = {0}; - convertSoundDataF(&soundData, &soundDataF); - printSoundDataF(&soundDataF); - } - else { - // The data remain in integer representation - printSoundData(&soundData, false); - } + Serial.println("-----------------------------"); } void loop() { diff --git a/Arduino/Examples/web_server/web_server.ino b/Arduino/Examples/web_server/web_server.ino index 5e6703c..1921ed6 100644 --- a/Arduino/Examples/web_server/web_server.ino +++ b/Arduino/Examples/web_server/web_server.ino @@ -2,15 +2,17 @@ web_server.ino Example code for serving a web page over a WiFi network, displaying - environment data from the Metriful MS430. + environment data read from the Metriful MS430. This example is designed for the following WiFi enabled hosts: * Arduino Nano 33 IoT * Arduino MKR WiFi 1010 - * NodeMCU ESP8266 - + * ESP8266 boards (e.g. Wemos D1, NodeMCU) + * ESP32 boards (e.g. DOIT DevKit v1) + All environment data values are measured and displayed on a text web page generated by the host, which acts as a simple web server. + The host can either connect to an existing WiFi network, or generate its own for other devices to connect to (Access Point mode). @@ -22,22 +24,18 @@ */ #include +#include ////////////////////////////////////////////////////////// // USER-EDITABLE SETTINGS -// Choose how often to read and display data (every 3, 100, 300 seconds) +// Choose how often to read and update data (every 3, 100, or 300 seconds) +// The web page can be refreshed more often but the data will not change uint8_t cycle_period = CYCLE_PERIOD_3_S; -// The I2C address of the Metriful board -uint8_t i2c_7bit_address = I2C_ADDR_7BIT_SB_OPEN; - -// Which particle sensor is attached (PPD42, SDS011, or OFF) -ParticleSensor_t particleSensor = OFF; - // Choose whether to create a new WiFi network (host as Access Point), // or connect to an existing WiFi network. -bool createWifiNetwork = true; +bool createWifiNetwork = false; // If creating a WiFi network, a static (fixed) IP address ("theIP") is // specified by the user. Otherwise, if connecting to an existing // network, an IP address is automatically allocated and the serial @@ -46,10 +44,10 @@ bool createWifiNetwork = true; // Provide the SSID (name) and password for the WiFi network. Depending // on the choice of createWifiNetwork, this is either created by the // host (Access Point mode) or already exists. -// To avoid problems, do not create a network with the same SSID +// To avoid problems, do not create a network with the same SSID name // as an already existing network. char SSID[] = "PUT WIFI NETWORK NAME HERE IN QUOTES"; // network SSID (name) -char password[] = "PUT WIFI PASSWORD HERE IN QUOTES"; // network password (at least 8 characters) +char password[] = "PUT WIFI PASSWORD HERE IN QUOTES"; // network password; must be at least 8 characters // Choose a static IP address for the host, only used when generating // a new WiFi network (createWifiNetwork = true). The served web @@ -61,7 +59,7 @@ IPAddress theIP(192, 168, 12, 20); // END OF USER-EDITABLE SETTINGS ////////////////////////////////////////////////////////// -#if !defined(ARDUINO_SAMD_NANO_33_IOT) && !defined(ARDUINO_SAMD_MKRWIFI1010) && !defined(ESP8266) +#if !defined(HAS_WIFI) #error ("This example program has been created for specific WiFi enabled hosts only.") #endif @@ -75,48 +73,23 @@ LightData_t lightData = {0}; ParticleData_t particleData = {0}; SoundData_t soundData = {0}; -// Buffer for commands (big enough to fit the largest send transaction): -uint8_t transmit_buffer[1] = {0}; - // Storage for the web page text -char lineBuffer[128] = {0}; -char pageBuffer[2200] = {0}; +char lineBuffer[100] = {0}; +char pageBuffer[2300] = {0}; void setup() { // Initialize the host's pins, set up the serial port and reset: - SensorHardwareSetup(i2c_7bit_address); + SensorHardwareSetup(I2C_ADDRESS); if (createWifiNetwork) { - // The host generates its own WiFi network ("access point") - - #ifdef ESP8266 - // Set the chosen static IP address: - WiFi.mode(WIFI_AP_STA); - IPAddress subnet(255,255,255,0); - WiFi.softAPConfig(theIP, theIP, subnet); - - Serial.print("Creating access point named: "); - Serial.println(SSID); - if (!WiFi.softAP(SSID, password)) { - Serial.println("Failed to create access point."); - while (true) { - yield(); - } + // The host generates its own WiFi network ("Access Point") with + // a chosen static IP address + if (!createWiFiAP(SSID, password, theIP)) { + Serial.println("Failed to create access point."); + while (true) { + yield(); } - #else - // Set the chosen static IP address: - WiFi.config(theIP); - - Serial.print("Creating access point named: "); - Serial.println(SSID); - - if (WiFi.beginAP(SSID, password) != WL_AP_LISTENING) { - Serial.println("Failed to create access point."); - while (true) { - yield(); - } - } - #endif + } } else { // The host connects to an existing Wifi network @@ -126,25 +99,17 @@ void setup() { while (!Serial) { yield(); } - - // Attempt to connect to the Wifi network and obtain an IP + + // Attempt to connect to the Wifi network and obtain the IP // address. Because the address is not known before this point, // a serial monitor must be used to display it to the user. - Serial.print("Connecting to "); - Serial.println(SSID); - WiFi.begin(SSID, password); - while (WiFi.status() != WL_CONNECTED) { - delay(500); - Serial.print("."); - } - Serial.println("Connected."); - + connectToWiFi(SSID, password); theIP = WiFi.localIP(); } // Print the IP address: use this address in a browser to view the // generated web page - Serial.print("View your page at http://"); + Serial.print("View your page at http://"); Serial.println(theIP); // Start the web server @@ -152,10 +117,10 @@ void setup() { //////////////////////////////////////////////////////////////////// - // Select how often to refresh the web page. This should be done at + // Select how often to auto-refresh the web page. This should be done at // least as often as new data are obtained. A more frequent refresh is - // best for long cycle periods because the page access may be - // out-of-step with the cycle. + // best for long cycle periods because the page refresh is not + // synchronized with the cycle. Users can also manually refresh the page. if (cycle_period == CYCLE_PERIOD_3_S) { refreshPeriodSeconds = 3; } @@ -167,23 +132,18 @@ void setup() { } // Apply the chosen settings to the Metriful board - if (particleSensor != OFF) { - transmit_buffer[0] = particleSensor; - TransmitI2C(i2c_7bit_address, PARTICLE_SENSOR_SELECT_REG, transmit_buffer, 1); - } - transmit_buffer[0] = cycle_period; - TransmitI2C(i2c_7bit_address, CYCLE_TIME_PERIOD_REG, transmit_buffer, 1); - - Serial.println("Entering cycle mode and waiting for data."); + uint8_t particleSensor = PARTICLE_SENSOR; + TransmitI2C(I2C_ADDRESS, PARTICLE_SENSOR_SELECT_REG, &particleSensor, 1); + TransmitI2C(I2C_ADDRESS, CYCLE_TIME_PERIOD_REG, &cycle_period, 1); ready_assertion_event = false; - TransmitI2C(i2c_7bit_address, CYCLE_MODE_CMD, 0, 0); + TransmitI2C(I2C_ADDRESS, CYCLE_MODE_CMD, 0, 0); } void loop() { - // While waiting for the next data release, - // respond to client requests by serving the web page with the last - // available data. Initially the data will be all zero (until the - // first data readout has completed). + + // While waiting for the next data release, respond to client requests + // by serving the web page with the last available data. Initially the + // data will be all zero (until the first data readout has completed). while (!ready_assertion_event) { handleClientRequests(); yield(); @@ -192,7 +152,7 @@ void loop() { // new data are now ready - /* Read data the MS430 into the data structs. + /* Read data from the MS430 into the data structs. For each category of data (air, sound, etc.) a pointer to the data struct is passed to the ReceiveI2C() function. The received byte sequence fills the data struct in the correct order so that each field within the struct receives @@ -200,34 +160,51 @@ void loop() { */ // Air data - ReceiveI2C(i2c_7bit_address, AIR_DATA_READ, (uint8_t *) &airData, AIR_DATA_BYTES); + // Choose output temperature unit (C or F) in Metriful_sensor.h + ReceiveI2C(I2C_ADDRESS, AIR_DATA_READ, (uint8_t *) &airData, AIR_DATA_BYTES); /* Air quality data The initial self-calibration of the air quality data may take several minutes to complete. During this time the accuracy parameter is zero and the data values are not valid. */ - ReceiveI2C(i2c_7bit_address, AIR_QUALITY_DATA_READ, (uint8_t *) &airQualityData, AIR_QUALITY_DATA_BYTES); + ReceiveI2C(I2C_ADDRESS, AIR_QUALITY_DATA_READ, (uint8_t *) &airQualityData, AIR_QUALITY_DATA_BYTES); // Light data - ReceiveI2C(i2c_7bit_address, LIGHT_DATA_READ, (uint8_t *) &lightData, LIGHT_DATA_BYTES); + ReceiveI2C(I2C_ADDRESS, LIGHT_DATA_READ, (uint8_t *) &lightData, LIGHT_DATA_BYTES); // Sound data - ReceiveI2C(i2c_7bit_address, SOUND_DATA_READ, (uint8_t *) &soundData, SOUND_DATA_BYTES); + ReceiveI2C(I2C_ADDRESS, SOUND_DATA_READ, (uint8_t *) &soundData, SOUND_DATA_BYTES); /* Particle data This requires the connection of a particulate sensor (invalid values will be obtained if this sensor is not present). + Specify your sensor model (PPD42 or SDS011) in Metriful_sensor.h Also note that, due to the low pass filtering used, the particle data become valid after an initial initialization period of approximately one minute. */ - if (particleSensor != OFF) { - ReceiveI2C(i2c_7bit_address, PARTICLE_DATA_READ, (uint8_t *) &particleData, PARTICLE_DATA_BYTES); + if (PARTICLE_SENSOR != PARTICLE_SENSOR_OFF) { + ReceiveI2C(I2C_ADDRESS, PARTICLE_DATA_READ, (uint8_t *) &particleData, PARTICLE_DATA_BYTES); } // Create the web page ready for client requests assembleWebPage(); + + // Check WiFi is still connected + if (!createWifiNetwork) { + uint8_t wifiStatus = WiFi.status(); + if (wifiStatus != WL_CONNECTED) { + // There is a problem with the WiFi connection: attempt to reconnect. + Serial.print("Wifi status: "); + Serial.println(interpret_WiFi_status(wifiStatus)); + connectToWiFi(SSID, password); + theIP = WiFi.localIP(); + Serial.print("View your page at http://"); + Serial.println(theIP); + ready_assertion_event = false; + } + } } @@ -235,7 +212,7 @@ void handleClientRequests(void) { // Check for incoming client requests WiFiClient client = server.available(); if (client) { - bool blankLine = true; + bool blankLine = false; while (client.connected()) { if (client.available()) { char c = client.read(); @@ -243,7 +220,7 @@ void handleClientRequests(void) { // Two consecutive newline characters indicates the end of the client HTTP request if (blankLine) { // Send the page as a response - client.println(pageBuffer); + client.print(pageBuffer); break; } else { @@ -262,128 +239,138 @@ void handleClientRequests(void) { } } +// Create a simple text web page showing the environment data in +// separate category tables, using HTML and CSS void assembleWebPage(void) { - strcpy(pageBuffer,"HTTP/1.1 200 OK\n" "Content-type:text/html\n" "Connection: close\n"); - sprintf(lineBuffer,"Refresh: %i\n\n\ - Metriful Sensor Demo",refreshPeriodSeconds); - strcat(pageBuffer,lineBuffer); - strcat(pageBuffer,"

Indoor Environment Data

"); + sprintf(pageBuffer,"HTTP/1.1 200 OK\r\n" + "Content-type: text/html\r\n" + "Connection: close\r\n" + "Refresh: %u\r\n\r\n",refreshPeriodSeconds); + + strcat(pageBuffer,"" + "" + "Metriful Sensor Demo" + "" + "

Indoor Environment Data

"); ////////////////////////////////////// - strcat(pageBuffer,"

Air Data

"); + strcat(pageBuffer,"

Air Data

"); - uint8_t T_positive_integer = airData.T_C_int_with_sign & TEMPERATURE_VALUE_MASK; - // If the most-significant bit is set, the temperature is negative (below 0 C) - if ((airData.T_C_int_with_sign & TEMPERATURE_SIGN_MASK) != 0) { - // The bit is set: celsius temperature is negative - sprintf(lineBuffer,"", - T_positive_integer, airData.T_C_fr_1dp); - } - else { - // The bit is not set: celsius temperature is positive - sprintf(lineBuffer,"", - T_positive_integer, airData.T_C_fr_1dp); - } + uint8_t T_intPart = 0; + uint8_t T_fractionalPart = 0; + bool isPositive = true; + const char * unit = getTemperature(&airData, &T_intPart, &T_fractionalPart, &isPositive); + sprintf(lineBuffer,"", + isPositive?"":"-", T_intPart, T_fractionalPart, unit); strcat(pageBuffer,lineBuffer); - sprintf(lineBuffer,"", airData.P_Pa); + sprintf(lineBuffer,"", airData.P_Pa); strcat(pageBuffer,lineBuffer); - sprintf(lineBuffer,"", - airData.H_pc_int, airData.H_pc_fr_1dp); + sprintf(lineBuffer,"", + airData.H_pc_int, airData.H_pc_fr_1dp); strcat(pageBuffer,lineBuffer); - sprintf(lineBuffer,"
Temperature-%u.%uC
Temperature%u.%uC
Temperature%s%u.%u%s
Pressure%luPa
Pressure%" PRIu32 "Pa
Humidity%u.%u%%
Humidity%u.%u%%
Gas Sensor Resistance%luohm

", - airData.G_ohm); + sprintf(lineBuffer,"Gas Sensor Resistance" + "%" PRIu32 "" OHM_SYMBOL "

", + airData.G_ohm); strcat(pageBuffer,lineBuffer); ////////////////////////////////////// - strcat(pageBuffer,"

Air Quality Data

"); + strcat(pageBuffer,"

Air Quality Data

"); if (airQualityData.AQI_accuracy == 0) { - strcat(pageBuffer,""); - - strcat(pageBuffer,""); - - strcat(pageBuffer,""); - - strcat(pageBuffer,""); + sprintf(lineBuffer,"%s

",interpret_AQI_accuracy(airQualityData.AQI_accuracy)); + strcat(pageBuffer,lineBuffer); } else { - sprintf(lineBuffer,"", - airQualityData.AQI_int, airQualityData.AQI_fr_1dp); + sprintf(lineBuffer,"
Air Quality Index -
Air Quality Summary -
Estimated CO2 - ppm
Equivalent Breath VOC - ppm
Air Quality Index%u.%u
", + airQualityData.AQI_int, airQualityData.AQI_fr_1dp); strcat(pageBuffer,lineBuffer); - sprintf(lineBuffer,"", - interpret_AQI_value(airQualityData.AQI_int)); + sprintf(lineBuffer,"", + interpret_AQI_value(airQualityData.AQI_int)); strcat(pageBuffer,lineBuffer); - sprintf(lineBuffer,"", - airQualityData.CO2e_int, airQualityData.CO2e_fr_1dp); + sprintf(lineBuffer,"", + airQualityData.CO2e_int, airQualityData.CO2e_fr_1dp); strcat(pageBuffer,lineBuffer); - sprintf(lineBuffer,"", - airQualityData.bVOC_int, airQualityData.bVOC_fr_2dp); + sprintf(lineBuffer,"" + "
Air Quality Index%u.%u
Air Quality Summary%s
Air Quality Summary%s
Estimated CO2%u.%uppm
Estimated CO" SUBSCRIPT_2 "%u.%uppm
Equivalent Breath VOC%u.%02uppm
Equivalent Breath VOC%u.%02uppm

", + airQualityData.bVOC_int, airQualityData.bVOC_fr_2dp); strcat(pageBuffer,lineBuffer); } - sprintf(lineBuffer,"Measurement Accuracy%s

", - interpret_AQI_accuracy(airQualityData.AQI_accuracy)); - strcat(pageBuffer,lineBuffer); - ////////////////////////////////////// - strcat(pageBuffer,"

Sound Data

"); + strcat(pageBuffer,"

Sound Data

"); sprintf(lineBuffer,"" - "", + "", soundData.SPL_dBA_int, soundData.SPL_dBA_fr_1dp); strcat(pageBuffer,lineBuffer); for (uint8_t i=0; i", + sprintf(lineBuffer,"" + "", i+1, sound_band_mids_Hz[i], soundData.SPL_bands_dB_int[i], soundData.SPL_bands_dB_fr_1dp[i]); strcat(pageBuffer,lineBuffer); } - sprintf(lineBuffer,"
A-weighted Sound Pressure Level%u.%udBA
%u.%udBA
Frequency Band %i (%i Hz) SPL%u.%udB
Frequency Band %u (%u Hz) SPL%u.%udB
Peak Sound Amplitude%u.%02umPa

", - soundData.peak_amp_mPa_int, soundData.peak_amp_mPa_fr_2dp); + sprintf(lineBuffer,"Peak Sound Amplitude" + "%u.%02umPa

", + soundData.peak_amp_mPa_int, soundData.peak_amp_mPa_fr_2dp); strcat(pageBuffer,lineBuffer); ////////////////////////////////////// - strcat(pageBuffer,"

Light Data

"); + strcat(pageBuffer,"

Light Data

"); - sprintf(lineBuffer,"", - lightData.illum_lux_int, lightData.illum_lux_fr_2dp); + sprintf(lineBuffer,"", + lightData.illum_lux_int, lightData.illum_lux_fr_2dp); strcat(pageBuffer,lineBuffer); - - sprintf(lineBuffer,"
Illuminance%u.%02ulux
Illuminance%u.%02ulux
White Light Level%u

", lightData.white); + + sprintf(lineBuffer,"White Light Level%u" + "

", lightData.white); strcat(pageBuffer,lineBuffer); ////////////////////////////////////// - if (particleSensor != OFF) { - strcat(pageBuffer,"

Air Particulate Data

"); + if (PARTICLE_SENSOR != PARTICLE_SENSOR_OFF) { + strcat(pageBuffer,"

Air Particulate Data

"); - sprintf(lineBuffer,"", - particleData.duty_cycle_pc_int, particleData.duty_cycle_pc_fr_2dp); + sprintf(lineBuffer,"", + particleData.duty_cycle_pc_int, particleData.duty_cycle_pc_fr_2dp); strcat(pageBuffer,lineBuffer); char unitsBuffer[7] = {0}; - if (particleSensor == PPD42) { + if (PARTICLE_SENSOR == PARTICLE_SENSOR_PPD42) { strcpy(unitsBuffer,"ppL"); } - else if (particleSensor == SDS011) { - strcpy(unitsBuffer,"ug/m3"); + else if (PARTICLE_SENSOR == PARTICLE_SENSOR_SDS011) { + strcpy(unitsBuffer,SDS011_UNIT_SYMBOL); } else { strcpy(unitsBuffer,"(?)"); } - sprintf(lineBuffer,"
Sensor Duty Cycle%u.%02u%%
Sensor Duty Cycle%u.%02u%%
Particle Concentration%u.%02u%s

", - particleData.concentration_int, particleData.concentration_fr_2dp, unitsBuffer); + sprintf(lineBuffer,"Particle Concentration" + "%u.%02u%s

", + particleData.concentration_int, particleData.concentration_fr_2dp, unitsBuffer); strcat(pageBuffer,lineBuffer); } diff --git a/Arduino/Metriful_Sensor/Metriful_sensor.cpp b/Arduino/Metriful_Sensor/Metriful_sensor.cpp index 0fdbd74..bbec8fa 100644 --- a/Arduino/Metriful_Sensor/Metriful_sensor.cpp +++ b/Arduino/Metriful_Sensor/Metriful_sensor.cpp @@ -13,13 +13,6 @@ #include "Metriful_sensor.h" #include "host_pin_definitions.h" -#ifdef ARDUINO_SAMD_NANO_33_IOT - // The Arduino Nano 33 IoT wifi module prevents the use of the - // built-in hardware-supported I2C module, so a software I2C library - // must be used instead. SlowSoftWire is one of several libraries available. - SlowSoftWire TheWire(SOFT_SDA, SOFT_SCL, false); -#endif - // The Arduino Wire library has a limited internal buffer size: #define ARDUINO_WIRE_BUFFER_LIMIT_BYTES 32 @@ -29,14 +22,15 @@ void SensorHardwareSetup(uint8_t i2c_7bit_address) { #ifdef ESP8266 // Must specify the I2C pins - TheWire.begin(SDA_PIN, SCL_PIN); + Wire.begin(SDA_PIN, SCL_PIN); digitalWrite(LED_BUILTIN, HIGH); #else - TheWire.begin(); + // Default I2C pins are used + Wire.begin(); digitalWrite(LED_BUILTIN, LOW); #endif - TheWire.setClock(I2C_CLK_FREQ_HZ); + Wire.setClock(I2C_CLK_FREQ_HZ); // READY, light interrupt and sound interrupt lines are digital inputs. pinMode(READY_PIN, INPUT); @@ -71,15 +65,9 @@ volatile bool ready_assertion_event = false; // This function is automatically called after a falling edge (assertion) of READY. // The flag variable is set true - it must be set false again in the main program. -#ifdef ESP8266 -void ICACHE_RAM_ATTR ready_ISR(void) { - ready_assertion_event = true; -} -#else -void ready_ISR(void) { +void ISR_ATTRIBUTE ready_ISR(void) { ready_assertion_event = true; } -#endif //////////////////////////////////////////////////////////////////////// @@ -88,17 +76,9 @@ void ready_ISR(void) { // power resources, so may not always be appropriate. void convertAirDataF(const AirData_t * airData_in, AirData_F_t * airDataF_out) { - // Decode the signed value for T - float absoluteValue = ((float) (airData_in->T_C_int_with_sign & TEMPERATURE_VALUE_MASK)) + - (((float) airData_in->T_C_fr_1dp)/10.0); - if ((airData_in->T_C_int_with_sign & TEMPERATURE_SIGN_MASK) != 0) { - // the most-significant bit is set, indicating that the temperature is negative - airDataF_out->T_C = -absoluteValue; - } - else { - // temperature is positive - airDataF_out->T_C = absoluteValue; - } + // Decode the signed value for T (in Celsius) + airDataF_out->T_C = convertEncodedTemperatureToFloat(airData_in->T_C_int_with_sign, + airData_in->T_C_fr_1dp); airDataF_out->P_Pa = airData_in->P_Pa; airDataF_out->H_pc = ((float) airData_in->H_pc_int) + (((float) airData_in->H_pc_fr_1dp)/10.0); airDataF_out->G_Ohm = airData_in->G_ohm; @@ -143,21 +123,32 @@ void convertParticleDataF(const ParticleData_t * particleData_in, ParticleData_F //////////////////////////////////////////////////////////////////////// -// The following five functions print data (in floating-point representation) over the serial port as text +// The following five functions print data (in floating-point +// representation) over the serial port as text void printAirDataF(const AirData_F_t * airDataF) { - Serial.print("Temperature = ");Serial.print(airDataF->T_C,2);Serial.println(" C"); + Serial.print("Temperature = "); + #ifdef USE_FAHRENHEIT + float temperature_F = convertCtoF(airDataF->T_C); + Serial.print(temperature_F,1);Serial.println(" " FAHRENHEIT_SYMBOL); + #else + Serial.print(airDataF->T_C,1);Serial.println(" " CELSIUS_SYMBOL); + #endif Serial.print("Pressure = ");Serial.print(airDataF->P_Pa);Serial.println(" Pa"); - Serial.print("Humidity = ");Serial.print(airDataF->H_pc,2);Serial.println(" %"); - Serial.print("Gas Sensor Resistance = ");Serial.print(airDataF->G_Ohm);Serial.println(" ohms"); + Serial.print("Humidity = ");Serial.print(airDataF->H_pc,1);Serial.println(" %"); + Serial.print("Gas Sensor Resistance = ");Serial.print(airDataF->G_Ohm);Serial.println(" " OHM_SYMBOL); } void printAirQualityDataF(const AirQualityData_F_t * airQualityDataF) { if (airQualityDataF->AQI_accuracy > 0) { - Serial.print("Air Quality Index = ");Serial.print(airQualityDataF->AQI,2); - Serial.print(" (");Serial.print(interpret_AQI_value((uint16_t) airQualityDataF->AQI));Serial.println(")"); - Serial.print("Estimated CO2 = ");Serial.print(airQualityDataF->CO2e,2);Serial.println(" ppm"); - Serial.print("Equivalent Breath VOC = ");Serial.print(airQualityDataF->bVOC,2);Serial.println(" ppm"); + Serial.print("Air Quality Index = ");Serial.print(airQualityDataF->AQI,1); + Serial.print(" ("); + Serial.print(interpret_AQI_value((uint16_t) airQualityDataF->AQI)); + Serial.println(")"); + Serial.print("Estimated CO" SUBSCRIPT_2 " = ");Serial.print(airQualityDataF->CO2e,1); + Serial.println(" ppm"); + Serial.print("Equivalent Breath VOC = ");Serial.print(airQualityDataF->bVOC,2); + Serial.println(" ppm"); } Serial.print("Air Quality Accuracy: "); Serial.println(interpret_AQI_accuracy(airQualityDataF->AQI_accuracy)); @@ -173,22 +164,22 @@ void printSoundDataF(const SoundData_F_t * soundDataF) { Serial.print("A-weighted Sound Pressure Level = "); Serial.print(soundDataF->SPL_dBA,1);Serial.println(" dBA"); for (uint16_t i=0; iT_C_int_with_sign & TEMPERATURE_VALUE_MASK; - if ((airData->T_C_int_with_sign & TEMPERATURE_SIGN_MASK) != 0) { - // the most-significant bit is set, indicating that the temperature is negative - sprintf(strbuf,"-%u.%u ",temp,airData->T_C_fr_1dp); - } - else { - sprintf(strbuf,"%u.%u ",temp,airData->T_C_fr_1dp); - } - Serial.print(strbuf); - sprintf(strbuf,"%lu %u.%u %lu ",airData->P_Pa, airData->H_pc_int, airData->H_pc_fr_1dp, airData->G_ohm); + // Print: temperature, pressure/Pa, humidity/%, gas sensor resistance/ohm + sprintf(strbuf,"%s%u.%u %" PRIu32 " %u.%u %" PRIu32 " ",isPositive?"":"-", T_intPart, T_fractionalPart, + airData->P_Pa, airData->H_pc_int, airData->H_pc_fr_1dp, airData->G_ohm); Serial.print(strbuf); } else { - uint8_t temp = airData->T_C_int_with_sign & TEMPERATURE_VALUE_MASK; - if ((airData->T_C_int_with_sign & TEMPERATURE_SIGN_MASK) != 0) { - // the most-significant bit is set, indicating that the temperature is negative - sprintf(strbuf,"Temperature = -%u.%u C",temp,airData->T_C_fr_1dp); - } - else { - // temperature is positive - sprintf(strbuf,"Temperature = %u.%u C",temp,airData->T_C_fr_1dp); - } + sprintf(strbuf,"Temperature = %s%u.%u %s", isPositive?"":"-", T_intPart, T_fractionalPart, T_unit); Serial.println(strbuf); Serial.print("Pressure = ");Serial.print(airData->P_Pa);Serial.println(" Pa"); sprintf(strbuf,"Humidity = %u.%u %%",airData->H_pc_int,airData->H_pc_fr_1dp); Serial.println(strbuf); - Serial.print("Gas Sensor Resistance = ");Serial.print(airData->G_ohm);Serial.println(" ohm"); + Serial.print("Gas Sensor Resistance = ");Serial.print(airData->G_ohm);Serial.println(" " OHM_SYMBOL); } } @@ -255,9 +236,10 @@ void printAirQualityData(const AirQualityData_t * airQualityData, bool printColu else { if (airQualityData->AQI_accuracy > 0) { sprintf(strbuf,"Air Quality Index = %u.%u (%s)", - airQualityData->AQI_int, airQualityData->AQI_fr_1dp, interpret_AQI_value(airQualityData->AQI_int)); + airQualityData->AQI_int, airQualityData->AQI_fr_1dp, interpret_AQI_value(airQualityData->AQI_int)); Serial.println(strbuf); - sprintf(strbuf,"Estimated CO2 = %u.%u ppm",airQualityData->CO2e_int, airQualityData->CO2e_fr_1dp); + sprintf(strbuf,"Estimated CO" SUBSCRIPT_2 " = %u.%u ppm", + airQualityData->CO2e_int, airQualityData->CO2e_fr_1dp); Serial.println(strbuf); sprintf(strbuf,"Equivalent Breath VOC = %u.%02u ppm", airQualityData->bVOC_int, airQualityData->bVOC_fr_2dp); @@ -288,8 +270,8 @@ void printSoundData(const SoundData_t * soundData, bool printColumns) { soundData->SPL_dBA_int, soundData->SPL_dBA_fr_1dp); Serial.println(strbuf); for (uint8_t i=0; iSPL_bands_dB_int[i], soundData->SPL_bands_dB_fr_1dp[i]); + sprintf(strbuf,"Frequency Band %u (%u Hz) SPL = %u.%u dB", + i+1, sound_band_mids_Hz[i], soundData->SPL_bands_dB_int[i], soundData->SPL_bands_dB_fr_1dp[i]); Serial.println(strbuf); } sprintf(strbuf,"Peak Sound Amplitude = %u.%02u mPa", @@ -312,8 +294,7 @@ void printLightData(const LightData_t * lightData, bool printColumns) { } } -void printParticleData(const ParticleData_t * particleData, bool printColumns, - ParticleSensor_t particleSensor) { +void printParticleData(const ParticleData_t * particleData, bool printColumns, uint8_t particleSensor) { char strbuf[50] = {0}; if (printColumns) { // Print: duty cycle/%, concentration @@ -329,14 +310,14 @@ void printParticleData(const ParticleData_t * particleData, bool printColumns, sprintf(strbuf,"Particle Concentration = %u.%02u ", particleData->concentration_int, particleData->concentration_fr_2dp); Serial.print(strbuf); - if (particleSensor == PPD42) { - Serial.println(" ppL"); + if (particleSensor == PARTICLE_SENSOR_PPD42) { + Serial.println("ppL"); } - else if (particleSensor == SDS011) { - Serial.println(" ug/m3"); + else if (particleSensor == PARTICLE_SENSOR_SDS011) { + Serial.println(SDS011_UNIT_SYMBOL); } else { - Serial.println(" (?)"); + Serial.println("(?)"); } Serial.print("Particle data valid: "); if (particleData->valid == 0) { @@ -366,16 +347,16 @@ bool TransmitI2C(uint8_t dev_addr_7bit, uint8_t commandRegister, uint8_t data[], return false; } - TheWire.beginTransmission(dev_addr_7bit); - uint8_t bytesWritten = TheWire.write(commandRegister); + Wire.beginTransmission(dev_addr_7bit); + uint8_t bytesWritten = Wire.write(commandRegister); if (data_length > 0) { - bytesWritten += TheWire.write(data, data_length); + bytesWritten += Wire.write(data, data_length); } if (bytesWritten != (data_length+1)) { return false; } - return (TheWire.endTransmission(true) == 0); + return (Wire.endTransmission(true) == 0); } // Read data from the Metriful MS430 using the I2C-compatible two wire interface. @@ -386,33 +367,33 @@ bool TransmitI2C(uint8_t dev_addr_7bit, uint8_t commandRegister, uint8_t data[], // commandRegister = the settings register code or data location code to be used. // data = array to store the received data; its length must be at least "data_length" bytes. // data_length = the number of bytes to read. -// +// bool ReceiveI2C(uint8_t dev_addr_7bit, uint8_t commandRegister, uint8_t data[], uint8_t data_length) { if (data_length == 0) { // Cannot do a zero byte read return false; } - + if (data_length > ARDUINO_WIRE_BUFFER_LIMIT_BYTES) { // The Arduino Wire library has a limited internal buffer size return false; } - TheWire.beginTransmission(dev_addr_7bit); - TheWire.write(commandRegister); - if (TheWire.endTransmission(false) != 0) { + Wire.beginTransmission(dev_addr_7bit); + Wire.write(commandRegister); + if (Wire.endTransmission(false) != 0) { return false; - } + } - if (TheWire.requestFrom(dev_addr_7bit, data_length, (uint8_t) 1) != data_length) { + if (Wire.requestFrom(dev_addr_7bit, data_length, (uint8_t) 1) != data_length) { // Did not receive the expected number of bytes return false; } for (uint8_t i=0; i 0) { - data[i] = TheWire.read(); + if (Wire.available() > 0) { + data[i] = Wire.read(); } } @@ -427,13 +408,13 @@ const char * interpret_AQI_accuracy(uint8_t AQI_accuracy_code) { switch (AQI_accuracy_code) { default: case 0: - return "Not Yet Valid, Self-calibration Incomplete"; + return "Not yet valid, self-calibration incomplete"; case 1: - return "Low Accuracy, Self-calibration Ongoing"; + return "Low accuracy, self-calibration ongoing"; case 2: - return "Medium Accuracy, Self-calibration Ongoing"; + return "Medium accuracy, self-calibration ongoing"; case 3: - return "High Accuracy"; + return "High accuracy"; } } @@ -455,7 +436,7 @@ const char * interpret_AQI_value(uint16_t AQI) { return "Bad"; } else { - return "Very Bad"; + return "Very bad"; } } @@ -486,3 +467,131 @@ bool setLightInterruptThreshold(uint8_t dev_addr_7bit, uint16_t thres_lux_int, u TXdata[2] = thres_lux_fr_2dp; return TransmitI2C(dev_addr_7bit, LIGHT_INTERRUPT_THRESHOLD_REG, TXdata, LIGHT_INTERRUPT_THRESHOLD_BYTES); } + +//////////////////////////////////////////////////////////////////////// + +// Convenience functions for reading data (integer representation) +// +// For each category of data (air, sound, etc.) a pointer to the data +// struct is passed to the ReceiveI2C() function. The received byte +// sequence fills the data struct in the correct order so that each +// field within the struct receives the value of an environmental data +// quantity (temperature, sound level, etc.) + +SoundData_t getSoundData(uint8_t i2c_7bit_address) { + SoundData_t soundData = {0}; + ReceiveI2C(i2c_7bit_address, SOUND_DATA_READ, (uint8_t *) &soundData, SOUND_DATA_BYTES); + return soundData; +} + +AirData_t getAirData(uint8_t i2c_7bit_address) { + AirData_t airData = {0}; + ReceiveI2C(i2c_7bit_address, AIR_DATA_READ, (uint8_t *) &airData, AIR_DATA_BYTES); + return airData; +} + +LightData_t getLightData(uint8_t i2c_7bit_address) { + LightData_t lightData = {0}; + ReceiveI2C(i2c_7bit_address, LIGHT_DATA_READ, (uint8_t *) &lightData, LIGHT_DATA_BYTES); + return lightData; +} + +AirQualityData_t getAirQualityData(uint8_t i2c_7bit_address) { + AirQualityData_t airQualityData = {0}; + ReceiveI2C(i2c_7bit_address, AIR_QUALITY_DATA_READ, (uint8_t *) &airQualityData, AIR_QUALITY_DATA_BYTES); + return airQualityData; +} + +ParticleData_t getParticleData(uint8_t i2c_7bit_address) { + ParticleData_t particleData = {0}; + ReceiveI2C(i2c_7bit_address, PARTICLE_DATA_READ, (uint8_t *) &particleData, PARTICLE_DATA_BYTES); + return particleData; +} + +// Convenience functions for reading data (float representation) + +SoundData_F_t getSoundDataF(uint8_t i2c_7bit_address) { + SoundData_F_t soundDataF = {0}; + SoundData_t soundData = getSoundData(i2c_7bit_address); + convertSoundDataF(&soundData, &soundDataF); + return soundDataF; +} + +AirData_F_t getAirDataF(uint8_t i2c_7bit_address) { + AirData_F_t airDataF = {0}; + AirData_t airData = getAirData(i2c_7bit_address); + convertAirDataF(&airData, &airDataF); + return airDataF; +} + +LightData_F_t getLightDataF(uint8_t i2c_7bit_address) { + LightData_F_t lightDataF = {0}; + LightData_t lightData = getLightData(i2c_7bit_address); + convertLightDataF(&lightData, &lightDataF); + return lightDataF; +} + +AirQualityData_F_t getAirQualityDataF(uint8_t i2c_7bit_address) { + AirQualityData_F_t airQualityDataF = {0}; + AirQualityData_t airQualityData = getAirQualityData(i2c_7bit_address); + convertAirQualityDataF(&airQualityData, &airQualityDataF); + return airQualityDataF; +} + +ParticleData_F_t getParticleDataF(uint8_t i2c_7bit_address) { + ParticleData_F_t particleDataF = {0}; + ParticleData_t particleData = getParticleData(i2c_7bit_address); + convertParticleDataF(&particleData, &particleDataF); + return particleDataF; +} + +//////////////////////////////////////////////////////////////////////// + +// Functions to convert Celsius temperature to Fahrenheit, in float +// and integer formats + +float convertCtoF(float C) { + return ((C*1.8) + 32.0); +} + +// Convert Celsius to Fahrenheit in sign, integer and fractional parts +void convertCtoF_int(float C, uint8_t * F_int, uint8_t * F_fr_1dp, bool * isPositive) { + float F = convertCtoF(C); + bool isNegative = (F < 0.0); + if (isNegative) { + F = -F; + } + F += 0.05; + F_int[0] = (uint8_t) F; + F -= (float) F_int[0]; + F_fr_1dp[0] = (uint8_t) (F*10.0); + isPositive[0] = (!isNegative); +} + +// Decode and convert the temperature as read from the MS430 (integer +// representation) into a float value +float convertEncodedTemperatureToFloat(uint8_t T_C_int_with_sign, uint8_t T_C_fr_1dp) { + float temperature_C = ((float) (T_C_int_with_sign & TEMPERATURE_VALUE_MASK)) + + (((float) T_C_fr_1dp)/10.0); + if ((T_C_int_with_sign & TEMPERATURE_SIGN_MASK) != 0) { + // the most-significant bit is set, indicating that the temperature is negative + temperature_C = -temperature_C; + } + return temperature_C; +} + +// Obtain temperature, in chosen units (C or F), as sign, integer and fractional parts +const char * getTemperature(const AirData_t * pAirData, uint8_t * T_intPart, + uint8_t * T_fractionalPart, bool * isPositive) { + #ifdef USE_FAHRENHEIT + float temperature_C = convertEncodedTemperatureToFloat(pAirData->T_C_int_with_sign, + pAirData->T_C_fr_1dp); + convertCtoF_int(temperature_C, T_intPart, T_fractionalPart, isPositive); + return FAHRENHEIT_SYMBOL; + #else + isPositive[0] = ((pAirData->T_C_int_with_sign & TEMPERATURE_SIGN_MASK) == 0); + T_intPart[0] = pAirData->T_C_int_with_sign & TEMPERATURE_VALUE_MASK; + T_fractionalPart[0] = pAirData->T_C_fr_1dp; + return CELSIUS_SYMBOL; + #endif +} diff --git a/Arduino/Metriful_Sensor/Metriful_sensor.h b/Arduino/Metriful_Sensor/Metriful_sensor.h index d5f825e..dd5c30a 100644 --- a/Arduino/Metriful_Sensor/Metriful_sensor.h +++ b/Arduino/Metriful_Sensor/Metriful_sensor.h @@ -1,8 +1,8 @@ /* Metriful_sensor.h - This file declares functions which are used in the code examples. - The function definitions are in file Metriful_sensor.cpp + This file declares functions and settings which are used in the code + examples. The function definitions are in file Metriful_sensor.cpp Copyright 2020 Metriful Ltd. Licensed under the MIT License - for further details see LICENSE.txt @@ -15,13 +15,46 @@ #define METRIFUL_SENSOR_H #include "Arduino.h" +#include #include +#include +#include +#include +#include #include "sensor_constants.h" #include "host_pin_definitions.h" +//////////////////////////////////////////////////////////////////////// + +// Choose to display output temperatures in Fahrenheit: +// un-comment the following line to use Fahrenheit +//#define USE_FAHRENHEIT + +// Specify which particle sensor is connected: +#define PARTICLE_SENSOR PARTICLE_SENSOR_OFF +// Define PARTICLE_SENSOR as: +// PARTICLE_SENSOR_PPD42 for the Shinyei PPD42 +// PARTICLE_SENSOR_SDS011 for the Nova SDS011 +// PARTICLE_SENSOR_OFF if no sensor is connected + +// The I2C address of the MS430 board. +#define I2C_ADDRESS I2C_ADDR_7BIT_SB_OPEN +// The default is I2C_ADDR_7BIT_SB_OPEN and must be changed to +// I2C_ADDR_7BIT_SB_CLOSED if the solder bridge SB1 on the board +// is soldered closed + +//////////////////////////////////////////////////////////////////////// + #define I2C_CLK_FREQ_HZ 100000 #define SERIAL_BAUD_RATE 9600 +// Unicode symbol strings +#define CELSIUS_SYMBOL "\u00B0C" +#define FAHRENHEIT_SYMBOL "\u00B0F" +#define SDS011_UNIT_SYMBOL "\u00B5g/m\u00B3" +#define SUBSCRIPT_2 "\u2082" +#define OHM_SYMBOL "\u03A9" + extern volatile bool ready_assertion_event; //////////////////////////////////////////////////////////////////////// @@ -64,21 +97,35 @@ typedef struct { //////////////////////////////////////////////////////////////////////// // Custom type used to select the particle sensor being used (if any) - typedef enum { - OFF = PARTICLE_SENSOR_OFF, + OFF = PARTICLE_SENSOR_OFF, PPD42 = PARTICLE_SENSOR_PPD42, SDS011 = PARTICLE_SENSOR_SDS011 } ParticleSensor_t; +// Struct used in the IFTTT example +typedef struct { + const char * variableName; + const char * measurementUnit; + int32_t thresHigh; + int32_t thresLow; + uint16_t inactiveCount; + const char * adviceHigh; + const char * adviceLow; +} ThresholdSetting_t; + +// Struct used in the Home Assistant example +typedef struct { + const char * name; + const char * unit; + const char * icon; + uint8_t decimalPlaces; +} HA_Attributes_t; + //////////////////////////////////////////////////////////////////////// void SensorHardwareSetup(uint8_t i2c_7bit_address); -#ifdef ESP8266 -void ICACHE_RAM_ATTR ready_ISR(void); -#else -void ready_ISR(void); -#endif +void ISR_ATTRIBUTE ready_ISR(void); bool TransmitI2C(uint8_t dev_addr_7bit, uint8_t commandRegister, uint8_t data[], uint8_t data_length); bool ReceiveI2C(uint8_t dev_addr_7bit, uint8_t commandRegister, uint8_t data[], uint8_t data_length); @@ -97,15 +144,32 @@ void printAirDataF(const AirData_F_t * airDataF); void printAirQualityDataF(const AirQualityData_F_t * airQualityDataF); void printLightDataF(const LightData_F_t * lightDataF); void printSoundDataF(const SoundData_F_t * soundDataF); -void printParticleDataF(const ParticleData_F_t * particleDataF, ParticleSensor_t particleSensor); +void printParticleDataF(const ParticleData_F_t * particleDataF, uint8_t particleSensor); void printAirData(const AirData_t * airData, bool printColumns); void printAirQualityData(const AirQualityData_t * airQualityData, bool printColumns); void printLightData(const LightData_t * lightData, bool printColumns); void printSoundData(const SoundData_t * soundData, bool printColumns); -void printParticleData(const ParticleData_t * particleData, bool printColumns, ParticleSensor_t particleSensor); +void printParticleData(const ParticleData_t * particleData, bool printColumns, uint8_t particleSensor); bool setSoundInterruptThreshold(uint8_t dev_addr_7bit, uint16_t threshold_mPa); bool setLightInterruptThreshold(uint8_t dev_addr_7bit, uint16_t thres_lux_int, uint8_t thres_lux_fr_2dp); +SoundData_t getSoundData(uint8_t i2c_7bit_address); +AirData_t getAirData(uint8_t i2c_7bit_address); +LightData_t getLightData(uint8_t i2c_7bit_address); +AirQualityData_t getAirQualityData(uint8_t i2c_7bit_address); +ParticleData_t getParticleData(uint8_t i2c_7bit_address); + +SoundData_F_t getSoundDataF(uint8_t i2c_7bit_address); +AirData_F_t getAirDataF(uint8_t i2c_7bit_address); +LightData_F_t getLightDataF(uint8_t i2c_7bit_address); +AirQualityData_F_t getAirQualityDataF(uint8_t i2c_7bit_address); +ParticleData_F_t getParticleDataF(uint8_t i2c_7bit_address); + +float convertCtoF(float C); +void convertCtoF_int(float C, uint8_t * F_int, uint8_t * F_fr_1dp, bool * isPositive); +float convertEncodedTemperatureToFloat(uint8_t T_C_int_with_sign, uint8_t T_C_fr_1dp); +const char * getTemperature(const AirData_t * pAirData, uint8_t * T_intPart, + uint8_t * T_fractionalPart, bool * isPositive); #endif diff --git a/Arduino/Metriful_Sensor/WiFi_functions.cpp b/Arduino/Metriful_Sensor/WiFi_functions.cpp new file mode 100644 index 0000000..9b887be --- /dev/null +++ b/Arduino/Metriful_Sensor/WiFi_functions.cpp @@ -0,0 +1,92 @@ +/* + WiFi_functions.cpp + + This file defines functions used by examples connecting to, + or creating, a WiFi network. + + Copyright 2020 Metriful Ltd. + Licensed under the MIT License - for further details see LICENSE.txt + + For code examples, datasheet and user guide, visit + https://github.com/metriful/sensor +*/ + +#include "host_pin_definitions.h" +#ifdef HAS_WIFI +#include "Arduino.h" +#include "WiFi_functions.h" + +// Repeatedly attempt to connect to the WiFi network using the input +// network name (SSID) and password. +void connectToWiFi(const char * SSID, const char * password) { + WiFi.disconnect(); + #if defined(ESP8266) || defined(ESP32) + WiFi.persistent(false); + WiFi.mode(WIFI_STA); + #endif + uint8_t wStatus = WL_DISCONNECTED; + while (wStatus != WL_CONNECTED) { + Serial.print("Attempting to connect to "); + Serial.println(SSID); + uint8_t statusChecks = 0; + WiFi.begin(SSID, password); + while ((wStatus != WL_CONNECTED) && (statusChecks < 8)) { + delay(1000); + Serial.print("."); + wStatus = WiFi.status(); + statusChecks++; + } + if (wStatus != WL_CONNECTED) { + Serial.println("Failed."); + WiFi.disconnect(); + delay(5000); + } + } + Serial.println("Connected."); +} + +// Configure the host as a WiFi access point, creating a WiFi network with +// specified network SSID (name), password and host IP address. +bool createWiFiAP(const char * SSID, const char * password, IPAddress hostIP) { + Serial.print("Creating access point named: "); + Serial.println(SSID); + #if defined(ESP8266) || defined(ESP32) + WiFi.persistent(false); + WiFi.mode(WIFI_AP); + IPAddress subnet(255,255,255,0); + bool success = WiFi.softAP(SSID, password); + delay(2000); + success = success && WiFi.softAPConfig(hostIP, hostIP, subnet); + #else + WiFi.config(hostIP); + bool success = (WiFi.beginAP(SSID, password) == WL_AP_LISTENING); + #endif + return success; +} + +// Provide a readable interpretation of the WiFi status. +// statusCode is the value returned by WiFi.status() +const char * interpret_WiFi_status(uint8_t statusCode) { + switch (statusCode) { + case WL_CONNECTED: + return "Connected"; + case WL_NO_SHIELD: + return "No shield"; + case WL_IDLE_STATUS: + return "Idle"; + case WL_NO_SSID_AVAIL: + return "No SSID available"; + case WL_SCAN_COMPLETED: + return "Scan completed"; + case WL_CONNECT_FAILED: + return "Connect failed"; + case WL_CONNECTION_LOST: + return "Connection lost"; + case WL_DISCONNECTED: + return "Disconnected"; + default: + return "Unknown"; + } +} + +#endif diff --git a/Arduino/Metriful_Sensor/WiFi_functions.h b/Arduino/Metriful_Sensor/WiFi_functions.h new file mode 100644 index 0000000..69d98fe --- /dev/null +++ b/Arduino/Metriful_Sensor/WiFi_functions.h @@ -0,0 +1,26 @@ +/* + WiFi_functions.h + + This file declares functions used by examples connecting to, + or creating, a WiFi network. + + Copyright 2020 Metriful Ltd. + Licensed under the MIT License - for further details see LICENSE.txt + + For code examples, datasheet and user guide, visit + https://github.com/metriful/sensor +*/ + +#include "host_pin_definitions.h" +#ifdef HAS_WIFI +#ifndef WIFI_FUNCTIONS_H +#define WIFI_FUNCTIONS_H + +#include + +void connectToWiFi(const char * SSID, const char * password); +bool createWiFiAP(const char * SSID, const char * password, IPAddress hostIP); +const char * interpret_WiFi_status(uint8_t statusCode); + +#endif +#endif diff --git a/Arduino/Metriful_Sensor/graph_web_page.h b/Arduino/Metriful_Sensor/graph_web_page.h new file mode 100644 index 0000000..a976491 --- /dev/null +++ b/Arduino/Metriful_Sensor/graph_web_page.h @@ -0,0 +1,57 @@ +/* + graph_web_page.h + + This file contains the web page code which is used to display graphs + as part of the graph_web_server example. This is the code from the + file 'graph_web_page.html' (HTML/CSS/javascript), which has been + minified and put into a C character string. + + Copyright 2020 Metriful Ltd. + Licensed under the MIT License - for further details see LICENSE.txt + + For code examples, datasheet and user guide, visit + https://github.com/metriful/sensor +*/ + +#ifndef GRAPH_WEB_PAGE_H +#define GRAPH_WEB_PAGE_H + +const char * graphWebPage = "HTTP/1.1 200 OK\r\n" + "Content-type: text/html\r\n" + "Connection: close\r\n\r\n" +"" +"" +"" +"" +"" +"Indoor Environment Data" +"" +"" +"" +"" +"" +"

Indoor Environment Data

" +"
" +"
Incomplete load: please refresh the page.
" +"
" +"
" +"
" +"" +"
" +"
" +"

sensor.metriful.com

" +"
" +"" +"" +"" +""; + +#endif diff --git a/Arduino/Metriful_Sensor/graph_web_page.html b/Arduino/Metriful_Sensor/graph_web_page.html new file mode 100644 index 0000000..2259f91 --- /dev/null +++ b/Arduino/Metriful_Sensor/graph_web_page.html @@ -0,0 +1,333 @@ + + + + + +Indoor Environment Data + + + + + +

Indoor Environment Data

+
+
Incomplete load: please refresh the page.
+
+
+
+ +
+
+

sensor.metriful.com

+
+ + + + diff --git a/Arduino/Metriful_Sensor/host_pin_definitions.h b/Arduino/Metriful_Sensor/host_pin_definitions.h index 95ba71c..eebef88 100644 --- a/Arduino/Metriful_Sensor/host_pin_definitions.h +++ b/Arduino/Metriful_Sensor/host_pin_definitions.h @@ -2,19 +2,21 @@ host_pin_definitions.h This file defines which host pins are used to interface to the - Metriful MS430 board and which library is used for I2C communications. - - The relevant file section is selected automatically when the board - is chosen in the Arduino IDE. + Metriful MS430 board. The relevant file section is selected + automatically when the board is chosen in the Arduino IDE. - This file can be used with the following host systems: + More detail is provided in the readme and User Guide. + + This file provides settings for the following host systems: * Arduino Uno * Arduino Nano 33 IoT * Arduino Nano * Arduino MKR WiFi 1010 - * NodeMCU ESP8266 + * ESP8266 (tested on NodeMCU and Wemos D1 Mini - other boards may require changes) + * ESP32 (tested on DOIT ESP32 DEVKIT V1 - other boards may require changes) + The Metriful MS430 is compatible with many more development boards - than just these five. You can use this file as a guide to define the + than those listed. You can use this file as a guide to define the necessary settings for other host systems. Copyright 2020 Metriful Ltd. @@ -31,15 +33,12 @@ // Arduino Uno - #include - #define TheWire Wire + #define ISR_ATTRIBUTE - // I2C pins are set by default so not defined here #define READY_PIN 2 // Arduino digital pin 2 connects to RDY #define L_INT_PIN 4 // Arduino digital pin 4 connects to LIT #define S_INT_PIN 7 // Arduino digital pin 7 connects to SIT - /* In addition to these pins, the following I2C bus and power - connections must be made to the Metriful MS430: + /* Also make the following connections: Arduino pins GND, SCL, SDA to MS430 pins GND, SCL, SDA Arduino pin 5V to MS430 pins VPU and VIN MS430 pin VDD is unused @@ -53,8 +52,6 @@ Arduino pin 5V to SDS011 pin "5V" Arduino pin GND to SDS011 pin "GND" SDS011 pin "25um" to MS430 pin PRT - - For further details, see the readme and User Guide */ #elif defined ARDUINO_SAMD_NANO_33_IOT @@ -63,22 +60,17 @@ #include #include - - // The Wifi module uses the built-in hardware-supported I2C pins, - // so a software I2C library must be used with pins SOFT_SDA and - // SOFT_SCL. The examples use the SlowSoftWire library but - // alternatives are available. - #include + #define HAS_WIFI + #define ISR_ATTRIBUTE #define READY_PIN 11 // Arduino pin D11 connects to RDY #define L_INT_PIN A1 // Arduino pin A1 connects to LIT #define S_INT_PIN A2 // Arduino pin A2 connects to SIT - #define SOFT_SDA A0 // Arduino pin A0 connects to SDA - #define SOFT_SCL A3 // Arduino pin A3 connects to SCL - /* In addition to these pins, the following I2C bus and power - connections must be made to the Metriful MS430: + /* Also make the following connections: Arduino pin GND to MS430 pin GND Arduino pin 3.3V to MS430 pins VPU and VDD + Arduino pin A5 to MS430 pin SCL + Arduino pin A4 to MS430 pin SDA MS430 pin VIN is unused If a PPD42 particle sensor is used, connect the following: @@ -93,55 +85,51 @@ The solder bridge labeled "VUSB" on the underside of the Arduino must be soldered closed to provide 5V to the PPD42/SDS011. - - For further details, see the readme and User Guide */ - + #elif defined ARDUINO_AVR_NANO // Arduino Nano - #include - #define TheWire Wire + #define ISR_ATTRIBUTE - // I2C pins (SDA = A4, SCL = A5) are set by default so not defined here #define READY_PIN 2 // Arduino pin D2 connects to RDY #define L_INT_PIN 4 // Arduino pin D4 connects to LIT #define S_INT_PIN 7 // Arduino pin D7 connects to SIT - /* In addition to these pins, the following I2C bus and power - connections must be made to the Metriful MS430: - Arduino pins GND, A5 (SCL), A4 (SDA) to MS430 pins GND, SCL, SDA + /* Also make the following connections: + Arduino pin GND to MS430 pin GND + Arduino pin A5 (SCL) to MS430 pin SCL + Arduino pin A4 (SDA) to MS430 pin SDA Arduino pin 5V to MS430 pins VPU and VIN MS430 pin VDD is unused - + If a PPD42 particle sensor is used, connect the following: Arduino pin 5V to PPD42 pin 3 Arduino pin GND to PPD42 pin 1 PPD42 pin 4 to MS430 pin PRT - + If an SDS011 particle sensor is used, connect the following: Arduino pin 5V to SDS011 pin "5V" Arduino pin GND to SDS011 pin "GND" SDS011 pin "25um" to MS430 pin PRT - - For further details, see the readme and User Guide */ - + #elif defined ARDUINO_SAMD_MKRWIFI1010 // Arduino MKR WiFi 1010 + #include #include - #include - #define TheWire Wire + #define HAS_WIFI + #define ISR_ATTRIBUTE - // I2C pins (SDA = D11, SCL = D12) are set by default so not defined here #define READY_PIN 0 // Arduino digital pin 0 connects to RDY #define L_INT_PIN 4 // Arduino digital pin 4 connects to LIT #define S_INT_PIN 5 // Arduino digital pin 5 connects to SIT - /* In addition to these pins, the following I2C bus and power - connections must be made to the Metriful MS430: - Arduino pins GND, D12 (SCL), D11 (SDA) to MS430 pins GND, SCL, SDA + /* Also make the following connections: + Arduino pin GND to MS430 pin GND + Arduino pin D12 (SCL) to MS430 pin SCL + Arduino pin D11 (SDA) to MS430 pin SDA Arduino pin VCC (3.3V) to MS430 pins VPU and VDD MS430 pin VIN is unused @@ -154,43 +142,71 @@ Arduino pin 5V to SDS011 pin "5V" Arduino pin GND to SDS011 pin "GND" SDS011 pin "25um" to MS430 pin PRT - - For further details, see the readme and User Guide */ - + #elif defined ESP8266 - // NodeMCU ESP8266 + // The examples have been tested on NodeMCU and Wemos D1 Mini. + // Other ESP8266 boards may require changes. + #include - #include - #define TheWire Wire - - #define SDA_PIN 5 // NodeMCU GPIO5 (labeled D1) connects to SDA - #define SCL_PIN 4 // NodeMCU GPIO4 (labeled D2) connects to SCL - #define READY_PIN 12 // NodeMCU GPIO12 (labeled D6) connects to RDY - #define L_INT_PIN 0 // NodeMCU GPIO0 (labeled D3) connects to LIT - #define S_INT_PIN 14 // NodeMCU GPIO14 (labeled D5) connects to SIT - /* In addition to these pins, the following I2C bus and power - connections must be made to the Metriful MS430: - NodeMCU GND pin to MS430 pin GND - NodeMCU pin 3V3 to MS430 pins VPU and VDD + #define HAS_WIFI + #define ISR_ATTRIBUTE ICACHE_RAM_ATTR + + #define SDA_PIN 5 // GPIO5 (labeled D1) connects to SDA + #define SCL_PIN 4 // GPIO4 (labeled D2) connects to SCL + #define READY_PIN 12 // GPIO12 (labeled D6) connects to RDY + #define L_INT_PIN 0 // GPIO0 (labeled D3) connects to LIT + #define S_INT_PIN 14 // GPIO14 (labeled D5) connects to SIT + /* Also make the following connections: + ESP8266 pin GND to MS430 pin GND + ESP8266 pin 3V3 to MS430 pins VPU and VDD MS430 pin VIN is unused If a PPD42 particle sensor is used, also connect the following: - NodeMCU pin Vin to PPD42 pin 3 - NodeMCU pin GND to PPD42 pin 1 + ESP8266 pin Vin (may be labeled Vin or 5V or VU) to PPD42 pin 3 + ESP8266 pin GND to PPD42 pin 1 PPD42 pin 4 to MS430 pin PRT If an SDS011 particle sensor is used, connect the following: - NodeMCU pin Vin to SDS011 pin "5V" - NodeMCU pin GND to SDS011 pin "GND" + ESP8266 pin Vin (may be labeled Vin or 5V or VU) to SDS011 pin "5V" + ESP8266 pin GND to SDS011 pin "GND" + SDS011 pin "25um" to MS430 pin PRT + */ + +#elif defined ESP32 + + // The examples have been tested on DOIT ESP32 DEVKIT V1 development board. + // Other ESP32 boards may require changes. + + #include + #define HAS_WIFI + #define ISR_ATTRIBUTE IRAM_ATTR + + #define READY_PIN 23 // Pin D23 connects to RDY + #define L_INT_PIN 18 // Pin D18 connects to LIT + #define S_INT_PIN 19 // Pin D19 connects to SIT + /* Also make the following connections: + ESP32 pin D21 to MS430 pin SDA + ESP32 pin D22 to MS430 pin SCL + ESP32 pin GND to MS430 pin GND + ESP32 pin 3V3 to MS430 pins VPU and VDD + MS430 pin VIN is unused + + If a PPD42 particle sensor is used, also connect the following: + ESP32 pin Vin to PPD42 pin 3 + ESP32 pin GND to PPD42 pin 1 + PPD42 pin 4 to MS430 pin PRT + + If an SDS011 particle sensor is used, connect the following: + ESP32 pin Vin to SDS011 pin "5V" + ESP32 pin GND to SDS011 pin "GND" SDS011 pin "25um" to MS430 pin PRT - - For further details, see the readme and User Guide */ #else - #error ("Your development board is not directly supported - edit this file to define the correct input/output pins.") + #error ("Your development board is not directly supported") + // Please make a new section in this file to define the correct input/output pins #endif #endif diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..72b9534 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,34 @@ +# Change Log +All notable changes to the project software and documentation will be documented in this file. + +## [3.1.0] - 2020-11-16 +### Added +- Fahrenheit temperature output. +- Improved support for ESP8266. +- Support for ESP32. +- IFTTT example. +- Home Assistant example. +- Graph viewer software for cross-platform, real-time data monitoring. +- Graph webpage server example using Plotly.js +- Text webpage server added to Python examples (to match the one for Arduino). +- Updated the User Guide (v2.1) for the new examples. + +### Changed +- **All software changes are backwards-compatible so old programs should still work.** +- The Raspberry Pi Python code now uses a package folder, so the import command has changed slightly. +- Arduino Nano 33 IoT now uses hardware I2C port, so the previously-used software I2C library is no longer needed. This requires a re-wire of two pins for this host only. +- The particle sensor being used (or not) is now set **once** rather than in each example code file - see readme for details. +- The I2C address in the Arduino examples is now set **once** rather than in each example code file. +- Small changes in most code files. + + +## [3.0.1] - 2020-10-14 +### Fixed +- Arduino IoT_cloud_logging HTTP request problem. + + +## [3.0.0] - 2020-09-06 +### Changed +- First release after hardware delivery. +- Datasheet (v2.0), user guide (v2.0), readme and code comments were edited. + diff --git a/Python/GraphViewer.py b/Python/GraphViewer.py new file mode 100644 index 0000000..469cfdd --- /dev/null +++ b/Python/GraphViewer.py @@ -0,0 +1,233 @@ +# GraphViewer.py + +# This file defines a class for creating a graphical user interface, +# to display graphs with real-time data updates. + +# A subclass must be derived from GraphViewer to implement the +# method getDataFunction() and create a working example program. This +# is done in "graph_viewer_serial.py" and "graph_viewer_I2C.py" + +# This is designed to run with Python 3 on multiple operating systems. +# The readme and User Guide give instructions on installing the necessary +# packages (pyqtgraph and PyQt5). + +# Copyright 2020 Metriful Ltd. +# Licensed under the MIT License - for further details see LICENSE.txt + +# For code examples, datasheet and user guide, visit +# https://github.com/metriful/sensor + +######################################################### + +import time +from pyqtgraph.Qt import QtCore, QtGui +import pyqtgraph as pg +from collections import deque, OrderedDict + + +class GraphViewer(QtGui.QMainWindow): + def __init__(self, data_buffer_length): + super(GraphViewer, self).__init__() + + self.buffer_samples = data_buffer_length + + # Define the number of graphs in the grid: + graphs_vertical = 2 + graphs_horizontal = 2 + + # Appearance settings: + self.pen_style = pg.mkPen(color="y", width=2, style=QtCore.Qt.SolidLine) + self.title_color = "w" + self.title_size = "13pt" + self.axis_color = "w" + self.axis_label_style = {'color': '#FFF', 'font-size': '11pt'} + self.x_grid = False + self.y_grid = False + + # Labels and measurement units for display + self.C_label = "\u00B0C" + self.F_label = "\u00B0F" + self.SDS_unit = "\u00B5g/m\u00B3" + self.PPD_unit = "ppL" + self.names_units = OrderedDict([('Temperature', self.C_label), + ('Pressure', 'Pa'),('Humidity', '%'),('Gas sensor resistance', "\u03A9"), + ('Air Quality Index', ''),('Estimated CO\u2082', 'ppm'),('Equivalent breath VOC', 'ppm'), + ('Air quality accuracy', ''),('Illuminance', 'lux'),('White light level', ''), + ('Sound pressure level', 'dBA'),('Band 1 SPL', 'dB'),('Band 2 SPL', 'dB'), + ('Band 3 SPL', 'dB'),('Band 4 SPL', 'dB'),('Band 5 SPL', 'dB'), + ('Band 6 SPL', 'dB'),('Peak sound amplitude', 'mPa'),('Microphone initialized', ''), + ('Particle sensor duty cycle', '%'),('Particle concentration', self.PPD_unit), + ('Particle data valid', '')]) + self.decimal_places = [1,0,1,0,1,1,2,0,2,0,1,1,1,1,1,1,1,2,0,2,2,0] + self.sound_band_number = 6 + + # Construct the user interface + self.setWindowTitle('Waiting for data...') + self.widget = QtGui.QWidget() + self.setCentralWidget(self.widget) + self.widget.setLayout(QtGui.QGridLayout()) + self.graph_var_numbers = [] + self.selected_var_numbers = [] + self.plot_items = [] + self.plot_handles = [] + self.combos = [] + self.is_bar_chart = [] + for nv in range(0,graphs_vertical): + for nh in range(0,graphs_horizontal): + GLW = pg.GraphicsLayoutWidget() + combo = pg.ComboBox() + self.combos.append(combo) + self.widget.layout().addWidget(combo, (2*nv), nh) + self.widget.layout().addWidget(GLW, (2*nv)+1, nh) + new_plot = GLW.addPlot() + self.plot_items.append(new_plot) + self.plot_handles.append(new_plot.plot(pen=self.pen_style, + symbol=None, axisItems={'bottom': pg.DateAxisItem()})) + self.formatPlotItem(new_plot) + self.is_bar_chart.append(False) + self.time_data = deque(maxlen=self.buffer_samples) + + + # Initialize and begin the periodic updating of the GUI + def start(self): + self.updateLoop() + self.show() + + + def setParticleUnits(self, name): + if (name == "SDS011"): + self.names_units['Particle concentration'] = self.SDS_unit + elif (name == "PPD42"): + self.names_units['Particle concentration'] = self.PPD_unit + elif (name is not None): + raise Exception("Particle sensor name must be 'SDS011' or 'PPD42', or None") + + + def useFahrenheitTemperatureUnits(self, use_fahrenheit): + if (use_fahrenheit): + self.names_units['Temperature'] = self.F_label + else: + self.names_units['Temperature'] = self.C_label + + + # Adjust plot appearance + def formatPlotItem(self, item): + item.setMenuEnabled(False) + item.showGrid(x=self.x_grid, y=self.y_grid) + item.getAxis("left").setPen(pg.mkPen(self.axis_color)) + item.getAxis("bottom").setPen(pg.mkPen(self.axis_color)) + item.getAxis("left").setStyle(tickLength=7) + item.getAxis("bottom").setStyle(tickLength=7) + item.setAxisItems({'bottom':pg.DateAxisItem()}) + + + # Create and return a new function which will be called when one of + # the comboboxes is changed. + def funcCreator(self, graph_index, combo_handle): + def func(): + self.selected_var_numbers[graph_index] = combo_handle.value() + return func + + + # Check for new data and redraw the graphs if data or combobox + # selections have changed + def updateLoop(self): + need_update = (self.graph_var_numbers != self.selected_var_numbers) + need_update = need_update or self.getDataFunction() + if (need_update): + self.updateGraphs() + # Call this function again in 20 ms + QtCore.QTimer.singleShot(20, self.updateLoop) + + + def getDataFunction(self): + # To be defined in subclass + pass + + + def createDataBuffer(self): + self.data_buffer = [deque(maxlen=self.buffer_samples) for i in range(0, len(self.indices))] + + + # Fill the ComboBoxes with the list of items and set the initial selected values + def initializeComboBoxes(self): + names = [list(self.names_units.keys())[j] for j in self.indices] + combo_items = dict(zip(names, [k for k in range(0,len(names))])) + combo_items['Sound frequency bands'] = len(combo_items) + for n,combo in enumerate(self.combos): + combo.setItems(combo_items) + start_index = n + if (n==0): + # Set first plot to be a bar chart + start_index = combo_items['Sound frequency bands'] + self.selected_var_numbers.append(start_index) + combo.setValue(start_index) + combo.currentIndexChanged.connect(self.funcCreator(n, combo)) + self.graph_var_numbers = self.selected_var_numbers.copy() + + + # Draw new data on the graphs and update the text label titles + def updateGraphs(self): + for n in range(0,len(self.plot_handles)): + self.graph_var_numbers[n] = self.selected_var_numbers[n] + if (self.graph_var_numbers[n] >= len(self.indices)): + # Bar chart of sound bands + if not (self.is_bar_chart[n] == True): + self.plot_items[n].removeItem(self.plot_handles[n]) + self.plot_handles[n].deleteLater() + self.plot_handles[n] = pg.BarGraphItem(x=list(range(0,self.sound_band_number)), + height=[0]*self.sound_band_number, width=0.9, brush="r") + self.plot_items[n].addItem(self.plot_handles[n]) + self.formatBarChart(self.plot_items[n]) + self.is_bar_chart[n] = True + new_data = [self.data_buffer[i][-1] for i in range(self.band1_index, + self.band1_index+self.sound_band_number)] + self.plot_handles[n].setOpts(height=new_data) + else: + # Line graph of single variable + if not (self.is_bar_chart[n] == False): + self.plot_items[n].removeItem(self.plot_handles[n]) + self.plot_handles[n].deleteLater() + self.plot_handles[n] = self.plot_items[n].plot(pen=self.pen_style, symbol=None) + self.adjustAxes(self.plot_items[n]) + self.is_bar_chart[n] = False + ind = self.indices[self.graph_var_numbers[n]] + self.plot_items[n].setTitle(list(self.names_units.keys())[ind] + + " = {:.{dps}f} ".format(self.data_buffer[self.graph_var_numbers[n]][-1], + dps=self.decimal_places[ind]) + list(self.names_units.values())[ind], + color=self.title_color,size=self.title_size) + self.plot_handles[n].setData(self.time_data, self.data_buffer[self.graph_var_numbers[n]]) + + + # Change axis settings + def adjustAxes(self, item): + item.getAxis("bottom").setTicks(None) + item.getAxis("left").setTicks(None) + item.getAxis("bottom").showLabel(False) + item.enableAutoRange(axis='x', enable=True) + item.enableAutoRange(axis='y', enable=True) + + + # Format the bar chart for displaying sound data for the six frequency bands + def formatBarChart(self, item): + frequency_midpoints = [125, 250, 500, 1000, 2000, 4000] + dB_labels = [20,30,40,50,60,70,80,90] + item.setTitle("Frequency band sound level / dB",color=self.title_color,size=self.title_size) + item.setLabel('bottom', text="Band center frequency / Hz", **self.axis_label_style) + # X axis ticks: set minor to same as major and label according to frequency + x_ticks = [[0]*len(frequency_midpoints),[0]*len(frequency_midpoints)] + for n,x in enumerate(frequency_midpoints): + x_ticks[0][n] = (n,str(x)) + x_ticks[1][n] = x_ticks[0][n] + item.getAxis("bottom").setTicks(x_ticks) + item.setXRange(-0.5, 5.5, padding=0) + # Y axis ticks: set minor ticks to same as major + y_ticks = [[0]*len(dB_labels),[0]*len(dB_labels)] + for n,y in enumerate(dB_labels): + y_ticks[0][n] = (y,str(y)) + y_ticks[1][n] = y_ticks[0][n] + item.getAxis("left").setTicks(y_ticks) + # fix Y axis limits, with margin: + item.setYRange(dB_labels[0], dB_labels[-1], padding=0.05) + + diff --git a/Python/Raspberry_Pi/Home_Assistant.py b/Python/Raspberry_Pi/Home_Assistant.py new file mode 100644 index 0000000..a84b8f4 --- /dev/null +++ b/Python/Raspberry_Pi/Home_Assistant.py @@ -0,0 +1,119 @@ +# Home_Assistant.py + +# Example code for sending environment data from the Metriful MS430 to +# an installation of Home Assistant (www.home-assistant.io) on your +# home network. +# This example is designed to run with Python 3 on a Raspberry Pi. + +# Data are sent at regular intervals over your local network to Home +# Assistant and can be viewed on the dashboard and used to control +# home automation tasks. More setup information is provided in the +# Readme and User Guide. + +# Copyright 2020 Metriful Ltd. +# Licensed under the MIT License - for further details see LICENSE.txt + +# For code examples, datasheet and user guide, visit +# https://github.com/metriful/sensor + +import requests +from sensor_package.sensor_functions import * + +######################################################### +# USER-EDITABLE SETTINGS + +# How often to read and report the data (every 3, 100 or 300 seconds) +cycle_period = CYCLE_PERIOD_100_S + +# Home Assistant settings + +# You must have already installed Home Assistant on a computer on your +# network. Go to www.home-assistant.io for help on this. + +# Choose a unique name for this MS430 sensor board so you can identify it. +# Variables in HA will have names like: SENSOR_NAME.temperature, etc. +SENSOR_NAME = "kitchen3" + +# Specify the IP address of the computer running Home Assistant. +# You can find this from the admin interface of your router. +HOME_ASSISTANT_IP = "192.168.43.144" + +# Security access token: the Readme and User Guide explain how to get this +LONG_LIVED_ACCESS_TOKEN = "PASTE YOUR TOKEN HERE WITHIN QUOTES" + +# END OF USER-EDITABLE SETTINGS +######################################################### + +# Set up the GPIO and I2C communications bus +(GPIO, I2C_bus) = SensorHardwareSetup() + +# Apply the settings to the MS430 +I2C_bus.write_i2c_block_data(i2c_7bit_address, PARTICLE_SENSOR_SELECT_REG, [PARTICLE_SENSOR]) +I2C_bus.write_i2c_block_data(i2c_7bit_address, CYCLE_TIME_PERIOD_REG, [cycle_period]) + +######################################################### + +print("Reporting data to Home Assistant. Press ctrl-c to exit.") + +# Enter cycle mode +I2C_bus.write_byte(i2c_7bit_address, CYCLE_MODE_CMD) + +while (True): + + # Wait for the next new data release, indicated by a falling edge on READY + while (not GPIO.event_detected(READY_pin)): + sleep(0.05) + + # Now read all data from the MS430 + air_data = get_air_data(I2C_bus) + air_quality_data = get_air_quality_data(I2C_bus) + light_data = get_light_data(I2C_bus) + sound_data = get_sound_data(I2C_bus) + particle_data = get_particle_data(I2C_bus, PARTICLE_SENSOR) + + # Specify information needed by Home Assistant. + # Icons are chosen from https://cdn.materialdesignicons.com/5.3.45/ + # (remove the "mdi-" part from the icon name). + pressure = dict(name='Pressure', data=air_data['P_Pa'], unit='Pa', icon='weather-cloudy', decimals=0) + humidity = dict(name='Humidity', data=air_data['H_pc'], unit='%', icon='water-percent', decimals=1) + temperature = dict(name='Temperature', data=air_data['T'], unit=air_data['T_unit'], + icon='thermometer', decimals=1) + illuminance = dict(name='Illuminance', data=light_data['illum_lux'], unit='lx', + icon='white-balance-sunny', decimals=2) + sound_level = dict(name='Sound level', data=sound_data['SPL_dBA'], unit='dBA', + icon='microphone', decimals=1) + sound_peak = dict(name='Sound peak', data=sound_data['peak_amp_mPa'], unit='mPa', + icon='waveform', decimals=2) + AQI = dict(name='Air Quality Index', data=air_quality_data['AQI'], unit=' ', + icon='thought-bubble-outline', decimals=1) + AQI_interpret = dict(name='Air quality assessment', data=interpret_AQI_value(air_quality_data['AQI']), + unit='', icon='flower-tulip', decimals=0) + particle = dict(name='Particle concentration', data=particle_data['concentration'], + unit=particle_data['conc_unit'], icon='chart-bubble', decimals=2) + + # Send data to Home Assistant using HTTP POST requests + variables = [pressure, humidity, temperature, illuminance, sound_level, sound_peak, AQI, AQI_interpret] + if (PARTICLE_SENSOR != PARTICLE_SENSOR_OFF): + variables.append(particle) + try: + for v in variables: + url = ("http://" + HOME_ASSISTANT_IP + ":8123/api/states/" + + SENSOR_NAME + "." + v['name'].replace(' ','_')) + head = {"Content-type": "application/json","Authorization": "Bearer " + LONG_LIVED_ACCESS_TOKEN} + try: + valueStr = "{:.{dps}f}".format(v['data'], dps=v['decimals']) + except: + valueStr = v['data'] + payload = {"state":valueStr, "attributes":{"unit_of_measurement":v['unit'], + "friendly_name":v['name'], "icon":"mdi:" + v['icon']}} + requests.post(url, json=payload, headers=head, timeout=2) + except Exception as e: + # An error has occurred, likely due to a lost network connection, + # and the post has failed. + # The program will retry with the next data release and will succeed + # if the network reconnects. + print("HTTP POST failed with the following error:") + print(repr(e)) + print("The program will continue and retry on the next data output.") + + diff --git a/Python/Raspberry_Pi/IFTTT.py b/Python/Raspberry_Pi/IFTTT.py new file mode 100644 index 0000000..523f640 --- /dev/null +++ b/Python/Raspberry_Pi/IFTTT.py @@ -0,0 +1,146 @@ +# IFTTT.py + +# Example code for sending data from the Metriful MS430 to IFTTT.com +# This example is designed to run with Python 3 on a Raspberry Pi. + +# Environmental data values are periodically measured and compared with +# a set of user-defined thresholds. If any values go outside the allowed +# ranges, an HTTP POST request is sent to IFTTT.com, triggering an alert +# email to your inbox, with customizable text. + +# More setup information is provided in the readme and User Guide. + +# Copyright 2020 Metriful Ltd. +# Licensed under the MIT License - for further details see LICENSE.txt + +# For code examples, datasheet and user guide, visit +# https://github.com/metriful/sensor + +import requests +from sensor_package.sensor_functions import * + +######################################################### +# USER-EDITABLE SETTINGS + +# IFTTT.com settings: WEBHOOKS_KEY and IFTTT_EVENT_NAME + +# You must set up a free account on IFTTT.com and create a Webhooks +# applet before using this example. This is explained further in the +# instructions in the GitHub Readme and in the User Guide. + +WEBHOOKS_KEY = "PASTE YOUR KEY HERE WITHIN QUOTES" +IFTTT_EVENT_NAME = "PASTE YOUR EVENT NAME HERE WITHIN QUOTES" + +# An inactive period follows each alert, during which the same alert +# will not be generated again - this prevents too many emails/alerts. +# Choose the period as a number of readout cycles (each 5 minutes) +# e.g. for a 2 hour period, choose inactive_wait_cycles = 24 +inactive_wait_cycles = 24; + +# Define the details of the variables for monitoring: +humidity = {'name':'humidity', + 'unit':"%", + 'decimal_places':1, + 'high_threshold':60, + 'low_threshold':30, + 'inactive_count':2, + 'high_advice':'Reduce moisture sources.', + 'low_advice':'Start the humidifier.'} + +air_quality_index = {'name':'air quality index', + 'unit':'', + 'decimal_places':1, + 'high_threshold':250, + 'low_threshold':-1, + 'inactive_count':2, + 'high_advice':'Improve ventilation.', + 'low_advice':''} + +# This example assumes that Celsius output temperature is selected. Edit +# these values if Fahrenheit is selected in sensor_functions.py +temperature = {'name':'temperature', + 'unit':CELSIUS_SYMBOL, + 'decimal_places':1, + 'high_threshold':23, + 'low_threshold':18, + 'inactive_count':2, + 'high_advice':'Turn on the fan.', + 'low_advice':'Turn on the heating.'} + +# END OF USER-EDITABLE SETTINGS +######################################################### + +# Measure the environment data every 300 seconds (5 minutes). This is +# adequate for long-term monitoring. +cycle_period = CYCLE_PERIOD_300_S + +# IFTTT settings: +IFTTT_url = "http://maker.ifttt.com/trigger/" + IFTTT_EVENT_NAME + "/with/key/" + WEBHOOKS_KEY +IFTTT_header = {"Content-type": "application/json"} + +# Set up the GPIO and I2C communications bus +(GPIO, I2C_bus) = SensorHardwareSetup() + +######################################################### + +print("Monitoring data. Press ctrl-c to exit.") + +# Enter cycle mode +I2C_bus.write_i2c_block_data(i2c_7bit_address, CYCLE_TIME_PERIOD_REG, [cycle_period]) +I2C_bus.write_byte(i2c_7bit_address, CYCLE_MODE_CMD) + +while (True): + + # Wait for the next new data release, indicated by a falling edge on READY + while (not GPIO.event_detected(READY_pin)): + sleep(0.05) + + # Read the air data and air quality data + air_data = get_air_data(I2C_bus) + air_quality_data = get_air_quality_data(I2C_bus) + temperature['data'] = air_data['T'] + humidity['data'] = air_data['H_pc'] + air_quality_index['data'] = air_quality_data['AQI'] + + # Check the new values and send an alert to IFTTT if a variable is + # outside its allowed range. + for v in [temperature, humidity, air_quality_index]: + + if (v['inactive_count'] > 0): + # Count down to when the monitoring is active again + v['inactive_count']-=1 + + send_alert = False + if ((v['data'] > v['high_threshold']) and (v['inactive_count'] == 0)): + # The variable is above the high threshold: send an alert then + # ignore this variable for the next inactive_wait_cycles + v['inactive_count'] = inactive_wait_cycles + send_alert = True + threshold_description = 'high.' + advice = v['high_advice'] + elif ((v['data'] < v['low_threshold']) and (v['inactive_count'] == 0)): + # The variable is below the low threshold: send an alert then + # ignore this variable for the next inactive_wait_cycles + v['inactive_count'] = inactive_wait_cycles + send_alert = True + threshold_description = 'low.' + advice = v['low_advice'] + + if send_alert: + # Send data using an HTTP POST request + try: + value1 = "The " + v['name'] + " is too " + threshold_description + print("Sending new alert to IFTTT: " + value1) + payload = {"value1":value1, + "value2":("The measurement was {:.{dps}f} ".format(v['data'], + dps=v['decimal_places']) + v['unit']), + "value3":advice} + requests.post(IFTTT_url, json=payload, headers=IFTTT_header, timeout=2) + except Exception as e: + # An error has occurred, likely due to a lost internet connection, + # and the post has failed. The program will continue and new + # alerts will succeed if the internet reconnects. + print("HTTP POST failed with the following error:") + print(repr(e)) + print("The program will attempt to continue.") + diff --git a/Raspberry_Pi/IoT_cloud_logging.py b/Python/Raspberry_Pi/IoT_cloud_logging.py similarity index 80% rename from Raspberry_Pi/IoT_cloud_logging.py rename to Python/Raspberry_Pi/IoT_cloud_logging.py index 12910bf..553b272 100644 --- a/Raspberry_Pi/IoT_cloud_logging.py +++ b/Python/Raspberry_Pi/IoT_cloud_logging.py @@ -15,7 +15,7 @@ # https://github.com/metriful/sensor import requests -from sensor_functions import * +from sensor_package.sensor_functions import * ######################################################### # USER-EDITABLE SETTINGS @@ -25,10 +25,8 @@ # be set to 100 or 300 seconds, not 3 seconds. cycle_period = CYCLE_PERIOD_100_S -# Which particle sensor, if any, is attached (PPD42, SDS011, or OFF) -particleSensor = PARTICLE_SENSOR_OFF - # IoT cloud settings. + # This example uses the free IoT cloud hosting services provided # by Tago.io or Thingspeak.com # Other free cloud providers are available. @@ -37,8 +35,7 @@ # readme and User Guide for more information. # Choose which provider to use -use_Tago_cloud = True -# To use the ThingSpeak cloud, set: use_Tago_cloud=False +use_Tago_cloud = True # set this False to use the Thingspeak cloud # The chosen account's key/token must be inserted below. if (use_Tago_cloud): @@ -55,8 +52,7 @@ (GPIO, I2C_bus) = SensorHardwareSetup() # Apply the chosen settings to the MS430 -if (particleSensor != PARTICLE_SENSOR_OFF): - I2C_bus.write_i2c_block_data(i2c_7bit_address, PARTICLE_SENSOR_SELECT_REG, [particleSensor]) +I2C_bus.write_i2c_block_data(i2c_7bit_address, PARTICLE_SENSOR_SELECT_REG, [PARTICLE_SENSOR]) I2C_bus.write_i2c_block_data(i2c_7bit_address, CYCLE_TIME_PERIOD_REG, [cycle_period]) ######################################################### @@ -85,38 +81,35 @@ # Now read all data from the MS430 # Air data - raw_data = I2C_bus.read_i2c_block_data(i2c_7bit_address, AIR_DATA_READ, AIR_DATA_BYTES) - air_data = extractAirData(raw_data) + # Choose output temperature unit (C or F) in sensor_functions.py + air_data = get_air_data(I2C_bus) # Air quality data # The initial self-calibration of the air quality data may take several # minutes to complete. During this time the accuracy parameter is zero # and the data values are not valid. - raw_data = I2C_bus.read_i2c_block_data(i2c_7bit_address, AIR_QUALITY_DATA_READ, AIR_QUALITY_DATA_BYTES) - air_quality_data = extractAirQualityData(raw_data) + air_quality_data = get_air_quality_data(I2C_bus) # Light data - raw_data = I2C_bus.read_i2c_block_data(i2c_7bit_address, LIGHT_DATA_READ, LIGHT_DATA_BYTES) - light_data = extractLightData(raw_data) - + light_data = get_light_data(I2C_bus) + # Sound data - raw_data = I2C_bus.read_i2c_block_data(i2c_7bit_address, SOUND_DATA_READ, SOUND_DATA_BYTES) - sound_data = extractSoundData(raw_data) + sound_data = get_sound_data(I2C_bus) # Particle data - # This requires the connection of a particulate sensor (invalid + # This requires the connection of a particulate sensor (zero/invalid # values will be obtained if this sensor is not present). + # Specify your sensor model (PPD42 or SDS011) in sensor_functions.py # Also note that, due to the low pass filtering used, the # particle data become valid after an initial initialization # period of approximately one minute. - raw_data = I2C_bus.read_i2c_block_data(i2c_7bit_address, PARTICLE_DATA_READ, PARTICLE_DATA_BYTES) - particle_data = extractParticleData(raw_data, particleSensor) + particle_data = get_particle_data(I2C_bus, PARTICLE_SENSOR) # Assemble the data into the required format, then send it to the cloud # as an HTTP POST request. # For both example cloud providers, the following quantities will be sent: - # 1 Temperature/C + # 1 Temperature (measurement unit is selected in sensor_functions.py) # 2 Pressure/Pa # 3 Humidity/% # 4 Air quality index @@ -125,14 +118,14 @@ # 7 Illuminance/lux # 8 Particle concentration - # Additionally, for Tago, the following is sent: + # Additionally, for Tago, the following are sent: # 9 Air Quality Assessment summary (Good, Bad, etc.) # 10 Peak sound amplitude / mPa try: if use_Tago_cloud: payload = [0]*10; - payload[0] = {"variable":"temperature","value":"{:.1f}".format(air_data['T_C'])} + payload[0] = {"variable":"temperature","value":"{:.1f}".format(air_data['T'])} payload[1] = {"variable":"pressure","value":air_data['P_Pa']} payload[2] = {"variable":"humidity","value":"{:.1f}".format(air_data['H_pc'])} payload[3] = {"variable":"aqi","value":"{:.1f}".format(air_quality_data['AQI'])} @@ -146,7 +139,7 @@ else: # Use ThingSpeak.com cloud payload = "api_key=" + THINGSPEAK_API_KEY_STRING - payload += "&field1=" + "{:.1f}".format(air_data['T_C']) + payload += "&field1=" + "{:.1f}".format(air_data['T']) payload += "&field2=" + str(air_data['P_Pa']) payload += "&field3=" + "{:.1f}".format(air_data['H_pc']) payload += "&field4=" + "{:.1f}".format(air_quality_data['AQI']) @@ -156,12 +149,12 @@ payload += "&field8=" + "{:.2f}".format(particle_data['concentration']) requests.post(thingspeak_url, data=payload, headers=thingspeak_header, timeout=2) - except: + except Exception as e: # An error has occurred, likely due to a lost internet connection, # and the post has failed. # The program will retry with the next data release and will succeed # if the internet reconnects. - print("HTTP POST failed.") - - + print("HTTP POST failed with the following error:") + print(repr(e)) + print("The program will continue and retry on the next data output.") diff --git a/Raspberry_Pi/cycle_readout.py b/Python/Raspberry_Pi/cycle_readout.py similarity index 67% rename from Raspberry_Pi/cycle_readout.py rename to Python/Raspberry_Pi/cycle_readout.py index d5a701e..5cc9268 100644 --- a/Raspberry_Pi/cycle_readout.py +++ b/Python/Raspberry_Pi/cycle_readout.py @@ -7,24 +7,23 @@ # repeating cycle. User can choose from a cycle time period # of 3, 100, or 300 seconds. +# The measurements can be displayed as either labeled text, or as +# simple columns of numbers. + # Copyright 2020 Metriful Ltd. # Licensed under the MIT License - for further details see LICENSE.txt # For code examples, datasheet and user guide, visit # https://github.com/metriful/sensor -from sensor_functions import * +from sensor_package.sensor_functions import * ######################################################### # USER-EDITABLE SETTINGS -# How often to read data (every 3, 100, 300 seconds) +# How often to read data (every 3, 100, or 300 seconds) cycle_period = CYCLE_PERIOD_3_S -# Which particle sensor, if any, is attached -# (PARTICLE_SENSOR_X with X = PPD42, SDS011, or OFF) -particleSensor = PARTICLE_SENSOR_OFF - # How to print the data: If print_data_as_columns = True, # data are columns of numbers, useful to copy/paste to a spreadsheet # application. Otherwise, data are printed with explanatory labels and units. @@ -37,8 +36,7 @@ (GPIO, I2C_bus) = SensorHardwareSetup() # Apply the chosen settings -if (particleSensor != PARTICLE_SENSOR_OFF): - I2C_bus.write_i2c_block_data(i2c_7bit_address, PARTICLE_SENSOR_SELECT_REG, [particleSensor]) +I2C_bus.write_i2c_block_data(i2c_7bit_address, PARTICLE_SENSOR_SELECT_REG, [PARTICLE_SENSOR]) I2C_bus.write_i2c_block_data(i2c_7bit_address, CYCLE_TIME_PERIOD_REG, [cycle_period]) ######################################################### @@ -56,37 +54,34 @@ # Now read and print all data # Air data - raw_data = I2C_bus.read_i2c_block_data(i2c_7bit_address, AIR_DATA_READ, AIR_DATA_BYTES) - air_data = extractAirData(raw_data) + # Choose output temperature unit (C or F) in sensor_functions.py + air_data = get_air_data(I2C_bus) writeAirData(None, air_data, print_data_as_columns) # Air quality data # The initial self-calibration of the air quality data may take several # minutes to complete. During this time the accuracy parameter is zero # and the data values are not valid. - raw_data = I2C_bus.read_i2c_block_data(i2c_7bit_address, AIR_QUALITY_DATA_READ, AIR_QUALITY_DATA_BYTES) - air_quality_data = extractAirQualityData(raw_data) + air_quality_data = get_air_quality_data(I2C_bus) writeAirQualityData(None, air_quality_data, print_data_as_columns) # Light data - raw_data = I2C_bus.read_i2c_block_data(i2c_7bit_address, LIGHT_DATA_READ, LIGHT_DATA_BYTES) - light_data = extractLightData(raw_data) + light_data = get_light_data(I2C_bus) writeLightData(None, light_data, print_data_as_columns) # Sound data - raw_data = I2C_bus.read_i2c_block_data(i2c_7bit_address, SOUND_DATA_READ, SOUND_DATA_BYTES) - sound_data = extractSoundData(raw_data) + sound_data = get_sound_data(I2C_bus) writeSoundData(None, sound_data, print_data_as_columns) # Particle data - # This requires the connection of a particulate sensor (invalid + # This requires the connection of a particulate sensor (zero/invalid # values will be obtained if this sensor is not present). + # Specify your sensor model (PPD42 or SDS011) in sensor_functions.py # Also note that, due to the low pass filtering used, the # particle data become valid after an initial initialization # period of approximately one minute. - if (particleSensor != PARTICLE_SENSOR_OFF): - raw_data = I2C_bus.read_i2c_block_data(i2c_7bit_address, PARTICLE_DATA_READ, PARTICLE_DATA_BYTES) - particle_data = extractParticleData(raw_data, particleSensor) + if (PARTICLE_SENSOR != PARTICLE_SENSOR_OFF): + particle_data = get_particle_data(I2C_bus, PARTICLE_SENSOR) writeParticleData(None, particle_data, print_data_as_columns) if print_data_as_columns: diff --git a/Python/Raspberry_Pi/graph_web_server.py b/Python/Raspberry_Pi/graph_web_server.py new file mode 100644 index 0000000..3357a55 --- /dev/null +++ b/Python/Raspberry_Pi/graph_web_server.py @@ -0,0 +1,136 @@ +# graph_web_server.py + +# Example code for serving a web page over a local network to display +# graphs showing environment data read from the Metriful MS430. A CSV +# data file is also downloadable from the page. +# This example is designed to run with Python 3 on a Raspberry Pi. + +# The web page can be viewed from other devices connected to the same +# network(s) as the host Raspberry Pi, including wired and wireless +# networks. + +# The browser which views the web page uses the Plotly javascript +# library to generate the graphs. This is automatically downloaded +# over the internet, or can be cached for offline use. If it is not +# available, graphs will not appear but text data and CSV downloads +# should still work. + +# NOTE: if you run, exit, then re-run this program, you may get an +# "Address already in use" error. This ends after a short period: wait +# one minute then retry. + +# Copyright 2020 Metriful Ltd. +# Licensed under the MIT License - for further details see LICENSE.txt + +# For code examples, datasheet and user guide, visit +# https://github.com/metriful/sensor + +import socketserver +from sensor_package.servers import * +from sensor_package.sensor_functions import * + +######################################################### +# USER-EDITABLE SETTINGS + +# Choose how often to read and update data (every 3, 100, or 300 seconds) +# The web page can be refreshed more often but the data will not change +cycle_period = CYCLE_PERIOD_100_S + +# The BUFFER_LENGTH parameter is the number of data points of each +# variable to store on the host. It is limited by the available host RAM. +buffer_length = 864 +# Examples: +# For 16 hour graphs, choose 100 second cycle period and 576 buffer length +# For 24 hour graphs, choose 300 second cycle period and 288 buffer length + + +# The web page address will be: +# http://:8080 e.g. http://172.24.1.1:8080 + +# Find your Raspberry Pi's IP address from the admin interface of your +# router, or: +# 1. Enter the command ifconfig in a terminal +# 2. Each available network connection displays a block of output +# 3. Ignore the "lo" output block +# 4. The host's IP address on each network is displayed after "inet" +# +# Example - part of an output block showing the address 172.24.1.1 +# +# wlan0: flags=4163 mtu 1500 +# inet 172.24.1.1 netmask 255.255.255.0 broadcast 172.24.1.255 + +# END OF USER-EDITABLE SETTINGS +######################################################### + +# Set up the GPIO and I2C communications bus +(GPIO, I2C_bus) = SensorHardwareSetup() + +# Apply the chosen settings to the MS430 +I2C_bus.write_i2c_block_data(i2c_7bit_address, PARTICLE_SENSOR_SELECT_REG, [PARTICLE_SENSOR]) +I2C_bus.write_i2c_block_data(i2c_7bit_address, CYCLE_TIME_PERIOD_REG, [cycle_period]) + +# Get time period value to send to web page +if (cycle_period == CYCLE_PERIOD_3_S): + GraphWebpageHandler.data_period_seconds = 3 +elif (cycle_period == CYCLE_PERIOD_100_S): + GraphWebpageHandler.data_period_seconds = 100 +else: # CYCLE_PERIOD_300_S + GraphWebpageHandler.data_period_seconds = 300 + +# Set the number of each variable to be retained +GraphWebpageHandler.set_buffer_length(buffer_length) + +# Set the webpage to use: +GraphWebpageHandler.set_webpage_filename('sensor_package/graph_web_page.html') + +# Choose the TCP port number for the web page. +port = 8080 +# The port can be any unused number from 1-65535 but values below 1024 +# require this program to be run as super-user as follows: +# sudo python3 web_server.py +# Port 80 is the default for HTTP, and with this value the port number +# can be omitted from the web address. e.g. http://172.24.1.1 + +print("Starting the web server. Your web page will be available at:") +print("http://:" + str(port)) +print("Press ctrl-c to exit.") + +the_server = socketserver.TCPServer(("", port), GraphWebpageHandler) +the_server.timeout = 0.1 + +# Enter cycle mode to start periodic data output +I2C_bus.write_byte(i2c_7bit_address, CYCLE_MODE_CMD) + +while (True): + + # Respond to the web page client requests while waiting for new data + while (not GPIO.event_detected(READY_pin)): + the_server.handle_request() + sleep(0.05) + + # Now read all data from the MS430 and pass to the web page + + # Air data + GraphWebpageHandler.update_air_data(get_air_data(I2C_bus)) + + # Air quality data + # The initial self-calibration of the air quality data may take several + # minutes to complete. During this time the accuracy parameter is zero + # and the data values are not valid. + GraphWebpageHandler.update_air_quality_data(get_air_quality_data(I2C_bus)) + + # Light data + GraphWebpageHandler.update_light_data(get_light_data(I2C_bus)) + + # Sound data + GraphWebpageHandler.update_sound_data(get_sound_data(I2C_bus)) + + # Particle data + # This requires the connection of a particulate sensor (invalid + # values will be obtained if this sensor is not present). + # Also note that, due to the low pass filtering used, the + # particle data become valid after an initial initialization + # period of approximately one minute. + if (PARTICLE_SENSOR != PARTICLE_SENSOR_OFF): + GraphWebpageHandler.update_particle_data(get_particle_data(I2C_bus, PARTICLE_SENSOR)) + diff --git a/Raspberry_Pi/interrupts.py b/Python/Raspberry_Pi/interrupts.py similarity index 95% rename from Raspberry_Pi/interrupts.py rename to Python/Raspberry_Pi/interrupts.py index 17204fd..c671d8a 100644 --- a/Raspberry_Pi/interrupts.py +++ b/Python/Raspberry_Pi/interrupts.py @@ -14,8 +14,7 @@ # For code examples, datasheet and user guide, visit # https://github.com/metriful/sensor -from time import sleep -from sensor_functions import * +from sensor_package.sensor_functions import * ######################################################### # USER-EDITABLE SETTINGS @@ -45,7 +44,8 @@ ######################################################### if ((light_thres_lux_i + (float(light_thres_lux_f2dp)/100.0)) > MAX_LUX_VALUE): - raise Exception('The chosen light interrupt threshold exceeds the maximum allowed value.') + raise Exception("The chosen light interrupt threshold exceeds the " + "maximum allowed value of " + str(MAX_LUX_VALUE) + " lux") # Set up the GPIO and I2C communications bus (GPIO, I2C_bus) = SensorHardwareSetup() diff --git a/Raspberry_Pi/log_data_to_file.py b/Python/Raspberry_Pi/log_data_to_file.py similarity index 71% rename from Raspberry_Pi/log_data_to_file.py rename to Python/Raspberry_Pi/log_data_to_file.py index 5021fc6..65ab8bd 100644 --- a/Raspberry_Pi/log_data_to_file.py +++ b/Python/Raspberry_Pi/log_data_to_file.py @@ -16,7 +16,7 @@ # https://github.com/metriful/sensor import datetime -from sensor_functions import * +from sensor_package.sensor_functions import * ######################################################### # USER-EDITABLE SETTINGS @@ -28,15 +28,12 @@ # Number of lines of data to log in each file before starting a new file # (required if log_to_file == True), and which directory to save them in. -lines_per_file = 3000 +lines_per_file = 300 data_file_directory = "/home/pi/Desktop" -# How often to measure and read data (every 3, 100, 300 seconds): +# How often to measure and read data (every 3, 100, or 300 seconds): cycle_period = CYCLE_PERIOD_3_S -# Which particle sensor, if any, is attached (PPD42, SDS011, or OFF) -particleSensor = PARTICLE_SENSOR_OFF - # END OF USER-EDITABLE SETTINGS ######################################################### @@ -44,8 +41,7 @@ (GPIO, I2C_bus) = SensorHardwareSetup() # Apply the chosen settings to the MS430 -if (particleSensor != PARTICLE_SENSOR_OFF): - I2C_bus.write_i2c_block_data(i2c_7bit_address, PARTICLE_SENSOR_SELECT_REG, [particleSensor]) +I2C_bus.write_i2c_block_data(i2c_7bit_address, PARTICLE_SENSOR_SELECT_REG, [PARTICLE_SENSOR]) I2C_bus.write_i2c_block_data(i2c_7bit_address, CYCLE_TIME_PERIOD_REG, [cycle_period]) ######################################################### @@ -65,50 +61,41 @@ while (not GPIO.event_detected(READY_pin)): sleep(0.05) - # Air data: - raw_data = I2C_bus.read_i2c_block_data(i2c_7bit_address, AIR_DATA_READ, AIR_DATA_BYTES) - air_data = extractAirData(raw_data) + # Air data + # Choose output temperature unit (C or F) in sensor_functions.py + air_data = get_air_data(I2C_bus) # Air quality data # The initial self-calibration of the air quality data may take several # minutes to complete. During this time the accuracy parameter is zero # and the data values are not valid. - raw_data = I2C_bus.read_i2c_block_data(i2c_7bit_address, AIR_QUALITY_DATA_READ, AIR_QUALITY_DATA_BYTES) - air_quality_data = extractAirQualityData(raw_data) - - # Light data: - raw_data = I2C_bus.read_i2c_block_data(i2c_7bit_address, LIGHT_DATA_READ, LIGHT_DATA_BYTES) - light_data = extractLightData(raw_data) - - # Sound data: - raw_data = I2C_bus.read_i2c_block_data(i2c_7bit_address, SOUND_DATA_READ, SOUND_DATA_BYTES) - sound_data = extractSoundData(raw_data) + air_quality_data = get_air_quality_data(I2C_bus) + # Light data + light_data = get_light_data(I2C_bus) + + # Sound data + sound_data = get_sound_data(I2C_bus) + # Particle data - # This requires the connection of a particulate sensor (invalid + # This requires the connection of a particulate sensor (zero/invalid # values will be obtained if this sensor is not present). + # Specify your sensor model (PPD42 or SDS011) in sensor_functions.py # Also note that, due to the low pass filtering used, the # particle data become valid after an initial initialization # period of approximately one minute. - raw_data = I2C_bus.read_i2c_block_data(i2c_7bit_address, PARTICLE_DATA_READ, PARTICLE_DATA_BYTES) - particle_data = extractParticleData(raw_data, particleSensor) - + particle_data = get_particle_data(I2C_bus, PARTICLE_SENSOR) + if (print_to_screen): # Display all data on screen as named quantities with units print("") print("------------------"); writeAirData(None, air_data, False) - print("------------------"); writeAirQualityData(None, air_quality_data, False) - print("------------------"); writeLightData(None, light_data, False) - print("------------------"); writeSoundData(None, sound_data, False) - print("------------------"); - if (particleSensor != PARTICLE_SENSOR_OFF): + if (PARTICLE_SENSOR != PARTICLE_SENSOR_OFF): writeParticleData(None, particle_data, False) - print("------------------"); - if (log_to_file): # Write the data as simple columns in a text file (without labels or @@ -123,7 +110,7 @@ writeLightData(datafile, light_data, True) # Sound data in columns 17 - 25 writeSoundData(datafile, sound_data, True) - if (particleSensor != PARTICLE_SENSOR_OFF): + if (PARTICLE_SENSOR != PARTICLE_SENSOR_OFF): # Particle data in columns 26 - 28 writeParticleData(datafile, particle_data, True) datafile.write("\n") diff --git a/Raspberry_Pi/on_demand_readout.py b/Python/Raspberry_Pi/on_demand_readout.py similarity index 66% rename from Raspberry_Pi/on_demand_readout.py rename to Python/Raspberry_Pi/on_demand_readout.py index f600f25..a4ac230 100644 --- a/Raspberry_Pi/on_demand_readout.py +++ b/Python/Raspberry_Pi/on_demand_readout.py @@ -4,8 +4,11 @@ # This example is designed to run with Python 3 on a Raspberry Pi. # Repeatedly measures and displays all environment data, with a pause -# between measurements. Air quality data are unavailable in this mode -# (instead see cycle_readout.py). +# of any chosen duration between measurements. Air quality data are +# unavailable in this mode (instead use cycle_readout.py). + +# The measurements can be displayed as either labeled text, or as +# simple columns of numbers. # Copyright 2020 Metriful Ltd. # Licensed under the MIT License - for further details see LICENSE.txt @@ -13,7 +16,7 @@ # For code examples, datasheet and user guide, visit # https://github.com/metriful/sensor -from sensor_functions import * +from sensor_package.sensor_functions import * ######################################################### # USER-EDITABLE SETTINGS @@ -24,10 +27,6 @@ # Choosing a pause of less than 2 seconds will cause inaccurate # temperature, humidity and particle data. -# Which particle sensor, if any, is attached -# (PARTICLE_SENSOR_X with X = PPD42, SDS011, or OFF) -particleSensor = PARTICLE_SENSOR_OFF - # How to print the data: If print_data_as_columns = True, # data are columns of numbers, useful to copy/paste to a spreadsheet # application. Otherwise, data are printed with explanatory labels and units. @@ -39,9 +38,7 @@ # Set up the GPIO and I2C communications bus (GPIO, I2C_bus) = SensorHardwareSetup() -# Apply the chosen settings -if (particleSensor != PARTICLE_SENSOR_OFF): - I2C_bus.write_i2c_block_data(i2c_7bit_address, PARTICLE_SENSOR_SELECT_REG, [particleSensor]) +I2C_bus.write_i2c_block_data(i2c_7bit_address, PARTICLE_SENSOR_SELECT_REG, [PARTICLE_SENSOR]) ######################################################### @@ -52,38 +49,37 @@ # Trigger a new measurement I2C_bus.write_byte(i2c_7bit_address, ON_DEMAND_MEASURE_CMD) - # Wait for the next new data release, indicated by a falling edge on READY + # Wait for the next new data release, indicated by a falling edge on READY. + # This will take 0.5 seconds. while (not GPIO.event_detected(READY_pin)): sleep(0.05) # Now read and print all data # Air data - raw_data = I2C_bus.read_i2c_block_data(i2c_7bit_address, AIR_DATA_READ, AIR_DATA_BYTES) - air_data = extractAirData(raw_data) + # Choose output temperature unit (C or F) in sensor_functions.py + air_data = get_air_data(I2C_bus) writeAirData(None, air_data, print_data_as_columns) # Air quality data are not available with on demand measurements # Light data - raw_data = I2C_bus.read_i2c_block_data(i2c_7bit_address, LIGHT_DATA_READ, LIGHT_DATA_BYTES) - light_data = extractLightData(raw_data) + light_data = get_light_data(I2C_bus) writeLightData(None, light_data, print_data_as_columns) # Sound data - raw_data = I2C_bus.read_i2c_block_data(i2c_7bit_address, SOUND_DATA_READ, SOUND_DATA_BYTES) - sound_data = extractSoundData(raw_data) + sound_data = get_sound_data(I2C_bus) writeSoundData(None, sound_data, print_data_as_columns) # Particle data - # This requires the connection of a particulate sensor (invalid + # This requires the connection of a particulate sensor (zero/invalid # values will be obtained if this sensor is not present). + # Specify your sensor model (PPD42 or SDS011) in sensor_functions.py # Also note that, due to the low pass filtering used, the # particle data become valid after an initial initialization # period of approximately one minute. - if (particleSensor != PARTICLE_SENSOR_OFF): - raw_data = I2C_bus.read_i2c_block_data(i2c_7bit_address, PARTICLE_DATA_READ, PARTICLE_DATA_BYTES) - particle_data = extractParticleData(raw_data, particleSensor) + if (PARTICLE_SENSOR != PARTICLE_SENSOR_OFF): + particle_data = get_particle_data(I2C_bus, PARTICLE_SENSOR) writeParticleData(None, particle_data, print_data_as_columns) if print_data_as_columns: diff --git a/Raspberry_Pi/particle_sensor_toggle.py b/Python/Raspberry_Pi/particle_sensor_toggle.py similarity index 70% rename from Raspberry_Pi/particle_sensor_toggle.py rename to Python/Raspberry_Pi/particle_sensor_toggle.py index fcb9e79..dbf4bb9 100644 --- a/Raspberry_Pi/particle_sensor_toggle.py +++ b/Python/Raspberry_Pi/particle_sensor_toggle.py @@ -4,7 +4,7 @@ # control signal from one of the Pi pins, which can be used to turn # the particle sensor on and off. An external transistor circuit is # also needed - this will gate the sensor power supply according to -# the control signal. +# the control signal. Further details are given in the User Guide. # The program continually measures and displays all environment data # in a repeating cycle. The user can view the output in the Serial @@ -19,7 +19,7 @@ # For code examples, datasheet and user guide, visit # https://github.com/metriful/sensor -from sensor_functions import * +from sensor_package.sensor_functions import * ######################################################### # USER-EDITABLE SETTINGS @@ -29,17 +29,13 @@ # its data. cycle_period = CYCLE_PERIOD_100_S -# Which particle sensor, if any, is attached -# (PARTICLE_SENSOR_X with X = PPD42, SDS011, or OFF) -particleSensor = PARTICLE_SENSOR_SDS011 - # How to print the data: If print_data_as_columns = True, # data are columns of numbers, useful to copy/paste to a spreadsheet # application. Otherwise, data are printed with explanatory labels and units. print_data_as_columns = True # Particle sensor power control options -off_cycles = 1; # leave the sensor off for this many cycles between reads +off_cycles = 2; # leave the sensor off for this many cycles between reads particle_sensor_control_pin = 10; # Pi pin number which outputs the control signal # END OF USER-EDITABLE SETTINGS @@ -51,18 +47,17 @@ # Set up the particle sensor control, and turn it off initially GPIO.setup(particle_sensor_control_pin, GPIO.OUT) GPIO.output(particle_sensor_control_pin, 0) -particleSensorIsOn = False -particleSensor_count = 0 +particle_sensor_is_on = False +particle_sensor_count = 0 # Apply the chosen settings -if (particleSensor != PARTICLE_SENSOR_OFF): - I2C_bus.write_i2c_block_data(i2c_7bit_address, PARTICLE_SENSOR_SELECT_REG, [particleSensor]) +I2C_bus.write_i2c_block_data(i2c_7bit_address, PARTICLE_SENSOR_SELECT_REG, [PARTICLE_SENSOR]) I2C_bus.write_i2c_block_data(i2c_7bit_address, CYCLE_TIME_PERIOD_REG, [cycle_period]) ######################################################### sound_data = extractSoundData([0]*SOUND_DATA_BYTES) -particle_data = extractParticleData([0]*PARTICLE_DATA_BYTES, particleSensor) +particle_data = extractParticleData([0]*PARTICLE_DATA_BYTES, PARTICLE_SENSOR) print("Entering cycle mode and waiting for data. Press ctrl-c to exit.") @@ -78,38 +73,33 @@ # sound data will be printed if no reading is done on this loop. # Air data - raw_data = I2C_bus.read_i2c_block_data(i2c_7bit_address, AIR_DATA_READ, AIR_DATA_BYTES) - air_data = extractAirData(raw_data) + air_data = get_air_data(I2C_bus) writeAirData(None, air_data, print_data_as_columns) # Air quality data # The initial self-calibration of the air quality data may take several # minutes to complete. During this time the accuracy parameter is zero # and the data values are not valid. - raw_data = I2C_bus.read_i2c_block_data(i2c_7bit_address, AIR_QUALITY_DATA_READ, AIR_QUALITY_DATA_BYTES) - air_quality_data = extractAirQualityData(raw_data) + air_quality_data = get_air_quality_data(I2C_bus) writeAirQualityData(None, air_quality_data, print_data_as_columns) # Light data - raw_data = I2C_bus.read_i2c_block_data(i2c_7bit_address, LIGHT_DATA_READ, LIGHT_DATA_BYTES) - light_data = extractLightData(raw_data) + light_data = get_light_data(I2C_bus) writeLightData(None, light_data, print_data_as_columns) - # Sound data - only read when particle sensor is off - if (not particleSensorIsOn): - raw_data = I2C_bus.read_i2c_block_data(i2c_7bit_address, SOUND_DATA_READ, SOUND_DATA_BYTES) - sound_data = extractSoundData(raw_data) + # Sound data - only read new data when particle sensor is off + if (not particle_sensor_is_on): + sound_data = get_sound_data(I2C_bus) writeSoundData(None, sound_data, print_data_as_columns) # Particle data - # This requires the connection of a particulate sensor (invalid + # This requires the connection of a particulate sensor (zero/invalid # values will be obtained if this sensor is not present). # Also note that, due to the low pass filtering used, the # particle data become valid after an initial initialization # period of approximately one minute. - if (particleSensorIsOn): - raw_data = I2C_bus.read_i2c_block_data(i2c_7bit_address, PARTICLE_DATA_READ, PARTICLE_DATA_BYTES) - particle_data = extractParticleData(raw_data, particleSensor) + if (particle_sensor_is_on): + particle_data = get_particle_data(I2C_bus, PARTICLE_SENSOR) writeParticleData(None, particle_data, print_data_as_columns) if print_data_as_columns: @@ -118,23 +108,23 @@ print("-------------------------------------------") #Turn the particle sensor on/off if required - if (particleSensorIsOn): + if (particle_sensor_is_on): # Stop the particle detection on the MS430 I2C_bus.write_i2c_block_data(i2c_7bit_address, PARTICLE_SENSOR_SELECT_REG, [PARTICLE_SENSOR_OFF]) # Turn off the hardware: GPIO.output(particle_sensor_control_pin, 0) - particleSensorIsOn = False + particle_sensor_is_on = False else: - particleSensor_count += 1 - if (particleSensor_count >= off_cycles): + particle_sensor_count += 1 + if (particle_sensor_count >= off_cycles): # Turn on the hardware: GPIO.output(particle_sensor_control_pin, 1) # Start the particle detection on the MS430 - I2C_bus.write_i2c_block_data(i2c_7bit_address, PARTICLE_SENSOR_SELECT_REG, [particleSensor]) + I2C_bus.write_i2c_block_data(i2c_7bit_address, PARTICLE_SENSOR_SELECT_REG, [PARTICLE_SENSOR]) - particleSensor_count = 0 - particleSensorIsOn = True + particle_sensor_count = 0 + particle_sensor_is_on = True diff --git a/Python/Raspberry_Pi/sensor_package/__init__.py b/Python/Raspberry_Pi/sensor_package/__init__.py new file mode 100644 index 0000000..d51ee2f --- /dev/null +++ b/Python/Raspberry_Pi/sensor_package/__init__.py @@ -0,0 +1 @@ +# This file remains empty but is needed by Python to create a package diff --git a/Python/Raspberry_Pi/sensor_package/graph_web_page.html b/Python/Raspberry_Pi/sensor_package/graph_web_page.html new file mode 100644 index 0000000..2259f91 --- /dev/null +++ b/Python/Raspberry_Pi/sensor_package/graph_web_page.html @@ -0,0 +1,333 @@ + + + + + +Indoor Environment Data + + + + + +

Indoor Environment Data

+
+
Incomplete load: please refresh the page.
+
+
+
+ +
+
+

sensor.metriful.com

+
+ + + + diff --git a/Raspberry_Pi/sensor_constants.py b/Python/Raspberry_Pi/sensor_package/sensor_constants.py similarity index 100% rename from Raspberry_Pi/sensor_constants.py rename to Python/Raspberry_Pi/sensor_package/sensor_constants.py diff --git a/Raspberry_Pi/sensor_functions.py b/Python/Raspberry_Pi/sensor_package/sensor_functions.py similarity index 53% rename from Raspberry_Pi/sensor_functions.py rename to Python/Raspberry_Pi/sensor_package/sensor_functions.py index 021c26d..ab4ede8 100644 --- a/Raspberry_Pi/sensor_functions.py +++ b/Python/Raspberry_Pi/sensor_package/sensor_functions.py @@ -1,8 +1,11 @@ # sensor_functions.py -# This file defines functions and hardware pins which are used +# This file defines functions and hardware settings which are used # in the Metriful code examples on Raspberry Pi. +# Choose the preferred temperature measurement unit (Celsius or +# Fahrenheit) in this file, and select the optional particle sensor. + # Copyright 2020 Metriful Ltd. # Licensed under the MIT License - for further details see LICENSE.txt @@ -15,12 +18,24 @@ import RPi.GPIO as GPIO import smbus import os -from sensor_constants import * +from .sensor_constants import * + +########################################################################################## + +# Choose to display output temperatures in Fahrenheit: +USE_FAHRENHEIT = False + +# Specify which particle sensor is connected: +PARTICLE_SENSOR = PARTICLE_SENSOR_OFF +# The possibilities are: +# PARTICLE_SENSOR_PPD42 for the Shinyei PPD42 +# PARTICLE_SENSOR_SDS011 for the Nova SDS011 +# PARTICLE_SENSOR_OFF if no sensor is connected ########################################################################################## # GPIO (input/output) header pin numbers: these must match the hardware wiring. -# The interrupt pins are not used in all examples. +# The light and sound interrupt pins are not used in all examples. light_int_pin = 7 # Raspberry Pi pin 7 connects to LIT sound_int_pin = 8 # Raspberry Pi pin 8 connects to SIT READY_pin = 11 # Raspberry Pi pin 11 connects to RDY @@ -49,6 +64,15 @@ ########################################################################################## +# Unicode symbol strings +CELSIUS_SYMBOL = "\u00B0C" +FAHRENHEIT_SYMBOL = "\u00B0F" +SDS011_CONC_SYMBOL = "\u00B5g/m\u00B3" # micrograms per cubic meter +SUBSCRIPT_2 = "\u2082" +OHM_SYMBOL = "\u03A9" + +########################################################################################## + def SensorHardwareSetup(): # Set up the Raspberry Pi GPIO GPIO.setwarnings(False) @@ -85,68 +109,111 @@ def SensorHardwareSetup(): def extractAirData(rawData): if (len(rawData) != AIR_DATA_BYTES): raise Exception('Incorrect number of Air Data bytes') - airData = {'T_C':0, 'P_Pa':0, 'H_pc':0, 'G_ohm':0} - airData['T_C'] = ((rawData[0] & TEMPERATURE_VALUE_MASK) + (float(rawData[1])/10.0)) + air_data = {'T_C':0, 'P_Pa':0, 'H_pc':0, 'G_ohm':0} + air_data['T_C'] = ((rawData[0] & TEMPERATURE_VALUE_MASK) + (float(rawData[1])/10.0)) if ((rawData[0] & TEMPERATURE_SIGN_MASK) != 0): # the most-significant bit is set, indicating that the temperature is negative - airData['T_C'] = -airData['T_C'] - airData['P_Pa'] = ((rawData[5] << 24) + (rawData[4] << 16) + (rawData[3] << 8) + rawData[2]) - airData['H_pc'] = rawData[6] + (float(rawData[7])/10.0) - airData['G_ohm'] = ((rawData[11] << 24) + (rawData[10] << 16) - + (rawData[9] << 8) + rawData[8]) - return airData + air_data['T_C'] = -air_data['T_C'] + air_data['T_F'] = convert_Celsius_to_Fahrenheit(air_data['T_C']) + air_data['P_Pa'] = ((rawData[5] << 24) + (rawData[4] << 16) + (rawData[3] << 8) + rawData[2]) + air_data['H_pc'] = rawData[6] + (float(rawData[7])/10.0) + air_data['G_ohm'] = ((rawData[11] << 24) + (rawData[10] << 16) + (rawData[9] << 8) + rawData[8]) + air_data['F_unit'] = FAHRENHEIT_SYMBOL + air_data['C_unit'] = CELSIUS_SYMBOL + if (USE_FAHRENHEIT): + air_data['T'] = air_data['T_F'] + air_data['T_unit'] = air_data['F_unit'] + else: + air_data['T'] = air_data['T_C'] + air_data['T_unit'] = air_data['C_unit'] + return air_data def extractAirQualityData(rawData): if (len(rawData) != AIR_QUALITY_DATA_BYTES): raise Exception('Incorrect number of Air Quality Data bytes') - airQualityData = {'AQI':0, 'CO2e':0, 'bVOC':0, 'AQI_accuracy':0} - airQualityData['AQI'] = rawData[0] + (rawData[1] << 8) + (float(rawData[2])/10.0) - airQualityData['CO2e'] = rawData[3] + (rawData[4] << 8) + (float(rawData[5])/10.0) - airQualityData['bVOC'] = rawData[6] + (rawData[7] << 8) + (float(rawData[8])/100.0) - airQualityData['AQI_accuracy'] = rawData[9] - return airQualityData + air_quality_data = {'AQI':0, 'CO2e':0, 'bVOC':0, 'AQI_accuracy':0} + air_quality_data['AQI'] = rawData[0] + (rawData[1] << 8) + (float(rawData[2])/10.0) + air_quality_data['CO2e'] = rawData[3] + (rawData[4] << 8) + (float(rawData[5])/10.0) + air_quality_data['bVOC'] = rawData[6] + (rawData[7] << 8) + (float(rawData[8])/100.0) + air_quality_data['AQI_accuracy'] = rawData[9] + return air_quality_data def extractLightData(rawData): if (len(rawData) != LIGHT_DATA_BYTES): raise Exception('Incorrect number of Light Data bytes supplied to function') - lightData = {'illum_lux':0, 'white':0} - lightData['illum_lux'] = rawData[0] + (rawData[1] << 8) + (float(rawData[2])/100.0) - lightData['white'] = rawData[3] + (rawData[4] << 8) - return lightData + light_data = {'illum_lux':0, 'white':0} + light_data['illum_lux'] = rawData[0] + (rawData[1] << 8) + (float(rawData[2])/100.0) + light_data['white'] = rawData[3] + (rawData[4] << 8) + return light_data def extractSoundData(rawData): if (len(rawData) != SOUND_DATA_BYTES): raise Exception('Incorrect number of Sound Data bytes supplied to function') - soundData = {'SPL_dBA':0, 'SPL_bands_dB':[0]*SOUND_FREQ_BANDS, 'peak_amp_mPa':0, 'stable':0} - soundData['SPL_dBA'] = rawData[0] + (float(rawData[1])/10.0) + sound_data = {'SPL_dBA':0, 'SPL_bands_dB':[0]*SOUND_FREQ_BANDS, 'peak_amp_mPa':0, 'stable':0} + sound_data['SPL_dBA'] = rawData[0] + (float(rawData[1])/10.0) j=2 for i in range(0,SOUND_FREQ_BANDS): - soundData['SPL_bands_dB'][i] = rawData[j] + (float(rawData[j+SOUND_FREQ_BANDS])/10.0) + sound_data['SPL_bands_dB'][i] = rawData[j] + (float(rawData[j+SOUND_FREQ_BANDS])/10.0) j+=1 j+=SOUND_FREQ_BANDS - soundData['peak_amp_mPa'] = rawData[j] + (rawData[j+1] << 8) + (float(rawData[j+2])/100.0) - soundData['stable'] = rawData[j+3] - return soundData + sound_data['peak_amp_mPa'] = rawData[j] + (rawData[j+1] << 8) + (float(rawData[j+2])/100.0) + sound_data['stable'] = rawData[j+3] + return sound_data def extractParticleData(rawData, particleSensor): + particle_data = {'duty_cycle_pc':0, 'concentration':0, 'conc_unit':"", 'valid':False} + if (particleSensor == PARTICLE_SENSOR_OFF): + return particle_data if (len(rawData) != PARTICLE_DATA_BYTES): raise Exception('Incorrect number of Particle Data bytes supplied to function') - particleData = {'duty_cycle_pc':0, 'concentration':0, 'conc_unit':"", 'valid':False} - particleData['duty_cycle_pc'] = rawData[0] + (float(rawData[1])/100.0) - particleData['concentration'] = rawData[2] + (rawData[3] << 8) + (float(rawData[4])/100.0) + particle_data['duty_cycle_pc'] = rawData[0] + (float(rawData[1])/100.0) + particle_data['concentration'] = rawData[2] + (rawData[3] << 8) + (float(rawData[4])/100.0) if (rawData[5] > 0): - particleData['valid'] = True + particle_data['valid'] = True if (particleSensor == PARTICLE_SENSOR_PPD42): - particleData['conc_unit'] = "ppL" + particle_data['conc_unit'] = "ppL" elif (particleSensor == PARTICLE_SENSOR_SDS011): - particleData['conc_unit'] = "ug/m3" - else: - particleData['conc_unit'] = "(?)" - return particleData + particle_data['conc_unit'] = SDS011_CONC_SYMBOL + return particle_data + +########################################################################################## + +# Convenience functions: each does a data category read from the MS430 +# and then converts the raw data into a python dictionary, which is +# returned from the function + +def get_air_data(I2C_bus): + raw_data = I2C_bus.read_i2c_block_data(i2c_7bit_address, AIR_DATA_READ, AIR_DATA_BYTES) + return extractAirData(raw_data) + +def get_air_quality_data(I2C_bus): + raw_data = I2C_bus.read_i2c_block_data(i2c_7bit_address, AIR_QUALITY_DATA_READ, AIR_QUALITY_DATA_BYTES) + return extractAirQualityData(raw_data) + +def get_light_data(I2C_bus): + raw_data = I2C_bus.read_i2c_block_data(i2c_7bit_address, LIGHT_DATA_READ, LIGHT_DATA_BYTES) + return extractLightData(raw_data) + +def get_sound_data(I2C_bus): + raw_data = I2C_bus.read_i2c_block_data(i2c_7bit_address, SOUND_DATA_READ, SOUND_DATA_BYTES) + return extractSoundData(raw_data) + +def get_particle_data(I2C_bus, particleSensor): + raw_data = I2C_bus.read_i2c_block_data(i2c_7bit_address, PARTICLE_DATA_READ, PARTICLE_DATA_BYTES) + return extractParticleData(raw_data, particleSensor) + +########################################################################################## + +# Function to convert Celsius temperature to Fahrenheit. This is used +# just before outputting the temperature value, if the variable +# USE_FAHRENHEIT is True + +def convert_Celsius_to_Fahrenheit(temperature_C): + return ((temperature_C*1.8) + 32.0) ########################################################################################## @@ -154,13 +221,13 @@ def extractParticleData(rawData, particleSensor): # the air quality measurements (applies to all air quality data) def interpret_AQI_accuracy(AQI_accuracy_code): if (AQI_accuracy_code == 1): - return "Low Accuracy, Self-calibration Ongoing"; + return "Low accuracy, self-calibration ongoing"; elif (AQI_accuracy_code == 2): - return "Medium Accuracy, Self-calibration Ongoing"; + return "Medium accuracy, self-calibration ongoing"; elif (AQI_accuracy_code == 3): - return "High Accuracy"; + return "High accuracy"; else: - return "Not Yet Valid, Self-calibration Incomplete"; + return "Not yet valid, self-calibration incomplete"; # Provide a readable interpretation of the AQI (air quality index) @@ -176,7 +243,7 @@ def interpret_AQI_value(AQI): elif (AQI < 300): return "Bad" else: - return "Very Bad" + return "Very bad" ########################################################################################## @@ -196,91 +263,92 @@ def interpret_AQI_value(AQI): # Air data column order is: # Temperature/C, Pressure/Pa, Humidity/%RH, Gas sensor resistance/ohm -def writeAirData(textFileObject, airData, writeAsColumns): +def writeAirData(textFileObject, air_data, writeAsColumns): if (textFileObject is None): textFileObject = sys.stdout if (writeAsColumns): - textFileObject.write("{:.1f} ".format(airData['T_C'])) - textFileObject.write(str(airData['P_Pa']) + " ") - textFileObject.write("{:.1f} ".format(airData['H_pc'])) - textFileObject.write(str(airData['G_ohm']) + " ") + textFileObject.write("{:.1f} ".format(air_data['T'])) + textFileObject.write(str(air_data['P_Pa']) + " ") + textFileObject.write("{:.1f} ".format(air_data['H_pc'])) + textFileObject.write(str(air_data['G_ohm']) + " ") else: - textFileObject.write("Temperature = {:.1f} C\n".format(airData['T_C'])) - textFileObject.write("Pressure = " + str(airData['P_Pa']) + " Pa\n") - textFileObject.write("Humidity = {:.1f} %\n".format(airData['H_pc'])) - textFileObject.write("Gas Sensor Resistance = " + str(airData['G_ohm']) + " ohm\n") + textFileObject.write("Temperature = {:.1f} ".format(air_data['T']) + air_data['T_unit'] + "\n") + textFileObject.write("Pressure = " + str(air_data['P_Pa']) + " Pa\n") + textFileObject.write("Humidity = {:.1f} %\n".format(air_data['H_pc'])) + textFileObject.write("Gas Sensor Resistance = " + str(air_data['G_ohm']) + " " + OHM_SYMBOL + "\n") # Air quality data column order is: # Air Quality Index, Estimated CO2/ppm, Equivalent breath VOC/ppm, Accuracy -def writeAirQualityData(textFileObject, airQualityData, writeAsColumns): +def writeAirQualityData(textFileObject, air_quality_data, writeAsColumns): if (textFileObject is None): textFileObject = sys.stdout if (writeAsColumns): - textFileObject.write("{:.1f} ".format(airQualityData['AQI'])) - textFileObject.write("{:.1f} ".format(airQualityData['CO2e'])) - textFileObject.write("{:.2f} ".format(airQualityData['bVOC'])) - textFileObject.write(str(airQualityData['AQI_accuracy']) + " ") + textFileObject.write("{:.1f} ".format(air_quality_data['AQI'])) + textFileObject.write("{:.1f} ".format(air_quality_data['CO2e'])) + textFileObject.write("{:.2f} ".format(air_quality_data['bVOC'])) + textFileObject.write(str(air_quality_data['AQI_accuracy']) + " ") else: - if (airQualityData['AQI_accuracy'] > 0): - textFileObject.write("Air Quality Index = {:.1f}".format(airQualityData['AQI']) - + " (" + interpret_AQI_value(airQualityData['AQI']) + ")\n") - textFileObject.write("Estimated CO2 = {:.1f} ppm\n".format(airQualityData['CO2e'])) - textFileObject.write("Equivalent Breath VOC = {:.2f} ppm\n".format(airQualityData['bVOC'])) + if (air_quality_data['AQI_accuracy'] > 0): + textFileObject.write("Air Quality Index = {:.1f}".format(air_quality_data['AQI']) + + " (" + interpret_AQI_value(air_quality_data['AQI']) + ")\n") + textFileObject.write("Estimated CO" + SUBSCRIPT_2 + + " = {:.1f} ppm\n".format(air_quality_data['CO2e'])) + textFileObject.write("Equivalent Breath VOC = {:.2f} ppm\n".format(air_quality_data['bVOC'])) textFileObject.write("Air Quality Accuracy: " + - interpret_AQI_accuracy(airQualityData['AQI_accuracy']) + "\n") + interpret_AQI_accuracy(air_quality_data['AQI_accuracy']) + "\n") # Light data column order is: # Illuminance/lux, white light level -def writeLightData(textFileObject, lightData, writeAsColumns): +def writeLightData(textFileObject, light_data, writeAsColumns): if (textFileObject is None): textFileObject = sys.stdout if (writeAsColumns): - textFileObject.write("{:.2f} ".format(lightData['illum_lux'])) - textFileObject.write(str(lightData['white']) + " ") + textFileObject.write("{:.2f} ".format(light_data['illum_lux'])) + textFileObject.write(str(light_data['white']) + " ") else: - textFileObject.write("Illuminance = {:.2f} lux\n".format(lightData['illum_lux'])) - textFileObject.write("White Light Level = " + str(lightData['white']) + "\n") + textFileObject.write("Illuminance = {:.2f} lux\n".format(light_data['illum_lux'])) + textFileObject.write("White Light Level = " + str(light_data['white']) + "\n") # Sound data column order is: # Sound pressure level/dBA, Sound pressure level for frequency bands 1 to 6 (six columns), # Peak sound amplitude/mPa, stability -def writeSoundData(textFileObject, soundData, writeAsColumns): +def writeSoundData(textFileObject, sound_data, writeAsColumns): if (textFileObject is None): textFileObject = sys.stdout if (writeAsColumns): - textFileObject.write("{:.1f} ".format(soundData['SPL_dBA'])) + textFileObject.write("{:.1f} ".format(sound_data['SPL_dBA'])) for i in range(0,SOUND_FREQ_BANDS): - textFileObject.write("{:.1f} ".format(soundData['SPL_bands_dB'][i])) - textFileObject.write("{:.2f} ".format(soundData['peak_amp_mPa'])) - textFileObject.write(str(soundData['stable']) + " ") + textFileObject.write("{:.1f} ".format(sound_data['SPL_bands_dB'][i])) + textFileObject.write("{:.2f} ".format(sound_data['peak_amp_mPa'])) + textFileObject.write(str(sound_data['stable']) + " ") else: - textFileObject.write("A-weighted Sound Pressure Level = {:.1f} dBA\n".format(soundData['SPL_dBA'])) + textFileObject.write("A-weighted Sound Pressure Level = {:.1f} dBA\n".format(sound_data['SPL_dBA'])) for i in range(0,SOUND_FREQ_BANDS): textFileObject.write("Frequency Band " + str(i+1) + " (" + str(sound_band_mids_Hz[i]) - + " Hz) SPL = {:.1f} dB\n".format(soundData['SPL_bands_dB'][i])) - textFileObject.write("Peak Sound Amplitude = {:.2f} mPa\n".format(soundData['peak_amp_mPa'])) + + " Hz) SPL = {:.1f} dB\n".format(sound_data['SPL_bands_dB'][i])) + textFileObject.write("Peak Sound Amplitude = {:.2f} mPa\n".format(sound_data['peak_amp_mPa'])) # Particle data column order is: # Sensor duty cycle/%, particle concentration -def writeParticleData(textFileObject, particleData, writeAsColumns): +def writeParticleData(textFileObject, particle_data, writeAsColumns): if (textFileObject is None): textFileObject = sys.stdout if (writeAsColumns): - textFileObject.write("{:.2f} ".format(particleData['duty_cycle_pc'])) - textFileObject.write("{:.2f} ".format(particleData['concentration'])) - if (particleData['valid']): + textFileObject.write("{:.2f} ".format(particle_data['duty_cycle_pc'])) + textFileObject.write("{:.2f} ".format(particle_data['concentration'])) + if (particle_data['valid']): textFileObject.write("1 ") else: textFileObject.write("0 ") else: - textFileObject.write("Particle Sensor Duty Cycle = {:.2f} %\n".format(particleData['duty_cycle_pc'])) - textFileObject.write("Particle Concentration = {:.2f} ".format(particleData['concentration'])) - textFileObject.write(particleData['conc_unit'] + "\n") - if (particleData['valid'] == 0): + textFileObject.write("Particle Sensor Duty Cycle = {:.2f} %\n".format(particle_data['duty_cycle_pc'])) + textFileObject.write("Particle Concentration = {:.2f} ".format(particle_data['concentration'])) + textFileObject.write(particle_data['conc_unit'] + "\n") + if (particle_data['valid'] == 0): textFileObject.write("Particle data valid: No (Initializing)\n") else: textFileObject.write("Particle data valid: Yes\n") diff --git a/Python/Raspberry_Pi/sensor_package/servers.py b/Python/Raspberry_Pi/sensor_package/servers.py new file mode 100644 index 0000000..cede269 --- /dev/null +++ b/Python/Raspberry_Pi/sensor_package/servers.py @@ -0,0 +1,212 @@ +# servers.py + +# This file contains HTTP request handler classes which are used in the +# web_server.py and graph_web_server.py examples. + +# Copyright 2020 Metriful Ltd. +# Licensed under the MIT License - for further details see LICENSE.txt + +# For code examples, datasheet and user guide, visit +# https://github.com/metriful/sensor + +import http.server +from collections import deque +import struct +from .sensor_functions import * + +########################################################################################## + +# A class for making a simple text web page showing the environment data in +# separate category tables, using HTML and CSS. This is used in web_server.py + +class SimpleWebpageHandler(http.server.SimpleHTTPRequestHandler): + the_web_page = "" + air_data = None + air_quality_data = None + sound_data = None + light_data = None + particle_data = None + refresh_period_seconds = 3 + + def do_GET(self): + self.wfile.write(bytes(self.the_web_page, "utf8")) + + @classmethod + def assemble_web_page(cls): + cls.the_web_page = ("HTTP/1.1 200 OK\r\n" + "Content-type:text/html\r\n" + "Connection: close\r\n" + "Refresh: {}\r\n\r\n".format(cls.refresh_period_seconds) + + "" + "Metriful Sensor Demo" + "" + "

Indoor Environment Data

") + + if (cls.air_data != None): + cls.the_web_page += "

Air Data

" + cls.the_web_page += ("") + cls.the_web_page += ("" + "".format(cls.air_data['P_Pa']) + + "".format(cls.air_data['H_pc']) + + "".format(cls.air_data['G_ohm']) + + "
Temperature" + "{:.1f}".format(cls.air_data['T']) + cls.air_data['T_unit'] + "
Pressure{}Pa
Humidity{:.1f}%
Gas Sensor Resistance{}" + OHM_SYMBOL + "

") + + if (cls.air_quality_data != None): + cls.the_web_page += "

Air Quality Data

" + if (cls.air_quality_data['AQI_accuracy'] == 0): + # values are not valid yet + cls.the_web_page += ("" + interpret_AQI_accuracy(cls.air_quality_data['AQI_accuracy']) + + "

") + else: + cls.the_web_page += ("" + "".format(cls.air_quality_data['AQI']) + + "" + "" + "".format(cls.air_quality_data['CO2e']) + + "
Air Quality Index{:.1f}
Air Quality Summary" + + interpret_AQI_value(cls.air_quality_data['AQI']) + "
Estimated CO" + SUBSCRIPT_2 + "{:.1f}ppm
Equivalent Breath VOC{:.2f}".format(cls.air_quality_data['bVOC']) + + "ppm

") + + if (cls.sound_data != None): + cls.the_web_page += ("

Sound Data

" + "".format(cls.sound_data['SPL_dBA'])) + for i in range(0,SOUND_FREQ_BANDS): + cls.the_web_page += ("".format(i+1, sound_band_mids_Hz[i]) + + "".format(cls.sound_data['SPL_bands_dB'][i])) + cls.the_web_page += ("" + "
A-weighted Sound Pressure Level" + "{:.1f}dBA
Frequency Band " + "{} ({} Hz) SPL{:.1f}dB
Peak Sound Amplitude{:.2f}mPa

".format(cls.sound_data['peak_amp_mPa'])) + + if (cls.light_data != None): + cls.the_web_page += ("

Light Data

" + "".format(cls.light_data['illum_lux']) + + "" + "".format(cls.light_data['white']) + + "
Illuminance{:.2f}lux
White Light Level{}

") + + if (cls.particle_data != None): + cls.the_web_page += ("

Air Particulate Data

" + "" + "".format(cls.particle_data['duty_cycle_pc']) + + "" + "
Sensor Duty Cycle{:.2f}%
Particle Concentration{:.2f}".format(cls.particle_data['concentration']) + + "" + cls.particle_data['conc_unit'] + "

") + + cls.the_web_page += "" + + +########################################################################################## + +# A class for making a web page with graphs to display environment data, using +# the Plotly.js libray, javascript, HTML and CSS. This is used in graph_web_server.py + +class GraphWebpageHandler(http.server.SimpleHTTPRequestHandler): + data_period_seconds = 3 + error_response_HTTP = "HTTP/1.1 400 Bad Request\r\n\r\n" + data_header = ("HTTP/1.1 200 OK\r\n" + "Content-type: application/octet-stream\r\n" + "Connection: close\r\n\r\n") + page_header = ("HTTP/1.1 200 OK\r\n" + "Content-type: text/html\r\n" + "Connection: close\r\n\r\n") + + # Respond to an HTTP GET request (no other methods are supported) + def do_GET(self): + if (self.path == '/'): + # The web page is requested + self.wfile.write(bytes(self.page_header, "utf8")) + with open(self.webpage_filename, 'rb') as fileObj: + for data in fileObj: + self.wfile.write(data) + fileObj.close() + elif (self.path == '/1'): + # A URI path of '1' indicates a request of all buffered data + self.send_all_data() + elif (self.path == '/2'): + # A URI path of '2' indicates a request of the latest data only + self.send_latest_data() + else: + # Path not recognized: send a standard error response + self.wfile.write(bytes(self.error_response_HTTP, "utf8")) + + + def send_all_data(self): + self.wfile.write(bytes(self.data_header, "utf8")) + # First send the time period, so the web page knows when to do the next request + self.wfile.write(struct.pack('H', self.data_period_seconds)) + # Send temperature unit and particle sensor type, combined into one byte + codeByte = PARTICLE_SENSOR + if USE_FAHRENHEIT: + codeByte = codeByte | 0x10 + self.wfile.write(struct.pack('B', codeByte)) + # Send the length of the data buffers (the number of values of each variable) + self.wfile.write(struct.pack('H', len(self.temperature))) + # Send the data: + for p in [self.AQI, self.temperature, self.pressure, self.humidity, + self.SPL, self.illuminance, self.bVOC, self.particle]: + self.wfile.write(struct.pack(str(len(p)) + 'f', *p)) + + + def send_latest_data(self): + self.wfile.write(bytes(self.data_header, "utf8")) + # Send the most recent value for each variable, if buffers are not empty + if (len(self.temperature) > 0): + data = [self.AQI[-1], self.temperature[-1], self.pressure[-1], self.humidity[-1], + self.SPL[-1], self.illuminance[-1], self.bVOC[-1]] + if (len(self.particle) > 0): + data.append(self.particle[-1]) + self.wfile.write(struct.pack(str(len(data)) + 'f', *data)) + + + @classmethod + def set_webpage_filename(self, filename): + self.webpage_filename = filename + + @classmethod + def set_buffer_length(cls, buffer_length): + cls.temperature = deque(maxlen=buffer_length) + cls.pressure = deque(maxlen=buffer_length) + cls.humidity = deque(maxlen=buffer_length) + cls.AQI = deque(maxlen=buffer_length) + cls.bVOC = deque(maxlen=buffer_length) + cls.SPL = deque(maxlen=buffer_length) + cls.illuminance = deque(maxlen=buffer_length) + cls.particle = deque(maxlen=buffer_length) + + @classmethod + def update_air_data(cls, air_data): + cls.temperature.append(air_data['T']) + cls.pressure.append(air_data['P_Pa']) + cls.humidity.append(air_data['H_pc']) + + @classmethod + def update_air_quality_data(cls, air_quality_data): + cls.AQI.append(air_quality_data['AQI']) + cls.bVOC.append(air_quality_data['bVOC']) + + @classmethod + def update_light_data(cls, light_data): + cls.illuminance.append(light_data['illum_lux']) + + @classmethod + def update_sound_data(cls, sound_data): + cls.SPL.append(sound_data['SPL_dBA']) + + @classmethod + def update_particle_data(cls, particle_data): + cls.particle.append(particle_data['concentration']) + diff --git a/Python/Raspberry_Pi/simple_read_T_H.py b/Python/Raspberry_Pi/simple_read_T_H.py new file mode 100644 index 0000000..c2688f9 --- /dev/null +++ b/Python/Raspberry_Pi/simple_read_T_H.py @@ -0,0 +1,99 @@ +# simple_read_T_H.py + +# Example code for using the Metriful MS430 to measure humidity and +# temperature. +# This example is designed to run with Python 3 on a Raspberry Pi. + +# Demonstrates multiple ways of reading and displaying the temperature +# and humidity data. View the output in the terminal. The other data +# can be measured and displayed in a similar way. + +# Copyright 2020 Metriful Ltd. +# Licensed under the MIT License - for further details see LICENSE.txt + +# For code examples, datasheet and user guide, visit +# https://github.com/metriful/sensor + +from sensor_package.sensor_functions import * + +# Set up the GPIO and I2C communications bus +(GPIO, I2C_bus) = SensorHardwareSetup() + +# Initiate an on-demand data measurement +I2C_bus.write_byte(i2c_7bit_address, ON_DEMAND_MEASURE_CMD) + +# Now wait for the ready signal (falling edge) before continuing +while (not GPIO.event_detected(READY_pin)): + sleep(0.05) + +# New data are now ready to read. + +######################################################### + +# There are multiple ways to read and display the data + + +# 1. Simplest way: use the example functions + +# Read all the "air data" from the MS430. This includes temperature and +# humidity as well as pressure and gas sensor data. Return the data as +# a data dictionary. +air_data = get_air_data(I2C_bus) + +# Then print all the values onto the screen +writeAirData(None, air_data, False) + +# Or you can use the values directly +print("The temperature is: {:.1f} ".format(air_data['T_C']) + air_data['C_unit']) +print("The humidity is: {:.1f} %".format(air_data['H_pc'])) + +# Temperature can also be output in Fahrenheit units +print("The temperature is: {:.1f} ".format(air_data['T_F']) + air_data['F_unit']) + +# The default temperature unit can be set in sensor_functions.py and used like: +print("The temperature is: {:.1f} ".format(air_data['T']) + air_data['T_unit']) + +print("-----------------------------") + +# 2. Advanced: read and decode only the humidity value + +# Get the data from the MS430 +raw_data = I2C_bus.read_i2c_block_data(i2c_7bit_address, H_READ, H_BYTES) + +# Decode the humidity: the first received byte is the integer part, the +# second byte is the fractional part (to one decimal place). +humidity = raw_data[0] + float(raw_data[1])/10.0 + +# Print it: the units are percentage relative humidity. +print("Humidity = {:.1f} %".format(humidity)) + +print("-----------------------------") + +# 3. Advanced: read and decode only the temperature value (Celsius) + +# Get the data from the MS430 +raw_data = I2C_bus.read_i2c_block_data(i2c_7bit_address, T_READ, T_BYTES) + +# Find the positive magnitude of the integer part of the temperature by +# doing a bitwise AND of the first received byte with TEMPERATURE_VALUE_MASK +temp_positive_integer = raw_data[0] & TEMPERATURE_VALUE_MASK + +# The second received byte is the fractional part to one decimal place +temp_fraction = raw_data[1] + +# Combine to form a positive floating point number: +temperature = temp_positive_integer + float(temp_fraction)/10.0 + +# Now find the sign of the temperature: if the most-significant bit of +# the first byte is a 1, the temperature is negative (below 0 C) +if ((raw_data[0] & TEMPERATURE_SIGN_MASK) != 0): + # The bit is a 1: temperature is negative + temperature = -temperature + +# Print the temperature: the units are degrees Celsius. +print("Temperature = {:.1f} ".format(temperature) + CELSIUS_SYMBOL) + +######################################################### + +GPIO.cleanup() + diff --git a/Raspberry_Pi/simple_read_sound.py b/Python/Raspberry_Pi/simple_read_sound.py similarity index 57% rename from Raspberry_Pi/simple_read_sound.py rename to Python/Raspberry_Pi/simple_read_sound.py index 1aadd3a..69d604a 100644 --- a/Raspberry_Pi/simple_read_sound.py +++ b/Python/Raspberry_Pi/simple_read_sound.py @@ -3,7 +3,9 @@ # Example code for using the Metriful MS430 to measure sound. # This example is designed to run with Python 3 on a Raspberry Pi. -# Measures and displays the sound data once. +# Demonstrates multiple ways of reading and displaying the sound data. +# View the output in the terminal. The other data can be measured +# and displayed in a similar way. # Copyright 2020 Metriful Ltd. # Licensed under the MIT License - for further details see LICENSE.txt @@ -11,8 +13,7 @@ # For code examples, datasheet and user guide, visit # https://github.com/metriful/sensor -from time import sleep -from sensor_functions import * +from sensor_package.sensor_functions import * # Set up the GPIO and I2C communications bus (GPIO, I2C_bus) = SensorHardwareSetup() @@ -32,27 +33,35 @@ while (not GPIO.event_detected(READY_pin)): sleep(0.05) -# We now know that newly measured data are ready to read. +# New data are now ready to read. ######################################################### -# SOUND DATA +# There are multiple ways to read and display the data + + +# 1. Simplest way: use the example functions + +# Read all sound data from the MS430 and convert to a Python dictionary +sound_data = get_sound_data(I2C_bus) + +# Then print all the values onto the screen +writeSoundData(None, sound_data, False) -# Read all sound data in one transaction +# Or you can use the dictionary values directly, for example: +print("The sound pressure level is: " + str(sound_data['SPL_dBA']) + " dBA") + + +# 2. Read the raw data bytes from the MS430 using an I2C function raw_data = I2C_bus.read_i2c_block_data(i2c_7bit_address, SOUND_DATA_READ, SOUND_DATA_BYTES) -# Use the example function to decode the values and return then as a Python dictionary +# Decode the values and return then as a Python dictionary sound_data = extractSoundData(raw_data) -# Print the values obtained -print("A-weighted sound pressure level = {:.1f} dBA".format(sound_data['SPL_dBA'])) -for i in range(0,SOUND_FREQ_BANDS): - print("Frequency band " + str(i+1) + " (" + str(sound_band_mids_Hz[i]) - + " Hz) SPL = {:.1f} dB".format(sound_data['SPL_bands_dB'][i])) -print("Peak sound amplitude = {:.2f} mPa".format(sound_data['peak_amp_mPa'])) - -# Or just use the following function for printing: +# Print the dictionary values in the same ways as before writeSoundData(None, sound_data, False) +print("The sound pressure level is: " + str(sound_data['SPL_dBA']) + " dBA") + ######################################################### diff --git a/Python/Raspberry_Pi/web_server.py b/Python/Raspberry_Pi/web_server.py new file mode 100644 index 0000000..a640b07 --- /dev/null +++ b/Python/Raspberry_Pi/web_server.py @@ -0,0 +1,123 @@ +# web_server.py + +# Example code for serving a text web page over a local network to +# display environment data read from the Metriful MS430. +# This example is designed to run with Python 3 on a Raspberry Pi. + +# All environment data values are measured and displayed on a text +# web page generated by this program acting as a simple web server. +# The web page can be viewed from other devices connected to the same +# network(s) as the host Raspberry Pi, including wired and wireless +# networks. + +# NOTE: if you run, exit, then re-run this program, you may get an +# "Address already in use" error. This ends after a short period: wait +# one minute then retry. + +# Copyright 2020 Metriful Ltd. +# Licensed under the MIT License - for further details see LICENSE.txt + +# For code examples, datasheet and user guide, visit +# https://github.com/metriful/sensor + +import socketserver +from sensor_package.servers import * +from sensor_package.sensor_functions import * + +######################################################### +# USER-EDITABLE SETTINGS + +# Choose how often to read and update data (every 3, 100, or 300 seconds) +# The web page can be refreshed more often but the data will not change +cycle_period = CYCLE_PERIOD_3_S + +# The web page address will be: +# http://:8080 e.g. http://172.24.1.1:8080 + +# Find your Raspberry Pi's IP address from the admin interface of your +# router, or: +# 1. Enter the command ifconfig in a terminal +# 2. Each available network connection displays a block of output +# 3. Ignore the "lo" output block +# 4. The host's IP address on each network is displayed after "inet" +# +# Example - part of an output block showing the address 172.24.1.1 +# +# wlan0: flags=4163 mtu 1500 +# inet 172.24.1.1 netmask 255.255.255.0 broadcast 172.24.1.255 + +# END OF USER-EDITABLE SETTINGS +######################################################### + +# Set up the GPIO and I2C communications bus +(GPIO, I2C_bus) = SensorHardwareSetup() + +# Apply the chosen settings to the MS430 +I2C_bus.write_i2c_block_data(i2c_7bit_address, PARTICLE_SENSOR_SELECT_REG, [PARTICLE_SENSOR]) +I2C_bus.write_i2c_block_data(i2c_7bit_address, CYCLE_TIME_PERIOD_REG, [cycle_period]) + +# Set the automatic refresh period of the web page. It should refresh +# at least as often as new data are obtained. A more frequent refresh is +# best for long cycle periods because the page access will be +# out-of-step with the cycle. Users can also manually refresh the page. +if (cycle_period == CYCLE_PERIOD_3_S): + SimpleWebpageHandler.refresh_period_seconds = 3 +elif (cycle_period == CYCLE_PERIOD_100_S): + SimpleWebpageHandler.refresh_period_seconds = 30 +else: # CYCLE_PERIOD_300_S + SimpleWebpageHandler.refresh_period_seconds = 50 + +# Choose the TCP port number for the web page. +port = 8080 +# The port can be any unused number from 1-65535 but values below 1024 +# require this program to be run as super-user as follows: +# sudo python3 web_server.py +# Port 80 is the default for HTTP, and with this value the port number +# can be omitted from the web address. e.g. http://172.24.1.1 + +print("Starting the web server. Your web page will be available at:") +print("http://:" + str(port)) +print("Press ctrl-c to exit.") + +the_server = socketserver.TCPServer(("", port), SimpleWebpageHandler) +the_server.timeout = 0.1 + +# Enter cycle mode to start periodic data output +I2C_bus.write_byte(i2c_7bit_address, CYCLE_MODE_CMD) + +while (True): + + # While waiting for the next data release, respond to client requests + # by serving the web page with the last available data. + while (not GPIO.event_detected(READY_pin)): + the_server.handle_request() + sleep(0.05) + + # Now read all data from the MS430 and pass to the web page + + # Air data + SimpleWebpageHandler.air_data = get_air_data(I2C_bus) + + # Air quality data + # The initial self-calibration of the air quality data may take several + # minutes to complete. During this time the accuracy parameter is zero + # and the data values are not valid. + SimpleWebpageHandler.air_quality_data = get_air_quality_data(I2C_bus) + + # Light data + SimpleWebpageHandler.light_data = get_light_data(I2C_bus) + + # Sound data + SimpleWebpageHandler.sound_data = get_sound_data(I2C_bus) + + # Particle data + # This requires the connection of a particulate sensor (invalid + # values will be obtained if this sensor is not present). + # Also note that, due to the low pass filtering used, the + # particle data become valid after an initial initialization + # period of approximately one minute. + if (PARTICLE_SENSOR != PARTICLE_SENSOR_OFF): + SimpleWebpageHandler.particle_data = get_particle_data(I2C_bus, PARTICLE_SENSOR) + + # Create the web page ready for client requests + SimpleWebpageHandler.assemble_web_page() diff --git a/Python/graph_viewer_I2C.py b/Python/graph_viewer_I2C.py new file mode 100644 index 0000000..9ad9235 --- /dev/null +++ b/Python/graph_viewer_I2C.py @@ -0,0 +1,159 @@ +# graph_viewer_I2C.py + +# NOTE on operating system/platform: + +# This example runs on Raspberry Pi only, and the MS430 sensor board +# must be connected to the Raspberry Pi I2C/GPIO pins. + +# An alternate version, "graph_viewer_serial.py" runs on multiple operating +# systems (including Windows and Linux) and uses serial over USB to get +# data from the MS430 sensor via a microcontroller board (e.g. Arduino, +# ESP8266, etc). + +######################################################### + +# This example displays a graphical user interface with real-time +# updating graphs showing data from the MS430 sensor board. + +# Installation instructions for the necessary packages are in the +# readme and User Guide. + +# Copyright 2020 Metriful Ltd. +# Licensed under the MIT License - for further details see LICENSE.txt + +# For code examples, datasheet and user guide, visit +# https://github.com/metriful/sensor + +import datetime +from GraphViewer import * +from Raspberry_Pi.sensor_package.sensor_functions import * + +######################################################### +# USER-EDITABLE SETTINGS + +# Choose the delay between data measurements. This can be 3/100/300 seconds +# in cycle mode, or any delay time in on-demand mode + +# Set cycle_period_code=None to use on-demand mode +cycle_period_code = None # CYCLE_PERIOD_3_S, CYCLE_PERIOD_100_S, CYCLE_PERIOD_300_S, or None +# OR: +on_demand_delay_ms = 0 # Choose any number of milliseconds +# This delay is in addition to the 0.5 second readout time + +# Temperature and particle data are less accurate if read more +# frequently than every 2 seconds + +# Maximum number of values of each variable to store and display: +data_buffer_length = 500 + +# Specify the particle sensor model (PPD42/SDS011/none) and temperature +# units (Celsuis/Fahrenheit) in Raspberry_Pi/sensor_functions.py + +# END OF USER-EDITABLE SETTINGS +######################################################### + +class GraphViewerI2C(GraphViewer): + def __init__(self, buffer_length, cycle_period, OD_delay_ms): + super(GraphViewerI2C, self).__init__(buffer_length) + # Set up the I2C and the MS430 board + (self.GPIO, self.I2C_bus) = SensorHardwareSetup() + if (PARTICLE_SENSOR != PARTICLE_SENSOR_OFF): + self.I2C_bus.write_i2c_block_data(i2c_7bit_address, PARTICLE_SENSOR_SELECT_REG, [PARTICLE_SENSOR]) + self.get_particle_data = True + if (PARTICLE_SENSOR == PARTICLE_SENSOR_PPD42): + self.names_units['Particle concentration'] = self.PPD_unit + else: + self.names_units['Particle concentration'] = self.SDS_unit + else: + self.get_particle_data = False + if ((cycle_period is None) and (OD_delay_ms is None)): + raise Exception("Either cycle_period or OD_delay_ms must be specified") + # Set read mode for the MS430: cycle or on-demand + if (cycle_period is not None): + # Use cycle mode with 3/100/300 second delay periods + self.I2C_bus.write_i2c_block_data(i2c_7bit_address, CYCLE_TIME_PERIOD_REG, [cycle_period]) + self.I2C_bus.write_byte(i2c_7bit_address, CYCLE_MODE_CMD) + self.cycle_mode = True + else: + # Use on-demand mode with any chosen time delay between measurements + self.I2C_bus.write_byte(i2c_7bit_address, ON_DEMAND_MEASURE_CMD) + self.delaying = False + self.OD_delay_ms = OD_delay_ms + self.cycle_mode = False + if USE_FAHRENHEIT: + self.useFahrenheitTemperatureUnits(True) + # select data variables from name list + self.indices = list(range(0,4)) + if (self.cycle_mode): + self.indices += list(range(4,8)) + self.band1_index = 11 + else: + self.band1_index = 7 + self.indices += list(range(8,18)) + if (self.get_particle_data): + self.indices += list(range(19,21)) + self.createDataBuffer() + self.initializeComboBoxes() + + + # Check for new I2C data + def getDataFunction(self): + if (self.cycle_mode): + if GPIO.event_detected(READY_pin): + self.readData() + return True + else: + # On-demand mode + if (self.delaying): + time_now_ms = (datetime.datetime.now().timestamp())*1000 + if ((time_now_ms-self.time_start_ms) >= self.OD_delay_ms): + # Trigger a new measurement + self.I2C_bus.write_byte(i2c_7bit_address, ON_DEMAND_MEASURE_CMD) + self.delaying = False + else: + if GPIO.event_detected(READY_pin): + self.readData() + self.delaying = True + self.time_start_ms = (datetime.datetime.now().timestamp())*1000 + return True + return False + + + def readData(self): + self.setWindowTitle('Indoor Environment Data') + air_data = get_air_data(self.I2C_bus) + air_quality_data = get_air_quality_data(self.I2C_bus) + light_data = get_light_data(self.I2C_bus) + sound_data = get_sound_data(self.I2C_bus) + particle_data = get_particle_data(self.I2C_bus, PARTICLE_SENSOR) + self.putDataInBuffer(air_data, air_quality_data, light_data, sound_data, particle_data) + + + def appendData(self, start_index, data): + for i,v in enumerate(data): + self.data_buffer[start_index+i].append(v) + return (start_index + len(data)) + + + # Store the data and also the time/date + def putDataInBuffer(self, air_data, air_quality_data, light_data, sound_data, particle_data): + i=0 + i = self.appendData(i, [air_data['T'], air_data['P_Pa'], air_data['H_pc'], air_data['G_ohm']]) + if (self.cycle_mode): + i = self.appendData(i, [air_quality_data['AQI'], air_quality_data['CO2e'], + air_quality_data['bVOC'], air_quality_data['AQI_accuracy']]) + i = self.appendData(i, [light_data['illum_lux'], light_data['white']]) + i = self.appendData(i, [sound_data['SPL_dBA']] + + [sound_data['SPL_bands_dB'][i] for i in range(0,self.sound_band_number)] + + [sound_data['peak_amp_mPa']]) + if (self.get_particle_data): + i = self.appendData(i, [particle_data['duty_cycle_pc'], particle_data['concentration']]) + self.time_data.append(datetime.datetime.now().timestamp()) + + + +if __name__ == '__main__': + theApp = QtGui.QApplication([]) + gv = GraphViewerI2C(data_buffer_length, cycle_period_code, on_demand_delay_ms) + gv.start() + theApp.exec_() diff --git a/Python/graph_viewer_serial.py b/Python/graph_viewer_serial.py new file mode 100644 index 0000000..556c45f --- /dev/null +++ b/Python/graph_viewer_serial.py @@ -0,0 +1,138 @@ +# graph_viewer_serial.py + +# NOTE on operating system/platform: + +# This example runs on multiple operating systems (including Windows +# and Linux) and uses serial over USB to get data from the MS430 sensor +# via a microcontroller board (e.g. Arduino, ESP8266, etc). + +# An alternate version, "graph_viewer_I2C.py" is provided for the +# Raspberry Pi, where the MS430 board is directly connected to the Pi +# using the GPIO/I2C pins. + +######################################################### + +# This example displays a graphical user interface with real-time +# updating graphs showing data from the MS430 sensor board. + +# Instructions (installation instructions are in the readme / User Guide) + +# 1) Program the microcontroller board with either "cycle_readout.ino" +# or "on_demand_readout.ino", with printDataAsColumns = true + +# 2) Connect the microcontroller USB cable to your PC and close any +# serial monitor software. + +# 3) Put the serial port name (system dependent) in the serial_port_name +# parameter below. + +# 4) Run this program with python3 + +# Copyright 2020 Metriful Ltd. +# Licensed under the MIT License - for further details see LICENSE.txt + +# For code examples, datasheet and user guide, visit +# https://github.com/metriful/sensor + +######################################################### +# USER-EDITABLE SETTINGS + +# Which particle sensor is connected - this is used to select the +# displayed measurement units (the microcontroller must also be +# programmed to use the sensor) +particle_sensor = "PPD42" # put here: "SDS011", "PPD42", or None + +# Choose which temperature label to use for display (NOTE: the actual +# measurement unit depends on the microcontroller program). +# Celsius is default. +use_fahrenheit = False + +# Specify the serial port name on which the microcontroller is connected +# e.g. on Windows this is usually a name like "COM1", on Linux it is +# usually a path like "/dev/ttyACM0" +# NOTE: close all other serial applications (e.g. Arduino Serial Monitor) +serial_port_name = "/dev/ttyACM0" + +# Maximum number of values of each variable to store and display: +data_buffer_length = 500 + +# END OF USER-EDITABLE SETTINGS +######################################################### + +import datetime +import serial +from GraphViewer import * + +class GraphViewerSerial(GraphViewer): + def __init__(self, buffer_length, serial_port): + super(GraphViewerSerial, self).__init__(buffer_length) + self.serial_port = serial.Serial( + port = serial_port, + baudrate = 9600, + parity=serial.PARITY_NONE, + stopbits=serial.STOPBITS_ONE, + bytesize=serial.EIGHTBITS, + timeout=0.02) + self.startup = True + self.initial_discard_lines = 2 + self.line_count = 0 + # There are 4 input cases resulting from the use of cycle_readout.ino and + # on_demand_readout.ino, with 15, 18, 19 and 22 data columns. These lists + # define which variables are present in each case: + self.col_indices = [] + self.col_indices.append(list(range(0,4)) + list(range(8,19))) # no air quality or particle data + self.col_indices.append(list(range(0,4)) + list(range(8,22))) # no air quality data + self.col_indices.append(list(range(0,19))) # no particle data + self.col_indices.append(list(range(0,22))) # all data + self.sound_band1_index = [7, 7, 11, 11] # the index of 'Band 1 SPL' in the four lists + + + # Allow for initial corrupted serial data, incomplete lines or printed + # messages by discarding lines until a correct number of columns appears + def serialStartupCompleted(self, data_strings): + if (self.startup): + self.line_count+=1 + if (self.line_count >= self.initial_discard_lines): + nc = len(data_strings) + for i in range(0,len(self.col_indices)): + if (nc == len(self.col_indices[i])): + self.startup = False + self.indices = self.col_indices[i] + self.band1_index = self.sound_band1_index[i] + self.createDataBuffer() + self.initializeComboBoxes() + self.setWindowTitle('Indoor Environment Data') + if (self.startup): + raise Exception('Unexpected number of data columns') + return (not self.startup) + + + # Check for new serial data + def getDataFunction(self): + response = self.serial_port.readline() + if (not ((response is None) or (len(response) == 0))): + # A complete line was received: convert it to string and split at spaces: + try: + data_strings = response.decode('utf-8').split() + if (self.serialStartupCompleted(data_strings)): + # Check number of values received; if incorrect, ignore the data + if (len(data_strings) == len(self.indices)): + # Convert strings to numbers and store the data + float_data = [float(i) for i in data_strings] + for i in range(0, len(self.indices)): + self.data_buffer[i].append(float_data[i]) + self.time_data.append(datetime.datetime.now().timestamp()) + return True + except: + pass + return False # no new data + + + +if __name__ == '__main__': + theApp = QtGui.QApplication([]) + gv = GraphViewerSerial(data_buffer_length, serial_port_name) + gv.setParticleUnits(particle_sensor) + gv.useFahrenheitTemperatureUnits(use_fahrenheit) + gv.start() + theApp.exec_() diff --git a/README.md b/README.md index 3a18017..a890edf 100644 --- a/README.md +++ b/README.md @@ -1,29 +1,46 @@ # Metriful MS430: Environment Sensor - + -![](sensor_pcb.png) +

-The Metriful MS430 is a low power, high accuracy, smart sensor cluster for indoor environment monitoring. It is operated via a simple I2C-compatible interface and measures eighteen variables including air quality, light and sound levels. +[**Buy the hardware now - REDUCED PRICES.**](https://www.metriful.com/shop) -This repository provides instructions and software examples for running the MS430 module with Raspberry Pi, Arduino and NodeMCU host systems. These are also useful starting points for development with other hosts. +The Metriful MS430 is a low power, high accuracy, smart sensor cluster for indoor environment monitoring. It operates via a simple I2C-compatible interface and measures eighteen variables including air quality, light and sound levels. -The code examples demonstrate various ways of using the module. This includes basic control/readout, saving data to files and IoT cloud storage. Detailed comments explain each part of the programs. +This repository provides instructions and software examples for running the MS430 with **Raspberry Pi, Arduino, ESP8266** and **ESP32** host systems. -The [**User Guide**](User_guide.pdf) covers hardware setup in more detail, gives an overview of the code examples and explains more about what the device measures. +Code examples include interfaces to **IFTTT, Home Assistant** and **IoT cloud platforms**, as well as **real-time graph software, web servers** and **interrupt detection**. + +This readme provides a quick-start guide to running the examples on various host systems. + +The [**User Guide**](User_guide.pdf) gives an overview of the code examples and explains more about what the device measures. The [**Datasheet**](Datasheet.pdf) is a detailed specification of the electrical and communications interfaces of the MS430. -You can also [visit the product homepage.](https://www.sensor.metriful.com) ### Contents -**[Handling precautions](#handling-precautions)**
-**[Use with Arduino](#use-with-arduino)**
-**[Use with Raspberry Pi](#use-with-raspberry-pi)**
-**[Use with NodeMCU](#use-with-nodemcu)**
-**[IoT cloud setup](#iot-cloud-setup)**
-**[License](#license)**
-**[Disclaimer](#disclaimer)**
+ +#### Hardware setup +- **[Handling precautions](#handling-precautions)**
+- **[Arduino](#arduino)**
+- **[Raspberry Pi](#raspberry-pi)**
+- **[ESP8266](#esp8266)**
+- **[ESP32](#esp32)**
+- **[Particle sensor](#connecting-and-enabling-a-particle-sensor)**
+#### Code example setup +- **[IoT cloud setup](#iot-cloud-setup)**
+- **[Graph web server](#graph-web-server)**
+- **[IFTTT example](#ifttt-example)**
+- **[Home Assistant example](#home-assistant-example)**
+- **[Graph viewer software](#graph-viewer-software)**
+- **[Fahrenheit temperatures](#fahrenheit-temperatures)**
+#### Other information +- **[Case and enclosure ideas](#case-enclosure-and-mounting-ideas)**
+- **[Troubleshooting](#troubleshooting)**
+- **[Changelog](#changelog)**
+- **[License](#license)**
+- **[Disclaimer](#disclaimer)**
## Handling precautions @@ -36,7 +53,7 @@ The MS430 can be damaged by static electricity discharges. Minimize this risk by - Keep away from metal objects which could cause shorted connections -## Use with Arduino +## Arduino All code examples in the Arduino folder run on the Arduino Nano 33 IoT and Arduino MKR WiFi 1010, while those not requiring a network connection also run on Arduino Uno and Nano. @@ -46,17 +63,13 @@ Note that steps 1 and 2 are already complete if you have used Arduino before on 1. Download and install the [Arduino IDE](https://www.arduino.cc/en/main/software) on your computer. 2. Start the Arduino IDE for the first time. This will create a folder named **Arduino/libraries** in your user area (e.g. in the Documents folder on Windows computers). -3. Download and unzip the [Sensor repository](https://www.github.com/metriful/sensor). From this, copy the folder **Metriful_Sensor** (located within the Arduino folder) into the Arduino libraries folder in your user area. +3. Download and unzip the [Sensor repository](https://www.github.com/metriful/sensor). From this, copy the folder **Metriful_Sensor** (located within the Arduino folder) into the Arduino libraries folder in your user area. Delete any previous version you may have. If using **Arduino Nano 33 IoT** or **Arduino MKR WiFi 1010**, also do the following: -4. Download and install the SAMD board package: in the Arduino IDE menu, go to Tools > Board > Boards Manager (top of list). Search for and install **Arduino SAMD Boards (32-bits ARM Cortex-M0+)** +4. Download and install the SAMD board package: in the Arduino IDE menu, go to Tools > Board > Boards Manager. Search for and install **Arduino SAMD Boards (32-bits ARM Cortex-M0+)** 5. Install the WiFiNINA package: in the Arduino IDE menu, go to Tools > Manage Libraries. Search for and install **WiFiNINA**. -If using **Arduino Nano 33 IoT**, also do the following: - -6. Download the [SlowSoftWire library](https://github.com/felias-fogg/SlowSoftWire). Unzip it and move it into the Arduino libraries folder in your user area. -7. Download the [SlowSoftI2CMaster library](https://github.com/felias-fogg/SlowSoftI2CMaster). Unzip it and move it into the Arduino libraries folder in your user area. ### Wiring for Arduino @@ -66,27 +79,16 @@ If using **Arduino Nano 33 IoT**, also do the following: | VDD | - | - | 3.3V | VCC | | GND | GND | GND | GND | GND | | VPU | IOREF | 5V | 3.3V | VCC | -| SCL | SCL | A5 | A3 | SCL | -| SDA | SDA | A4 | A0 | SDA | +| SCL | SCL | A5 | A5 | SCL | +| SDA | SDA | A4 | A4 | SDA | | LIT | D4 | D4 | A1 | D4 | | SIT | D7 | D7 | A2 | D5 | | RDY | D2 | D2 | D11 | D0 | -* MS430 pin VDD is not used with 5 V systems and VIN is not used with 3.3 V systems. - -* If using the PPD42 particle sensor, note that its pin numbering runs from right to left, and connect: - * Arduino 5V pin to PPD42 pin 3 - * Arduino GND pin to PPD42 pin 1 - * PPD42 pin 4 to MS430 pin PRT - -* If using the SDS011 particle sensor, connect: - * Arduino 5V pin to SDS011 pin "5V" - * Arduino GND pin to SDS011 pin "GND" - * SDS011 pin "25um" to MS430 pin PRT - -* To obtain 5V output on the Nano 33 IoT: the solder bridge labeled "VUSB" on the underside of the Arduino must be soldered closed, then use the VUSB pin. -* To obtain a third 5V output on the Uno: use pin number 2 on the 6-pin ICSP header -* With all hosts, VPU can be supplied from any host digital output pin set to a high voltage state. This can be useful for hosts without enough power output pins. +* Arduino Nano 33 IoT used a software I2C library in previous code versions but now uses the hardware I2C pins. +* MS430 pin VDD is not used with the 5V systems (Uno and Nano) and VIN is not used with the 3.3V systems (Nano 33 IoT and MKR WiFi 1010). +* LIT/SIT connections are optional and only required if you are using light/sound interrupts. +* VPU can be supplied from any spare host digital output pin set to a high voltage state. This can be useful for hosts without enough power output pins. ### To run an example program on Arduino @@ -99,26 +101,32 @@ If using **Arduino Nano 33 IoT**, also do the following: 7. Go to Tools > Serial Monitor to view the output (ensure **9600 baud** is selected in the monitor). -## Use with Raspberry Pi +## Raspberry Pi -The example programs for Raspberry Pi use Python 3 and are provided in the **Raspberry_Pi** folder. +The example programs for Raspberry Pi use Python 3 and are provided in the **Raspberry_Pi** folder, within the **Python** folder. ### First time Raspberry Pi setup -This setup assumes that you are using Raspbian Buster, which comes with all required Python packages already installed (the packages used are: **RPi.GPIO**, **smbus** and **requests**). +This setup assumes that you are using Raspberry Pi OS. The standard OS version comes with all required Python packages already installed (except packages for the [Graph viewer software](#graph-viewer-software)). The **Lite** (command line) OS version requires package installation, as listed below. + +1. If you are using Raspberry Pi OS Lite (or get missing package errors), run the following commands to install the packages needed: + ``` + sudo apt-get update + sudo apt install i2c-tools python3-smbus python3-rpi.gpio + ``` -1. Enable I2C on your Raspberry Pi using the raspi-config utility by opening a terminal and running: +2. Enable I2C on your Raspberry Pi using the raspi-config utility by opening a terminal and running: ``` sudo raspi-config ``` Select **5 Interfacing Options** and then **P5 I2C**. A prompt will appear asking "Would you like the ARM I2C interface to be enabled?": select **Yes** and then exit the utility. -2. Shut-down the Raspberry Pi and disconnect the power. Wire up the hardware as described in the following section. Double-check the wiring then restart the Pi. -3. Check that the Metriful MS430 board can be detected by running: +3. Shut-down the Raspberry Pi and disconnect the power. Wire up the hardware as described in the following section. Double-check the wiring then restart the Pi. +4. Check that the Metriful MS430 board can be detected by running: ``` sudo i2cdetect -y 1 ``` This should report the 7-bit address number **71**. -4. Download and unzip this [Sensor repository](https://www.github.com/metriful/sensor). The Raspberry Pi examples are found within the folder named **Raspberry_Pi**. +5. Download and unzip this [Sensor repository](https://www.github.com/metriful/sensor). The Raspberry Pi examples are found within the folder named **Raspberry_Pi**, inside the **Python** folder. ### Wiring for Raspberry Pi @@ -134,17 +142,9 @@ This setup assumes that you are using Raspbian Buster, which comes with all requ | SIT | 8 | GPIO 14 | | RDY | 11 | GPIO 17 | +* Raspberry Pi pin numbering is [shown here](https://www.raspberrypi.org/documentation/usage/gpio/README.md). * MS430 pin VIN is not used. - -* If using the PPD42 particle sensor, note that its pin numbering runs from right to left, and connect: - * Pi pin 2 (5V) to PPD42 pin 3 - * Pi pin 9 (Ground) to PPD42 pin 1 - * PPD42 pin 4 to MS430 pin PRT - -* If using the SDS011 particle sensor, connect: - * Pi pin 2 (5V) to SDS011 pin "5V" - * Pi pin 9 (Ground) to SDS011 pin "GND" - * SDS011 pin "25um" to MS430 pin PRT +* LIT/SIT connections are optional and only required if you are using light/sound interrupts. ### To run an example Raspberry Pi program: @@ -156,26 +156,31 @@ This setup assumes that you are using Raspbian Buster, which comes with all requ ``` -## Use with NodeMCU +## ESP8266 -All code examples in the Arduino folder run on the NodeMCU (ESP8266) and are programmed using the Arduino IDE. +All code examples in the Arduino folder have been tested on NodeMCU and Wemos D1 Mini, and are programmed using the Arduino IDE. -### First time NodeMCU setup +Other ESP8266 development boards should also work but may use a different pinout and may therefore require edits to the host_pin_definitions.h file. -Note that steps 1 and 2 are already complete if you have used Arduino before on your computer. +Note that ESP8266 does not have a hardware I2C module, so any of the normal GPIO pins can be used for the I2C bus. + +### First time ESP8266 setup + +Note that steps 1 and 2 are already complete if you have used Arduino IDE before on your computer. 1. Download and install the [Arduino IDE](https://www.arduino.cc/en/main/software) on your computer. 2. Start the Arduino IDE for the first time. This will create a folder named **Arduino/libraries** in your user area (e.g. in the Documents folder on Windows computers). -3. Download and unzip the [Sensor repository](https://www.github.com/metriful/sensor). From this, copy the folder **Metriful_Sensor** (located within the Arduino folder) into the Arduino libraries folder in your user area. +3. Download and unzip the [Sensor repository](https://www.github.com/metriful/sensor). From this, copy the folder **Metriful_Sensor** (located within the Arduino folder) into the Arduino libraries folder in your user area. Remove any previous version you may have. 4. In the Arduino IDE menu, go to File > Preferences. In the box labeled "Additional Boards Manager URLs", paste the following link: ``` https://arduino.esp8266.com/stable/package_esp8266com_index.json ``` + If there is already text in the box, place a comma and paste the new text after it. 5. In the Arduino IDE menu, go to Tools > Board > Boards Manager. Search for and install the package named **esp8266 by ESP8266 Community**. -### Wiring for NodeMCU +### Wiring for ESP8266 -| MS430 pin | NodeMCU | +| MS430 pin | ESP8266 | |:---------------:|:--------------------:| | VIN | - | | VDD | 3V3 | @@ -187,32 +192,125 @@ Note that steps 1 and 2 are already complete if you have used Arduino before on | SIT | D5 (GPIO 14) | | RDY | D6 (GPIO 12) | +* The **D** pin numbers refer to the usual pin labels printed on the development board. The GPIO numbers are the actual ESP8266 I/O identities. * MS430 pin VIN is not used. - -* If using the PPD42 particle sensor, note that its pin numbering runs from right to left, and connect: - * NodeMCU Vin (5V) pin to PPD42 pin 3 - * NodeMCU GND pin to PPD42 pin 1 - * PPD42 pin 4 to MS430 pin PRT +* LIT/SIT connections are optional and only required if you are using light/sound interrupts. +* VPU can be supplied from any spare host digital output pin set to a high voltage state. This can be useful for hosts without enough power output pins. -* If using the SDS011 particle sensor, connect: - * NodeMCU Vin (5V) pin to SDS011 pin "5V" - * NodeMCU GND pin to SDS011 pin "GND" - * SDS011 pin "25um" to MS430 pin PRT +### To run an example program on ESP8266 + +1. Wire the MS430 board to the ESP8266 as described in the previous section. +2. Plug the ESP8266 board into your computer via USB. +3. Start the Arduino IDE and open the chosen example code file, e.g. **simple_read_sound.ino** +4. In the Arduino IDE menu, go to Tools > Port and select the port with the ESP8266 attached. +5. Go to Tools > Board and select your development board, or "Generic ESP8266 Module", or experiment until you find one that works. +6. Select Sketch > Upload and wait for upload confirmation. +7. Go to Tools > Serial Monitor to view the output (ensure **9600 baud** is selected in the monitor). -### To run an example program on NodeMCU -1. Wire the MS430 board to the NodeMCU as described in the previous section. -2. Plug the NodeMCU into your computer via USB. +## ESP32 + +All code examples in the Arduino folder have been tested on DOIT DevKit v1, and are programmed using the Arduino IDE. + +Other ESP32 development boards should also work but may use a different pinout and may therefore require edits to the host_pin_definitions.h file. + +### First time ESP32 setup + +Note that steps 1 and 2 are already complete if you have used Arduino IDE before on your computer. + +1. Download and install the [Arduino IDE](https://www.arduino.cc/en/main/software) on your computer. +2. Start the Arduino IDE for the first time. This will create a folder named **Arduino/libraries** in your user area (e.g. in the Documents folder on Windows computers). +3. Download and unzip the [Sensor repository](https://www.github.com/metriful/sensor). From this, copy the folder **Metriful_Sensor** (located within the Arduino folder) into the Arduino libraries folder in your user area. Remove any previous version you may have. +4. In the Arduino IDE menu, go to File > Preferences. In the box labeled "Additional Boards Manager URLs", paste the following link: + ``` + https://dl.espressif.com/dl/package_esp32_index.json + ``` + If there is already text in the box, place a comma and paste the new text after it. +5. In the Arduino IDE menu, go to Tools > Board > Boards Manager. Search for and install the package named **esp32 by Espressif Systems**. + +### Wiring for ESP32 + +| MS430 pin | ESP32 | +|:---------------:|:-------------:| +| VIN | - | +| VDD | 3V3 | +| GND | GND | +| VPU | 3V3 | +| SCL | D22 | +| SDA | D21 | +| LIT | D18 | +| SIT | D19 | +| RDY | D23 | + +* MS430 pin VIN is not used. +* LIT/SIT connections are optional and only required if you are using light/sound interrupts. +* VPU can be supplied from any spare host digital output pin set to a high voltage state. This can be useful for hosts without enough power output pins. + +### To run an example program on ESP32 + +1. Wire the MS430 board to the ESP32 as described in the previous section. +2. Plug the ESP32 board into your computer via USB. 3. Start the Arduino IDE and open the chosen example code file, e.g. **simple_read_sound.ino** -4. In the Arduino IDE menu, go to Tools > Port and select the port with the NodeMCU attached. -5. Go to Tools > Board and select "Generic ESP8266 Module" +4. In the Arduino IDE menu, go to Tools > Port and select the port with the ESP32 attached. +5. Go to Tools > Board and select your development board, or experiment until you find one that works. 6. Select Sketch > Upload and wait for upload confirmation. 7. Go to Tools > Serial Monitor to view the output (ensure **9600 baud** is selected in the monitor). +## Connecting and enabling a particle sensor + +The MS430 is compatible with two widely-available air particle sensors: the Shinyei PPD42 and the Nova SDS011. The particle sensor is optional and only a single sensor can be connected at any time. + +Both sensor models require three wire connections: **5V, GND, PRT** and a small edit to the example code. + +| | PPD42 pin number | SDS011 pin label | +|:-----:|:----------------:|:----------------:| +| 5V | 3 | 5V | +| GND | 1 | GND | +| PRT | 4 | 25um | + +* PRT is on the MS430 board +* 5V and GND are supplied by the host system, or from a separate power supply. If using a separate power supply, the power supply GND must be connected to host GND. +* The SDS011 pin labeled "25um" is the data output for 0.3 - 10 µm particles. + +5V is available from the hosts when they are powered from a USB power supply: + +| Host device | 5V pin name/number | +|:---------------------:|:------------------:| +| Raspberry Pi | Pin 2 | +| Arduino Uno | 5V or IOREF (*) | +| Arduino Nano | 5V | +| Arduino Nano 33 IoT | VUSB (**) | +| Arduino MKR WiFi 1010 | 5V | +| ESP8266 | 5V or Vin or VU | +| ESP32 | VIN | + +(*) To obtain a third 5V output from the **Uno**: use pin number 2 on the 6-pin ICSP header + +(**) To obtain 5V output on the **Nano 33 IoT**: the solder bridge labeled "VUSB" on the underside of the Arduino must be soldered closed, then use the VUSB pin. + +* **Raspberry Pi** pin 9 can be used as an extra GND connection. +* Pin labels for ESP8266 and ESP32 may be different on some boards + +### Enable the particle sensor in the code examples + +* **Arduino**: in Metriful_sensor.h on the line: + ``` + #define PARTICLE_SENSOR PARTICLE_SENSOR_OFF + ``` + change ```PARTICLE_SENSOR_OFF``` to be either ```PARTICLE_SENSOR_PPD42``` or ```PARTICLE_SENSOR_SDS011``` + +* **Raspberry Pi**: in /sensor_package/sensor_functions.py on the line: + ``` + PARTICLE_SENSOR = PARTICLE_SENSOR_OFF + ``` + change ```PARTICLE_SENSOR_OFF``` to be either ```PARTICLE_SENSOR_PPD42``` or ```PARTICLE_SENSOR_SDS011``` + ## IoT cloud setup -The **IoT_cloud_logging** code example shows how to send data to an Internet of Things (IoT) cloud storage account. It can be used with Arduino Nano 33 IoT, MKR WiFi 1010, NodeMCU and Raspberry Pi host systems. +

+ +The **IoT_cloud_logging** code example shows how to send data to an Internet of Things (IoT) cloud storage account. It can be used with Arduino Nano 33 IoT, MKR WiFi 1010, ESP8266, ESP32 and Raspberry Pi host systems. IoT cloud hosting is available from many providers around the world. Some offer free accounts (with storage or access limits) for non-commercial purposes. The IoT cloud logging example gives a choice of two providers, [Tago.io](https://tago.io) and [Thingspeak.com](https://thingspeak.com). The following sections give a brief overview of how to set up free accounts with these providers: for further information see the relevant provider website. @@ -267,10 +365,256 @@ The steps required to set up Thingspeak for the IoT cloud logging code example a 9. Go to the **API Keys** tab and copy the Write API Key (a sequence of letters and numbers). 10. Paste the API key into the Metriful IoT cloud logging example code as the variable **THINGSPEAK_API_KEY_STRING** and set the variable **useTagoCloud** as **false**. + +## Graph web server + +

+ +The **graph_web_server** example produces a web page with a set of graphs which display data stored on the host. The page can be accessed from other devices on your home network using their internet browsers. This is a good local alternative to using a cloud IoT service. + +When opened in a browser, the web page will attempt to run the [Plotly](https://plotly.com/javascript/) javascript library which is used to create the graphs. If there is no internet access, the browser may be able to use a cached copy if it previously accessed the page with internet access. Otherwise, the graphs will not load and you will only see text data. + +A button on the web page allows you to download the stored data as a CSV (comma separated value) text file, which can be opened with many spreadsheet applications. + + +## IFTTT example + +The IFTTT example shows how to send data to [IFTTT.com](https://ifttt.com), which will trigger an email alert. It is compatible with IFTTT's free account. + +The host device monitors some of the environment data and sends the alert when the values go outside your chosen "safe" range. The emails you receive will look like: +``` +The temperature is too high. +The measurement was 25.5 °C on October 10, 2020 at 05.54PM. +Turn on the fan. +``` +You can customize all parts of this message. + +### Setup + +1. Go to [IFTTT.com](https://ifttt.com) and sign up for a free account. +2. Click **Create** to start a new applet. +3. Click **If This (Add)**, search for service **Webhooks** and click **Receive a web request**, then **Connect**. +4. Enter an event name, e.g. **alert_event**, then click **Create trigger**. +5. Click **Then That (Add)** and search for **email**. +6. Choose either **Email** to get a new email for every alert, or choose **Email Digest** to get ONE email per day/week which contains all alerts. Then click **Connect**. +7. Enter and validate your email address when prompted. +8. Enter a Title/Subject for the emails, e.g. Environment data alert. +9. Delete all text from the Body/Message text box and paste in the following: + ``` + {{Value1}}

+ {{Value2}} on {{OccurredAt}}

+ {{Value3}} + ``` +10. Click **Create action**, then **Continue**, then **Finish** to complete the applet setup. +11. Go to your IFTTT **Home** page and click on the applet you just created. +12. Click the triangle Webhooks icon, then **Documentation** at top right. +13. Copy the key (letter number sequence) that is displayed. +14. Edit the example code file **IFTTT**, pasting in this key and the event name (from step 4). +15. Run the program. + + +## Home Assistant example + +

+ +This code example shows how to send sensor data to an installation of [Home Assistant](https://www.home-assistant.io) on your home network. These instructions cover setup, creating an automation using your data, and removing your data. + +Note: this was tested on Home Assistant OS v0.117.2 + +### Setup + +1. Edit the program file "Home_Assistant": + * Choose a sensor name and insert the IP address of the computer running Home Assistant. + * Generate a "long lived access token": + * On the Home Assistant web interface, click your username at the bottom left corner to go to your profile page. + * At the bottom of the profile page, under **Long-Lived Access Tokens**, click **CREATE TOKEN** and copy the very long sequence of numbers/letters. + * Paste the token into the program file. +2. Run the program and wait a few minutes so that the first data have been sent. +3. Check that data are being received by Home Assistant: + * Go to the **Configuration** page of Home Assistant + * Click **Entities** in the component list + * There should be a series of entries with names like SENSOR_NAME.temperature, SENSOR_NAME.air_quality_index, etc. Where SENSOR_NAME is the name you chose in the program file. + + +### Display/view the data in Home Assistant + +* Add display cards to the **Overview** page dashboard - these can be text labels, gauges, graphs etc. + 1. Click the 3 dots at the top right corner and choose **Edit Dashboard** + 2. Add a card with the **+** symbol + 3. Choose **Entities**, **Gauge**, or **History graph** + 4. Add the variables using the entities dropdown list + +* You can also view data graphs on the **History** page. + +* If Home Assistant is rebooted, cards will show **Entity not available** (and the sensor will disappear from the entity list) until a new value is received. The data history will also reappear when this happens. + + +### Add automations using the sensor data + +This simple example shows how to generate a notification when the temperature goes above 22 °C. Much more advanced triggers and actions can be configured. + +1. On the Configuration page, go to: Automations and click the **+** to create a new Automation +2. Click **skip** on the "Create a new automation" window +3. On the "New Automation" page, click the 3 dots at the top right corner and choose **Edit as YAML** +4. Delete everything in the text box and replace with: + ``` + trigger: + - platform: numeric_state + entity_id: kitchen3.temperature + above: '22' + action: + - service: persistent_notification.create + data: + title: Kitchen temperature too high + message: 'The temperature is {{ states.kitchen3.temperature.state_with_unit }}' + ``` + Replace kitchen3 with your SENSOR_NAME chosen name and the other fields with your own values. +5. Click the save icon to finish. +6. Optional: click **execute** to test it (the action is forced to run without the trigger condition). +7. Optional: edit it further (e.g. name, description) via the UI on the Configuration > Automations page. + +### Removing entities and data from Home Assistant + +* To hide data from view on the Overview page dashboard, simply edit or delete the cards. +* To remove an entity and its data history from the system, follow this procedure: + +**Initial one-time setup** + +1. Install the Home Assistant SQLite add-on (via the Supervisor page > Add-on store > install "SQLite Web"). +2. On the Supervisor page: click the SQLite Web icon, go to the Configuration tab and change "read_only" to **false**, then save. + +**Entity removal** + +1. Go to the **SQLite Web** page in the Home Assistant menu. +2. Click **events**, then open the **Query** tab. +3. In the text box put: + ``` + delete from states where entity_id = "kitchen3.temperature"; + ``` + where **kitchen3.temperature** is the entity to remove. Or remove all entities with name beginning "kitchen3." using the % wildcard: + ``` + delete from states where entity_id like "kitchen3.%"; + ``` + (replace kitchen3 with your SENSOR_NAME name). +4. Click the **Execute** button. +5. In the text box put: + ``` + vacuum; + ``` +6. Click the **Execute** button. + + +## Graph viewer software + +

+ +The **graph viewer** uses a graphical interface to show environment data updating in real-time. It uses Python and runs on all major operating systems. + +Note that the graph viewer does not run on Raspberry Pi OS **Lite** because there is no desktop interface. + +There are two versions, to be used with Raspberry Pi or Arduino, provided in the Python folder. + +1. **graph_viewer_I2C.py** + + Runs only on Raspberry Pi and communicates directly with the MS430 board which is connected to the Pi GPIO pins. + +2. **graph_viewer_serial.py** + + Runs on multiple operating systems and uses serial over USB to get data from the MS430 sensor via a microcontroller board (e.g. Arduino, ESP8266, etc). + +### Package installation commands + +This assumes you have already installed Python3 and Pip3. + +**Windows** +``` +pip3 install pyqtgraph pyqt5 pyserial +``` + +**Linux, including Raspberry Pi** +``` +pip3 install pyqtgraph pyserial +sudo apt install python3-pyqt5 +``` + +**Extra steps for some Linux versions e.g. Ubuntu** +* Install pip3 by enabling the "Universe" software repository, then ```sudo apt install python3-pip``` +* Add the user to the **dialout** group for permission to use the serial port. + +### Running graph_viewer_I2C.py (Raspberry Pi) + +1. Follow the usual hardware setup for Raspberry Pi and check that the MS430 board is recognized by the Pi. +2. Run the program with: ```python3 graph_viewer_I2C.py``` + +### Running graph_viewer_serial.py (all operating systems) + +1. Follow the usual hardware setup for your microcontroller board. +2. Program the microcontroller board with either **cycle_readout.ino** or **on_demand_readout.ino**, with parameter ```printDataAsColumns = true``` +3. Connect the microcontroller USB cable to your computer and close all serial monitor software. +4. Edit the Python code file so that the particle sensor and temperature unit settings match those used on the microcontroller. +5. Put the serial port name (system dependent, e.g. COM1) in the **serial_port_name** parameter in the code file. +6. Run the program with: ```python3 graph_viewer_serial.py``` + + +## Fahrenheit temperatures + +The temperature is always measured by the MS430 as a Celsius value. The software output values (printed to screen/file, or sent over the network, etc) are by default in Celsius but will be converted to Fahrenheit if the following changes are made: + +* On Raspberry Pi + + In file **sensor_functions.py** set the following: + ``` + USE_FAHRENHEIT = True + ``` + +* On Arduino + + In file **Metriful_sensor.h** set the following: + ``` + #define USE_FAHRENHEIT + ``` + + +## Case, enclosure and mounting ideas + +The simplest arrangement is to leave the sensor board open to the air. Use bolts, PCB spacers/standoffs, adhesive foam pads, or hot glue to fix the board to a stand (e.g. a 6x4" picture frame). Wires can be hidden around the back to make it neater. + +### Enclosing the board in a box or case + +You can use a box or case with small holes for air and sound entry. Light entry can be through a transparent or open window hole. The following tips may help: + +* Fix the board as close as possible to the box wall but without having the sensors touching the wall. + +* Minimize the total air volume inside the box, so it exchanges quickly. + +* Provide some holes for air and sound entry – these do not have definite requirements. + +* If you use a particle sensor, its entry and exit ports need to be unobstructed and open to the surrounding air. So mount it against the box wall, with its ports lined up against holes in the box. + +* The light sensor requires a minimum hole size to have the correct exposure, with the diameter depending on sensor distance from the hole. For example, having the sensor 2 mm from the casing edge requires a hole of about 6 mm diameter. More of these values are given on page 18 of this document: +[https://www.vishay.com/docs/84367/designingveml6030.pdf](https://www.vishay.com/docs/84367/designingveml6030.pdf) + +* The host releases heat which can affect the temperature reading if they are both together in the same box. +If you get a small temperature offset, you can measure it with an accurate thermometer and subtract it in the software - this is what the sensor manufacturer recommends. + +* The SDS011 particle sensor has a powered fan which will affect the MS430 sound measurements. Reduce this by situating the SDS011 further away from the MS430, or with insulating material. Alternatively, you can "gate" power to the SDS011 to turn it on and off - the **particle_sensor_toggle** example and the User Guide give more information on this. + + +## Troubleshooting + +Having problems with the hardware or software? Please check [TROUBLESHOOTING](TROUBLESHOOTING.md) before opening a GitHub issue. + + +## Changelog + +Changes, fixes and additions in each software release version are listed in the [CHANGELOG](CHANGELOG.md) + + ## License See the [LICENSE](LICENSE.txt) file for software license rights and limitations (MIT). + ## Disclaimer This document and repository, and the products described herein, are subject to specific disclaimers set forth in the [DISCLAIMER](DISCLAIMER.txt) file. diff --git a/Raspberry_Pi/simple_read_T_H.py b/Raspberry_Pi/simple_read_T_H.py deleted file mode 100644 index aabbc50..0000000 --- a/Raspberry_Pi/simple_read_T_H.py +++ /dev/null @@ -1,100 +0,0 @@ -# simple_read_T_H.py - -# Example code for using the Metriful MS430 to measure humidity and -# temperature. -# This example is designed to run with Python 3 on a Raspberry Pi. - -# Measures and displays the humidity and temperature, demonstrating -# the decoding of the signed temperature value. The data are also -# read out and displayed a second time, using a "data category read" -# of all Air measurement data. - -# Copyright 2020 Metriful Ltd. -# Licensed under the MIT License - for further details see LICENSE.txt - -# For code examples, datasheet and user guide, visit -# https://github.com/metriful/sensor - -from sensor_functions import * - -# Set up the GPIO and I2C communications bus -(GPIO, I2C_bus) = SensorHardwareSetup() - -# Initiate an on-demand data measurement -I2C_bus.write_byte(i2c_7bit_address, ON_DEMAND_MEASURE_CMD) - -# Now wait for the ready signal (falling edge) before continuing -while (not GPIO.event_detected(READY_pin)): - sleep(0.05) - -# We now know that newly measured data are ready to read. - -######################################################### - -# HUMIDITY - -# Read the humidity value from the MS430 -raw_data = I2C_bus.read_i2c_block_data(i2c_7bit_address, H_READ, H_BYTES) - -# Decode the humidity: the first byte is the integer part, the -# second byte is the fractional part to one decimal place. -humidity_integer = raw_data[0] -humidity_fraction = raw_data[1] - -# Print it: the units are percentage relative humidity. -print("Humidity = " + str(humidity_integer) + "." + str(humidity_fraction) + " %") - -######################################################### - -# TEMPERATURE - -# Read the temperature value from the MS430 -raw_data = I2C_bus.read_i2c_block_data(i2c_7bit_address, T_READ, T_BYTES) - -# Decode and print the temperature: - -# Find the positive magnitude of the integer part of the temperature by -# doing a bitwise AND of the first byte with TEMPERATURE_VALUE_MASK -temperature_positive_integer = raw_data[0] & TEMPERATURE_VALUE_MASK - -# The second byte is the fractional part to one decimal place -temperature_fraction = raw_data[1] - -# If the most-significant bit is set, the temperature is negative (below 0 C) -if ((raw_data[0] & TEMPERATURE_SIGN_MASK) == 0): - # Bit not set: temperature is positive - sign_string = "+" -else: - # Bit is set: temperature is negative - sign_string = "-" - -# Print the temperature: the units are degrees Celsius. -print("Temperature = " + sign_string + str(temperature_positive_integer) + "." - + str(temperature_fraction) + " C") - -######################################################### - -# AIR DATA - -# Rather than reading individual data values as shown above, whole -# categories of data can be read in one I2C transaction - -# Read all Air data in one transaction -raw_data = I2C_bus.read_i2c_block_data(i2c_7bit_address, AIR_DATA_READ, AIR_DATA_BYTES) - -# Use the example function to decode the values and return then as a Python dictionary -air_data = extractAirData(raw_data) - -# Print the values obtained -print("Temperature = {:.1f} C".format(air_data['T_C'])) -print("Pressure = " + str(air_data['P_Pa']) + " Pa") -print("Humidity = {:.1f} %".format(air_data['H_pc'])) -print("Gas sensor resistance = " + str(air_data['G_ohm']) + " ohm") - -# Or just use the following function for printing: -writeAirData(None, air_data, False) - -######################################################### - -GPIO.cleanup() - diff --git a/TROUBLESHOOTING.md b/TROUBLESHOOTING.md new file mode 100644 index 0000000..0204a65 --- /dev/null +++ b/TROUBLESHOOTING.md @@ -0,0 +1,92 @@ +# Troubleshooting + + + +This file lists solutions for some common problems. Please check it before opening a GitHub issue. + +### Contents +**[Standard checks](#standard-checks)**
+**[ESP8266 problems](#esp8266-problems)**
+**[Arduino Nano 33 IoT problems](#arduino-nano-33-iot-problems)**
+**[WiFi connection problems](#wifi-connection-problems)**
+**[Particle sensor problems](#particle-sensor-problems)**
+**[Slow air quality accuracy change](#slow-air-quality-accuracy-change)**
+**[Temperature measurement is too high](#temperature-measurement-is-too-high)**
+ + +## Standard checks + +Most problems can be resolved by following these steps: + +1. Check that you can run a simple program on your host system **without the MS430 board** e.g. the blink demo on Arduino. +2. Ensure you have the most recent sensor code and instructions from our [GitHub repository](https://www.github.com/metriful/sensor) +3. Remove all wire connections and re-wire carefully. +4. If you have edited the code, go back to the original version and ensure it still works. + + +## ESP8266 problems + +There are many different development boards which use the ESP8266 module. Some may have different pin labels, or have different pin positions, so you may need to research your board or (rarely) edit the host_pin_definitions.h file. + +The ESP8266 does not have a hardware I2C module, so any of the normal GPIO pins can be used for the I2C bus. + + +## Arduino Nano 33 IoT problems + +The GitHub code releases **before v3.1.0** used a software I2C library for the Nano 33 IoT. The code now uses the hardware I2C module, with different pins - please follow the readme file to re-wire your setup. + + +## WiFi connection problems + +If WiFi connection never succeeds, check the following: +* SSID and password are correct +* The WiFi access point is functioning and within range +* WiFi library, Arduino board package, and board firmware versions are up-to-date and compatible +* Power supply is sufficient +* Arduino WiFi antenna is not damaged (very easy to damage on the Arduino Nano 33 IoT) + + +## Particle sensor problems + +### Measured value does not change +* Check wiring +* Check the input voltage - the "5V" must be 4.7-5.3 V +* If using a separate 5V source, the source GND must be connected to the host/MS430 GND. + +### Measured value fluctuates a lot +* This is typical for particle sensors, especially the PPD42 +* Check the input voltage - the "5V" must be 4.7-5.3 V +* Using a separate, regulated 5V supply can reduce the fluctuation. + + +## Slow air quality accuracy change + +The air quality measurement accuracy can be slow to increase, especially with new sensors, for two reasons: + +1. The air quality sensor uses a small internal heater - this will gradually evaporate off impurities when used after a period of storage. + +2. The analysis algorithm self-calibrates in response to a range of air qualities, which must be provided to the sensor after it starts monitoring. + +To speed up this process: + +* Run any code example which repeatedly measures the air quality, with 3 second cycle selected (e.g. cycle_readout, web_server, log_data_to_file) +* Keep it running as long as possible, ideally at least 48 hours +* If the accuracy is low (0 or 1) after running for an hour, expose the sensor to polluted air - a solvent vapor such as from a marker pen is ideal. + +In normal use the accuracy does not remain on 3 (highest) all the time but instead will periodically decrease/increase as calibration is ongoing. + + +## Temperature measurement is too high + +* The temperature sensor measurement may have a small offset compared to the true temperature. + +* The offset is different for each sensor but should remain mostly constant, so you can subtract it in your software after comparing with an accurate thermometer. + +* A larger offset will result if you put the sensor board in a case, especially if together with the host system. Hosts (and particle sensors) create heat, so should be separated or insulated from the sensor board. + + + +## Support + +If the information here does not help, please open a GitHub issue. + diff --git a/User_guide.pdf b/User_guide.pdf index e101da8f8deb13dba37a1f763de064f51bd06e3b..0da2eb9886528d4bfd6543c2d9144880460c7074 100644 GIT binary patch delta 124174 zcmV)ZK&!v@;UeGpB9K{s0}TN!*$OhZNgBwZkyAEckWSEZncq(>q(rGL&w@tV5?QR} z)vF?D(?j?9^x7Hv^V#>cc=DH~O%DgIM*!gTdiUN-RIR z;Y^>NAA>wbllUd88G3pYTcerG<;b2#^4>X$p;{~6XIYz%)?qM&VnpBjqm}l~@&fd| zV9ohAw!h3J9>EfISYv-AwGA7_CHT8Al@*0!jg- zp~;NHnP9u}5YNv10QydoB+CUe>uXU1rr?b_10Xs;Yywgmz-pO-qgAX6JOq+GJ6#45 zWVI^`lR7)A7alUp1X_KVNFN9}Yt0fiO4uMZ3nNU67jO}OUvxrzne_z?z2IRhQ40o% zFKup~3s^H#GB{zJkF_!3AS~4|_)EwcIqI|bA{;nkrs|_mTHA}LD3iR7Ar7W0XMlZJ z1O!3k=o%5HBh?2tI3Uz@L2+?b)sl$S9&oRNSU;!@I!&mKQB_4z)U1&FYm%fQGF-Qi+)64EzctuWKuh>AZggoVBIIsUqTnZD;;2(# zHxz{{%xDlauUG^b56z+-iVDO+S=G=mPlIjq#CvCdYB;nr37U*?L!UJpGOfN7?R0Df zsb+JbZ8dxjYc?CbQ)Q#C%tVyJd#IZ4W<5Ik+?9ICZWNP+tK*XM#d;03aBktF%MWO2 z2`JUs6Oj=1>?_Mx%$sm4g|=9d+B#^s&moy;LFV};?nzNhg@W1=i>Sr6pZT@s4qFr{ zukkE@`fxLgL<$Jp`wG3+l-9*f=9Zzj7J(oz?L4|cK1YGOQqdJE4nC~(Qu)Y9NiCgO zOpEwFD+25}QFuC%?YL0UWa1jP&ap7lWa$=J?azg^*~~QDbh}&-OiQ0^NUkM%eE1Xx zt$njYQKdJQYwH0{fwWBR^KDlY{2uUdyOr91K;vtL*m_VoI@o92E?9g+uZ$_1Rj!>h zH@ilGhLcO|!o=2|no1tDL>0c60_u>bw(9WV{yf4Jk9hd>4Pn_$}x!;wyEvo;CA- z?fzW@;nICW+1g`*rb^RMI&BpxTgq5!LB8-(&Jo)k>0Tq&Fk|Y!EzotrN;5{6JaF0w zEAFKu)J80agUX9t>`NTG!-Q;@Z%RihYw0&-L(gB>>c;yx1XnBjD{)vCtT;qvZN*=r zmbSIq^lNAow7iZRx9@czxfboLrn2*Y6k5%2!K;+UmFfU+9y}YI))Fpfj&k^;-Gk04 zv$^p9oojHwTlT->Le_f&In-+?*xO+h?pyZW4s^_c%jT@x9CWFn&}3fEE4xd9?w%JR z({dhb!UXXPy2h8^Urwfv-RF(RKmT|#-5Gl5UdT(n+sn&8-7jx%o0(bV{1z*Jye?R% zFll`42v;wb-jfd>Pbi6wjxWzICvVg8riM(9#!|a6z0DLHeFta3sxH$gB0Y5d4t*9i znZl75)$*ZxrAX=i&pR4q4#xBE9P5uwJm~euC`(ZiEFj{Z!Fl)7i|a1`b*d;bR)jaH zLeD>0L2`{IlsmIvoEYKAH*ppyud4j2$_AFD$a<uFoFq`UFTGO(#8ihhR_p0)or}o6G$DW$`6SMY4Mw+mvl$FlAd0ilpkR7mFo!fZex;|LvIm z*NxqQ?*<8nVfV+s9{%>1-GAK~w)^8h52r5=U9V56VbC{y`RDGhSH1(j`||H!j|`?g zKQcbSk$;Iv|0Y?7KYFI7y*jc1{}|m>kJDaXc4BAt#74pNf0()>u(=7Tk8$&-GVQ?0 z9v`Q_fBEs@^5x;DRmV7kLzn0o-ty(QyH5g6QfdxB;3x!kThm@1 z;VBvuJla2iGdXnwo*bv;lui5L7^clknZ8Kjy?-1h5f-Bd(>K_~{rSh&2X;`qZ;NjK z{KEs=?LnXZs(UK*G?_ns-~B@8q?h=9CC-c)8$@H%edlZfcI4(Q!WB;8w{z~jScc(D zQ$JZ?8sryvn)VWByE_V@2dSAr9{DhJnq4k9Uf$t>M}0~k-S_rVxR{Py^(lLo#8$ZB zFMmM3;(EeBU=!dj)|W`UBhy9DT(6RSv^{LJ(YK?Tb>HMi4zEI>G$CL(vU5g`T7xMzeOKFYLD{yhSB1lqXa-#|7aL-HB*IiS%-KaZ>_%M1e0qsRqDQD$`N(642NvCgFt3@4_h5oH37 z{}H$~5sW?Wq)Ir*&idaRxYLI()1W(S?sb=#Tg0O`M)XlI)`%4D879)l{4H7}UDy-; zhxw3+9^zx;mRCK}eO{b3){L=hOnj-%6A9~SyicRtml`md+a z&q=qS(Vj022$YVz>@N%MSG;C@7e~7yFk4+@eBj_O%Q#YP#RtO`D-#p*k$B(D(#b}=M%~v`kLzS=pDvx^4{i?xqtjJDc?$H*|sUC-ZjL8d6Y7T!V~dY@0Xr@NFFbsXXe%!SBkda0A=$-R7A8F4J(K++IADW=P8vLh zP@%oshzo0haE<*QJ%1J7KvqO_+Eq{Wtv*vU+UV80)Njtx@u^LcbqX0$1ac1F6nKjeZhLJ|C}yZ_9Xvfm*B=tJE&IGu#3xGNR3bx^t=B z0dFIFJocM}^)MWU^mwbYVWZoDco|)Ueah%!9jQPdhDnXiB;|bRjC%hS&LJx9`Fs)0 z!lCuSYILV0yMMY_a_j??biFApH@{stBW#-(bsO5r_ z*%Y;xVOP{%dOf3^K&#>g4T*wk(ep4ShgJU_H~Km09e=>33|j)O$*PtEBfIiNoK+o_ z?}+S2zq=wNTtlcA675~KcZL1P=^`SFP0M@bN(|+TNP$3TCc0h!6*bx@h3s9(CH#C# z<@SnLQ8v}lX~$kGyC;N~wdB0ns3x^=`|{~ppsnN7Q|eD^qm8~IP`4Qi;#fN{g-3pw zM2|FcCw~fyt|MFjZOryMhj?(~tuv|PoC@BC4ZM34$ zC|d;tF<6o_7oM{AyyV0%=8LLAFTQ7bcD3zR%E5?@RY_3Ww7u)a&zqao{Ge;t7cH{Yg>WH8B?nxe-x{rr*)p&Q(`aCo zs@_OY)RcV;x(5Oz^6Ux>*9}t*)t~A{8{Hb+qCO_zEs2exL+_KxbTI;7Pas}0lJiF6 zIDfHF#aj-nc13;Z+-1MSYgewKH7jFlgZtz_Sk$tPch9c#;;e1wR9KgiA~}%yOw#B_ z2IKcYld$JaXo?Z2sVrg~qH!xU{Csx54Mw@rmwdf1C`NV2Fn?; zwI)yXp#Dp4w9&T^0A)NAXxzqg-%|_m;!^uOq=WAB8G$B?ceQcFBnk%YXyJS%d4_gd z-lNx(u3cm5IwLnEe}zLl?C>?u?B~|*tMbJ=l^bbw-e`2YSbJe`68_WREEUfX-G4e) zJ^H+o;FGUkmGuCDVfqtorv6)Mw9$`2-#~7x@LQ4^R;5dz2C@+vwnUdTy0I{woOkVb zx7g-s_Ppv)M%rxgW$KY2?(Un(SOe+ds#UE@7K*=38Z|jF5V>vTAiU9eeZC5K2(9O za1}NU3+=O$0#_OFgCj3u&~`Ezs8x1r%|&MS&Vfje=CFOO(Vm8-M?K0l@J? zKdH9sPkf_|ZVuM9JP`^}Eiw3|C^7nudLwsz*CsD5FdH}3ZvFS!XrmvFmPG==;cby% zKAE>#PvCP^uPB1(YKon0JkRd^UPt|CZEma=23?2{!sA?AP|a5@wwQzTDL~>f*Gx+m z`Cdmeqi+=Xg1~YPSB4(nUVj-COeN>0Is<$Vx&`(6eAP=BL*p#FIosk)`_<`My6+)k zZ$k*3gIIuMRFFIF{UW8_<|R1T-ue`fU_)-Ms&j0kuZG+**a$b2z@{|&=-WsgghkBV zv$cfD)i2ZM_cBh%vtN)_`7jx1O`CdB{TI||qi+J++FF>P4?||f^nZ8`k`_@?v-K*2 zZZo1m8=+Q7t~a*$Dx*$=KU$C3ZdS|o8hWfcoa#b-?r5~pjYy+1<_UUkW1ewR?ZK8y z5uw=i*&4W!^SbzC4Cf1rHd;@++OJTX`Yg773k&sIf>S#?o4#SWsP?_G!3)_i7@1ED zr~dnF^o>!n5fx0B@qZ>9VHl}(ZnkX`7d3J{7ex}HdZrFQ227ks9_$>#2F{;+T$>gZ zceTl~6^C&L9t^|WW%D&F9A;*aoMXMH)F=ghiX-%W77c1Ga^!l|{TBoLG`rU!8;FTp*0Y!eR=2d7grt5U}`$5bAQg~p<7UsuZmE@UnPVp zjn7_EllNxvPq4K(vF2bX8R*ONXEhH=L%U zja}Yn3Ol?DFS;x+R7en8$(wBM2Oj_fXQ@f4&MKdWZb3=DFfs{8m5^x)_-p5v+RqpE zWT(m3)|Wn2#4IM6b)R(&{kS-PK8IQ|)O(3%)@O%C8-LvbeHFn#5Ql=H_+^i7h*qDu zl?#JbY*;%517~c6D?ITFbZq1oe&)ch_T#f>d(}AMI+eMU+nrj_A35MwFSFe%ryECH z_Lkk^+3^|_J8&jOzGDY5_Dt!Yy%ZpJKmTA_`lkQ?xP#qqI1IT{YS?{!=)|aJ0e}B} z_ltYv`Vm45JccXr4}0lPyZ-|bJ91Q)fl&e!3^O1wAa7!73Nth{F_&#T0z`kW>&6Y< z`&VdPz|OoMfFZ!o0NJHIKo=KXwM~Gaw?MMV-w!#Q8FD09#|IbZ+LGqM;p5{+%Ic)2 zKM%i83jX=*Pi9I^pVIWle-Hos+w}kXL`{GEdboZZe1JzWC7AT_pXrCEnY5Wce))D* zdOn)7GP6D_JHt1pJbnZf=VO07tArQ1j=Ic87R-_89AKndoxa6=^W}jr%_2;I?xtRVNq=OKe)5L zi!=QoB^Qf}q`;P}T z9W^}u4w70>Q@Qxx^pBNJ$h-~}Q;w#qN{lh~g&JeT-B(k-osFZ@;gRpN&1e0@^BFQH z+(N}@@P%+T#VyJNqspnvb%2wbI7hhgM4zcoVe|_pAn~;U6)e2-F^5#O20>*_pjx2xk9Bu`gOs2JcZo5AEw#T(DN;WR`G}?g~aR~W@98YT%{fHr+ zg@#y4940Fn%S?ExRTCh{@EOO0BtiJzvmRVGH>3rMGn0PmCUVD>vI01FiS&9_o(|q0 z#6g@;8O({wku8KGr2zG8WUgK7hn!A%8J8u5ip?%0gE19Oio|~rguAL-Ms#~DHyJQM zTMVPky*4l)3<`|KETh_-of)nE5<_X=3sl)a2Px_2=-|_*=n$fAp>7*s>Q~r+s30bE zEm_Y8xHa3N8-Yf&EjSOK1t)aVh77tVDXD4-hN?crS^8|(tKhI+EHB+KQsTjZ)jyWw z1sF&vIlO5W9YudwusI;!PNTThr|Fokp;Di3Sf&AAcvTe9L|%{FTwg~m=(@&bahu!_ z#$Q&VdkW#pN@+#~+|zBStM)Z? zYZTWbRnT<}O%^~tAe7Of=)s_- zMKi2M<{G>p6n${wD&pSv;n3s;QSU@+loK|iwH(Lr@vcLXDi`KXGM1rEXtt#$VXc-M zL@srpsJNpTTP0{9P%PnSf1OG)$wO+(V)g1Zb?qWmm!hCAb250~+30MCREDKF#LtxP zL8E>oQhI-fNQG0_nDUJn6YwBkd6Fh7lq7Yc%%Sz8vnN1+R1*=*J$5Sggxe#T!n?Qq zgE+Ht3iV)jCn)f79nW-^9*$`^gm%Ax?a}w^3i{+fOEp@s`U_tdKGBE&K z-qQ>)_@TaPX}8caA>3zBPW}KOu_^%H;eG%IjulS&iVN!7W8JuYAxg#fCbZdcf)TNG z6iKsz6{U!-3%$%ajYaCT99F%Q?Z0;fm)!g4Y{vbltmErEaoGv(W9%%_k!|}OD1N-U?32M`?sFx?O zUlW>Djk@j}HGWrVA3VIU57D*g#YHdo20q7NRYIU^5dDkb52jnedvROPjp;U7v$&3Z zV~V>JL71OZo3K4_irrVL*N~^aqEw#1jN*U7P*fyzO+%LBvAQSto2xu(;j5@A-Klp* zjB|bi(>qVwDkdoeNQ15E(rF|C)L3!DRY0&eB`6H%rTB>{1iI}h*k-?Kzg+g)FY77a zDofB;>Y@y(9{gE9Au0J6-Idaqp>gJlv=u_}LO z=BmfPA`HSpWC>nHwmLeEd-gtuPkp;pr(;N;de{$)&yAQtw3_gfeB4}z2#p`s#cn}y z$R732bvkwpuxar;OF>6UP}%@eivvw@mAq1T;Z1MWnO{<|%+ibUJGLx--S-3+*R-)V zEp82Z3{^#fclVyyy86G@7LxJJrMQ1>m02;e(5h~fYnCCwjcwV-4dJV5+GaeCL#ygV zt%nXF&7E7)EPL(K7;Dt~{S-S+;I7j{KaE-xov!yenOzyf-S|paigs=7A!Qi{t7JD6 zqm)Qmvfn+T3SVPtVuGYOtY5*?R=wDaF2&5Gh#tB>hJ*Z1JUy2+duuxKBY#2u+%h|p+j>Et((3>F37WvX9o$%bQWpzcz6FeVco~zETlyjU0Xs+ zpt|QZJQRcV&PN3(ZlcTHnA3k}Ho&l~fKh5!@*^tLdQXnl7-dS_x9FwixcsF6TyI;V z)MaLSP8~aWhoO?Xo)9yQxo|n=xT5QQ>Do`jG&Tq=UUjr!sP8%kSYI4nbn#G=&W@Ta zeau}ed$*ZiGDBUh#~KqKYWM*yWg$8o_1@>81|N%RoEgO8WeXMXA#i__b=gFuj9!yB z4n$_Ddx6}0je$Glyy$?_TxAa(iX~58bS}||V!UV%Q0l`BQlE!G5RT^DE_D}zjBBN7HekdBC43$NaO@jL3kJ?RZ{7*`#F+5y2+Y_>qS zP|iYAMv%N!@4arb;+uc14B155-Vu69Jfa3{)Hyc%=2qhk0hWUPS%3&%(O%1^BX-*5 zKn90Kq(M4pR|>gu2uDsqa0imSOg&a9C=TBh<%Tg@-q?;peIk+W0#*I(NtD#dO**EN zdovkkhbQ0(%vh4(Cfapy22&>}?sE~-@5>R~+r>7?!4o8N@&$im8$Mmyi*WOl-7oB^ z-!Sz8n>6YZ1$hPG_!Yr;!W)8>KC*3n?vnLwnlU}#IBTow=w;AD-SKZwd2kK;$&1QmvE(3dj&)}@K_)Z>I!WZ>FO?vtbkKv{m)Aaq| zZ3e8w@BE5>IWPdc_mOx(Lw}zB0_|WBjS6LMWOH}FH5un)#!XNKJ@vRIF=9&B@l)EyPjy;n}4~RcN46k|8VseFl7lx&rpW5tOIZQ zJY4_&<@>|q%i)I=V`$*)JDf4em!G;6VLIE-QJlSjFhx2CETosT-=^**lC!mI~U%?vja0O_adgdR`yLeB6MZO7-TG&v?u zkHXNi0-3@T2R=>^+CbB$3oP~QvW$w*({>YWyIfCRZHvf7@R<*#sZ1(t7IgXq-JVhT zK*F41p`VR~-~--wtZEKyh8vQPi(RhPM-uJ2$Pr1>)eN&hf_ai?*ahG%mlj9@Bre`| zj;_)&?i^YIc)pOW$)m5SdZb`>-__vMB)MVHU^6gS3wFBa{^U?5`PH|RAuAR!Vi zDh0I-6=m!4L-Q9PAvYw%K@zYN55yWQ;xe#YmrDyG?1XA4X%#a?7q2GLVpf>)m3}{K zw>5;xu7nvwyqe~D1>fYdFO;((`G2^e5iwv3p-_qSoBb`qwJzms2@ty6tn@4-Qmedp ziz-rd>%v)V8aVpZb-<`ry9NDnW`}LNr@`3|5i&? zE^dONF_vdw+OsQ83nuF~Fh^-Y6S_W&v73;lrXIoY2KR_->Pz~!tW=*;<$n=ZstiG* zAO&|!W~1+lqerXLO%m?7OdPWi&2ADN>6x4uae@#H!mz=WsD$^SIQ@djP9WLh6YZX9 z&6MM9Nj?||$zA5Sp~OmxIb_vfmiGCZ0k|{Vyn!f;9zDh!x@DtqO0)TZx8#DF!kxfz ztUSSVsc^e`2()jV_3P7$B7fy8@`UZ7BCc(`dLA{CLjtFsW!3tv*qIUIgC$SElvOO0 z0M_f?n3;+{HR>vDt$5286kV(Y87CVgJE@j$@_BZVoJotR;+oF_0yU4ivw~#&1xc)x zS5~afO?@@iJh}R&xKZk-K#$0cfDFs>(buXJ$E$m?iIf1pWFq>tR)11rmtR4aER$e< zo-yLK8wM%?t~OCSkt5i=YP2}CnSxZp0BUP_)ojP8O%SZxV?#aQuqdiXE~UDX%w(jb zU?FtR%CK;1BwjqN+PslyLA14^%vk>jn|vS_8z~@FwjN@VCnoz$FkOk8&RNK9e(*hX)5c&^D>rW=2D?ThOlI?b}K`eTRn9y60CyyJtT zE#`VoA8p3D9})<_B8MOfA_k9(rZe}{O)aoITMrzBpuj5ra`|aGGNPx zAMmtotPxZmoshS9IBkN}OS)E~L2}9KcTg;ubE)i6IIw>Qy7-qoa zv<(>aQiDLJf%vpeHws5i5im9Rl;o*IaSwm25HI@*@q0GDG86z5mJR9OEnd`Sib-`R zBRgQ8E~6oVU1s{32y`?i@Q%zk6Ub;xV5{}*tJMij3jaD966k$;BGA#8U@q(P-{Z-C zCa22NWi%$ROU;gq#sshk5JUnQ4GAEGiX|P5O~M&Q;D&sM08QXtLnP4Akbs$hOrU?G z6+sO>WRA2vPAN-+Dv6G1^&;qNgyWLHq`ZxIO&K4An_(W#f1TUw# z!h@pJE_Nczu0xAKZzxx-K(N|%0hjA}N;tK)v7vn>bwf2jwwGhRCe!ZlZtm4HO8%Ub zA8{$0v!A(Yr$yp8At$WhY@y1TU{!wx?39yIY*Y(MF&#U7kgiLH0<>Y1u560rwr{w( zC&vXZv>i@a)B63f4&obO{w6i4x?AZk^FFTD-)*;_BjZ})2o;aIE zEY<0;E3c(nx*|!o5bqx-4PZV)q3T(}G^_g3r3H7Drz~J7sT;01=r=J|?dpGa;bhcf zf%!1zVq!7uDg7L@3Hjt4m&Vt z2ohQ!t$~e=Xy=5|{8#qXqt$;q0F5G4Yi@1;i*zdUrdLzdhe)5Byu$;YXi670Ue%R~ zJbkB-0n|Q3MM{zSRO#Ag-l%3^QMe$bay`iiT9F!u!s(L#QG}D58o4{QFMO5y~@djaB$|9)!WDv|2$7w3{-Ff&rCimdu-Rk6iUPQM=hH3|5!!5-D*jXe74 zm%knU^xgE&_(V*<{QYqGJXi;hX77RN^RLtI9%_- zKKv=eMvwu~jJyg#l#TY1WRp`Z&tJYC#BqO~er?45!|xAb`jGJWD@dvVCc61D{c(c{ zo7W&Pq?*jC-AHr?g1VEmXg?4Pt!PkuoBn7+)|T>)TKJK*cpv3JmX#Y3-vdDTaA1h2 zJV1A53}*)G!!l0vh#?N_V)QA0q7%CELP7;vmz;}zNy>Cbn+b=ef&V(mfJES?Hzj{1 zyR$quE71bUHQ9Q+$_!#%U;_{@ZQ~gbm9zo_ni-mQatDzIFNy7!*F2(NCnQa^5F-ldlymo=*(#geFs0-ThV!&qC%%=l7sl0 z9k^}9kVSw{ZY++*VQh+J*kBTzu}yy_L;(g!qy#J*@yEGPArQ_@CMrs(1 z! zZR)O@4xo~iVWH-!Zk~T*OS~u>y8y}{F&1KY)GfleKaibDvFi?$S>ADn!tlS^94IH= z$+DTegokBu8egsozKT|z*>??HP$_$sYIC4{W2I^ufHx}DYn5La^pJO;D-8SK)g^vi zHGhNF>HYftM&Be#q36hc0Z6S0yUAGg@J&$18tWN79Qc&Xg1s6w+4a z9GPNcfj56-!s;cE)Fu?J1uK;y8%Ki*A^Qnnfs3#0|s8 z!E2ffo36JRRV{y3VDo2bR+9#&8El?5&Q1PF?;oKLWrIhmRaFv;@9DOkndP^#xt{2* z#%iVP)9g3lTE)qe*MB+Bo20xO4;4e1YoK?N0m`;1P4Mha;JgzDX{AIrQ@2bWl1E7& z)o<1-c{9psKtqU@zshiPoQhwnEriAmq-o57K7@BJdRvl(jPX;I@f8l zcv8&3)ze~I+18D8@KSBqj&-BNHLgjXVg;nR#=M!rL7tj&!=QcC&#QDW%yOLawe1yg zm1Sv~8d+uEoZ8zooDP<%gtRz}pHz#@BwqccUpJaRM zH!vvAd&cfTJ|uKoSc}vhgPJ;N5QQhzF(s6jan8UWz|| zu*0Xvxdqrkl)FwR*eDQt+Gu6N0`H(40I-Y0i> z&>qR@dLQ$dRjru^3^7n51K;g3Xlbe)_->cMD9j;=f$vrfbrNt`bu0+(*0W_7Q!amW zMh|r!x19KWjQ$c;AksW~uz)1LvnId9mPADDva14L4!>xiG@kkO#DG*{Ig`ZZXqZYU zjqoetXcvQDKIzKZs7fgZ{<}1izqeZsXSvu4{ANn1S52TT?b}g{b%BlV<0e>oOi^}o z@I_!hDtWd6Zj>hM=IHZ3UxQEytB(;O;p@_cAjuW$ihz8S9Z$oi~_Lq01 zG3L5|8sm#981FWnQ9DZ9Rbk7HCp!ZbEDqxa8`97ro=xtBG;HbS&1)sA&&Ryulmc0) z#}1(Dq09t(Z_96o9doELov*<03!~7(DNe+E!&^6$EBT@SpS!ye=KLNf@7RCusCW>r zZ=NX2W_Kdlp24>TlMy%uZBb=b^*;w1tiETZlm4)!_3!5he-;2f}$ zYB~VRQdnl2{swo1>r5s%=>X8U-Y0&U`=!eIeL9Y66O|EBWGu20VIe&TZ_v&8`T2ck z4zc@l!S;Xmf7_XE5A^z-IJKlE8GP-2Sm{K}>nz(}M1!Ido6$DZ7{eh{Af%03AL9|D z$b9W>KEjOE%y-E zJHx{5^l28YI^zK0GWRpK6r=$SAm$T4F7pZPiJ*UxOgAh)ylj8qCzxOgp2cxP0XU3#I7SU+S^CITk2z&f78&(9o%EI3C@?magrSNmgaQ&W?Y82 zRWpCYN!e^Q&syHw37CtXipunlrlZ9I^O)|_aTeBlYX>TOCDD-AAlx%;NZcySPQ-E79ES)LO>N+#gE1CI$<6RZIp)cz~oPZzfs|B7gJHTPeV$dbgh3@ z;xsMH+~Hajbi)hj=+5jof`zVEL2qJPta?-oG@^7<}XU9dzFN-o>#`ed z-)yEjN&f@YAIo))XX4`b9o5C(Sq#_3n7a3!x0&i9f1b+TBVjn?iIN9O`h`gNhqxm; z+G99-7^Vzm^tIEGi;gI0#Dt4Mq1%7`YxmnX4+2Btnj8^nJMvIM?|lYNyODholIA+# za@JBFIOcve*AY*xZ4jC&g12tQ()m{5Pc;+e}@Va#?lr+SrHG}1>IQ~4lXIpt zd2P%Zs*;scPZ(w}fG0}S&3PQpQ;|`RRpvtVqJ{OA>|MpeQ~E_?i2Z+U)tDD_lWj{k z>^C-)qoCBC9zE{^pj;>LE;DSL9GK-;l^M|j|2``_<;joS;sx1}cC%QO-RRZF=oL?K zX~{k8|J`}5<%n-MuV47?b6jTM;F7kfk|kurVI!bTwrN{uxOBaoEnF}x)kj<)o#5J2 z^F6gxzo>mL*fJuxyd`9xr?jL3`2~e@B~%!8*pe#PL><$!6NL z5w4|5;9~R{_FVLAzfT~jK2Qi-ySheDeaq3$Hcy}6unMM>dzD>lTQ~%X^5)8PK5SzX zpTXAHwwTttPtnt%l;fx>n)2694KBonWP?gJ;c5{&uRLC(>cxMr945CcVpuhGxIgL% zzYRyj$FX)%akR1W zRvbn4(Ha(R*6C$5?Yl^Awrw&_ZnY^sN^TNib)lb&usZgc2;*&wkA5AWC%tEo6Qp2%P+Q7^e z#oMrsa5;tCOcPm5Qh|z$?Ilrqchxn^U3PnGASvwyWHEn79r=Vo+Dm?v$68C`4V#N* zZdH1S!|miltUO_r3RbMrj?QA03Qz^z$bM>-HnM%rQmfRFegjyn@&dEPDy=2)X50BI z%I(*>KTy`(NM3xMv__T{wdJyHmnxXuuia4)tF&-!KTw-AnBAxgVv*Kz_(7C3mz#&z z*paZtkoAA8;|9k2&O6>y>*#BzBfub6!b-Uu70Oyu!djMHkD3qXem6D*Lb*uL`;YC; zgq0)PdO~hUHqJ5$s)(^Op$GL7Yezovr4F~pOVg=bNI=k=kGnR*$_*fQ&6MHNUXX!w zG<1Af_9Cr~%uFB^MkJ*{h_kQA@G~o{L*UL4QwM*c{`r0P?cd)qbl3lM%U%-DELKv~ z`wp|`_NI)!b~@s(YOtw@gZ4S;)b>ls#oYw68qln45#1U{&#Zq-&CfvKjjGLeERL5Z-4#6>A&*EoqqfG+x^?y zG}l)t=ep_JKTdyq`4jllw|{-VIJmz1i}P2wxNxnXqMPv7?9%l;U4LB0FGW_}uJ3i( z-96mXmEh`sxK0;vdPJ9x&H0jPj4UJ-hN&H<{g};4ajiIw_i4Ql=&Qf zY{z+WP-fW|0g1Fl0|taD#q_IBbnc0x%hIO@kf=2FcGot@S-=gpwcE;BG!*F zw7pQpDU|lD3Qb$$nT+xgiAz+sr@nYGF!kT3CU|xcy{&w^4}T9mMA<=iq<&1U?^B13 znVqlMf`Pct$jH7D8hm<3>Ea%mfY2>?tGR&gBx#A>BYtojNehwJL_SBLt@pDwHeyX) zQFHSe|5)*j;Qh0nP_ZVdZFFlGv9RW2kpN$R4yxuqc9e7W+Z*DZHqQl>d9~p?gX>DA z=)`a{{RhQsoPS5kb)Hvil{=>K3U%AuR_>q)DOT;<02`jWW{5~LXVl>l@DRvK64Yo8 zP`clJIIw{Q&T-?YeJYo zj(xcY{ibh_*%MVDOI@`m=+)HMI~PzhIZ18?y7vHkmiYQuAYxeg zOAIB%=fS;c^Jb7%ePz?aCWiD-H5HYxg&-Wh6DdW-X2znBvhQ1Vv6%1)DlqSOP&U$m zgMUUJ8-G-;Q*#2r^)+7P+(jE960!*7MB3687j^{|4RcEHR_KM5_2Evu>tkC$sf5UGnH`*}cT)GJQs)^3gPcl{InGL}C{2&i(SHjuR0N)OyR{GfB7ce0 z)Grxw4GCsyj;H0BXcY`0R#Z9^jCoa1X}rs9Pjd78Rx;@^d4JNg_Y8gQUF_yEN!47p zs_SGAXy|e6p}A9QgZt|GE6Aoo4h#c_SpgLaSt*zkQD3hM&~l2w)X16HTZC|V>6^#< z5OwR4B|>X-!}D6;Y@ez9P@;_iNq_PqKKlWQ9;=Fjg0Ivv4A64Mp+Lm6&dP*JX(8aC zLMc2iyI~9(xLdRHX3ta&+D?==sVof6C$X`ddM!nQaV0H?eYHd@_Uf|Il8%8gZE9J$ z7;}2s!!NDeP#Lk87h~qr#gBewm|dxv`=aLcAoFm;q8@z=;627>{+M+!mw$6PF!G$k z*WZx?HL>qp6n)kVsrpX;LDr<16ZDviT>Lh^?x8J6Bmv#PElUU-E$-DsodbIw02XFr z+h$|iNn_i#ZRd+^+qTWdwr$(&c4l{;{S{Z|Jy)^7rqH2c$Gj}|q71({jZ$TMDrl}C zB<&4!Z3J;i@Z}lHI7NVi_x_dk#!zJU1MX47IHcf!mq7C9=6$*RMiuU<{zm9}xW{MJ z)^;)t@S!(yD}Lb&8o^k{jn>Orcd;(-v2x^*b$ll2rfoPxULn}Fu=3{RZQ_oD13gtY^roAZu3$cv@qpB zLvDJR;e9@sEXYq+P}3Cb6TzYEx~5qJYeQWCIPS6{FL@&$v8~=;`$(nx`BEq`J!Yb9 z2#Y^dkT=`S#G8-|nYC{25)UjLdlZ{TBCOTYW#`6Y`SwdROc#h;zQjtrg75{ye}>g5Bgnkl6rRRJRZ44jR9Sz34n_rADi@#;;VEI<@SG zd#6dMoX|~;h%`6i87E2jv?fI}TTIZFgl%%xAG~R*q_)E9qa1ktH#b) z!h?9z&t)dkZTDHnubD=ARYm~8eaOgGA@_>PPfV<-;|5k!5Vvj#owpMbXL1`)2Ocm( z3(Ob`g^J$(pfv6#tp#(Pcu7n9c2~81g!gxU9m3R>@<$}bQG9pv7|82js_o7Kl7OF{ z2yULT)w~lyl9BTE5xTf1pq9GbC26_IoyU;90QsnlP{P8uJi(O5YF1C1*?t<*#Jy?U zPYUD3i8WBv1PdnDy*`4!-^wg$q~GRkRpK2(=CogYI>AkrQ;p75StC!}2Zfal*iXlg zWH60qnKT~!1aTCL*QkmU;|{?9ns$~VNRm2@_UW;P7b+ zBs+ifzbm!-n8*h&-OOy+&CKAE^Wvst-g$51raXQVc1GMMjqvT@|gXgx2W1nZWB(yYBgF zyoqI^1~U%#7M=Udgn!))*LAlfaG~C4YnR3ew3(m;wWT5iG3@iH%Xp1DZrL%IE2qJ| zqtduAC}yI1-qXs}FU|u2NRCGf((If#AS5Hr6h0os2mSeK6goN7)#%(7!|Jh@3rkBx zuS6eOO$N9*zJ_W(lhySanA*;(lLwd8)BU;FfC;$gb~dRsXap<)y=A>M_9vJ*ch4R= zni^DyLz@JrvV+OE)xR4vd@p(F#C9-nvl}lAIrC+oah#rzU`jRttdpzwZz1nG+of1p ze7KL^gy_c&LAx1(2kdzDSjsvwOn4K+cWi|mA;f9sMTQ&w#)Ya*dg{OPi&^d3sgX{;elnm zhvRk3X9XWE@oGfDKw{Y||2=l=jj$i%f(3ZmJ0(ryb+wP}v8d&DW-wKTA8>-v zd25MNyZX60^o22S9aA?79Hi%YiNYbdc?|N%N~U>I(3Au~3X=&uWDfts7RAn2>OgqM zvPs&LBT?*TAm7+ZQ=emumHl40+8Sg<*AWLuUrh7l$IRl>0@|@|HiPz$%-pu{+}eIS zZhbL8YUou@oa3g3Bf^v8^Td#UY;(w`4G8-H!q;)irtAxAd&O&w4weLz__Oqp@z*%> zg(lRSh(H9u(*5Jj;dfF_ftSQ6yco;vxkmrKf{Q^UO^d!1WLCeWa?i89AdbKBDIld?2%2cgAlUiHaaVbQ>iK$@J-QwStkiTX?K%t@@Wi_`J4YNXTw99Y%j()NClJw=C2#oF0YP`bc> zi4%2niP7GkTE}mw-tx3%Bb@H=*SG1CZdaTF0v>uXpeDx_@vUWl3^8k1Mr(3z0#p~5 z69<#YD~3<3sZ z$bI$z0t#FR*!{Cr<&Mft8zSHU_MjYCOHu*g@sq4yZ5Q0Bruh!>M<04)kT-*ILui`sjS++TH&)+~f{-0A`^u0 zYpn!s@W6ViL3*FYJ-rIveu^iE8{h7y)F;Cnd0Sk`IF~EC&TvTe2O$)O*jHt!*?xko z2UI0KAJ4WhXL)x`82zcRiiICiUw@R2)lAn^TTDrX>< z_xEekHDGgH2h%y|(#ZZjN!thTj-KklGkTdgk(MIfvpeIt=Icp2YuY0HgUA60DWThc zUfQPIcpuyxJ>850H8cx|+Rd+)dH=F>9>Jl1`83n{0Gjv#nl5{A>Uk#V%2{lQgcnVP9A;icBNiIvBeG2+-vGq}qyh4N zSjU5xE+Y-%*^pLbMEH5n^DP(-R*8pNKnU;uq*gxVE45VgKgffNz5cd7ho}5 zYz7!U7fD4$M%_Hlm|HtIyrVw=nu=+C)Rjg`3Qxa%2k1;E!`#w^{GS`KOf%~^PVsCotaB`wjv;1W|Jr*(uz5Hm zcp{a*2u@8ovNR_lx#YeVUsJ`)*f^lSJZmd1ktptcz!X;__&0FzU+8=Qouz2yzjHz8rJE_og_ z4XrMV9$>%y1B(j;yElaKeygl6Ijt-Hi zOIYKRmDafg#2vTPBvfSq(8p$FmsMBHHap7i@HBW82!#5K{PsrJuATLkZ|7A(Q2KDV zCge$Q#NAAk0>3HAi_5gNN%?QoB6KIbcUP=R3q9vZgu@KF2u2;V@kDT{R-c2`dlA?O zi;9~{JsY>;0flX>0;-L$CYk&g75T^>4Dy^%IFoO|Z}7FfqiynlnM=x=kJ=Jn1UocG z-)c}T1q)Wj@w4($h~9CeP3pu@FqfmT)ma2--K?pfVL@9BvKM(utSaQ`Ej~qDaQb#U zv_d5FNWptnNVY!bVxA=f%6!wg{NP3mVM(+q&f15tmicfdm*a+`?QCE5=5M2AnwmEx z_k^+3)dUZ*aeC)ECNm8 z+2Yg8hIJ=rkK3?HbS(Qm3L0mKJ;8PtX7bTgoZi#i+SCIW*kSTzs;kEt!u;Jhq z)1ZWq)@i&B@>~Prn+=0sy>c*K$=ldS8_-6T?cwVtsOocWvq95;(d6KfQ03J+H5mdUe zDP}xkKn*$aSe1MAd9|4K_8N}k^-LI$cBBa`R6P%n-A9;Ew6dr|){>g%Br`MK4aKm- zPXNIcqycBrkNAei?gJ~twsD{=SNOSF?M*lU#&4xEGe@Wa;|P#`iri*(5sCmZ_h%N9wqW)51Y0pU&FLH6i>=FglGUgpU| zao^G|_YZ%3Ra>ANvU^ZVlK8FXt;e3VDP}qhGjcx-Ziq8$t=(5)H z-Oy4PD4CW@QOPCudq8pqbxD8HQ9>6qV4 zdKo0g3wlLLtx>}&Ltees3q6H$*;v^j^j9HfidJUvae zJ-t~^<8=#%)NE|tgj^0Zg-1#@X-H7c@R3~=`eH}kSWhq@l)6xO`ZTX-bej4_RtBZk z|1(|AQ-?6m)6Xh@nLRl)6L8{@EcJWQj@VNqmZHiv+^M0!a_xn31X%a_ zmu*r(@x%jlW#b1{MUKFEg4P{^H&3OC%C+>el!ERQU1<&7pL^xmLBwqn-K0LPox`4} zqu;{^;!UZ!z{O(?G5$n#1@7C40C67bLxsn^QzQGX7t!FU3md2m$R}V1g-Q&7h9LqE zl7X@O*lQb+R0{SRzPguh3I#sY6w4=taz;O%2D@p1l!e8su4o6wSLYsA%Gg${@`o$4>zn9V6)e_9N=@)mB`z@TpUi zDtAsEB^Dt^XNh5DtRN=Zdy6Naj7xZ6yDDBf%#&^VYula`UI)J|SvzK>T4cd0NhIby z=GIFK)iqWEEFXQ8%^m-IwUl#EH^ip>EwDhSI9%+A6?w~(h<$eDT%oEaRexrgyZ+6= zswuM5=$$V&#RXeG4lhnhqp97EhuU&rofv$l8C*qJG@)jWNT|$wmYERH;NrNT1h+je zw8P1ht~B_!NcB@R|H**faT85y&@G}1e^Yod(vADui(wf2TX%QdOR6?J81>cy)XeaKIKz+5+-nJHYbre})#E{@SG)WI zEDp~dj!HExw_kD@eeOUy>7aaB@5zc!vS4_a!;riUrC!;u82}p^U9h~Hr%_2dvyssb z$TPFerce4NpH4Ny>$U?Q4kW&VTREbr8Y0lEY{{x`taP7G3@-oDfCE)$&uzehAY=X( z+neP6XLfKEv@ zXl5y=79Ciaj$MxHuUk&1!uzs0u?k$a8_DL_mTshK&5b6`mjMxH377{8gEO$8WoQXj zW~prdipBCn{1%|GxJ6{}IB^tZLWdP}zx>tiVmh#Q^+gT{rg`Gf6?(HpU(tzxW2HgU z5tP;Mpaiw#ldQ8`E*n=ymQ0>JmxtQ!|9KLRmb#O60(;GcUb$*E%v0z60;w?Y=?8Ps8xu7>v&>>t+9ofIbbMAYG!AhdT0zfa8 zAX7Ch9cT4+Z90>03oU!%g9dqN57swNeRwmuTH)2I$QDE!ADuB3y5{!goiW#yB4~#Od-#OHnDAH6I9N+f40- zY-^f?g#tTZE4H~gRk*0;7N_enygSxs*Ve3{&J~!<6s!WZ|4?>2*ObGUcI?jCy?5~2 z#2o|rdSR_=aZA4L3mh|x4HNl+H1@&e9~C2|9t{cB|LPqx$R6bmZ^ae{fq9r3&-``g z+45MNfiJ1*SZ#FeFga_=Ty$!%)-d|P&j#22DJ-s5`I$Nj`!|+Q+q5f3pFdsKZ25-2 zb$kbmbJpubRgz9(;(Q#Q11z{ndjFflOAA#5K}gFy2897(W=tzR1{DG<<4Q(Vx83vi z70w3SSbR4BUYxV;=b%7zV&pOfMTPti39XW7HNUVM?JI?~(``vtvY}F?mGiWp7WWrV ziHgAQ=W{d<;Qr>Gr5Kj?_ucXHrQw|y-DoPS_xt+pGmXo_`Ryf+a7Ic$ z_N01BG%uy+s4shCPXJK&=NM~-`cK%Bnl8g=_f_f5MM0wKdtR@Nc@0+Zq;aVa9C&Q+ z^1aLZWZNx&?k;~XA<{oJLMymg{qbhpB>s5b)v8Cv7fd#$O%Z2I_ne#k2((rsq(@F~9{VfJ^c^H&MIA@I1wh*KfBs^wm{Mfa&9=o_c z1HmPC8g7RdUJa0Ijz!P_V=7B<9UI8DJue!Y5(qahn)!S9RrZ#LlI8)YoIr+r;F!ht zNB8Au-Zsk}sQJdfGN}^=uAP~s&=H;?Q=Ioj+y>sbLNhLF^C_an#geps|HYjubQv`rsU-g$L?ZnlzOk1Zo=n1H8 z?>!MziOzB(2RmKBCK08fVXQ-43>Hhp#e5|nnotS^il7&79{tlLYBI(LS-is^HQ=~` z{A((I`TJxs0Y%ojbe0sa9#(i4Ws$!TUY>+a+n3YHikOW`ICBuWKu_kS6$oYQ8Sv`W zNuHH(X5s*sx>DNRz3n7j-j0OYi$$253Y`ogBq|6j_dVk5qYT&$hNJmp)>+k(SjtPQ z+1L$ul8Qf_*zhMvtm4)Fo{zsB16vyfZVWO!?b}73CMeM)LmsDPq_{JIE6f`XLYiPv zTHF0PcLpx5@NdaUk=OLjC1{5>2j5tU)N*ZPT2%okJ%MS0w1l>OUTQaO-mNsgmvVkj zUzy-&m%yqmz^1zP@epwC<@|1o>g3p#q2HZ){a*v~dw*muydyAKGsB@{6J|hMlsPag zm*k#FqPC{Dqw>@P#HLup9pjicYJ%qdO5j502FD7daO>s1+Fp)aYBwTLW(C%y# z!>)C=!Za-O=ms0o5|mApWA%*i$4H9qQ=h)XCc(Qp_II(Nt0#WHvDmth6#9x>_|;4honTLJQ$yHB7o7)#tx_!r@Hw>PRb7Nq{Eo zJKr_kdHP;sX}JWv@Syn#(-M!)Yw24{B=aEib_m;Xrh>ut^dtF<@~~p)in;J?R_Rz@ zam?M+)y$?kNh*}>eZ4ZNWG9;jiOnr%~p(bYt@!2pLX3!TSg@QB_LgM_AO`j3(G}%am?D=MwnlDbGvI zpY*)$=t6{S>Ei17T0)Bm+h71|D~5LD7S{sgis&ZUUm`T`CjR3^Sp?5>nhXsNaEjqC zN>oS%Gm)es7W>)1+!9`UDN@%FoLutKZA%)a#y<=jtE!Er-oqDF@NnU2vy2+Tn_{CA zn^&GRsu07Bry5OB$wIVb61Ia3#MYMbI-m9L2^jA{hasjdx>X%~4_O z>$=8VCZa?)YfEElrE~}rDiMd6gIM-3j)+u;iiQlpVpOH#VOzhI$JO$3t`SgY-1T*J z;FPyJ(S1#Df>QE~BzD|r7FvTn*xNX!VQQYd#8X$i#6>&52&_y(*xaANTD{9<>?zNp z1-SM!Qr+elJxl?XC#^y8^O%ctIux1RXTsHXK zf>`f5kfft)mG9N>HJeB6nCm>S%T-m}wPXmJf|^tYqC`c=B@6%zcjEFC4n(&2raa#8kD#SSe?c;`Ztnq{x=1Ktb)!{w^y;Tx=S63Pr- zL*P2sdMes-BX#0YmGPklyVqlv$xyEC%J21TClejLJLSUkzf{JyZK8IiA(g@_Dz;&# zl*k#kq|;Z&1OskBQVda~`1J0O+!m_ace!S+Vaej~7qI}GNamJ3&{a|_Eu|&Ne&3bm z=8viun&5w{CEU-@v{u$UwJEe-`T7E9KN*y(jtpg(yo*QVdEC?OKZwvuH-A>cY7-giUqJ~V=xQ7o+JG6ktOiJ^gQWE& z#}KR?z$?5iw`}z{+-CagAAN?kfG{&QH=*EjZQA)$3dFY;KxOR-+HaMZFJCkY{c-f9 zCGNU%rR@_C=c~52CQ)my_uoQyq;>jMfkK^J>fQjq$A3_4iDk}%pyBXD7M7+@Q`dX* zmQbqK28;d$&Xq_QJ#UM29IVI5J!FvjUp=0N-#KT~BXz3P5T5*6W-mmgUjAOK%VsaO zygXdQ(&N*VlZ93Nbbi>y1o8ic!n}DM1X2x}VGsd+22RIR^siLxe|aYAe`7KZA{vT9 zc-H{H1JZQ#KYDA=z3}W&8d5gTxO=*`_h)t%Lee)Mok8Cp-J*VpJ|&t6_w>-*SzwKN zc78P;_S)<-?2I~6uNce4MN28L7;RuWzTGd?LfAOJgaR+k$00A>#hWfy1((sxzO4Bt zo-(-8?qZ6#AIkU@vS8-4Z!ThLC}JF7&m91cM^bX&`y7fsXyYA48%wA3y4@GCoayzk zBGd&G&x+kjwzOS5OdQ$ZkBe>TANKhDm-F`vwf6^2%c=4 zUqt<|TKH8Nh-18|`l9QMA3(50n`ZNQv3$&WjsUBH6&izU$ifw4qMrb` zlf+!Bc{{oOiY;4|8Fow%ZeEpUB6fLZnH?o$(e_ka98gQYa2p9}og+q2cIq**#e|>p z$hDfSqVZgn%WXMIL*Q&~J68(bf-aff{37b@ECT5qu04eJ9rE}hz+37^JQ(s8przo! zBZW(;SA3{K7A#dlW&XKRe9X%ISiJ%BtH2HP98ckU_~fbMV?hCOFSiTYd@R+x5CkA8 z?$tU%F;c0crB+8s`BA-<8rs}!QF6H_uDTQS7~S_AxVA~~B}DqqEn4>JMc~}d>+Qw9 z7@n)mD)bP!=0)>QZt64h(|#_Blko%An70!grX&3Op~)>KJWpR+=Ai! zhhD9(?)sAoZXJh^hIQg(gQG~W5g1D95g|Uf#I~)27`t^0d?zMmUf9%;%ye8WX75v( z6sJ}qEXQ{2tJmkPhf;DJYY!;Y%xnyLh?RuZL1%v>Qz9_1;kH>FA=m##h@Z4XM?q?n zvNd=Upj8mqPH)MWSxkly<5ux~j#X{@$*?^3);w>(Zcqb+Y7$R!p2H94@>fXu4EOm zgA!A*c5z7#PUSGTo##2OlPYrDKOl+5^ zSg13CxYxmE`Ig6ds_1;AVTcCQ%X)dv2IGE*@&qFx3i#S^Ilv#=|12!E&*h=i1tYqi zzlQw<=@sw#Z?+UQt?mI729$+^C9V4bR1lDZJ045hcFnIpe+tBhOr}}^#)@;s=5H?t zF*Yzpg==sG9?tOdt?-LXsq*5&e9(hMSruj27xkKd|L$`1F9O2ftcRy_MCst!tR_lZTtBpVVD5_H}Kc~rM^H8UUuBi(HFKHefE9bSt;Pb z+U?v&hN3MwjJAsYl$5@!Gpnl$5AP@F(FLT8h@|)NDIE$y=iQh8@AYL^-013P9H`OG zz-e=U=K90)<4G(pAoOuq+Q zfhM=!!`Kim0V0JJKto9y8V(DCh6l5ST=ImFFhcnH!a)z7zMXQEeNI6nYl=R_m~)B> z)Q1ki*8k}+*-(xNl`FWrg(_(BMHiM!;r`-0Isv^%Vhq-SCG>r1f1N+efrT4X z3(UwQsJ}1;qszlN7-l|IUSzP>Wuq1rjYiX2;~|Oq8(A4PKg)rTp9)CMqt2z)^_iT} zmkHI>bflsWV84~JnVB>vAZy*TtjIY&RR~9 zDKwOue1@I`1*Mi@uLv+I@O7+n=qs#M&dWey?eu1zzM+|;Mtz&Wk$_yR%45tuf%F<%)4l73fTdD=hJJNo_$2lM z740dO2RcMKsV(IUN#BA|`=gjEG#lsCG^8lgkDs&M&2T5BzA^xZ@HHbhpB$~=MB|Qx zM!I14j)x^4^UUDEzatU2?w&hWb21T%!ut2UJM_fx+qhyxX#=1wz)Fo{I|L+PYRX&7 zF!BV;T*07zmk?B&4Kvj#55wQvS_b<$)ycftwc!SRteY2?2@@DjcXs9ARJ0E8Za1~ zI=-3{lHT6@ESzX1Ur((JjB%Nf`0v_2m5w`Bj8FkmHx8J?LFbzbZOtXWJ#qW3$;s2O z9d4r#4qjKhFUi+T(mgJnr(G~VWh6k}aP!tJC3mn?{juVcID}(3IRss(q%o&eIiS=# zOwd!W6(Kgb@c?CH2BCG>(_qnH)<`%x2FZl6vQ+^rhF0QJHGw3&=||NOvHsHo)f+Q5 zeAPN<^#XIkL%?#v{vScORNZ@#&EGDH~lvvr$Jj(0f%?623UgFz#P& z@>F_N8)E_gGf2kn_r-P`%1GZ4hG( zrN`CmAwRFOG7jORlBdZo96^vyqO)&xIkg)IT?1^XE87Hxli6I%X(Fq|65!3&DslEn zsnJ4Og$Y8@*d*n{MFs~8YFLMG>miGIN~S2jn*IHqg_0rb8vzU|-#Inmvn-*+l1~B+ zf$KYNBUEecTd}9Hu&<*H4-vHQsXh6D5WH@?jOdjrsY~xuqe@3xr@3auXis(B_@O7| zEd^kro1`{wd{^3nKU~EaX9sCp*EXKHnySLNy&LDLy((O>dt+ZpB{NAh&;xZl-H^3l zf??gQ=A60CkKtGM*h@?GwXs}UVl12~63Eb#YET>uoZg9f-yutn#P9|jL#mdQuHc5R zIcT52#W1FEy#Gl)==@gkb|lvo8kg!(v<1u^eO~z%dya+_B~n#=kle~n@P?=arJ40d zbrC-XX!l!4$WzMCE;xkf=t88yu(Y_1pG!TmEkW&Q4Q3*z5e}1;EeQFswyA8iFEx?X z6Zcwf$;GdP80@yIGPEtXr_}nWZbU^e=1@Eu5B0A1hPc_qfX>gF3(Lhgd$qFj!9sxi7`H(QHmgKKA{w$pWRUjCU(|?3u1ZB zJa|tdKIELbbjchHkEKhLEOa}V$nnX*La5(Y2sBx3gHIBRUe-7GvzVF>v}x5ItSwX| z2F)aLw9V}U);?Ul`hO3Owa+!K?Ew1D5nk*&XV^=rGF@&q;%#{hcKj-0dEGRNhhm|8 zjh3MM(Zc7N?s66n+Z)S(9mlQ1tnf@8LrP=jIEc0XjKTDvMNGpY+do3f7B1_i5B;G| zki^?~mbwQ#QWIhyTLD>p;~d5x$l;si+%KP@7kBYz{|U83F1M}_e6$YG+J(ioOG zX6@lfX>rpWj1Aa)bdM*AmUC;+yGB&B*6A1GixC1^T-Z4am1K&N`T(0fvRNB~$3Pqt z4YL>CX`flBcjIS@%MT_CV_ppMJyOCaNmdOhI}3v2<>f}3%Dp3>51ss`ie=Aio3AIc zD!C?H8=O-1C&pvlua^l(9Q5dgDjOllau!a@aYtKv8la7rFE^(xQ3!TQ5~T@SSKXbN zHASKg7u^s83Yf>gdh^rZ7Gb>acQ#K=i?Kqy{-N5}b z$ac$Fq_19DCZo0SxxxZkcqMA`j6ljkuuT($J{L+pnXwo5NdO4-hT|dr0kZJfWj##n zs6rK0eDJVC57thWZzl2S<1EQx=*@CapT0Y~|KhW~C5Y{G-d7~_x-Y#jyGhtD=cQ2e z&$%8sQ-8X0BWH1Y^zRY>5Io^olcKmM8jc1(D6PVgQjmv^p{cUBv2(G`ZHXYIEl44C zfXo-j=kU=uWCA>%x3PXbFC}Ir?XMxvSuv>^USiBp-2Tcq1KIE1jJLR=m%;)Y!1#%|gM7`4FE& zlM+GBX$M(F>?0eT0-$lP|Ar3ISZo8007W^-X)$X2(#vF~Xbm|08Jo3x;3g6_%&OV4 zGxQxbJ_5vU+D}VsQ`(=F2zMm-a?#`G3<`Op7EJxh_>ILGu~Whrn)Xy9rLEt@_tO6O z8XXySOU`>d>uD~Bhv&ERC%Lki`qhYKn!sJw)af#JTqkShI`w*)b!1I?n=)^zUZQ5z zdU6S_!M|sUAqhCMA(_>8A<9qoRH9598L6}Asvi)cVcRF+wl{pqQ(+h_T!u6y$-~YUP2kA6rV896z)bzy9T%5$fbEmC-D|i#Qv>%V z|8$YjNV9Ck2H(93HLnG0`d8X1p9HJ#GnJ}>_a+~@_+;OjOZ=uaP0G$fx4 z2EyXq_3U<;`=G#m3{LNNOIP=mSXkW`>waOHKfe;)yQ_RB~46LjoE_T6}8 zLT~m%8K6g?G6I5FDM#M>S66veXN3XU&!8o5AT=%Rj3t5B2`FX;V%e@9|J6y__GpNK z)_|c-LUd}kkESm2*1*?VVxH&5&R>aPr> z)OjePRMW-twhSJ=dT?hte?_6MixuDQr{sYFs}@A0#*b8Y|=lb!O$?kh=7GFOOtKvQOHC&HHc z1L>pN=$eY=wYJ8N@f|+-1fH*Hlfh_Y0CESsN5YV1X(8$E72=3=ItW>Ohzvo-pG)<2 z3VU1?AXfwRX3vV?*DjaI>csgXN{Y6|g*C~wt4S92>+{v71~1;e1l_pA35W-hA#;Re zMV8HU>sCvO_Q?NSv~X%Td*VRG4AxCEQo6ka-;B&S0E|xUpv7h~ge72UFBM2x0I6FJ z=)*p-&{v3;MFq}v8b^eS@v6C0ym@T}?4Ujg|GaWMuUgkMmVU8VKLVUojK0Qk2H?~{d%X*`ZhPe*qsn3>vW_=vNz^@0u}Di&Pp zAGA!DI6(|EdDiv!ILaw@A_|ExOiV25bX3|-H{%73qh=4Ttd%B=$|AMj0ekenMFj+! z`>+vPTl%2ouXgDMxQ7~3gK2HgDX#~bu~in)j?|0exJR_uaup)-Ofc@Z03yZI4Ey2z z1*%Gd=#*rg0~rW@JaKnS`6@&j&c*=dQ|Be``Df|@95LuUV>K=$VSna{SQ%G z1U?SU`tgTTXO>4C*lSRI0j0wxCqyrln@4Nv4K3rs%MrwaBPlWBt1|2ubhPlQBoS^; z71ad?CG#Ea39!u?)hGE$&&Wuz$~#>uBY~Gr{l>@QBXkcAYSz5JRpd;6s9Jen>K=4o zhApIkzjn|zASTJ8ePP&I&oZ-7l!(D9lXKVouB(~crd4( z#a~w%F4Aw62gY0Q9mgiA|zpDvePJaq}hJ zMB96sHeovl+DvSp@oo+WY3KrKarJ+!n1My29A-p!6Go}Y(y@Xj?c76L^3thxbCi&?Rb*eO+^QXOjN(ku7M-)zoS1U>9t?UV*IqK}spu?&;=$P(> zYcPFidna)P9ru{bQ&2L~Qjl20UB_49Kdmtl*0gphqRec}MctGPEfOJQeH*LSefhrL@5`gTS(VZ_2d%`v8ghMK z&)0E%T;IyQ?TZWmK$o9)7PC)g8aTP{=j3_Yti!|p)3v?6`6$LVLf~z0!Bp$c z_@8jHtDE7JnjHljF4NKOH}OZTH$cAmJ*nh$R-o@+NbJd4{N)z#dLnmA!2cI6Squr4 z@9Xd>Opttshj%wPk$A`F*tU=*i{4LAD8l3j?v3{lIm@1h;+OR(5Lorf3u~UbXL#it z==Vo--O3XzV~-ZgXc%n+2gi}0-QqFI?eCa>LZ*m@`pwPB zt1D@#pW7(wBR0C8or(Un3t-&Prvh*+T+0a|B{mV+2y%#0*RQxnDm65bDf%nE{s{ z9GFhDU^M0oa$LwpcG5W}%TB)SM;3@DerI4HBmu(KcPQKq{IA!k2UsIOBQ4Ulk|Gu_ zWho|Jq9uI)_M3teZR3P1tX) zAd{)eU!HEPt>br^I1|nVL z-n;9M1#*s4fv;@JJKNywgu1B%aA_F9tBkNg;Aj%9tyn@;G>p{lH)13zrh&`5I2D49 z@90-UC;+3GrY3%n9k)5nxM~ z;lkw%t4vFa>)W|!<7m*xyyW=mP3t}Bk@(Xpx`6HxHCqu4mDNUc<<2Z7WE!gHGuh-7 zq004>&4CeBLxI=R$6`1K*W8$tKSER`BnnZ}lRAAFAOG&miY+}jqK2#LKHurTo41wr zaqK964lWNWkH{{n;6eCcaEtd}Fa3uF?b?Rzo9-)>!0tl_2AH(WIFXoVfu#QALt_aa z>jLH_%+d5#?wtISNAOrxmO@T~p+yJn+dBX$N~>jbg_={P zDZR>I%-|yP@jDo>mzMJW#0{fI+cevE6Ir*z?B@nHOD=vX@6s#kyRz9R{f=BFx6>RCh^v#GNxM=V}+1$c*SdwY8?f%=LDY&ksE_i`u2cW&(; zkww}dD%IcbIFF?}eZeGqHUI@tj!wjZLfWg{FJSS z7#GY(S9bK9q5TyZt&L2qTq^o`tINUa`!}4&RS={Yj4Fz@Fp(naZ4AB}5zw(cHTNk?$#tB_-HE8LprJrv;glGrRkfIbU9{}E$D?WUDJ#ve# zX7Gqg1&4@i_UvR8K3@rWz^F~yfz##kAZSue5Kyo+?^6Kp~ z&S&oH=s5S22|Jg2A_HPD8A=r&jc5|c52W}1P(B3K^6oTp7EcO<&~tqbZh}aG!Gm+h zNlG5Fg$XNd$x3F}(23aPJg@pF89-&~jg!W@!^TFmUvS+&r{mBEV$4q$xV@IsNLjaq z&C7wLU^c%qYwQu*HbB{0u2U-UaxnCl=l@<_^lOlVaykqNFb0&Ypla{(u6L*zjdlDV zrp_ravo>wkv2EM7ZQHhO_8WC<+qTV)ZQFLzNk_diGy9wQPnV9Cp1SI;Dg|dGl;`7y zeH!}AQWYy;JOmFgO`!hyWqjw8id9ySRyR|o?_{;KP^~$7e%cV_PuF8>=~J_`SvpPrHy97XoMDC$MTMnJh~}XkQ;focx}k$?lKPABPJWMj zye^#r++2pLP1ya1WTM23yJC5ET7ax;;pFLa?0z^FsLO%;Iw2&i>eaYzz$X}NzM(oS zsW>#nD)l=b#vr0~CKmjop0>xI`c~iwQ}Q;zR1=fiyrgYf2FW4SkR^xK98=!3NVSmZ zP~&Ip&ob@Km2x!R+{3cIN%NgzS{!?=#X z8qL#b5LzJP6~FtiQ5;fzenh-mzsGuUt~7uiuw;PR)Bj z62tzHfXTQ+XdbsXVMFy#TjQF`uq46Hkm%w?KE|@V-MgR>xxO}*RUaY{FZ>8Z7`~^` z#XjKCVuYms4Ct~m{j)-0=Hg77r36QZ`u|!bds?72I5|LjJobnKu4h&A6))dLOghyp z-zc90GGmhr{%CHDnihf;nkDVer_;R6LjHZQdY{FW?BEV*b|50lhM zKV2tgB>@19K!Z{$_l!8If0qR&DZj!#dO@g{)~}WRS$^bmO8IU5b$5Fk*VMA*w=0|5NJ7KWGXznLws5KezRUc4KGKy@7N zNe!?jn%8W6!A7Nm(&VfW0S@3+ zB*M(@brpVua)dQRjY4rC2t(R&JkhA2J;%k*$au%-s5G?}uqMEovfL36728_Ka#^?i z1sJlLn;BY3kU(Jo(T}Fp`AKDrtpWkZ~9!?mPztj+bI+C33BL6gJM0{kfbrzG21ozNg<)2<-4KgD| z)p&xIqwSpbG~*o2lg?{HX-5ZK3lCu*4RGU-X%@Abd-heM|i82-_kosXt-w(4nOSy|Iw9UX1hTrpUrm8a;PU(y^fcOeb9 z2OOj%F<(o4XqXM_3u_oR*qrW61IqOftS#>t4`HZ_eC&Ud%p5xO;6KO|zX<$_q|H2s zi|QOQIT%ASK<|$M?z5>)e-)=?K-1C(lE~6|g11@~2r9J55Se~0?SKjv4-L2Tawt$P zf1+6tpN9o6Ijr`6(z;(eqnxQOT`yvlj@vQ&(>wl|*+i#&(fOb29qR1FIvYIq!|;K{Zl4mnEwAL3WE$ zy>W?7N>5GEx@D0|IgNFda9tc%zmhc>Sr3XeUSGUmZxgLj0v}=x<}B`v>Fh4rDk_l? z^#i=TGV~HfhaO_~Ny40BPvX}zZnaFV40^_-!Zfk9k%wFl`@91hK+2K!yvOD%%$10vzM=exU)Pc?Y2d*ORaK{47fjllSn?cJ zNB2|B%3qQ<&qi1V&^q1kawB=kD1Ab0TD`j- zH#dt(rMLnha{YnF=2+dK8EC=N~zJK2BfKMFp9>=^$R; zL)9RxrtMlkKnx`zJbm$0E_1W0!f#&i%-8-mzGQ#eRgDL_)$)$95;m2ZSpa}DUL zHVg6|vMKFhKB7z&PV7Ovn1WMtOnAlHiDcdw{Gsx@tJM$)H_wn_8aQj$QNK}NhZ5R# zB?lZG*1R`~?Y&xu4shzge;uf-$i<18FrmTTdVwpe^iVQCdmy2hL$~o4A`sT z08K-lfSU8a^br*R+<1kTAy36XhpX^D6!U-ukK1Tk&gTdRjz7oV#+(jSBKTmzy4|um zd$ojalXZk|rGd9ObHbbnnHz~|k#yA(z!>gjyW1)@g>@z#TU$w~LL;E{EJ*}Q<8tW) zcYRF|aQ*=W9cNWj@4%sPX5skVh=Z1Ve2Q)_fVkOX-zlBBoKg~LMv^yR@iWNh$7J(t zM9RUS0G5Z}*72Od|$f6(+4bdK-OvMd2_h$9?)MD=3zSNwSl6vfsg4H8%i9&lMC&O2)=nMcT* z#MHE5hXZ+L0)<1od-{31?U^UZyY&|*9ON%h0;jUW|Nrs$hmNu^GjpaTP(k6O^}T`O zrL81<4}P$JYpg^`_UlP)7l~lE$-w`XUTM?7slaJ~IoiHORwxjve;V}ISUCTy(SG-+ z{ip5tf5??RO-TZT46v*@S^G^~x8G^o5sZEg?xP}sjU}qHbu~jYQg!|dxH?2xB<&#=eiyDtUiq6%l+%<i2zIOmzW+qDTi z9lg^$wP_v(x0V_6Sry*ZhyoOx*g@!2q7p{bsfu>}v4!c&9U?~NrkRodO134FHRRXX z%7Lb+Je#EpPe!?7JAD#I25axm{Nbdi-2yFx;gBXEZBdPpa6+)G1*K?ca+mgCTW%VY zx-r}ky#XceB)W^0uiY&XGC6Qbbp(v+1=~P1o;GpmPpW;43!Jvd_EQGODMP?eeO1w% zP7m(HNI&a}Avac|!Wd+DZ0_icO!r=Q#B7)45nii#rUHVR$-H|$GPTvpNO+ca^A8FV zuZt!?AUCl2q-qN*s#`ieXHAN_73qD}#Dx^WC}rjzk5_P5^v)|5x1^Lbqof0JpLlKk zSgIK>9h?kyv?bL_xj~tg(3wqcuZUGGRBAcLeZtGP)+AxlIXp*?MN)?R;~kR7XZ&1O zgMmoKs?#o9t9z1q#el1&VBS`1cx1cq$*}=YNd(I0uPe;|2*;}YwdTk2QFjfaXe z2E`W2$#?#q$>h18!2@M;xX4AAfN+MNJhAqWra(o9ULDLhV4CuM{{W}YSmV-b6jlxZ zQP6T6KK#hx{?Y$f^5=Utwl0#L#fFu6UhCY0Be*~>)5rumd&?B735{YiAuXHpT)DTa zgW@>IdD0HLbaC0}2qA__)NmO36Z@;j+~mCOh|aomr-1OCEL00!L`@NL6dEDne!*cI zR>q=JW}-N}H!R#QKW{V$UVQ2Zfo~QdP{ra3B^``Cq%o*{(l$8C={bUO^Dx1k`-r9Q zpOb-8m%|IKNNwTb9TABCqKu@Po4590@Gd`ZcN4D(-Hn1IJt}Qbn>NBaDxnc%a-AZc zm)KY{mfhH@XJfFOS*)>t9uQy0oMPTkY0j<~+UZ`I73w0YA49G|Y2B6RKUVO5;0TIEAFvZzMgzH}Lsv z+ZFJx84+CK*X06_x3-YYn6@j>;(};cc1m40iE1f7+4~Y4PAPZ3{Pd!l}@G%%$Bd2LS<8tqckH5dy$?kAxZGzqrg+YSPUP8-z#hfjM90%uH{TjUxLe%4x%=BpF&Q=59A6wARcrGm_*NBmzdYVPS+o7P{NG1kq8?XWzw>#YF)`}^&uvE(uL=4cxs$`w zclAzHo6mY#+uMWw?c|+rtA=G!p7!BtyWoCwT(NzN@5gUxj)Fb@KYZW4k-lM;fV~ui ze(z`Fy6O1sy)FL^+Nv5CvDL&XAST%n8lmp|M^iQgHx4xw{KV`SmP$L znI**B&NfRU%`k+|o(j@b*XcK^kB}C?E8Eve`}a_=61d%l_3KAYf%GR%o*fRhpsec$ z2Fux=0^*nVGxpm;{;|%TzVzKY+j#kXY>c3Be8&&tt|VeWgFL>;XtorxfSUPlUpxmQ z0DfU4H1A>M8nWEGk3zj7!|G}H>>bX_v-Zm?9;SbWE$b8H*1iyisKt**Y{-Ms6+f8u zaqolDKsXwOjdZ_|n(BC5;l+TJB0}9b`};L5LbC{H3X{vlI3mgKrMx;Z3EmlnkFr#F z?VjY-U=Phm28fG1ff8J3=16tq1;u`Zsw}spsA%nUTaxQ zoKCm_-DAL$RU~Ds zhJk$0D6I4mR|tco^o#QvwC!syIqFnY?Qh&&5R`S)YZ6Dm?e09mx=wmP_zKFk!1QgU zmyx{zFpRB2V=my1dCj;VYxve^XoclrVfmz_zguJR!oOijiji;Lv-hlnL>y;T1q^8m z$PBcTNq_EjsnwGV=+g|pul5GbcGLVNYbECR~_32T1glBhRcoe$bwSBK$lCK|~8(YZ~J zC8bCekhlZ;2rPR@acSRm)@WCSFt3&UtQ0vM@7AoQ#7YJc4hw<|kd0H`iA}74KVpRy zDApHdWwj;|7Tl35Y0Cz>k6AGZ3tY5QiEWB_J;V25R#mVpD=$}U^?L56@8xogw^u&_ z%LN=uF$6d4Y604JXp*f=(-XXqX$@o0f+A>q1h%1WJ;=_x%l37(BVQ7Mnn zLU262JP7ZHNrrq>itcfPV}8~%r2D}GXvnXAm` z>qWviBjA_5at!DV7BF@s*p?DVII55~Ly9RQLWI%sW27LQzf~1|a5Y&rJHtJiARMvQ zm7G5snL9a$Ly2!-p{I%*XS<77>$;;#L_poDV1}=@q%QUeikoLFaA>`#0+nfS$!L{= zoQlkkDt&hdTb#+uU`1Q1uWN$`LB6KKH^A+4&`4akshsj5R9Ae4<9}*~Q6KSWPTckv)njN`2B0x9w}bsj%gl-s zn0lIoJR=3ATCxy;s3eyFj2fh%0TUJG&Bxr~&)^*1!z?t`7IX5Y_wd{+p;8UioJ{az zXqjkop0nhml$cM!yMjB;HYHIXK+2;?Ia%QeUd!P~%OnWYA8-UxY7&UbF0DYOV9(tt z8QB%ycUs^UWX$EsD*eH#&@wq|J7CsY9~cSqIW94m?jgTkX)bOCm|X6EjacX8-LbGg zRKu#lUcZxo&-{i{nT`^mr&*y$%}l*Ad_HFJWW*hvhZ+@Wp25K8(Pq=kx;Enl@|zKz z_KesN&EJX6bz=9VmWWB*9L|73EFawZ)jVnn&VKcn+)|}RPYx!feBq=yC^4^~wU|m9 zDPs@buhvoSXOv_Nuvqn;G7m9#V^(XFnnsd~rL1H!MI`5Nb?RqMOc7?&RXGTk0NAR) zQ8TriEnVeM!&~ibvv?oALcR0+IG?1gFoe0yC=6OMXcpqK*|Hn})in>?=LXvOh&QPa z3j4js0pqDV$I4t6;wmyua>X5Fen;$TstUaIlepUFFMvh^P&pmqsBMiN>{FU)0Oe9I zn<8R{$fte`?iqMnPz-5lZ^9^<8U5JVs>$kDx1Og);|qK0@)JW!GlFeCow=KR-(DXv zshV+L^NeiXk8zA?;A(5}Mn?9Ju0skNnWs9}#BZHQGHI+vnq%|CfWpa=HOk7Y45KkE z#zK^1d%F7zKz~?PO3Q2N20M`G+<=PE-IfjiGUdwyR@zQ5epAOn7z8QQRt$mnC|7T_ z%Ill`g5%ZJn%R73r04LH2BldDJO!AEtg?ZAzMHHQoxEE;g`D!|)=A|Gn5r=n(_!U# z^$Cmnb7x1}v?-PY7dOm{1M6wI4#&Ym@c-`#d%0p%*lX8XpX| z*r}5h%^GJSgO)#UXMXwCU)$|PjXTvlK;WC2S#)1EG~YYx8=*2ZTg-`Crz22+W>~Tm zF!A4o0^}5dn-?^e{1)3=ER1~d*0|6^D>jAZHwyCk(W>Bifk#luNPEDp_Qw!iCz+hm zmj@U=yw;M&;&s&rvXPoy;a#n~DQEhIQ#;3}^-=rm;H=H8&GQd)5OK|W;B5yxOI0QZ z_NEH+oOA?Ib4G(ri+Wa;t?It&Hy#JaT{bUo0A||U97&l%a!tsUsA0 zA)fvQkWmh48B7jxGf$$7AWx8-{IA*zUEYm1$FXo2=mEc~Op8rn@Olg}Ss)OCUR#?U z6oyz5(W}`_l{9(_(Vc%$W6MTCzn2tE%m!FhgY^#ebTJbjT@(DMQ~B->eeArmSc9G5 z0(5AC{VI;r^T3Y8c)C%?hO)qg5z5|^*Vt_Sw#x-~M7ntXM&RksceL`5;@2%D z2sfsFznHkvT|D!Ww1!tFMLxAW-ehE~#m{gao5W<{c79pDxL5aND6FH^R3qF*5J7KH z(p34At%*5vb<{PI!-?U%-s6B_vZmJz4$y~f>%Gzo_9b3{^Hk#mi+XQ!{j`Xq$mEB% z#bqgWosLaOdVTiKG!Cixv_-2TB|2c?9T7@4{ymO%-fUN@`rAB7^gX*&eF}X<_64Rh zD_8giOy2FfKpkg<^x(Xa;Zaw7sjiFC!;Q5eft8!o?ShMbhm(L74ZnH6}V<`>gEa0y#or^;KZPcYT{)UeVFEes!)H2^LJ-nl;&8uYV zu=&fW5>8^hIIhSj>d_i;vBX`JiXsPe#{*HNzRviw18wFuyy_LjO2O-&gK+=azi?$a zO~WE`1Hym5fggt`2@r?7}qij>;3{||NQf0 z$l>&P`R~OS4d;LP7Yp0}toxk*#Mb^#N8f{_O1-hX2-+uZoxe6uU&2OD z_rqeo4gBNRQWA7|g4Zr$0G3Qd5 zFErSH8A~C_3IJ4jZD5VAlo^fDy?EwkIRhEJc>b(XZeakzA0G}yjd4$Se`=`Uqp0~$ z!=-$-{N2#gzo(wIs)Grr#537kbDUj&;{zq{9urwgl!ah}j3ZyI=f^ZmHcBVrQLVE9 zxDp}dwINyTiV|Cz^645Oje5&IFaX{_W)iR7gL8Y#aCbz4K1f+v#xjfboF#qH;-5%! z41Xqb1RJHSEDVTHV_6b7TKeT4Goec!s?-zW_oed3in2PwXAp~jFeFF$^w_)NOw(I6 zAJsrZrAv>rNy)-szH96`pxwLRgdFX$;@TX-KZ7T(zBY5=qj9})B1 zHD`yhaL~;m@$E0@r-!2ik4fwFV2kB}C5(_Y1*kQ-si~e&fIL)iNg)`q=@GUQecgIQ z7>bZP+}nX+x#J{`Hi`}zj`(mAXboYDKD4kn!QmD%^dv}K1l50yS&2DNBA7&EOOm?a z+ZubZkwA(=%2S-q2W&~GLjy>QkiCK6G`_C_aRdyN_G^uJxIA9!d^3JYNUHeBUMdn= ziKN8QbODQ%`p0Jc%7BQj*zTw`E{%-P@lYfmQ-|sA^B7UanwRp@8m&VAQPrq9?Qr~t0ot_0T~?G=$6DF8{T10Zd6dI z?-Hu0DiO2ZXEt7c^a)T@Na>jBcv@WubP2iENhkDN;0?B>Y<{|9>xmpQ*>7tCp}_M* zWp=zRNr(pS6!F3ZH*e6HQ~5ho+>wlNc8cR^Mzd^$h#;5!annfMkwjBm4UcKwnaZfe zo|G{C{M5Q~14HEXoa7(@%jPpEVJBzl{MWI?c@n(F}k(G%~Jy$$30AI21)yQrzfqDL_e$o!D=Vzo;28M6>CR%7Q{mhrl0S zD`EX~KXeUN3r?NIRx3KM=>+7LxSZ(Z9epF4Z(gB<8!)Bz8 z07ZRyf@1)IiE)5M@uG@e^ejAIjWSY3DE5{@b#yDA9_bw*W2#`AQiFsBtxn>ZI$B1f4% zcW5`g%yBc?V45gdtrc@U19*ROVsWbXN?I%UCM7^}=FDYj!4q~>FT^fF$u$w1Lj_lg z_s?@>PtiQSu(}^XjhonH8+?46^JHkAL|SUv;>k8|Il3^=ky}}t-43hYD956mz_DQEh_R_mZ=UZZ@{n$k^Q z(~1vrVOeg;dwNk~r)}BXl$rn# zFZFoYURU`DvyOjRx{V2)S*jgRUVWz_Gi(H!JLZEX6?)5 zQ7At)4o{WtYLK=lv7_)e7Q|g%w(;fp`)O|isfe`7u2A#xiTjfwe-2&H!(6_#mjTej zay2BDCdJTel;?+pJ%(|3cGKh0ikGGzyiymm9b~v$`xQlLPK47u42{N1;8orTt3-aX zJYrhZ)Cky5iwku*yxHX>Gg zFwEk}meY>B7*6OUvw+q0cGjE7@CDc;7K1R?7DZU)a(Z+_(zF(ouz<2eZ2>W)*0X@R zK#SHz>$w_oIcA+3j)xa<)JJ#vkT9K$^by8)s#r&phO}zj0CNnPRqbjU8n$!XT?+LP zQXsN?U|Ox!$d8--Svw+6N@*}fER@5f=Rwu|9{zh1J7&6=H^|wpC&@0J3IXuuvHl_F z%Imec$>-xzGEtUr`PJ$stC`q$K%bIKzrB!!pKEhXHJcl%=x$PQB!g1v+v`Wm=xb+- zp8;`Uhg$jO+CruVQmB$*RT4R!kv&TzHI0{gAh&X05@{%*<8+={>?W+h$YH-*s%@mV zFqVy7#^<2#f~ghB1ZU<>+QTj0ew0(OwS8_cRL$Zb-E^s6f%-53@sLaTi5#1pwWy(9 zw|2FaEx>Y=BQaDerr;=z?)Mi`fBh!m-@kilxi}EeU@UB$ENPWE5W;{S?8(?oj=P(> zIqm@bnLBtakd;P#wzg*2Bc-Qg4*DRwsFTFq+o||Ms))oFB(SI!ac2vzTgV!PIe*@d zRqD5<`P_O~2!(?8x6}Q>ted>a39Q{+&aW5K<(il&>-){bT#%;tqk!Q9s?l=jKq$M5wY^zX=2$U6xHn87 zdhPLg^8=53V=522cLNOWe4oY;skNJQ9Q*_=&4KoGdmKu#5z}>l%lo=S*DcV^aU(>V zhzt|xL{ToICJzuRMH#3JffTwiiaqo5SCj+u*?7hi8hy|;luR4~c-mV!8BAns3n?ER zufkS?g>=F)N(}KR$+(jno!E2`@_0BRr*jPqvYLZ1o3{X~LbbLavrxkfm{QW@DcAjY zIy$hwxFl|R(WSLSHkPvAQ0+Z>wX4RVT}0FHpCS4Ksv7|Lc%h>cy-T_l-nfOVB`ixo zMT@puglr1A?@rR-S)pwq5O>;wY*spIm=-m@%E=ITEp}cWp*iKX-hEX^e&`jIW$oh0x4rMS?MO?P=9EK(QwU96_H#yB8R$Wg!t!K}wOJ8$a7h*ycRH0f&no*#J2hC1t&)Z0EM(1UlC|hADz39 zOiggn9w}93_4fR#Zu}!`K58-^59T73_7BER4T|=*vZ99+k355yN~;Tl(6061&bqk0}y`&$?e!=XCidzpqkR5e7 z6QzE(#{hfwxW|n@G&eAKt@jr|*hX>kpVbsF${uYOHte%>(JI4=O17}m*z|L(FnDU0 zvZvylRnyCxWmK1C*Y|IvS;qhdQ1}xo+-DHJ_l{^URSGsH8SL6Q=7_RlxVDY-<4!(F zRkH6e03`l!0Ngfy{(U(PVlq%v%-l`0jTwM{%GIN3y(e%=C%4TB!~FU#EHlyD@O}iL zkY4G}XTE7LgYSmKqZr5WVv~%A)NIZ5`RwnLoipo~k0DpY)?B)roB(*uj4thj9g_^U z`1s%P>8Bg5EKeqP5w%(I#W|E6msKiK)=}p^r=lP?L@>90_`ynYD>Lk?AR|L8l&tvg ztS(My!1MfN2{CX;Usg~wd`64a@dTzOiR%m7tL6|t%A+B{6uj1xkyx(t`=0*_&=Y=S~3V|L}pIz|D%L(rtM)uFr?W?~|)G)&)L*==3vI@0gr`aZ(~ z*MKr7+eTa@u=0`@kk=El0KDkzMqmjFq3`N?L~Y!tD4khuh>@xCu8t)GLv(A`)-uE0 zFISd7edf9|H_Z^f28w+jpZ_lX$?8pCWc=&5+1EqQ43N3Zr1XE^Jb%f%G28wwb^Xza zd06|~yU6~>U{fTc9*q8APSn`%l&PU2vyCID(HME%dWnwMe6chgw8y)nmUsHFNMh=D!WFn zHtDWiKeahDrZpd+>u|z|j5==8vB>Wk5%uBah3c{>BDv1CkCV>Kar;etu9+3Zvxy(N zb$f}&HyGfbJq;73nI$;vF{WGAcmF9xp;7QZ{Vg8lE&%u3+}=3^(B-o z)Pl~bzM%es@0!CG85?Sfo`lh$kh${1k5Uv_wh_?i7}PVAv?Z>~YM0|x!PnCb#;}Ul z5~S7jdo{HNYUZ+zCWt#suxc2cBf1bfop&h=`m|j{+*yk z^`)ofh!LKlYZ3`zsfx9J}OECJE1V_xr~*)-TlCd zG5($3S6$QCw79ekb&Qi|=8L@iC(fd+_?rH&9wzcmay&!wa*C6xONu%jtfq8-e?se_ z#c1)u&hc~&Wo_VaI3sWx6#Q3Uz(*qR(XLa?w%sYiaz8fq{6T@h2W^=RDsMhM?K z*VwGH?=K@l5Mx7UahTi#S>3AY9Iu&>RtG@lVhU}plEI-!U?5m0J2$CfC_cGA)i|@X z-J$NOb=aGn^;B`y(NAA>#JT39;hwQn)J)PE(_%G<2xhd?C?>5@IWsW?Oo^Ux9{v-fVv36f=UiY*U%OJ0lD2zB|MZFp4p#-p;Y2HI`&nc}Am0o6v>&Z59b8 zW{9=zuoHMs*h(wLW0+U1AA$8Fl?w}WO+mn5h!Rcp*NsUwtf~|cK!wu7t%}lTP|IJQ z2<&_EsmF%W?`pMb4M8B`SW<-?25(wj=~=Xq`WrLl;iv*;G%fu$K8Ti z1{5{-P8)2B1Dc3;&hoq`mEFhiVfUfO9S&pf$$0VX7q|zZMBiN^_t-Cr2LynGas?9C z1ZEQi#emwzVn~cYK4yeD_X_(kExP+3lDH#3H3Ja?!}()_CT+0U0Mj>1A(^LwWPfVn zJ!D5_=JRr(@lCsE+6#+77dmVJ2?xf5dOQ7^Q%6CmL!*Br^PiB^)GI?-`8}EB@+%hp z{E|;g=d$)w)^ituZ-#D9Fe?QdWB`$d^Ccn|aLo!9C@4v*^kah++5@%x@LCKR)=0(j zY}(>0fM8ieA&bm&J2MVngzGVgaJuiK*Q|iX@k+7E7gC_uFde>WxeU_jNkLR7p*|k2 zOzcG6#jn4EtqZ)L^!0WaN>ruN$z$y_cu@$YEi+0_MqjfV5N>h!^}7LZs!w*aw;Uz5%myUUxzx zt5H~40Y85*%E`G9s@nk~Hc+NJ;c3E^DfOW+#x*TkrYVNG$(E6dTMD|>%G^fK!XPY1 zPv(-MpMI_UYINahMCUO*-kXR-(0JoB7>dE>&k6`42W#Uh?})4_7t`#hxdv({yC)KY zKan=tmV`287<*LEk^q;C?u1DlT!6>zvB#Skm8X*-bRswbkXXV~fT z6TDhCj7Kg}EpwrauF|*`w<&YbBC=~`W)40Hxm5|K9EZn97aAkFqnnH7rru?MjkR}> z19ohp&b0C6lHC~4CD*yNF1GnQ@FINkbtBa^aizy51wW}4H0mI$0TLg{-@>S4!n*V0 za;mT7)ZTWE+0+e??DZ7axL8ou zle#N+aZ{IP83xng9L@q5g&kFJ*OM3dLwkvOdNCY8r(mU$~CP!T$yxo;g&Areeg=4#dpx=p}yt2qi zDq%e?K7<6Y&0eZ$G{E~_JZ=>sFd8$2xXd&K@(TcJ^WX$)8WwJC-LT=cDy$Hp)QP-8 zOwgo4jb>P?X06{ZDlrjx=jRl(hA<=~rM=Q>-MXIowk}U880W-t01I71?7iiE_Ms)h z&SaBN)U<(x^wFE#)G7O~n2$7B{11Ql)WSk~Y0E5W>d zo%=5)lKQhRm=yb2fyNmzn*t$qvY{u zCP;AtSiG3FZ4Ki_EThAOoin{2=qBu|ZXBOL7ddB80ln|wy`ZFK#D)4o*qef}9jZ%# zlztFEDNqS(HWd0yHc)U>S;?z;TTYLB$pgGf-JaK$V~S6Q&~VscJLAvB+-0xB#*@v& zCGb?$%{ZDhdRFb_AEn52HM2XL1G%H=dxB@)lsSsd3(%EQ@&B=)V zog+m$*uS>pfAeVouQ47%_=9kw@;sdyuR&fkB70ibhJeAIr_msJ+BbiiE+Rlam z4vJ>29g-)8uN8Fy1RNf*wdEhNsl0dzI*ds(^}-f(x%v1>yyTNg8oT(`eIFll#<{D; z)isrKFfm8uPHe^saG5V|Bzqp#*ptDOD{|-Mk9Wv4w`EjIeoOf@;RvH2A$KAdS^4_F zMH7o9FkdG#Aw>lzZrS1=XS?K9o>wRXz?k5{i>$f1RPE*Mv!Aa@k;0dpxzU3)_JOMs`R6P78Yu zlyj=Kn5quLa4p#JYPYRfa8l1VF;q*17=36dM$|O$~d9CGt z4)}L*8J;Y=v-3CiwTv7)+TEFZdd9R8I2>uTX0AjeT>}x=gl^*6z$Zm3jGpMg+GYV? zf41l})-0Cj>poQQ+P4Uy<`$0tlwjen%SDs4M{W-OE~B@ZPXnIQy4hT_KARC=l(k$5 zZ*oQ7DBbYdv4KXl6?FX@ux$mWi$1)4j9r?Xlvd1V5L0-kxmR1Wcr%)IUHT{fj_lPi zVt!5P9RCG*-8WMd#FY3&UGn_&X@5^Xn7aG?1rTI9AtEB31V#9~e=@`ZEy?|l=bwh_ zAFRsC#LoI(rz_V#Ce{DJR<1PQbx<-uiq?4S76($#i{_bK{w5tmAru?f6V4DPCFl{- z(a{hzoMO=H!LDKrS&6}w5fdwlwtDrmy0Qc0;OcZ=@L-DgDVT1lIuCfS@$!@px?wsGt_E#)q6GNBd z5%u*1TAWxu{sP?&TMUSXm^Oa_PlF@yy8YLhOKkaBug8yfk1>i|-34H*@KbC6kiC3o zyt?9xaAwFK$AU#DdiLyz`j!PlDUi-dsIL7=bUEkDjuMgsYar1V8p$&^&?0@iw{ zq7i*Q*V+IMIEUKume->>=p!tAoEDf`WYxF<*dRKx2aQ zxq*^2bT#TQXRRU*O+I680o5mVCpKC$@hDE@X&MMZl9thaOv;f_1kth=1`;(4$rO{mg>-xUf zY)`>!YMc0=gPI#R6D(_e5BO`(tii~Nf0&ud%8pOO?b~4_tx>hI(Z&N0R>w+E3hiu_ zg_!vi3P<0rCX7E{DN?di7|X#P??0;u+hPMDi=Km-wYmb-27J*NpeKmIZu(|M(%Qhw zs~OO$Tv0HX1G6ej=Y(Yai@ht0*S^=PI4-;60CVvBwy;&;d0I-*kX|QauGESe9QmNC zA(I_(T2ulci6Db5ah5zMV%T*KkmX!rmUIWn8bs-LD8R^(^`$4>d-IRTU_eoCM`57Q z-)5ppI7bmF44cXayYP}NR^}*}3(T-k))u=pId7Cbbqkm>Gkwjx*}*M822##)B&1Z# zWY-jVMzwhxxNKi#n%e`NwS*(YZF%dn=240HPC3H2x=pIlx}<6GLi$S%An&m9VWQ_HG3aOB7nmHN`YsMGK@9avZV zy#EdR>u`pG;zv=Rx8vtEZ&EEY9YYSDd$yQceWbWir6c60MVQoer1ZXQFZ3QQ&`5dB zm=y(ph$!iovA5^-tf0qQW4!D(OY&Q-Q<$jaWRpUyJ!3D`S^!6lJF1!m>a<#qVheKX zuG*TR7I!1gD0zv6HGErm3^o0-keWPxxqv(+=k}9l4}Bq{hW&v@WtX7szQ1az$gC9= zJXl4Ye;HX#o`34Wk{s%nHu=VqrB5Jj_9r+Xk@o9A(d#J1eznTdFu(`BBm#Rc^2PbX z|5d(vF08w~w^ILC%gWEq{pq6DfoqWgTB0vP(*U8}XekVTDId=My9l@l(V4}&PU!-p zyyDZ}(AM%?B)OV0KFA9%QX+!oggnED>q)lZOsj3P!QI1qNA@~>RNE(Y)1#cUNdw}5 zsSvE-=cM1@w5`-l(~SyYYhk-&OgYHp4&dLV=0FTu&Ys+7xYkZwH@Rm{y}IXf(>QwG z%_ETs5)eFoZNfU-3QNW2KT zXzSXIZB%UAwr$&X#e9>BZL?zAwko!5+xWBh*Y-JgtIaj<*BYbu{&Yy7Nczj~5eorc zL#NPEd3F|41H^bGm+OJK=XuFlM)?OR7Ggn*tZ^7})pu;U3e=8ui{H1R22LjV(>VnC z91Z}V?BU&yX~DK9g8YCb`2Q}^Fge-&m*?PM{QvP`ob3NeUC^gWa6#xLRznb^HkpDX zw`g)hgtq^1!+u_=CEjMqrAE?&z_vs`LPUeW{x8eM&dQOh3Ih4V4%3#ZIcWY*clL~@ z|5a@(D$@TIDd5Ki#;X|fFq(r5Vtjuth({!7dtDB)q;ce{iupBRj9JJtez?6%8{Rlj z?wW>P>?Va80C+zx|J^uz8iyDF_;m#ki1td7SeSi3oL}bW5e!3PbNw*kvtr#?pWq6d zEPU?BX8^N>fP1EB^7%Z<#X}#_`ii#n4yvgg0nSk53D)2d_mt4^6JGwLH`s8S85lE{VU2Z$eRLH*A!^!#d-9h zF6)?@hv0r?VVGJZU$iqN35w-3pssIb|8=A#kgI4H(1LZ*^YLmJLb7x05Vr6)!{f&F zt>#k#HkF#N>O6WxquYxI7NeZUr2?gjtxj0JJhY7-nPa?$yCG*5wnp(j ztB~@BH<*?>fkj9~6ybAP)9Rcks_Ot)YfFbQ)|9dH5q~FBVqK(aLCXm=MET znQVdzahe>1%4k7F2wHGtc2Fqm*nC1W%-o1MplX4Y(%1qxB;%o5-XDS<$(w_wU78^H)Y>4q1BnRM5?_S6LlN}d$_o(K0x!S1AgtY(1y zsHF>%Pn{Q1HUkc1xH)x_S~h?|25Xt0xIK$lcv4KrLD=k__Cm+}FddtM0e4ln^97C$ zz>OV33IP4Fw=y`+OO^(7wgg$iLh}Hc^}I$-_hezSOP<@Uq!&yHlUT%Rvhj=Jl0q6T zwKw{?l_cUNRkv_BoNxKeD^4k2xtGE&Jj7&J6CP5FpPd7E5|L_`1lY|!t@C)Q~FJW(HRf;xO_jq#sC#xA7r%2ous zme=URbL&=g{7c&AdnUKqXF_@bp`Mu&xQn?#Sv+!wB7>TTy~eShmq6j#(pbKD#Y)3U zBw6rrS2r~SkFZY-nB+so9Op1+1mCe+0R>G^WKHecMrNPEzaB)Su~K2HcUT{I+1h0K zJ*ZLtW2bvBQ^t_-Wm5)4Hg;J+?mtj+j1gklwas&(>{BrKH4cU-@*5wZ;j1<=3)yNe zvc!r-6=}Nyj&f?nw|a7g6M#U~bCCCmb2R`|jj&nEj*1ReN`u45(aV?BcBk>M&GM^p z$pp#cDl2{3ll*xD+4;%Z<={q1hc*Z1A421j{%i8rZ2WG-U5~)BJS2CNyPUF?H9bhP zy|UiD;=<@y&=djCdYvhN1bbCyO?1}zJ`-I=Q3-K=I-3~sIC0mTnOvpQ=3DOi9xFj z9Qa|+-jHcHU~k@*=(JI3i8V-1Ej0k6^3E&K5gn87+toiR_6%=p6h4v3GQ+PQU{5vncItyZ!3bazy#;Nw`~gOW0zzA;rc>sUXCjz#yW+ zH!F3ZNfohW4Wby|@3Y5Jgs8D18LQ?M%}J6*<(%DW4S?jSW(z5PBgfO?UWYRNm=WO` z;&%3V(nzLB65c(?{vWs}#54(c7JSl`*|i0V@GaRl(Pr*H&6wrHXnH%V?e|pNs`rkD zWm&p)c$*QC44TvVahGAz*ebjCY%+`4W})*n_DFmo#9}i284;EaqKX0fK8Mi=z6&|T zAt1FW0A9(NNw+X#r+cr|8dPKgMdEnOP4X`VG6o8MBN2>eSH!4zFWINmigM>6*~)5hsI z7!>yZ9E;8iCCu^%mi+ts-|Mh^q(6sgW3~^SGPVtuJENA{5LDw_3y^Db8W32Q z%t%nnn5K<}X@^^X5cUhI*udLCu{IxuGgR!c6RW1HsVt3eqDmSe9D zmyXtm!x*(GYe#Z?#ZhCXbYmy>)ibV*?k-W}T^~oAb!P+BHQY@cXhc;5_<8%S+YrHVNo0ZpzF zqtMidt)fE1g#GT;^rBk)OwPI-)>b-P5~As4^9d zCH;8#;)===_PDCCbZ^)X<=I)MKFKDipq)%ci)<^EIYdQM(h6Q8U*7{@@OrU!9&MY# z;`|Y)MMPeGQTDh|rvIB zqi6J9BElR)NwuY}n@1G6C2+JC*=4}~|%doWA?FB_IM8+mic$8Ok6iMyS7+8S+6 z7GjMM17b{GAiL`$6?3VJ@?9Co6BF^P0onKAhIy zU3U(n?01e@9yY`-*6Q<28?HGHHWQ)Q@wfDFQ}?M)F1@FjG|$u98cSX^&glL#UKm_Y zh!+1w{3W5!3;*;~p2LArEjz_zz;pxnm0q8-!YY^iIZiC)+zJ-Gm`;3>?{pH9gX!j|t zM0{G*jQX{|5LUPv`<`hFtst`sL*P8Wg^o47&svC|N&{O=CzMSx@&l86r(VrnKxqYUr@ZnY@-i zLrQgp%7k)grIj{EnU{BgCZ^(ig<>J*D%z^1hXZW*b0Hzz=pPT6D>+&KTxA3XVjFr8 z@lD|-djo1uQZ~--9B%c;{9%tu7Fa1`D(`uEY+E;K5)#zzqM9`+74wDoQ@YhsZ1DMQ zxttZR&lsKe3Ba{2iY=$9 z`QWBg>xF^-Y5Mfpf)QlS6SIYB(d=Nna&`X#CQj}%@i7`!wfM+O6YQlQB z-1s+h9a2y+hYIB{G$sk?0j|Qd82w3>VuR&ss{y z?E@->FBO=6S#9h90NPqhKvNF5Mh6jxr2R22%)on|D_uHqaeT?3GTBL$PnxTdc>TvZ z`lRhIU21ZmaA^LM@&}Hx7LM$g)zE%>knE4NUZI?B#x9w^`Arf0xLu zj07=6`0o=^xY3UjD&ZRc_{89QM_4lv|5^f-fD+@DWY?|*H0oCa4WjKS%xFS$H$qno zr(t^%c&K`hu8HYLt!fLVcglb(Z;lubZ}e&XL(73_6k&tHJZ>P7cO$i|-;9i!Wp}cp zSfc;efiNN{2JH0b!^Gv?GSCFqwkMzSvU;y5!TYK4pK?+MFq;?Zr+J%7Uu8PZccRCG{}TdEUXbt}W5ww=$^KBEq~(^o_LO$lK+d z)5XC)NNGqAXm15nONa0ZlfkVX!Ddpq;sU=W-7sVpREs5O*ZpgLUG`K_KHSF27l%CxvaokFh_WaF7G^*wG}q2u;uj=3;%Zj z1^u>{5g;B}ZQ&sLm+Rrz;KFhx-;7!#=6-PMFrc_LRJSZieDYt1+!m0P0NPglm*r4J zB;WLX1NkP9jLmv8_e9%Y)=Z3zgy6E^rryk|N^MP4zyP$#@rUBI+uU^3csV`}k3n49 zPZ@P}xSd&rLmaU8BOU9kRG28X6O`gmCQDB>7s;DgW#tfxj%Z>YA_{!T4AyZS>BGuu zIbieF%cu6X^>==4fLs71hKJr%UJKb8v9WM;mk^lPsvK3#R%UA!uYyM{PT1X8gsDBp zfs=^1rU|;FRRa%I14R6haN*KEElV$H;)y&37ko@4fwhhtwpJH9LLZNXyHo92OsgmX zVpzQK9QSC7Ijn7#UyLLxQ49x;_A&DUCcvzJvLlMKZ4_2(!~>-3g4JRj$)rxgQfbf! z%59o)WX(?-6z_0?Ly(T8y#iRTWKUl2wW|YV%V1+nG?A0O)2s6(&%j%Q3`8F@4JNeq zp^y+ELdy(Phe|N->`dwN{Yj-%;@d&+ZybMEIIy*z0nSrX0pXV8;#^AEB*N{P48Yv} zgE_>VhDjU(!R2)b8(nU2``076CieLVe+vEORdpuNCfBt-I%g9Th-($0X>R^wM7BM` zL}}2ibk?}@3UYAY!;_#2!Kbb&YwDK04XVYLXiY8T*M48XnMVKm~%qk}1C3xl)+9J>omp2mLHiWZ{j5bYB! z$n^KnGx_`x#%>j=jJf$TZmaITvZ*yqhc0;@z5jtOab|lUz#Xz~2b5KIfKWC=_&~}OH}VrgD9`5-8F!Lfxl`F1<<)`KWnlqgEtsf4ai+WLQ8Uc z{AHB%kz%&f^#nM2DY9WX4}o_c+@G@47=y~~&WAj!}K3xWJpGCnO<0qg3+pc(8H3kvR)xwe++{#$W9+qHl@dcfx3!0{Gcbwd+` z>Xytx78)YBCc107U*V7ALZ8P2vI+BAa8_D%SMR_KZVX*|(Zeq)4h0|AdjeiXk)1-g z?Ijid2XuP&$XH4CSp>yw@5$zE77@ajeM@q$fx;MWip)1v?EkSL)w9@{D{S2@poAnx z;)H>2qQf&Xm6nzn39zN8i9qjIX@5-pE}&S_Y8K23{ft_r!zcfjmg((4%1tklK0P9; z%{;@%y@S{DTTN0`pZ$&|%hK6!AeB_q(?Z)Pi%sm`A@9eURP#0=Ms+m8Cv$woRhRVI zNfNb0OikoEO;L2FG}MBixw=*X^10}1C*|wI;yD&C$rV1LJb>tlQ4ZGumdU# z6ESo!RM*n3kW)h#vrsPEomIQOhp5GYnpuCQr`KaE0_1Lj^q> z*_<99ONF(i$TcM4c#*EK<*OxVs&7gV_zOJPF2Y&^!z92^!qW`Zt3!dwL;x7yH&xSk}?`O?j z^ivp2({fu~GxG|p+}Z#Q1tP8kw4KFE2uV^xDsTAm-@f35{-PDR=A%B$3CRod_$G&g z(gyx7zn5*LzF37X+nC7t7d24J?FZg(gB zuTi1vLv(J*`F78jqlX{gN2~AzrSB8y1k%AdgGd%UYr4s+6=8dD(v>v}UOvr4wuNkn9Dxs&fbb(k(Ke2hhcu-ELi>s4JUY{risdsH>+71LZ zA*dQpHZ~8rrIL_!fWI2n9u~23peJvE*Q4nTT7O8mq7T!S~R6V@XM=R-@pM>^7jK^bfNVlj8OB^rcPYtO)qbs0KmR4kdDq zm_FdBQYbe6S&n4TsnYV(M(et(vx=CGn9GZk=+qd^(qZChU{Nhkc~e9gmyVf^o{Y)r zavF&yij1hKpb2{p2G|B5{VT9GMCNyvK_X|hGl1sx8cN2l#YvG)qYI!kkuS)wTrMkV zOdke?Gv1vm^PVjSe@JrFJu$QR>MgO=l0zyU4v_!_O5by4wioX-TGdL_6{az|$1=I2 z>UO5G)4oj}F09TxC2^y&zEKv8Te^jeT=ZMDX()i%6JPr!bt!v*}-ulIoJ znF>xZ5S5m>BBnb9Mv>i205DBUoeg}O1E<^T1eSaPLIa z9KA_Dh{F{c12!5G^7oobvXIObrnV@gd(>Nyc&cgtmZsAW(wcEG>{jf;sGvcwuT^AB zu|OTKbc)I0AuR$AO}d>DO|c@v6`V`nue3lF4QqKFq2L&9{Sv@h)p0f@^A2vQo?44f z*F5i9GtJJ64&MXGnd>zfTV;lN$TS}}cGhCDiRc@u1gudJRo=$&Af}0rGN`d|#{gpp zRSica)Tc@w2?pNL+IQ|dJW*Hp*q+>JoJh_lVTx+6Z#W~c`e`^{pfu02*fK(`IuT>1 zh;)#B%@0yW5-9R!o<$8~0*g1u$!HGJgibIQW6DqNThG`!M>|mCGYiBeFD)&KL-2)F zRh(R003duVs@rl<|6y<-7Td9gE0S_z;%P!#oekD6SB@jP{zTSBBaYB}7HKQND)gu% zSR&FiX;fh=lrQ)ySo?;>4TEg9R8&bAYpYso$_BmUmsV8ItFj_1L7gWTP8R3T?zaB^ zRh})@`NgPn$0q6}qxE}j@sF-wqv?r!u#S+X5TFl6DKIqpvM}?#dzHH-x_bfRZ`KfW zrQu^Q^}g~`k{?xhEfvVx!V#S7eQ-KF1;JTF^&#^gP)ad^bM1h*H>5)&D$Gbw%S31B z$}A@32xAl<|M6;Rb)(-(+|J$XV)P`C&4lhm%-^RNEN*cwm(7>iUAPz;tn= zeDhQ3RNO#W_sM09l-#A@bg;Kpp9 zR9=C5+=eRm$$e4`eG)p1(kRn6s7{q}I{;>*LF|90{nwm#a;TVkp5U}NQb@J2OM-aj&bNp+|mh2@-|JDAM|E)BoWkg*+1e)Q$68MW&YPh;Gc@ttb!N{?m^z)oMW{Dk&SI2Ne%k@#@y$&!a z+M_deI4EQ?TxZogz_EY!K4;-Tm$2n*y>4rC4)S9mwY!JNPGp_5f|qTvdn=DuJfJjs zd&(#ft|;DO`*1%{zeHpX9UkIh18sS?Jci}7Ed47r*R(!^@p8t9+UHK+N%K-GHOJGl zu4`Dp-vZL|OV@&8o#PbFwQ_p_oV|(*$PSrsc*=H>THqDn}L4`{<0cS{9(29NbV!-`~0$veZ$qgmxg}pHu#tZH0Cmn2;@fCpd+(dgWwPw@!jZ zn3oWejdB+sllESmg}Y{Ql6G1zXMDmja3`;=YnG_y$EGC9x&`_0FUKIbT0?qZ>->Jb zh?R#u%_0fhK@BeP8C2m1@&SwvbYt{Dzk*Dp=xKR5JXSk2+@Z}T~+`Bv!7ZM6)CS=uQqy1 zKJ8>C0QIoBAnI}b7yuc6`BRUyi!7bx)?1Q&mf{0E8>{?k_*vkD@k7jhZd%JL*DvZrqfINB>RNjvrMN>=f+LVOL zu9ELoO>~ORvZaWt0`nK1yU{aom!UyFHMM3PmB6H#V{W1AJpf#sgZB>Gp8Z5f>Y7gp zIi(fr0qB+^hNB}n*V$Y;&UI!)wd(>U9pX$M>zpX&52#)@`7W=)OE0HS+?JpZCZ#$uyCwtg& zewpp8kedJa0s$(XId?47p^5~5+SAe!t(8^vwE~*Wb#cF_WNw%Mz##Dy0g9_qdMbSj zYP?IOpzVl-1Xd)2@Lbf|7!d^TQ(CWP1!3d_^_vY4oeu-NWwGC^?lbWiTQw|0g)`*Q z@mLT~h)sTFkYDl+FywO2B5w`9SI*U3|CG#kwZTDRjsOalj%;JM5x9-LV{7NY{F##`O3hH&XuOR&XF2#UqAeevb|4T`&uZZ3G z8#-<~^(|1QM6O8DL5Q1IaO6Og2N2Db+1C+SG_G{lO!Bb+11?M57#Vw6Y(nqk(0HxP>DPG?EA047bx;g1K6?=5lMLo7bI_% z-d{y1Z}8{XLTHQ{DEbMQxZ4!}_Ic6e)Wb-NHSm#7=Um3CcuUo7o)BpUIEb;e^Oeut zLv8PmZ+ASCDP?9fJ^#d)L9a0`fnb`J51`)KO4eHA)TE=lyKD3d61UP7DTMNJfnN4B z2DT8YuVfJ&;8^FTPOUv^_1GX#Q+eCBtX_Xb@npqK0>6Xu)YF zhPMmG-d#~jf~iyi=LrYBpdDjgzF|H)x(_jLo$rg_Ks2FBKCw#|lzkO2Wmr3q^)#`M zJfRwsK0=aKM#~aQLPA4;#)pN&0UCzdw!79+A+kwfE<- zbN2F<|GoV(Q0pCW=V?R2M4HHue}L`i0m=LfIc;7CbEj`1B5s}}j0%z&xkQ4|;lT^2 z;7U0E8`19hq3%AF1rRCaobL`({y&oe|T}!h-xq zD+4>I9i<9K#Z>-}SeENmr)ercx{6e|d1W5|XuPN)HlF=?+LHR6jr)_ z`BszK^Xd3jxF16I(KKCHe?$-2-00}&Ame^HubCg}U>E!29)Qm>x$p4d*Y@=}AIlJ{z#sr0 z1%5m|4`CsBcbX~}Va7k=P{64$#n3QA7Aw6r7Z6J+CfdBa{llK!96i{6>4QwIR_TlV z*QBxf*rcm!SICT+6wjWA;!6SOqS*QvyStBNV7SUs=yA3EKAdK_dN|v?$Jk;0lX0?p zfBKW=uk}Qw4iUXqYm6ImWT_SHc}q(7_SmWUn`aboeB7klZ#S*n8G_h*yd#X5brY`g zCfV%wNTj#KPjY?!Y@2*>V`fjVf0VT&uQJbxY|aLH+C?a233lV05U&qdB084+xH9(u zVa6_yaWOyv>=P`4>RV`KX7?n5gza_tlA+|9lHN_D&H)`-oUKB_o9ah$pxQ|pGpHL$ zT=nTm{5414Eccimik%Q(IP8o%Qn2nDr}&npWtM4#9aZLJ<@XOv$4bxC>#V5pNa2`K zKhnCfnXP%Ct~~Z=s4)c~nB)joE2?HTjLJ&~Z(b+LOEkj>Zo1%+GK1*c*Rpy6b8S}^ z3M?scLESnql0@^iM*y4j9JfG5DN zKZ2)Ov`2)%V;Bh8!J`XK-)YOC?979kx-Sw{DB z`$@BBPyfj@M;*z^$_{~7Zf+;if8s2p150O!D9DSyu39tKX?Lr(vGYTVu25Y1%CIUX zv2Z!%Ha64Z9|TfW?c$iQgc-NxbCFS|I_+3B?c>8DrVxAb>OB)BiyN}!>!l2Ng7Dk7a(x%?VkgZ2^_|^vFJ&xRFcF zt(U29fVNZ=u0>%X83%?7Os8cXSDxEztfri}BH?bwXvADm0^h5?qS)OPaa{O0eCgrh z7A^cpWq;_cq6P~4@ocM7rtY+@&}>uA4@5DrjkG?+x=8@u?oUuqp^`DxD z(p%cJ-W51d$QqyquIE3WW|(k!V{_n9p!)2Wbh`CG2*UM zzakOjE{9P{*g3j&`R6~lshE`2mmbN-Qc!5Wq8&(~(y4D?{vbUfM(UI_%G&JpwG z0tO*>S!8f=P|MlhKi?b5A}e~~j^>R;)Zy5p=rm)jHiBW`3|M4IrQl_)PIs{h^xwI4&3`Z+Zi6lo;2IcT~)pf!(7-wBo?_nF!+q zO$suHzHpgljP8Y)q<^K|shYg22f-s#gdyWODlaQK2KRcgdIf8QjiKLAWmQN@Dv{a+ zP8gMlNaAk(F=ngEQ*U)C&2#b8fnkMkg8`1j5E0vh8Kd|Y?s1sdWN_cEr^%*_p*i3# zJ(&O~o9!LGmt-e-*GtA;j z7H@(IM?%lE8%|tiUIhMS7CO~LJx(v9HxYsk${&jUeo%UC=cPNejKcj}Jn*i*G}j+L zr#)Xuox()sO>Sy#BfqSRhH~&bLW93_2(=aP1BsKM+5byW*f~A{$q7sYyN3xxB^sxt zTW7w%Kb(e$`m*6QB;z3nvpM|4eT88_s;KN=%W83EK$N%^W5vAW}IRv5iP-B!}J20+T zq3*hp;}E)7^iT!7LU>;d>tZ>>nBrCCw|>DK9i2tFnRK8-Zn$kjol;)NjR{{JfLtJd zzGnwfxRfHRuh<=1H_N+ktnDfF&w3ERu*85_wlONOSNKphVpbeiyO-z$2hXQ|!fH^q z2M1NDf}hqjOD{F86hzPwmhw%}FMVIVKR2U8|1Pe;)!eQ#WmL-p`^SG8ZMtnl#Q(XW zuYnko?W_m*GI($LUPz=v7~I~n1|~g1N_+omGsnBqt6F7qq(yp>0&gJm@{!*?(g!E2EYW1O+aa}_`AGpI!!L?Ea6os?+| z6_$+3Ji4Z{m}w)rx93lH#<5L6HvU_gUz@1zH5i-MvWT?O0sfh&Yncd-f>q-k{{d^X zXC0uz=B@}-?Zha!Qhu|4=(f1e11HVkNaBLp%zH&(BmEO#Fwn{J4-yW+j6QL|kH z&Gm!P0a{+$tA;V}EeC4}rjSF))_FiZXo+8IpTcr$>uf3`z9Up<*qsiLnRJ=q!;YHS zeYD_Txi=@o(qKn?R~{;#x{V8HAGL8NDh?Sx}Z+G460gYl4WvbWIFBMMiC`3C5-v+v_ykOuRpQ6(rcS{U+&D zw%?NZ%}s(y8ozgjCD;SV;48ergZ%`Siv#PJ4Y6|RyCj&BMMiuT(bZPDe(?y&CYv}` zi+bB4fkWNH$!Zbm;0ZRGQ6@rNkWemyE7G>{iuEuHo7p@yKPeEelSAl;G+QulF|GIg zM7CPgC;mq3TWg9M;4UrNsv!V#xm2Q|(m)1k6AK`EF=>RI@d*a-xFa;mrp`Z{9oo9r z?}p1_$bvRGsM)DXwG~(FTze_}}I8v5}HgtrGx%|;QG$BUB@CwQWSM*BHcSlV7Ge86gp5D;1 zE9b@2R0L|oM7(X8yIO_rP+2xlF?ihG<-&{Y6h`w(JkyIXGh_(N(Rt3ip` z`doIak4w>eOKy|ipJ?ooRD*dPW{b21>)1Wm@&Y$%*qdp;v-V6+59}q)GQM#_1#l$R zNjSVLk=cFBR3_x5aQ5upS!+!UYfB$!p7DI7ZNL;kImmUX9BnXomfLl>A5`#fVhN>A z^9F7_t`h($r&Bho31>9=bXLjEDkaFwxYD7QxX2!dq3Q19%@uP@n+Pe^mDKVAH84ke z-u&6kXVSG0m?K?n8FmwkJ;R^NGmGU#o5(to#|xcBLU|%O5-oo~d<9P-T8U$_l_Ogl7;DJ57=Bck!CP66IH@Nk!#FEFoW9tWi1v zAW(q7o{r@{=&_=&54>`+=jun4g<1NaF2X6NbiI&V=Lr5iSF0@8YsGJmyAlJ%IG6FZ ztZqT9<}8-aEqjGn(A&A_m_bPVH&nPjfnI~Ye>EzDS1@ocO1b>GFI4i#VFJ09hR=li z`d{~V_lPDP=EFLhi9fpRlc!#3>@>$H_HV$Z9oq|8FY|d@FWT(&W{JC1BE*lX?Q)cX z4Z1$amf)gHYaQYkY{v)Q0hYVjG4joqckB@Qynl8~apl^{C5o|ZR(`lvJ=%vcbf>kA zIu-0yWfgj8I?dTJwz82Lr0tGXv)n^^JtO&0h+i)j2lEt011x}tIsu*~1ATIuMhKt_ zA@k!VhdQZ~7E~AkW1OiKRR{%hvVz;a9tmvVxVV`o0=DJ@3Lx7i0&-v2eR*j5CcjXM0 zTZ@%}!~Gce63am1MNzP7)pZR|+W}ZwNxO7JhJqy7yjc^@$K``1X&aO|v|ryI*Ud;T z)aY!sSmNTBQ5Zt$P2VUX!aGAj6k8$It4F_=n=EMu*;le18maTu;yQddg&?-A(`XnY zE{EFkWFRb8p3ehd)(r?W^rvr}q=FxB(05IyD!#8Cw|*Vt#Ck`LvF2dN~u|*mq@W7R|w+WwwfhTp~fokA?ppcC2%VAoni#FZ%^cAmx0t z{+!Do$S&E8k#bizRJIZH5zw47ne*WJb^AEfSv>DBQ1^XzjN#0!^YVc%e-G(zIDt?>o}+dVq*Mp$7LpZr zNv-A-Pc`hfcajo>rogcNP1wD#+la;p9HSgLE%oNvOrGOeN-fR3wnoKa=<_#v6bNSQQ{35ZkJRthWxg~eF@hO-<s<@D-o%NP;$0qN+`*pgT%@{0zXDCn=&V0##eS-+7hv$2GJ-#*ZqRbh{Ma^? z)TZ)7RqwRzf@#3YONjsC<|M@3b2jZOgyfnQw9YVR!EP4k2juruCpf??cy>w^U4#py zC5h-kLG#WWptrYEg>UVSChyAP-FI>8Q50x@068UIMMZL=hU2Nh{EdOA&|0zN-u;S} z^lm@~A5jS^%`8r27fw+&?3jN0BXH9|;vm$~{p^Z&kz3sj2WyOEI~C)D)u5%hGi>6| zJ7_T@b+Q`$1_&2OidnZq&pn{&E`jBY=0DaP-|9)Bi>!%|t(H3_WVA_K3LZo?Vd3U= z1bB+7lLGe}TI`H=Acf1H?-=mYfzKS<1F<13G>_WEU_F$q+OhtgGe7u%u|g`MuzCay zEKowSDs1&UkB2VymM|g=q%wOh& z(c;Cf=2zF$Ri5%M=vzGXegMtSia}=yrh-|xG>WBzym6h)sK;p9Ir9b5<(f3osgbnA zM1>Mw_izh6GQ46F5q9F;5u>$4Y|^FmQ>M6aMb-UD(3%(uhW89gG^alvzxed$z-xZiseT0^!!q*xTZ7&O3?^c~j!+ z0D#jsI*xH!coBhw!*A+E{=_`@6Q$!UQRb&?E0jA!8cx-CgEYGmN-CGV7szN~0=R!wMiH_oieO&EK$&RHBTmy?)dfJdn3Z-m zG!{0?^>IM_<5T-kmGmt5X;!3+aYd&_<}<|k=hQ@Zuw4`H4vKJOPIA;%Go38hZ;~vy z9pU9RQbr~qf6~pn$P!7NDVUQ=98H(RePWRe5iCJ>``3Y{TfwmqF`Shr?2bhkAK+tD zhX=eI+8mZjZH!;}RlHe{BS>#%#84^VDv^?@{d?0yJ6|IsW7}?oWB}QL^G2lL%X6sj z)IF`MfQ|Xb;_n%1Mnj8Nm75zD{Y; zQ5zG6TdH~|Q?0QBc550j0rBl~T%}Pnq&~CcTpPRFr*XNk2zSBz2liRM$ha*VWusm$ zxG1Nmv=A;4eZH~EY=5ypn*jsGMZ!5khM3H3i{=a2fPLZ7xQmR=3BfcuQftN-o<+-# zR^<9RifcbUSzdo(+yZWc4mewRB0+aIL^DfN?6cgIsWX`NK!S3@fR^`GvD-Af=+E&q%8=pEQX%>L< zAuSybCG$r>8oWM$RQZ<3Mb~PJi9uwA;>yqJc;IpOkjEFN4OI#926jyXP1`-29Ri|< zD$-h1Sa}|Q=uA}x)XtgoonCqpa*3A+IF5?Dj&(>fu95|>`nQ}BF0s_mUvoMqJ9`wK zSqgUv{-l=G!=*sS7J$~fXt_-$rz{gtb0&=(2v$+|kZ%{hk;}2P21FNr2LcqmB;UZ} zf&ILQL!%z%Ba&;8M%04V@J>B*@$ETS0C(huHv`AzQh42;=9F2oi%l+|4iTQ!IO@Q@ zfQ1y+I*VEs8g3i4hg?{YuKKv;xSi%jc}~^Q9rf^p@mQ0rD1d3@mVmd}18#>9^~OrH zY^s=2(Vl5_8(fs3!XdZVHAk^s!Ua7N7DiR-j#iuL} zAyO%Hn=Aj62Zoj|t2{FTCim*mkITBxl4NyEsvTCd^Dg-v!Gc4rckbFx3bKJ(CX1G& zM}kHsD034-d;pu3YiZ1llvs)<)h{Z~J`tsa{oZHa^?j8IX-m1f*oA~r96kLjnk@xX zIvRS?A*^;0(tRbu8;-TZM+j@GFqPxklX?Vq+bev7@q=y6G@9l8D=!mjoC?rYFW}eO z)UHQk&bhVKC_ zy(wL#=T^=be}=w`SNHMqQCul5d9lkfBp*Q*%hB|ZlGh9GC9l{^To14M9$P6iuJN06 zTN-5hz!#WBpnHJ%cef|*cHL$+)JAA$%P3j4s&0v4+&g}^i7>ZNeGnJez}6SJ#O%!9 zq+`=&`vP3GZnnrcJOm~bl_Cs^Bd3?qPU(fsp%y6=&${uLLkf^mU^EsHOH4u?lh4-C zkc*w+l{R1_`@#;jH#jTEUPH%0%1+Cb?){?MlEvPBb`D_9f?EB<#w%{C=V;0GT)~aB z?uq8_U`gPAA~)R456E(p4unUzdIFI;f#RE~m;kYxJV>6-F)mUT%Csa<`QRv{90nKb zH+;^l$QD9vYDLMBUhO+9%n>+MU2Us!l^hXOq#iJ%?v;AtOHSRG*cf;;r zIDeoAG&*B{R)jKI1z}yf>PD%j!-2vfo*5f7Q3Ehtr%_kZMgkl}^9A~(pWFcwKgCc3 zg8((y7JzcO!Wna3+iCuZT_Of5DO;1>pVN5pfwZf#;0}d77mryyqag0iTgPhFl?5B`AE$MPB zr#jSO7#8LgbL#Nx@mbR#pjfYT5H(Kf0|Bz%OSksA!+rVb;y$nLu0ba{4z}{`<2YE{ zOa${v4@t-FDk>2=uI;;7+?3~j}}uc zQ9h#jbYeNKo#;AazCXuu{KSQS*fTzFZ}l%AMBspHjN9V?O{e7e7eNt#KhX<87J$JR zKjjzxNiB?oLQmESbUx~berTD&dfIpA$HS%%5uvH>AVZB2eKvnh5xa32Q6?6N`gW6h z2jSn)ZEZL(V5^w*OMji6_Vp~QN{->*J?)!I4wuI;ZzszWa;L}kEuOae0GWF%SE%9n zZC)^Wk~Qd)rl`Fh7Rvg>`)o_%bil*GBCRy&#oq0-3a)TU4FeHplC&?1?`oDIQq@?{ zn+qq=5$(Y3^L`&w#s19vZIHj1R=Q$t428#h=)m>JAh!#g!Qw*puE%l}Vo6EhZtExU zz^N5xH9GnSN>tNtt%Vrq*SeU>N0aIGjM_Hn6`_w#tcCs|3BZgo?9-shEx=g|)#m^~ zGRDoMQ#UlxCLa;+|M7H=L7FwumhQ4`+qP}nwr##;b=kJj)n(hZZQGvy=H8iK8F3;b z@=r#_Ui+;5EPu*S_rL+I+M&nyW}I^gl_bfuzuGK(mYaQqm+8{Izue`);kga1Oorny z2x{jK(JZ&c^Ai$p4-6h^g+QT5|_{E_*fp#5Lj`2Vti zS=cx^(?G@l$;KsZnYjO$q5m@qhn}|;KxjxB^FPSYplsxgz&*JCRHF(4f7H}maZvzH1;Petc?9ad!2lRl~sVqT)x#9_?oGH;@t{LwhT&MM=&B?9F z>0Ll;2uu2K{{hRyz@YCg^~}k{4u6l|$E)v$JyANFBQ#AS(%6YY6{-tw+X|(8UoS38 z4utZ2CVcN4J#J(Sph#dq?+R+$>>u<%CjIot_e{;5Oa7m4MIB3CTGU1=a`p;elO4cm z>Gl16G?hKSw<3Qj@O3wZ8yisDlV1$KG#H$R0Kj+cKYn5&8VL0gkgSA&_Q|H0pLNO| zJFa6XKLezqIq*+ZDA;nOVI7@fK$q-B3!lokFLtjxoMcNeU z=OS&x^B10tdQS~jvy03U1YD=h%qNLa#g8)MIcjrNLY$~Nv?BJbsH8G?DSocz#`Sx0 zFP12kt+~*B<;%9W2d2v4H!wx2N9t{+bbEPNo=s&xcTxGYbws{gHVyz-Rg7unq)s)J z95GQt9m_%TlJ};&!+=9XNW1*w%TQAYy_Y<*KFw>J%?Hwt%@CB>)3IyN1s`Qsc@Sje zGh>{=_^=b`c+YpnTB92j#Mt$%scq3eaT;ItfqlP^1sp@8SSj{KQ}FM){dokc^a%K_ zci8DsfnaG;Cvm5TG%|ql*x|XeLUYcSrPR`_Gc_Fp#@&eyTeG+^3dktpo;)RjOBJY~scEoqvr$>ZWf^>=kK%>5t#adSnq4Z1X-nsSXL z?LwAR0}sw-XOt*3fv4YY)9PCHe_Uf$(yPe}8aMk|TSD3LWIB*cecoxbPp4H{F132Y zY7_S>c$4ofwB7)RAhu|o+MX+7*;>Tk?HGqSQ(|2!1?Ud=aSf%)xX8ld{R#7$<@hu6 z*0mI^$ta_viY5ZI`FWUBQBmJy_U!&qkNeD1Q=a52m<9` z&iuyacTfZ*(19h>E@Hk`pouc8xju&83(X#y0j%? z-Mo=b{vk}G@!d6-2sf&5htM@L2c z5UH!VJZu5ME&12krgw@ijF2mRwN+iNXBE^(8>$v>Y2dpFw7Bip#BX(L&@21_RnD<3 z{q7~Nb^7T1m=XKUo3Ha^r8)4(IWBhHw^+FJI zC0)A;?<&AO3agQ_x8qBgNLU8uoy_?LIP7B_Bp~of_71QGFj7?GTlg?ia7ZNGvUr1H zw6l`yyC!{J0l^E*iGLE6oZTMLwPHC%b+_;w9t}p^s#?qomimXQoDz(Ok3_u%JP$g-Z4h8>e=PY!eY61&ypqeXnc ziR)@XyysBut&+)0`}ItJU8->SoNy`i%VUh{G4F|t!n|wPo867e%59oZ4X;4>FzeG+ zgj4zWQmxs-RW`eEU7W5xR5W^pe_d%wpXwq3;A|p7Li4iKR6$V@4GKT-Jtq?(b4WoB-29w)@LZ>C6bhXzClpk zUNvC+D-_P59lkwz9ayv{_fnYglr!e_40=qB(g{n8c0%0@`Xc-H0QbnE51U#0Vo$8A zL?}9zo*;MYnjNUCW%bvXS$g@2yuQmKyb^OUl`Mk>=?0q$FV@guT@EYI8)F-v9|TVe z$^C-B*xtW1EE1#8OX!s_+XdlYEuLkP1{&v*0}}JX4+NhM3w!^!m`$^lf%q3O!@qB|2^w%<_~F9*g!-?Fy>-Nf@A*DBV%Wj^*2_&FsQvM6>+T7Oh?{35 zocq{80C=u~tPXrA2;{=)#y;C#f=v(W-6nAW0>8zQ=to@HLD-znp1iq?TmF%|IFfSu z4F0QPtsvuewCu_8A^zO^b$>p6eWZPSOdu!(X@QjGONx`;2vnhR*{r%o1D z-;W6C1YeQVG<|VDJ}-{SZgR}PM7 z$HdwkRyvR5gghC4Ll838v~^WO^7c?=s*L5%2#`)Ip3~He1OiBa1$K9&du#Xu?_A(F z&!tckdElCQ8rxxoAy?~=9jgEnz3*Hg_HJ0Om*bhFz*bLC%IR`i+J3;J4OEg<9AM%2 z?#6^Q^dK1Xw$StED64C)?k280tyrhUODH?T0ULT(Gd27mCnvD2OJo7CO+0?rQXu?O z;A!f$0(8{u%c7epW|sz}7s#-ePZGfPZcw(kl#7(0^XJH%IOhKr6acIhd17NbD1YmE z4*v_<`SHEXMWkV~0x7UMb0hb#9k6MhcbBJoCGO(j@;2(&%b;x5IZ78st?!rx*1&7M zT|ACJy@|t>M=$vX`naO57VdWf-}k@76N|W;NQ>VPzpL+hbM7F;wAXOFbQ1Nb=0P@N zuN$!R&en>iB5;FCi2zuS)H*2yO`xn0u(1bPnmi1Xp30qd`z9-}_29qj@+#Xol<*#Y z+YPNAdLgJBb|ooRA7m`PAoD18&SEckSz@`CsZOt@qDxUnTsKKJ%izm~`0C^uYt((h z0l_l6B8x1%-h+j*!lCnXL!-O;me6;`{_WR5Fyx=Juc8-<$_FTGMUupsL{_)cFk)fP zPrKw7UTMf{$o9LIad||~#50nw3#T2j7kJYpqmHWp6YXu+(Oyhi6A&0`uTDb3Bw=bW zE90|6MUoia?@Og+$CTW)A=NBGjOc%BwStAWdd-h2p7cQ_z7{O+_hafVz?}4)!CEPY zH+`xJY4b20KLQk0f_;iYot{9*FseOQbP?V2zl2hv?;B(3E!L#yQ)LhdbX%v6^9GLsPdc24Pe)KG4xso_vhQ$HF1kZ6UENzu#iN6&I{R&r z-V$Xv*2aqp*FMK^7QaX_-`o}YWa<0)xPBrcXjv-~f?CKj`2{_c_KHo+#|ov>FXZVv ziJW7T3hFP^FLMhFwjY@#=mT^knJ6=f+N<-R+5!b01C6&^d=(n(hgYlq6t=YYnnmJC zRKP|=ht>X?^W4D6XJ<)AYEz9{1VSkBAi0>b*C%D-OE!vH09%tJv&A16ilx|0<$u^Odw!vSXK(i8Hc6a*RPP=F04$l!~}xr`ZCGJnf9!eD#(jOVX?VxK4B z?M6nC#|(!JBsgw?It=NF@IRfLGN(%|8jUu#;M+46d&KWSYs0{Hc{6oo+~$!fRaw$W zG=VG3^s?WjIAQtSL0W0nrH8egMRRD&R-4{}6Q%$O{ST|nk(&ju*|v(4A|g5q7=Ux~ zbZX&YOw)FsMd_!W%9Z;)*;tk}`tS)qL-E6QN~hR1^vdCWsJ)Du;uVo?{_>z3xh(^l zaOt(;(Sc?#CJT!Jrh8j!XQdxsM;$PfNP3pZs~b-yyD736KIN84)PjV-GWM{TTe^!S zxK=KFH!AeXJtuN16{=m{X*qk99AH|PMt^rNlT07Ol_pPwrqCsVUQIH#3WqgPkAE`A z$=fH$bzc3xFV-Hf)YN zk7CXXKE(J~IP;qMy%Ou?7x&B|NX(cK8bT_Ae+IYg2@>vck;-+pfwLQYQr(hp(D4O# zD{VHh;m21qGnvH2=a`A~qeYrow3cC?y$=&l2CI^5f1r@YuIe1MOdxP{`w{JZo%y(! z#p1cDHyJl-+LV%YH@@!{1)zB!+>V&Xa0U%s4T^1G8_F-`$N#j}sUFPlmgb~?_Jkx7 z8E%;*qR?FDx6ubR>2&Y8XEXx)@!37F2LkSVdjp3pt3r5iwy*Ml4ut*zCt+=74(KMuo;f^u~ zqMa=Icm!@gXfH{kXT7Uvc^2JU2J0zwyauqg1!$|u&)7dMtfd{bq-n5?sdhbhCiC`V z{FF(Bl%f>2EM+!)C;~zY+xhwL;z`{n$gHwo+DT_3=0$q|w*fL~#^DOmA|fGTd~=;` zoo?|)bk)>!1YnwZfmq8D#s+^apgFv|?A^jNCgSc#oZelB23z2e{nx%1+A}Z&KbM1A z!h+o7^r|N7;MvGC7fL4~QnOAq$e#;H^z8z6+y<*EU%P{~-2n+`Ps@Lzspd6;@QgJj z)C?e=^Kpf{Q>qk6rq575km-Y45`Z$Gm2JKjgU>4woF>rsdELhvOv<`ETk!lcOs|Z2 zj)h#9#O5)C%hd5u?c8EpvETVVj++>4)O-XVbrJ1gPM8}iL&(e=!gQBax+|wjwYUz& zdf2bR**n?Vd;qfwc>QkIhGWJnq^osncU9ZaS2+g1bHcgqsP=4nL+Dd7jix4E=oDg&;s!Mf3p$ghWWSmP9$vK-?l zRC`|*TRC>tJ0m5_DS4LphZMq{XXe-{%w0NSOnHl>zz{`)h$WTLf`dEOA+F-4*M-lt zT4Cs;kaxKW9!< z9ocA*9cr%lXbSGaKqpB(C=Wdyn`c}_GePdG$!*=0Qu`D9PS>cb(X}{oQf^bnuw-nT z9j`oCgdd*hKloa`E2Vut0?G(C2vS7fw+vgO+b|aMLL)Gbz3$1AL2CHl&Nr3f9+^GlB~9)dx0*?Qe~4$8ccrgHM~Sl4 zIaHy-b^b`o86G~bS62cMNk4K{-X7s(t1m~l7dt!OpB)1|cQIU_?=vkIBO9m>RbE>6 z#c@4&{y(k|7w`l>uV<#0Z>RFZIagz^F5jq=s{Q~mmb|!!G1{ZJkRtjM6MT0z4i}EG ze}0|ZvLrTP;zNr+-&`8p&(JdqZwv$ioqYV;{+F08!`%ur*(p>60=3hUcUwK|2Y$@# zV%ZqBNb{Mn)eIfCp;wf3-zp@)YRgYC%=-`5(Wk2ruQOL);#EnqDBowoFSszqB*cEabJ6kgSrcZFbt z_P)B)M4BRPnu+01#81GC-f@Mgs ztx<_!!ECT>Za%L4=0$dr+jwwDlMxU7gVIe|MRrWEjL!U^`*L39e!LIe)^-HV32#P% zQVk26ibuN?9{Za{lCU##D33vEOPJdM5n*YrG3y7~^*bIj-Fx-fTm zm}bPX5L@Ko7)tjessK|xyXyra4%72J@WlZA^ZKnSMar!$$e@u0#_GklGajCy3($57 zFSDAYOENMc7p;m6oec9ny$y2b>Z;<*LNi%KL`rngh+33_p;7-NNo`Ir#|&UnRI8_+ z;02EKHQSvVrFc=TnV$%&rMU*DS|fbz2=|0qJKSH?*w2!G)E7`(Mocr(H_KTwd|hT7UHycyzLh!S+)#3EIO2_ z(IZ=t^lJyUkTKO!oCXxiEoKD&Sd!P9YIBRoC>uQr^x1O$r~-2txDie3t3|@nu!GD`@^=Vu>ai%G#cJwsKba1QV;rwNOC{S+sq7 zmC-@iWi{^_ctpoCMh_vJlr5;l(Q6pUxM%G#noC1q%uLEj)SnBB@-FQ>Q^Nz>Lvt1w zWLG7q(fQzzWG>c@iA2EltGe-Ph`Bonkvd}E0d5+$%HyQDjGqxmg4Ib1aDqFi&?5RE$ zCvJOJ*p-jh+>L{OMDsLsG-j;Q$tMiUR?#Ji54)6a1EMk;PDDyN4O@z+srhjg(sh?V zu=kIe4~R$Ra}0ni6G+O*RDEpqZPFtxB`YPC@<5R67d8JXc!p7M&HU^T@*710l1oBB z6#O!}Sb63wsu*SdaPcT0%4p2TO#MKlK=g2}I7F_5vp-V>#RF~2&UCS8&)y*ha_qES z^)1HDosMMEWT6fivogNx*D8_>i1yg-lUcUXF#KvEXe8isUwM*AKr9)N>RZ22&M{nN zgHq%odP@xfH7X%PTEQ-&7Bti^pU+F6m+?~M#nL_LF7t))P7Sd>T(bs-S#b}U=3joK zE?sGtG!S#Je?6EM+m5C#`@?a=lDDFAL80Ypf?l;Mq<0`%vnsXO&!%(<2p8+Hye}4O zMPaON2O40;!fUP6fwg&)YSS8G$5CQAjo#f2N|IszvUM3fIkrHJ6Eg~`QC-Q}SEyj+ z_AjAOo;Ul1Wp(xKEPVjI8flFtQlEF#+rn*2q_Gf@Tyr{o;c`fXQ~l?9szsVEyR3%j zWGUrhNne>Q23T8_7fVcpEyPU|9*z893BA7Tpg&dVR#ruve5?wCYbxEbGM&M$%*8?i z_-{bOuT!arc~&=xGV-V2m1)n?bPMO5s@wm1`=NuNa?R%Ea+l4+&f|o_P-+fOGD}c7S!;lKzpxq3vr1pnCbp{m9&MSZUql4B1e3~n z+O>`P(M0;&sd>2hsKm-Qv~YJgkyT!kIOya|!lpkJDHV)rw661!i&DzEyhBb;1nP#}|a>umvu zCiaQh_JUO?D3vrQNgKA5u359EF=$K9c>1oireth|>V5ii)hDhUna@sxoVb--JXQv# zFFBrAO`RM zZ6=xNd%$+2>9bmkG;^fb=9k*_Wz_&_Mfub|@m6}#vlQ0o7yG*rX;ZG3OX9h(W~03%CLs{8jewL>Ta6v^nk}&nuDgY`f0t`0%ucDsSqI>Qc)sXm zdq;-Vx+g=e629&&HWEE(;Cvnz1@_K~TGo zFI#>FYJcnTd3KcpwAnUzFcN&Ye>1mi38P>57IRWn(Dt~w?_<`eYhoS|g%ELBDmDl0 zY~~_f0*xrDUITZ|E13JAfYaW|QTlrYI%%aeUZoT0bE7njw;UazeLq0pPA^KvNTK3{ zC#^$qh#$KOXdh>7b3kIsUr=*86T+1WJA{z&jxY3Vm(ByGU%N8aNGtfWL1f+gJ#Ey$ zB#X9W$$ClYpVAhkVk7W3OmGzZq2B3=l44_(QsoLgoyisB<+)@&W3U$PgtjaCYD|Vt zhh+wvw@#ho9Lz4YF5H0ZO&NeE4I{O<$&55cH@Fi!v*=R&U8ROWm8J(BVLH;d?gSfo zH*cORvwafw!D zEG2d+wBM*yuEG&73;Nw|rJT#0;_zJ-Troa-n{yqU__=%#p8zo+F@5O^$p>Wvbwl^}m;ikWq~wKa1F0S^iVW)$3 zrQNl9EJ4%s2?bBC9WvZ8B4Edy(hD5~E{B(QF zw%+_GNp_jmW9eGh`Jq4EqeT_NVRIP7vR#4{I&=ncYcfx1-4>;w`T5C)zi`wvWLXg-R@iyiaT~%Mp6aN4Qn#=&Wclg4p(58kMrJ1&*qO2LJ zsPDx4H1Cyy&7P~sPUbx;{Dl!4t^DMd+&S>TRJXjHf$F8j`L63`LUO?O{3D^w2@ZjAa@= z)GfhL-`P{|S>R81NBOi9$jDa~KCWZSCcmF`GM~>JKK(==azUh>As(((whg}Vf?K+M zpXz3*cfvpS3=ssjW$iM$a984T6X*;11=xHO95O`@-K@cfu zEdO!Bm7)3h|9@f{GYe~rS};U3P+I3C1ZtY#ECfy(Vkkr->VG~eWoQOf2Q_;u69-c> z!hbu{oTea1{~gBhe-DFakTtWnaJ6J2WMO1vVooCsgHZVwEOUphQ=`2Q<+u4RNw=a+ zMzO>FF)2$P*xd8+(GBQ^VzIbsTJf*xdiK5?DX22hL1Buw??-kTI1YQRt`(Rj59t(w z)a0uOsA(ke6NjDmwh zcS(PEYse7yg0Md|Y)bCixj8J}oQLTB>dG!hFNTy;cyxK=@bNje^m!*X0qrM)bFMG2S3WefGfj(VX zleLLcRhirFJ-R-l!F(n|hkm*$-9SsNEB`n#^f$UeyQ!7u+C5qmjfS2&hL+s-&z;hi zJZ`Z#TX?z@&llco{CJmE%}O}PA>UP zpXxn!y)@1n^86^=p&9LyOo*O$T_GmQH|v6-3-qJk{jY{RTGMIcLw~L``3MLy0P@x7 zPMyX|Lg=A5bDXX8*c~o!|GDF*^%#ld0tQtzV?ud_QLUjomPjLpjG1(V)_WKgKGz6%WNbAqmUOQ;ddz2zU3|0SlWwUs{L6b! zm53ii3zkb#fM-zCtWi1)5x8bYcn$yuRV{%pJyo9qWnPE>pZ_UlV-Pln8vT5;KcL zvl0hbEif!IXiQkmTgI&Kuu{;Cm7Eol$=9(hFcTXZnsqRw9C2buLIj!)k7}2GLg(%;DZsvyB-NlTEWSlp5Tf#bdG#`OPqNSA{+$?Qhqli|u zyn5Hj^SHvX0ZtuPw zb0fg(rB3bR`6@>1-UJ0Cr7ltWDN~2~R@eBtG2k zD!sN+3&Ze{?mT8WKsf5gA;PUz;<{ZJKm8X0i{H^0^ksu~NPR!#5ZYh0G}dNlCN+9w zD3=m*!R~~H%LA*y$CUfm$zZfY?P_7IU%wM3Dxg)x4t|WKJ_)kc0pGf9Y`LR2>;!kbq!&f+&fP$w4Aa8y;giQ!El17^@0X5tb~!#w|J8lmNA z2rqS8mdt~;Rrl7nTS!`(-g-vvdQpo?OBO4OyH88dPt>eytgPZbNbtpQ-eiVyE2zsx z??OrdyU8JCT*V8cK=37V5hrU{U!d1O(rP!i|HC{INeAiTrm3*~Nf*qKpaREYOifK9 zUu42(4~pOg2839{f>N6wILIa?g&E*O$rmsms86Dw_lh8|u12ql7F1R+$5M=ppjIZX zS^3KqvNqukIUlch))Q-uml-k#j|q1gPbQF~G?6ES7(=7X#|xaSD8|c9xMrM%whO8d zB3mN;3rLs0&XUEKKH_AeoH{U3;~`HKrX@ug>pv6~1(2IpbMGWcZ>|DkD~Q_+lNlsR zqCb~_q1UWZVBkk!Nd7%a8;qFj--rGE&+qOf459c8%`0!kUGRd3A?C&0GMNkmr90os z@VC&OeMsEPIp@T>jh;pe^tUw)GDYwG?>z+g#M> z9bxGbAAlr(K3`EhY+R6wcoeCv_y|*~=rz|uRJh%WS^|i*dyfvOib3$1yV-Ea0^vjU?ftOS*Z+pLA1uwFgp5#b2Og<>7I7IPMc5xs~0l& zAl-%wEHC8xKzpvp(3K>tyzw?QrAVz-SMMbm2+-6J{%tIVb`P;e)&&NEvm~7|OUW|c zl#uE-7s0z0ff5e>BLoZV;*<{TQb%MhB8y>J8F2=J#@wkJmPX^)1iM1`I|zl*ha=XH z6Py{Mx?-ZAipsR}cx?ng9;XT#I?n%{1YC^yj�L1eYmqk61&VHUT|oX}H$NT9h*7 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 T5d^69L4f4kutD2Ihx7jc%k(Wn delta 121585 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 }wbPJ!=An6}08_&GQWyT08GQ`z^El)R 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�H~&(Y74|TGKsNOmqAG*!m|DwdtB+p4 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

$Pi?slrKP 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 literal 0 HcmV?d00001 diff --git a/pictures/graph_web_server.png b/pictures/graph_web_server.png new file mode 100644 index 0000000000000000000000000000000000000000..6c0488555cf50898ff760a2fd7c7254e8e55239a GIT binary patch literal 36333 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

t+L^g;^XMRxcr$~sl! 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%0D7k)}R_B_oiv67>$ruNk`zSul?kFk(i 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

vSXepN70aojXGiFK2- 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 z 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≪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%0AW4{7I71OG7nGHB8Vc#$VJ_ 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 O@Y>_60SVi!Qf{Y0Eyoax% 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 Ns&d9A(*fi?veW0|n?EIeDc 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 K$5KfI2ncmIRIfqrC1CgYbCCs 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¬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