Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我可以将CoAPthon(Python的CoAP)连接到节点CoAP(nodejs的CoAP)吗?_Python_Node.js_Raspberry Pi3_Iot_Coap - Fatal编程技术网

我可以将CoAPthon(Python的CoAP)连接到节点CoAP(nodejs的CoAP)吗?

我可以将CoAPthon(Python的CoAP)连接到节点CoAP(nodejs的CoAP)吗?,python,node.js,raspberry-pi3,iot,coap,Python,Node.js,Raspberry Pi3,Iot,Coap,我正在进行一个raspberry pi项目,在该项目中我运行python脚本,我想将该脚本中的传感器数据发送到我的nodejs服务器。我正在尝试用python脚本将CoAP服务器连接到节点服务器上的客户端。使用的库是python中的CoAPthon和nodejs中的NodeCoAP。当我尝试连接协同服务器时,服务器说编码错误,对此有解决方案吗??? 错误:“utf-8”编解码器无法解码位置3中的字节0xbd:无效的开始字节”。 CoAPthon服务器的python版本如下所示 #CoAPServ

我正在进行一个raspberry pi项目,在该项目中我运行python脚本,我想将该脚本中的传感器数据发送到我的nodejs服务器。我正在尝试用python脚本将CoAP服务器连接到节点服务器上的客户端。使用的库是python中的CoAPthon和nodejs中的NodeCoAP。当我尝试连接协同服务器时,服务器说编码错误,对此有解决方案吗??? 错误:“utf-8”编解码器无法解码位置3中的字节0xbd:无效的开始字节”。
CoAPthon服务器的python版本如下所示

#CoAPServer.py
from coapthon.server.coap import CoAP
from coapthon.resources.resource import Resource
gotin=1
class sensor(Resource):
    def __init__(self, name="sensor", coap_server=None):
        super(sensor, self).__init__(name, coap_server, visible=True,observable=True, allow_children=True)
        self.payload = str(gotin)
        self.content_type = "text/plain"
    def render_GET(self, request):
        return self
class CoAPServer(CoAP):
    def __init__(self, host, port):
        CoAP.__init__(self, (host, port))
        self.add_resource('/sensor', sensor())
def main():
    server = CoAPServer("0.0.0.0", 5682)
    try:
        server.listen(10)
    except KeyboardInterrupt:
        print("Server Shutdown")
        server.close()
if __name__ == '__main__':
    main()
nodejs-CoAP客户端如下所示

#CoAPServer.py
from coapthon.server.coap import CoAP
from coapthon.resources.resource import Resource
gotin=1
class sensor(Resource):
    def __init__(self, name="sensor", coap_server=None):
        super(sensor, self).__init__(name, coap_server, visible=True,observable=True, allow_children=True)
        self.payload = str(gotin)
        self.content_type = "text/plain"
    def render_GET(self, request):
        return self
class CoAPServer(CoAP):
    def __init__(self, host, port):
        CoAP.__init__(self, (host, port))
        self.add_resource('/sensor', sensor())
def main():
    server = CoAPServer("0.0.0.0", 5682)
    try:
        server.listen(10)
    except KeyboardInterrupt:
        print("Server Shutdown")
        server.close()
if __name__ == '__main__':
    main()
//app.js
const express=要求(“express”);
常量app=express();
常量路径=要求(“路径”);
const port=process.env.port | 3000;
app.use(express.static(path.join(u dirname,“public”));
var coap=要求(“coap”);
var数据包=要求(“coap数据包”);
var req=coap.request({
主持人:“127.0.0.1”,
路径名:'/sensor',
港口:5682,
方法:“获取”
})
var有效载荷={
用户:“ash”
}
请求写入(JSON.stringify(有效负载));
setOption('Content-Format','text/plain');
控制台日志(req);
请求开启(“响应”,功能(res){
console.log('响应代码',恢复代码);
物料管道(工艺标准)
});
请求结束();
应用程序侦听(端口,()=>{

log(`尝试使用wireshark查看实际发送的内容。如果coap使用5683(标准)可能更容易,但wireshark知道这一点。