阿里云平台接入python版

这篇具有很好参考价值的文章主要介绍了阿里云平台接入python版。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

物联网基于python云平台的接入

1.设计目的

学习使用云平台记录收集设备数据反馈给用户端,实现物联网与云平台的连接,了解物联网与云平台的关系以及实现流程。

2.功能要求和关键问题

2.1 系统功能描述

1、设计一个图形用户界面,来实现文本数据或二进制数据(比如图像文件或者音频文件等)的双向传输。

2、将接受的数据展示在图形界面或打开。

3、登陆注册系统

2.2复杂工程问题分析

将本地与云平台相连,传输数据和接收数据。通过来自阿里的python第三方库linkkit进行连接。用base64库对接收数据进行编码转码以便传输,这里接收后要将字符串转变为字节流写出。

首次连接设备与云平台时无法正常接入,通过继承重构官方文档给的三方库函数,得以解决实现正常上传。根据官方帮助文档创建消费组订阅但是我将双向传输连接在一个设备的一个订阅中,连接造成冲突,云与设备一直重复上线下线操作,后来想到类似于QQ的登录顶号意识到需要走两条线路进行传输。

思考用户如何将接收到的数据展示在图形界面时,起初我的想法是直接将数据解码展示,但是展现的只是数据的文本信息,并不能将图片展示,所以创建了一个目录用于存放接收到的临时数据,每次连接阿里云都将重置该目录下的文件。且每次传输都会覆盖上次传输的数据。

3.系统整体框架设计

总体设计分为五大模块:PC端接收和发送、设备端发送与接收、登陆注册。

两端分别连接登陆窗口与收发系统,将云消息暂时存储在本地计算机以显示在图形界面或打开观看,并且在每下次连接时清空暂存信息。

4.模块的设计和实现

4.1 阿里云基础和设计

4.1.1 阿里云概述

阿里云物联网平台是一个集成了设备管理、数据安全通信和消息订阅等能力的一体化平台。向下支持连接海量设备,采集设备数据上云;向上提供云端API,服务端可通过调用云端API将指令下发至设备端,实现远程控制。

4.1.2 阿里云应用设计

在阿里云平台创建一个初始化产品,并赋予其四大功能如图1所示,后续开发皆需

阿里云连接python,阿里云,云计算

图 创建产品与定义功能

围绕展开。在此基础上,分别创建两个设备即对应PC端与设备端,以便后续可以进行相互传输如图2所示.

阿里云连接python,阿里云,云计算

图2 创建两个设备

在规则引擎中选择服务端订阅—>消费组列表—>创建两个消费组(依然是为了能够实现双向传输)—>订阅列表—>创建订阅(如图3-图5所示)
阿里云连接python,阿里云,云计算

图3 创建订阅

阿里云连接python,阿里云,云计算

图4 消费组信息

阿里云连接python,阿里云,云计算

图5 订阅产品信息

至此,阿里云平台设置暂时告一段落

4.2 PC端与设备端

两个端口实现数据相互传输,大致内容相同,只需连接不同的阿里云平台设备即可,所以此后内容主要以设备端开发详细讲解

4.2.1 PC端

即用户端,用户可以接收到设备发送的数据,并记录下来。

4.2.2 设备端

设备端即用户不可见端,向用户传取数据以便用户可以获知所需要的信息数据。

4.3 图形界面开发

4.3.1 登陆窗口界面

用户凭据用户注册信息,可以在数据库中找到对应的用户信息以便识别信息,并且为用户提供连通注册界面的按钮,以便存入用户身份方便下次使用。如图6所示

阿里云连接python,阿里云,云计算

图6 登录界面窗口

4.3.2 注册窗口界面

用户通过此界面可以向数据库发送创建信息,以获取拥有向PC端发送信息的权力,主要作用为连接数据库,从数据库中查找是否用户名冲突和写入用户身份信息的作用,如图7所示
阿里云连接python,阿里云,云计算

图7 注册界面

4.3.3 数据传输窗口界面

此界面即为我们本次开发的主要窗口界面,主要提供了连通阿里云物联网平台和向PC端发送信息选择功能与数据接收并展示在图形界面的功能如图8所示

阿里云连接python,阿里云,云计算

图8 传输数据窗口

PC发送数据,设备端收入并显示是如图9和10(打开音频播放软件)所示
阿里云连接python,阿里云,云计算

图9 接收传输的数据

阿里云连接python,阿里云,云计算

图10 接收音频

4.4 阿里云数据上传和保存

4.4.1 从设备端上传到云平台

分别通过界面中选择不同类型的数据上传到阿里云平台后,可在云平台中看到数据和PC端本地查看到暂时数据,如图11所示(视频因数据量过大,网速原因上传时间较长,容易造成卡顿,所以此处将接口关闭,如果想到改善方法取消注释即可连通此处接口)

阿里云连接python,阿里云,云计算

图11 阿里云平台接收信息

4.4.2 PC本地获取云平台信息

PC设备通过下载云平台数据判断文件类型,写入到本地磁盘后,并且在每下词连接阿里云时进行数据清空。如图12所示

阿里云连接python,阿里云,云计算

图12 本地暂存信息

5. 调试和运行结果

5.1碰到的问题和解决方案

起初,可以正常连接阿里云平台,但无法将数据如我们预期一般正常传输上去,通过改进判断方式,将字节流数据转为字符串。后续出现获取信息时字符串转字节流数据错误,对字节流进行了base64编码。

但与此同时出现新的问题,base64.b64decode解码只能对4的倍数的字节流进行编码,在外网中找到一个解决方案使用base64.urlsate_b64encode编码会自动进行填充“=”使字节流的长度为4的倍数。

5.2运行结果

PC和设备端分别打开登陆窗口界面完成登陆。

阿里云连接python,阿里云,云计算

图1左图为PC窗口,右图为设备窗口

(后续图片皆是如此)

阿里云连接python,阿里云,云计算

图2 注册窗口界面

阿里云连接python,阿里云,云计算

图3连接阿里云平台
阿里云连接python,阿里云,云计算

图4选择向PC发送的数据[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
阿里云连接python,阿里云,云计算

图5 PC端获取到的数据展示在图形界面中

6.心得体会

基于python的云平台的接入我是第一次接触,完全从零开始,在此之前并不了解云平台的概念,本次课设又恰巧收考试周影响,做的内容差强人意,但是基本实现了相互传输的功能。寒假在将其修改补进再深入了解一下这个概念。

本次课设的要点在于如何接入云平台,并且理解云平台的概念。运用云平台的传输方式和存储方式大大降低了硬盘的内容空间损耗,并且实现了物联网设备与用户的互通,将实时数据通过网络发送到PC用户端,可以更快的,更便捷的让用户不在时刻为某件事而担忧。物联网云平台强化设备与产品的概念。用户通过订阅和设备发布的形式进行数据交互。将数据上传后的开发便容易的多。

我一开始觉得这个课设并不会多难,但是当真正上手后发现对云平台的陌生使得本应该很快完成的我一误再误,从阅读官方文档到整合官方代码这一点事就耗费掉了我大约两天的时间(期间有考试和复习)。所以目前只实现了三种数据的传输,后续我会完善优化视频数据传输,增加一些输入与反馈功能。

大量的阅读他人的优秀代码对于改进自己的“垃圾堆”有的极其有效的帮助,并且一定要在书写代码时,时时刻刻保持良好习惯,我在此次开发过程中深受其害,只是一个小小的变量名使得我的传输数据和接收数据彻底混乱以致我不得不回退代码以及写完之后不得不进行重构函数。

不得不提一句图形界面的开发尽量避免使用tkinter吧,实在太难开发了……,踩到的坑是一个接一个。不过在此次开发中又新学到许多三方库的搭建和组合使用。

希望能看到这篇文章的同学吸取不良习惯的教训,提前培养好习惯。

7 . GitHub查看

https://github.com/ITApeDeHao/AlibabaCloudAccess文章来源地址https://www.toymoban.com/news/detail-782028.html

到了这里,关于阿里云平台接入python版的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 连接阿里云物联网平台

    阿里云物联网平台: link — ` pip3 install paho-mqtt 然后点击刚刚创建的产品,然后点击功能定义,点击草稿编辑,再点击自定义功能定义 然后输入你想要上传的信息的类型定义 设备信息是基于你刚刚定义的产品信息 点击进去后你点击右上角的查看,可以看到三元组 将上边的三元

    2024年02月12日
    浏览(48)
  • 使用mqtt连接阿里云物联网平台代码,云流转

    安装express .命令 npm install express 安装alibabacloud-iot-device-sdk 命令 npm install alibabacloud-iot-device-sdk. 使用云流转,实现两个设备的互通(云流转操作看之前的博客) 代码:

    2024年02月02日
    浏览(57)
  • esp8266(MQTT固件)通过at指令连接阿里云平台

    实验: esp8266 连接阿里云。 准备工作: esp8266 wifi模组 固件烧录工具 串口调试助手 阿里云账号及物联网设备申请 某宝随便买个,多的是: usb连接到电脑上之后,可以识别到串口,说明有固件。 由于新买的模组,芯片内的固件可能并不是我们想要的,此时可自行官网下载固

    2024年01月19日
    浏览(62)
  • 采用MQTT协议实现Android APP与阿里云平台的连接

    相信APP+单片机是很多同学毕设或者课设的模式,上学期做课设的时候用到了MQTT协议连接阿里云平台实现数据的通信,也是根据网上大佬的经验做的,中间也踩了很多坑。本文将介绍Android APP 通过MQTT协议与阿里云云平台连接的内容,希望对大家能有所帮助。 MQTT(Message Que

    2024年02月04日
    浏览(44)
  • 【Android+物联网】Android封装MQTT连接阿里云物联网平台

    前言: 亲测可行,本文实现Android封装MQTT连接阿里云物联网平台。将MQTT协议和连接阿里云平台的操作通过Android studio写入APP中,并简单设计UI。实现手机APP远程控制单片机LED灯亮灭的功能。 关于《 Android软件开发 》,见如下专栏 https://blog.csdn.net/m0_61712829/category_12455686.html?sp

    2024年02月01日
    浏览(80)
  • BC260Y-CN连接阿里云飞燕物联网平台

    网址:阿里云物联网——飞燕平台 项目创建完后,你可以在该项目里创建多个实例,例如卧室小夜灯、书房小夜灯。。etc 1、点击创建新产品 2、填写开发信息 产品信息和所属品类按照自己的要求填写,这个不是重点。 产品类型根据自己使用设备的通信设备而定,例如我选择

    2024年02月12日
    浏览(31)
  • 10分钟轻松实现三菱FX3UPLC连接阿里云平台

      MQTT协议网关串口连接三菱FX3UPLC操作说明v1.3    目录 一. 使用流程 二. 准备工作 2.1 需要准备如下物品 2.2 LF220网关准备工作 2.3 PLC准备工作 2.4 电脑的准备工作 2.5 MQTT服务器准备工作 三. 阿里云IoT平台配置步骤 3.1 创建产品 3.2 添加设备 3.3 配置阿里云IoT平台物模型 3.4 获取连

    2024年02月05日
    浏览(43)
  • 微信小程序连接阿里云物联网平台——物联网远程控制开发1

    博主在尝试使用微信小程序与阿里云物联网平台的topic通信,但有些资源说的不够详细,容易搞懵小白,因此补充一些。 内容框架参考: 【物联网】微信小程序接入阿里云物联网平台 微信小程序连接阿里云物联网平台 - MQTT协议题 在此感谢两位博主的分享。 微信开发者平台

    2024年02月09日
    浏览(63)
  • 【ESP-01S / ESP8266 AT指令连接阿里云物联网平台】

    关注+星标 公众号,不错过精彩内容 作者 | MakingClub 微信公众号 | electronic造物实验室 注册阿里云账号并搜索物联网服务。选择并进入物联网平台产品页。 点击管理控制台,进入物联网平台管理界面。 选择公共实例(如果尚未开通,需要先进行开通,具体步骤不再赘述),然

    2024年02月07日
    浏览(64)
  • 【阿里云】物联网平台配置ESP8266真实设备AT串口连接,支持MQTT协议通信

    1 阿里云物联网平台 官方文档:https://help.aliyun.com/product/30520.html 官方控制台:https://iot.console.aliyun.com/lk/summary/new 左边有产品和设备, 产品是抽象的品类 ,比如说电灯,空调等等。 设备是品类下具体的物品 ,和实物一一对应的云端信息,比如电灯1,电灯2,电灯-卧室,电灯

    2024年02月01日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包