基于uniapp的华为云平台对接实例
编译方式:
本工程使用HbuilderX进行开发,编程语言为Javascript,需要懂得一定程度的html,css,vue等前端设计语言,工程内语法为uniapp,可在uniapp官网内查询api进行代码了解。
应用原理:
本工程原理为uniapp端通过http协议向华为云平台发送请求数据,华为云平台通过http协议向uniapp端反馈信息,同时华为云会充当一个数据中转的角色,将uniapp端发送的信息通过MQTT协议发送至具体物联网设备。
应用场景
1.没有一个可操控物联网设备的平台;
2.不希望进行网页,app,微信小程序的深度开发,对物联网设备仅想要做一个简易的控制;
3.某些云平台提供的开发方式过于晦涩难懂;
华为云优点
遥遥领先!遥遥领先!遥遥领先!
目前网络上可用的云平台大致有这几个:华为云,阿里云、thingscloud。这几个是我有过了解并使用过的,其余并未了解,不予置评。
阿里云,支持esp8266的公版mqtt固件连接,开箱即用,服务器量大管饱,tips(tips指服务器每秒可进行的数据交互数,后续再有提及不予说明)基本碰不到限制。设备侧(用户侧指uniapp侧,设备侧指物联网设备侧)建立连接基本不会遇到问题,但是他的平台用户侧对接极为不友好。阿里云支持可视即可得的可视化网页开发,直接把数据配置到对应的ui控件上就能用。但是缺点是只能使用网页,且网页若想长时间(长时间指以天为单位)访问需要为其配置域名,域名还得备案(可以搜一下域名备案了解一下)。除了网页配置数据,阿里云也支持使用http协议对物联网设备进行操控,但是,但是这个东西阿里云对其操作非常麻烦,他的http服务器有一套非常严密的加密算法,如果用java或着python进行开发的话会比较简单,但是uniapp中若想与阿里云的http服务器进行对接的话,需要手搓RSA加解密算法,而且需要与时间高度绑定(加密算法中有一部分是时间校验),与服务器对时对不上也会寄。
thingscloud,小众的免费云平台,支持esp8266的公版mqtt固件连接,开箱即用,设备侧建立连接基本不会碰到问题,用户侧除了网页跟阿里云一样支持可视即可得的网页开发外,还支持手机app侧的可视即可得得开发,开发限制是会自动在app多加几层用户界面(使用需要先登录,然后再选中对应得物联网设备)罢了。~~好,用户侧没问题,设备侧没问题,完美解决。~~免费是有限制的,免费用户可以使用的功能虽然基本够用了,但是某些高级功能,像地图什么的必须要付费才能用,且除去给定的控件外自定义程度太低了(阿里云也有同样的问题),不适用于后期要求的添加。同时,它的tips只有5,对,只有5,意味着最快最快也只能每隔12s进行一次数据上报。除了这些以外,它的用户侧api手册是内容最少的,不能说基本没有吧,只能说跟显卡一样。
华为云,支持esp8266的公版mqtt固件连接,开箱即用,tips有整整1000,以当前的应用场景基本不可能碰到限制。设备侧对接直接照着参数对接就行,基本不会碰到问题,用户侧,支持http操控物联网设备,与服务器的对接较为简单(相对于阿里云),但是不支持可视即可得的网页开发。但是它也有缺点,开发逻辑与常规开发逻辑不太相同,需要一定时间去适应。