Arduino leonardo+esp8266-01作服务端与APP进行数据通信
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进行数据通信的更多相关文章
- 项目ITP(三) 玩玩 服务端 到 app端
前言 系列文章:[传送门] 泡泡脚,写写博客,规律生活,睡个好觉,待会看会书. 正文 上面讲了二维码生成,及 手机端扫一扫,大家有兴趣去看看. 今天我们讲一下,百度云推送平台. 每天想着问题,问题只会 ...
- PHP 服务端 和 APP 客户端 实现 RSA+AES 双向加密解密
目的:服务端和移动端双向加密解密 共有七个文件 其中包括三个类文件 lib_aes.php aes对称加密解密类 server_rsa_crypt.php 服务端RSA公钥私钥非对称加密解密类 cli ...
- 网站的优化----首页优化---app调取服务端数据
高并发经常会发生在有大活跃用户量来访问网站的某个点,例如用户高聚集的业务场景中,如:抢购,促销等.为了让用户流畅的访问网站,来根据自己的业务设计适合系统的处理方案. //对于APP网站首页数据,通常是 ...
- nodejs服务端开发学习笔记
正在学习中,不断改错... 学习了一段时间nodejs,对其中的很多东西还不是很理解,在网上看过很多的例子,希望通过自己的一些总结让自己了解的更全面些,同时也作为学习笔记留存备忘. 准备工作 node ...
- React 在服务端渲染的实现
原文地址:Server-Side React Rendering 原文作者:Roger Jin 译者:牧云云 React 在服务端渲染的实现 React是最受欢迎的客户端 JavaScript 框架, ...
- 实现ssr服务端渲染
前言 前段时间寻思做个个人网站,然后就立马行动了. 个人网站如何实现选择什么技术方案,自己可以自由决定. 刚好之前有大致想过服务端渲染,加载速度快,还有 SEO 挺适合个人网站的. 所以就自己造 ...
- 项目ITP(四) javaweb http json 交互 in action (服务端 spring 手机端 提供各种工具类)勿喷!
前言 系列文章:[传送门] 洗了个澡,准备写篇博客.然后看书了.时间 3 7 分.我慢慢规律生活,向目标靠近. 很喜欢珍惜时间像叮当猫一样 正文 慢慢地,二维码实现签到将要落幕了.下篇文章出二维码实 ...
- [译]React 在服务端渲染的实现
原文地址:Server-Side React Rendering 原文作者:Roger Jin React 在服务端渲染的实现 React是最受欢迎的客户端 JavaScript 框架,但你知道吗(可 ...
- 支付宝app支付服务端流程
支付宝APP支付服务端详解 前面接了微信支付,相比微信支付,支付宝APP支付提供了支付封装类,下面将实现支付宝APP支付.订单查询.支付结果异步通知.APP支付申请参数说明,以及服务端返回APP端发起 ...
随机推荐
- 基于TCP连接的socket套接字编程
基于TCP协议的套接字编程(简单) 服务端 import socket server = socket.socket() server.bind( ('127.0.0.1', 9999) ) serv ...
- CodeForces - 1255D (模拟+构造+贪心)
题意 https://vjudge.net/problem/CodeForces-1255D rxc的农场里'R'表示有米,现在有K只鸡,给这k只鸡选一些格子,每个鸡可以有多个格子(每个鸡至少吃一个米 ...
- requests---发送post请求完成登录
前段时间写过一个通过cookies完成登录,今天我们写一篇通过post发送请求完成登录豆瓣网 模拟登录 1.首先找到豆瓣网的登录接口 打开豆瓣网站的登录接口,请求错误的账号密码,通过F12或者抓包工具 ...
- C# WF 第12节 Timer控件
本节内容: 1:Timer控件的简介 2:实例1 : 不停的弹出,恶意exe 3:实例2: :流水灯 4:实例3:给流水灯加上计时器和在规定的时间进行播放音乐 1:Timer控件的简介 2:实例1 ...
- django update_or_create
update_or_create question.votes.update_or_create(user=request.user, defaults={"value": val ...
- 基于 lstm 的股票收盘价预测 -- python
开始导入 MinMaxScaler 时会报错 “from . import _arpack ImportError: DLL load failed: 找不到指定的程序.” (把sklearn更新下) ...
- Xmind最新的安装与破解教程
参考链接:https://www.jianshu.com/p/e1693dad4dde Tips: hosts文件的默认位置:C:\Windows\System32\drivers\etc
- Conda和Python的国内安装源
Conda和Python的国内安装源 Windows系统: 更换python国内源的方法. 在"C:\Users[xxxx]\pip\pip.ini"文件中配置如下内容(没有则新建 ...
- CF343D Water Tree 树链剖分
问题描述 LG-CF343D 题解 树剖,线段树维护0-1序列 yzhang:用珂朵莉树维护多好 \(\mathrm{Code}\) #include<bits/stdc++.h> usi ...
- 20191028 Codeforces Round #534 (Div. 1) - Virtual Participation
菜是原罪. 英语不好更是原罪. \(\mathrm{A - Grid game}\) 题解 \(4 \times 4\) 的格子,两种放法. 发现这两种在一起时候很讨厌,于是强行拆分这个格子 上面 \ ...