找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1039|回复: 0

ThingsBoard_一个优秀的开源物联网云平台

[复制链接]

198

主题

13

回帖

1027

积分

管理员

积分
1027
发表于 2019-4-6 16:25:51 | 显示全部楼层 |阅读模式
物联网云平台是一个好东西呀,和他相关的项目帮助许许多多的同学拿到了数目可观的经费支持,让大家库存里的元器件都充实了很多。今天在这里安利一个开源的物联网云平台,thingsboard。


本指南将介绍如何在Linode上安装ThingsBoard并使用 Curl / esp8266的AT指令将简单的遥测数据发送到云仪表板。官网操作:https://thingsboard.io/docs/user-guide/install/linux/


安装thingsboard

你需要

        一个服务器(树莓派其实也可以,教程里就不写了)


        一个能连接服务器的电脑


        一个能看懂本教程的脑子


你要做

        Ctrl + C


        Ctrl + V


Let’s rock!

安装Java 8 JDK



$ cd ~
$ wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "<下载链接>"
$ sudo yum localinstall <下载文件名.rpm>
$ rm <下载文件名.rpm>

        Java在        /usr/java/jre<你的路径>/bin/java /usr/bin/java 中


$ java --version

        检查一下java是否安装成功,没有报错就成功了!


外部数据库安装

        跳过了。。感兴趣可以移步官网操作:https://thingsboard.io/docs/user-guide/install/linux/


ThingsBoard服务安装

$ wget https://github.com/thingsboard/t ... thingsboard-2.1.rpm
$ sudo rpm -Uvh thingsboard-2.1.rpm
$ export JAVA_OPTS="$JAVA_OPTS -Xms256M -Xmx256M"
$ sudo /usr/share/thingsboard/bin/install/install.sh --loadDemo

        执行命令启动ThingsBoard:


$ sudo service thingsboard start

NGINX安装和反向代理

$ sudo apt install nginx

        于 /etc/nginx/conf.d/thingsboard.conf 新建thingsboard.conf


server {
    listen 80;
    listen [::]:80;

    server_name example.com;

    location / {
        # try_files $uri $uri/ =404;
        proxy_pass http://localhost:8080/;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
    }
}

        重启NGINX:


$ sudo systemctl restart nginx

设置ThingsBoard设备

用户名:tenant@thingsboard.org
密码:tenant

        安装完成!


开始测试

Curl发送数据

        新建JSON文件 dummy_data.json


{
  "temperature": 38,
  "humidity": 50,
  "pressure": 1100
}

        打开cmd


$ curl -v -X POST -d @dummy_data.json http://<你的IP>:<开放的端口(一般是80)>/api/v1/<访问令牌>/telemetry --header "Content-Type:application/json"

        发送数据成功以后,打开 ThingsBoard 设备 里面的 DHT11 Demo Device,最新遥测里显示的就是上传的数据。在仪表板库里面点进Temprature&Humidity Demo Dashboard就是上传数据的图表显示。


ESP8266+AT模式

针对NodeMCU的AT模式初始化

ESP8266有着令人愉快的AT模式,使用串口发送数据即可完成通信,这是在上位机进行串口调试的代码


AT+RST      //一键重启
AT+CWMODE=1     //配置WiFi模组工作模式为单STA模式,并把配置保存在flash,重启后生效
AT+RST         
AT+CWLAPAT+CWJAP="wifi名","wifi密码"      
AT+CIPMUX=1     //启动多ip连接
AT+CIPSTART=0,"TCP","服务器ip",端口      //连接服务器
AT+CIPSEND=0,218        //包的长度
(作为包头结尾也要发送一个新行,即\r\n)

POST /api/v1/DHT11_DEMO_TOKEN/telemetry HTTP/1.1
Host: ip地址:端口
User-Agent: curl/7.55.1     
Accept: */*
Content-Type:application/json
Content-Length: 51

{"temperature": 20,"humidity": 30,"pressure": 4400}
转载自 https://blog.hdussta.cn/untitled/thingsboard_%E4%B8%80%E4%B8%AA%E4%BC%98%E7%A7%80%E7%9A%84%E5%BC%80%E6%BA%90%E7%89%A9%E8%81%94%E7%BD%91%E4%BA%91%E5%B9%B3%E5%8F%B0.html
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|小钉锤论坛 粤ICP备18149537号-2

GMT+8, 2024-11-24 13:38 , Processed in 0.185888 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表