Difference between revisions of "Component: BBC Weather Observation (Comms: IoT/Cloud)"

From Flowcode Help
Jump to navigationJump to search
 
(19 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
+
{| style="width:50%"
 
 
{| width="50%"
 
 
|-
 
|-
| width="20%" style="color: gray;" | Author
+
| width="20%" style="color:gray;" | Author
 
| MatrixTSL
 
| MatrixTSL
 
|-
 
|-
| width="20%" style="color: gray;" | Version
+
| width="20%" style="color:gray;" | Version
| 1.0 (Release)
+
| 1.0
 
|-
 
|-
| width="20%" style="color: gray;" | Category
+
| width="20%" style="color:gray;" | Category
 
| Comms: IoT/Cloud
 
| Comms: IoT/Cloud
 
|}
 
|}
  
  
 +
==BBC Weather Observation component==
 +
Easily allows you to collect observed weather metrics for your area using the  BBC Weather data service.  Supports temperature and humidity, pressure, Wind direction etc for your selected area. Also available are Wind Direction, Wind Speed and Air Pressure but please note  these are not always available depending on your selected area.  This component is used for data gathering from the internet.
  
==[[File:Component Icon bf90426c_1763_4a7a_be5c_b3e442e3f6d8.png|Image]] BBC Weather Observation component==
+
==Component Source Code==
Easily allows you to collect observed weather metrics for your area using the BBC Weather data service.
 
Supports temperature and humidty for your selected area.
 
Also available are Wind Direction, Wind Speed and Air Pressure but please note these are not always available depending on your selected area.
 
  
 +
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_BBCWeatherObservation.fcfx FC_Comp_Source_BBCWeatherObservation.fcfx]
  
==Examples==
+
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_BBCWeatherObservation.fcfx FC_Comp_Source_BBCWeatherObservation.fcfx]
  
Here is a basic example to read the observation data and report the information on a graphical display.
+
==Detailed description==
  
{{Fcfile|BBCWeatherDemo.fcfx|BBCWeatherDemo}}
 
  
  
The location can be set by adjusting the BBC Weather location property, see the component property tooltips for more information on how to do this.
 
  
On an embedded device you would need a TCP/IP component to allow the communications to the BBC server. This then links to the Network Comms component.
 
  
  
  
==Downloadable macro reference==
 
  
===<span style="font-weight: normal;"><u><tt>GetWindDirection</tt></u></span>===
 
Reads the reported wind direction as a string.
 
  
Please note this data may not be available for your selected location.
 
  
'''Parameters'''
 
  
:''This macro has no parameters''
 
  
  
'''Return value'''
 
  
:[[Variable Types|STRING]]
 
  
  
===<span style="font-weight: normal;"><u><tt>RequestData</tt></u></span>===
 
Requests data about your selected location from the BBC weather service.
 
  
Returns true if the request was successful.
 
  
Must be called before trying to call any of the GetXXX macros.
 
  
'''Parameters'''
 
  
:''This macro has no parameters''
 
  
  
'''Return value'''
 
  
:[[Variable Types|BOOL]] : Returns true if the operation is a success, else false
 
  
  
===<span style="font-weight: normal;"><u><tt>GetHumidity</tt></u></span>===
+
''No detailed description exists yet for this component''
Reads the reported humidity in Relative Humdity.
 
  
'''Parameters'''
+
==Examples==
  
:''This macro has no parameters''
 
  
  
'''Return value'''
 
  
:[[Variable Types|BYTE]]
 
  
  
===<span style="font-weight: normal;"><u><tt>GetTemperature</tt></u></span>===
 
Reads the reported temperature in the selected scale.
 
  
'''Parameters'''
 
  
:[[Variable Types|BOOL]] ''Scale''
 
::0 = Celcius, 1 = Farenheit
 
  
  
'''Return value'''
 
  
:[[Variable Types|INT]]
 
  
  
===<span style="font-weight: normal;"><u><tt>GetWindSpeed</tt></u></span>===
 
Reads the reported wind speed in MPH.
 
  
Please note this data may not be available for your selected location.
 
  
'''Parameters'''
 
  
:''This macro has no parameters''
 
  
  
'''Return value'''
 
  
:[[Variable Types|BYTE]]
 
  
  
===<span style="font-weight: normal;"><u><tt>SetLocationCode</tt></u></span>===
 
Allows the location code to be altered from the default location code set in the component properties.
 
  
After changing the location the RequestData macro must be called to refresh the forecast variables.
 
  
'''Parameters'''
 
  
:[[Variable Types|<- STRING]] ''NewLocation''
 
::New location string, see Location property tooltip for more info.
 
::''This parameter may be returned back to the caller''
 
  
  
'''Return value'''
 
  
:''This call does not return a value''
+
Here is a basic example to read the observation data and report the Manchester weather information for today and tomorrow, on a graphical display.
  
 +
{{Fcfile|BBCWeatherForecastDemo.fcfx|BBCWeatherDemo}}
  
===<span style="font-weight: normal;"><u><tt>GetPressure</tt></u></span>===
 
Reads the reported air pressure in milli bar (mb).
 
  
Please note this data may not be available for your selected location.
+
The location can be set by adjusting the BBC Weather location property, see the component property tooltips for more information on how to do this.
  
'''Parameters'''
+
On an embedded device you would need a TCP/IP component to allow the communications to the BBC server. This then links to the Network Comms component.
  
:''This macro has no parameters''
 
  
  
'''Return value'''
+
==Macro reference==
  
:[[Variable Types|UINT]]
+
===GetHumidity===
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetHumidity'''
 +
|-
 +
| colspan="2" | Reads the reported humidity in Relative Humdity.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
  
===<span style="font-weight: normal;"><u><tt>GetLocationName</tt></u></span>===
+
===GetLocationName===
Reads the reported location name as a string.
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetLocationName'''
 +
|-
 +
| colspan="2" | Reads the reported location name as a string.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-string-icon.png]] - STRING
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
'''Parameters'''
 
  
:''This macro has no parameters''
+
===GetPressure===
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetPressure'''
 +
|-
 +
| colspan="2" | Reads the reported air pressure in milli bar (mb). Please note this data may not be available for your selected location.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
  
'''Return value'''
+
===GetTemperature===
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetTemperature'''
 +
|-
 +
| colspan="2" | Reads the reported temperature in the selected scale.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL
 +
| width="90%" | Scale
 +
|-
 +
| colspan="2" | 0 = Celcius, 1 = Farenheit&nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-s16-icon.png]] - INT
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
:[[Variable Types|STRING]]
 
  
 +
===GetWindDirection===
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetWindDirection'''
 +
|-
 +
| colspan="2" | Reads the reported wind direction as a string. Please note this data may not be available for your selected location.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-string-icon.png]] - STRING
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
===<span style="font-weight: normal;"><u><tt>Initialise</tt></u></span>===
 
Sets up the component ready to collect weather data.
 
  
'''Parameters'''
+
===GetWindSpeed===
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetWindSpeed'''
 +
|-
 +
| colspan="2" | Reads the reported wind speed in MPH. Please note this data may not be available for your selected location.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
:''This macro has no parameters''
 
  
 +
===Initialise===
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise'''
 +
|-
 +
| colspan="2" | Sets up the component ready to collect weather data.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
'''Return value'''
 
  
:''This call does not return a value''
+
===RequestData===
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''RequestData'''
 +
|-
 +
| colspan="2" | Requests data about your selected location from the BBC weather service. Returns true if the request was successful. Must be called before trying to call any of the GetXXX macros.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-bool-icon.png]] - BOOL
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
  
 
+
===SetLocationCode===
==Simulation macro reference==
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
+
|-
''This component does not contain any simulation macros''
+
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetLocationCode'''
 +
|-
 +
| colspan="2" | Allows the location code to be altered from the default location code set in the component properties. After changing the location the RequestData macro must be called to refresh the forecast variables.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
 +
| width="90%" | NewLocation
 +
|-
 +
| colspan="2" | New location string, see Location property tooltip for more info.&nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
  
 
==Property reference==
 
==Property reference==
<span style="font-weight: normal;"><u>Network Comms Component</u></span>
 
  
This property is of type ''Panel object'' and can be referenced with the variable name ''NetworkCommsComp''.
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
+
|-
Network Communications component to use as the bridge to the TCP/IP network.
+
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
 
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''  
<span style="font-weight: normal;"><u>BBC IP Address</u></span>
+
|-
 
+
|-
This property is of type ''Line of text'' and can be referenced with the variable name ''IPAddr''.
+
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
+
| width="90%" | LinkTo
IP Address linked to the following URL: weather-broker-cdn.api.bbci.co.uk
+
|-
 
+
| colspan="2" | &nbsp;
<span style="font-weight: normal;"><u>Location Code</u></span>
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-10-icon.png]]
This property is of type ''Line of text'' and can be referenced with the variable name ''Location''.
+
| width="90%" | BBC IP Address
 
+
|-
BBC code for your area.  
+
| colspan="2" | IP Address linked to the following URL: weather-broker-cdn.api.bbci.co.uk&nbsp;
 
+
|-
In a web browser go to www.bbc.co.uk/weather/
+
| width="10%" align="center" | [[File:Fc9-type-10-icon.png]]
 
+
| width="90%" | Location Code
Then type in your city in the search bar and your code will be shown at the end of the URL.
+
|-
 
+
| colspan="2" | BBC code for your area. In a web browser go to www.bbc.co.uk/weather/ Then type in your city in the search bar and your code will be shown at the end of the URL. For example Manchester in the UK = 2643123 In the UK you can also use the first half of your post code, e.g. HX1&nbsp;
For example Manchester in the UK = 2643123
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
In the UK you can also use the first half of your post code, e.g. HX1
+
| width="90%" | Receive Timeout
 
+
|-
<span style="font-weight: normal;"><u>Receive Timeout</u></span>
+
| colspan="2" | Maximum time to wait for valid incoming data.&nbsp;
 
+
|}
This property is of type ''Unsigned integer'' and can be referenced with the variable name ''RxTimeout''.
 
 
 
Maximum time to wait for valid incoming data.
 

Latest revision as of 11:57, 3 November 2023

Author MatrixTSL
Version 1.0
Category Comms: IoT/Cloud


BBC Weather Observation component

Easily allows you to collect observed weather metrics for your area using the BBC Weather data service. Supports temperature and humidity, pressure, Wind direction etc for your selected area. Also available are Wind Direction, Wind Speed and Air Pressure but please note these are not always available depending on your selected area. This component is used for data gathering from the internet.

Component Source Code

Please click here to download the component source project: FC_Comp_Source_BBCWeatherObservation.fcfx

Please click here to view the component source code (Beta): FC_Comp_Source_BBCWeatherObservation.fcfx

Detailed description

No detailed description exists yet for this component

Examples

Here is a basic example to read the observation data and report the Manchester weather information for today and tomorrow, on a graphical display.

FC6 Icon.png BBCWeatherDemo


The location can be set by adjusting the BBC Weather location property, see the component property tooltips for more information on how to do this.

On an embedded device you would need a TCP/IP component to allow the communications to the BBC server. This then links to the Network Comms component.


Macro reference

GetHumidity

Fc9-comp-macro.png GetHumidity
Reads the reported humidity in Relative Humdity. 
Fc9-u8-icon.png - BYTE Return


GetLocationName

Fc9-comp-macro.png GetLocationName
Reads the reported location name as a string. 
Fc9-string-icon.png - STRING Return


GetPressure

Fc9-comp-macro.png GetPressure
Reads the reported air pressure in milli bar (mb). Please note this data may not be available for your selected location. 
Fc9-u16-icon.png - UINT Return


GetTemperature

Fc9-comp-macro.png GetTemperature
Reads the reported temperature in the selected scale. 
Fc9-bool-icon.png - BOOL Scale
0 = Celcius, 1 = Farenheit 
Fc9-s16-icon.png - INT Return


GetWindDirection

Fc9-comp-macro.png GetWindDirection
Reads the reported wind direction as a string. Please note this data may not be available for your selected location. 
Fc9-string-icon.png - STRING Return


GetWindSpeed

Fc9-comp-macro.png GetWindSpeed
Reads the reported wind speed in MPH. Please note this data may not be available for your selected location. 
Fc9-u8-icon.png - BYTE Return


Initialise

Fc9-comp-macro.png Initialise
Sets up the component ready to collect weather data. 
Fc9-void-icon.png - VOID Return


RequestData

Fc9-comp-macro.png RequestData
Requests data about your selected location from the BBC weather service. Returns true if the request was successful. Must be called before trying to call any of the GetXXX macros. 
Fc9-bool-icon.png - BOOL Return


SetLocationCode

Fc9-comp-macro.png SetLocationCode
Allows the location code to be altered from the default location code set in the component properties. After changing the location the RequestData macro must be called to refresh the forecast variables. 
Fc9-string-icon.png - STRING NewLocation
New location string, see Location property tooltip for more info. 
Fc9-void-icon.png - VOID Return


Property reference

Fc9-prop-icon.png Properties
Fc9-type-16-icon.png LinkTo
 
Fc9-type-10-icon.png BBC IP Address
IP Address linked to the following URL: weather-broker-cdn.api.bbci.co.uk 
Fc9-type-10-icon.png Location Code
BBC code for your area. In a web browser go to www.bbc.co.uk/weather/ Then type in your city in the search bar and your code will be shown at the end of the URL. For example Manchester in the UK = 2643123 In the UK you can also use the first half of your post code, e.g. HX1 
Fc9-type-21-icon.png Receive Timeout
Maximum time to wait for valid incoming data.