文章目录
本文记录了物联网平台thingsboard和lorawan服务器chirpstack的相互集成,
和以thingsboard为载体和lorawan节点的上下行数据通信
0.安装结果
1.LoRaWAN设备接入thingsboard
【参考资料】
首先,参考官方文档搭建好chirpStack 服务器环境,然后在chirpstack中集成第三方插件 ThingsBoard ,参考官方资料 ThingsBoard getting started
【ThingsBoard 登录账号】.
- 系统管理员: sysadmin@thingsboard.org / sysadmin
- 租户管理员:tenant@thingsboard.org /tenant (目前使用这个账号测试)
- 客户用户:customer@thingsboard.org /customer
【启动过程】
chirpstack : {your_ip:8080}
ThingsBoard {your_ip:9090}
【节点、网关、chirpstack 和 thingsboard 通讯流程】
- 创建设备
- 将节点设备令牌添加到 chirpstack中
节点令牌
网关不用添加令牌了
- LoRaWAN 节点发送消息,chripstack 和 thingsboard 收到 mqtt 消息
thingsboard 解析出的lorawan节点信息
【无法进行下行数据】
2.chirpstack 中编解码函数
参考:ChirpStack 笔记 2.7 JS编解码函数的使用
3.chirpstack 和 thingsboard 框架
参考 thingsboard 的官方文档: ChirpStack Integration | ThingsBoard Professional Edition
注意:只有 thingsboard 专业版才可以被集成到 chirpstack 中
thingsboard 和 chirpstack 都有自己各自的MQTT Broker,在 chirpstack 中集成 thingsboard 方案是使用使用thingsboard内部的gateway
4.专业版thingsboard安装
参考链接: Installing ThingsBoard PE on Ubuntu | ThingsBoard Professional Edition
【购买的lisence】:
TB_LICENSE_SECRET = xxxxxxxxxxx // 这是你购买的lisence
SPRING_DATASOURCE_PASSWORD = 1 // 这是你自己创建的密码
/etc/thingsboard/conf/thingsboard.conf
文件
export JAVA_OPTS="$JAVA_OPTS -Dplatform=deb -Dinstall.data_dir=/usr/share/thingsboard/data"
export JAVA_OPTS="$JAVA_OPTS -Xlog:gc*,heap*,age*,safepoint=debug:file=/var/log/thingsboard/gc.log:time,uptime,level,tags:filecount=10,filesize=10M"
export JAVA_OPTS="$JAVA_OPTS -XX:+IgnoreUnrecognizedVMOptions -XX:+HeapDumpOnOutOfMemoryError"
export JAVA_OPTS="$JAVA_OPTS -XX:-UseBiasedLocking -XX:+UseTLAB -XX:+ResizeTLAB -XX:+PerfDisableSharedMem -XX:+UseCondCardMark"
export JAVA_OPTS="$JAVA_OPTS -XX:+UseG1GC -XX:MaxGCPauseMillis=500 -XX:+UseStringDeduplication -XX:+ParallelRefProcEnabled -XX:MaxTenuringThreshold=10"
export LOG_FILENAME=thingsboard.out
export LOADER_PATH=/usr/share/thingsboard/conf,/usr/share/thingsboard/extensions
export SQL_DATA_FOLDER=/usr/share/thingsboard/data/sql
# License secret obtained from ThingsBoard License Portal (https://license.thingsboard.io)
# UNCOMMENT NEXT LINE AND PUT YOUR LICENSE SECRET:
# export TB_LICENSE_SECRET=
export TB_LICENSE_SECRET= your_lisence
# DB Configuration
export DATABASE_TS_TYPE=sql
export SPRING_DATASOURCE_URL=jdbc:postgresql://localhost:5432/thingsboard
export SPRING_DATASOURCE_USERNAME=postgres
export SPRING_DATASOURCE_PASSWORD=123
# Specify partitioning size for timestamp key-value storage. Allowed values: DAYS, MONTHS, YEARS, INDEFINITE.
export SQL_POSTGRES_TS_KV_PARTITIONING=MONTHS
# Update ThingsBoard memory usage and restrict it to 256MB in /etc/thingsboard/conf/thingsboard.conf
export JAVA_OPTS="$JAVA_OPTS -Xms256M -Xmx256M"
4.1 Ubuntu 卸载postgresql
sudo apt-get remove postgresql*
sudo rm -r /etc/postgresql/
sudo rm -r /var/lib/postgresql/
sudo userdel -r postgres
How to thoroughly purge and reinstall postgresql on ubuntu? - Stack Overflow
# 法2
dpkg -l | grep postgres
sudo apt-get --purge remove postgresql postgresql-8.3 postgresql-client postgresql-client-8.3 postgresql-client-common postgresql-common postgresql-contrib postgresql-contrib-8.3
sudo rm -rf /var/lib/postgresql/
sudo rm -rf /var/log/postgresql/
sudo rm -rf /etc/postgresql/