基于appinventor开发阿里云物联网Android软件(胎教级包懂教程)

这篇具有很好参考价值的文章主要介绍了基于appinventor开发阿里云物联网Android软件(胎教级包懂教程)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前期准备

开发工具

在开发软件之前我们需要先准备一个离线版appinventor,就是这个东西

基于appinventor开发阿里云物联网Android软件(胎教级包懂教程)

然后是阿里云互联网所需要的MQTT客户端组件

基于appinventor开发阿里云物联网Android软件(胎教级包懂教程)

当然还有必不可少的Android系统的手机。

软件使用与组件导入

软件使用

首先是进入开发界面,一次点击下方第一、二、三、五个按钮,然后就会进入网页版的登录界面

基于appinventor开发阿里云物联网Android软件(胎教级包懂教程)
基于appinventor开发阿里云物联网Android软件(胎教级包懂教程)

此处点击Click Here to use your Google Account to login,然后电机login in直接登录,进入开发界面

基于appinventor开发阿里云物联网Android软件(胎教级包懂教程)
基于appinventor开发阿里云物联网Android软件(胎教级包懂教程)

点击开始新工程,给项目命名后点击OK进行开发。

基于appinventor开发阿里云物联网Android软件(胎教级包懂教程)

界面左侧菜单栏是各种组件、布局方式等,中间为界面预览,右侧为属性栏。

基于appinventor开发阿里云物联网Android软件(胎教级包懂教程)

MQTT客户端组件导入

本教程基于阿里云物联网,需要使用MQTT客户端,appinventor内无现成的MQTT客户端,需要通过外部导入。点击左侧菜单栏最下方的Extension,点击import extension,找到提前准备好的MQTT组件导入即可。

基于appinventor开发阿里云物联网Android软件(胎教级包懂教程)
基于appinventor开发阿里云物联网Android软件(胎教级包懂教程)

看见这个就是导入成功了!!

工具资源可以个人空间内找或者去我们的GitHub

github链接:HDUGEEK/mqtt: mqtt插件和appinventor (github.com)

(题外话,你C是真离谱,免费资源还要下载码,你所热爱的,就是你的生活!)

前置知识

看看这个视频的P2和P3,可以对mqtt和阿里云的操作有很深入的了解,对你接下来的开发会很有帮助:

【物联网MQTT协议解析、报文构造、程序设计、项目实战】 https://www.bilibili.com/video/BV1Jz4y1X7aH/?share_source=copy_web&vd_source=e1c657085d91a6a8e457baf141d1a49a

正式开发

界面设计

界面设计首先需要理解布局(Layout)中的水平布置(HorizontalArrangement)和 垂直布置(VerticalArrangement)。水平布置即在此框区域内的所有组件都是水平排列,垂直布置即在此框区域内的所有组件均是垂直排列,同时水平布置和垂直布置可相互嵌套

基于appinventor开发阿里云物联网Android软件(胎教级包懂教程)

嵌套示例,在水平布置中嵌套了一个垂直布置,垂直布置与其他组件也是水平关系,可将布置也看成一个组件,右侧红框内可看到整体布局,最右侧是选中的组件的属性,可对组件进行设置。

了解了基本的布局方法,我们就可以简单的搭建出整体的界面,界面中包含MQTT的三元组,连接、断开、刷新、开关按钮与状态指示标签,加入MQTT客户端组件。后期其他开发中可根据需要添加组件。

基于appinventor开发阿里云物联网Android软件(胎教级包懂教程)

代码设计

整体代码设计思路围绕MQTT的使用与人机交互的正确性展开。

首先是连接阿里云服务器。

如何创建产品、设备和topic

基于appinventor开发阿里云物联网Android软件(胎教级包懂教程)
基于appinventor开发阿里云物联网Android软件(胎教级包懂教程)
基于appinventor开发阿里云物联网Android软件(胎教级包懂教程)
基于appinventor开发阿里云物联网Android软件(胎教级包懂教程)

重点:${deviceName}在不同的设备中会被替换成对应的名字,例如你在该产品下创建了个 D001 设备,那么该设备的topic就是:

/你自己的Product/D001/user/test

在添加产品和创建设备完成后,可以在设备的详情页中获得MQTT协议所需的三元组,点击MQTT连接参数后的查看即可获得。

基于appinventor开发阿里云物联网Android软件(胎教级包懂教程)

将相应的参数复制到文本框中即可完成所需参数的获取。点击右上角的Blocks进入代码编写界面。

基于appinventor开发阿里云物联网Android软件(胎教级包懂教程)
基于appinventor开发阿里云物联网Android软件(胎教级包懂教程)

appinventor的代码编写相对简单明了,采用的是搭积木的方式。左侧中选择需要的模块后在右侧编辑区内进行组合即可完成编写。

首先是连接部分的代码。在左侧找到加入的MQTT客户端组件,选择连接组件,将相应的内容连接即可完成。连接由按钮进行触发,所以采用以下这种形式。端口号1883是固定的,所以直接采用数字模块进行连接。

基于appinventor开发阿里云物联网Android软件(胎教级包懂教程)

接下来时连接状态指示的标签了。新手容易写成这样的形式。

基于appinventor开发阿里云物联网Android软件(胎教级包懂教程)

虽然看起来没有任何问题,但是在实践过程中则会出现一个奇怪的问题。在手机端测试中会显示连接失败

基于appinventor开发阿里云物联网Android软件(胎教级包懂教程)

如果直接去代码或者布局上寻找连接失败的原因,那么就必定抓耳挠腮不知为何。但是如果进入阿里云物联网控制台会发现其实是连接成功了的

基于appinventor开发阿里云物联网Android软件(胎教级包懂教程)

这说明我们的代码与MQTT客户端模组的使用是没有问题的,只是显示出来的结果是错误的。要解决这个问题,我们可以选择去使用一个刷新按钮单独获取连接情况,代码设计如下

基于appinventor开发阿里云物联网Android软件(胎教级包懂教程)

这样设计之后就能过通过按下刷新按钮获取正确的连接状态,读者可以自行尝试验证。那究竟是为什么会有这样的情况发生呢?以下是个人猜测的一种有可能的解释。appinventor代码中一个模块内的代码是并行执行的,没有顺序之分。在第一中写法中连接请求与状态判断请求同时发出,连接状态得到的相应就是未连接时的响应,所以就会有显示连接失败但是实际上却是连接成功了的结果。那么根据得到的假设进行修改,人为的错开两个请求的时间即可得到正确的结果。当然更优的解法是添加一个定时器延时后自动进行判断,本文不涉及,读者可尝试自行设计。

同理设计断开按钮的代码,就完成了连接部分的设计。

接下去我们设计手机与阿里云服务器之间的通信部分,即开、关按钮的代码设计。在MQTT客户端中找到相应的模块,填写信息之后即完成了该部分的编写。使用的是物理模型的topic所以发送的格式要符合JSON,这样才能被阿里云服务器正确的接受,从而改变其物理模型的值。其中的retained和qos一半不改变,而topic和message可以根据需要使用文本框来输入。此处的状态_lab主要用于观察发送了什么信息,直接放一起即可。至此手机向阿里云服务器发送信息已经编写完毕。

基于appinventor开发阿里云物联网Android软件(胎教级包懂教程)

接下来是接受服务器的消息。使用MQTT客户端组件中的模块就能够将接受到的信息直接显示在标签栏中。最后添加一个掉线提示,代码部分就全部编写完毕了。

基于appinventor开发阿里云物联网Android软件(胎教级包懂教程)

注:消息接收第二种方式(这种使用的是阿里云上固定的topic,所以需要对收到的json数据进行解析。仅供参考,想用哪种随自己喜好即可)

基于appinventor开发阿里云物联网Android软件(胎教级包懂教程)

1和3代表值,是固定的,要改的话只用改2的关键字就行,至于2的关键字是什么每个人不同,根据你的数据格式来(可以先用网络调试助手看看自己个数据格式内容)

软件编译与安装

基于appinventor开发阿里云物联网Android软件(胎教级包懂教程)

找到顶上的Build,选择apk文件,稍等之后就能够得到安装包文件,两种方法都能够得到安装包,将安装包导入到手机后进行安装即可进行测试,通过阿里云互联网的日志服务、在线调试和设备中的物模型数据就可以完成功能的验证了,最后的验证部分就由读者自行完成吧。

基于appinventor开发阿里云物联网Android软件(胎教级包懂教程)

本文到此就全部结束了哦,欢饮在评论区讨论<(^-^)>!!!!文章来源地址https://www.toymoban.com/news/detail-454855.html

到了这里,关于基于appinventor开发阿里云物联网Android软件(胎教级包懂教程)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 微信小程序连接阿里云物联网平台——物联网远程控制开发1

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

    2024年02月09日
    浏览(65)
  • 【MQTT】基于阿里云物联网平台实现两设备间相互订阅及发布消息

    一、准备: 1.下载MQTT.fx - 1.7.1工具 https://www.jianshu.com/p/c9f50cf81cd2 2.进入物联网平台,并按照产品文档创建产品及设备 阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台 3.打开两个MQTT.fx工具,并分别填写相关设备信息,连接物联网平台(参考阿里云产品文档)。  二

    2024年02月02日
    浏览(55)
  • 基于阿里云物联网平台设计的实时图传系统_采用MQTT协议传输图像

    当前基于MQTT协议设计了一个实时图传系统,通过这个项目来演示,两个MQTT设备如何互相订阅,进行消息流转。 在阿里云服务器上创建2个设备,分为为设备A和设备B;设备A负责采集本地摄像头画面上传,设备B负责接收设备A上传的数据然后解析显示出来。在阿里云服务器上需

    2024年01月21日
    浏览(55)
  • 广和通l610二次开发|广和通l610 CAT.1模组opencpu开发《三》阿里云物联网平台mqtt动态注册

    使用模组的IMEI作为设备的name,采用动态注册自动在案例云平台上注册设备 官网参考文档 硬件平台:广和通L610 opencpu模组 协议:mqtt支持TLS加密连接 平台:阿里物联网平台 平台中产品创建需要启用动态注册功能 说明 目前,动态注册只支持使用TLS建立连接,不支持TCP直连。动

    2024年02月11日
    浏览(46)
  • 连接阿里云物联网平台

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

    2024年02月12日
    浏览(49)
  • 阿里云物联网服务端

    目录 阿里云准备 MQTT 下载 安装完成后 直接打开 报错  MQTT.FX license key MQTT连接阿里云  通信测试 测试下行 测试上行 服务端开发 服务端订阅设备消息 使用自定义Topic进行通信   ​编辑​实用的IDE插件 阿里云账号 开通物联网平台创建一个公共实例 创建产品 添加设备 此时设

    2024年02月03日
    浏览(44)
  • 阿里云物联网对接指导文档

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

    2024年01月22日
    浏览(40)
  • 【嵌入式实战项目精选】附源码 | 三等奖作品 | 基于RA4M2和阿里云物联网平台的智能卧室小管家

    【RA4M2设计挑战赛】基于RA4M2和阿里云物联网平台的智能卧室小管家 摘要 本项目已RA4M2为主控,搭载了RT-Thread实时操作系统,配合Wi-Fi模块来提供网络通讯能力,外设接入了继电器、红外发射、OLED显示等器件,成功连上了阿里云物联网平台,实现了一个智能卧室小管家的产品

    2024年02月06日
    浏览(59)
  • 国际站阿里云物联网云端部署方案!!

    iHC-3308GW阿里云物联网云端部署。阿里云物联网云端部署方案具有以下特点:支持RS485、CAN、RS232多种通讯方式;支持Modbus标准工业协议转MQTT协议;云端支持阿里云和私有云部署。通过温湿度传感器的技术案例,我们可以进行云端部署。 ·硬件包括一台iHC-3308GW工业4G智能网关和

    2024年02月10日
    浏览(60)
  • 阿里云物联网流转表格存储Tablestore

    首先简单的介绍下这两个阿里云的产品功能吧 阿里云物联网:物联网平台提供安全可靠的设备连接通信能力,支持设备数据采集上云,规则引擎流转数据和云端数据下发设备端。此外,也提供方便快捷的设备管理能力,支持物模型定义,数据结构化存储,和远程调试、监控、

    2024年02月07日
    浏览(52)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包