阿⾥云物联⽹笔记(⼀)PythonSDK接⼊⽰例
— 我们将不断遇到问题,我们终将解决问题 —
最近想⽤⼀下物联⽹,使⽤的是阿⾥云。道路崎岖曲折,只能使⽤ + 个⼈理解 的模式进⾏开发。现在有⼀个树莓派(安装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
这⾥就⽐较崎岖了~~
1. ⽹页端:在图中,点击 Qpid Proton 0.29.0 链接,进⼊后把⿏标放在qpid_proton-0.29.
上,点击右键,选择复制此链接地址(A) 如下:
2. 在树莓派中,使⽤wget 下载,后⾯其实就是刚刚复制的路径。新建⽬录及下载如下,可见得到了⼀个 qpid-proton-0.29. 的
压缩包。
$ wget "/dist/qpid/proton/0.29.0/qpid-proton-0.29."
3. 解压。Linux对不同种类的压缩包需要不同的种类,详见,此处为 . 类⽂件,使⽤的指令是 tar zxvf ,因此输
⼊以下指令会得到解压⽂件夹 qpid-proton-0.29.0:
$ tar zxvf qpid-proton-0.29.
4. 重新回到教程,点击 Installing Qpid Proton 链接,进⼊以下 github ⽹页。不要怕,只不过是英语⽽
sdk已,我们慢慢读。。。这个⽂
档其实就是在教我们怎样⼀步步安装。
⾸先树莓派上安装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
5. 接着往下,⽂档说 “到 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、代码测试
1. 新建⽂件,起个名字就叫 test_sdk.py ,把官⽹教程的 代码⽰例 copy进去,然后根据提⽰ AMQP客户端接⼊说明 修改各个参数。
值得注意的是:${ } 是不⽤的,例如要把 ${YourAccessKeyID} 全部⼀起替换成你的 AccessKeyID !
clientId ⼀项不到,实际是以前版本遗留的参数,不⽤管 ,其他的都有的 !
2. 保存修改后的⽂件,然后运⾏⽂件即可
$ python test_sdk.py
路漫漫其修远兮 吾将上下⽽求索
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论