【详细教程】App inventor连接阿里云平台(APP显示STM32发来的温湿度数据等)

前言:

目前已经成功将esp8266连接上了阿里云平台,实现了温湿度等数据的上云操作。但是在阿里云查看数据非常的不方便,因为阿里云的Web网页版都是临时的,链接在一段时间后会失效,除非绑定了域名才能长期使用。

所以这篇文章将通过App inventor来开发一个APP接入阿里云,实现阿里云平台数据的查看和远程控制。

前提条件:

实现原理:

  • 通过阿里云平台的云产品流转实现设备与设备之间的通信。

其实很好理解,我们现在的阿里云上已经有一个设备了,也就是我们的MCU。而我们只需要再创建一个相同产品的设备用于给APP连接,然后将MCU设备的数据通过云流转的方式发送给APP设备,APP对转发的数据进行解析即可实现我们的目标了。

在这里插入图片描述

步骤:

1. 在当前产品中再创建一个设备

在这里插入图片描述

2. 在产品中添加一个自定义Topic

在这里插入图片描述/hpnlrgH4FTM/${deviceName}/user/sub 添加好这条Topic,操作权限设置为发布与订阅。

注意,hpnlrgH4FTM是我自己的产品密钥,读者需要根据自己产品的密钥进行更改。

在这里插入图片描述(产品密钥的位置)

3. App inventor开发APP连接上阿里云

App inventor网页版

在这里插入图片描述

MQTT连接参数(注意我们现在有两个设备,这里填的是用于给APP连接的设备的MQTT参数)

在这里插入图片描述
到了这一步APP已经可以连接上阿里云了

在这里插入图片描述

4.阿里云(云产品流转配置)

接下来我们就要配置阿里云的云流转产品,让MCU设备的数据转发到APP的设备上去

云流转配置的入口 (此入口链接可能会失效,可自行去阿里云官网搜索物联网平台即可)
在这里插入图片描述
在这里插入图片描述

  • 创建规则
    在这里插入图片描述
  • 编写SQL

在这里插入图片描述

在这里插入图片描述

这里需要注意的,我们是将MCU的数据发送到APP设备,所以数据源是MCU,也就是我图中的A001设备

  • 设置数据目的地
    在这里插入图片描述

  • 启用规则
    在这里插入图片描述

到此为止,阿里云的配置就已经完成了。在这里插入图片描述
把MCU开机,让APP设备上线(可以模拟在线调试),可以看到APP设备已经接收到MCU设备云流转过来的JSON数据。那么最后的步骤来了,我们只需要通过APP来解析JSON数据。

5.解析JSON数据

  • 通过App inventor来对JSON数据进行解析,然后实现数据显示。(这里只拿了温度和湿度的数据作为参考,其实我还有其他的数据)

在这里插入图片描述
在这里插入图片描述
注意(标识符要修改成自己的)

大功告成!

在这里插入图片描述

如果要让APP控制MCU上的灯开启和关闭的操作又要怎么实现呢,其实操作类似,我们只需要新建另一个规则,将APP的控制数据发送给MCU即可,不过我们需要通过自己调试找到相关的Topic来配置。

教程已经写了,大家有需要的话可以去看一下:阿里云APP控制灯状态的教程

对于评论区常见的问题,app提示的报错。较多情况是因为下发到app的数据存在问题导致的,需要检查数据格式是否正确,数据是否有缺失或者存在数据分段发送的情况。

### 使用UPX对压缩文件进行脱壳 UPX(Ultimate Packer for eXecutables)是一种高效的可执行文件压缩工具,广泛应用于减小程序体积。对于已经通过UPX加壳的文件,可以通过特定命令对其进行脱壳操作。 #### 基本脱壳命令 要对一个被UPX加壳的可执行文件进行脱壳,可以使用以下基本命令: ```bash upx -d target_file.exe ``` 此命令中的`-d`选项表示解压或脱壳目标文件[^1]。如果目标文件是一个ELF格式的二进制文件,则可以直接指定其名称而无需扩展名: ```bash upx -d target_elf_binary ``` #### 验证脱壳成功与否 在某些情况下,简单的`upx -d`可能无法正常工作,这可能是由于文件损坏或其他原因引起的。因此,在尝试脱壳之后,建议验证文件的状态以确认过程是否成功完成[^2]。 #### 处理复杂情况 当遇到难以处理的情况时,除了依赖自动化的`upx -d`方法外,还可以考虑手动分析和调整。例如,利用调试器逐步跟踪加载流程并恢复原始未压缩数据段[^3]。 #### 关于UPX的功能特性 值得注意的是,尽管UPX提供了便捷的方式来管理和优化各种平台上的可执行文件大小,但它也强调保持功能完整性——即经过它打包后的应用仍然能像原来那样运作而不受任何性能影响[^4]。 ```python import subprocess def unshell_upx(file_path): try: result = subprocess.run(['upx', '-d', file_path], check=True, text=True, capture_output=True) return f"Successfully uncompressed {file_path}. Output:\n{result.stdout}" except subprocess.CalledProcessError as error: return f"Failed to uncompress {file_path}. Error:\n{error.stderr}" print(unshell_upx('sample_mal.exe')) ``` 上述Python脚本展示了如何调用系统命令来实现自动化批量处理多个潜在需要解除保护状态下的样本文件。
评论 124
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Initial.M

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

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

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

打赏作者

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

抵扣说明:

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

余额充值