Micro:bit开发板+8266远程控制-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 11449|回复: 0

Micro:bit开发板+8266远程控制

[复制链接]
发表于 2017-10-8 12:06 | 显示全部楼层 |阅读模式
本帖最后由 王顺 于 2017-10-8 15:13 编辑

       很高兴收到了板子,很激动,之前我已经注意这板子很久了,直到现在才拿到手,美中不足的是我忘记买扩展版了,这个板子感觉外形很吸引人,想内存条一样,看上去,很美观,先看看板子图片吧!
IMG_0015.JPG
我在官网看了一下,这个板子的资源还是很丰富的,外带IIC、SPI总线等很多功能。

}U2SMRU9U_C9Z`K()VZ7T.png


9CG5NZHT@D_R}RD1QXN8J[4.png

还有就是本开发板有对应的上位机图形化编程软件,在线编程,直接拖拽图标,应用很方便。

YTXKR3R~ACJG0F3CHUQ8{%3.png

看完开发板相关信息介绍后,我们进入主题吧,

CCF6FDAB89A1C5694350C56DF21ABE66.png
347862744B7E77B168FA97D5B6D156DB.png

      废话不多说了,首先我介绍一下整个的工作原理,由于本开发板没有串口,但是我在图形化编程看见了虚拟串口,所以我做了一个虚拟串口,借助这个虚拟串口就可以完成向外发AT指令,WiFi模块我采用的是8266模块,采用了AT指令让他工作。然后手机端要安装
用到的软件.rar (656.57 KB, 下载次数: 17) apk。我都打包了,
@RF8(I]@(_}S2((0E%Y0@~B.png

      工作流程是,手机开安装网络调试助手,然后再调试助手你面开一个tcp server 端口,然后WiFi8266通过开发板发AT指令,让8266连接到手机端端口,建立之间远程通信,就可以实现远程控制,手机端下发指令,当8266收到指令后,在通过串口传给单片机,单片机在作出判断来控制相应的引脚输出高或者低电平,原理就是这样的!
8B063FF6596C3182B6D8BBB484B6E3C8.png
手机端界面就是这样的。

接下来我说说怎么连接线

C14A36013839685F1D91418BFF9DD6A9.png

说明一下,WiFi模块供电是3.3V但是我连接板子上的电源,供电不稳定,模块不断的重启不知道为什么!值得思考。
P0 P1是虚拟串口,P2是控制端口。

下面是图像化程序

首先先下发AT指令调试一下8266WiFi模块,可以通过串口调试


1,发送AT+CWMODE=3设置为AP+Station模式
2,AT+RST 重启生效
3,连接WiFi AT+CWJAP=”ssid”,”pwd” ssid–>WiFi 账号 pwd–>WiFi密码
4,AT+CIPMUX=1 启动多连接
5,AT+CIPSERVER=1,8080 打开服务器端口为8080
6,AT+CIFSR 看一下你模块现在分得的ip

     根据手册我们可以知道,ESP8266 作为TCP服务器 的时候,内部IP固定为 192.168.4.1让我们先看一个例子,再来深入理解这里面的门道:
我把我的手机设置成了热点,作为一台无线路由,然后让ESP8266和PC都连进去后!
Step 1:最小系统启动
  这个应该算是比较基础的,若想从FLASH启动进入AT系统,只需中间四个脚接VCC高电平即可,其中GPIO0为高电平代表从FLASH启动,GPIO0为低电平代表进入系统升级状态,此时可以经过串口升级内部固件。
GPIO16(RST)可做外部硬件复位使用。

Step 2:开启客户端(Client)模式(连接服务器)
AT+CWMODE=3//将模块设置为Station+AP模式,提供路由模式,正常返回OK(其实是接着上边来的)
指令:AT+CWMODE= mode
说明:mode:1-Station模式,2-AP模式,3-AP兼Station模式
响应:OK
AT+RST //重启模块,正常返回ready,(WIFi GOT IP)
指令:AT+RST
响应:OK
连接WiFi AT+CWJAP=”ssid”,”pwd”  // ssid–>WiFi 账号 pwd–>WiFi密码

AT+CIPMUX=1//开启多连接模式
指令:AT+CIPMUX=mode
说明:mode:0-单路连接模式,1-多路连接模式
响应:OK

AT+CIPSTART=2,”TCP”,”192.168.1.122”,8080//建立TCP连接//根据手机开的服务自行修改
指令:1)单路连接时(+CIPMUX=0),指令为:AT+CIPSTART= type,addr,port
   2)多路连接时(+CIPMUX=1),指令为:AT+CIPSTART=id,type,addr,port
响应:如果格式正确且连接成功,返回 OK,否则返回 ERROR
   如果连接已经存在,返回 ALREAY CONNECT
说明:id:0-4,连接的id号
   type:字符串参数,表明连接类型,”TCP”-建立tcp连接,”UDP”-建立UDP连接
   addr:字符串参数,远程服务器IP地址
   port:远程服务器端口号

AT+CIFSR 看一下你模块现在分得的ip

调试成功后,可以建立和手机通讯后,在把AT指令移植到图形化编程软件中,放在开机运行里面,应为哪里程序只会运行一遍,不然就会出现程序不断的发AT指令,让你的WiFi模块无法工作运行。


下面是图像化编程

VY%M5ERBP2BGC3J9$)][JCY.png
然后再写进图形化程序里面

8DLB8NOSH3QL~YD_M{A6T_O.png
然后再串口读取做一个判断,根据串口接收的文本长度来做判断,发一个字节8266串口返回的长度是11,两个字节是12,由于串口没有找到相关串口数据分析的编程,所有就只有采用这个笨办法了,如果有跟好的希望大家更贴分享一下,谢谢。

接下来你就可以拿着手机远程控制你的灯泡了,祝你们好运!
IMG_0017.JPG
IMG_0016.JPG



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-30 23:51 , Processed in 0.119792 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表