JsBergbau / node-red-contrib-ccs811-airquality-sensor

0 stars 0 forks source link

Command error #1

Closed OverlanAI closed 3 years ago

OverlanAI commented 3 years ago

i set it up as instructed on my new PI-400, it is part of the sparkfun combo board that also has the BME280 on it as well as the CCS811. The device shows up as 0x5b. I set all of that and node red did not reject it but all i get back is: 1/15/2021, 3:41:32 PMnode: CCS811 airquality sensor msg : error "Error: , Remote I/O error" So it seems aware that it is there at least. NODE RED shows: Node "83f7f18a.e4ac8" Name CCS811 airquality sensor Type CCS811-airquality-sensor Module node-red-contrib-ccs811-airquality-sensor i2cBus "1" CCS811Address "0x5B" CCS811Mode "mode2" Im not sure what else to provide you past the above. Many thanks. Sub Note: The BME280 on the same board works just fine if it matters at all.

JsBergbau commented 3 years ago

Hallo OverlanAI. Did you reduce baudrate for clockstretchting? dtparam=i2c_baudrate=10000 in /boot/config.txt and rebooted? WAK Pin is connected to ground?

Remote I/O Error means that something went wrong with communication to the sensor.

OverlanAI commented 3 years ago

@JsBergbau The WAK pin is not part of the combo board structure so i would not know. (it is a combo board produced by spark fun so my guess is that it is not tied to ground). Yes i did set the dtparam=i2c_baudrate=10000 and reboot. I also tried it at its default state as well but the error continues. It is good to know what the error means at least. Thanks for your prompt attention Sub Note: I thought overclocking could effect it so i turned that off as well and is back to the default of 1.8ghz but also had no effect.

OverlanAI commented 3 years ago

@JsBergbau Ahh there is a break out pin on the combo board for WAK, i will test that shortly and see if that is it but its my understanding that if that is not grounded then the device will not show up at all when in my case it does show up as well as the BME280 on the same breakout sensor board. I can check it with my logic probe just to be sure.

JsBergbau commented 3 years ago

Yes you're right normally sensor shouldn't show up when not connected, but who knows how this board is constructed, so just to be sure.

Do you have an extra user for node red? If so, please check by groups if this user is in the i2c group.

If it still doesn't work can you try to read the sensor with this example https://github.com/adafruit/Adafruit_CircuitPython_CCS811/tree/master/examples ? Full installation instructions are here https://github.com/adafruit/Adafruit_CircuitPython_CCS811

samiam123 commented 3 years ago

@JsBergbau Well grounding the WAK line did nothing. same error. I will try and see what spark fun suggests now that at least we have a CS11 node red example thanks to you. I need to contact them any way about there AK9753 presence sensor that also has no node red node. Both, they claim are compatible with a PI-400 but nether seems to work yet. If i find anything out i will will pass it on to you for your notes. Anyway thank you for your time.

pinie-pinie commented 3 years ago

Hi there, a great description, but the sensor does not work. I use Nodered on a Raspberry 3b. According to your instructions, I adjusted the I2C bus. He is also found (5b). I don't get any output. There is only output at the "getErrorRegister" command. Otherwise "Error:, Remote I / O error" always appears. I am using Nodered 1.2.7. The sensor is called "GY-CCS811". I get measured values on an ESP8266, so it is not defective. Do you have a tip where I can start with my troubleshooting? Many Thanks.

Thoralf

JsBergbau commented 3 years ago

Hi pinie-pinie. You can start with this example https://github.com/adafruit/Adafruit_CircuitPython_CCS811/tree/master/examples Full installation instructions are here https://github.com/adafruit/Adafruit_CircuitPython_CCS811

If it works there, then we have to dig deeper why it isn't working in NodeRed.

pinie-pinie commented 3 years ago

Hello JsBergbau,

I'm honest, I can't do that. You want me to test the sensor outside of Nodered first. I am an absolute layman. I tried, but at some point I got stuck with the installations. I have some experience with Nodered, if not a lot. Do you still have a hot tip for me, I know it's difficult.

Many Thanks!

Thoralf

JsBergbau commented 3 years ago

Hi Thoralf,

please try this Python-Script to see if sensor works.

On Rasbperry PI please install smbus via sudo apt install python3-smbus

https://gist.github.com/JsBergbau/7c962dc3507e25e0145a5cd6c8bf372d

pinie-pinie commented 3 years ago

Hello JsMergbau,

you don't have it easy with me. I have the command "sudo apt install python3-smbus" via the console. As a result: everything was already installed. And now?

Thanks Thoralf

JsBergbau commented 3 years ago

Please execute in a directory of your choice where you can write files

curl https://gist.githubusercontent.com/JsBergbau/7c962dc3507e25e0145a5cd6c8bf372d/raw/b371a8afc992536a206ae7e2ec9f3eb7c23cbb70/ccs811Test.py > ccs811Test.py
chmod +x ccs811Test.py

and then execute ./ccs811Test.py Please type exactly as written here.

pinie-pinie commented 3 years ago

Traceback (most recent call last): File "./ccs811Test.py", line 22, in ressult = i2cInterface.read_byte_data(ccs811Address, ccs811StatusRegister) OSError: [Errno 121] Remote I/O error

JsBergbau commented 3 years ago

Ok then something with wiring or I2C bus is wrong. Very hard to help you from remote then. When it works it says

./ccs811Test.py
Sensor not running
Booting sensor
Sensor not in desired mode, changing
Baseline: [244, 255]
eCO2:  65021  TVOC:  65021

Running for the first time and then on subsquent calls

./ccs811Test.py
Baseline: [180, 122]
eCO2:  400  TVOC:  0

Values differ of course.

When I pull power for example

./ccs811Test.py
Traceback (most recent call last):
  File "./ccs811Test.py", line 22, in <module>
    ressult = i2cInterface.read_byte_data(ccs811Address, ccs811StatusRegister)
OSError: [Errno 121] Remote I/O error
pinie-pinie commented 3 years ago

Hi there, yes it is difficult with such a layman. The sensor is recognized, however, so the wiring must be correct ??? (i2cdetect -y 1) But thanks anyway, I'll keep testing.

Thoralf

JsBergbau commented 3 years ago

Oh, I see now your device is recognized as 0x5b. Please edit in ccs811Test.py line 9 ccs811Address = 0x5A to ccs811Address = 0x5B and then try again.

pinie-pinie commented 3 years ago

Hi there,

now the script is running. Unfortunately not in Nodered.

Thoralf

pinie-pinie commented 3 years ago

pi@raspberrypi:~ $ ./ccs811Test.py Baseline: [148, 125] eCO2: 495 TVOC: 14

JsBergbau commented 3 years ago

Please exec ps aux | grep nodered and post result here

pinie-pinie commented 3 years ago

pi@raspberrypi:~ $ ps aux | grep nodered pi 1067 0.0 0.0 7360 552 pts/0 S+ 20:33 0:00 grep --color=au to nodered

pinie-pinie commented 3 years ago

Hi there,

do you know the saying a blind chicken ... I changed the address in Nodered to 5B (CCS81.js) The part is now running !!!!!

Thoralf

JsBergbau commented 3 years ago

Yeah thanks to your support, I've found the error. While developing I've hardcoded the address and with autocompletion I've used sometimes that hardcoded value instead of the configured one. I'll release a update in the next hours. Would be great if you could test, because I can't get my china module to respond on 0x5B

pinie-pinie commented 3 years ago

Hi there, Support is good .... But it's still great that things are running now. Coincidence often helps. Will that then be adjusted in the Nodered palette? If so, I'll test with the new version. By the way, your description in Nodered is really good. I could understand everything and that means something!

See you!

Thoralf

JsBergbau commented 3 years ago

Will that then be adjusted in the Nodered palette?

Yes of course.

By the way, your description in Nodered is really good. I could understand everything and that means something!

Thanks. I'm really glad to hear that, because I have missed that information on all the other sites I've read regarding reading and using this sensor, especially the recalibration upon each powerup.

JsBergbau commented 3 years ago

Update is now fully published. Please go to palette manager, click refresh and then you see the update

grafik

pinie-pinie commented 3 years ago

Hi there, Nodered offers the update. The node works without any problems. If you set the wrong I2C address, an error message appears as expected. After setting the correct address everything works !!!!! Many Thanks!!!! Thoralf

Edit: JSBergbau. Private Mailaddress of Thoralf removed, Edit History will be deleted therefore.

Update is now fully published. Please go to palette manager, click refresh and then you see the update

https://user-images.githubusercontent.com/37013344/105616378-ba01d980-5dd6-11eb-9905-ffbe6aa52e03.png

— You are receiving this because you commented. Edit JSBergbau: Personal Links removed

JsBergbau commented 3 years ago

Thanks for your support testing it and finding the bug.