物联网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等接触不多,感觉都是在玩大数据概念了。
- 物联网IOT开发平台小结
- CSDN物联网学习2 IoT应用开发平台巡礼
- IoT物联网云平台比较
- Tech Insight携阿里云Link物联网平台助力实现“IoT全栈开发”
- 【物联网(IoT)开发】Arduino 简介
- 国内物联网平台初探(五) ——机智云IoT物联网云服务平台及智能硬件自助开发平台
- NB-IOT物联网平台是如何工作的
- iot--物联网
- DragonBoard 410c+MS 10 IoT物联网开发入门
- 【物联网(IoT)开发】Arduino NANO,UNO 驱动安装
- 【物联网(IoT)开发】现在开始学习晚也未晚
- 窄带物联网(NB-IoT)
- NB-IOT与物联网
- NB-IOT与物联网
- 【物联网】NB-IoT简介
- 热门物联网开发平台
- 【物联网(IoT)开发】物联网及NodeRed 技术讲解及动手实践活动分享
- 【物联网(IoT)开发】使用 Arduino 和 Python在 Bluemix 上开发一个 IoT 应用程序之控制LED灯开关
- DFS-GirlCat
- 超详细的 linux挂载详解
- 6、内置函数hex, oct, bin,divmod的用法
- 图论之最短路问题
- Django的安装与服务器的搭建
- 物联网IOT开发平台小结
- C++ typename的起源与用法
- (转载)android 自定义View google官方教程
- Leetcode no. 112
- 使用vs命令提示工具启动IIS Express
- C语言的流程控制(第二篇章:三大循环)
- Android做一个简单的Toolbar
- GeekBand第三周
- 深入浅出Netfilter/iptables防火墙框架(入门篇)