- make public
- photo of project
- schematic of project
- exemple output
- list of main commands
- description of archivements so far
- list of libraries and links/names
- list of modules used
Dumb Photo of Device:
HardWare | What I get |
---|---|
BME280 | Temperature, Pressure, Humidty |
ADS1115 | 4 channel 15 bit ADC. Channel 4 connected to 3.3V |
BH1750 | Light Intensity |
BMP280 | Temperature, Pressure |
CCS811 | Equivalent CO2, Amount of Volatile Gases |
MCP23017 | 16 pin Input/Output Expander |
VL53L1 | Laser Distance Sensor up to 4 meters |
VEML6070 | UV intensity |
23LC1024 | 128kB External SPI RAM. Store Values. Pointless for now |
WS2812B | 3 modules full RGB configurable LEDS |
MICS6814 | 3 Gases Sensor. Uses 3 channels of ADS1115. Measures 8 Gases |
MPU9250 | 9 Axis Montion Sensor. Accelerometer, Gyroscope, Magnetometer (3 axis each). Also chip temperature |
SI1145 | Light and proximity sensor. Infrared, UltraViolet, Visible, Proximity (With white LED) |
VEML6075 | Ultraviolet Sensor. UVa, UVb, UV intensity |
SI7021 | Temperature, Humidity |
TCS34725 | Light Sensor. Red, Green, Blue, Clear, IR, (LUX, K, CPL calculated) |
TCA9548A | I2C Switch and level translator for all I2C devices |
MLX90614 | Infrared Temperature Sensor. Object Temperature, Ambient Temperature |
SoftWare | What I Get |
---|---|
WiFi | WiFi |
INFLUX | Direct Connection to Database. DOESNT WORK |
MQTT | Send Data to Nodered in raspberry pi 3B+ |
OTA | Auto check for Update in raspberry pi server, webpage server for update |
I2C Scanner | Scans TCA9548 for devices and lists in Serial Port |
Channel | What is Connected |
---|---|
0 | MCP23017, ADS1115 |
1 | CCS811 |
2 | MPU9250, BMP280, TCS34725, VEML6075 |
3 | VEML6070 |
4 | |
5 | |
6 | SI7021, SI1145, MLX90614, BME280 |
7 | VL53L1 |
PIN | What is Connected |
---|---|
A0 | TCS34725 Interrupt |
A1 | ADS1115 Alarm |
A2 | CCS811 Interrupt |
A3 | VL53L1 GPIO1 |
A4 | SI1145 Interrupt |
A5 | VEML6070 Ack |
A6 | User Button Active Low |
B0 | TCS34725 LED |
B1 | User Red LED |
Command | Description |
---|---|
0 | Force Listing of stored Values |
1 | Force Gather Values from Sensors |
e | Force Boot Modules |
s | Execute Create Timers Function |
g | Start / Stop Timers (g <Timer #> on/off ) |
r | Force Send Data to Influx Database (Does Not Word) |
i | Force Send Sensors Data to MQTT server (Nodered in my case) |
o | Connect to configured WIFI network |
w | Sync with NTP server and Show Clock |
h | Toggle MCP23017 Pin (h <pin # in port B> [optional 1/0, default is 1] |
j | Set Si1145 Led Current (j <0..15>) Its from 1mA to 300mA |
p | Set WS2812 Color (p (Red) (Green) (Blue) [Optional Led #, default 0] Colors in 8bit |
k | Set WS2812 Intensity (k <intensity 8bits>) |
l | Toggle MICS6814 Calibration Source. Preset/ADC mean since boot in 10 samples. |
x | Set MCP23017 pin. (x <1/0> [Pin# in port B] Default is Pin B1 |
c | Toggle all MCP23017 Port B pins on/off. |
v | Set MPC23017 Port B Pin input or output. (v <1/0> [Port B pin. Default 1]) |
b | Boot Specific Module Number. (b <module #>) |
n | Change first 3 WS2812 leds to Red, Green, Blue. |
d | Read VEML6070 sensor data. CRASHES ESP32. DONT KNOW WHY! |
z | Erases 23LC1024 RAM. CRASHES ESP32. DONT KNOW WHY! |
All other commands are ignored with an error message.
Number | Time in ms | Description |
---|---|---|
0 | 500 | MCP23017 Port B1 Led Blink |
1 | 2500 | Get And Store All Sensors Data |
2 | 1234 | Process Values. NOT USED |
3 | 5000 | List All Sensors Data in Terminal |
4 | 5000 | Send All Sensors Data to MQTT Server |
Aug 28 2022 16:57:561
Station_07 Loader of 18 Modules:
Primary I2C Scan
Got = 23 38 39 70
Primary I2C Scan Done
TCA I2C Scan
Port 0 Got = 00 20 48
Port 1 Got = 5A
Port 2 Got = 10 29 68 76
Port 3 Got = 23 38 39
Port 4 Got =
Port 5 Got =
Port 6 Got = 00 40 5A 60 76
Port 7 Got = 29
TCA I2C Scan Done
00: SCN S[ 23] D[158] OK
01: RAM S[ 181] D[ 1] OK
02: SI7 S[ 182] D[ 53] OK
03: BME S[ 235] D[123] OK
04: ADS S[ 358] D[ 0] OK
05: MCP S[ 358] D[ 10] OK
06: CCS S[ 368] D[204] OK
07: MIC S[ 572] D[ 0] OK
08: SI1 S[ 572] D[ 52] OK
E (626) gpio: gpio_set_level(226): GPIO output gpio_num error
E (636) gpio: gpio_set_level(226): GPIO output gpio_num error
09: VL5 S[ 624] D[ 72] OK
10: TCS S[ 696] D[620] OK
11: MLX S[1316] D[ 1] OK
12: BH1 S[1317] D[ 20] OK
13: MPU S[1337] D[639] OK
14: VE0 S[1976] D[ 4] OK
15: BMP S[1980] D[108] OK
16: VL0 S[2088] D[2001] OK
17: WS2 S[4089] D[ 1] OK
Load Done
RAM: Total 0528 regs of 0248 bytes each.
Starting Timed Tasks
NOC: 000017 TOC: 000046 TIM: 01:00:49
BME: T[29.43] P[1005.826] H[45.10]
BMP: T[30.22] P[1005.495]
SI7: T[29.46] H[43.67]
CCS: eCO2[ 428] VOL[ 4]
ADS: 1[ 131] 2[ 1348] 3[ 71] 4[17477](3.29V)
MIC: Carb Mono[3.19] Diox Nitr[0.15] Amonio[0.18] Propano[74.27]
MIC: Butano[70.54] Metano[194.24] Hidrog[0.45] Etanol[1.07]
MCP: IN(A)[###-##-#] OUT(B)[--------] Int[--------](0)(0)
BH1: Lux[41.67]
SI1: VIS[ 261] IR[ 261] UV[ 0] PROX[ 255]
TCS1: R[ 3467] G[ 3443] B[ 3588] C[ 7978] IR[ 1260]
TCS2: C_R[ 2207] C_G[ 2183] C_B[ 2328] R_C[ 6718] LUX[48.95]
TCS3: CR[0.16] AGX[ 60] ATMS[ 153] CPL[29.61]
TCS4: MAX_LUX[737.69] K[5409.89]
VE5: UVA[0.00] UVB[0.00] UVI[0.00]
VE0: UVI[0]
VL5: Distance [1739] mm
MLX: Amb[26.93] Obj[25.91]
MPU: Ax[0.00] Ay[0.00] Az[1.01] - Gx[0.01] Gy[-0.05] Gz[0.02]
MPU: Mx[30.29] My[110.58] Mz[229.36] SumG[1.01] T[36.58'C]
MPU: ANx[0.01] ANy[0.05] ANz[90.00] Pitch[-0.01] Roll[0.03] M[0]
Note:
- Serial port is running at 500kBaud