coap协议获取方法使用python

时间:2018-11-05 14:07:12

标签: python protocols iot coap

我正在尝试使用coap运行应用程序,但是我是新手。我正在使用python coapthon3库。但是我想使用编码路径从库中获取有效载荷。但是我做不到。我的客户代码如下。 谢谢

from coapthon.client.helperclient import HelperClient

host = "127.0.0.1"
port = 5683
path = "encoding"
payload = 'text/plain'

client = HelperClient(server=(host, port))
response = client.get(path + 'application/xml' + '<value>"+str(payload)+"</value>')
client.stop()

1 个答案:

答案 0 :(得分:1)

不,您不应将所有内容都连接到路径。

不幸的是, HelperClient#get 不能提供指定有效负载的功能,但根据CoAP规范这是合法的。

因此,您需要创建一个请求并填写所有必填字段,并使用 send_request 方法。

我想我的代码段不是那种Python风格,所以请多多包涵。

from coapthon.client.helperclient import HelperClient
from coapthon.messages.request import Request
from coapthon import defines

host = "127.0.0.1"
port = 5683
path = "encoding"
payload = 'text/plain'

client = HelperClient(server=(host, port))

request = Request()
request.code = defines.Codes.GET.number
request.type = defines.Types['NON']
request.destination = (host, port)
request.uri_path = path
request.content_type = defines.Content_types["application/xml"]
request.payload = '<value>"+str(payload)+"</value>'
response = client.send_request(request)

client.stop()