如果你8266是at固件 那么两边都有一个51单片机
通过发送at指令加自定义数据 另一个51接收到后 控制相关的io就可以了
你需要控制几个IO口,只是一般开关,且IO口不多于2个(对esp8266-s1这样的基本上的透传加很少IO的模块)的话,其实51单片机模块都可以不要,直接用esp8266都可以的,当然,如果你的51模块已经开发好,只需要接一个串口透传,则不是这里讨论的问题。
其实esp8266可以有10多个IO可用的。
51单片机通过串口连接ESP8266,然后在51中编写代码,控制ESP8266连接到OneNET的云服务器,在服务器上建立项目,使用MQTT协议就能够使得51与OneNET云服务器之间建立连接了,MQTT协议是支持51对服务器的状态信息上传,同时支持云服务器对51的命令下发。也就是过可以通过操作云服务器的web界面来控制51单片机了。然后在手机上下载OneNET的Android客户端程序,登录OneNET账号后就能够看到自己建立的工程,并且通过手机下发指令控制51了,51在接收到OneNET下发的指令后,根据内容控制IO口状态即可。
本社区就有多片文档描述相关实现方式,可以参考。
具体过程可以参考如下文档:
//www.icxbk.com/article/detail?aid=226
MQTT协议的分析,可以参考如下文档:
//www.icxbk.com/article/detail?aid=121
题主如果熟悉arduino的话可以直接看用安人队弄开发esp8266的方法,和使用其他的arduino单片机的方式差不多,可以直接联网。
再就是如果题主熟悉51单片机的话可以看看机智云这个平台,它可以直接在网上配置好数据点然后生成51的工程下载下来。这个工程可以选择使用stc15f2k60s2的单片机,基于51内核。
其实好多 云开发板都是你这个思路实现的远程开关,比如 涂鸦云,机智云,中移动,都是 esp8266 只负责网络通信,单片机解析协议,处理数据,执行指令上传结果。
机智云,涂鸦云都有源码,注册个账号下载看看,远程测试时候也能用到
51 是不具备 接收无线信号的, 将可以接收无线信号的ESP8266 通过协议 硬件连接使51 插上可以接受无线信号的翅膀
思路就是这样子的