Blynk已经被官方回收不再开源
参考来源 https://github.com/blynkkk/blynk-server/
大部分适用于X86/64/ARM的linux平台
文中所用的实际环境和材料
- Ubuntu:16.04 (X86/64),ARM和Windows说明请看这里
- Blynk:0.41.12
- 单片机:esp8266
1. 下载服务器包
地址:https://github.com/blynkkk/blynk-server/releases
下载
具体的目录和路径自己安排,这里是:/home/BlynkServer
sudo wget https://github.com/blynkkk/blynk-server/releases/download/v0.41.12/server-0.41.12.jar
解压
sudo tar zxvf server-0.41.12.jar
2. 安装依赖库
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update -q
sudo apt install -y openjdk-11-jdk
如果不成功,如下操作(安装包换成JAVA8版本):
sudo apt-add-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
如果出现apt-add-repository找不到命令无法安装则先运行:
sudo apt-get install software-properties-common
3.HTTP/S API的端口转发
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
sudo iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 9443
4.在启用QR生成(不需要二维码分享的可以省略)
sudo apt-get install libxrender1
5.快速设置服务器
保证你目前是使用 java 11
运行
java -version
输出提示
java version "11"
单片机硬件默认端口是:"8080" ,客户端端口为:"9443" (SSL port)
运行参数:
java -jar server-0.41.12.jar -dataFolder /path
例如:
java -jar /home/ubuntu/blynk/server-0.41.6.jar -dataFolder /home/ubuntu/blynk
其中:/home/ubuntu/blynk
是存放server-0.41.6.jar
的路径,-dataFolder
是指定存放数据的参数
6.开启在开机时自动运行
:编辑/etc/rc.local文件,然后加入一下命令语句:
运行:sudo nano /etc/rc.local
java -jar /home/pi/server-0.41.12-java8.jar -dataFolder /home/pi/Blynk &
如果发现开机没有成功启动服务器,则可以:
运行sudo crontab -e
在加入下面语句
java -jar /home/pi/server-0.41.12-java8.jar -dataFolder /home/pi/Blynk &
保存后结束即可
附一段使用ESP8266(NodeMCU\D1 mini)的测试代码,上传至单片机后通过串口观察是否连接成功即可:
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
char auth[] = "YourAuthToken";
// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "YourNetworkName";
char pass[] = "YourPassword";
void setup()
{
// Debug console
Serial.begin(9600);
Blynk.begin((auth, ssid, pass,"chrisxs.top", 8080);
//如果Blynk.begin不可以,尝试一下代码
//Blynk.config(auth, ssid, pass,"chrisxs.top", 8080);
//Blynk.config(auth, ssid, pass, IPAddress(192,168,1,100), 8080);如果你没有域名,或者使用的是内外
//一般情况都是使用Blynk.begin
//Blynk.begin(auth, ssid, pass);
//官方服务器链接
//Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80);
//如果你没有域名,或者使用的是内网IP
//Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8080);
}
void loop()
{
Blynk.run();
}