Mead f0fda1d0b7 init | 3 years ago | |
---|---|---|
Applications | 3 years ago | |
.gitignore | 5 years ago | |
MIT-LICENSE.txt | 5 years ago | |
README.md | 4 years ago | |
composer.json | 5 years ago | |
config.huawei_web.php | 4 years ago | |
config.node2.php | 5 years ago | |
config.node3.php | 5 years ago | |
config.node4.php | 3 years ago | |
config.test.php | 5 years ago | |
sokit.ini | 5 years ago | |
sokit.txt | 5 years ago | |
start.php | 5 years ago | |
start_for_win.bat | 5 years ago |
中控控制服务端:主要提供车(中控)对接的socket服务,包含登录,位置,控制车辆等接口。
开发语言: php
技术方案:主要采用 Workerman3.0 基础框架,并基于GatewayWorker做的二次开发。
依赖环境:
- php7.2 (需要支持redis,mongodb扩展);需要放开PHP函数(pcntl_signal,shell_exec,pcntl_alarm,pcntl_signal_dispatch,pcntl_fork,pcntl_wait,pcntl_signal,putenv)
- redis-v5.0
- mongdb-v4.0
- mysql5.7
- composer1.8.5
服务对外开放端口:8282(tcp)
注意:数据库源文件和redis初始化脚本见后台端
- Applications //应用目录
- FileMonitor//代码热更新
- Handlers // 代码块
- BatteryHandler.php //电池电压转电量代码块
- BikeStatusInfoSyncHandler.php//ridis车状态同步代码块
- ConvertHandler.php//坐标位置计算代码块
- Crc16Handler.php//crc16校检代码块
- ExceptionTrait.php//异常处理代码块
- MapHandler.php//地图坐标系转换代码块
- ToolsHandler.php//自定义工具函数代码块
- Maps
- BikeMap.php//车状态类型字段映射
- BoxActiveUpEventMap.php//中控主动上报类型映射
- CmdMap.php//中控控制指令
- VideoMap.php//语音指令
- WarningLogMap.php//警告类型(自定义)
- WarningMap.php//警告类型
- Models
- AreaTraitModel.php//area操作模型
- BatteryTraitModel.php//关于电池的操作(电压转电量)
- BikeTraitModel.php//bike模型
- WarningLogTraitModel.php//报警模型
- Servers
- BaseServer.php //服务基础类
- BatteryServer.php//解析BMS报文
- BikeControl.php//车辆控制类
- BoxActiveReportingServer.php//解析中控主动上报事件报文
- BoxPlayVoiceServer.php//解析播放语音报文
- BoxSelectCmdServer.php//解析查询配置报文
- BoxSettingServer.php//解析配置中控报文
- BoxStatusChangeServer.php//解析中控状态改变报文
- BoxSyncServer.php//解析中控同步报文
- BoxUpgradeServer.php//解析中控升级报文
- HeartBeatServer.php//解析心跳报文
- LocationServer.php//解析位置报文
- LoginServer.php//解析登录报文
- MsgForwardServer.php//解析短信转发报文(暂时没有用)
- MsgUpServer,php//解析短信上报报文(暂时没有用)
- NewBikeReportingServer.php//(咱不是没有用)
- RemoteCmdServer.php//解析远程命令报文
- ResponseServer.php//报文响应类
- WarningServer.php//解析警告报文
- YourApp
- Events.php//接受数据主入口
- start_businessworker.php//处理数据服务
- start_gateway.php//接受终端数据服务
- start_register.php//内部服务通信服务
- vendor//依赖包
- composer.json//项目依赖包配置文件
- config.php//配置文件
- start.php//服务启动脚本(linux)
配置文件为根目录下的 config.php,详情如下所示:
const Config = [
// 是否开启调试
'debug' => true,
'name' => 'weilaibike',
// 分布式 是否允许 Register服务
'is_register_run' => true,
// 分布式 内网主机ip
'gateway_lanIp' => '192.168.0.204',
// 分布式 Register服务地址
'registerAddress' => '192.168.0.204:1238',
//数据库配置
'db' => [
'host' => 'node2',
'port' => 3306,
'user' => 'weilaibike',
'password' => 'LGcaxd5WJjepJccx',
'db_name' => 'weilaibike'
],
//redis配置
'redis' => [
'host' => 'node3',
'port' => 6379,
'database' => 0
],
//mongodb配置
'mongodb' => [
'url' => 'mongodb://node3:27017',
'database' => 'weilaibike'
],
'gateway' => [
'is_run' => true,
'port' => 8282,
'count' => 4,
'pingInterval' => 300,
'pingNotResponseLimit' => 1,
'startPort' => 3200,
],
'business' => [
'is_run' => true,
'count' => 4
],
//用户端关闭订单接口
'close_order_api_url' => 'https://api.weilaibike.com/api/relay/order/auto-close?key=D7sM78f1kOOndRMgX9mkwHYG8SzHFW6AZbPXAwAfZuLgyxbFHji99SZF2tP9PJ0r'
];
安装composer,并在跟目录下安装项目依赖包,命令如下
$ composer install
启动
启动命令(以debug(调试)方式启动)
$ php start.php start
以daemon(守护进程)方式启动
$ php start.php start -d
停止
$ php start.php stop
重启
$ php start.php restart
平滑重启
$ php start.php reload
查看状态
$ php start.php status