Pi0W vs Pi3B+

122 views
Skip to first unread message

Your Name Here

unread,
Oct 10, 2022, 8:40:14 AM10/10/22
to weewx-user
I have been running WeeWX on a Pi3B+ for quite a while with few problems. I decided to reclaim it for other projects and put my Pi0W  in its place. I have the serial logger with Davis cabling to their RJ11/RS-232 adapter which is plugged into a Keyspan USA-19hs serial adapter.

Although I could use [wee_device --current] successfully (and other similar commands), the main program was not successful.

Oct  9 15:42:02 pi3 weewx[1707] INFO __main__: retrying...
Oct  9 15:42:03 pi3 weewx[1707] INFO __main__: Using configuration file /etc/weewx/weewx.conf
Oct  9 15:42:03 pi3 weewx[1707] INFO __main__: Debug is 0
Oct  9 15:42:03 pi3 weewx[1707] INFO weewx.engine: Loading station type Vantage (weewx.drivers.vantage)
Oct  9 15:42:03 pi3 weewx[1707] INFO weewx.engine: StdConvert target unit is 0x1
Oct  9 15:42:04 pi3 weewx[1707] INFO weewx.engine: Archive will use data binding wx_binding
Oct  9 15:42:04 pi3 weewx[1707] INFO weewx.engine: Record generation will be attempted in 'hardware'
Oct  9 15:42:04 pi3 weewx[1707] INFO weewx.engine: Using archive interval of 60 seconds (specified by hardware)
Oct  9 15:42:04 pi3 weewx[1707] INFO __main__: Starting up weewx version 4.5.1
Oct  9 15:42:04 pi3 weewx[1707] INFO weewx.engine: Clock error is 0.73 seconds (positive is fast)
Oct  9 15:42:04 pi3 weewx[1707] INFO weewx.engine: Using binding 'wx_binding' to database 'weewx'
Oct  9 15:42:04 pi3 weewx[1707] INFO weewx.manager: Starting backfill of daily summaries
Oct  9 15:42:04 pi3 weewx[1707] INFO weewx.manager: Daily summaries up to date
Oct  9 15:42:09 pi3 weewx[1707] ERROR weewx.drivers.vantage: DMPAFT try #1; error: Timeout in get_data_with_crc16
Oct  9 15:42:14 pi3 weewx[1707] ERROR weewx.drivers.vantage: DMPAFT try #2; error: Timeout in get_data_with_crc16
Oct  9 15:42:19 pi3 weewx[1707] ERROR weewx.drivers.vantage: DMPAFT try #3; error: Timeout in get_data_with_crc16
Oct  9 15:42:24 pi3 weewx[1707] ERROR weewx.drivers.vantage: DMPAFT try #4; error: Timeout in get_data_with_crc16
Oct  9 15:42:24 pi3 weewx[1707] ERROR weewx.drivers.vantage: DMPAFT max tries (4) exceeded.
Oct  9 15:42:24 pi3 weewx[1707] INFO weewx.engine: Main loop exiting. Shutting engine down.
Oct  9 15:42:25 pi3 weewx[1707] CRITICAL __main__: Caught WeeWxIOError: Max tries exceeded while getting archive data.
Oct  9 15:42:25 pi3 weewx[1707] CRITICAL __main__:     ****  Waiting 60 seconds then retrying...


I updated everything, including WeeWX, but still couldn't get it to work. I swapped out my USB cable for one with ferrite cores on both ends and a different Davis cable. I also moved it from my console to Envoy. I turned on debugging.

Oct  9 19:23:58 pi3 weewx[999] INFO __main__: Initializing weewx version 4.8.0
Oct  9 19:23:58 pi3 weewx[999] INFO __main__: Using Python 3.7.3 (default, Jan 22 2021, 20:04:44) #012[GCC 8.3.0]
Oct  9 19:23:58 pi3 weewx[999] INFO __main__: Platform Linux-5.10.103+-armv6l-with-debian-10.13
Oct  9 19:23:58 pi3 weewx[999] INFO __main__: Locale is 'C.UTF-8'
Oct  9 19:23:58 pi3 weewx[999] INFO __main__: Using configuration file /etc/weewx/weewx.conf
Oct  9 19:23:58 pi3 weewx[999] INFO __main__: Debug is 1
Oct  9 19:23:58 pi3 weewx[999] INFO __main__: PID file is /var/run/weewx.pid
Oct  9 19:23:59 pi3 weewx[1003] DEBUG __main__: Initializing engine
Oct  9 19:23:59 pi3 weewx[1003] INFO weewx.engine: Loading station type Vantage (weewx.drivers.vantage)
Oct  9 19:23:59 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Driver version is 3.2.3
Oct  9 19:23:59 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Option loop_request=1
Oct  9 19:23:59 pi3 weewx[989]: Starting weewx weather system: weewx.
Oct  9 19:23:59 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Opened up serial port /dev/ttyUSB0; baud 19200; timeout 8.00
Oct  9 19:23:59 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Gentle wake up of console successful
Oct  9 19:23:59 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Hardware type is 16
Oct  9 19:23:59 pi3 weewx[1003] DEBUG weewx.drivers.vantage: ISS ID is 1
Oct  9 19:23:59 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Hardware name: Vantage Pro2
Oct  9 19:23:59 pi3 weewx[1003] DEBUG weewx.engine: Loading service weewx.engine.StdTimeSynch
Oct  9 19:23:59 pi3 weewx[1003] DEBUG weewx.engine: Finished loading service weewx.engine.StdTimeSynch
Oct  9 19:23:59 pi3 weewx[1003] DEBUG weewx.engine: Loading service weewx.engine.StdConvert
Oct  9 19:23:59 pi3 weewx[1003] INFO weewx.engine: StdConvert target unit is 0x1
Oct  9 19:23:59 pi3 weewx[1003] DEBUG weewx.engine: Finished loading service weewx.engine.StdConvert
Oct  9 19:23:59 pi3 weewx[1003] DEBUG weewx.engine: Loading service weewx.engine.StdCalibrate
Oct  9 19:23:59 pi3 weewx[1003] DEBUG weewx.engine: Finished loading service weewx.engine.StdCalibrate
Oct  9 19:23:59 pi3 weewx[1003] DEBUG weewx.engine: Loading service weewx.engine.StdQC
Oct  9 19:23:59 pi3 weewx[1003] DEBUG weewx.engine: Finished loading service weewx.engine.StdQC
Oct  9 19:23:59 pi3 weewx[1003] DEBUG weewx.engine: Loading service weewx.wxservices.StdWXCalculate
Oct  9 19:23:59 pi3 weewx[1003] INFO weewx.wxservices: StdWXCalculate will use data binding wx_binding
Oct  9 19:24:00 pi3 weewx[1003] DEBUG weewx.manager: Daily summary version is 1.0
Oct  9 19:24:00 pi3 weewx[1003] DEBUG weewx.engine: Finished loading service weewx.wxservices.StdWXCalculate
Oct  9 19:24:00 pi3 weewx[1003] DEBUG weewx.engine: Loading service weewx.wxxtypes.StdWXXTypes
Oct  9 19:24:00 pi3 weewx[1003] DEBUG weewx.engine: Finished loading service weewx.wxxtypes.StdWXXTypes
Oct  9 19:24:00 pi3 weewx[1003] DEBUG weewx.engine: Loading service weewx.wxxtypes.StdPressureCooker
Oct  9 19:24:00 pi3 weewx[1003] DEBUG weewx.engine: Finished loading service weewx.wxxtypes.StdPressureCooker
Oct  9 19:24:00 pi3 weewx[1003] DEBUG weewx.engine: Loading service weewx.wxxtypes.StdRainRater
Oct  9 19:24:00 pi3 weewx[1003] DEBUG weewx.engine: Finished loading service weewx.wxxtypes.StdRainRater
Oct  9 19:24:00 pi3 weewx[1003] DEBUG weewx.engine: Loading service weewx.wxxtypes.StdDelta
Oct  9 19:24:00 pi3 weewx[1003] DEBUG weewx.engine: Finished loading service weewx.wxxtypes.StdDelta
Oct  9 19:24:00 pi3 weewx[1003] DEBUG weewx.engine: Loading service weewx.engine.StdArchive
Oct  9 19:24:00 pi3 weewx[1003] INFO weewx.engine: Archive will use data binding wx_binding
Oct  9 19:24:00 pi3 weewx[1003] INFO weewx.engine: Record generation will be attempted in 'hardware'
Oct  9 19:24:00 pi3 weewx[1003] INFO weewx.engine: Using archive interval of 60 seconds (specified by hardware)
Oct  9 19:24:00 pi3 weewx[1003] DEBUG weewx.engine: Use LOOP data in hi/low calculations: 1
Oct  9 19:24:00 pi3 weewx[1003] DEBUG weewx.engine: Finished loading service weewx.engine.StdArchive
Oct  9 19:24:00 pi3 weewx[1003] INFO __main__: Starting up weewx version 4.8.0
Oct  9 19:24:00 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Gentle wake up of console successful
Oct  9 19:24:00 pi3 weewx[1003] INFO weewx.engine: Clock error is 0.67 seconds (positive is fast)
Oct  9 19:24:00 pi3 weewx[1003] INFO weewx.engine: Using binding 'wx_binding' to database 'weewx'
Oct  9 19:24:00 pi3 weewx[1003] INFO weewx.manager: Starting backfill of daily summaries
Oct  9 19:24:00 pi3 weewx[1003] INFO weewx.manager: Daily summaries up to date
Oct  9 19:24:00 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Getting archive packets since 2022-10-08 16:45:00 CDT (1665265500)
Oct  9 19:24:00 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Gentle wake up of console successful
Oct  9 19:24:00 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Retrieving 23 page(s); starting index= 0
Oct  9 19:24:08 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Get_data_with_crc16; try #1 failed: Expected to read 267 chars; got 238 instead
Oct  9 19:24:08 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Timeout in get_data_with_crc16
Oct  9 19:24:08 pi3 weewx[1003] ERROR weewx.drivers.vantage: DMPAFT try #1; error: Timeout in get_data_with_crc16
Oct  9 19:24:08 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Getting archive packets since 2022-10-08 16:45:00 CDT (1665265500)
Oct  9 19:24:08 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Gentle wake up of console successful
Oct  9 19:24:08 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Retrieving 23 page(s); starting index= 0
Oct  9 19:24:16 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Get_data_with_crc16; try #1 failed: Expected to read 267 chars; got 240 instead
Oct  9 19:24:16 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Timeout in get_data_with_crc16
Oct  9 19:24:16 pi3 weewx[1003] ERROR weewx.drivers.vantage: DMPAFT try #2; error: Timeout in get_data_with_crc16
Oct  9 19:24:16 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Getting archive packets since 2022-10-08 16:45:00 CDT (1665265500)
Oct  9 19:24:16 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Gentle wake up of console successful
Oct  9 19:24:16 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Retrieving 23 page(s); starting index= 0
Oct  9 19:24:24 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Get_data_with_crc16; try #1 failed: Expected to read 267 chars; got 241 instead
Oct  9 19:24:24 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Timeout in get_data_with_crc16
Oct  9 19:24:24 pi3 weewx[1003] ERROR weewx.drivers.vantage: DMPAFT try #3; error: Timeout in get_data_with_crc16
Oct  9 19:24:24 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Getting archive packets since 2022-10-08 16:45:00 CDT (1665265500)
Oct  9 19:24:24 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Gentle wake up of console successful
Oct  9 19:24:25 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Retrieving 23 page(s); starting index= 0
Oct  9 19:24:33 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Get_data_with_crc16; try #1 failed: Expected to read 267 chars; got 228 instead
Oct  9 19:24:33 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Timeout in get_data_with_crc16
Oct  9 19:24:33 pi3 weewx[1003] ERROR weewx.drivers.vantage: DMPAFT try #4; error: Timeout in get_data_with_crc16
Oct  9 19:24:33 pi3 weewx[1003] ERROR weewx.drivers.vantage: DMPAFT max tries (4) exceeded.


After far too many hours (7+), I finally decided to revert to the Pi3B+ and was rather surprised to see it working correctly.

It appears that others are successful with the Pi Zero W so I'm wondering if someone can help me get mine working.

Thanks.

Invisible Man

unread,
Oct 13, 2022, 3:39:49 PM10/13/22
to weewx-user
The RPi0W is considerably slower than the RPI3B+, I am not even totally sure it will work on a ZeroW, but your error is weird / I'd expect something more explicit.
Have you tried to tune timeout for your Vantage driver ?
I don't have this driver personally, but if there's any timeout: increate it to leave more time to ZeroW to cope with things.
And increase the loop_interval also to provide less packets to the ZeroW.
Then, maybe, it will have enough time to process the incoming packet, and then get_data_with_crc16 will receive all its expected bytes, and everybody is happy :)
Worth a try.

-- Axelle.

Your Name Here

unread,
Oct 20, 2022, 7:49:06 AM10/20/22
to weewx-user
Thank you for your suggestions. I finally had some time to mess with this again and unfortunately I only got the same results. There are several parameters I changed for the Vantage driver (verified results via timestamps in the log) but nothing seems to help. I'm still thrown off by having success via the --current at the command line working just fine but the main program fails by only getting some but not all the bytes. So, everything I previously posted is still accurate.

Any other ideas?

Reply all
Reply to author
Forward
0 new messages