第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > 阿里云物联网笔记(一)Python SDK接入示例

阿里云物联网笔记(一)Python SDK接入示例

时间:2020-08-08 14:11:15

相关推荐

阿里云物联网笔记(一)Python SDK接入示例

— 我们将不断遇到问题,我们终将解决问题 —

最近想用一下物联网,使用的是阿里云。道路崎岖曲折,只能使用 官网教程 + 个人理解 的模式进行开发。现在有一个树莓派(安装Ubuntu 16.04),想要让树莓派采集数据(实际为速度),然后将数据传输到物联网平台。先不管采集如何实现,能够控制数据传输再说。

一路向前,走到了Python SDK接入示例,开始吧 ------

1、准备工作

AMQP(Advanced Message Queuing

Protocol,高级消息队列协议):暂时不必很深入,只要知道AMQP是一个传输数据的协议,它能做的也不过就是把我们要传输的数据打个包,加个头部尾部这些。SDK(Software Development Kit,软件开发工具包):简单理解,相当于给了我们一个库,里面已经实现了功能,给出接口给我们。比如这里我们就用到AMQP 的Python SDK,意思就是用 Python 实现的 AMQP 协议库。Qpid Protton 就是这样一个库。登陆树莓派。如果树莓派自己有鼠标键盘显示屏三件套的话,打开终端直接上就行了,没有的话,当然是远程登陆(此处采用)。然后把树莓派切换到想要的目录,此处新建 /iot 目录。

2、下载SDK

这里就比较崎岖了~~

网页端:在图中,点击 Qpid Proton 0.29.0 链接,进入后把鼠标放在qpid_proton-0.29.0.tar.gz

上,点击右键,选择复制此链接地址(A) 如下: 在树莓派中,使用wget 下载,后面其实就是刚刚复制的路径。新建目录及下载如下,可见得到了一个 qpid-proton-0.29.0.tar.gz 的压缩包。

$ wget "/dist/qpid/proton/0.29.0/qpid-proton-0.29.0.tar.gz"

解压。Linux对不同种类的压缩包需要不同的种类,详见Linux下解压命令大全,此处为 .tar.gz 类文件,使用的指令是 tar zxvf fileName.tar.gz ,因此输入以下指令会得到解压文件夹 qpid-proton-0.29.0:

$ tar zxvf qpid-proton-0.29.0.tar.gz

重新回到教程,点击 Installing Qpid Proton 链接,进入以下 github 网页。不要怕,只不过是英语而已,我们慢慢读。。。这个文档其实就是在教我们怎样一步步安装。

首先树莓派上安装Ubuntu,所以找到文中Ubuntu部分。

然后依次执行这几句指令,如果说要 root 权限,在前面加入 sudo即可,我加了sudo 一起顺利通过,这里重写一下,顺便翻译下英语。

# 需要的依赖$ sudo apt-get install gcc g++ cmake cmake-curses-gui uuid-dev# 支持 SSL 所需要的依赖(Secure Sockets Layer,安全套接层,一个网络传输时提供安全和数据完整性的协议$ sudo apt-get install libssl-dev# 支持 Cyrus SASL 所需的依赖(Simple Authentication and Security Layer,简单认证和安全层)$ sudo apt-get install libsasl2-2 libsasl2-dev libsasl2-modules# 支持绑定所需要的依赖$ sudo apt-get install swig python-dev ruby-dev# python docs 所需依赖$ sudo apt-get install python-sphinx

接着往下,文档说 “找到 INSTALL.md 文件所在的目录”,然后新建文件夹 build 。先不管其他的,找到 INSTALL.md 再说。

但是,这个文件在哪里呢?在安装软件的目录下吗?但是安装了那么多个包啊!找了好久好久,冥思苦想,还是找不到。突然悟道:应该在刚才解压的文件夹里!!!赶快进去看看吧,果然在这儿。

$ ls$ cd qpid-proton-0.29.0/$ ls

好的,按部就班,一句句输入指令教程指令即可

$ mkdir build$ cd build# 设置安装路径,你可能需要根据系统调整$ cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DSYSINSTALL_BINDINGS=ON# 如果你不想编译和安装文档,可以忽略 docs 目标$ make all docs# 注意,这句需要使用 root 权限$ sudo make install

OK,接下来是一个稍微漫长的过程。我们借此时间想想上面这几句指令做了什么。其实,就是一个编译过程啊,不过准确说,是编译库的过程,接下来可以直接写文件这些,可以运行,不再需要这个编译了。

结束之后,进入python,输入官网教程的两句指令测试一下。不出意外的话一切正常。

$ python$ import proton;$ print('%s' % 'SSL present' if proton.SSL.present() else 'SSL NOT AVAILABLE')

3、代码测试

新建文件,起个名字就叫 test_sdk.py ,把官网教程的代码示例copy进去,然后根据提示 AMQP客户端接入说明 修改各个参数。

值得注意的是:

${ } 是不用的,例如要把 ${YourAccessKeyID} 全部一起替换成你的 AccessKeyID !clientId 一项找不到,实际是以前版本遗留的参数,不用管 ,其他的都有的 !

保存修改后的文件,然后运行文件即可

$ python test_sdk.py

路漫漫其修远兮 吾将上下而求索

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。