esp8266(1) 手机+Arduino+esp8266通信
ESP8266 Android与Arduino通信

功能描述:
1 Arduino上电,它通过软串口(Arduino的 2号和3号脚)发送命令,配置espson8266为 AP模式,wifi名 DDD 密码 123456
通过硬串口向电脑打印调试信息,以及espson8266收到指令后发出的信息。
2 等待Esp8266初始化成功,Arduino不断监听软和硬串口
- 监听电脑从硬串口发来的命令,转发给软串口让Esp8266通过WIFI发送出去。
- 电脑向硬串口发送命令没什么格式,但是通过串口命令让esp8266向wifi发命令,特定格式
AT+CIPSEND=0,15 // 申请向第0 个TCP链接,发送15个字符
//收到OK,出现 > 输入要发的 15个字符
OK
>
Recv 15 bytesSEND OK
3 手机连接wifi,打开调试软件,输入地址 192.168.4.1,端口 6000 ,发送命令,格式随意。反之接收来自电脑发来的命令。
手机端
电脑端 
特别说明:
1 arduino软串口读取ESP8266命令,出现乱码,只要重新设置下其波特率。AT+UART=9600,8,1,0,0
2 我目前使用的IDE,虽然程序里设置串口波特率是 9600,但是,实际运行只有,4800. 所以,需要设置为9600*2=19200. 更换IDE可能会解决这个问题。
- 但是IDE串口调试设置为9600就是9600
3 esp8266从串口收到数据格式结尾应该添加 “\r\n” 样例;
- sendCommand("AT+CWMODE=2\r\n",2000,DEBUG);
- String s="AT+CWSAP=\"DDD\",\"12345678\",11,0\r\n";
sendCommand(s,2000,DEBUG);
4 为何做这个实验。 其实单独手机连接WIFI直接就通信了,为何中间加一个arduino单片机? 浪费成本和中转的复杂性?
因为,我目前不想费精力使用esp8266的专用SDK开发这个单片机,时间和精力成本不值得。
我目前需要的功能,用Arduino当控制板,esp8266低成本的wifi转发命令,这样把开发又转回arduino,
目前针对 esp8266使用arduino ide 开发的 esp-12f板,已经出现,我已经购买,正在路上,以后可以直接使用arduino ide开发esp8266。
http://blog.csdn.net/gnf_cc/article/details/53667312
ARuino程序烧录:
#include <SoftwareSerial.h> #define DEBUG true SoftwareSerial esp8266(2,3); // make RX Arduino line is pin 2, make TX Arduino line is pin 3.
// This means that you need to connect the TX line from the esp to the Arduino's pin 2
// and the RX line from the esp to the Arduino's pin 3
void setup()
{
Serial.begin(19200);
esp8266.begin(19200); // your esp's baud rate might be different sendCommand("AT+CWMODE=2\r\n",2000,DEBUG); // reset module
// delay(20000);
String s="AT+CWSAP=\"DDD\",\"12345678\",11,0\r\n";
sendCommand(s,2000,DEBUG);// reset module
Serial.println("1");
// delay(30000);
sendCommand("AT+RST\r\n",2000,DEBUG); // reset module
delay(3000);
sendCommand("AT+CIPMUX=1\r\n",1000,DEBUG); // configure for multiple connections
// delay(20000);
sendCommand("AT+CIPSERVER=1,6000\r\n",1000,DEBUG); // turn on server on port 80
Serial.println("Server Ready");
} void loop() { // run over and over
if (esp8266.available()) {
Serial.write(esp8266.read());
}
if (Serial.available()) {
esp8266.write(Serial.read());
}
}
String sendCommand(String command, const int timeout, boolean debug)
{
String response = ""; esp8266.print(command); // send the read character to the esp8266 long int time = millis(); while( (time+timeout) > millis())
{
while(esp8266.available())
{ // The esp has data so display its output to the serial window
char c = esp8266.read(); // read the next character.
response+=c;
}
} if(debug)
{
Serial.print(response);
} return response;
}
esp8266(1) 手机+Arduino+esp8266通信的更多相关文章
- 【Arduino】、Arduino+ESP8266上传至oneNet云
一.硬件简介 1. Arudino 是一种开源的电子平台,该平台最初主要基于AVR单片机的微控制器和相应的开发软件,包含硬件(各种型号的Arduino板)和软件(Arduino IDE). 2. ES ...
- Mac Arduino ESP8266 ESP32 搭建开发环境
目录 1.安装Arduino 2.搭建开发板管理器 3.可能出现的错误 1.安装Arduino Arduino下载. 官方下载地址:Arduino官方网站 Arduino中文社区:下载地址 安装方式: ...
- 移动支付之智能IC卡与Android手机进行NFC通信
本文来自http://blog.csdn.net/hellogv/ .引用必须注明出处. 眼下常见的智能IC卡执行着JavaCard虚拟机.智能IC卡上能够执行由精简后的Java语言编写 ...
- ESP8266文档阅读ESP8266 SDK 入门指南
ESP8266 SDK 入门指南 1.概述 1.2.ESP8266 HDK 1.3.ESP8266 SDK 1.4.ESP8266 FW 1.5.ESP8266 工具集 2.1.开发板方案 3.软件 ...
- blinker语音控制Arduino/esp8266开关灯-滑动条使用-文本框交互
总链接: https://www.arduino.cn/thread-78393-1-1.html 语音控制:https://doc.blinker.app/?file=005-App%E4%BD% ...
- Arduino ESP8266编程深入要点
Arduino for ESP8266的话,如果不修改代码,默认没有办法进入轻睡眠的省电模式,只能进入Modem Sleep,也就是说Wifi可以暂时睡眠但是CPU没法睡,Modem Sleep最低功 ...
- 10-51单片机ESP8266学习-AT指令(ESP8266连接路由器,建立TCP服务器,分别和C#TCP客户端和AndroidTCP客户端通信+花生壳远程通信)
http://www.cnblogs.com/yangfengwu/p/8871464.html 先把源码和资料链接放到这里 源码链接:https://pan.baidu.com/s/1wT8KAOI ...
- 11-51单片机ESP8266学习-AT指令(ESP8266作为TCP客户端,连接TCP服务器,用串口调试助手和手机TCP调试助手测试)
写完题目刚想起来一件事情,如果手机作为客户端(不连接路由器的情况下),手机连接模块的无线会分配一个IP地址,,,这个IP地址事先我也不知道....我先看看AT指令里面有没有一个指令可以打印一下连接自己 ...
- 基于Air800+Arduino+ESP8266的混合物联网开发
流程图如下:
随机推荐
- Layui上传图片 带接口
layui.use('upload', function () { var upload = layui.upload; upload.render({ elem: '#LAY_avatarUploa ...
- asp.net mvc 碰到 XML 解析错误:找不到根元素 位置
具体报错信息如下: XML 解析错误:找不到根元素 位置:moz-nullprincipal:{4a1d2b7c-6d07-468e-9df9-2267a0422c93} 行 1,列 1: 网上给出的 ...
- ECMAScript typeof用法
typeof 返回变量的类型字符串值 .其中包括 “object”.“number”.“string”.“undefined”.“boolean”. 1.在变量只声明.却不初始化值 Or 在变量没 ...
- LeetCode两数之和-Python<一>
下一篇:LeetCode链表相加-Python<二> 题目:https://leetcode-cn.com/problems/two-sum/description/ 给定一个整数数组和一 ...
- 【Java基础】4、java中的内部类
内部类的分类:常规内部类.静态内部类.私有内部类.局部内部类.匿名内部类. 实例1:常规内部类 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2 ...
- js-QuickStart-base.js
// 1.变量(Variables) var myVariable; myVariable = 'Bob'; // 数据类型 string number boolean array object // ...
- 单页面应用(SPA)
此篇我们来瞅一瞅SPA,啥是SPA啊,实际上一点也不神秘,就是单页应用,可能有的同学又会问了,啥是单页面应用,别着急,我们慢慢来看 首先我们先来了解一下单页应用出现背景 背景: 在早期的 Web 应用 ...
- [Error] 未发现相关 less 编译器配置,请检查wepy.config.js文件
此错误是由于缺少包引起的 npm install less -d 直接装包即可
- 【读书笔记】iOS-流式音频与Pandora Radio之路
复杂性是不可避免的,而且只会随时间增长,所以在增加特性时一定要为重构和代码简化留出时间.真正遇到问题这前先不要担心性能.iPhone非常强壮,你可能永远也不会遇到预想的性能问题. 能过互联网向一个设备 ...
- 前端开发面试题-CSS(转载)
本文由 本文的原作者markyun 收集总结. 介绍一下标准的CSS的盒子模型?低版本IE的盒子模型有什么不同的? (1)有两种, IE 盒子模型.W3C 盒子模型: (2)盒模型: 内容(conte ...