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


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


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


1、准备工作

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

2、下载SDK

这里就比较崎岖了~~

  1. 网页端:在图中,点击 Qpid Proton 0.29.0 链接,进入后把鼠标放在qpid_proton-0.29.0.tar.gz
    上,点击右键,选择复制此链接地址(A) 如下:

Qpid下载

  1. 在树莓派中,使用wget 下载,后面其实就是刚刚复制的路径。新建目录及下载如下,可见得到了一个 qpid-proton-0.29.0.tar.gz 的压缩包。
$ wget "http://archive.apache.org/dist/qpid/proton/0.29.0/qpid-proton-0.29.0.tar.gz"

新建目录与下载

  1. 解压。Linux对不同种类的压缩包需要不同的种类,详见Linux下解压命令大全,此处为 .tar.gz 类文件,使用的指令是 tar zxvf fileName.tar.gz ,因此输入以下指令会得到解压文件夹 qpid-proton-0.29.0:
$ tar zxvf qpid-proton-0.29.0.tar.gz
  1. 重新回到教程,点击 Installing Qpid Proton 链接,进入以下 github 网页。不要怕,只不过是英语而已,我们慢慢读。。。这个文档其实就是在教我们怎样一步步安装。
    首先树莓派上安装Ubuntu,所以找到文中Ubuntu部分。
    Qpid安装

    然后依次执行这几句指令,如果说要 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
  1. 接着往下,文档说 “找到 INSTALL.md 文件所在的目录”,然后新建文件夹 build 。先不管其他的,找到 INSTALL.md 再说。

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

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

Qpid查看解压
好的,按部就班,一句句输入指令教程指令即可

$ 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、代码测试

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

提示值得注意的是:

  • ${ } 是不用的,例如要把 ${YourAccessKeyID} 全部一起替换成你的 AccessKeyID !
  • clientId 一项找不到,实际是以前版本遗留的参数,不用管 ,其他的都有的 !
    需要修改的iot参数
  1. 保存修改后的文件,然后运行文件即可
$ python test_sdk.py

测试


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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大强强小强强

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值