API¶
adafruit_io
¶
用于与 Adafruit IO 通信的 CircuitPython 库。
- 作者(S): Adafruit Industries 的 Brent Rubell
实施说明¶
软件和依赖:
- 支持的电路板的 Adafruit CircuitPython 固件:
- https://github.com/adafruit/circuitpython/releases
-
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。
参数: 在提要“温度”上向 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)¶ 使用可变超时将多个数据点发布到多个提要或组。
参数: 将不同提要上的多个数据点发布到 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