|
本帖最后由 hjx820 于 2019-4-29 20:37 编辑
准备材料:
基于前一篇贴子
准备开发工具:
java eclipse, JDK1.8, tomcat, 阿里云服务器/其它服务器
1 传输到外网需购买阿里云或者其它服务器,不够买可用电脑测试
电脑需要安装jdk1.8并配置环境path.
JDK配置
(1)新建->变量名"JAVA_HOME",变量值"C:\Java\jdk1.8.0_05"(即JDK的安装路径)
(2)编辑->变量名"Path",在原变量值的最后面加上“;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin”
(3)新建->变量名“CLASSPATH”,变量值“.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar”
2 打开电脑cmd, 测试jdk是否成功
3 运行附件server.jar , 在cmd输入java -jar c:/server.jar, server.jar中有一个config.properites文件配置监听端口,这里默认配置 16001,如果是用阿里云服务器需要配置端口可用。启动服务后,会有日志在C:/logs/log中显示。
4 用esp8266连接单片机测试往服务器发送数据,参照贴子 http://blog.sina.com.cn/s/blog_17d69aac30102wv4m.html
AT+RST //复位
AT+CIPMODE=1 //STA模式
AT+CIPMUX=0 //单连接模式
AT+CWMODE=3 //透传模式
AT+CWJAP="TP-LINK_0728","xxxx"
AT+CIPSTART="TCP","192.168.0.100",16001 // 本机测试可以通过cmd -> ipconfig查看本机电脑ip
AT+CIPSEND
5 测试 成功后可以使用附件代码烧录到单片机,然后可以看到server日志,每几秒便打印温度
6访问,可以将这些数据存入数据库,用java做一个web服务器,部署到tomcat,便可以访问,如果需要控制单片机,可以通过socket回传数据给esp8266。
7 重要代码,esp8266连接
void ESP8266_Init()
{
Delay_ms(5000);
LED0=!LED0;
while(1) {
ESP8266_Set("AT+CWJAP=\"TP-LINK_0728\",\"xxx\"");
Delay_ms(5000000);
if(compare("OK")){
break;
}
Delay_ms(5000);
}
while(1) {
ESP8266_Set("AT+CIPSTART=\"TCP\",\"47.104.94.10\",16001");
Delay_ms(5000000);
if(compare("CONNECT")){
break;
}
Delay_ms(5000);
}
// 打开透传
while(1) {
ESP8266_Set(" AT+CIPMODE=1");
Delay_ms(5000000);
if(compare("OK")){
break;
}
Delay_ms(5000);
}
while(1) {
ESP8266_Set("AT+CWMODE=3");
Delay_ms(5000000);
if(compare("OK")){
break;
}
Delay_ms(5000);
}
while(1) {
ESP8266_Set("AT+CIPSEND");
Delay_ms(5000000);
if(compare(">")){
break;
}
Delay_ms(5000);
}
}
8 附件内容介绍
server.jar - java服务器
SocketProject.7z 为java 服务器工程
main.c为单片机主代码。
全部资料51hei下载地址:
|
评分
-
查看全部评分
|