add emf2024 workshop

This commit is contained in:
Tom 2024-05-30 09:54:12 +01:00
parent 4eb4b7ab7b
commit 93ed6582a5
10 changed files with 3289 additions and 6 deletions

@ -0,0 +1,102 @@
---
title: "Sensor.Community Workshop at EMFcamp"
layout: post
excerpt: Instructions for a workshop I'm running/ran at Electromagnetic Field 2024
image: /assets/blog/emf2024/emf2024-logo-dark.svg
thumbnail:
assets: /assets/blog/emf2024
alt:
redirect_from: /emf2024
---
Welcome to the guide for the workshop [Build your own sensor.community air quality monitoring station!](https://www.emfcamp.org/schedule/2024/212-build-your-own-sensor-community-air-quality-monitoring).
## Obligatory Spiel
Air pollution is a major public health issue but youd be surprised how few official monitoring stations there are in Europe. Thats an issue because pollution levels can vary a lot even between adjacent streets so to get the best picture possible we need more sensors! This is where citizen lead projects like Sensor.Community are doing amazing things.
In this workshop youll put together an air quality monitor made from an ESP8266 and a few sensors, load up the firmware and connect it to the sensor.community network so that other people, scientists and policy makers can see where the problems are and hopefully change something. It will also contribute to this cool [interactive map](https://maps.sensor.community). Well discuss options for weather proofing, where to place the sensor and how to hook it into your own smart home setup if you have one.
## The Kits
The a base kit (£15) contains:
* An ESP8266 Dev board pre-flashed with the [firmware](https://github.com/opendata-stuttgart/sensors-software/tree/master/airrohr-firmware)
* A BME280 Pressure/Temperature/Humidity sensor
* A 2m micro USB cable
* A long F-F header cable (dupont) with 4 wires
* A USB power supply **is not** included, let's try to prevent some e-waste by reusing an old one!
* There will be a pack of zipties lying around somewhere that you can grab from.
<figure style="width:250px;">
<img src="{{page.assets}}/base_kit.png"/>
<figcaption>
The base kit
</figcaption>
</figure>
The base+addon kit (£40) also contains:
* An SDS011 particulate matter sensor (PM2.5-10)
* A length of black plastic tube to separate the intake of the sensor a bit from the exhaust.
* A short header cable with 4 pairs.
<figure style="width:33%;">
<img src="{{page.assets}}/addon_kit.png"/>
<figcaption>
The addons
</figcaption>
</figure>
## In the workshop
1. Come buy a kit from me
2. [Assemble it](#assembly)
3. [Configure it](#configuration)
### Assembly
Note: each ESP8266 has a unique chipID. When I flashed the firmware I noted down the chipID on a piece of tape on the back of each board, you need this id for a couple steps in a minute so don't lose it! If you do, you can use the firmware flasher to get it again, you can find links to the firmware flasher on the [official guide](https://sensor.community/en/sensors/airrohr/).
Attach the black plastic tube to the port on the SDS011.
Connect the headers like the image below, use the longer headers for the BME280 and the shorter ones for the SDS011.
<figure style="width:33%;">
<img src="{{page.assets}}/hookup_guide.jpeg"/>
<figcaption>
Wiring Diagram
</figcaption>
</figure>
We want the input of the SDS011 tube to be close to the BME280, hence the different cables. Don't worry about this too much now, you'll have to think about this when you install it into a permanent position.
<figure>
<img src="{{page.assets}}/assembled.svg"/>
<figcaption>
Should look roughly like this once assembled, though you'll have a black plastic tube too. Note that I've written your ChipID on that piece of plastic protecting the pins, don't lose it!
</figcaption>
</figure>
### Configuration
When it starts up, the firmware searches for any configured wifi networks, when it doesn't find one **it starts up a hotspot called "airRohr-{ChipID}" with password "airrohrcfg".**
Connect to this network, it will likely open the config page in a captive portal but if not go to [192.168.4.1](http://192.168.4.1/).
3. For now let's connect to the [emfcamp wifi](https://www.emfcamp.org/about/internet), SSID: emf2024, username: emf, password: emf should work but if not try SSID: emf2024-open
Optional: If you plan to setup the sensor up temporarily somewhere at EMF, perhaps in your village you can
### Registering with Sensor.Community
## After the workshop
Find a permanent location for the sensor. You'll need some weather proofing and a 5V power source. It's recommended to place the sensor 1-3m above ground level in a well ventilated outdoor area. Basically you're trying to measure the same air we're all breathing.
Options for weather proofing:
* Use a U bend piece of drain pipe as recommended by the project.
* Browse some of the [many](https://www.yeggi.com/q/airrohr/) 3D printed case designs [online](https://www.yeggi.com/q/sensor+community/).
See an issue on this page? [Open a PR!](https://github.com/TomHodson/tomhodson.github.com/edit/main/_posts/2024-05-29-sensor-community-emfcamp-workshop.md)

@ -2,6 +2,4 @@ $font_stack: Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, B
$title_font_stack: Impact, Haettenschweiler, "Franklin Gothic Bold", Charcoal, "Helvetica Inserat", "Bitstream Vera Sans Bold", "Arial Black", "sans serif", HelveticaNeue-CondensedBlack;
$horizontal_breakpoint: 700px;
$vertical_breakpoint: 500px;
$pink: hsl(338, 75%, 60%);
$vertical_breakpoint: 500px;

@ -16,6 +16,8 @@
// @import "code_style_bw";
@import "code_style_github";
@import "d2";
* {
box-sizing: border-box;
@ -34,6 +36,7 @@ body {
--theme-model-line-color: #222;
--theme-model-bg-color: #fcfcfc;
--theme-subtle-outline: oklch(90% 0.0 50);
--theme-highlight-color: hsl(338, 75%, 60%);
background: var(--theme-bg-color);
color: var(--theme-text-color);
@ -88,14 +91,15 @@ main :is(p,h1,h2,h3,h4,h5,h6) {
}
a {
text-decoration: underline;
text-decoration: none;
text-underline-offset: 0.25em;
text-decoration-thickness: 0.5px;
color: var(--theme-text-color);
color: var(--theme-highlight-color);
}
header a, nav a {
text-decoration: none;
color: var(--theme-text-color);
}
div.highlight {
@ -119,6 +123,7 @@ figure {
figcaption {
margin-top: 1em;
text-align: center;
}
}

@ -37,7 +37,7 @@ header {
}
h1 {
color: $pink;
color: var(--theme-highlight-color);
font-size: 2em;
}

Binary file not shown.

After

(image error) Size: 510 KiB

Binary file not shown.

After

(image error) Size: 172 KiB

File diff suppressed because it is too large Load Diff

After

(image error) Size: 236 KiB

Binary file not shown.

After

(image error) Size: 1023 KiB

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Layer_9" data-name="Layer 9" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 212.54 376.17">
<defs>
<style>
.cls-1 {
fill: #528329;
}
</style>
</defs>
<path class="cls-1" d="M82.07,191.78l8.18,5.38c3.28-4.33,5.97-6.55,8.98-6.41,3.66,0,9.61,6.29,16.52,6.29s11.69-5.15,16.14-13.68l-8.07-5.38c-3.51,5.15-6.2,6.55-9,6.55-4.68,0-11.11-6.19-17.54-6.19-5.97,0-10.88,4.09-15.2,13.45Z"/>
<path class="cls-1" d="M149.12,88.23v-8.81l-13.45,7.99v-25.54s-7.57,0-7.57,0v30.04s-17.33,10.3-17.33,10.3V61.87h-7.57v20.21l-35.49-20.21h-2.87v7.08l38.36,21.85v29.54l-13.14-7.48v-18.86s-.05,0-.05,0l.05-.09-25.22-14.36v8.71l17.65,10.05v10.23l-17.65-10.05v8.71l38.36,21.85v17.31c-21.47,1.92-38.36,20-38.36,41.96s15.42,38.43,35.52,41.62c.27,.77,.49,1.55,.69,1.99,.46,1.01-.46,16.36-.71,18.64-.25,2.28,2.72,8.42,3.33,9.49,.61,1.06-.77,5.07-1.3,5.6-.53,.53-.51,2.99-.79,4.07-.63,2.42-6.08,9.18-8.12,9.96-.33,.13-2.97,.07-4.15,.76-1.19,.69-10.85,.34-11.8-.2s-7.19-2.18-9.83-2.63c-.62-.11-1.64-.89-2.83-2.01v5c4.15,1.48,6.99,3.81,8.41,4.5,1.43,.7,2.53,2.08,3.04,4.05,.43,1.67-7.79,5.59-11.44,7.86v8.78c3.49-3.65,10.21-8.91,11.14-9.45,1.24-.72,12.11-6.99,14.18-6.99s.62,6.63,.35,8.2c-.26,1.57,1.66,11.6,.61,12.21-.56,.32-.77,2.7-.84,5.01h6.53c.23-1.23,.53-2.36,1.04-2.48,.58-.13,1.73,1.15,2.71,2.48h4.86c-.8-1.01-1.58-1.9-1.76-2.07-.39-.39-3.17-2.58-3.63-4.36-.46-1.77-3.19-4.61-3.72-5.14s-.16-10.41,.13-11.22c.76-2.13,3.23-5.17,3.23-6.24s4.47-4.35,5.88-4.35,3.87,6.77,6.25,8.58c1.9,1.44,5.34,7.87,6.05,8.58,2.15,2.15,2.51,10.51,2.51,12.74,0,.82-.14,2.11-.32,3.47h4.13c.3-1.53,.52-2.9,.62-3.34,.25-1.11-.56-7.04,0-7.6s5.67,.2,7.85,.2,6.59-2.16,7.24-1.92c1.66,.61,1.72,2.68,4.41,4.76,.86,.66,2.69,1.54,4.82,2.42v-2.24c-2.93-1.97-4.85-7.17-4.57-7.93,.1-.27,2.04-1.8,4.57-3.81v-4.5c-3.54,2.5-9.85,5.08-11.41,5.98-1.93,1.11-10.42-1.12-12.16-2.13-1.74-1-9.83-11.29-11.09-14.08-1.02-2.25-1.11-11.85-1.11-13.12s1.21-4.42,2.33-5.06c1.12-.65,11.14,3.07,13.27,4.3,2.13,1.23,.91,6.84,2.13,8.05,1.22,1.22,2.92,3.54,3.55,3.9,.63,.36,.71,1.72,1.06,1.72s.3-2.53,.3-3.24-1.43-1.99-2.63-2.68c-1.2-.69-1.4-6.94-.96-7.19,.44-.25,1.49,0,2.89,.81,1.39,.8,4.71,2.28,6.89,2.28s1.32-1.32,0-1.32-6.26-3.12-6.99-3.55c-.73-.42-3.44-2.53-5.25-2.28s-7.72-4.46-10-4.91c-2.28-.46-3.04-3.14-3.04-4s-5.04-4.41-5.32-5.32c-.28-.91,.28-9.85,.71-10.28s-.35-2.13,1.57-5.32c.92-1.52,2.62-3.14,4.15-4.41,17.9-4.86,31.11-21.25,31.11-40.67,0-21.96-16.89-40.04-38.36-41.96v-35.35l38.36-22.79Zm-7.57,100.11c0,19.06-15.51,34.57-34.57,34.57s-34.57-15.51-34.57-34.57,15.51-34.57,34.57-34.57,34.57,15.51,34.57,34.57Z"/>
</svg>

After

(image error) Size: 2.6 KiB

Binary file not shown.

After

(image error) Size: 149 KiB