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

王顺 发表于 2017-10-8 12:06

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

本帖最后由 王顺 于 2017-10-8 15:13 编辑

       很高兴收到了板子,很激动,之前我已经注意这板子很久了,直到现在才拿到手,美中不足的是我忘记买扩展版了,这个板子感觉外形很吸引人,想内存条一样,看上去,很美观,先看看板子图片吧!

我在官网看了一下,这个板子的资源还是很丰富的,外带IIC、SPI总线等很多功能。






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



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




      废话不多说了,首先我介绍一下整个的工作原理,由于本开发板没有串口,但是我在图形化编程看见了虚拟串口,所以我做了一个虚拟串口,借助这个虚拟串口就可以完成向外发AT指令,WiFi模块我采用的是8266模块,采用了AT指令让他工作。然后手机端要安装apk。我都打包了,


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

手机端界面就是这样的。

接下来我说说怎么连接线


说明一下,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 打开服务器端口为80806,AT+CIFSR 看一下你模块现在分得的ip
   根据手册我们可以知道,ESP8266 作为TCP服务器 的时候,内部IP固定为 192.168.4.1让我们先看一个例子,再来深入理解这里面的门道:我把我的手机设置成了热点,作为一台无线路由,然后让ESP8266和PC都连进去后!Step 1:最小系统启动  这个应该算是比较基础的,若想从FLASH启动进入AT系统,只需中间四个脚接VCC高电平即可,其中GPIO0为高电平代表从FLASH启动,GPIO0为低电平代表进入系统升级状态,此时可以经过串口升级内部固件。GPIO16(RST)可做外部硬件复位使用。http://img.blog.csdn.net/20161108202611455
Step 2:开启客户端(Client)模式(连接服务器)AT+CWMODE=3//将模块设置为Station+AP模式,提供路由模式,正常返回OK(其实是接着上边来的)指令:AT+CWMODE= mode
说明:mode:1-Station模式,2-AP模式,3-AP兼Station模式
响应:OKAT+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
http://img.blog.csdn.net/20161108220908045
调试成功后,可以建立和手机通讯后,在把AT指令移植到图形化编程软件中,放在开机运行里面,应为哪里程序只会运行一遍,不然就会出现程序不断的发AT指令,让你的WiFi模块无法工作运行。


下面是图像化编程


然后再写进图形化程序里面


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

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





页: [1]
查看完整版本: Micro:bit开发板+8266远程控制