API

adafruit_io

用于与 Adafruit IO 通信的 CircuitPython 库。

  • 作者(S): Adafruit Industries 的 Brent Rubell

实施说明

软件和依赖:

class adafruit_io.adafruit_io.IO_HTTP(adafruit_io_username, adafruit_io_key, requests)

用于与 Adafruit IO HTTP API 交互的客户端。 https://io.adafruit.com/api/docs/#adafruit-io-http-api

参数 str adafruit_io_username:
 Adafruit IO 用户名
参数 str adafruit_io_key:
 Adafruit IO 密钥
参数请求:一个通过的 adafruit_requests 模块。
add_feed_to_group(group_key, feed_key)

将现有提要添加到组 :param str group_key: 组 :param str feed_key: 要添加到组的提要

create_feed_in_group(group_key, feed_name)

在现有组中创建新提要。:param str group_key: 组名。:param str feed_name: 新提要的名称。

create_new_feed(feed_key, feed_desc=None, feed_license=None)

创建一个新的 Adafruit IO 提要。:param str feed_key: Adafruit IO Feed Key :param str feed_desc: feed 的可选描述 :param str feed_license: 可选的 feed 许可证

create_new_group(group_key, group_description)

创建一个新的 Adafruit IO 组。:param str group_key: Adafruit IO Group Key :param str group_description: 关于该组的简要总结

delete_data(feed_key, data_id)

从提要中删除现有数据点。:param string feed: Adafruit IO feed key :param string data_id: 要从 feed 中删除的数据点

delete_feed(feed_key)

删除现有提要。:param str feed_key: 有效的提要键

delete_group(group_key)

删除现有组。:param str group_key: Adafruit IO 组密钥

get_feed(feed_key, detailed=False)

根据提要键返回 Adafruit IO 提要 :param str feed_key: Adafruit IO Feed Key :param bool 详细信息:返回更详细的提要记录

get_group(group_key)

根据 Group Key 返回 Group :param str group_key: Adafruit IO Group Key

receive_all_data(feed_key)

从指定的 Adafruit IO 提要获取所有数据值。数据以相反的顺序返回。:param str feed_key: Adafruit IO feed 键

receive_data(feed_key)

返回指定提要的最新值。:param string feed_key: Adafruit IO feed 键

receive_random_data(generator_id)

从 Adafruit IO 随机数据流服务中获取数据 :param int generator_id: Specified randomizer record

receive_time()

根据设备的 IP 地址从 Adafruit IO 服务器返回一个 struct_time。 https://circuitpython.readthedocs.io/en/latest/shared-bindings/time/__init__.html#time.struct_time

receive_weather(weather_id)

从 Adafruit IO Weather Forecast Service 获取数据 注意:此服务仅适用于 Adafruit IO Plus 订阅者。:param int weather_id: 检索指定天气记录的 ID。

send_batch_data(feed_key, data_list)

将一批数据数组发送到指定的 Adafruit IO feed :param str feed_key: Adafruit IO feed key :param list Data: 要发送的数据列表

send_data(feed_key, data, metadata=None, precision=None)

将值数据发送到指定的 Adafruit IO 提要。:param str feed_key: Adafruit IO feed key :param str data: 发送到 Adafruit IO feed 的数据 :param dict metadata: 与数据关联的可选元数据 :param int precision: 与浮点数据一起发送的可选精度点数

class adafruit_io.adafruit_io.IO_MQTT(mqtt_client)

用于与 Adafruit IO MQTT API 交互的客户端。 https://io.adafruit.com/api/docs/mqtt.html#adafruit-io-mqtt-api

参数:mqtt_client (MiniMQTT) – MiniMQTT 客户端对象。
add_feed_callback(feed_key, callback_method)

将 callback_method 附加到 Adafruit IO 提要。callback_method 函数在新值写入提要时调用。

注意:注册到这个方法的 callback_method 只会在 loop() 期间执行。:param str feed_key: Adafruit IO feed 键。:param str callback_method:回调方法的名称。

connect()

连接到 Adafruit IO MQTT Broker。必须在调用任何其他 API 方法之前调用。

disconnect()

与 Adafruit IO MQTT Broker 断开连接。

get(feed_key)

调用此方法将使 Adafruit IO 在 feed_key 上发布最新值。 https://io.adafruit.com/api/docs/mqtt.html#retained-values :param str feed_key: Adafruit IO Feed key.

在提要上获取最近发布的值的示例:..code-block::python

io.get(‘temperature’)
is_connected

如果连接到 Adafruit IO MQTT Broker,则返回。

loop(timeout=1)

手动处理来自 Adafruit IO 的消息。调用此方法来检查传入的订阅消息。:param int timeout: 套接字超时,以秒为单位。

使用循环轮询消息队列的示例用法。

..代码块:: python

while True:
io.loop()
publish(feed_key, data, metadata=None, shared_user=None, is_group=False)

发布到 An Adafruit IO Feed。

参数:
  • feed_key (str) – Adafruit IO Feed 键。
  • data (float) – 要发布到提要或组的数据。
  • data – 要发布到提要或组的数据。
  • data – 要发布到提要或组的数据。
  • metadata (str) – 与数据关联的可选元数据。
  • shared_user (str) – Adafruit IO 提要的所有者,提要共享需要。
  • is_group (bool) – 如果发布到 Adafruit IO 组,则设置为 True。

在提要“温度”上向 Adafruit IO 发布整数的示例。..代码块:: python

client.publish('温度', 30)

发布浮点值以输入“温度”的示例。..代码块:: python

client.publish('温度', 3.14)

发布字符串以提供“温度”的示例。..代码块:: python

client.publish('温度,'三十度')

将整数发布到“weatherstation”组的示例。..代码块:: python

client.publish(‘weatherstation’, 12, is_group=True)

发布到共享提要的示例。..代码块:: python

client.publish(‘temperature’, shared_user=’myfriend’)

将值与位置元数据一起发布到提要的示例。..代码块:: python

data = 42 # format: “lat, lon, ele” metadata = “40.726190, -74.005334, -6” io.publish(“location-feed”, data, metadata)
publish_multiple(feeds_and_data, timeout=3, is_group=False)

使用可变超时将多个数据点发布到多个提要或组。

参数:
  • feeds_and_data (str) – 包含主题字符串和数据值的元组列表。
  • timeout (int) – 将数据点发布到 Adafruit IO 之间的延迟,以秒为单位。
  • is_group (bool) – 如果您要发布到组,则设置为 True。

将不同提要上的多个数据点发布到 Adafruit IO 的示例:..code-block::python

client.publish_multiple([('湿度', 24.5), ('温度', 54)])
reconnect()

尝试重新连接到 Adafruit IO MQTT Broker。

remove_feed_callback(feed_key)

每当 feed_key 接收到新数据时,就不再执行先前注册的回调方法。

调用此方法后,传入消息调用共享的 on_message。:param str feed_key: Adafruit IO feed 键。

subscribe(feed_key=None, group_key=None, shared_user=None)

订阅您的 Adafruit IO 提要或群组。也可以订阅别人的提要。:param str feed_key: Adafruit IO Feed 键。:param str group_key:Adafruit IO 组密钥。:param str shared_user:Adafruit IO 提要的所有者,共享提要需要。

订阅名为“温度”的 Adafruit IO Feed 的示例。

client.subscribe('temperature')

订阅两个 Adafruit IO 提要的示例:“温度”和“湿度”。

client.subscribe([('temperature'), ('humidity')])
subscribe_to_errors()

订阅您的个人 Adafruit IO /errors 主题。通知您与发布/订阅调用相关的错误。

subscribe_to_randomizer(randomizer_id)

订阅由 Adafruit IO Words 服务创建的随机数据流。:param int randomizer_id:您想要数据的随机单词记录。

subscribe_to_throttling()

订阅您的个人 Adafruit IO /throttle 主题。 https://io.adafruit.com/api/docs/mqtt.html#mqtt-api-rate-limiting

subscribe_to_time(time_type)

Adafruit IO 提供了一些内置的 MQTT 主题来获取当前服务器时间。:param str time_type: 当前 Adafruit IO 服务器时间。可以是“秒”、“毫秒”或“iso”。有关这些主题的信息可以在 Adafruit IO MQTT API 文档中找到: https://io.adafruit.com/api/docs/mqtt.html#time-topics

subscribe_to_weather(weather_record, forecast)

使用 Adafruit IO PLUS 天气服务订阅天气预报。此功能仅适用于 Adafruit IO PLUS 订阅者。:param int weather_record: 你想要数据的天气记录。:param str 预测:您想要接收的预测数据。

unsubscribe(feed_key=None, group_key=None, shared_user=None)

取消订阅 Adafruit IO 提要或群组。也可以订阅别人的提要。:param str feed_key: Adafruit IO Feed 键。:param str group_key:Adafruit IO 组密钥。:param str shared_user:Adafruit IO 提要的所有者,共享提要需要。

取消订阅订阅源的示例。

client.unsubscribe('temperature')

取消订阅两个提要的示例:“温度”和“湿度”

client.unsubscribe([('temperature'), ('humidity')])

取消订阅共享提要的示例。

client.unsubscribe('temperature', shared_user='adabot')
adafruit_io.adafruit_io.validate_feed_key(feed_key)

根据 Adafruit IO 的系统规则验证提供的提要密钥。 https://learn.adafruit.com/naming-things-in-adafruit-io/the-two-feed-identifiers