物联网云平台是一个好东西呀,和他相关的项目帮助许许多多的同学拿到了数目可观的经费支持,让大家库存里的元器件都充实了很多。今天在这里安利一个开源的物联网云平台,thingsboard。
安装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是否安装成功,没有报错就成功了!
外部数据库安装
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
|