android arduino wifi模块,零知开源分享-ESP8266wifi模块的使用

本帖最后由 零知实验室-roc 于 2019-5-14 14:01 编辑

1、说明

MCU:零知开源开发板-标准板

thread-86658-1-1.htmlwifi模块:ESP-12F

70d8077d25d7c32fb2a7a7cb2bbf0996.gif

WiFi模块.png (85.41 KB, 下载次数: 21)

2019-5-14 13:40 上传

开发工具:零知开源开发工具

70d8077d25d7c32fb2a7a7cb2bbf0996.gif

开发工具界面.png (88.58 KB, 下载次数: 22)

2019-5-14 12:02 上传

功能:通过串口连接零知标准板与ESP-12F wifi模块,实现联网。本示例使用AP指令开发方式,开启一个热点并设置为TCP服务器模式,程序运行后就可以被其他wifi功能的终端连接上进行网络通信。

2、操作步骤

(1)硬件连接

把ESP8266WiFi模块连接到零知开发板的Serial1的引脚上(注意RX和TX交叉连接)

thread-86658-1-1.html

(2)打开零知开发工具,在【示例】中选择如下选项:

70d8077d25d7c32fb2a7a7cb2bbf0996.gif

WiFi模块界面.png (88.13 KB, 下载次数: 9)

2019-5-14 13:46 上传

70d8077d25d7c32fb2a7a7cb2bbf0996.gif

界面2.png (138.4 KB, 下载次数: 13)

2019-5-14 13:46 上传

3、测试结果

程序烧写到开发板后,打开零知开发工具的串口调试窗口,选择波特率为115200,就可以看到如下所示:

thread-86658-1-1.html

可以看到网络功能开启成功的信息,以及服务器开放的ip和端口号。

在手机上打开网络设置界面,可以看到ESP8266的热点信息,如下:

70d8077d25d7c32fb2a7a7cb2bbf0996.gif

手机热点.jpg (140.79 KB, 下载次数: 11)

2019-5-14 13:48 上传

再打开手机上的网络调试助手工具,再到TCP客户端项目中选择增加,填写正确的ip和端口,如下:

70d8077d25d7c32fb2a7a7cb2bbf0996.gif

网络调试助手.jpg (155.74 KB, 下载次数: 13)

2019-5-14 13:48 上传

然后连接成功后会显示如下:

70d8077d25d7c32fb2a7a7cb2bbf0996.gif

连接成功.jpg (142.7 KB, 下载次数: 11)

2019-5-14 13:49 上传

可以看到从esp8266 wifi模块发送过来的信息,在发送框中发送信息,就可以在串口调试窗口中看到从手机上发过来的信息,如下:

70d8077d25d7c32fb2a7a7cb2bbf0996.gif

最后结果.png (31.54 KB, 下载次数: 13)

2019-5-14 13:50 上传

以上就实现了STM32与手机之间通过无线网络的TCP协议的通信。

4、核心代码

[mw_shl_code=arduino,true]/ *

**文件:AP_TCP_Server.ino

* /

#include “esp8266.h”

#include

#define ssid “ESP8266-TCP服务器”// wifi热点的名字

#define password “12345678”// wifi热点的密码

#define serverPort 8081 //服务端的端口号

Esp8266 wifi;

#define serialDebug Serial //用于调试信息打印

#define serialEsp Serial1 //用于连接到esp8266的串口

void setup(){

delay(8000); //等待一段时间,以便查看串口的调试信息

serialDebug.begin(115200);

serialEsp.begin(115200);

wifi.begin(&serialEsp,&serialDebug);

if(wifi.enableAP(ssid,password)){

wifi.debugPrintln(“AP成功开启!”);

}

if(wifi.setMultiConnect()){

wifi.debugPrintln(“开启多连接模式成功!”);

}

if(wifi.openTCPServer(serverPort,180)){

wifi.debugPrintln(“开启TCP服务器成功!”);

}

wifi.debugPrintln(“服务器IP:”+ wifi.getIP()+“端口:”+ String(serverPort));

}

loop() {

int state = wifi.getState();

switch(state){

case WIFI_NEW_MESSAGE://从客户端接收到了新的信息,打印

wifi.debugPrintln(String(wifi.getWorkingID())+“:”+ wifi.getMessage()); // debug

wifi.sendMessage(wifi.getWorkingID(),wifi.getMessage()); //把接收到的信息发送回给客户端

wifi.setState(WIFI_IDLE);

break;

case WIFI_CLOSED://如果客户机端口连接

wifi.debugPrintln(String(wifi.getFailConnectID())+“:连接关闭!”);

wifi.setState(WIFI_IDLE);

break;

case WIFI_IDLE:

{

int state = wifi.checkMessage();

wifi.setState(state);

break;

}

case WIFI_CLIENT_ON://客户端连接成功

wifi.sendMessage(wifi.getWorkingID(),“来自ESP8266:你好,www.lingzhilab.com”);

wifi.setState(WIFI_IDLE);

break;

}

}[/mw_shl_code]

完整工程代码可到零知实验室官网免费获取。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值