Difference between revisions of "Component: BBC Weather Observation (Comms: IoT/Cloud)"
(19 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | + | {| style="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 | + | | 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. | ||
− | == | + | ==Component Source Code== |
− | |||
− | |||
− | |||
+ | 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] | ||
− | = | + | 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] |
− | + | ==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. | |
+ | {{Fcfile|BBCWeatherForecastDemo.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. | |
− | |||
− | + | ==Macro reference== | |
− | :[[ | + | ===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. | ||
+ | |- | ||
+ | |- | ||
+ | | 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'' | ||
+ | |} | ||
− | === | + | ===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. | ||
+ | |- | ||
+ | |- | ||
+ | | 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'' | ||
+ | |} | ||
− | |||
− | :'' | + | ===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. | ||
+ | |- | ||
+ | |- | ||
+ | | 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 | + | ===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. | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL | ||
+ | | width="90%" | Scale | ||
+ | |- | ||
+ | | colspan="2" | 0 = Celcius, 1 = Farenheit | ||
+ | |- | ||
+ | | 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'' | ||
+ | |} | ||
− | |||
+ | ===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. | ||
+ | |- | ||
+ | |- | ||
+ | | 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'' | ||
+ | |} | ||
− | |||
− | |||
− | ''' | + | ===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. | ||
+ | |- | ||
+ | |- | ||
+ | | 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'' | ||
+ | |} | ||
− | |||
+ | ===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. | ||
+ | |- | ||
+ | |- | ||
+ | | 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'' | ||
+ | |} | ||
− | |||
− | :'' | + | ===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. | ||
+ | |- | ||
+ | |- | ||
+ | | 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=== | |
− | == | + | {| 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;" | '''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. | ||
+ | |- | ||
+ | |- | ||
+ | | 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. | ||
+ | |- | ||
+ | | 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== | ||
− | |||
− | + | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | |
− | + | |- | |
− | + | | width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]] | |
− | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties''' | |
− | + | |- | |
− | + | |- | |
− | + | | 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" | | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-10-icon.png]] | |
− | + | | 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 |
− | + | |- | |
− | 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 | |
− | 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 |
− | + | |- | |
− | + | | colspan="2" | Maximum time to wait for valid incoming data. | |
− | + | |} | |
− | |||
− | |||
− | 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 |
Contents
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.
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
![]() |
GetHumidity |
Reads the reported humidity in Relative Humdity. | |
![]() |
Return |
GetLocationName
![]() |
GetLocationName |
Reads the reported location name as a string. | |
![]() |
Return |
GetPressure
![]() |
GetPressure |
Reads the reported air pressure in milli bar (mb). Please note this data may not be available for your selected location. | |
![]() |
Return |
GetTemperature
![]() |
GetTemperature |
Reads the reported temperature in the selected scale. | |
![]() |
Scale |
0 = Celcius, 1 = Farenheit | |
![]() |
Return |
GetWindDirection
![]() |
GetWindDirection |
Reads the reported wind direction as a string. Please note this data may not be available for your selected location. | |
![]() |
Return |
GetWindSpeed
![]() |
GetWindSpeed |
Reads the reported wind speed in MPH. Please note this data may not be available for your selected location. | |
![]() |
Return |
Initialise
![]() |
Initialise |
Sets up the component ready to collect weather data. | |
![]() |
Return |
RequestData
SetLocationCode