Wearher monitor modules: Difference between revisions
(Created page with "back to gnss == Modules == Module overview == Gnss sensor == Function == Weather sensor == Function == PV sensor == Function") |
No edit summary |
||
| (5 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
back to [[ | back to [[Gnss monitor | Weather monitor]] | ||
== Modules == | == Modules == | ||
Module overview | Module overview | ||
== Display == | |||
The display is a C++ app based on the Qt library for visual elements. | |||
[[Weather monitor description | Description]] | |||
== Gnss sensor == | == Gnss sensor == | ||
The sensor is a standard GNSS receiver (Ublox-9) and the interface is the default NMEA messages sent from the receiver. | |||
These messages are published using the MQTT protocol. | |||
* Message format | |||
** Topic: ublox9/nmea/GXXXX | |||
** payload: Epoc_time $GXXXX,....*FF | |||
Where GXXXX are the NMEA message type (e.g. GPGGA). The Epoc_time is the epoc timestamp in seconds since 1970 (e.g. 1755155031.0294). | |||
An NMEA message packed in MQTT could be like this for a full sequence (repeated every second) | |||
'ublox9/nmea/GNRMC' 1754938492.0209 $GNRMC,185452.00,A,5535.78100,N,01214.70166,E,0.540,,110825,,,A,V*1D | |||
'ublox9/nmea/GNVTG' 1754938492.0211 $GNVTG,,T,,M,0.540,N,1.000,K,A*3D | |||
'ublox9/nmea/GNGGA' 1754938492.0212 $GNGGA,185452.00,5535.78100,N,01214.70166,E,1,12,1.12,22.3,M,40.1,M,,*72 | |||
'ublox9/nmea/GNGSA' 1754938492.0213 $GNGSA,A,3,14,15,22,13,23,17,24,,,,,,2.10,1.12,1.78,1*0C | |||
'ublox9/nmea/GNGSA' 1754938492.0214 $GNGSA,A,3,65,75,,,,,,,,,,,2.10,1.12,1.78,2*0C | |||
'ublox9/nmea/GNGSA' 1754938492.0215 $GNGSA,A,3,,,,,,,,,,,,,2.10,1.12,1.78,3*0C | |||
'ublox9/nmea/GNGSA' 1754938492.0216 $GNGSA,A,3,10,29,33,26,24,,,,,,,,2.10,1.12,1.78,4*03 | |||
'ublox9/nmea/GPGSV' 1754938492.0220 $GPGSV,3,1,12,02,08,022,16,10,18,329,,12,06,218,,13,48,152,19,1*66 | |||
'ublox9/nmea/GPGSV' 1754938492.0222 $GPGSV,3,2,12,14,44,065,27,15,61,214,18,17,34,100,25,19,23,129,,1*6C | |||
'ublox9/nmea/GPGSV' 1754938492.0223 $GPGSV,3,3,12,22,59,077,30,23,31,285,20,24,47,274,16,30,10,094,,1*6A | |||
'ublox9/nmea/GLGSV' 1754938492.0224 $GLGSV,3,1,09,65,64,226,14,66,41,318,20,72,20,171,,74,37,054,,1*7A | |||
'ublox9/nmea/GLGSV' 1754938492.0225 $GLGSV,3,2,09,75,84,288,19,76,25,240,,82,05,337,,83,20,024,24,1*75 | |||
'ublox9/nmea/GLGSV' 1754938492.0229 $GLGSV,3,3,09,84,12,077,,1*4E | |||
'ublox9/nmea/GAGSV' 1754938492.0231 $GAGSV,1,1,00,7*73 | |||
'ublox9/nmea/GBGSV' 1754938492.0237 $GBGSV,3,1,09,05,12,129,,07,30,060,,09,01,088,,10,35,074,14,1*7A | |||
'ublox9/nmea/GBGSV' 1754938492.0238 $GBGSV,3,2,09,24,81,213,23,25,24,247,,26,44,075,31,29,13,027,21,1*7B | |||
'ublox9/nmea/GBGSV' 1754938492.0239 $GBGSV,3,3,09,33,51,231,21,1*48 | |||
'ublox9/nmea/GNGLL' 1754938492.0240 $GNGLL,5535.78100,N,01214.70166,E,185452.00,A,A*70 | |||
[[Gnss sensor function | Function]] | [[Gnss sensor function | Function]] | ||
== Weather sensor == | == Weather sensor == | ||
The weather sensor is based on a commercial RS-485 sensor. This is interfaced to a Raspberry PI and published as MQTT messages. | |||
* The message is like: | |||
** Topic: weather/indoor | |||
** Topic: weather/outdoor | |||
** Payload: epoc_time measured values ... | |||
The payload follows the log file with the following content. Note that columns 2-4 are for MATLAB plotting and will likely be removed. Additional columns will be added if the weather sensor is extended with more sensors. | |||
% Weather log started at 2025-07-27 00:00:00.424 | |||
% 1: time since 1jan 1970 (sec) | |||
% 2: time since 2025-07-27 00:00:00.424 | |||
% 3: hour of day | |||
% 4: Minute in hour | |||
% 5: Temperature (centigrades | |||
% 6: Humidity (%) | |||
% 7: Wind speed (m/s) | |||
% 8: Wind direction (degrees) | |||
% 9: Wind angle (degrees) | |||
% 10: Air pressure (hPa) | |||
% 11: Brightness (Lux) | |||
% 12: Accumulated rain (mm) (maybe not available) | |||
% 13: sound level (dB) (maybe not available) | |||
% 14: particles PM2.5 (ug/m3) (maybe not available) | |||
% 15: particles PM10 (ug/m3) (maybe not available) | |||
1753567204.180 620141.188 0 0 18.2 83.9 0.0 0 0 1009.0 0 20.8 0 0 0 | |||
1753567209.813 620146.875 0 0 18.2 83.9 0.0 0 0 1009.0 0 20.8 0 0 0 | |||
1753567215.446 620152.500 0 0 18.2 83.9 0.0 0 0 1009.0 0 20.8 0 0 0 | |||
1753567221.080 620158.125 0 0 18.2 83.9 0.0 0 0 1009.0 0 20.8 0 0 0 | |||
[[Weather sensor function | Function]] | [[Weather sensor function | Function]] | ||
== PV sensor == | == PV sensor == | ||
This sensor is made to monitor a minor PV (solar panel) installation with load control. | |||
The sensor includes: | |||
* PV cell voltage and current | |||
* Battery voltage and charge current | |||
* Load control (on/off) | |||
* Load current (out of battery). | |||
[[PV sensor functions | Function]] | [[PV sensor functions | Function]] | ||
Latest revision as of 14:21, 27 August 2025
back to Weather monitor
Modules
Module overview
Display
The display is a C++ app based on the Qt library for visual elements.
Gnss sensor
The sensor is a standard GNSS receiver (Ublox-9) and the interface is the default NMEA messages sent from the receiver.
These messages are published using the MQTT protocol.
- Message format
- Topic: ublox9/nmea/GXXXX
- payload: Epoc_time $GXXXX,....*FF
Where GXXXX are the NMEA message type (e.g. GPGGA). The Epoc_time is the epoc timestamp in seconds since 1970 (e.g. 1755155031.0294).
An NMEA message packed in MQTT could be like this for a full sequence (repeated every second)
'ublox9/nmea/GNRMC' 1754938492.0209 $GNRMC,185452.00,A,5535.78100,N,01214.70166,E,0.540,,110825,,,A,V*1D 'ublox9/nmea/GNVTG' 1754938492.0211 $GNVTG,,T,,M,0.540,N,1.000,K,A*3D 'ublox9/nmea/GNGGA' 1754938492.0212 $GNGGA,185452.00,5535.78100,N,01214.70166,E,1,12,1.12,22.3,M,40.1,M,,*72 'ublox9/nmea/GNGSA' 1754938492.0213 $GNGSA,A,3,14,15,22,13,23,17,24,,,,,,2.10,1.12,1.78,1*0C 'ublox9/nmea/GNGSA' 1754938492.0214 $GNGSA,A,3,65,75,,,,,,,,,,,2.10,1.12,1.78,2*0C 'ublox9/nmea/GNGSA' 1754938492.0215 $GNGSA,A,3,,,,,,,,,,,,,2.10,1.12,1.78,3*0C 'ublox9/nmea/GNGSA' 1754938492.0216 $GNGSA,A,3,10,29,33,26,24,,,,,,,,2.10,1.12,1.78,4*03 'ublox9/nmea/GPGSV' 1754938492.0220 $GPGSV,3,1,12,02,08,022,16,10,18,329,,12,06,218,,13,48,152,19,1*66 'ublox9/nmea/GPGSV' 1754938492.0222 $GPGSV,3,2,12,14,44,065,27,15,61,214,18,17,34,100,25,19,23,129,,1*6C 'ublox9/nmea/GPGSV' 1754938492.0223 $GPGSV,3,3,12,22,59,077,30,23,31,285,20,24,47,274,16,30,10,094,,1*6A 'ublox9/nmea/GLGSV' 1754938492.0224 $GLGSV,3,1,09,65,64,226,14,66,41,318,20,72,20,171,,74,37,054,,1*7A 'ublox9/nmea/GLGSV' 1754938492.0225 $GLGSV,3,2,09,75,84,288,19,76,25,240,,82,05,337,,83,20,024,24,1*75 'ublox9/nmea/GLGSV' 1754938492.0229 $GLGSV,3,3,09,84,12,077,,1*4E 'ublox9/nmea/GAGSV' 1754938492.0231 $GAGSV,1,1,00,7*73 'ublox9/nmea/GBGSV' 1754938492.0237 $GBGSV,3,1,09,05,12,129,,07,30,060,,09,01,088,,10,35,074,14,1*7A 'ublox9/nmea/GBGSV' 1754938492.0238 $GBGSV,3,2,09,24,81,213,23,25,24,247,,26,44,075,31,29,13,027,21,1*7B 'ublox9/nmea/GBGSV' 1754938492.0239 $GBGSV,3,3,09,33,51,231,21,1*48 'ublox9/nmea/GNGLL' 1754938492.0240 $GNGLL,5535.78100,N,01214.70166,E,185452.00,A,A*70
Weather sensor
The weather sensor is based on a commercial RS-485 sensor. This is interfaced to a Raspberry PI and published as MQTT messages.
- The message is like:
- Topic: weather/indoor
- Topic: weather/outdoor
- Payload: epoc_time measured values ...
The payload follows the log file with the following content. Note that columns 2-4 are for MATLAB plotting and will likely be removed. Additional columns will be added if the weather sensor is extended with more sensors.
% Weather log started at 2025-07-27 00:00:00.424 % 1: time since 1jan 1970 (sec) % 2: time since 2025-07-27 00:00:00.424 % 3: hour of day % 4: Minute in hour % 5: Temperature (centigrades % 6: Humidity (%) % 7: Wind speed (m/s) % 8: Wind direction (degrees) % 9: Wind angle (degrees) % 10: Air pressure (hPa) % 11: Brightness (Lux) % 12: Accumulated rain (mm) (maybe not available) % 13: sound level (dB) (maybe not available) % 14: particles PM2.5 (ug/m3) (maybe not available) % 15: particles PM10 (ug/m3) (maybe not available) 1753567204.180 620141.188 0 0 18.2 83.9 0.0 0 0 1009.0 0 20.8 0 0 0 1753567209.813 620146.875 0 0 18.2 83.9 0.0 0 0 1009.0 0 20.8 0 0 0 1753567215.446 620152.500 0 0 18.2 83.9 0.0 0 0 1009.0 0 20.8 0 0 0 1753567221.080 620158.125 0 0 18.2 83.9 0.0 0 0 1009.0 0 20.8 0 0 0
PV sensor
This sensor is made to monitor a minor PV (solar panel) installation with load control.
The sensor includes:
- PV cell voltage and current
- Battery voltage and charge current
- Load control (on/off)
- Load current (out of battery).