Python SDK接入阿里云物联网平台

Python SDK接入阿里云物联网平台

Python语言的AMQP SQK,推荐使用Qpid Proton

1. linux上下载qpid Proton

#下载文件
sudo wget http://archive.apache.org/dist/qpid/proton/0.29.0/qpid-proton-0.29.0.tar.gz
#解压文件
sudo tar zxvf qpid-proton-0.29.0.tar.gz

2. 安装Proton
你需要以root身份执行此命令
切换到root用户权限
切换回个人用户权限

sudo passwd root
su
exit

ubuntu系统上安装installing

# Required dependencies 
$ apt-get install gcc g++ cmake cmake-curses-gui uuid-dev

# Dependencies needed for SSL support
$ apt-get install libssl-dev

# dependencies needed for Cyrus SASL support
$ apt-get install libsasl2-2 libsasl2-dev libsasl2-modules

# dependencies needed for bindings
$ apt-get install swig python-dev ruby-dev

# dependencies needed for python docs
$ apt-get install python-sphinx

在qpid-proton-0.29.0安装文件夹下进行操作

$ mkdir build
$ cd build

# Set the install prefix. You may need to adjust it depending on your
# system.进入root执行
$ cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DSYSINSTALL_BINDINGS=ON

# Omit the docs target if you do not wish to build or install
# documentation.
$ make all docs

# Note that this step will require root privileges.
$ make install

安装完成后,install_manifest.txt文件中列出了所有已安装的文件。此文件的内容可用于卸载。

安装proton的库

pip3 install python-qpid-proton

安装完成后,通过以下Python命令查看SSL库是否安装成功

import proton;print('%s' % 'SSL present' if proton.SSL.present() else 'SSL NOT AVAILABLE')
  1. 运行官方Python SDK demo阿里云AMQP
    1.iotInstanceId=“”如果没有购买,则空
    2要把 ${YourAccessKeyID} 全部一起替换成你的 AccessKeyID
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在Python中实现接入阿里云物联网平台的发布订阅功能,你需要进行以下几个步骤: 1. 创建阿里云账号并开通物联网平台服务。 2. 使用阿里云物联网平台SDK,安装aliyun-python-sdk-iot模块。 3. 获取阿里云账号的AccessKey ID和AccessKey Secret,并创建IoT客户端。 4. 创建Topic和订阅。 下面是Python代码示例: ```python from aliyunsdkcore.client import AcsClient from aliyunsdkcore.auth.credentials import AccessKeyCredential from aliyunsdkiot.request.v20180120 import * # 阿里云账号的AccessKey ID和AccessKey Secret access_key_id = 'your_access_key_id' access_key_secret = 'your_access_key_secret' # 创建IoT客户端 cred = AccessKeyCredential(access_key_id, access_key_secret) client = AcsClient("", "", "cn-shanghai", credential=cred) # 创建Topic和订阅 product_key = 'your_product_key' topic_short_name = 'test_topic' request = CreateTopicRequest.CreateTopicRequest() request.set_ProductKey(product_key) request.set_TopicShortName(topic_short_name) client.do_action_with_exception(request) request = CreateSubscribeRelationRequest.CreateSubscribeRelationRequest() request.set_ProductKey(product_key) request.set_TopicShortName(topic_short_name) request.set_DeviceName('your_device_name') client.do_action_with_exception(request) # 发布消息 request = PubRequest.PubRequest() request.set_ProductKey(product_key) request.set_TopicFullName('/{}/{}/{}'.format(product_key, topic_short_name, 'user')) request.set_MessageContent('Hello, World!') client.do_action_with_exception(request) # 接收消息 request = RRpcRequest.RRpcRequest() request.set_ProductKey(product_key) request.set_DeviceName('your_device_name') request.set_Topic('/{}/{}/{}'.format(product_key, topic_short_name, 'user/get')) request.set_MessageContent('Hello, World!') response = client.do_action_with_exception(request) print(response) ``` 其中,access_key_id和access_key_secret需要替换为你自己的阿里云账号的AccessKey ID和AccessKey Secret,product_key和topic_short_name可以根据自己的需求自定义,device_name需要替换为你自己的设备名称。在创建订阅时,需要将订阅关系建立在设备和Topic之间,这样设备才能接收到消息。在发布消息时,需要指定消息的Topic全名。在接收消息时,需要指定设备名称和Topic名称,然后发送一个RRpc请求,等待设备返回响应。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值