OpeniKair
来自Jack's Lab
(版本间的差异)
(→Overview) |
(→Overview) |
||
第20行: | 第20行: | ||
* SHT2x 温湿度传感器的 i2c address 是 0x40 | * SHT2x 温湿度传感器的 i2c address 是 0x40 | ||
* BH1750 光照度传感器之 i2c address 是 0x5C | * BH1750 光照度传感器之 i2c address 是 0x5C | ||
− | |||
− | |||
<br><br> | <br><br> |
2018年11月5日 (一) 13:57的版本
目录 |
1 Overview
每个可拆卸部件,内部都有一颗 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
- 顶盖带触摸的 i2c address 是 0x10
- HCHO 甲醛传感器之 i2c address 是 0x28
- PM2.5 部件的 i2c address 是 0x30
- SHT2x 温湿度传感器的 i2c address 是 0x40
- BH1750 光照度传感器之 i2c address 是 0x5C
2 STM8S105K6
3 Hacking
3.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
3.2 Temp & Humi
- Type is SHT21/SHT2x
- i2c address is 0x40
3.3 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
3.4 Light Sensor
- 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 TODO
-
重启后 push 的第一条 light 数据为 -1 -
上传数据间隔不固定。需改为用固定的时间间隔上传数据(比如 1 min),2 s 监测一下热点传感器(比如温度、湿度或者光照),有大的变化就上传数据 - 动态开启/关闭 MQTT
5 Reference