cayenne_lpp v0.1.0 Cayenne.LPP.Payload View Source

This module is used to build a Cayenne LPP payload, which can be used to send it via a LoRa node to a LoRa Gateway

Example

alias Cayenne.LPP.Payload
alias Cayenne.LPP.Type.{Temperature, RelativeHumidity}

payload =
  Payload.new()
  |> Payload.add(1, Temperature.new(28.3))
  |> Payload.add(2, RelativeHumidity.new(40.5))

# Payload as String: "0167011B02680195"
payload
|> Payload.to_string()
|> IO.inspect(label: "Payload as String")

# Payload size (in bytes): 8
payload
|> Payload.size()
|> IO.inspect(label: "Payload size (in bytes)")

Link to this section Summary

Link to this section Types

Link to this type

fragment()

View Source
fragment() :: {channel(), type()}
Link to this type

t()

View Source
t() :: %Cayenne.LPP.Payload{fragments: [fragment()]}

Link to this section Functions

Link to this function

add(payload, channel, type)

View Source
add(t(), channel(), type()) :: t()
Link to this function

to_buffer(payload)

View Source
to_buffer(t()) :: Cayenne.LPP.Buffer.t()
Link to this function

to_string(payload)

View Source
to_string(t()) :: String.t()