用手机控制Arduino上的LED灯--AT指令.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
⽤⼿机控制Arduino上的LED灯--AT指令 ⽤ ESP8266的设置⽅法五花⼋门,⽹上各种都有,让⼈眼花缭乱。对于Arduino新⼿来说ESP8266⼊门的话相对有点复杂。⼀时半会⼉难 以理解。不过,这不能影响到ESP8266的强⼤,通过对ESP8266⽆线模块在Arduino上的AT指令⽅式的学习,我们知道了,ESP8266 可以设置成⾃动进⼊透传模式。让ESP8266⽆线模块做服务端,来实现我们所需要的功能。现在,我们将通过这⼀个功能,让⼿机和 ESP8266进⾏互相通信,并控制Arduino上的LED灯。(原理是让⼿机和ESP8266⽆线模块在同⼀个WIFI⽹络⾥,连接同⼀个路由 器,ESP8266为客户端、⼿机建⽴服务端)。通过此教程⽰例让创客进⼀步了解和掌握ESP8266的使⽤。 所需材料: arduino主控板⼀块 ESP8266⽆线模块⼀个 LED发光⼆极管⼀个 220欧姆电阻⼀个 ⼩⾯包板⼀个 杜邦线若⼲ ⼿机⼀部(安卓⼿机) 第⼀步:通过USB-TTL连接ESP8266设置AT指令,保存透传模式。(整个实验的关键!!) ==接线⽅式== *VCC—-3.3 *GND–GND *CH_PD–3.3 *RX–TX *TX–RX ==设置⽅式== AT指令(按照您的模块固件版本,选择AT指令进⾏设置): ESP8266-AT固件版本V1.0以上版本(ESP8266为最新AT固件版本:1.5.4.1) //设置WiFi应⽤模式为Station AT+CWMODE=3 //连接到WiFi路由器,请将SSID替换为路由器名称,Password替换为路由器WiFi密码 AT+CWJAP=SSID,Password //连接单连模式 AT+CIPMUX=0 //设置为透传模式 AT+CIPMODE=1 //进⼊透传模式,并保存(进⼊后模块就⼀直为透传模式,需要退出则取消发送新⾏,发送+++) ,IP地址为远端设备地址,例:我⽤⼿机控制,那么我的⼿机在路由器WIFI上的IP地址为192.168.1.110 AT+SAVETRANSLINK=1,”192.168.1.110”,8080,”TCP” ESP8266-AT固件版本V0.9.5.2版本(⽼版本固件) //设置WiFi应⽤模式为Station AT+CWMODE=1 //连接到WiFi路由器,请将SSID替换为路由器名称,Password替换为路由器WiFi密码 AT+CWJAP=SSID,Password //连接⼿机端服务器,IP地址为远端设备地址,例:我⽤⼿机控制,那么我的⼿机在路由器WIFI上的IP地址为192.168.1.110 AT+CIPSTART=TCP,192.168.1.110,8181 //设置为透传模式 AT+CIPMODE=1 //进⼊透传模式(进⼊后模块就⼀直为透传模式,需要退出则取消发送新⾏,发送+++) AT+CIPSEND 上述设置完成后,模块⾃动成为透传模块。↑↑ 第⼆步:将Arduino 上传LED控制程序。(注意板⼦型号和COM⼝号不要选错) ==Arduino控制程序== int led_pin = 7; //定义⼀个10字节的字符型数组变量ch char ch[10]; void setup() { pinMode(led_pin,OUTPUT); Serial.begin(115200); } void loop() { if (Serial.available())// 检查是否⾄少有⼀个可⽤字符 { for(int i=0;i9;i++) // 此时i只能取前 位,第10位是结束符\0 { ch[i]= char(Serial.read());// 读取串⼝数据 delay(1); } if(strncmp(ch,on,2)==0)// 判断ch前2个字符是否是on { digitalWrite(led_pin, HIGH);// 点亮LED Serial.println(ON);// 串⼝打印ON }

文档评论(0)

凌老大 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档