概述
ESP8266陆陆续续的玩了一年,借助Arduino库,硬件端的程序已可以实现快速开发,但手机端的控制UI仍难以实现,总结下最近了解的平台,主要包括Blynk、微信、openhab,分享总结下。
1、Blynk
Blynk是最早接触的,也是感觉和硬件端最贴近,同时易用性最好的平台,可惜从2016年3月份开始,Blynk手机端的程序开始进行能量点管理,要添加更多的控件,必须购买能量点。关于能量点,个人完全可以理解,维护这样一个跨平台和硬件的程序,确实需要经济支持。说说Blynk的优缺点:
- 支持的硬件平台多,代码部署简单,而且函数调用接口也是统一的,简单的代码示例见下(pwm控制玩具小车的例子),硬件端只需要设置认证字符串,然后Blynk.begin和Blynk.run就可以运行了,用户不需要关心通信协议问题,上手太容易。
#include <EEPROM.h>
#include <BlynkSimpleEsp8266.h>
#include <ESP8266WiFi.h>
//auth
char auth[] = "******************";
int f_pin = 5;
int b_pin = 4;
void setup()
{
analogWriteFreq(20000);
analogWriteRange(1023);
Serial.begin(115200);
Serial.println("Begin to auth:");
Blynk.begin(auth,"**********","**********",IPAddress(*********));
Serial.print("Begin:");
}
BLYNK_WRITE(V1) {
int x = param[0].asInt();
int y = param[1].asInt();
if(y< 400) {
analogWrite(f_pin,(512-y)*2);
} else if(y>650) {
analogWrite(b_pin,(y-512)*2);
} else {
analogWrite(b_pin,0);
analogWrite(f_pin,0);
}
Serial.print("x=");
Serial.print(x);
Serial.print("ty=");
Serial.print(y);
Serial.println();
}
void loop()
{
Blynk.run();
}
手机端控制界面做的很漂亮,傻瓜式操作,不需要繁琐的配置文件,所有的操作均看作对硬件的io口操作,复杂的操作可以通过虚拟端口实现,这个实现非常棒,大大简化了配置工作。
通讯协议隐藏,用户不用操心通讯的问题,所有的工作由Blynk的库完成,服务器端可以自己部署。
缺点就是官方送的enegry不够用。
- 总结Blynk仍然是我认为最棒的iot应用,用户不用操心协议、UI等琐碎的事情,专注硬件端的实现就好了,它更多的适合嵌入式开发人员。
2、微信
微信我只申请了订阅号,功能非常有限,官方倒是有硬件平台,但一般用户没有权限开通。微信的优越点非常明显:
用户粘性大,这是微信最大的优点,用户不需要再安装新的app,可以和好友共享信息。
语音识别很赞,服务器端接口处理起来也不困难,用户对着手机说指令,就可以操作家里的家电,这个是其他平台不能比拟的。
UI设计没有,需要自己写web端页面,很困难,我只比照着weui写了个温湿度就再也不想碰了。
从服务器到设备的协议需要自己实现,即使使用mosiqtto这样的中间件,也要做协议转换的工作,至少熟悉php、nodejs、asp或者jsp等语言。
最大的缺点,订阅号没办法实现设备到移动终端的主动推送。
硬件端的支持为0,还要在硬件端自己实现通讯协议。
- 总结,微信对硬件的支持没有,但语音识别及统一的接口,给用户带来了方便,是个偏向于前端的工具。
3、openhab
这是最近接触的iot开源平台,官方提供了一整套的解决方案,从app到服务器端的程序,支持众多协议,甚至服务器端可以自己写脚本完成一些自动化功能,将硬件端的功能后移至服务器端实现。
用户自定义sitemap,自行配置界面,而且完全免费,这个很赞;
支持的协议众多,完全是做平台的概念,不管什么协议,都可以装进这个平台,官方心很大;
这个平台可以在家中布置,树梅派或者beagle bone都可以,数据集中在自家管理,解决隐私顾虑,但对于中国内网用户来说,访问家中网关还是很困难的。
硬件端的支持没有,需要自己实现。
学习成本高,要完全入门,还是要花点时间的,而且配置全是文本配置,易用性较Blynk差,但扩展性就好太多了。
openhab更像是iot的智能网关,起到总线连接转换的作用。
总结,如果微信官方能开发iot平台,只需要解决协议、UI,一统天下应该不难,可惜微信的dna里没有嵌入式的血液,他们不会做这个工作。
Blynk是面向嵌入式开发者的,做的也最彻底,目前看引入厂商支持很难,希望能走的更远。
openhab是在用心做平台了,相信会有越来越多的个人玩家与厂商会借助这个平台。
国内的阿里系、yeelink等接触不多,感觉都是在玩大数据概念了。
最后
以上就是妩媚仙人掌为你收集整理的物联网IOT开发平台小结1、Blynk2、微信3、openhab的全部内容,希望文章能够帮你解决物联网IOT开发平台小结1、Blynk2、微信3、openhab所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复