APP与华为云和设备端的通信

前面写了底层设备通过4G模块和wifi模块两种方式连接到华为云,实现了设备端到云端数据的双向传输,链接如下:

4G模块(EC600N)通过MQTT连接华为云

esp8266WiFi模块通过MQTT连接华为云

现在要实现的手机APP端与云端的双向通信,从而就能实现手机与底层设备的双向通信。本次博主还将手机端的APK接入了AI大模型,在获取到底层的设备数据后进行AI分析具体的数据。

源码结构如下:

完整APK下载链接如下:

https://mbd.pub/o/bread/YZWamZpyaw==

说明:确保配置好自己的华为云端参数,然后把自己华为云端的参数填到APK中即可,如果没配置好的话,会出现获取Token失败。

自己不会配置的,或者需要定制APK的,比如改当前APK的课题名称和默认参数等可以私信作者

大概步骤:

首先需要 获取Token---获取影子设备,进行连接。在本次博主做的APK中将需要连接的华为云的参数单独用文本框的形式写出,可以直接在界面填入自己云端的参数,这样就可以不用二次开发,拿来就能直接使用。

查看影子消息

设备影子是一个用于存储和检索设备当前状态信息的JSON文档。每个设备有且只有一个设备影子,由设备ID唯一标识,设备影子用于存储设备上报的(状态)属性和应用程序期望的设备(状态)属性,无论该设备是否在线,都可以通过该影子获取和设置设备的属性。
GET https://{endpoint}/v5/iot/{project_id}/devices/{device_id}/shadow
路径参数如下
{ endpoint },不同账号会有差异,需要按照自己账号填写,进入自己的账号中点击右上角接入信息中进行查看。
project_id ,项目id
从控制台获取项目ID:
在调用接口时,部分URI以及请求体中需要填入项目ID,项目ID获取步骤如下:

  1. 在华为云首页右上角,单击"控制台"。
  2. 在右上角的用户名中选择"我的凭证"。
  3. 在"我的凭证"界面,API凭证页签中,查看项目ID。
    项目id这里一定要选对应地区的凭证(必须带\),直接复制就行
    device_id ,设备id

如图所示:

我在首页设计了两个按钮入口,一个用于获取查看获取到的原始数据和当前的设备具体信息。另一个是漂亮的UI界面,方便直观的看到获取的到的数据,并且AI分析的结果可以直接显示在界面中。

知识点太多了,懒得一一讲解了,可以私信作者讲解原理,可远程提供一对一源码讲解指导。直接看效果图吧。

具体效果图

在底层设备接受到的手机端发送的消息、命令、参数:

进行AI分析后的结果:

相关推荐
闲云自留地1 天前
华为云计算云服务
华为云
云老大-阿里云国际站代理商3 天前
华为云国际站服务代理商:NAT网关怎么配?多台ECS共用公网IP要注意什么
服务器·华为云·云计算
闲云野鹤在人间4 天前
docker 入门 | 第5章 网络详解
网络·docker·架构·华为云·php
SatanII5 天前
容器运行时Containerd完整学习笔记|原理、安装、ctr/nerdctl/crictl实操全梳理
运维·docker·华为云·containerd
月落汀兰7 天前
从需求到上线:华为云搭建高可用 Web 站点,ECS/RDS/ELB/AS 组件协同实践
华为云·云计算
月落汀兰7 天前
云上故障怎么排查?华为云 IAM 权限、CES 监控、LTS 日志、CTS 审计完整指南
华为云·云计算
云老大-阿里云国际站代理商8 天前
华为云国际站渠道代理商:Flexus服务器网站打不开怎么办?80/443端口、安全组和Web服务怎么排查
华为云·云计算
.冰块.10 天前
华为云计算服务学习笔记|ECS + 镜像 IMS + 弹性伸缩 AS 完整踩坑实录
linux·华为云·ims·as·ecs·弹性云服务器·计算类云服务
Lysander.Jovian10 天前
存储类服务实践
华为云
暖核12 天前
华为云实战:基于WordPress的企业网站上云与高可用架构部署
运维·华为云