使mqtt连接到ttn的小包

ttnmqtt的Python项目详细描述


Build Status

The Things Network

物联网

说明

这个软件包提供了一种连接到物联网的简单方法 通过MQTT。注意,首先需要创建一个应用程序 使用设备运行mqtt客户机的构造函数,因为您需要 提供一个应用程序ID和一个设备ID。首先包括包裹 在这样的文件中:

fromttnmqttimportMQTTClientasmqtt

mqttclient

可以按照此方案调用类构造函数:

mqtt(APPID,APPEUI,PSW)
  • APPID:这是创建应用程序时给应用程序的名称 它。
  • APPEUI:这是ttn上应用程序的唯一标识符。 站台。
  • PSW:可以在应用程序页底部的 访问键。以上所有信息都可以在您的 物联网控制台。构造函数返回mqttclient对象 设置您的应用程序信息,准备连接。

连接

将先前创建的客户机连接到事物网络mqtt 默认为经纪人。

client.connect([address],[port])
  • address:要连接到的mqtt代理的地址。 默认为eu.thethings.network
  • port:要连接的端口。默认为1883

断开

断开与我们调用该方法的mqtt客户机的连接。也能 停止永久循环,以防客户端在由启动的循环上运行 start()方法。

client.disconnect()

开始

启动一个循环作为流程的主循环。你就跑不动了 在这个脚本上同时做的任何事情。

client.start()

注意,为了接收上行链路,需要启动一个环路 信息。

启动后台

在后台为客户端启动循环,以便 在同一脚本中运行另一个进程(如web服务器)。

client.startBackground()

停止背景

停止以startBackground()方法开始的循环。它 同时断开客户端连接。

client.stopBackground()

setuplinkcallback

设置回调函数,当上行消息为 收到。

client.setUplinkCallback(uplinkCallback)

上行回调

回调函数必须在脚本中声明 结构:*uplinkCallback(msg, client)*msg:消息 由客户端*client接收:回调来自的客户端 被执行时正在调用

在每次接收消息时,您都应该在 控制台,将执行回调。

设置连接行为

按照paho mqtt standart更改connect回调函数。

client.setConnectBehavior(custom_function)
  • custom_function(client, userdata, flags, rc):函数 将是MQTT客户机的新连接行为。
  • client:调用回调的mqtt客户机。
  • userdata:用户的数据。默认为''
  • flags:连接标志
  • rc:connect方法的结果。0如果连接 成功。

单击here了解更多信息 关于paho mqtt包的信息。

setPublishCallback

按照paho mqtt standart设置发布回调函数。

client.setPublishCallback(publishCallback)

发布回调

  • publishCallback(mid, client):将是新的 MQTT客户机的发布行为。
  • mid:它与发布调用返回的mid变量匹配 允许跟踪已发送的邮件。
  • client:我们从中打回电话。

发布

将消息发布到MQTT代理。

client.publish(deviceID,message)
  • deviceID:要向其发送消息的设备的ID。
  • message:要发布到代理的消息。信息 发送给ttn代理的需要是一个字符串,并且可以跟踪 这个例子(它不是强制性的,但它们主要是基于这个 格式): json  {"port": 1, "confirmed": false, "payload_raw": "AA=="}这个 消息将向您的设备发送有效负载00。

许可证

物联网的源代码是在麻省理工学院的许可下发布的, 可以在LICENSE文件中找到。作者名单 可以在AUTHORS文件中找到。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在导航抽屉中显示图像   DDD中的java聚合对象   java如何在登录后隐藏主活动上的项目?   java如何知道MouseWheelListener是否可以接收事件?   java地图中未显示新标记   Z3Java绑定是否具有与python相同的get_vars()API?   java重置或清除Lucene索引   Java骑士之旅代码   集合Java类树集合中的Java方法headSet和tailSet在日志(N)时间内工作吗?   java从SpringWeb服务获取Jetty实例   java需要在jira中将jsp文件更改为vm文件   创建对象时发生java IllegalMonitorStateException   java SnakeYaml从字符串第一行转储   使用java在文件中逐个使用for循环写入行