物联网设备和单纯的嵌入式设备最大的区别是联网与否------如果能够联网,就需要对设备端和云端进行相应的编程或者设置,让它们之间进行通信;如果不需要联网,那么烧录软件,让设备自动工作即可,不需要考虑网络通信问题。此外,有些场合需要提供移动端APP,而且一旦有了APP加持,能够让你的项目显得瞬间高大上。对于找工作的同学而言,能够制作APP可以让你找工作更加容易,对于小公司而言,能够不依赖第三方提供物联网APP,也能极大地节约研发成本。本文就简介当前几种物联网控制APP的几个模式,让大家了解几种不同的技术路线。后续的**,将重点对IOT STUDIO移动可视化模式和android studio模式进行详细讲解,一步步带您做出自己的物联网APP。
目录
一、在线生成APP源代码的模式
二、第三方公版APP子设备模式
三、APP壳嵌套网页模式
四、android studio原生app模式
一、在线生成APP源代码的模式
这种模式以“机智云”为代表,当你的项目设置完成后(定义数据点是关键),可以在线生成代码包,然后下载之后进行编译。
参考**:使用esp8266模块DIY一个热水器控制器,使用机智云后台 (二)ESP8266软件篇
https://blog.csdn.net/youngwah292/article/details/85056561
在开发者中心可以对项目的移动端程序进行设置
优点:可以通过简单的步骤生成源代码,后续还可以修改。
缺点:开机画面以及步骤是机智云风格的,还需要登录用户,不能打开APP就是控制自己设备的界面。
更方便的在线APP开发方式,使用机智云新版开发平台(需提前定义数据点),在线自定义APP的功能页面、展示信息,自己替换**、根据模板来修改图标位置大小等,开发出自己的APP
进入到“人机交互”界面之后,就可以配置APP的界面。
优点:基本不用什么APP开发基础,也不用修改代码,就能形成个性化APP
二、第三方公版APP子设备模式
以己“ 机智云”为代表,
这类APP 的特点是大厂提供“公版APP“,自己的设备可以通过申请加入到大厂的平台中,作为一个子设备(APP界面中的一个特定的小图标)运行,点击了这个小图标之后,就进入了一个专属的页面。
参考**:
优点:只需要在机智云开发者平台创建项目定义数据点,联系机智云申请绑定相关设备,即可直接使用。
三、APP壳嵌套网页模式
这种模式的开发,核心是自己像开发网站一样,做出来一个能够控制自己物联网设备的“网页”或者网站,然后做一个APP的“壳”,打开APP之后,界面实际上是打开了自己“网站”的“”“页面”。
再简单点来说,就像是做了一个浏览器APP,只不过这个浏览器是没有地址输入框的,打开就是自己的网站。
制作的方法有两种:
第一种是自己写框架,
第二种是通过第三方生成框架。框架的核心是浏览器。
自己写框架,可以用android studio写,调用内置的webview组件,浏览指定的网址。
第三方框架,很多是支持无代码编程的,比如H5APK等等,搜索关键词“安卓网页封装APP”,就可以将你的网页打包成APP了。
优点:如果是做了APP框架,那么理论上它就是一个浏览器,不用升级的。你的网站或者网页更新了之后,再次打开它,就是最新的页面。不用像安卓原生应用一样老是升级。
缺点:要有域名、服务器(或者物联网云平台)、还要经过工信部和公安备案的过程,比较繁琐。第三方封装还需要收费。
四、android studio原生app模式
不管是那种APP,其设计目的都是让物联网设备可以在移动端进行控制,让用户用手机或者平板灯移动设备可以方便地进行操作。
对于商业项目来说,一般要求APP定制化,客户需要什么就定制成什么样子。在这种情况下,最好还是要学会自己编写APP才能实现客户需求。
其实APP的核心是实现与云后台的通信和设备控制。它难在通信能否实现。
通信的核心在哪里?在MQTT客户端。它其实并不难。为什么不难?我们搞清楚它是怎么工作的,然后在APP源代码里面实现它就行了。
机智云的通讯模型
可以看到,设备与云端的通讯分为了GService和M2M:GService采用http协议,负责设备注册、注销等;M2M采用MQTT协议,负责进行实时性较强的数据操作。
这种双中心的划分非常棒,充分发挥了两种协议的优势,http的特点是简单,MQTT的订阅通知特性又有非常棒的实时性。普通的云平台,就单独使用http完成了注册登录、还做数据上报,下行控制等功能。
IOS 开发指南:http://docs.gizwits.com/zh-cn/quickstart/iOSAPPFrame.html
开发一款APP:https://club.gizwits.com/thread-8781-1-1.html
小结:编写APP并不难。本文简介了四种常见的APP开发模式,通过本篇分析,希望大家能够对物联网APP开发有所了解,根据所开展的项目,合理选择开发模式,在预算和时间可控范围内,尽可能快地开发出适合的APP。
|