ThingsBoard IOT Dashboard บน Centos 7
ติดตั้ง thingsboard บน centos 7 และใช้งานร่วมกับ postgresql มีขั้นตอนดังนี้
1). ติดตั้ง java 8
1 2 3 4 5 |
# yum install epel-release # yum repolist # alternatives --config java # echo export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64/jre/ >> /etc/environment # source /etc/environment |
เปิด firewall
1 2 3 4 |
# firewall-cmd --permanent --add-port=8080/tcp (for default) # firewall-cmd --permanent --add-port=80/tcp (for port 80) # firewall-cmd --permanent --add-port=1883/tcp (for MQTT) # firewall-cmd --reload |
2). ติดตั้ง postgresql
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# yum install postgresql-server postgresql-contrib # postgresql-setup initdb # systemctl start postgresql # systemctl enable postgresql (ระหว่างการติตตั้งจะสร้าง linux user ชื่อ postgres ที่จะทำหน้าเป็น root ให้กับ database) # passwd postgres (สลับ user เพื่อเข้าไป manager database - เพราะ config ใน pg_hba.conf ระบุเป็น peer) # su - postgres (ตั้ง password ให้กับ postgres - db user) postgres=# alter role postgres with password 'postgres'; ALTER ROLE |
3). ตั้งค่า config
1 2 3 4 5 6 7 8 9 |
# vi /var/lib/pgsql/data/pg_hba.conf local all all peer host all all 127.0.0.1/32 ident host all all ::1/128 ident (เปลี่ยนเป็น) local all all md5 host all all 127.0.0.1/32 md5 host all all ::1/128 md5 |
4) สร้างฐานข้อมูล
1 2 3 4 5 6 7 8 |
# psql -U postgres Password for user postgres: psql (9.2.23) Type "help" for help. postgres=# CREATE DATABASE thingsboard; CREATE DATABASE postgres=# \q |
5) ติดตัง thingsboard
1 2 |
# wget https://github.com/thingsboard/thingsboard/releases/download/v1.4/thingsboard-1.4.rpm # rpm -Uvh thingsboard-1.4.rpm |
6) config
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# vi /etc/thingsboard/conf/thingsboard.yml ( บรรทัดที่ 268 ) # HSQLDB DAO Configuration #spring: # data: # jpa: # repositories: # enabled: "true" # jpa: # hibernate: # ddl-auto: "validate" # database-platform: "${SPRING_JPA_DATABASE_PLATFORM:org.hibernate.dialect.HSQLDialect}" # datasource: # driverClassName: "${SPRING_DRIVER_CLASS_NAME:org.hsqldb.jdbc.JDBCDriver}" # url: "${SPRING_DATASOURCE_URL:jdbc:hsqldb:file:${SQL_DATA_FOLDER:/tmp}/thingsboardDb;sql.enforce_size=false}" # username: "${SPRING_DATASOURCE_USERNAME:sa}" # password: "${SPRING_DATASOURCE_PASSWORD:}" # PostgreSQL DAO Configuration spring: data: jpa: repositories: enabled: "true" jpa: hibernate: ddl-auto: "validate" database-platform: "${SPRING_JPA_DATABASE_PLATFORM:org.hibernate.dialect.PostgreSQLDialect}" datasource: driverClassName: "${SPRING_DRIVER_CLASS_NAME:org.postgresql.Driver}" url: "${SPRING_DATASOURCE_URL:jdbc:postgresql://localhost:5432/thingsboard}" username: "${SPRING_DATASOURCE_USERNAME:postgres}" password: "${SPRING_DATASOURCE_PASSWORD:postgres}" |
ตั้งค่า memory
1 2 |
# echo export JAVA_OPTS="$JAVA_OPTS -Xms2048M -Xmx2048M" >> /etc/environment # source /etc/environment |
ตั้งค่า crontab ให้มีการ restart service เวลา 9.00 am, 21.00 pm
1 2 |
# crontab -e 0 9,21 * * * /usr/bin/systemctl restart thingsboard > /dev/null 2>&1 |
7). หลังจากติดตั้งเรียบร้อย ให้run script
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
# /usr/share/thingsboard/bin/install/install.sh --loadDemo =================================================== :: ThingsBoard :: (v1.4.0) =================================================== Starting ThingsBoard Installation... Installing DataBase schema... Installing SQL DataBase schema... Loading system data... Loading demo data... Installation finished successfully! ThingsBoard installed successfully! # systemctl restart thingsboard |
เปิด http://your-ip::8080
1 2 3 4 5 6 7 8 9 10 11 |
System Administrator Default system administrator account: login - sysadmin@thingsboard.org password - sysadmin Demo Tenant Default tenant administrator account: login - tenant@thingsboard.org password - tenant |