HC小区文档

【开源】HC小区物联网系统自定义安装

1.0 说明

很多开发不太喜欢用梓豪安装,希望通过手工自己安装,这个就需要开发人员 有一定的安装软件能力,比如能够自行安装mysql能力,并且能够解决 sql导入mysql各种问题,nginx安装能力,熟悉nginx配置,熟悉redis安装以及如何配置。
温馨提示:此教程为参考教程,可以参考此思路部署

服务器资源

服务器:4核8G内存100G磁盘(推荐,如果是测试可以是2核4G内存40G磁盘)
操作系统:linux(centos 或者ubuntu)
域名:备案过的域名(如果是三大运营商的主机,需要面向他们的主机备案),并且域名没有做过违法事情,主要是有些域名做过违法事情被微信拉入黑名单
需要解析两个子域名,比如 iot.xx.com 和 ioth5.xx.com
公众号:服务号认证过的
开放端口:80/443 1883(mqtt) 20011(netty) 3306(部署完成后可以关闭)

2.0 代码开源地址

https://gitee.com/java110/MicroCommunityIot

3.0 代码结构说明

java110/HC物联网平台: 物联网平台,他的pc web端在 iot-web 目录下,手机端在 iot-h5下
       iot-merchant:主要用户小区周边商家赠送停车劵给车辆项目,主要由uni-app开发
       iot-user: 主要用于道闸临时车支付,充电桩扫码充电等,主要由uni-app开发

4.0 安装组件

通过百度等方式安装nginx redis mqtt mysql,mysql建议安装8.0,如果是8.0 以下数据库不支持utf8mb4_0900_ai_ci 编码格式,请将数据文件中的 编码格式调整为utf-8 ;
数据库 编码格式设置为 utf-8

4.1 创建数据库脚本

mysql -h 127.0.0.1 -p
密码为123456
use mysql;
create user 'hc_iot'@'%' identified by 'hc_iot12345678';
flush privileges;
CREATE DATABASE hc_iot CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
grant all privileges on hc_iot.* to 'hc_iot'@'%' ;

4.2 导入数据库

navcate 连接 数据库导入数据,数据库文件 MicroCommunityIot/document/db/hc_iot.sql

4.3 修改redis密码为hc

找到redis的配置文件,将redis的密码修改为hc,这里必须要修改密码,目前系统不支持无密码的redis

5.0 安装物联网系统后端

进入到springboot 下的resources 目录下,如下:

MicroCommunityIot
    sprintboot
        src
          main
             resources
                application-dev.yml

需要修改 application-dev.yml ,其他文件没有特殊要求可以不用修改

5.1 修改redis信息

主要修改redis信息,如下:

spring:
  ....
  redis:
    database: 6
    host: 127.0.0.1
    port: 6379
    password: hc
    #    host: localhost
    #    port: 6379
    #    password: hc
    pool:
      max-active: 300
      max-wait: 10000
      max-idle: 100
      min-idle: 0
      timeout: 0
      maxWaitMillis: 20000

将127.0.0.1 修改为redis的实际IP,推荐调用局域网内的redis不然系统访问会巨慢。

5.2 修改数据库

主要修改数据库信息,如下:

spring:
  ....
  datasource:
    url: jdbc:mysql://192.168.100.108:3306/hc_iot?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
    username: hc_iot
    password: hc_iot12345678
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: com.mysql.cj.jdbc.Driver
    druid:
      initial-size: 5
      max-active: 10
      min-idle: 5
      max-wait: 60000

将192.168.100.108 IP修改为数据库实际IP

5.3 修改mqtt

spring:
  ....
  mqtt:
    client:
      id: java110-client-id2
    completionTimeout: 10
    default:
      topic: topic
    password: wuxw2015
    url: tcp://192.168.31.45:1883
    username: wuxw
    keepalive: 20
    poolSize: 20

将url username password 修改为实际mqtt的信息

5.4 安装jar包

MicoCommunityIot 下执行 mvn clean install,会在springboot下target下生成jar包,请将iot-boot.jar传到服务器上,
并且在服务器执行java -jar iot-boot.jar,推荐启动脚本

#!/bin/bash

# min mem
min_mem=$MIN_MEM

max_mem=$MAX_MEM

active=$ACTIVE

java -jar -Dspring.profiles.active=$active $min_mem $max_mem /root/iot-boot.jar

6.0 安装物联网前段

将iot-web 下的public目录上传到服务器,并且配置nginx,目录位置如下

MicroCommunityIot
   ...
   iot-web
      public

此项目通过html 和js 的方式开发,所以不需要做前端打包,重要的事情说三遍:

不需要做前端打包
不需要做前端打包
不需要做前端打包

好了。 将项目中的public 目录传到/home/data/web/ 下,并且将public 目录修改为 iotWeb nginx 配置如下:

server {
	listen       80;
	server_name  iot.homecommunity.com;

	location / {
	    root   /home/data/web/iotWeb;
	}
	location /iot/api
	{
	  add_header 'Access-Control-Allow-Origin' '*';
	  proxy_pass   http://127.0.0.1:9999;
	}
	location /app
	{

	  add_header 'Access-Control-Allow-Origin' '*';
	  proxy_pass  http://127.0.0.1:9999;
	}
	location /ws {

       proxy_http_version 1.1;
       proxy_set_header Upgrade $http_upgrade;
       proxy_set_header Connection "$connection_upgrade";
       proxy_pass   http://127.0.0.1:9999;
    }
}

7.0 手机端nginx配置

7.1 物联网用户端nginx

server {
	listen       80;
	server_name  ioth5.homecommunity.cn;

	location / {
	    root   /home/data/web/iotapp;
	}
	location /iot/api
	{
	  add_header 'Access-Control-Allow-Origin' '*';
	  proxy_pass   http://127.0.0.1:9999;
	}
	location /app
	{

	  add_header 'Access-Control-Allow-Origin' '*';
	  proxy_pass  http://127.0.0.1:9999;
	}
}

将iot-user Hbuildx 编译后,放到 /home/data/web/目录下并将名字修改为iotapp

7.2 商家端nginx

这个主要用于小区周边商家登陆赠送停车券给消费者车辆,车辆出厂时抵消停车费

server {
	listen       80;
	server_name  shop.homecommunity.cn;

	location / {
	    root   /home/data/web/shop;
	}
	location /iot
	{
	  add_header 'Access-Control-Allow-Origin' '*';
	  proxy_pass   http://127.0.0.1:9999;
	}
	location /app
	{

	  add_header 'Access-Control-Allow-Origin' '*';
	  proxy_pass  http://127.0.0.1:9999;
	}
}

将iot-merchant Hbuildx 编译后,放到 /home/data/web/目录下并将名字修改为shop

HC物业精选文章