Jump to content

Component: BBC Weather Forecast (Comms: IoT/Cloud)

From Flowcode Help
Revision as of 10:36, 17 November 2021 by Wiki bot (talk | contribs)
Author MatrixTSL
Version 1.0
Category Comms: IoT/Cloud


BBC Weather Forecast component

Easily allows you to collect three day forecasted weather metrics for your area using the BBC Weather data service. Supports Min/Max temperature, Wind Direction, Wind Speed, Visibility, Pressure, Humidty, UV Risk, Pollution and Sun Rise/Set times for your selected area.

Detailed description

No detailed description exists yet for this component

Examples

Here is a basic example to read the three day forecast data and report the information on a graphical display.

BBCWeatherForecastDemo


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

GetMaxTemperature
Reads the forecast maximum temperature in the selected scale for the selected day. 
[[File:]] - Scale
0 = Celcius, 1 = Farenheit 
[[File:]] - Return


GetVisibility
Reads the forecast visibility for the selected day. 
- STRING Return


GetDaySummary
Gets the summary of the currently selected day as a string. 
- STRING Return


GetMinTemperature
Reads the forecast minimum temperature in the selected scale for the selected day. 
[[File:]] - Scale
0 = Celcius, 1 = Farenheit 
[[File:]] - Return


GetWindDirection
Reads the forecast wind direction as a string for the selected day. 
- STRING Return


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. 
[[File:]] - Return


GetPollution
Reads the forecast pollution as a string for the selected day. 
- STRING Return


GetSunset
Reads the forecast sunset time as a string for the selected day. 
- STRING Return


GetHumidity
Reads the forecast humidity in Relative Humdity for the selected day. 
- BYTE Return


GetDayName
Gets the name of the currently selected day as a string. 
- STRING Return


GetWindSpeed
Reads the reported wind speed in MPH for the selected day. 
- BYTE Return


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. 
- STRING NewLocation
New location string, see Location property tooltip for more info. 
- VOID Return


GetSunrise
Reads the forecast sunrise time as a string for the selected day. 
- STRING Return


GetPressure
Reads the forecast air pressure in milli bar (mb) for the selected day. 
- UINT Return


SetForecastDay
Chooses which day of the three day forecast to look at.  
- BYTE Day
0 = Today, 1 = Tomorrow, 2 = Day After Tomorrow 
- VOID Return


GetUVRisk
Reads the forecast UV Risk for the selected day. 
- BYTE Return


GetLocationName
Reads the reported location name as a string. 
- STRING Return


Initialise
Sets up the component ready to collect weather data. 
- VOID Return


Initialise
Sets up the GSM module. Returns 0 for OK, 255 for no reply and 254 for command fail. 
- BYTE Return


Left
Rotates the robot left - waits for the angle to be traversed before returning 
- UINT Angle
Angle to turn in degrees 
- VOID Return


ReadIR
Reads an IR sensor 0=Left, 1=FrontLeft, 2=Front, 3=FrontRight, 4=Right, 5=RearRight, 6=Rear, 7=RearLeft 
- BYTE index
0=Left, 1=FrontLeft, 2=Front, 3=FrontRight, 4=Right, 5=RearRight, 6=Rear, 7=RearLeft 
- UINT Return


LCDDrawPixel
Allows a single pixel on the LCD to be set or cleared 
- BYTE X
X Pixel 0-127 
- BYTE Y
Y Pixel 0-31 
- BYTE State
0=White (Off), 1=Black (On) 
- VOID Return


ServoSetPosition
Allows one of the servo positions to be assigned 
- BYTE Channel
Range 0-3 
- BYTE Position
Range 0-255 
- VOID Return


CardBitmap
Displays a monochrome bitmap read from the card on the LCD 
- BYTE X
Range 0-127 
- BYTE Y
Range 0-31 
- STRING Filename
 
- BYTE Return


CardRecordMic
Records an audio stream on the card from the microphone 
- BYTE BitDepth
0=8-bit, 1=16-bit 
- BYTE SampleRate
Sample Rate 0=8KHz, 1=16KHz 
- UINT RecordTime
Time to record for in seconds, Range 0-65535 
- STRING Filename
 
- BYTE Return


CardOpen
Attempts to open an existing file on the SD card 255=Error, 1=File not found, 0=Open OK 
- STRING Filename
 
- BYTE Return


Forwards
Drives the robot forwards - waits for the distance to be traversed before returning 
- UINT Distance
Distance in mm 
- VOID Return


ReadBearing
Reads the compass bearing based on the degrees clockwise from magnetic north. 
[[File:]] - Return


GetConsoleHandle
Gets the handle to the console allowing data displaying on the panel etc. 
[[File:]] - Return


LCDDrawLine
Allows a single pixel width line to be drawn on the LCD 
- BYTE X1
X Pixel 0-127 
- BYTE Y1
Y Pixel 0-31 
- BYTE X2
X Pixel 0-127 
- BYTE Y2
Y Pixel 0-31 
- VOID Return


ServoAutoMoveToPosition
Allows one of the servo positions to move gradually to a new position 
- BYTE Channel
Range 0-3 
- BYTE Position
Range 0-255 
- VOID Return


ReadAllValue
Reads a single value stored from the read all command Index dictates which sensor value to read 
- BYTE Index
0=SW, 1-8=IR, 9-10=Line, 11=Light, 12=Mic, 13-15=Accel 
- UINT Return


LCDBacklight
Allows the LCD backlight brighntess to be adjusted 
- BYTE Intensity
Range 0-100, 0=Off, 1=Min Brightness, 100=Max Brightness 
- VOID Return


LCDDrawRect
Allows a rectangle to be drawn on the LCD 
- BYTE X1
X Pixel 0-127 
- BYTE Y1
Y Pixel 0-31 
- BYTE X2
X Pixel 0-127 
- BYTE Y2
Y Pixel 0-31 
- VOID Return


ReadLine
Reads one of the IR line sensors 0-1 0=Left, 1=Right 
- BYTE index
0=Left, 1=Right 
- UINT Return


ServoDisable
Allows one of the servo outputs 0-3 to be disabled 
- BYTE Channel
Range 0-3 
- VOID Return


ServoEnable
Allows one of the servo outputs 0-3 to be enabled 
- BYTE Channel
Range 0-3 
- VOID Return


CardReadByte
Reads a byte from the currently open file. Starts at the beginning of the file and auto increments to the end 
- BYTE Return


CardErase
Attempts to delete an existing file on the SD card 255=Error, 1=File not found, 0=Delete OK 
- STRING Filename
 
- BYTE Return


CardWriteByte
Appends a byte to the end of the currently open file  
- BYTE Data
 
- VOID Return


EncoderRead
Reads one of the motor encoder counters. Approx 0.328296mm of travel per encoder unit. 
- BYTE index
0=Left, 1=Right 
- UINT Return


SetMotors
Sets the motor speeds without feedback Range -100 to 100 
[[File:]] - Left
Range -100 to 100 
[[File:]] - Right
Range -100 to 100 
- VOID Return


Backwards
Drives the robot backwards - waits for the distance to be traversed before returning 
- UINT Distance
Distance in mm 
- VOID Return


EncoderReset
Resets the motor encoder counters 
- VOID Return


LCDVerbose
Allows the LCD to automatically report the API commands as they get processed. Default - verbose on 
- BYTE State
0=Off 1=On 
- VOID Return


SetProp
Allows the COM port property to be set from a parent component. 
- STRING PropName
 
- ULONG PropVal
 
- VOID Return


CardInit
Attempts to startup the SD card 255=No Card, 254=Init Fail, 0=Init OK 
- BYTE Return


GetProp
Allows the property filter for the COM port list to be copied to a parent component. 
- STRING PropName
 
- STRING Return


LCDClear
Clears the LCD 
- VOID Return



Property reference

Properties
Network Comms Component
Network Communications component to use as the bridge to the TCP/IP network. 
BBC IP Address
IP Address linked to the following URL: weather-broker-cdn.api.bbci.co.uk 
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 
Receive Timeout
Maximum time to wait for valid incoming data. 
Connections
Simulations