v2.15.0
Pre-release
Pre-release
Significant Changes
Edge Services
With this release, uplink can also works as a platform for multiple apps running on the same device to communicate with each other, performing computation that would otherwise have to be performed in the cloud. This is supported by the following two feature additions:
- On device bus supporting micro-services on the edge architecture.
- Joins on data streams now allows configuring de-sampling and joining of data from different streams as received on bus before being pushed to the cloud.
Both of these features can be enabled and configured by adding the following to the config.toml:
[bus]
port = 1883
console_port = 3030
joins = { output_streams = [
{ name = "location", construct_from = [
{ input_stream = "gps", select_fields = [
"latitude",
"longitude",
] },
{ input_stream = "altimeter", select_fields = [
"altitude",
] },
], push_interval_s = 60, no_data_action = "null", publish_on_service_bus = true },
{ name = "device_shadow", construct_from = [
{ input_stream = "device_shadow", select_fields = "all" },
], push_interval_s = "on_new_data", no_data_action = "previous_value", publish_on_service_bus = true },
{ name = "example", construct_from = [
{ input_stream = "stream_one", select_fields = [
"field_x",
"field_y",
] },
{ input_stream = "stream_two", select_fields = [
{ "field_z" = "field_x" },
] },
], push_interval_s = 120, no_data_action = "previous_value", publish_on_service_bus = false },
] }
- Support for remotely updating uplink config with an
update_uplink_config
action.
What's Changed
- feat: support json uplink configs by @de-sh in #355
- feat:
update_uplink_config
by @de-sh in #357 - feat: on-device bus with
rumqttd
and data joiner on uplink by @de-sh in #348
Full Changelog: v2.14.1...v2.15.0