如何将气象站数据存储到 Toit 指标中?

How can I store a weather station data into a Toit metric?

我已成功关注 the tutorial to build the weather station. However, I now want to store the collected data in a metric subscription. Aside the fact that I am failing to create a subscription,假设我有一个 temperature 指标订阅,我如何将数据存储在那里?

换句话说,我想将 $bme.read_temperature 存储到 temperature 指标中,以便我可以用 toit data read metrics temperature

读取它

提前致谢,

最好的方法是使用 pubsub。 要将温度发布到 pubsub 主题,请执行以下操作:

import pubsub
import encoding.json
import gpio
import i2c
import drivers.bme280 as drivers

main:
  bus := i2c.Bus
    --sda=gpio.Pin 21
    --scl=gpio.Pin 22

  device := bus.device drivers.I2C_ADDRESS_ALT

  bme := drivers.Bme280 device

  bme.on

  tmp := bme.read_temperature
  pubsub.publish "cloud:temperature" 
    json.encode {"t": tmp}

要使用 CLI 读取数据,首先您必须创建一个订阅:

toit pubsub subscription create cloud:temperature my-temp-sub

接下来,运行 应用程序代码并尝试使用以下命令从 CLI 读取温度:

toit pubsub read cloud:temperature my-temp-sub

获取有关 pubsub 结帐的更多信息https://docs.toit.io/platform/tutorials/pubsub/pubsubext