|
Post by triggerfish on Jan 31, 2020 7:49:01 GMT -8
Since it's SkyWeather related, I'll post it here... I have plugged de LoRa receiver in the serial port on de Pi2Grover, but In the log and the test program I only get "WXLink Not Found". I can find any logging to debug this, so any help would be appreciated.
|
|
|
Post by doxidad on Jan 31, 2020 7:54:48 GMT -8
Peter, i believe you are missing something in your local config file. The latest config has references to WXlink that need to be included - these will stop the error. If I remember correctly there is a comment in the readme.
|
|
|
Post by SDL on Feb 1, 2020 8:02:46 GMT -8
I agree with doxidad. Are you sure you plugged it into the serial port on the Pi2Grover?
BP
|
|
|
Post by triggerfish on Feb 1, 2020 13:32:21 GMT -8
I agree with doxidad. Are you sure you plugged it into the serial port on the Pi2Grover? BP I am pretty sure it's plugged into the serial port... There is only one, and it's clearly marked... Not much room for error there...
What needs to be set in the conflocal, which I could have missed?
|
|
|
Post by doxidad on Feb 2, 2020 9:53:54 GMT -8
Peter,
Did you put
# WXLink and SolarMAX configuration SolarMAX_Present = False Dual_MAX_WXLink = False
in your conflocal.py ?
|
|
|
Post by triggerfish on Feb 2, 2020 12:14:33 GMT -8
Peter, Did you put # WXLink and SolarMAX configuration SolarMAX_Present = False Dual_MAX_WXLink = False in your conflocal.py ? I tried several combinations of true and false. But I understand the values are just there to declare the variables, at startup the software senses what's there and what's not. At the moment I have:
# WXLink and SolarMAX configuration SolarMAX_Present = False Dual_MAX_WXLink = True My log at startup says:
WXLink: Not Present Dual SolarMAX/WXLink: Present Which surprises me, because I do not have a SolarMax installed yet. Also the values make no sense to me:
WXbatteryVoltage 0 WXbatteryCurrent 0 WXsolarVoltage 0 WXsolarCurrent 0 WXloadVoltage 5.0 WXloadCurrent 0 WXbatteryPower 0 WXsolarPower 0 WXloadPower 0 WXbatteryCharge 0
|
|
|
Post by SDL on Feb 3, 2020 10:16:31 GMT -8
These are not the same as the other variables in the bottom. Yes, it is confusing. We will restructure the config.py file.
Unless you have a SolarMAX system, both should be false.
The key element is that you are not detecting the WXLink board. Do you have the LoRa plugged into the right slot?
One more thing to try (and I'll bet this is the problem) go into
sudo rapsi-config
Then down into Interfacing options, then Serial
Answer the Login Shell question as "No"
And serial port hardware enabled to "Yes"
I'll bet you have a conflict for the serial port.
BP
|
|
|
Post by triggerfish on Feb 4, 2020 0:49:41 GMT -8
I'll bet you have a conflict for the serial port. BP You win , but... WXLink: Present ...----------------- Starting readWXLink Bad data from WXLink, discarded new data. Kept old ----------------- WXLink_Data Stale don't send to WeatherUnderground I/O error(121): Remote I/O error exception in Sample and Display Check Traceback (most recent call last): File "/home/pi/SDL_Pi_SkyWeather/SkyWeather.py", line 1296, in sampleAndDisplay Scroll_SSD1306.addLineOLED(display, ("Wind Speed=\t%0.2f MPH")%(currentWindSpeed/1.6)) File "/home/pi/SDL_Pi_SkyWeather/Scroll_SSD1306.py", line 65, in addLineOLED display.display() File "build/bdist.linux-armv7l/egg/Adafruit_SSD1306/SSD1306.py", line 164, in display self.command(SSD1306_COLUMNADDR) File "build/bdist.linux-armv7l/egg/Adafruit_SSD1306/SSD1306.py", line 128, in command self._i2c.write8(control, c) File "build/bdist.linux-armv7l/egg/Adafruit_GPIO/I2C.py", line 116, in write8 self._bus.write_byte_data(self._address, register, value) File "build/bdist.linux-armv7l/egg/Adafruit_PureIO/smbus.py", line 256, in write_byte_data self._device.write(data) IOError: [Errno 121] Remote I/O error
taking SkyPicture -------------------- SkyCam Picture Taken
I get a nasty error...
I did have all the sensors moved to the main system, so the WXlink just receives blanks I guess. Will reconnect things when I get back home.
Hopefully the error will disappear then.
|
|
|
Post by SDL on Feb 4, 2020 9:32:43 GMT -8
Turn off the OLED in the conflocal.py file
BP
|
|
|
Post by triggerfish on Feb 5, 2020 1:39:27 GMT -8
Turn off the OLED in the conflocal.py file BP I set:
OLED_Present = False OLED_Originally_Present = False But errors remain:
I/O error(121): Remote I/O error exception in Sample and Display Check Traceback (most recent call last): File "/home/pi/SDL_Pi_SkyWeather/SkyWeather.py", line 1296, in sampleAndDisplay Scroll_SSD1306.addLineOLED(display, ("Wind Speed=\t%0.2f MPH")%(currentWindSpeed/1.6)) File "/home/pi/SDL_Pi_SkyWeather/Scroll_SSD1306.py", line 65, in addLineOLED display.display() File "build/bdist.linux-armv7l/egg/Adafruit_SSD1306/SSD1306.py", line 164, in display self.command(SSD1306_COLUMNADDR) File "build/bdist.linux-armv7l/egg/Adafruit_SSD1306/SSD1306.py", line 128, in command self._i2c.write8(control, c) File "build/bdist.linux-armv7l/egg/Adafruit_GPIO/I2C.py", line 116, in write8 self._bus.write_byte_data(self._address, register, value) File "build/bdist.linux-armv7l/egg/Adafruit_PureIO/smbus.py", line 256, in write_byte_data self._device.write(data) IOError: [Errno 121] Remote I/O error
|
|
|
Post by SDL on Feb 5, 2020 9:21:56 GMT -8
Peter,
Here is the code from that spot:
if (config.OLED_Present): Scroll_SSD1306.addLineOLED(display, ("Wind Speed=\t%0.2f MPH")%(currentWindSpeed/1.6)) Scroll_SSD1306.addLineOLED(display, ("Rain Total=\t%0.2f in")%(totalRain/25.4)) if (config.ADS1015_Present or config.ADS1115_Present): Scroll_SSD1306.addLineOLED(display, "Wind Dir=%0.2f Degrees" % weatherStation.current_wind_direction())
You see the if statement? It thinks the OLED is present.
Would you post the start of the program when it shows all the device present values?
Also post the results of testSDL_Pi_TCA9545.py
This should help me help you.
BP
|
|
|
Post by triggerfish on Feb 6, 2020 4:40:16 GMT -8
Hi BP,
First of all: I do have the OLED attached and that seems to be working.
Here is the output you requested. First, with SERIAL DISABLED in raspi-config. Obviously the WX link is not working then, but I get no errors.
Program output:
pi@IBADHOEV14:~/SDL_Pi_SkyWeather $ head -80 ~/SDL_Pi_SkyWeather/log/`ls -1t ~/SDL_Pi_SkyWeather/log | head -1` (1102.5792000000001, 613, 209) () ('Pi Camera Revision', u'ov5647') ('after bme680', True) as3935 start I/O error(121): Remote I/O error I/O error(121): Remote I/O error tmp= [75, 239, 253, 209, 226, 18] outsideTemperature: 6.9 C outsideHumidity: 82.0 % crcH: 0x12 crcT 0xfd after SHT30
SkyWeather Weather Station Version 055 - SwitchDoc Labs
Program Started at:2020-02-05 10:44:51
---------------------- I2C Mux - TCA9545: Present BME680: Present BMP280: Not Present SkyCam: Present DS3231: Not Present HDC1080: Not Present SHT30: Present AM2315: Not Present ADS1015: Not Present ADS1115: Present AS3935: Not Present OLED: Present SunAirPlus/SunControl: Present SolarMAX: Not Present SI1145 Sun Sensor: Not Present TSL2591 Sun Sensor: Present DustSensor: Present WXLink: Not Present Dual SolarMAX/WXLink: Not Present
UseBlynk: Present UseMySQL: Present Check WLAN: Present WeatherUnderground: Present UseWeatherStem: Present ---------------------- ----------------- SunAirPlus Sampling ----------------- ----------------- Sample and Display ----------------- ----------------- Weather Sampling ----------------- (' value = ', 4508.25) (' voltageValue = ', 4.50825) ----------------- SHT30 Stats: (g,br,bc,rt,pc) (1, 0, 0, 0, 0) --Sending Data to WeatherUnderground-- Bus test output:
Test SDL_Pi_TCA9545 Version 1.0 - SwitchDoc Labs
Sample uses 0x73 Program Started at:2020-02-06 13:26:04
-----------BUS 0------------------- tca9545 control register B3-B0 = 0x1 ignore Interrupts if INT3' - INT0' not connected tca9545 control register Interrupts = 0x0 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- 3c -- -- -- 40: -- -- -- -- 44 -- -- -- 48 -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- 73 -- -- -- 77
-----------------------------------
-----------BUS 1------------------- tca9545 control register B3-B0 = 0x2 ignore Interrupts if INT3' - INT0' not connected tca9545 control register Interrupts = 0x0 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- 73 -- -- -- --
-----------------------------------
-----------BUS 2------------------- tca9545 control register B3-B0 = 0x4 ignore Interrupts if INT3' - INT0' not connected tca9545 control register Interrupts = 0x0 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: 40 -- -- -- -- -- -- -- 48 -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- 73 -- -- -- --
-----------------------------------
-----------BUS 3------------------- tca9545 control register B3-B0 = 0x8 ignore Interrupts if INT3' - INT0' not connected tca9545 control register Interrupts = 0x0 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- 29 -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- 73 -- -- -- --
-----------------------------------
Now the same with SERIAL ENABLED. No to shell output, yes to interface.
Program output:
pi@IBADHOEV14:~/SDL_Pi_SkyWeather $ head -80 ~/SDL_Pi_SkyWeather/log/`ls -1t ~/SDL_Pi_SkyWeather/log | head -1` (890.5824000000001, 502, 173) () ('Pi Camera Revision', u'ov5647') ('HW-Version: ', 18) ('after bme680', True) as3935 start I/O error(121): Remote I/O error I/O error(121): Remote I/O error tmp= [82, 213, 78, 160, 106, 30] outsideTemperature: 11.6 C outsideHumidity: 62.7 % crcH: 0x1e crcT 0x4e after SHT30
SkyWeather Weather Station Version 055 - SwitchDoc Labs
Program Started at:2020-02-06 13:31:49
---------------------- I2C Mux - TCA9545: Present BME680: Present BMP280: Not Present SkyCam: Present DS3231: Not Present HDC1080: Not Present SHT30: Present AM2315: Not Present ADS1015: Not Present ADS1115: Present AS3935: Not Present OLED: Present SunAirPlus/SunControl: Present SolarMAX: Not Present SI1145 Sun Sensor: Not Present TSL2591 Sun Sensor: Present DustSensor: Present WXLink: Present Dual SolarMAX/WXLink: Not Present
UseBlynk: Present UseMySQL: Present Check WLAN: Present WeatherUnderground: Present UseWeatherStem: Present ---------------------- ----------------- SunAirPlus Sampling ----------------- ----------------- Sample and Display ----------------- ----------------- Weather Sampling ----------------- Starting readWXLink Bad data from WXLink, discarded new data. Kept old ----------------- WXLink_Data Stale don't send to WeatherUnderground I/O error(121): Remote I/O error exception in Sample and Display Check Traceback (most recent call last): File "/home/pi/SDL_Pi_SkyWeather/SkyWeather.py", line 1296, in sampleAndDisplay Scroll_SSD1306.addLineOLED(display, ("Wind Speed=\t%0.2f MPH")%(currentWindSpeed/1.6)) File "/home/pi/SDL_Pi_SkyWeather/Scroll_SSD1306.py", line 65, in addLineOLED display.display() File "build/bdist.linux-armv7l/egg/Adafruit_SSD1306/SSD1306.py", line 164, in display self.command(SSD1306_COLUMNADDR) File "build/bdist.linux-armv7l/egg/Adafruit_SSD1306/SSD1306.py", line 128, in command self._i2c.write8(control, c) File "build/bdist.linux-armv7l/egg/Adafruit_GPIO/I2C.py", line 116, in write8 self._bus.write_byte_data(self._address, register, value) File "build/bdist.linux-armv7l/egg/Adafruit_PureIO/smbus.py", line 256, in write_byte_data self._device.write(data) IOError: [Errno 121] Remote I/O error
taking SkyPicture -------------------- SkyCam Picture Taken And the bus test:
Test SDL_Pi_TCA9545 Version 1.0 - SwitchDoc Labs
Sample uses 0x73 Program Started at:2020-02-06 13:33:18
-----------BUS 0------------------- tca9545 control register B3-B0 = 0x1 ignore Interrupts if INT3' - INT0' not connected tca9545 control register Interrupts = 0x0 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- 3c -- -- -- 40: -- -- -- -- 44 -- -- -- 48 -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- 73 -- -- -- 77
-----------------------------------
-----------BUS 1------------------- tca9545 control register B3-B0 = 0x2 ignore Interrupts if INT3' - INT0' not connected tca9545 control register Interrupts = 0x0 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- 73 -- -- -- --
-----------------------------------
-----------BUS 2------------------- tca9545 control register B3-B0 = 0x4 ignore Interrupts if INT3' - INT0' not connected tca9545 control register Interrupts = 0x0 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: 40 -- -- -- -- -- -- -- 48 -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- 73 -- -- -- --
-----------------------------------
-----------BUS 3------------------- tca9545 control register B3-B0 = 0x8 ignore Interrupts if INT3' - INT0' not connected tca9545 control register Interrupts = 0x0 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- 29 -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- 73 -- -- -- --
-----------------------------------
|
|
|
Post by SDL on Feb 6, 2020 11:22:49 GMT -8
Could you show your conflocal.py file next? (removing any passwords or anything).
BP
|
|
|
Post by triggerfish on Feb 7, 2020 2:12:18 GMT -8
pi@IBADHOEV14:~/SDL_Pi_SkyWeather $ cat conflocal.py
# # # configuration file - contains customization for SkyWeather system #
# it is a good idea to copy this file into a file called "conflocal.py" and edit that instead of this one. This file is wiped out if you update SkyWeather.
SWDEBUG = True
SWVERSION = "000" # set in SkyWeather.py import uuid
# printing the value of unique MAC # address using uuid and getnode() function MACADDRESS = hex(uuid.getnode())
mailUser = "IBADHOEV14" mailPassword = "*removed*"
notifyAddress ="deep.core.2@gmail.com"
fromAddress = "IBADHOEV14@gmail.com"
enableText = False textnotifyAddress = "yourphonenumber@yourprovider"
#MySQL Logging and Password Information
enable_MySQL_Logging = True MySQL_Password = "*removed*"
# modify this IP to enable WLAN operating detection - search for WLAN_check in SkyWeather.py enable_WLAN_Detection = True PingableRouterAddress = "194.109.6.66"
# LED configuration (on use on a Raspberry Pi 3B+)
runLEDs = False
# WXLink and SolarMAX configuration SolarMAX_Present = False Dual_MAX_WXLink = False
# SolarMAX_Type = "LEAD" for SolarMAX Lead Acid # SolarMAX_Type = "LIPO" for SolarMAX LiPo SolarMAX_Type = ""
# WeatherSTEM configuration
USEWEATHERSTEM = True INTERVAL_CAM_PICS__SECONDS = 600 STATIONMAC = MACADDRESS STATIONKEY="*removed*" STATIONHARDWARE="SkyWeather"
# WeatherUnderground Station
WeatherUnderground_Present = True WeatherUnderground_StationID = "IBADHOEV14" WeatherUnderground_StationKey = "*removed*"
############ # Blynk configuration ############
USEBLYNK = True BLYNK_AUTH = '*removed*' BLYNK_URL = 'http://blynk-cloud.com/'
############ # AS3935 Lightning Configuration ############ # format: [NoiseFLoor, Indoor, TuneCap, DisturberDetection, WatchDogThreshold, SpikeDetection] AS3935_Lightning_Config = [2,1,3,0,3,3]
# for barometeric pressure - needed to calculate sealevel equivalent - set your weatherstation elevation here
BMP280_Altitude_Meters = 7.0
# device present global variables
Camera_Present = True TCA9545_I2CMux_Present = True SunAirPlus_Present = True AS3935_Present = True DS3231_Present = True BMP280_Present = True BME680_Present = True HDC1080_Present = True SHT30_Present = True AM2315_Present = True ADS1015_Present = True ADS1115_Present = True OLED_Present = False OLED_Originally_Present = False WXLink_Present = False Sunlight_Present = True TSL2591_Present = True DustSensor_Present = True
# set Sunlight High Gain (indoors - 1) or Low Gain (outdoors - 0) Sunlight_Gain = 0
# if the WXLink has stopped transmitting, == False WXLink_Data_Fresh = False WXLink_LastMessageID = 0
# Pin definitions pixelPin = 21
DustSensorPin = 19 DustSensorPowerPin = 26
#WeatherRack anemometerPin = 20 rainPin = 13
SHT30GSPIN = 6 AM2315GSPIN = 6
# for fan GPIO_Pin_PowerDrive_Sig1 = 5 GPIO_Pin_PowerDrive_Sig2 = 5 # To avoid stepping on GPIO 6
WATCHDOGTRIGGER = 4
|
|
|
Post by SDL on Feb 7, 2020 16:02:40 GMT -8
What device do you have plugged in at 0x3C?
-----------BUS 0------------------- tca9545 control register B3-B0 = 0x1 ignore Interrupts if INT3' - INT0' not connected tca9545 control register Interrupts = 0x0
00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- 3c -- -- -- 40: -- -- -- -- 44 -- -- -- 48 -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- 73 -- -- -- 77
SkyWeather thinks it is an OLED display. If it is an OLED display, please remove it.
BP
|
|