Hello
I read several projects which are about the Ikea Vindriktning Air Quality Sensor and I would experiment with it as well, but while most projects use some easy to use/setup solutions like Tasmota, I would like to use a more basic but maybe also more complicated approach.
Currently I have the Vindriktning board (REST) connected to an Arduino Uno (D0 RX) and use the following code to read the UART serial communication coming from the Vindriktning:
int incomingByte = 0; // for incoming serial data
void setup() {
Serial.begin(9600); // opens serial port, sets data rate to 9600 bps
}
void loop() {
// send data only when you receive data:
if (Serial.available() > 0) {
// read the incoming byte:
incomingByte = Serial.read();
// say what you got:
Serial.print("I received: ");
Serial.println(incomingByte, DEC);
}
}
I am receiving the following - seven data pushes come through and then it pauses for 20 seconds until seven data pushes come through again. Below are 2 of such data pushes:
20:57:51.146 -> I received: 22
20:57:51.146 -> I received: 17
20:57:51.146 -> I received: 11
20:57:51.193 -> I received: 0
20:57:51.193 -> I received: 0
20:57:51.193 -> I received: 2
20:57:51.239 -> I received: 205
20:57:51.239 -> I received: 0
20:57:51.239 -> I received: 0
20:57:51.285 -> I received: 10
20:57:51.285 -> I received: 45
20:57:51.285 -> I received: 0
20:57:51.331 -> I received: 0
20:57:51.331 -> I received: 2
20:57:51.331 -> I received: 171
20:57:51.379 -> I received: 1
20:57:51.379 -> I received: 0
20:57:51.379 -> I received: 0
20:57:51.425 -> I received: 0
20:57:51.425 -> I received: 26
20:57:53.339 -> I received: 22
20:57:53.339 -> I received: 17
20:57:53.339 -> I received: 11
20:57:53.385 -> I received: 0
20:57:53.385 -> I received: 0
20:57:53.385 -> I received: 2
20:57:53.432 -> I received: 161
20:57:53.432 -> I received: 0
20:57:53.432 -> I received: 0
20:57:53.478 -> I received: 9
20:57:53.478 -> I received: 181
20:57:53.478 -> I received: 0
20:57:53.524 -> I received: 0
20:57:53.524 -> I received: 2
20:57:53.524 -> I received: 129
20:57:53.570 -> I received: 1
20:57:53.570 -> I received: 0
20:57:53.617 -> I received: 0
20:57:53.617 -> I received: 0
20:57:53.617 -> I received: 233
The LED was red as I used some candle smoke to trigger the sensor. I am quite puzzled regarding the interpretation of the numbers and hope that someone here can help me. The first 3 (22, 17, 11) are always the same, the zeros mostly as well, the other numbers change.
Per this article the LED should be green if there is less than 35 µg/m3 PM10 in the air, yellow for 36 to 85 µg/m3 and red as of 86 µg/m3.
The sensor in this product is supposed to be the PM1006, a very similar sensor with a product specification sheet is the PM1006K and the product sheet can be found here:
https://en.gassensor.com.cn/ParticulateMatterSensor/info_itemid_105.html
I looked into it and tried to understand but failed, also as I am tapping the serial of the board to which the sensor is connected and not the sensor itself, I might read something that is different to the content in the specification sheet.
Anyways, appreciate if someone can guide me on how I best interpetate the serial numbers as for µg/m3.
Cheers