前几篇文章讲解了如何在阿里云控制台上给设备登记“身份证”,如何用MQTT.fx客户端模拟一个设备连接阿里云物联网平台,分析了arduino编程环境如何配置依赖库,在arduino d1 wifi模块编程下载成功,而且于阿里云物联网平台通信成功,可以通过阿里云控制D1模块上的LED开关。
以上工作实现的是设备通信,还不能达到手机控制的目的,本文将介绍手机APP制作方法。
编程环境:阿里云。没错,就是阿里云,现在已经可以在线制作APP了,开发者急需的,阿里已经做好了。
详情可以参考云栖社区文章,这个文章中详细介绍了什么是IoT Studio,它能干什么,怎么样使用它来开发应用。
IoT Studio提供了可视化应用开发、服务开发等一系列便捷的物联网开发工具,帮助用户解决物联网开发过程中常见的成本高、开发链路长、技术栈复杂、定制化强、方案移植困难等问题,重新定义物联网应用开发
这个IoT studio可以开发两种应用,一种web应用,可以简单地理解为“网页”应用,另一种是移动应用,可以支持安卓和苹果应用。
它有什么优势呢?主要是可视化,不用编代码,通过简单的拖拽操作就能做出APP,设备关联也不用编码,直接设置即可。
比以往提供源代码,开发者还需要使用android studio等软件再次开发的效率要高的不是一点半点。
作者以前做过源代码二次开发,光是android studio设置就费了一番功夫,修改个界面按钮还用了半天,更别说其他操作了。
在物联网展览上见过一个APP开发公司,一个简单的操作开价好几十K。在节约成本方面,阿里云简直太给力了。
首先登陆阿里云物联网平台,打开菜单IoT Studio---开发服务。
新建一个项目
创建一个空白项目。可以看到空白项目下方还有解决方案,相当于模板,这些模板的界面非常漂亮、大气,利用模板,可以更加提高设计效率,使应用更加专业化。
在弹出的对话框中填写项目名称和项目描述,其中项目名称是必填的。
然后在新界面中点击关联,先关联产品,再关联设备。
也可以选择关联所有设备,本实验中只有1个设备,所以可以勾选,只是在本实验中这么做。
这时就显示关联了1个产品,1个设备
然后选择移动可视化开发
在弹出的对话框中填写应用名称,然后选择智能设备,再确定。当然也可以选择其他的,选择智能设备只是用在本例。
进入下一步,页面上显示左侧有工具栏,显示有账号模块,用来登陆账号或者注册账号,没有账号是无法对设备进行控制的,这个道理相信大家能够理解。
首页模块,就是APP打开之后的首页。
我的模块,分为“我的”和“关于”,在此不多讲。
下面先讲如何给关键功能添加开关,也就是打开智能灯的开关。首先点击“仪表”---“开关”,然后拖动想要的开关到自定义新增页上面。然后给这个开关绑定智能灯的开关TOPIC.
在新的页面中配置数据,然后用下拉方式选择产品,设备,选择属性为主灯开关,这些属性都是在阿里云登记设备的时候自动添加的,当初我们选择的这类产品是什么类别的产品,就会自动添加这个类别产品的所有属性,“主灯开关”就是当时选择“灯”时候的功能主题。选择好之后,点击“验证数据格式”,这时在页面上方出现“数据格式验证成功”,就证明成功了。
功能页面可以改名,方法是鼠标左键双击页面名称“自定义新增页1”,比如这里修改为“智能XX”
然后配置首页,连接到自定义的“智能XX”页面,否则打开APP,只能看到首页,无法跳转到自定义功能页,也就是功能页。
配置也非常方便,可以修改图标,然后修改标题,跳转连接修改为我们刚才定义的页面“智能XX”。
通过界面设置,APP前期工作就完成了,没有代码编写。
然后就可以生成APP了,你没看错,在线生成APP。
这只是一个实验,所以就选择自己用。
需要改动包名,如果不想自己定义,可以随机生成,也是能够用的。
生成速度较快,三五分钟即可。
生成app之后,提供了二维码,可以使用各类浏览器扫码下载。
下载后保存在手机内,文件名是
安装之后打开,首先需要注册
注册之后用手机号登陆,首页是这样的,可以看到就是刚才设置的图标和标题
点击“智能灯控制”标题,进入加载页面,过几秒钟连接到阿里云之后就进入自定义界面了。
可以看到页面的名称就是自己定义的“智能XX”,主界面上面有一个开关控件。另外,界面右下角有一个小虫子形象,估计是这个APP是自己使用,版本是DEBUG的原因吧,程序员都知道这个小虫子和DEBUG的故事,这个故事也不在本实验关注点中,不详细说了。
点击开关,可以关闭小灯。
板子上的LED跟着APP开关作出了及时的响应。本实验取得成功。
作为嵌入式开发者,深知获取一篇不出错的帮助文档的重要性。
因此我竭尽所能,尽可能详细地将所有的步骤都写在文章中,包括源文件,也是经过自己调试通过之后才放上来的。
还有文章中穿插了一些基本知识的介绍,我不想照抄照搬,而是尽可能谈自己的理解,文笔不行,希望大家能够从中获得些许灵感。
不敢保证读者能够按照我的文章能够一次成功,我也不是一次成功的,参考了CSDN好几位老师的文章,解决了好多问题才弄成,细节已经写进系列文章里面了,如果还是没有成功,可以做技术交流。