- 本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途。如有不对之处,请留言,本人及时更改。
1、 开门大篇,xClouds是什么?我什么要做?为什么要开源?
2、如何快速体验,微信公众号配网,天猫精灵和小爱同学双通讯;
文章目录
- 一、我在干什么?
- 二、为什么做 全栈IoT物联网框架?
- 二、xClouds能干嘛?
- 三、xClouds采用的架构?
- 四、xClouds 地址
- 感谢:
- 地址:
一、我在干什么?
时隔多日,我最近没做什么大动作,微信公众号也停更了一个多月了,这里跟大家说说,我这个月在干了什么,业余时间主要在整理所学的全部干货,包括前端、服务器和嵌入式;
无论做什么项目事情,最终都要转化为自己的能力,最终闭环总结把这件事情做的最好。大家有目共睹我在CSDN写了近乎三年文章,都是一些大大小小的专题,跨度的领域很广,前端、微信、服务器、嵌入式等,但这么多的专题,能否真正形成一个可商业化的的框架?
答案是可以的!
也许你看过很多类似我博客这样的“干货”,讲着一大堆零零散散的知识,还在无线点灯,还在玩着 AT
指令,还在玩着 Arduino
做自己的 diy
,还在玩着天猫精灵…
最后还在玩着第三方平台,机智云?涂鸦智能? 阿里飞燕?百度天工?点灯科技?还在玩着人家的平台集成控制吗?我始终觉得,别人家的云,学不到真正的精髓,都是补补贴贴,讲不到其中的奥秘;
拿个例子来说,你想通过小爱同学控制您现有的设备,您可能首选的是第三方平台实现。而不是自己动手做,而不能说出其中的对接流程。
敢于尝试,勇于面对错误,成功的反义词不是失败,而是什么都不去做。
最近乐鑫公开出来了一个云服务:esp-rainmaker,其中这云能够实现什么,我不知道,但是IoT云框架也必然是一个趋势;
所以,我开始做框架了,而不是一个一个理论的知识,也不想这么多年的“代码搬运家”、“不知羞的收qian”的各种名字贴在我身上。
二、为什么做 全栈IoT物联网框架?
在2018年底时候,我已经自学打通了天猫精灵音箱和小爱同学音箱同时控制一个 ESP8266,那时候我就开始专研服务器开发,自学攻破了数据库、php语言,再到了微信公众号的生态,我打通了这一整个的控制;
直到目前为止,我依然在走这条道路,但是随着开源其趋势不断影响,很多组织或个人奋力地做一些开源,源源不断的架构和代码封装,加快了我们程序员开发的效率,比如前端的最丰富的:
当我们日复一日年复一年的搬砖的时候,你是否曾想过提升一下开发效率,如果有一个成熟的 IoT智能家具项目模板摆在你的面前,你还会选择自己搭架构吗?
搭建出一个好的架构并非易事,很多人都经历了从开始到放弃的过程,但是,今天你可以得到你真正想要的,一个能解决你开发新项目时最大痛点的架构工程,你不需要再麻木 Copy 原有旧项目的代码,只需改动少量代码就能得到想要的效果,你会发现开发新项目其实是一件很快乐的事。
幸运的是,在2018年底时候,我已经通过自学打通了天猫精灵音箱&小爱同学音箱同时控制一个 ESP8266,那时候我就开始专研服务器开发,自学攻破了数据库、php语言,再到微信公众号的生态,我打通了这一整套的控制。
直到目前为止,我依然在走这条道路,但是随着开源趋势的不断影响,很多组织或个人奋力做出了一些开源项目,源源不断的架构和代码封装,加快了程序员的开发效率,比如前端的三大框架的 Angular,React,Vue。
前端三大框架:
框架 | 简介 |
---|---|
Angular | 这个我真没接触 |
React | 包括现在的米家插件开发使用的是 ReactNative框架 |
Vue | 像京东小京鱼接入插件使用是 vue.js 框架,国内的 uni-app 跨平台移动开发框架 |
随着国内AI智能音箱的崛起,也有很多优秀的企业一步一步崛起,像涂鸦就是典型的例子,一站式开发,对于很多小型传统家电公司接入AI音箱等智能控制,无疑就是一个 “菩萨” 般的存在。
话说回来,类似这种平台,对于我们开发者有什么值得学习的地方呢? 最熟悉宣传语就是:全球部署,一接入可对接多语音平台。
于是乎,我有了一个大胆的想法:能否单独做这样的架构并开源出来:
- 跨平台、开发快、全开源的宗旨;
- 微信公众号内
airkiss
配网和MQTT
控制; - 微信小程序内
smartConfig
配网和MQTT
控制; - 设备端要求:支持
airkiss
配网和MQTT
协议即可; - 服务器端:有微信公众号业务和各云平台对接的业务,支持但不限于 天猫精灵、小爱同学、小度音箱、Alexa音箱等;
- 扩展性强,支持用户二次开发,可私定义协议;
- 三端开源:设备端、服务器端、前端;
现在,我有能力地公开这个架构,我想对于那些想学系统化的,或者电子diy爱好者,抑或是在校大学生,可参考学习,我的愿景就是:xClouds能在国内物联网一枝独秀,助国内物联网发展;
可能这会动了某些人的 “蛋糕”,但是只要有人支持我,会就坚持完善下去,今年新型冠状肺炎疫情的奋战,奉献自己的一分力量;
二、xClouds能干嘛?
一句话概述: 在跨平台的微信公众号里面配网Wi-Fi设备绑定个人微信号,可在微信公众号里面控制设备,还可同时支持语音音箱控制,目前已经打通了天猫精灵和小爱音箱;
三、xClouds采用的架构?
前面提到了全部开源,其中包括以下:
- 服务器端:采用PHP 、TP5 框架,集成 微信公众号授权 , 云云 Oauth2.0 对接第三方语音平台目前包括天猫精灵和小爱音箱,微信用户和设备关系存储数据库使用 MySQL ;
- 前端:微信公众号内置网页,已在服务器端开源 Html + Css +JavaScript;
- 嵌入式端:首先采用 ESP32+ESP8266 C语言 SDK开发,后续可添加其他智能WiFi模块芯片;
四、xClouds 地址
感谢:
- PHP微信对接:https://github.com/zoujingli/WeChatDeveloper
- PHP Oauth2.0:https://github.com/bshaffer/oauth2-server-php
- PHP 框架:http://www.thinkphp.cn
- 乐鑫物联网操作系统:https://github.com/espressif/esp-idf
地址:
- xClouds服务器端开源地址:https://github.com/xuhongv/xClouds
- xClouds设备端开源地址:https://github.com/xuhongv/xClouds
- 项目遵循协议: Apache License 2.0
1、额外说明,架构中提到的对公司或组织的观点,如有争议,请联系我;
2、架构中涉及到的技术点,我会一一公布出来以表感谢;
3、同时,也欢迎大家支持我,或一起壮大这个框架,奉献你代码项目;
- 玩转
esp8266
带你飞、加群QQ
群,不喜的朋友勿喷勿加:434878850 - 个人邮箱:xuhongv@yeah.net 24小时在线,有发必回复!
- esp8266源代码学习汇总(持续更新,欢迎star):https://github.com/xuhongv/StudyInEsp8266
- esp32源代码学习汇总(持续更新,欢迎star):https://github.com/xuhongv/StudyInEsp32
- 关注下面微信公众号二维码,干货多多,第一时间推送!