普陀网站制作,网络推广平台几大类,天津建设工程信息网络,先做公众号在做网站授权声明#xff1a;本篇文章授权活动官方亚马逊云科技文章转发、改写权#xff0c;包括不限于在 Developer Centre, 知乎#xff0c;自媒体平台#xff0c;第三方开发者媒体等亚马逊云科技官方渠道。
0. 环境
- ubuntu22#xff08;注意4G内存勉强够#xff0c;部署完…授权声明本篇文章授权活动官方亚马逊云科技文章转发、改写权包括不限于在 Developer Centre, 知乎自媒体平台第三方开发者媒体等亚马逊云科技官方渠道。
0. 环境
- ubuntu22注意4G内存勉强够部署完啥都不干用到2.75G - win10 MQTTX POSTMAN - aws
1. 启动实例
登录https://aws.amazon.com/cn/
创建服务器 Search栏输入 - EC2 - 启动实例 - - Quick Start: Amazon Linux aws - 实例类型选择符合条件的免费套餐这里我账号免费的只有1G1核 - 密钥对创建密钥对 - 名称zzzzzzzzzzzzzzzzzzzz2#RSA.pem然后保存到本地。ssh登录需要用到。 - 创建实例
得到了服务器IP54.195.159.170
连接到实例 打开 MobaXterm - Session - SSH - Remote host: 54.195.159.170 - 勾选Specify username: ec2-user - Avanced SSH settings - 勾选 Use private key选择zzzzzzzzzzzzzzzzzzzz2#.pem
按照惯例部署frp
wget https://github.com/fatedier/frp/releases/download/v0.52.3/frp_0.52.3_linux_amd64.tar.gz \
tar -zvxf frp_0.52.3_linux_amd64.tar.gz \
cd frp_0.52.3_linux_amd64 \
vim frps.toml
添加以下内容
bindPort 30000
auth.method token
auth.token 520101
webServer.addr 0.0.0.0
webServer.port 30001
webServer.user admin
webServer.password jian123
运行
./frps -c frps.toml
服务器开启端口 通过web配置开启自定义TCP30000、30001、30002、30003 2. 安装docker
2.1 amazon linux 2023不是必需事后才发现1G不够部署thingsboard
$ sudo yum remove docker-ce docker-ce-cli containerd.io
$ sudo dnf install -y docker
$ sudo systemctl enable --now docker
$ sudo systemctl status docker
$ sudo docker run hello-world 2.2 ubuntu22 安装docker
$ sudo apt remove docker docker-engine docker \
sudo apt update \
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common \
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add - \
sudo add-apt-repository deb [archamd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable \
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 7EA0A9C3F273FCD8
$ sudo apt update
$ sudo apt install docker-ce docker-ce-cli containerd.io
$ sudo systemctl status docker
$ sudo systemctl restart docker
$ sudo docker run hello-world 3. ubuntu22初始化thingsboard
mkdir -p ~/.mytb-data sudo chown -R 799:799 ~/.mytb-data \
mkdir -p ~/.mytb-logs sudo chown -R 799:799 ~/.mytb-logs
运行
docker run -itd -p 18080:9090 -p 7070:7070 -p 1883:1883 -p 5683-5688:5683-5688/udp -v ~/.mytb-data:/data \
-v ~/.mytb-logs:/var/log/thingsboard --name mytb --restart always thingsboard/tb-postgres
配置frp
wget https://github.com/fatedier/frp/releases/download/v0.51.3/frp_0.51.3_linux_amd64.tar.gz
tar -zvxf frp_0.51.3_linux_amd64.tar.gz
cd frp_0.51.3_linux_amd64
gedit frpc_aws.ini
输入以下内容
serverAddr 54.195.159.170
serverPort 30000auth.method token
auth.token 520101[[proxies]]
name tcp1
type tcp
localIP 127.0.0.1
localPort 18080
remotePort 30002[[proxies]]
name web1
type tcp
localIP 127.0.0.1
localPort 1883
remotePort 30003
运行
./frpc -c frpc_aws.ini 4. 登录测试 浏览器打开54.195.159.170:30002 默认账号
System Administrator: sysadminthingsboard.org / sysadmin
Tenant Administrator: tenantthingsboard.org / tenant
Customer User: customerthingsboard.org / customer 5. 设备相关操作 以租户管理员登录thingsboard
Tenant Administrator: tenantthingsboard.org / tenant 5.1 新建设备 - 实体 - 设备 - 添加设备 - 添加设备 - - 名称My New Device - 添加 5.2 设备上传信息 用mqtt.fx调试 IP 192.168.125.146 port: 1883 client id: 1234 UserName: FBXGO4WNt8u1E5UwJD2E 发送主题 v1/devices/me/telemetry 发送内容 {temperature:25.2} 用postman调试 postman - file - import:
curl -v -X POST http://54.195.159.170:30002/api/v1/FBXGO4WNt8u1E5UwJD2E/telemetry --header Content-Type:application/json --data {temperature:26} 5.3 向设备下发消息
用mqtt.fx调试 订阅主题 v1/devices/me/attributes - 实体 - 设备 - My New Device - 属性 - 客户端属性 - 添加或修改 键名test数值1236
接收到内容 {test: 1236} 5.4 http调试
用mqtt.fx调试 IP 54.195.159.170 port: 30003 client id: 1234 UserName: FBXGO4WNt8u1E5UwJD2E 发送主题 v1/devices/me/attributes 发送内容 {attribute1: value2, attribute2: true}
用curl调试 修改
curl -v -X POST --data {attribute1: value2, attribute2:true, attribute3: 43.0} http://54.195.159.170:30002/api/v1/FBXGO4WNt8u1E5UwJD2E/attributes --header Content-Type:application/json 获取
curl -v -X GET http://54.195.159.170:30002/api/v1/FBXGO4WNt8u1E5UwJD2E/attributes?clientKeysattribute1,attribute2sharedKeysshared1,shared2 可以得到{client:{attribute2:true,attribute1:value2}} 6. 数据可视化 仪表板 - 添加仪表板 - 标题New Dashboard - 添加部件 - Cards - Value card - 设备 My New Device - Value: decimals 1 - 添加 7. 告警
7.1 添加仪表板
仪表板 - 选择仪表板New Dashboard - Edit mode - 添加部件 - Alarm widgets - Alarm table - 设备 My New Device - 添加
- 保存
7.2 添加设备告警
配置 - 设备配置 - default - - 告警规则 - 切换编辑模式 - 添加告警规则 - 告警类型High Temperature - 添加告警条件 - 添加键名筛选器 - 键类型Timeseries - 键名temperature - 键类型数字 - 添加 - 操作大于 - 值35 - 添加 - 保存 7.3 效果
当上传温度数据大于刚才告警设置的规则 就会提示告警信息。 参考
[1]Amazon Linux 2023 安装Docker和Docker Composehttps://juejin.cn/post/7243828605044850749
[2]https://thingsboard.io/docs/user-guide/