云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

文件存储_百度云加好友_试用

小七 141 0

今天,一篇快速阅读的文章,因为这个主题刚刚越过我的道路,是一种计划外的:你可能已经知道,MQTT是一个伟大的协议,从边缘计算设备到网关,从传感器提交小块的信息,演员等。

你会发现很好的文章已经有了这个主题!然而,当我开始编写代码并想从Python连接到SCP IoT时,现实与我在学习书籍时所期望的是不同的?

所以我想为那些计划用paho mqtt包编写Python客户机的人节省一些时间!

这个博客是关于云铸造物联网(不是Neo!)我建议进一步了解的帮助文档如下:

SAP物联网网关:MQTT

关于在驾驶舱中设置功能、传感器和设备,淘客pid,还有一个很好的教程:

SAP开发人员教程:使用MQTT发送数据

请先阅读这些,因为我将只讨论(棘手的)身份验证和Python部分。

SAP的IoT框架需要证书身份验证(对于那些对如何在SAP Netweaver ABAP世界中使用它感兴趣的人,您可以查看我最近的博客)。

对于我们的情况,我们想下载平台以PEM格式生成的设备证书。您可以从这里获得:

物联网驾驶舱:设备证书生成

您现在将获得一个.pem格式的证书以及一个弹出窗口,其中包含一个证书机密,您需要将其存储在某个地方(暂时)。如果你丢失了它,你必须创建另一个证书(你可以根据需要经常这样做)。

物联网驾驶舱:证书秘密

你可能会问:我需要它做什么,为什么我要得到一个"秘密"?sapiot框架提供的PEM文件包含两条信息:

现在有一个问题:私钥应该受到保护,以防丢失。在拥有密钥的情况下,任何其他设备都可以克隆通信,大数据是啥意思,并将针对服务器进行身份验证。因此,SAP对.pem文件中的私钥进行加密,并且需要密码短语(aka:secret)来解锁密钥。

我们的问题是:Python MQTT客户机会随时向我们请求它启动的密钥。而且它不能被输入程序本身(好吧,我只是数据,这是一个安全特性,对吧?)。事实是,我们很可能想要摆脱密码短语,并接受我们必须保护.pem文件?

您需要为此安装OpenSSL–这需要三个步骤。首先我们将私钥提取到一个单独的文件中,并删除密码保护。

然后在第二步,我们将公共证书提取到一个新文件中。

最后,我们可以将两个单独的文件合并为一个。

瞧!我们为我们的Python客户机提供了一个免密码的文件。

客户机本身几乎是不言自明的,好评返现,我们需要用设备的备用ID来实例化它,这可能有点特殊:

当然,我们使用了我们的新证书。

我们研究了用Python构建一个MQTT客户机,它可以与互联网的SAP云平台进行通信东西。请注意,安装程序需要导入ssl包。

可能还值得一提的是,paho mqtt包没有启用多处理。这意味着您的代码必须小心地管理要发送的消息量。有一些人用每一个进程启动了一个新的客户机。

如果您对如何处理多进程(不是线程)有任何建议或经验,请告诉我。期待您的反馈?

,好评返现图片