esp8266-01调试


一、硬件设备

1.USB转TTL

2.esp8266-01

3.杜邦线

4.电脑

二、接线

ESP8266 TTL-USB
VCC VCC(最好选择3.3V)
CH_PD VCC(最好选择3.3V)
GND GND
URXD TXD
UTXD RXD

按表格接好线如下

三、调试

把usb转ttl模块插入电脑,在 此电脑-管理-设备管理器 中查看该设备端口号

若是出现上图的黄色箭头警告,就卸载原usb转ttl驱动,重新下载ft232r,安装其中的

驱动下载:https://dl.pconline.com.cn/download/845836-1.html

正常后应该是这样的

打开串口调试软件,选择相应的串口号,esp8266波特率一般都是115200,所以这里设置为115200,勾选上发送新行,最后点击打开串口

串口调试软件下载:http://www.ouyaoxiazai.com/soft/yyrj/135/12447.html

测试一条esp8266的重启指令AT-RST,如果和下图一样说明设备工作正常

总结下大概会用到的指令:

详细指令见:https://www.cnblogs.com/lifan3a/articles/7070028.html

重启:AT+RST

设置模式:AT+CWMODE = <mode>  //此设置需要重启生效

     <mode>:1 Station模式 2 AP模式 3 AP+Station模式

     /*AP可以理解为发出热点信息的路由器,而station则是连接热点的设备*/

设置是否多连接:AT+CIPMUX=<mode>

        1 多连接模式   0 单连接模式

创建服务器:AT+CIPSERVER=<mode>[,port]

       mode:0-关闭server模式,1-开启server模式  ,port:端口号,缺省值为333

查询IP:AT+CIFSR

在串口调试工具里依次执行

AT+CWMODE=3

AT+RST

AT+CIPMUX=1

AT+CIPSERVER=1,8080

AT+CIFSR

然后手机打开wifi,应该就能搜索到该esp8266发出的热点信息

esp8266-01与手机APP通信


手机上下载一个名为网络调试助手的软件

点击TCP Clien,然后点击右上角的+号,最后按照之前设定的端口,和esp8266的ip填写信息

  

若是正常,则可以在串口调试工具中看到esp8266反馈的信息

然后在app中的编辑框输入内容,点击发送,esp8266就能收到信息并通过串口通信显示在串口工具中

esp8266-01连接Arduino leonardo


一、硬件设备

1.esp8266

2.arduino leonardo

 

3.电脑

二、接线

ESP8266 arduino leonardo
VCC 3.3v
CH_PD 3.3v
GND GND
URXD TX
UTXD RX

三、测试

连接电脑, 在Arduino IDE中选择相应板子型号和端口

上传以下程序
(这段程序可以让arduino作为一个串口调试工具与esp8266交互,电脑上通过串口通信向arduino发送指令,arduino再发给esp8266,而反馈的信息也由esp8266发给arduino,再发送到电脑)

 String string = "";

 void setup() {
Serial.begin();//电脑与arduino间通信
Serial1.begin();//arduino与esp8266间通信
} void loop() {
while (Serial1.available() > )
{
char c = Serial1.read();
string += c;
if (Serial1.available() == )
{
Serial.print(string);//打印esp8266反馈的信息
string = "";
}
delay();
} while (Serial.available() > )
{
char c = Serial.read();
string += c;
if (Serial.available() == )
{
Serial1.print(string);//向esp8266发送指令
string = "";
}
delay();
} }

上传后打开右上角的串口监视器

测试AT指令

效果如图所示则为正常工作

然后就可以在此发送指令,让esp8266作服务端,手机APP作客户端连接实现APP与arduino的通信

APP通过esp8266控制Arduino


省去电脑手动设置指令,arduino通过串口通信直接发送指令到esp8266,上传以下程序,可实现arduino在上电启动时就自动设置,然后arduino在收到手机特定数据的时候会做出相应操作

 String string = "";

 void setup() {
Serial.begin();//电脑与arduino间通信
Serial1.begin();//arduino与esp8266间通信 delay();
Serial1.print("AT+CIPMUX=1\r\n");
delay();
Serial1.print("AT+CIPSERVER=1,8080\r\n");
} void loop() {
while (Serial1.available() > )
{
char c = Serial1.read();
string += c;
if (Serial1.available() == )
{ if (string.indexOf("hello") >=)
{
Serial.print("do something...");
} Serial.print(string);//打印esp8266反馈的信息
string = "";
}
delay();
} while (Serial.available() > )
{
char c = Serial.read();
string += c;
if (Serial.available() == )
{
Serial1.print(string);//向esp8266发送指令
string = "";
}
delay();
} }

若是之前串口监视器没关,就能看到以下信息,说明自动设置完成,若是关了,则先打开串口监视器,然后重新拔插arduino,重新上电

接着手机照之前的步骤连接wifi,再作为 TCP Client 连接服务端,然后发送一句 hello 测试

可以看到esp8266显示已经有客户连接,而且Arduino接收到了hello并作出了相应的操作(这里只是打印了 do something)

Arduino leonardo+esp8266-01作服务端与APP进行数据通信的更多相关文章

  1. 项目ITP(三) 玩玩 服务端 到 app端

    前言 系列文章:[传送门] 泡泡脚,写写博客,规律生活,睡个好觉,待会看会书. 正文 上面讲了二维码生成,及 手机端扫一扫,大家有兴趣去看看. 今天我们讲一下,百度云推送平台. 每天想着问题,问题只会 ...

  2. PHP 服务端 和 APP 客户端 实现 RSA+AES 双向加密解密

    目的:服务端和移动端双向加密解密 共有七个文件 其中包括三个类文件 lib_aes.php aes对称加密解密类 server_rsa_crypt.php 服务端RSA公钥私钥非对称加密解密类 cli ...

  3. 网站的优化----首页优化---app调取服务端数据

    高并发经常会发生在有大活跃用户量来访问网站的某个点,例如用户高聚集的业务场景中,如:抢购,促销等.为了让用户流畅的访问网站,来根据自己的业务设计适合系统的处理方案. //对于APP网站首页数据,通常是 ...

  4. nodejs服务端开发学习笔记

    正在学习中,不断改错... 学习了一段时间nodejs,对其中的很多东西还不是很理解,在网上看过很多的例子,希望通过自己的一些总结让自己了解的更全面些,同时也作为学习笔记留存备忘. 准备工作 node ...

  5. React 在服务端渲染的实现

    原文地址:Server-Side React Rendering 原文作者:Roger Jin 译者:牧云云 React 在服务端渲染的实现 React是最受欢迎的客户端 JavaScript 框架, ...

  6. 实现ssr服务端渲染

    前言 前段时间寻思做个个人网站,然后就立马行动了.  个人网站如何实现选择什么技术方案,自己可以自由决定.  刚好之前有大致想过服务端渲染,加载速度快,还有 SEO 挺适合个人网站的.  所以就自己造 ...

  7. 项目ITP(四) javaweb http json 交互 in action (服务端 spring 手机端 提供各种工具类)勿喷!

    前言 系列文章:[传送门] 洗了个澡,准备写篇博客.然后看书了.时间 3 7 分.我慢慢规律生活,向目标靠近.  很喜欢珍惜时间像叮当猫一样 正文 慢慢地,二维码实现签到将要落幕了.下篇文章出二维码实 ...

  8. [译]React 在服务端渲染的实现

    原文地址:Server-Side React Rendering 原文作者:Roger Jin React 在服务端渲染的实现 React是最受欢迎的客户端 JavaScript 框架,但你知道吗(可 ...

  9. 支付宝app支付服务端流程

    支付宝APP支付服务端详解 前面接了微信支付,相比微信支付,支付宝APP支付提供了支付封装类,下面将实现支付宝APP支付.订单查询.支付结果异步通知.APP支付申请参数说明,以及服务端返回APP端发起 ...

随机推荐

  1. iOS UIPopoverView的使用

    UIViewController *contentViewController = [[UIViewController alloc] init]; contentViewController.vie ...

  2. Mysql Join-连接查询(中)

    Mysql Join-连接查询(中) 认识 就我平时的数据接触来看, 连接查询也没有很复杂,不够是非常需要耐心和逻辑的, 一点点将数据查出来, 拼接等. 没有什么技巧, 多练习就会了. 无非就是表之间 ...

  3. bash 中 小括号的作用

    单小括号 () ①命令组.括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用.括号中多个命令之间用分号隔开,最后一个命令可以没有分号,各命令和括号之间不必有空格. ...

  4. Linux—管理用户、用户组及权限

    管理用户 添加用户 [root@localhost ~]# useradd myuser [root@localhost ~]# useradd -m myuser # -d 目录:指定用户主目录,如 ...

  5. Day_03

    1.指针基本操作 package main import "fmt" func main() { var a int //每个变量有2层含义:变量的内存,变量的地址 fmt.Pri ...

  6. 解决N个人过桥时间最短问题(Java版本)

    [问题描述] n个人要晚上过桥,在任何时候最多两个人一组过桥,每组要有一只手电筒.在这n个人中只有一个手电筒能用,因此要安排以某种往返的方式来返还手电筒,使更多的人可以过桥.   注意:每个人的过桥速 ...

  7. Tensorflow之MNIST手写数字识别:分类问题(2)

    整体代码: #数据读取 import tensorflow as tf import matplotlib.pyplot as plt import numpy as np from tensorfl ...

  8. lua 11 闭包,函数的使用

    转自:http://book.luaer.cn/_41.htm 当一个函数内部嵌套另一个函数定义时,内部的函数体可以访问外部的函数的局部变量,这种特征我们称作词法定界.虽然这看起来很清楚,事实并非如此 ...

  9. Django框架、HTTP协议、文件配置、路由设置、

    1.socket服务端.py import socketsk = socket.socket()sk.bind(("127.0.0.1",8000))sk.listen()whil ...

  10. 剑指Offer-18.二叉树的镜像(C++/Java)

    题目: 题目描述 操作给定的二叉树,将其变换为源二叉树的镜像. 输入描述: 二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ ...