Internet of dusty things

45
Internet of Dusty Things by Daniel Bovensiepen

description

Building Air Purifier and Pollution Sensors with the help of Ruby in Beijing. Talk was given at eurucamp 2014 in Berlin.

Transcript of Internet of dusty things

Page 1: Internet of dusty things

Internet of

Dusty Thingsby Daniel Bovensiepen

Page 2: Internet of dusty things

Building Metros

mruby core committer

<3 3D Printer

Page 3: Internet of dusty things

– Objective

“My kid is the youngest attendee @eurucamp 2014. I want him to be the oldest @eurucamp 2114.”

Page 4: Internet of dusty things

Airpocalypse

~2

Page 5: Internet of dusty things
Page 6: Internet of dusty things

Masksself-protection outside

Page 7: Internet of dusty things
Page 8: Internet of dusty things

Bad Air Good Air

MAGIC(TM)

Page 9: Internet of dusty things

Bad Air Good Air

MAGIC(TM)

airflow

Page 10: Internet of dusty things

1. Version

• Dual-use of dorm room fan

• HEPA filter (80RMB)

• Tape and cardboard

Page 11: Internet of dusty things
Page 12: Internet of dusty things

~7

Page 13: Internet of dusty things

–Dylos Serial reading

port = ARGV[0] logfile = ARGV[1] ser = SerialPort.new(port, 9600, 8, 1, SerialPort::NONE)   loop do line = '' loop do char = ser.getc # .. normalize line format .. sleep 0.1 end File.open(logfile, "a+") do |f| txt = "#{DateTime.now.strftime("%Y-%m-%d--%H-%M-%S")} #{line.strip}" f.puts txt end end

Page 14: Internet of dusty things

Dylos

Page 15: Internet of dusty things

Dylos

Page 16: Internet of dusty things

Dylos

Page 17: Internet of dusty things

expensive

Page 18: Internet of dusty things

–Cross Compile mruby configuration to ARM http://blog.mruby.sh/201305310507.html

Page 19: Internet of dusty things

–SHINYEI TECHNOLOGY Co., Ltd.

“Thank you for your inquiry of Shinyei Particle Sensor. We usually do not disclose the information you have inquired.”

Page 20: Internet of dusty things

expensive

Page 21: Internet of dusty things

–SAMYOUNG S&C Co., Ltd.

Page 22: Internet of dusty things

–SAMYOUNG S&C Co., Ltd.

Page 23: Internet of dusty things
Page 24: Internet of dusty things

–flank Algorithm

# .. mcu loop ..   if digitalRead(pin) == LOW unless was_low? # just changed to low; lets save the start start_low = millis was_low? = true end else if was_low? # Low pulse complete   # Calculate the duration of the low pulse duration = millis - start_low # Valid low pulses are only 10ms to 90ms long low_sum += duration if duration >= 10 && duration <= 90 not_low_anymore end end

Page 25: Internet of dusty things

–flank Algorithm

# .. mcu loop ..   if digitalRead(pin) == LOW unless was_low? # just changed to low; lets save the start start_low = millis was_low? = true end else if was_low? # Low pulse complete   # Calculate the duration of the low pulse duration = millis - start_low # Valid low pulses are only 10ms to 90ms long low_sum += duration if duration >= 10 && duration <= 90 not_low_anymore end end

Low Flank

High Flank

Page 26: Internet of dusty things

Dylos

DSM501a

Page 27: Internet of dusty things

Dylos

DSM501a

Page 28: Internet of dusty things

DIY Air Purifier

~17

Page 29: Internet of dusty things
Page 30: Internet of dusty things

airflow

airflow

airflow

under pressure

Page 31: Internet of dusty things
Page 32: Internet of dusty things

Potsdam Air Good Air

airflow

Page 33: Internet of dusty things

Beijing Air Good Air

airflow

Page 34: Internet of dusty things

–PWM based on low pulse ratio

# .. mcu loop ..   # acquire ratio (usually between 0% to 10%) ratio = lowpulseoccupancy_ratio(sensor_pin) # map 0-10% to full PWM range and # re-use this ratio as duty cycle analogWrite(fan_pin, 255 / 100 * ratio * 10)

Page 35: Internet of dusty things

2. Version

• using suction for air flow

• fan speed based on air quality

Page 36: Internet of dusty things

Internet of Dusty Things

• contains WIFI and ETH

• stable Linux support

• 4MB Flash

• 16MB RAM

Page 37: Internet of dusty things

mruby ARM

MIPS4k

Cross Compile

Page 38: Internet of dusty things

mruby ARM

MIPS4kmruby

Cross Compile

Cross Compile

Page 39: Internet of dusty things

http://blog.mruby.sh/201405051415.html

Port mruby to everything

mruby OpenWRTMIPS4k

i.e. PS3Cross Compile

Cross Compile

pack

Page 40: Internet of dusty things

Feature Wish ListCloud Storage of Pollution

Remote Control

Time Scheduler

Automatic Filter Exchange Notification

History Graph of PollutionSoftware Upgrade

Page 41: Internet of dusty things

3. Version

• remote control via wlan

• air sensing and filter check

• data graphing and collection

Page 42: Internet of dusty things

I see particles

Page 43: Internet of dusty things

Portable Counting

Page 44: Internet of dusty things

Sum-Up

Page 45: Internet of dusty things