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分析后的结果:

相关推荐
小南家的青蛙14 小时前
华为云DCS全形态原生Redis命令兼容性测试方案
redis·华为云·兼容性·兼容性测试·dcs
Z21-X20 小时前
云原生运维实战笔记:华为云计算与网络类服务全景解析
运维·笔记·学习·云原生·华为云
終不似少年遊*4 天前
【Skill】为中型研发团队制作的敏捷迭代AI副驾Skill
人工智能·python·华为云·agent·ai编程·skill
熊猫钓鱼>_>5 天前
上架审核常见驳回与隐私合规清单:过审前先自查这 8 条【鸿蒙心迹】
开发语言·前端·华为·华为云·harmonyos·openharmony·ai制作
hyunbar6 天前
华为云 GaussDB(DWS) 和 PG 的谓词下推有何差异
华为云·gaussdb·dws
JoePotter6 天前
从零搭建华为云 EVS 每日自动快照:hcloud + PowerShell + 邮件报告实战
华为云·自动化运维·powershell·evs·koocli·快照备份·mailozaurr
Linux界最忧郁之人7 天前
OpenStack Victoria双节点实战|Packstack一键部署(CentOS‑Stream‑8)+华为云ECS实操
linux·运维·服务器·centos·华为云·openstack
Lvan的前端笔记8 天前
华为云 obsutil 使用指南
华为云
容器魔方14 天前
Volcano v1.16 发布:新增 NamespaceQueue 与 fairshare,拓展 HyperNode 生态
人工智能·云原生·容器·华为云·云计算
yunlaodacom15 天前
华为云国际站服务代理商:BMS数据库延迟突然升高?磁盘I/O、网络与CPU排查方法
网络·数据库·华为云