/xClouds-php

xClouds-php 开发框架之 云端 PHP TP5开发框架。

Primary LanguagePHPMIT LicenseMIT

Banner


关于 xClouds 开源架构

     当我们日复一日年复一年的搬砖的时候,你是否曾想过提升一下开发效率,如果一个 IOT智能家具物联网 模板的项目摆在你的面前,你还会选择自己搭架构么?

     但是搭建出一个好的架构并非易事,有多少人愿意选择去做,还有多少人选择努力去做好,可能寥寥无几,但是你今天看到的,正是你所想要的,一个真正能解决你开发新项目时最大痛点的架构工程,你不需要再麻木 Copy 原有旧项目的代码,只需改动少量代码就能得到想要的效果,你会发现开发新项目其实是一件很快乐的事;

     很幸运的是,在2018年底时候,我已经自学打通了天猫精灵音箱和小爱同学音箱同时控制一个 ESP8266,那时候我就开始专研服务器开发,自学攻破了数据库、php语言,再到了微信公众号的生态,我打通了这一整个的控制;

     直到目前为止,我依然在走这条道路,但是随着开源其趋势不断影响,很多组织或个人奋力地做一些开源,源源不断的架构和代码封装,加快了我们程序员开发的效率,比如前端的三大框架的 AngularReactVue

     国内AI智能音箱一大崛起,也有很多优秀的企业一步一步崛起,像涂鸦就是典型的例子,一站式开发,对于很多小型家电传统公司接入AI音箱等智能控制,无疑就是一个 “菩萨” 般存在;

     话说回来,类似这种平台,对于我们开发者有什么值得学习的地方呢? 最熟悉宣传语就是:全球部署,一接入可对接多语音平台。

     于是乎,我有个大胆的想法能否单独做这样的架构出来并开源出来:

  • 跨平台、开发快、全开源的宗旨;
  • 微信公众号内 airkiss 配网和 MQTT 控制;
  • 微信小程序内 smartConfig 配网和 MQTT 控制;
  • 设备端要求:支持 airkiss 配网和 MQTT 协议即可;
  • 服务器端:有微信公众号业务和各云平台对接的业务,支持但不限于 天猫精灵、小爱同学、小度音箱、Alexa音箱等;
  • 扩展性强,支持用户二次开发,可私定义协议;
  • 三端开源:设备端、服务器端、前端;

     现在,我有能力地公开这个架构,我想对于那些想学系统化的,或者电子diy爱好者,抑或是在校大学生,可参考学习,我的愿景就是:

     xClouds能在国内物联网一枝独秀,助国内物联网发展;

     但愿人长久,搬砖不再有!

xClouds-devices for PHP 开发框架

     PHP是世界上最好的语言,不接受任何反驳。 哈哈,这种弱语言,是真的非常适合那些小项目和快速入门,现在就是基于国产框架 TP5 上开发的;

     只有适合自己开发的才是最好的。无论是采用 PHP 、NodeJS、Java 等服务器语言,只有稳定快速实现自己的需要即可,如有能力,欢迎服务器开发者一起加入我们这里开拓更多版本,比如 Java ,我们可免费提供技术支持和提供开发硬件资源;

文件主要目录

├─application 应用目录(可设置)
│ ├─common 公共模块目录(可更改)
│ ├─API 天猫精灵/小爱同学等第三方应用的API对外接口
│ ├─wechat 微信公众号代码,包括配网和控制
│ ├─index 模块目录(可更改)
│ │ ├─config.php 模块配置文件
│ │ ├─common.php 模块函数文件
│ │ ├─controller 控制器目录
│ │ ├─model 模型目录
│ │ ├─view 视图目录
│ │ └─ ... 更多类库目录
│ ├─command.php 命令行工具配置文件
│ ├─common.php 应用公共(函数)文件
│ ├─config.php 应用(公共)配置文件
│ ├─database.php 数据库配置文件
│ ├─tags.php 应用行为扩展定义文件
│ └─route.php 路由配置文件
├─extend 扩展类库目录(oauth2.0 微信对接第三方库)
├─public WEB 部署目录(对外访问目录)
│ ├─static 静态资源存放目录(css,js,image)
│ ├─index.php 应用入口文件
│ ├─router.php 快速测试文件
│ └─.htaccess 用于 apache 的重写
├─runtime 应用的运行时目录(可写,可设置)
├─vendor 第三方类库目录(Composer)
├─build.php 自动生成定义文件(参考)
├─composer.json composer 定义文件
├─LICENSE.txt 授权说明文件
├─README.md README 文件
├─think 命令行入口文件

开发入门

环境搭建

     因为此为基于 Tp5 国产框架上开发,需要一定的PHP基础和云端服务器部署灯开发基础;

  • 阿里云或腾讯云这些运维商购买一台远程服务器,以及一个备案通过的域名;
  • 代码中数据库使用的是 MySQL , 推荐使用 LNMP 环境 Linux + Nginx +MySQL5.6 + PHP7.0 ,注意: PHP务必在 7.0 以上
  • 微信公众号一个,可用个人测试号或企业性质的服务号;

     Linux 环境建议使用宝塔bt软件实现,详情可以参考我之前的视频:

     数据库导入根目录的 AiClouds3.0 MySQL.sql 文件,因里面有一些限制关系,需要在144 行左右,修改一个参数为 您的当前数据库名字,切记!

感谢:

项目遵循协议: Apache License 2.0

服务器开源地址:https://github.com/xuhongv/xClouds-php

设备端开源地址:https://github.com/xuhongv/xClouds-device

1、额外说明,架构中提到的对公司或组织的观点,如有争议,请联系我;

2、架构中涉及到的技术点,我会一一公布出来以表感谢;

3、同时,也欢迎大家支持我,或一起壮大这个框架,奉献你代码项目;