enviromental_measurements

Environmental Sensing

What is Environmental Sensing?

Probably the best example for environmental sensing are weather measurements. Since the beginning of time, it was peoples wish to know what weather will be tomorrow or the day after that. At first, there was weather lore like „Red sky at night, sailor's delight. Red sky in the morning, sailor's warning.“ which basically tried to find rules for predicting the weather based on simple rules. But in our industrialized world, more accurate predictions are necessary, so that a farmer does not plant his seeds when there is cold weather incoming. To achieve accurate weather predictions for a prolonged time, the weather lore is much to inaccurate and needed to be replaced by better methods. Since the weather is a chaotic system where even little changes can have a huge effect, much information is needed to predict changes accurately1). To gather the necessary information, many sensors measuring temperature, wind speed and direction, rainfall, humidity, atmospheric pressure and many more characteristics of weather, are set all around the world. While every sensor only measures the properties of the weather in one spot, combining the measurements of many sensors allows us to measure the actual weather, and with the information from these sensors and extensive weather prediction models, it is possible to calculate the weather for the next few days with little error.2)

The key to efficient environmental measurements is to combine different measurement methods from the micro scale (e.g. one weather station) with information from the macro scale (e.g. satellite images showing clouds) 3). This process allows the finding of recurring patterns, which can be used to extrapolate findings from one macroscopic area to another.


Hardware

This section presents the three systems which can be used for environmental measurements which are also used in class. For a more general overview see Sensors.

Wunderbar

Relayr Wunderbar manufactured by Relayr
exclusively available at Conrad
The Wunderbar is made up of one master module and six smaller Bluetooth-Low-Energy sensor modules. After onboarding4), the sensor modules can be detached from the main module and placed individually. Relayr Wunderbar

WiFi Master Module + Bluetooth Low Energy (BLE)
  • Core Microcontroller: Freescale Kinetis Series, 32-bit ARM Cortex-M4 with DSP instructions MK24FN1M0VDC12
  • Clock Speed: 120 MHz
  • Flash: 1024 KB
  • SRAM: 250 KB
  • WiFi Module: Gainspan GS1500M IEEE 802.11b/g/n, WPA/WPA2, full TCP/IP, SSL/TLS
  • Bluetooth Low Energy (BLE): Nordic nRF51822 ARM Cortex-M0, Bluetooth 4.0
  • IO: 12 exposed GPIO pads, including 4 ADC, SPI, I2C and SDIO
  • Power Supply: 3.3 V regulator including Li-Ion/Li-Po charger
  • USB: Full-speed USB w/OTG controller
  • 32 kHz Xtal oscillator for RTC


BLE Sensor Mini-Modules
  • Core Microcontroller: Nordic nRF51822 BLE (ARM Cortex-M0, Bluetooth 4.0 stack)
  • Clock Speed: 16 MHz
  • RAM: 16 KB
  • Flash: 256 KB
  • IO: 8 exposed GPIO pads, including SPI, I2C, TWI, UART, ADC
  • 32 kHz Xtal oscillator


Sensors

Temperature/ Humidity
  • Name: HTU21D
  • Temperature: 0.01°C temp. resolution, ±0.3ºC accuracy,
  • Humidity: 0.04%RH resolution, ±2%RH accuracy, -40 to +125 °C range
Light/ Color/ Proximity
  • Name: TCS3771
  • RGB color sensing
  • proximity detection
  • up to 16 bit resolution
Accelerometer/ Gyroscope
  • Name: MPU-6500
  • 6 axis
  • accelerometer: ±2g to ±16g full scale range
  • gyroscope: ±250°/s to ±2000°/s
Bridge/Grove
  • 4 pin connector
  • compatible with Grove modules from Seeedstudio
  • 2 GPIOs / I2C or UART (3.3V to 5V compatible)
Sound
  • Name: Knowles SPU0410HR5H MEMS
  • noise level measurements
  • 10 bit resolution
IR Transmitter
  • IR transmitter to control audio/visual equipment, an LED strip light, air conditioner, garage
Advantages & Disadvantages
Advantages Disadvantages
easy setup historical data still in beta5)
no soldering required unpredictable timing of measurements
low energy demand no battery indicator
bridge module some examples from the manufacturer do not work
wireless sensors strong dependence to the relayr server
everything is hackable bad build quality (some modules battery connector broke during usage and the main module does not fit into the provided shell)
RESTful server API
open source - everything is hackable
central server for easy setup and usage
Price

approx. 140€ when bought from Conrad

Platform

Relayr offers a big amount of services and tools to support the users of the Wunderbar.
The first tool they offer is their Android and iOS app, needed for the first on-boarding but also showing the data received from the sensors. After those sensors measure something, the gathered data are sent to the Relayr Cloud and are shown on their Developer Dashboard. There you can have a direct look at your data, or you can get access to those data using the REST-API. For this purpose, Relayr offers six libraries to program apps with: Android, Apple, Python, C#, JavaScript and NodeJS.6) If you still need some help, there is plenty of documentation regarding the SDKs and the Hardware itself, or if you have any questions, you can simply ask them in their forum.

Demo Code

This is the code we used for the demo shown in our Video:

wunderbar.html
<!DOCTYPE html> 
<html> 
 
<head> 
<script src="https://developer.relayr.io/relayr-browser-sdk.min.js"></script> 
</head> 
 
<body> 
<div> 
<a >temperature: </a> <a id="temperatur"></a> <br>
<a>humidity: </a><a id="humidity"></a><br>
 
<a >mic: </a><a id="mic"></a><br>
<h1 id="coffee_grinded" >no sound</h1>
<h1 id="coffee">no coffee in the making</h1>
<a>coffees made: </a><a id="coffees made">0</a>
 
</div>
<script >
 
var coffe_counter = 0;
	var relayr = RELAYR.init({
		appId: "11c50984-28f2-4441-8db5-e0e914b853bd"
	});
 
	var coffe_count = 0;
	var coffee_was_grinded = false; 
	var coffee_lock = true;
 
	var humidity = 0;
	var noise_level = 0;
 
	relayr.devices().getDeviceData({  
		token: "abv8A-QhIcIPjlsu8LIRHDC63CchmruT", 
		deviceId: "f6952435-251e-4344-ad24-a70e9656a38e", 
		incomingData: function(data) {  
			console.log("temperature and humidity sensor data", data); 
			document.getElementById("temperatur").innerHTML = data.readings[0].value + "°C";
			document.getElementById("humidity").innerHTML = data.readings[1].value + "%";
			humidity = data.readings[1].value;
		} 
	}); 
 
	relayr.devices().getDeviceData({  
		token: "abv8A-QhIcIPjlsu8LIRHDC63CchmruT", 
		deviceId: "73e704d8-46f7-43b8-9c68-3cd314f208f8", 
		incomingData: function(data) {  
			console.log("microphone data", data); 
			document.getElementById("mic").innerHTML = data.readings[0].value;
			noise_level = data.readings[0].value;
		} 
	});
	window.setInterval(function(){
			if(humidity >= 100 && noise_level >= 100 && coffee_lock === true){
				coffee_lock = false;
				document.getElementById("coffee").innerHTML = "coffee is brewing";
				coffe_counter++;
				document.getElementById("coffees made").innerHTML = coffe_counter;
				window.setTimeout(function(){
					coffee_lock = true;
					}
				, 60000);
			} else if(noise_level >= 100) {
				document.getElementById("coffee_grinded").innerHTML = "the sound of coffee in the making...?";	
			} else {
				document.getElementById("coffee_grinded").innerHTML = "no sound";
			}
			if(noise_level < 100 && humidity < 100) {
				document.getElementById("coffee").innerHTML = "no coffee in the making";
			}
		}, 100
	);
 
 
</script> 
</body></html>

Smart Citizen

Smart Citizen KIT manufactured & sold by Smart Citizen
The Smart Citizen Kit is an example of Tech For Good


Base Board (Data-Processing):

  • ATmega32u4 microcontroller
  • Real-time clock
  • RN131G WiFly Module
  • JST 2-Pin SM connector for Li-Po battery (battery included)
  • Coin Cell Battery CR2032 connector (battery sold separately)
  • MicroSD card connector (card sold separately)
  • Micro-B USB connector (cable sold separately)
  • DC power regulation circuitry
  • Li-Po battery charging circuitry


Sensors

Temperature/ Humidity
  • Name: HTU21D
  • Temperature: 0.01°C temp. resolution, ±0.3ºC accuracy,
  • Humidity: 0.04%RH resolution, ±2%RH accuracy, -40 to +125 °C range
Light
  • Name: BH1730FVC
  • illuminance Measurement Range[lx]: 0 to 65, 000
  • Sensitivity Variations[%]: ±15
  • Operating Temperature (Min.)[°C]: -40
  • Operating Temperature (Max.)[°C]: 70
Air Pollution Sensor
  • Name: MICS-4514
  • CO detection range: 1-1000 ppm
  • CO sensing resistance in air: 100-1200 kΩ
  • NO2 detection range: 0.05-5 ppm
  • NO2 sensing resistance in air: 0.8-8 kΩ
Microphone
  • Name: POM-2246P-C33-R
  • Sensitivity: -46 ±3 dB
Advantages & Disadvantages

As our copy of the Smart Citizen Kit didn't arrive yet, we could not test the hardware itself. However, everything else was tested.

Advantages Disadvantages
easy setup relatively expensive
optionally solar powered most sensors offline
RESTful server API
big community
wireless sensors
no technical experience required
good forum
nice dashboard
open source
Price

Smart Citizen API 155€, with VAT & shipping 220€

Platform

The REST-API7) allows to integrate kits to the Smart Citizen cloud and also allows to query data from other kits. Documentation can be found at http://docs.smartcitizen.me/#/start/adding-a-smart-citizen-kit


Sparkfun Weather Shield

manufactured and sold by SparkFun
Sparkfun Weather Shield Without any attachments Sparkfun Weather Shield with attachments

Sensors

Temperature/ Humidity
  • Name: HTU21D
  • Temperature: 0.01°C temp. resolution, ±0.3ºC accuracy,
  • Humidity: 0.04%RH resolution, ±2%RH accuracy, -40 to +125 °C range
Light
  • Name: ALS-PT19
  • Maximum wave length: 630 nm
  • Operating temperature: -40 °C to +85 °C
Air Pressure
  • Name: MPL3115A2
  • Operating range: 20 kPa to 110 kPa absolute pressure
  • Operating temperature: -40 °C to +85 °C
  • Resolution: 20-bit
Advantages & Disadvantages
Advantages Disadvantages
easy to use needs soldering
compact design no attachments included
helpful attachments for purchase (gps,…) needs arduino
good examples
open source
Price

approx. 40€ without any attachments

Platform

There is no cloud platform provided by sparkfun.

Demo Code

This is the code we used for the demo shown in our Video.
Before being able to use it, you have to read through this hookup guide and follow the mentioned steps. Then you need to install this library. After you've done those two required steps, you're able to use our code:

sparkfun.ino
#include "SparkFunHTU21D.h"
#include "rgb_lcd.h"
 
#define LED 6
// analog I/O pins
const byte REFERENCE_3V3 = A0;
const byte LIGHT = A1;
 
//Create an instance of the object
HTU21D myHumidity;
rgb_lcd lcd;
void setup()
{
  Serial.begin(9600);
  Serial.println("HTU21D Example!");
  lcd.begin(16, 2);
  myHumidity.begin();
  lcd.display();
  pinMode(REFERENCE_3V3, INPUT);
  pinMode(LIGHT, INPUT);
  pinMode(LED, OUTPUT);
}
 
void loop()
{
  float humd = myHumidity.readHumidity();
  float temp = myHumidity.readTemperature();
  lcd.clear();
  lcd.print("Temp.:    ");
  lcd.print(temp, 1);
  lcd.print("C");
  lcd.setCursor(0, 1);
  lcd.print("Humidity: ");
  lcd.print(humd, 1);
  lcd.print("%");
  float light_lvl = get_light_level();
  if(light_lvl > 0.5f){
    digitalWrite(LED, LOW);
  } else {
      digitalWrite(LED, HIGH);
  }
  delay(100);
}
 
 
//Returns the voltage of the light sensor based on the 3.3V rail
//This allows us to ignore what VCC might be (an Arduino plugged into USB has VCC of 4.5 to 5.2V)
float get_light_level()
{
  float operatingVoltage = analogRead(REFERENCE_3V3);
 
  float lightSensor = analogRead(LIGHT);
 
  operatingVoltage = 3.3 / operatingVoltage; //The reference voltage is 3.3V
 
  lightSensor = operatingVoltage * lightSensor;
 
  return(lightSensor);
}

Sensors

Temperature

Temperature Sensor Today, the mostly used type of temperature sensor is the resistance thermometer. Depending on the temperature range you want to measure, the material of which the sensor layer consists is important. Normally they are made of copper, nickel or platinum. With a sensor made out of platinum, the temperature range you can measure goes from -272°C to up to 962°C. When the temperature changes, there is a predictable change in the resistance depending on the used metal. If you measure this change, you can calculate the temperature.8)

Wind

Anemometer Wind sensors, or so called anemometers, measure the direction and speed of the wind with a weather vane a rotating element. The concept is the same since the year 1450.9)

Humidity

Air Humidity

Air Humidity Sensor There are two different types of humidity sensors, the resistive type and the capacitive.
The resistive humidity sensor basically measures the resistance between two electrodes on a polymer humidity-sensing film. The more resistance there is, the more water vapor is in the air, and thus, the higher is the humidity.
The capacitive humidity sensor measures the capacitance of a capacitor. Than, it compares the amount of water vapor present in the sensor with its capacitance. The thus gained relation is the desired relative humidity.10)

Soil Humidity

Soil Humidity Sensor Two large pads connected to the sensor itself are put in the ground and act as a resistor. The higher the conductivity between those two is, the lower is the resistance and the lower the resistance, the higher the moisture level of the ground.11)

Pressure

Preasure Sensor With electrical barometric pressure sensors it is possible to measure the altitude, atmospheric pressure and the temperature. With a barometric sensor it is possible to measure the altitude with less than one meter error which is significantly better than altitude measurements with GPS. Most digital sensors use the piezoelectric effect to measure the pressure.12)

Rain

Rain Sensor Rain meters function like a self emptying bucket. When it rains, the bucket fills and is emptied periodically. The capacity of the bucket times the times the bucket was emptied every minute results in the amount of rain fallen.13) Easier sensors only detect if rain is falling by measuring the resistance between two conducting patches, if a raindrop falls in the room between the two patches the circuit is closed by the water and rain is detected14) This kind of sensor is used in cars to activate the windscreen wipers automatically.

Wireless Networks

Wireless Networks Every system that uses wireless communication usually has a module to detect this specific kind of network. To measure the amount of networks present, this mechanism is leveraged. The amount of networks and their strength, e.g. wifi networks, can be a measurement for the population density. Also, these measurements can be used to track movement of people, e.g. by measuring the bluetooth networks of wearable devices. A third case where measuring wireless networks is useful is for positioning, e.g. the information about nearest LTE networks and their respective signal strengths can be used to calculate the users position using just a mobile phone.15)

Light

Ambient Light Sensor Light sensors are, as the name already indicates, sensors that can basically measure the level of light or detect the color of an object through the light it reflects. There are lots of different light sensors with different use cases. Some of them can for example measure light waves that are invisible for humans, like infrared, whereas others can even detect single photons. The following are some light sensors with different possibilities:

  • photodiodes: those are the most basic light sensors. Depending on the used material, they can detect different wave lengths of light. Even the mostly used of them can detect light waves that are not noticeable by humans. Once they detected the light, they convert it into electrical energy.
  • phototransistors: those are an advanced form of the photodiode. They basically amplify the electric current by the transistors current gain.16)Ardruino compatible camera
  • image sensors: Images basically consist of the light reflected from objects and then captured by a camera. image sensors are an highly advanced form of photodiodes that measure the attenuation of light waves and then convert it into electrical signals, and thus create digital images. That is the reason why they are mainly used in analog and digital cameras.17)
  • photomultipliers: those are are the most powerful and simultaneously one of the oldest light sensors that exist. They can detect light in ultraviolet, visible and near-infrared range. Photomultipliers can multiply the energy of the incoming light by up to 100 million times as much, so making it possible to detect even singly photons, the basic building blocks of light. They are mainly used in medicine for blood analysis, for astronomy, or with several adjustments for the production of night vision devices.18)

Air Pollution

Air Quality Sensor Air pollution is manly caused by combustion gases like carbon monoxide (CO) or nitrogen dioxide (NO2). With the help of a tin dioxide (SnO2) semiconductor, those gases can be measured. The tin dioxide causes a basic resistance on the semiconductor, whereas the presence of oxygen increase it and the presence of those combustion gases reduce it. That means, the lower the resistance gets, the more combustion gases are in the air. The resistance is monitored by an integrated circuit, causing a high power demand. As the presence of those gases is measured via their resistance, air pollution is normally measured in kO. 19)

Sound

Sound Sensor To measure sounds, variation of the air pressure caused by sound waves is detected and converted into an electrical signal. There are two different possibilities to work with this detected sound:

  • noise level: Doing this, you just record the volume of the voice and store or stream it. This would only need a low amount of storage capacity or power for streaming because the gathered amount of data is quite small
  • record the actual sound: All the detected sound waves are used. For working with this, either a constant stream or large enough memory would be needed. It has a high power demand, making it difficult to use for sensors in environmental settings.

Location

GPS Module The mostly used outdoor location tracking method is GPS. It is based on satellites sending coded radio signals containing their current position and the exact time. If at least three of those satellites are in range, the position of the device can be tracked by using a sort of triangulation. The civil version of the GPS system has an accuracy of about 10 meters. However, as the device needs contact to the satellites, GPS only works outdoors.20) For indoor position tracking, Wifi-fingerprinting is the most usable method until now.21)

Time

When combining the data from several measurement stations, it is crucial to have accurate timestamps with every data point. To achieve this with very little energy, the build in clock of the micro controller can be used. If highly accurate timings are necessary, it is recommended to use the time information from a GPS module.

Proximity

Ultrasonic Proximity Sensor To detect proximity, the mostly used sensor type is the photoelectric sensor. It can detect the absence, presence or distance of an object by emitting and receiving for example an infrared signal. There are tree different types of photoelectric proximity sensors:

  • opposed: the receiver is located adverse to the emitter. If an object passes the area, the signal gets interrupted and the presence of the object is detected. It has the best accuracy, but you need to place two devices of which everyone is connected to a circuit.
  • retro-reflective: emitter and receiver are in the same device, a mirror is placed adverse to them. Like the opposed one, it detects the presence when the signal is interrupted. Due to using the mirror, the accuracy is slightly worse, but you need just one circuit.
  • diffused: emitter and receiver are in the same device. Presence is detected when the emitted signal gets reflected from the object itself. This leads to the worst accuracy of the tree, but as you only need one device, it is suited the best for sensing in the environment.22)

Movement

For movement measurements, there are two different types of sensors measuring the two sorts of movement: Accelerometer

  • accelerometer: As the name suggests, this thing measures acceleration. Generally it measures the acceleration in six axis, making it possible to detect movement in every direction. It is even possible to sense the angle the device is titled at with respect to the earth by measuring the amount of static acceleration due to gravity.23)

Gyroscope

  • gyroscope: A gyroscope senses the rotation of a device by measuring the central gravitational pull caused by Earth's gravity. Or to explain it easier, it helps determining which way is „up“ and which way is „down“.24) This, for example, is used in planes to check if it is still flying horizontally to help the pilot during bad vision.

Big Data

Big Data is a term used to describe amounts of data that can not be handled with traditional methods of data processing, because of the size or complexity of the data.

When conducting environmental measurements, some of the main problems of big data processing can occur. This includes large data sets from sensor network with millions of sensors each sending at a high velocity. But usually, the complexity of the data is rather low, because environmental sensors produce highly structured data.


Applications for Environmental Measurements

Weather Measurements

An accurate weather forecast is crucial for our industry and society to function, but it also helps to prevent catastrophies by predicting the movement of severe storms, giving people a head start when evacuating.

Pollution Measurements

Measuring the amount of toxic elements in our atmosphere lead to a better understanding of the reasons of some severe illnesses like cancer. This leads to the ability to tackle these pollution problems and create a safer world with better air. One example from the past is the regulation of Chlorofluorocarbon25), which shows, how measuring the amount of certain molecules in the atmosphere can explain the losing of the crucial ozone layer and therefore led to a ban of Chlorofluorocarbons.

Wildlife Tracking

Wildlife Tracking When biologists want to track wildlife, they mostly rely on automated cameras which shoot pictures of passing animals. With these pictures, it is possible to track the animals behavior and how their population evolves. An other method used is to implant microchips into the animals or use microchips in collars which the animals wear to track them. An advantage of the collars is, that it also allows tracking down poachers.26)

Automatic Adjustment of Systems to the Weather

To yield optimal power, solar power plants can adjust their panels so that they are at an optimal angle towards the sun. Also they can take a safe position when there is bad weather incoming to prevent damage to the solar modules.

Home Automation

Measuring the environment also can have a positive effect on the power bill when it is applied to a home automation system. This system then regulates the microclimate of the house using information from weather sensors and also from a weather forecast to adjust the heating, the lights and the blinds, and also takes care of optimal air exchange to minimize energy consumption. For example, the system monitors the humidity levels in the house and increases the airflow to a room if there are many people and the air starts to become moist. A system like this can also be used for intrusion detection, since it indirectly measures the presence of humans, and can alarm the police if there are life signs and the home owner is on vacation.27)

Traffic Monitoring

One environmental property created by humans are cars. Measuring cars has many benefits. On the one hand, it is possible to predict traffic jams and reroute traffic to lesser used routes. Also it is necessary to collect toll which is used to keep the streets intact.28)

Topographical Data

Topographical data is mostly gathered by satellites or planes. Since topographical data also includes information about the positions and dimensions forests and glaciers the change of the data over time can be good indicator for climate change. Topographical data of human settlements can lead to insights about how cities grow and how the growth must be regulated.29)

Measure People

People are easily tracked through cellphones, bluetooth-micro-networks, micro climate changes like increased humidity from exhaled air, or specialized chips in clothes. Analyzing the movement patterns of humans has changed the way shops work and lead to improvements in emergency exit paths.


Tech For Good

Tech for good30) is an organization that encourages people to stick to certain principles for technology, so that this technology is created „With humankind in mind“31). This means that the technology should serve to empower people to make their lives better.

Principals

Tech for good follows ten principles32):
1) Tech for who? Is it for the 99% and not just the 1%? Is your tech accessible and usable by the many, or does it only really benefit an already privileged segment of society? Maybe the first segment you target are the people who can afford the tech and are easy to engage with - but are you explicit with the outside world that this is part of a long term strategy to build interest before you can reach other segments?

2) Has it been designed to address an issue or need? Or maybe to instill a sense of wonder and awe? We don’t need more crap in this world, more stuff, more consumption so we are always keen to tell stories of technology that is being applied to a social problem or real human need. That being said, we also know joy, awe and wonder are all important so we don't only want to feature stories about “austerity” tech. We just really aren’t fans of technology that perpetuates the same consumerist behaviors as if the world around us can cope with that.

3) Does it give power and agency to people? In our experience, just because you are in a 'good' sector doing tech doesn't mean that you are making 'tech for good'. For example, a tech platform that makes it easier for charities to collect more money is not inherently tech for good, in certain scenarios it’s settling for an imbalance of power, not giving people what they need to help themselves. But what about technologies that mean the charity needs less money in the first place because the tech helps create solutions. We think that is totally tech for good: technology that ties in with social structures, or needs, to change the status quo. We believe in technology that transforms, not entrenches.

4) It doesn’t have to be about scale, but it does need to be bold. You might be being bold by keeping something small and simple, or by deepening the work in one place rather than looking to spread it.

5) In the same way that it doesn’t need to be about scale, it also doesn’t have to be about the “new”. Some of the best tech for good examples are existing tools and platforms just being used in new contexts or as simple solutions to real user needs.

6) How is it made? What is the provenance of it? We don’t expect everyone to be where Fairphone are at, but we do like to feel that people are aware of the provenance of their products and are constantly working to improve things.

7) Have you thought about assisted digital needs? Does your tech for good product/service work for people who have assisted digital needs? Or do you have an assisted digital policy in place?

8) Do the founders and team add to the ‘good’? Are the ‘good’ principles reflected throughout the team behind the tech for good, including any investors? Are your activities as transparent as possible?

9) Are the people who created it aware of any unintended consequences? Putting something new out in to the world often has ripple effects, and we love to see and hear about people's awareness of this. Do you communicate the way your tech is woven into the web of society?

10) We want to bring to life 'tech for good' in the broadest sense, from institutions to start-ups to charities. But we always have a special focus on telling stories from the user perspective, rather than just the founder or the technology. 33)

Following these principles makes sure that the technology really has humankind in mind and is not just about profit.

Prominent examples for tech for good are featured and regularly updated at http://www.techforgood.global/blog/, http://www.ericsson.com/thecompany/sustainability_corporateresponsibility/technology-for-good-blog/ and tips for nonprofit tech for good companies can be found at http://www.nptechforgood.com/

enviromental_measurements.txt · Zuletzt geändert: 2018/12/03 09:43 (Externe Bearbeitung)