> 设备连接到本地网络 - 电源模块+开关+模块连接并通上电 - 手机直接连接模块控制。通电约1分钟后,通讯模组上的”UART”蓝色指示灯亮起并闪烁,”WLAN”蓝色指示灯常亮,”WIFI”红色指示灯常亮,表示通讯模组启动完成。如果”WLAN”蓝色指示灯闪烁,”WIFI”红色指示灯,此时用手机找模块会找不到。此时,按模块上的"WIFI Hotspot"按钮2~3秒钟,就可以切换到模块的wifi状态,这时可以搜索到模块的wifi(比如是:187ED53165DB),选择并输入密码`88888888`。 - 测试手机是否可以控制开关。打开`曼顿电博士`APP,添加模块(略),点击主界面右上角的加号,选择模块。点击主界面上的`一键开关`,进入界面测试是否可以控制开关。 - 更改网络。点击主界面右上角的加号,点击`修改电箱网络`,选择本地的无线网络`TECHE008`,密码是`teche7208`,此时手机自动切换成本地网络。 - 手机和模块都连局域网并控制。 - 查看本地网关地址。在控制台输入`ipconfig/all`,确认本地的网关地址是:`192.168.9.1` - 查看模块在本地的ip地址。使用IP扫描工具,输入起始ip是`192.168.9.1`,结束ip地址是`192.168.9.255`,找到模块的ip是`192.168.9.131` - 通过浏览器登录模块。在浏览器输入`192.168.9.131:82`,用户名是`root`,密码是`abc123` - 查看模块当前ip指向。网络,服务器管理,输入密码`mandun_url`,服务器指向的格式一般是`47.103.61.198:5008/ebx-bishop/data/carry` - 修改模块的服务器指向为:`192.168.8.131:8080//ebx-bishop/data/carry`,并在模块网站界面点击重启 > 在本地服务器部署 - 把本地服务器连接到本地网络 - 登录服务器界面,密码是`teche123` - 在命令窗口输入`ipconfig/all`查看到服务器的ip地址是`192.168.8.131` - 尝试自己电脑是否可以连接服务器。通过`ping 192.168.8.131`看本机是否能连接服务器,从远程桌面登录`192.168.8.131`,密码是`teche123` - 确定已经安装好`Mysql`数据库 ``` 连接名:自定义 主机名或IP地址:localhost 端口:3306 用户名:root 密码:lcDb_!@34%^_Mantunsci 勾选"保存密码" ``` - 确定已经安装`Redis`缓存数据库 ``` 名字:自定义 地址:127.0.0.1 端口:6321 验证:_ebx_cnto_r_srv 安全:无 ``` - 创建主数据库teche ``` 数据库名:teche 字符集:utf8mb4--UTF-8 Unicode 排序规则:utf8mbs_general_ci ``` - 创建用户数据库techeusr ``` 数据库名:techeusr 字符集:utf8mb4--UTF-8 Unicode 排序规则:utf8mbs_general_ci ``` - 创建定时任务数据库quartznet ``` 数据库名:quartznet 字符集:utf8mb4--UTF-8 Unicode 排序规则:utf8mbs_general_ci ``` 执行sql语句 ``` # By: Ron Cordell - roncordell # I didn't see this anywhere, so I thought I'd post it here. This is the script from Quartz to create the tables in a MySQL database, modified to use INNODB instead of MYISAM. # make sure you have UTF-8 collaction for best .NET interoperability # CREATE DATABASE quartznet CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; DROP TABLE IF EXISTS QRTZ_FIRED_TRIGGERS; DROP TABLE IF EXISTS QRTZ_PAUSED_TRIGGER_GRPS; DROP TABLE IF EXISTS QRTZ_SCHEDULER_STATE; DROP TABLE IF EXISTS QRTZ_LOCKS; DROP TABLE IF EXISTS QRTZ_SIMPLE_TRIGGERS; DROP TABLE IF EXISTS QRTZ_SIMPROP_TRIGGERS; DROP TABLE IF EXISTS QRTZ_CRON_TRIGGERS; DROP TABLE IF EXISTS QRTZ_BLOB_TRIGGERS; DROP TABLE IF EXISTS QRTZ_TRIGGERS; DROP TABLE IF EXISTS QRTZ_JOB_DETAILS; DROP TABLE IF EXISTS QRTZ_CALENDARS; CREATE TABLE QRTZ_JOB_DETAILS( SCHED_NAME VARCHAR(60) NOT NULL, JOB_NAME VARCHAR(60) NOT NULL, JOB_GROUP VARCHAR(60) NOT NULL, DESCRIPTION VARCHAR(250) NULL, JOB_CLASS_NAME VARCHAR(250) NOT NULL, IS_DURABLE BOOLEAN NOT NULL, IS_NONCONCURRENT BOOLEAN NOT NULL, IS_UPDATE_DATA BOOLEAN NOT NULL, REQUESTS_RECOVERY BOOLEAN NOT NULL, JOB_DATA BLOB NULL, PRIMARY KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)) ENGINE=InnoDB; CREATE TABLE QRTZ_TRIGGERS ( SCHED_NAME VARCHAR(60) NOT NULL, TRIGGER_NAME VARCHAR(60) NOT NULL, TRIGGER_GROUP VARCHAR(60) NOT NULL, JOB_NAME VARCHAR(60) NOT NULL, JOB_GROUP VARCHAR(60) NOT NULL, DESCRIPTION VARCHAR(250) NULL, NEXT_FIRE_TIME BIGINT(19) NULL, PREV_FIRE_TIME BIGINT(19) NULL, PRIORITY INTEGER NULL, TRIGGER_STATE VARCHAR(16) NOT NULL, TRIGGER_TYPE VARCHAR(8) NOT NULL, START_TIME BIGINT(19) NOT NULL, END_TIME BIGINT(19) NULL, CALENDAR_NAME VARCHAR(60) NULL, MISFIRE_INSTR SMALLINT(2) NULL, JOB_DATA BLOB NULL, PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP), FOREIGN KEY (SCHED_NAME,JOB_NAME,JOB_GROUP) REFERENCES QRTZ_JOB_DETAILS(SCHED_NAME,JOB_NAME,JOB_GROUP)) ENGINE=InnoDB; CREATE TABLE QRTZ_SIMPLE_TRIGGERS ( SCHED_NAME VARCHAR(60) NOT NULL, TRIGGER_NAME VARCHAR(60) NOT NULL, TRIGGER_GROUP VARCHAR(60) NOT NULL, REPEAT_COUNT BIGINT(7) NOT NULL, REPEAT_INTERVAL BIGINT(12) NOT NULL, TIMES_TRIGGERED BIGINT(10) NOT NULL, PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP), FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)) ENGINE=InnoDB; CREATE TABLE QRTZ_CRON_TRIGGERS ( SCHED_NAME VARCHAR(60) NOT NULL, TRIGGER_NAME VARCHAR(60) NOT NULL, TRIGGER_GROUP VARCHAR(60) NOT NULL, CRON_EXPRESSION VARCHAR(120) NOT NULL, TIME_ZONE_ID VARCHAR(80), PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP), FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)) ENGINE=InnoDB; CREATE TABLE QRTZ_SIMPROP_TRIGGERS ( SCHED_NAME VARCHAR(60) NOT NULL, TRIGGER_NAME VARCHAR(60) NOT NULL, TRIGGER_GROUP VARCHAR(60) NOT NULL, STR_PROP_1 VARCHAR(512) NULL, STR_PROP_2 VARCHAR(512) NULL, STR_PROP_3 VARCHAR(512) NULL, INT_PROP_1 INT NULL, INT_PROP_2 INT NULL, LONG_PROP_1 BIGINT NULL, LONG_PROP_2 BIGINT NULL, DEC_PROP_1 NUMERIC(13,4) NULL, DEC_PROP_2 NUMERIC(13,4) NULL, BOOL_PROP_1 BOOLEAN NULL, BOOL_PROP_2 BOOLEAN NULL, TIME_ZONE_ID VARCHAR(80) NULL, PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP), FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)) ENGINE=InnoDB; CREATE TABLE QRTZ_BLOB_TRIGGERS ( SCHED_NAME VARCHAR(60) NOT NULL, TRIGGER_NAME VARCHAR(60) NOT NULL, TRIGGER_GROUP VARCHAR(60) NOT NULL, BLOB_DATA BLOB NULL, PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP), INDEX (SCHED_NAME,TRIGGER_NAME, TRIGGER_GROUP), FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)) ENGINE=InnoDB; CREATE TABLE QRTZ_CALENDARS ( SCHED_NAME VARCHAR(60) NOT NULL, CALENDAR_NAME VARCHAR(60) NOT NULL, CALENDAR BLOB NOT NULL, PRIMARY KEY (SCHED_NAME,CALENDAR_NAME)) ENGINE=InnoDB; CREATE TABLE QRTZ_PAUSED_TRIGGER_GRPS ( SCHED_NAME VARCHAR(60) NOT NULL, TRIGGER_GROUP VARCHAR(60) NOT NULL, PRIMARY KEY (SCHED_NAME,TRIGGER_GROUP)) ENGINE=InnoDB; CREATE TABLE QRTZ_FIRED_TRIGGERS ( SCHED_NAME VARCHAR(60) NOT NULL, ENTRY_ID VARCHAR(140) NOT NULL, TRIGGER_NAME VARCHAR(60) NOT NULL, TRIGGER_GROUP VARCHAR(60) NOT NULL, INSTANCE_NAME VARCHAR(60) NOT NULL, FIRED_TIME BIGINT(19) NOT NULL, SCHED_TIME BIGINT(19) NOT NULL, PRIORITY INTEGER NOT NULL, STATE VARCHAR(16) NOT NULL, JOB_NAME VARCHAR(60) NULL, JOB_GROUP VARCHAR(60) NULL, IS_NONCONCURRENT BOOLEAN NULL, REQUESTS_RECOVERY BOOLEAN NULL, PRIMARY KEY (SCHED_NAME,ENTRY_ID)) ENGINE=InnoDB; CREATE TABLE QRTZ_SCHEDULER_STATE ( SCHED_NAME VARCHAR(60) NOT NULL, INSTANCE_NAME VARCHAR(60) NOT NULL, LAST_CHECKIN_TIME BIGINT(19) NOT NULL, CHECKIN_INTERVAL BIGINT(19) NOT NULL, PRIMARY KEY (SCHED_NAME,INSTANCE_NAME)) ENGINE=InnoDB; CREATE TABLE QRTZ_LOCKS ( SCHED_NAME VARCHAR(60) NOT NULL, LOCK_NAME VARCHAR(40) NOT NULL, PRIMARY KEY (SCHED_NAME,LOCK_NAME)) ENGINE=InnoDB; CREATE INDEX IDX_QRTZ_J_REQ_RECOVERY ON QRTZ_JOB_DETAILS(SCHED_NAME,REQUESTS_RECOVERY); CREATE INDEX IDX_QRTZ_J_GRP ON QRTZ_JOB_DETAILS(SCHED_NAME,JOB_GROUP); CREATE INDEX IDX_QRTZ_T_J ON QRTZ_TRIGGERS(SCHED_NAME,JOB_NAME,JOB_GROUP); CREATE INDEX IDX_QRTZ_T_JG ON QRTZ_TRIGGERS(SCHED_NAME,JOB_GROUP); CREATE INDEX IDX_QRTZ_T_C ON QRTZ_TRIGGERS(SCHED_NAME,CALENDAR_NAME); CREATE INDEX IDX_QRTZ_T_G ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_GROUP); CREATE INDEX IDX_QRTZ_T_STATE ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_STATE); CREATE INDEX IDX_QRTZ_T_N_STATE ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP,TRIGGER_STATE); CREATE INDEX IDX_QRTZ_T_N_G_STATE ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_GROUP,TRIGGER_STATE); CREATE INDEX IDX_QRTZ_T_NEXT_FIRE_TIME ON QRTZ_TRIGGERS(SCHED_NAME,NEXT_FIRE_TIME); CREATE INDEX IDX_QRTZ_T_NFT_ST ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_STATE,NEXT_FIRE_TIME); CREATE INDEX IDX_QRTZ_T_NFT_MISFIRE ON QRTZ_TRIGGERS(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME); CREATE INDEX IDX_QRTZ_T_NFT_ST_MISFIRE ON QRTZ_TRIGGERS(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_STATE); CREATE INDEX IDX_QRTZ_T_NFT_ST_MISFIRE_GRP ON QRTZ_TRIGGERS(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_GROUP,TRIGGER_STATE); CREATE INDEX IDX_QRTZ_FT_TRIG_INST_NAME ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,INSTANCE_NAME); CREATE INDEX IDX_QRTZ_FT_INST_JOB_REQ_RCVRY ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,INSTANCE_NAME,REQUESTS_RECOVERY); CREATE INDEX IDX_QRTZ_FT_J_G ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,JOB_NAME,JOB_GROUP); CREATE INDEX IDX_QRTZ_FT_JG ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,JOB_GROUP); CREATE INDEX IDX_QRTZ_FT_T_G ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP); CREATE INDEX IDX_QRTZ_FT_TG ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,TRIGGER_GROUP); commit; ``` - 发布网站到'v1.1.5.4'文件夹 - 在`appsettings.json`中配置成与当前服务器相关的设置,当前服务器的ip是`192.168.8.131` - 确保网站运行之前的mysql和redis服务正常 ``` 确保mysql已经启动:在服务中的名称是MysqlServer 确保redis已经启动:在服务中的名称是redis-server ``` - 运行网站:`dotnet.exe TaiHe.Electricity.Web.dll` - 确认数据库表是否已经创建 ``` 确保teche数据库中已经有了所有表 确保techeuser数据库中已经有了所有表 ``` - 往teche的kaiguanapplication添加一条记录 ``` INSERT INTO kaiguanapplication(NAME, DelFlag) VALUES('照明',0) ``` - 初始配置:pad.snd02.com:8080/data/carry - 确保模块的服务器指向已经是:`192.168.8.131:8080/ebx-bishop/data/carry` - 查看服务器缓存数据库是否有相关数据 - 登录:打开网站192.168.8.131:8080,输入用户名TecheFwd2018,点击"登录"按钮 - 同步菜单 - 项目管理 ``` 办公测试 ceshi001 888888 ``` - 楼层管理 - 区域管理 - 电箱管理 - 模块管理 - 开关管理