|
Post by akiana on Feb 4, 2021 17:46:00 GMT -8
the sensor is working, but the skywaether2 isn't reporting it correctly and when I go to test it I get this:
sudo python3 testDustHM3301.py ./SkyWeather2.JSON File exists Starting pigpio daemon b'' b'' /home/pi/SDL_Pi_SkyWeather2/DustSensor.py:25: RuntimeWarning: This channel is already in use, continuing anyway. Use GPIO.setwarnings(False) to disable warnings. GPIO.setup(12, GPIO.OUT) /home/pi/SDL_Pi_SkyWeather2/DustSensor.py:29: RuntimeWarning: This channel is already in use, continuing anyway. Use GPIO.setwarnings(False) to disable warnings. GPIO.setup(config.DustSensorPowerPin, GPIO.OUT) Traceback (most recent call last): File "testDustHM3301.py", line 45, in <module> myData = DustSensor.get_data() File "/home/pi/SDL_Pi_SkyWeather2/DustSensor.py", line 99, in get_data myData = hm3301.get_data() File "./SDL_Pi_HM3301/SDL_Pi_HM3301.py", line 84, in get_data self.parse_data(data) File "./SDL_Pi_HM3301/SDL_Pi_HM3301.py", line 73, in parse_data self.PM_1_0_conctrt_std = data[4]<<8 | data[5] IndexError: list index out of range
What am I doing incorrectly? The AQI comes in and out and resets to zero when rebooting. The sense is working, but its not recording to SkyWeather2 app I think.. anyone having this issue?
|
|
|
Post by SDL on Feb 5, 2021 10:35:27 GMT -8
Are you sure you have the HM3301 plugged into the correct place? That's what I think is wrong here. It is not connecting to the HM3301.
BP
|
|
|
Post by Kiana on Feb 5, 2021 17:15:38 GMT -8
Are you sure you have the HM3301 plugged into the correct place? That's what I think is wrong here. It is not connecting to the HM3301. BP unplugged and re-plugged in and the WeatherStem is displaying AQI=4, but the running the test I get different AQI...see below sudo python3 testDustHM3301.py ./SkyWeather2.JSON File exists Starting pigpio daemon b'' b'' /home/pi/SDL_Pi_SkyWeather2/DustSensor.py:25: RuntimeWarning: This channel is already in use, continuing anyway. Use GPIO.setwarnings(False) to disable warnings. GPIO.setup(12, GPIO.OUT) /home/pi/SDL_Pi_SkyWeather2/DustSensor.py:29: RuntimeWarning: This channel is already in use, continuing anyway. Use GPIO.setwarnings(False) to disable warnings. GPIO.setup(config.DustSensorPowerPin, GPIO.OUT) data= [4, 5, 5, 4, 5, 5] PM1.0 Standard particulate matter concentration Unit:ug/m3 = 4 PM2.5 Standard particulate matter concentration Unit:ug/m3 = 5 PM10 Standard particulate matter concentration Unit:ug/m3 = 5 PM1.0 Atmospheric environment concentration ,unit:ug/m3 = 4 PM2.5 Atmospheric environment concentration ,unit:ug/m3 = 5 PM10 Atmospheric environment concentration ,unit:ug/m3 = 5 AQI= 21
|
|
|
Post by SDL on Feb 7, 2021 16:15:52 GMT -8
Let it heat up for a while. The AQI will be different if your warm up condtions are different. Let it sit in the other place for a number of readings. Then compare.
BP
|
|
|
Post by jtfry01 on Feb 12, 2021 13:55:23 GMT -8
I am getting the same type of error as the user above:
SkyWeather2.JSON File does not exist b'' b'' /home/pi/SDL_Pi_SkyWeather2/DustSensor.py:25: RuntimeWarning: This channel is already in use, continuing anyway. Use GPIO.setwarnings(False) to disable warnings. GPIO.setup(12, GPIO.OUT) /home/pi/SDL_Pi_SkyWeather2/DustSensor.py:29: RuntimeWarning: This channel is already in use, continuing anyway. Use GPIO.setwarnings(False) to disable warnings. GPIO.setup(config.DustSensorPowerPin, GPIO.OUT) Traceback (most recent call last): File "testDustHM3301.py", line 45, in <module> myData = DustSensor.get_data() File "/home/pi/SDL_Pi_SkyWeather2/DustSensor.py", line 99, in get_data myData = hm3301.get_data() File "./SDL_Pi_HM3301/SDL_Pi_HM3301.py", line 84, in get_data self.parse_data(data) File "./SDL_Pi_HM3301/SDL_Pi_HM3301.py", line 73, in parse_data self.PM_1_0_conctrt_std = data[4]<<8 | data[5] IndexError: list index out of range
I have restarted multiple times, unplugged and reset the I2C Cable, and seated the Main Board on the RPi again, and it still will not work.
|
|
|
Post by Jason on Feb 13, 2021 3:38:14 GMT -8
Unfortunately, I'm experiencing the same issue. In my situation, the sensor was running fine for several days and then stopped reporting data around 8:30AM EST yesterday. The SDL_Pi_HM3301/testSDL_Pi_HM3301.py and testDustSensor.py both report the 'indexError: list index out of range' error.
It appears that a full power cycle of the Raspberry Pi 3B+ has brought the dust sensor back online. I shutdown the Pi from the command line, unplugged the USB power cable from the SkyWeather2 box, and plugged the USB power cable back into the SkyWeather2 box. Upon reboot, my dust sensor started reading again.
I'm going to add a watchdog timer to NodeRED for my dust sensor in order to monitor. Curious if it cuts out again.
Jason
|
|
|
Post by SDL on Feb 14, 2021 10:17:19 GMT -8
Jason,
You running the latest SkyWeather2 software?
The SkyWeather2 board turns off the Dust Sensor on the board to save power, so I would guess that GPIO bit is still set to turn it off. Rebooting will fix the bit.
Try adding this to the start of the test DustSensor code:
GPIO.setup(12, GPIO.OUT) GPIO.output(12, True)
This will enable the Dust Sensor.
Add this to the Dust Sensor code and re-test.
I'm adding this to the Bug list.
BP
|
|
|
Post by Jason on Feb 18, 2021 9:54:39 GMT -8
Okay I see a pattern lol. My dust sensor cut out at 8:30AM today. Today being 2/18 and the last drop out occurring on 2/13 at 8:30AM makes me think the reboot is the culprit. See you in five days lol :-)
Jason
|
|
|
Post by Jason on Feb 20, 2021 12:24:25 GMT -8
I’m having intermittent periods where the dust sensor cuts out. Would an under voltage Raspberry Pi cause the sensor to cut out?
Jason
|
|
|
Post by SDL on Feb 22, 2021 14:18:24 GMT -8
Jason,
What version of SkyWeather2 are you running?
Measure the voltage and see what it is. The Raspberry Pi reports under voltage even under totally acceptable conditions.
BP
|
|
|
Post by Jason on Feb 23, 2021 7:26:03 GMT -8
I'm running V022 with the changes to using pin settings from config.py. It appears the Pi 3B+ is drawing about 5V and 0.75A pretty steadily. When the dust sensor switches on, there is a brief spike to almost 1A.
Thanks,
Jason
|
|
|
Post by SDL on Feb 24, 2021 20:50:18 GMT -8
Jason,
How are you powering your Raspberry Pi? Are you measuring the voltage and current and keeping the data?
I'd look really hard at your power supply when it spikes up to 1.0A and look at what the supply voltage is doing. If it goes below ~4.75V or so, strange things will happen.
That being said, I have an entirely different test system (Solar WeatherSense AQI) that behaves like that when the voltage is recovering from a long period of no sun (low battery). And other units that work perfectly well.
BP
|
|
|
Post by Jason on Feb 25, 2021 6:32:14 GMT -8
My current setup:
Light duty extension cord -> iPhone USB charging box -> short USB A male to USB A male cable -> IP67 USB connector in SkyWeather2 box -> Right-angle USB A male to right-angle USB micro -> RPi 3B+.
I opened the box and unplugged the cable connecting the RPi to the waterproof connector in the box. I added an inline USB multimeter and monitored the values around the time that the dust sensor would be sampled.
I don't have a multimeter that streams the data to a logger. Is there one that you recommend?
Thanks,
Jason
|
|
|
Post by SDL on Feb 25, 2021 15:01:20 GMT -8
|
|