物联网IOT开发平台小结

来源:互联网 发布:知天下资源站 编辑:程序博客网 时间:2024/04/26 22:59

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>//authchar 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等接触不多,感觉都是在玩大数据概念了。

0 0
原创粉丝点击