OpeniKair
来自Jack's Lab
(版本间的差异)
(→HCHO Sensor) |
(→PM2.5) |
||
(未显示1个用户的62个中间版本) | |||
第1行: | 第1行: | ||
== Overview == | == Overview == | ||
+ | |||
+ | [[文件:Ikair-01.jpg | 555px]][[文件:Ikair-base-board-1.jpg]] | ||
+ | |||
+ | |||
+ | 基座: | ||
+ | |||
+ | * 一片 TI CC3000 (WiFi) | ||
+ | * STM8S105K6 | ||
+ | * TI CC2531 (Zigbee) | ||
+ | |||
+ | |||
+ | 每个可拆卸部件,内部都有一颗 STM8S105K6,模拟 i2c slave device | ||
+ | |||
+ | 所有的部件通过一个 4 pin 的快拆口连接,从圆外往圆心数,其定义为: | ||
+ | |||
+ | * 5V | ||
+ | * SCL (测试点常常标为 15) <=== STM8S105K6_PIN12 (I2C_SCL) | ||
+ | * SDA (测试点常常标为 14) <=== STM8S105K6_PIN11 (I2C_SDA) | ||
+ | * GND | ||
+ | |||
+ | |||
+ | 所有部件的 STM8S105K6 的 PIN11 (I2C_SDA) 都连到统一的 SDA; PIN12 (I2C_SCL) 都连到统一的 SCL | ||
+ | |||
+ | |||
+ | * 底座的 i2c address 是 0x08 (8, decode: 0x10) | ||
+ | * 顶盖带触摸的 i2c address 是 0x10 (16, decode: 0x20) | ||
+ | * HCHO 甲醛传感器之 i2c address 是 0x28 (40, decode: 0x50) | ||
+ | * PM2.5 部件的 i2c address 是 0x30 (48, decode: 0x60) | ||
+ | |||
+ | 以上这些由 STM8S105K6 模拟 i2c slave 设备的部件,都对 0x00 的 i2c 地址有响应。。。可以认为 0x00 是他们的广播地址。。。 | ||
+ | |||
+ | |||
+ | * BH1750 光照度传感器之 i2c address 是 0x5C (92, decode: 0xB8) | ||
+ | * SHT2x 温湿度传感器的 i2c address 是 0x40 (64, decode: 0x80) | ||
+ | |||
+ | |||
+ | SHT2x 传感器在 USB 线上耳机接口部件内,USB_SCL, USB_SDA 分别连接到 CC2531 之 PIN15 和 PIN16 | ||
+ | |||
+ | CC2531 的 PIN9 和 PIN11 则分别连接到统一的 I2C_SCL 和 I2C_SDA | ||
+ | |||
+ | <br><br> | ||
+ | |||
+ | == STM8S105K6 == | ||
+ | |||
+ | [https://www.st.com/resource/en/datasheet/stm8s105k6.pdf STM8S105K6 Datasheet] | ||
+ | |||
+ | [[文件:STM8S105K-QFP32-pinmap.jpg]] | ||
+ | |||
+ | === PM2.5 === | ||
+ | |||
+ | * PIN14 --- PPDNS_PIN2 | ||
+ | * PIN16 --- PPDNS_PIN4 | ||
+ | |||
+ | |||
+ | '''LED_RING:''' | ||
+ | * R: P8, P13, P25, P17, P18, P19 | ||
+ | * G: P20, P21, P22, P23, P24, P26 | ||
+ | * B: P27, P28, P29, P30, P31, P32 | ||
+ | |||
+ | <br><br> | ||
+ | |||
+ | == CC2531 == | ||
+ | |||
+ | [[文件:Cc2531-pinmap.jpg]] | ||
<br><br> | <br><br> | ||
第10行: | 第74行: | ||
* Type is PPD42NS, a STM8S105K6 MCU emulating a i2c slave device | * Type is PPD42NS, a STM8S105K6 MCU emulating a i2c slave device | ||
− | < | + | <source lang=bash> |
+ | l`▒▒▒Reading i2c device... | ||
+ | bytes: 34 34 00 00 00 00 34 00 00 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 34 00 00 00 00 34 00 00 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 34 00 00 00 00 34 00 00 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 34 00 00 00 00 34 00 00 00 00 00 | ||
− | + | Reading i2c device... | |
+ | bytes: 34 AD 3E E0 45 45 61 01 5F 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 A1 A4 25 46 46 E6 08 C5 00 00 00 | ||
− | + | Reading i2c device... | |
+ | bytes: 34 FC C6 52 46 46 E8 0C 50 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 C1 2F B9 46 46 20 0C 93 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 0A 05 82 46 46 4D 09 C4 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 C7 3A BF 46 46 80 09 6F 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 8D 97 ED 46 46 4C 07 F7 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 74 B9 38 46 46 94 08 C9 00 00 00 | ||
− | + | ||
+ | Reading i2c device... | ||
+ | bytes: 34 0F 09 7F 46 46 54 07 8B 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 19 EC 4F 46 46 D5 10 12 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 CC 0C A2 46 46 00 13 3C 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 D9 44 DD 46 46 9E 0D 25 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 15 0F 83 46 46 F5 0A B3 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 8C 84 FA 46 46 A4 08 54 00 00 00 | ||
+ | ...... | ||
+ | </source> | ||
+ | <source lang=bash> | ||
+ | concentration = 1292.44 pcs/L, 365.76 pcs/0.01cf, LowPulsOccu = 211526, Ratio = 0.71 | ||
+ | concentration = 2019.79 pcs/L, 571.60 pcs/0.01cf, LowPulsOccu = 331231, Ratio = 1.10 | ||
+ | concentration = 830.56 pcs/L, 235.05 pcs/0.01cf, LowPulsOccu = 135637, Ratio = 0.45 | ||
+ | concentration = 2811.53 pcs/L, 795.66 pcs/0.01cf, LowPulsOccu = 461557, Ratio = 1.54 | ||
+ | concentration = 1997.89 pcs/L, 565.40 pcs/0.01cf, LowPulsOccu = 327624, Ratio = 1.09 | ||
+ | concentration = 1817.27 pcs/L, 514.29 pcs/0.01cf, LowPulsOccu = 297887, Ratio = 0.99 | ||
+ | |||
+ | concentration = 13836.23 pcs/L, 3915.65 pcs/0.01cf, LowPulsOccu = 2139899, Ratio = 7.13 | ||
+ | concentration = 3388.41 pcs/L, 958.92 pcs/0.01cf, LowPulsOccu = 556358, Ratio = 1.85 | ||
+ | concentration = 4074.18 pcs/L, 1152.99 pcs/0.01cf, LowPulsOccu = 668694, Ratio = 2.23 | ||
+ | concentration = 2964.61 pcs/L, 838.99 pcs/0.01cf, LowPulsOccu = 486733, Ratio = 1.62 | ||
+ | concentration = 6126.22 pcs/L, 1733.72 pcs/0.01cf, LowPulsOccu = 100705, Ratio = 3.34 | ||
+ | concentration = 4440.79 pcs/L, 1256.74 pcs/0.01cf, LowPulsOccu = 728527, Ratio = 2.43 | ||
+ | </source> | ||
+ | |||
+ | |||
+ | Another PM2.5: | ||
+ | |||
+ | <source lang=bash> | ||
+ | Reading i2c device... | ||
+ | bytes: 00 00 00 00 00 00 00 00 00 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 ED B0 0E 45 43 ED 00 00 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 93 F0 D0 46 4F 93 00 00 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 9F F0 DC 46 4F 9F 00 00 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 63 D4 D8 46 4F 63 00 00 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 54 08 C4 45 42 54 00 00 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 54 08 C4 45 42 54 00 00 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 54 08 C4 45 42 54 00 00 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 5E 20 9F 45 43 5E 00 00 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 5E 20 9F 45 43 5E 00 00 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 5E 20 9F 45 43 5E 00 00 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 32 10 B3 45 43 32 00 00 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 D4 20 16 45 40 D4 00 00 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 D4 20 16 45 40 D4 00 00 00 00 00 | ||
+ | </source> | ||
+ | |||
+ | |||
+ | Another PM2.5: | ||
+ | |||
+ | <source lang=bash> | ||
+ | Reading i2c device... | ||
+ | bytes: 00 00 00 00 00 00 00 00 00 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 34 00 00 00 00 34 00 00 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 34 00 00 00 00 34 00 00 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 34 00 00 00 00 34 00 00 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 34 00 00 00 00 34 00 00 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 34 00 00 00 00 34 00 00 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 34 00 00 00 00 34 00 00 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 34 00 00 00 00 34 00 00 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 34 00 00 00 00 34 00 00 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 34 00 00 00 00 34 00 00 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 86 06 06 44 44 E3 00 2D 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 86 06 06 44 44 E3 00 2D 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 86 06 06 44 44 E3 00 2D 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 86 06 06 44 44 E3 00 2D 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 60 D8 48 44 44 30 00 55 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 DE F2 39 45 45 2A 01 35 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 DE F2 39 45 45 2A 01 35 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 58 92 2F 45 45 94 01 14 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 DB 02 BC 45 45 8A 01 15 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 DB 02 BC 45 45 8A 01 15 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 15 70 7B 46 46 27 01 E1 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 3E 3E 08 46 46 16 02 FC 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 3E 3E 08 46 46 16 02 FC 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 9A F3 EE 46 46 56 02 36 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 1D 63 7D 46 46 4C 02 38 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 34 1D 63 7D 46 46 4C 02 38 00 00 00 | ||
+ | </source> | ||
<br> | <br> | ||
第22行: | 第229行: | ||
=== HCHO Sensor === | === HCHO Sensor === | ||
− | * Type is Dart 2-FE5 | + | * Type is Dart 2-FE5 , a STM8S105K6 MCU emulating a i2c slave device |
+ | * i2c address is 0x28 | ||
+ | |||
+ | Read the sensor data every 5s: | ||
+ | |||
+ | <source lang=bash> | ||
+ | Reading i2c device... | ||
+ | bytes: 00 00 00 00 00 00 00 00 00 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 33 8F B1 D5 3E 37 FF 01 99 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 33 02 27 7A 3E 37 C0 01 98 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 33 02 27 7A 3E 37 C0 01 98 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 33 95 9E CB 3E 37 81 01 97 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 33 24 14 5A 3E 37 42 01 96 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 33 BA 8A CC 3E 37 03 01 95 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 33 BA 8A CC 3E 37 03 01 95 00 00 00 | ||
+ | bytes: 33 BE DA FA 3E 39 D8 01 90 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 33 BE DA FA 3E 39 D8 01 90 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 33 BE DA FA 3E 39 D8 01 90 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 33 21 50 49 3E 39 99 01 8F 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 33 21 50 49 3E 39 99 01 8F 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 33 50 C7 D6 3E 39 5A 01 8E 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 33 50 C7 D6 3E 39 5A 01 8E 00 00 00 | ||
+ | </source> | ||
<br> | <br> | ||
+ | |||
+ | === Base Station === | ||
+ | |||
+ | * 环形三色灯,执行部件 | ||
+ | * MIC,噪声传感器 | ||
+ | * i2c address is 0x08 | ||
+ | |||
+ | <source lang=bash> | ||
+ | aReading i2c device... | ||
+ | bytes: 12 73 01 01 00 00 43 00 00 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 13 09 FF E0 C1 C4 F6 FF 9C 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 16 6A F9 79 42 47 20 02 11 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 14 08 FF E0 C1 C4 F7 FF 9C 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 00 00 00 00 00 00 00 00 00 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 13 91 FF 68 C1 C4 6E FF 9C 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 16 D2 E0 95 42 47 C2 02 08 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 14 90 FF 68 C1 C4 6F FF 9C 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 00 00 00 00 00 00 00 00 00 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 13 8D CC 14 C1 C4 47 FF 9C 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 16 84 9D 15 42 45 74 02 30 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 14 82 CC 14 C1 C4 48 FF 9C 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 00 00 00 00 00 00 00 00 00 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 13 96 8F 86 C2 C7 CC FF 9C 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 16 87 93 1A 42 45 11 02 22 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 14 97 8F 86 C2 C7 CD FF 9C 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 00 00 00 00 00 00 00 00 00 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 13 4A CD EE C2 C7 9A FF 9C 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 16 8D 9D E6 42 47 43 02 0B 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 14 4B CD EE C2 C7 9B FF 9C 00 00 00 | ||
+ | Reading i2c device... | ||
+ | bytes: 00 00 00 00 00 00 00 00 00 00 00 00 | ||
+ | </source> | ||
+ | |||
+ | <br> | ||
+ | |||
+ | === Head === | ||
+ | |||
+ | Touch the head, then send i2c data (No other device): | ||
+ | |||
+ | * Write 0x00 (no ack) | ||
+ | * Write 0x28 (no ack) 0x44 (no ack) | ||
+ | * Write 0x28 (no ack) 0x44 (no ack) | ||
+ | |||
+ | [[文件:Touch-iKair-head-then-send-data.png]] | ||
+ | |||
+ | <br> | ||
+ | |||
+ | Send i2c data (with pm2.5 sensor): | ||
+ | |||
+ | 0x00 0x12 0x1E 0x03 0x02 0x00 0x00 0x1A | ||
+ | |||
+ | [[文件:Touch-iKair-head-then-send-data2.png]] | ||
+ | |||
+ | |||
+ | 第一个字节 0x00 是目标传感部件环灯广播地址,改为 0x60 就只点亮 PM2.5 的环灯 (i2c addr = 0x30), 0x50 就只点亮甲醛传感部件上的环灯 (i2c addr = 0x28) | ||
+ | |||
+ | <br><br> | ||
=== Light Sensor === | === Light Sensor === | ||
+ | |||
+ | 位于头部件 (Head) 内 | ||
+ | |||
+ | * Type is BH1750 | ||
+ | * i2c address is 0x5C | ||
+ | |||
+ | |||
+ | * '''BH1750:''' | ||
+ | ** ADDR-> LOW (Pull down), i2c address is 0x23 | ||
+ | ** ADDR-> HIGH (Pull up), i2c address is 0x5C | ||
<br><br> | <br><br> | ||
+ | |||
+ | === Temp & Humi === | ||
+ | |||
+ | * Type is SHT21/SHT2x | ||
+ | |||
+ | * i2c address is 0x40 | ||
+ | |||
+ | <br> | ||
+ | |||
+ | == TODO == | ||
+ | |||
+ | * <s>重启后 push 的第一条 light 数据为 -1</s> | ||
+ | * <s>上传数据间隔不固定。需改为用固定的时间间隔上传数据(比如 1 min),2 s 监测一下热点传感器(比如温度、湿度或者光照),有大的变化就上传数据</s> | ||
+ | * 动态开启/关闭 MQTT | ||
+ | |||
+ | <br> | ||
== Reference == | == Reference == | ||
+ | |||
+ | * [[SHT2x]] Digital Humidity & Temperature Sensor | ||
+ | * [[PPD42NS]] Dust Sensor | ||
+ | * [[BH1750]] Light Sensor | ||
+ | |||
+ | |||
+ | * [[Arduino]] | ||
+ | * [[ESP8266]] | ||
+ | * [[Noduino]] | ||
<br><br> | <br><br> |
2018年12月14日 (五) 17:37的最后版本
目录 |
[编辑] 1 Overview
基座:
- 一片 TI CC3000 (WiFi)
- STM8S105K6
- TI CC2531 (Zigbee)
每个可拆卸部件,内部都有一颗 STM8S105K6,模拟 i2c slave device
所有的部件通过一个 4 pin 的快拆口连接,从圆外往圆心数,其定义为:
- 5V
- SCL (测试点常常标为 15) <=== STM8S105K6_PIN12 (I2C_SCL)
- SDA (测试点常常标为 14) <=== STM8S105K6_PIN11 (I2C_SDA)
- GND
所有部件的 STM8S105K6 的 PIN11 (I2C_SDA) 都连到统一的 SDA; PIN12 (I2C_SCL) 都连到统一的 SCL
- 底座的 i2c address 是 0x08 (8, decode: 0x10)
- 顶盖带触摸的 i2c address 是 0x10 (16, decode: 0x20)
- HCHO 甲醛传感器之 i2c address 是 0x28 (40, decode: 0x50)
- PM2.5 部件的 i2c address 是 0x30 (48, decode: 0x60)
以上这些由 STM8S105K6 模拟 i2c slave 设备的部件,都对 0x00 的 i2c 地址有响应。。。可以认为 0x00 是他们的广播地址。。。
- BH1750 光照度传感器之 i2c address 是 0x5C (92, decode: 0xB8)
- SHT2x 温湿度传感器的 i2c address 是 0x40 (64, decode: 0x80)
SHT2x 传感器在 USB 线上耳机接口部件内,USB_SCL, USB_SDA 分别连接到 CC2531 之 PIN15 和 PIN16
CC2531 的 PIN9 和 PIN11 则分别连接到统一的 I2C_SCL 和 I2C_SDA
[编辑] 2 STM8S105K6
[编辑] 2.1 PM2.5
- PIN14 --- PPDNS_PIN2
- PIN16 --- PPDNS_PIN4
LED_RING:
- R: P8, P13, P25, P17, P18, P19
- G: P20, P21, P22, P23, P24, P26
- B: P27, P28, P29, P30, P31, P32
[编辑] 3 CC2531
[编辑] 4 Hacking
[编辑] 4.1 Dust Sensor
- i2c address is 0x30
- Type is PPD42NS, a STM8S105K6 MCU emulating a i2c slave device
l`▒▒▒Reading i2c device... bytes: 34 34 00 00 00 00 34 00 00 00 00 00 Reading i2c device... bytes: 34 34 00 00 00 00 34 00 00 00 00 00 Reading i2c device... bytes: 34 34 00 00 00 00 34 00 00 00 00 00 Reading i2c device... bytes: 34 34 00 00 00 00 34 00 00 00 00 00 Reading i2c device... bytes: 34 AD 3E E0 45 45 61 01 5F 00 00 00 Reading i2c device... bytes: 34 A1 A4 25 46 46 E6 08 C5 00 00 00 Reading i2c device... bytes: 34 FC C6 52 46 46 E8 0C 50 00 00 00 Reading i2c device... bytes: 34 C1 2F B9 46 46 20 0C 93 00 00 00 Reading i2c device... bytes: 34 0A 05 82 46 46 4D 09 C4 00 00 00 Reading i2c device... bytes: 34 C7 3A BF 46 46 80 09 6F 00 00 00 Reading i2c device... bytes: 34 8D 97 ED 46 46 4C 07 F7 00 00 00 Reading i2c device... bytes: 34 74 B9 38 46 46 94 08 C9 00 00 00 Reading i2c device... bytes: 34 0F 09 7F 46 46 54 07 8B 00 00 00 Reading i2c device... bytes: 34 19 EC 4F 46 46 D5 10 12 00 00 00 Reading i2c device... bytes: 34 CC 0C A2 46 46 00 13 3C 00 00 00 Reading i2c device... bytes: 34 D9 44 DD 46 46 9E 0D 25 00 00 00 Reading i2c device... bytes: 34 15 0F 83 46 46 F5 0A B3 00 00 00 Reading i2c device... bytes: 34 8C 84 FA 46 46 A4 08 54 00 00 00 ......
concentration = 1292.44 pcs/L, 365.76 pcs/0.01cf, LowPulsOccu = 211526, Ratio = 0.71 concentration = 2019.79 pcs/L, 571.60 pcs/0.01cf, LowPulsOccu = 331231, Ratio = 1.10 concentration = 830.56 pcs/L, 235.05 pcs/0.01cf, LowPulsOccu = 135637, Ratio = 0.45 concentration = 2811.53 pcs/L, 795.66 pcs/0.01cf, LowPulsOccu = 461557, Ratio = 1.54 concentration = 1997.89 pcs/L, 565.40 pcs/0.01cf, LowPulsOccu = 327624, Ratio = 1.09 concentration = 1817.27 pcs/L, 514.29 pcs/0.01cf, LowPulsOccu = 297887, Ratio = 0.99 concentration = 13836.23 pcs/L, 3915.65 pcs/0.01cf, LowPulsOccu = 2139899, Ratio = 7.13 concentration = 3388.41 pcs/L, 958.92 pcs/0.01cf, LowPulsOccu = 556358, Ratio = 1.85 concentration = 4074.18 pcs/L, 1152.99 pcs/0.01cf, LowPulsOccu = 668694, Ratio = 2.23 concentration = 2964.61 pcs/L, 838.99 pcs/0.01cf, LowPulsOccu = 486733, Ratio = 1.62 concentration = 6126.22 pcs/L, 1733.72 pcs/0.01cf, LowPulsOccu = 100705, Ratio = 3.34 concentration = 4440.79 pcs/L, 1256.74 pcs/0.01cf, LowPulsOccu = 728527, Ratio = 2.43
Another PM2.5:
Reading i2c device... bytes: 00 00 00 00 00 00 00 00 00 00 00 00 Reading i2c device... bytes: 34 ED B0 0E 45 43 ED 00 00 00 00 00 Reading i2c device... bytes: 34 93 F0 D0 46 4F 93 00 00 00 00 00 Reading i2c device... bytes: 34 9F F0 DC 46 4F 9F 00 00 00 00 00 Reading i2c device... bytes: 34 63 D4 D8 46 4F 63 00 00 00 00 00 Reading i2c device... bytes: 34 54 08 C4 45 42 54 00 00 00 00 00 Reading i2c device... bytes: 34 54 08 C4 45 42 54 00 00 00 00 00 Reading i2c device... bytes: 34 54 08 C4 45 42 54 00 00 00 00 00 Reading i2c device... bytes: 34 5E 20 9F 45 43 5E 00 00 00 00 00 Reading i2c device... bytes: 34 5E 20 9F 45 43 5E 00 00 00 00 00 Reading i2c device... bytes: 34 5E 20 9F 45 43 5E 00 00 00 00 00 Reading i2c device... bytes: 34 32 10 B3 45 43 32 00 00 00 00 00 Reading i2c device... bytes: 34 D4 20 16 45 40 D4 00 00 00 00 00 Reading i2c device... bytes: 34 D4 20 16 45 40 D4 00 00 00 00 00
Another PM2.5:
Reading i2c device... bytes: 00 00 00 00 00 00 00 00 00 00 00 00 Reading i2c device... bytes: 34 34 00 00 00 00 34 00 00 00 00 00 Reading i2c device... bytes: 34 34 00 00 00 00 34 00 00 00 00 00 Reading i2c device... bytes: 34 34 00 00 00 00 34 00 00 00 00 00 Reading i2c device... bytes: 34 34 00 00 00 00 34 00 00 00 00 00 Reading i2c device... bytes: 34 34 00 00 00 00 34 00 00 00 00 00 Reading i2c device... bytes: 34 34 00 00 00 00 34 00 00 00 00 00 Reading i2c device... bytes: 34 34 00 00 00 00 34 00 00 00 00 00 Reading i2c device... bytes: 34 34 00 00 00 00 34 00 00 00 00 00 Reading i2c device... bytes: 34 34 00 00 00 00 34 00 00 00 00 00 Reading i2c device... bytes: 34 86 06 06 44 44 E3 00 2D 00 00 00 Reading i2c device... bytes: 34 86 06 06 44 44 E3 00 2D 00 00 00 Reading i2c device... bytes: 34 86 06 06 44 44 E3 00 2D 00 00 00 Reading i2c device... bytes: 34 86 06 06 44 44 E3 00 2D 00 00 00 Reading i2c device... bytes: 34 60 D8 48 44 44 30 00 55 00 00 00 Reading i2c device... bytes: 34 DE F2 39 45 45 2A 01 35 00 00 00 Reading i2c device... bytes: 34 DE F2 39 45 45 2A 01 35 00 00 00 Reading i2c device... bytes: 34 58 92 2F 45 45 94 01 14 00 00 00 Reading i2c device... bytes: 34 DB 02 BC 45 45 8A 01 15 00 00 00 Reading i2c device... bytes: 34 DB 02 BC 45 45 8A 01 15 00 00 00 Reading i2c device... bytes: 34 15 70 7B 46 46 27 01 E1 00 00 00 Reading i2c device... bytes: 34 3E 3E 08 46 46 16 02 FC 00 00 00 Reading i2c device... bytes: 34 3E 3E 08 46 46 16 02 FC 00 00 00 Reading i2c device... bytes: 34 9A F3 EE 46 46 56 02 36 00 00 00 Reading i2c device... bytes: 34 1D 63 7D 46 46 4C 02 38 00 00 00 Reading i2c device... bytes: 34 1D 63 7D 46 46 4C 02 38 00 00 00
[编辑] 4.2 HCHO Sensor
- Type is Dart 2-FE5 , a STM8S105K6 MCU emulating a i2c slave device
- i2c address is 0x28
Read the sensor data every 5s:
Reading i2c device... bytes: 00 00 00 00 00 00 00 00 00 00 00 00 Reading i2c device... bytes: 33 8F B1 D5 3E 37 FF 01 99 00 00 00 Reading i2c device... bytes: 33 02 27 7A 3E 37 C0 01 98 00 00 00 Reading i2c device... bytes: 33 02 27 7A 3E 37 C0 01 98 00 00 00 Reading i2c device... bytes: 33 95 9E CB 3E 37 81 01 97 00 00 00 Reading i2c device... bytes: 33 24 14 5A 3E 37 42 01 96 00 00 00 Reading i2c device... bytes: 33 BA 8A CC 3E 37 03 01 95 00 00 00 Reading i2c device... bytes: 33 BA 8A CC 3E 37 03 01 95 00 00 00 bytes: 33 BE DA FA 3E 39 D8 01 90 00 00 00 Reading i2c device... bytes: 33 BE DA FA 3E 39 D8 01 90 00 00 00 Reading i2c device... bytes: 33 BE DA FA 3E 39 D8 01 90 00 00 00 Reading i2c device... bytes: 33 21 50 49 3E 39 99 01 8F 00 00 00 Reading i2c device... bytes: 33 21 50 49 3E 39 99 01 8F 00 00 00 Reading i2c device... bytes: 33 50 C7 D6 3E 39 5A 01 8E 00 00 00 Reading i2c device... bytes: 33 50 C7 D6 3E 39 5A 01 8E 00 00 00
[编辑] 4.3 Base Station
- 环形三色灯,执行部件
- MIC,噪声传感器
- i2c address is 0x08
aReading i2c device... bytes: 12 73 01 01 00 00 43 00 00 00 00 00 Reading i2c device... bytes: 13 09 FF E0 C1 C4 F6 FF 9C 00 00 00 Reading i2c device... bytes: 16 6A F9 79 42 47 20 02 11 00 00 00 Reading i2c device... bytes: 14 08 FF E0 C1 C4 F7 FF 9C 00 00 00 Reading i2c device... bytes: 00 00 00 00 00 00 00 00 00 00 00 00 Reading i2c device... bytes: 13 91 FF 68 C1 C4 6E FF 9C 00 00 00 Reading i2c device... bytes: 16 D2 E0 95 42 47 C2 02 08 00 00 00 Reading i2c device... bytes: 14 90 FF 68 C1 C4 6F FF 9C 00 00 00 Reading i2c device... bytes: 00 00 00 00 00 00 00 00 00 00 00 00 Reading i2c device... bytes: 13 8D CC 14 C1 C4 47 FF 9C 00 00 00 Reading i2c device... bytes: 16 84 9D 15 42 45 74 02 30 00 00 00 Reading i2c device... bytes: 14 82 CC 14 C1 C4 48 FF 9C 00 00 00 Reading i2c device... bytes: 00 00 00 00 00 00 00 00 00 00 00 00 Reading i2c device... bytes: 13 96 8F 86 C2 C7 CC FF 9C 00 00 00 Reading i2c device... bytes: 16 87 93 1A 42 45 11 02 22 00 00 00 Reading i2c device... bytes: 14 97 8F 86 C2 C7 CD FF 9C 00 00 00 Reading i2c device... bytes: 00 00 00 00 00 00 00 00 00 00 00 00 Reading i2c device... bytes: 13 4A CD EE C2 C7 9A FF 9C 00 00 00 Reading i2c device... bytes: 16 8D 9D E6 42 47 43 02 0B 00 00 00 Reading i2c device... bytes: 14 4B CD EE C2 C7 9B FF 9C 00 00 00 Reading i2c device... bytes: 00 00 00 00 00 00 00 00 00 00 00 00
[编辑] 4.4 Head
Touch the head, then send i2c data (No other device):
- Write 0x00 (no ack)
- Write 0x28 (no ack) 0x44 (no ack)
- Write 0x28 (no ack) 0x44 (no ack)
Send i2c data (with pm2.5 sensor):
0x00 0x12 0x1E 0x03 0x02 0x00 0x00 0x1A
第一个字节 0x00 是目标传感部件环灯广播地址,改为 0x60 就只点亮 PM2.5 的环灯 (i2c addr = 0x30), 0x50 就只点亮甲醛传感部件上的环灯 (i2c addr = 0x28)
[编辑] 4.5 Light Sensor
位于头部件 (Head) 内
- Type is BH1750
- i2c address is 0x5C
- BH1750:
- ADDR-> LOW (Pull down), i2c address is 0x23
- ADDR-> HIGH (Pull up), i2c address is 0x5C
[编辑] 4.6 Temp & Humi
- Type is SHT21/SHT2x
- i2c address is 0x40
[编辑] 5 TODO
-
重启后 push 的第一条 light 数据为 -1 -
上传数据间隔不固定。需改为用固定的时间间隔上传数据(比如 1 min),2 s 监测一下热点传感器(比如温度、湿度或者光照),有大的变化就上传数据 - 动态开启/关闭 MQTT
[编辑] 6 Reference