左耳朵的耗子 发表于 2016-10-23 16:34:38

51系列单片机接入机智云教程(51单片机联网教程)

本帖最后由 Genius 于 2018-5-21 09:44 编辑

大家好,本人电气屌丝一个,平时工作stc15系列用的多,手里只有一块12的板子,就在12上做了,stm32正在学,申请了G2后,移植32的代码,读起来感觉有点费劲(太笨了),stm32的在后期在做,所以先把将51接入机智云的详细步骤列举出来,若内容中有不对的地方,欢迎大家指正;
PS:这里51单片机通讯协议,是在唐七星编写的,帖子链接http://club.gizwits.com/thread-2709-1-3.html;
不过原始代码中没有按照通讯协议去掉FF后面的55,在有些情况下会出错,我实验了一下。sn是从0加到255的然后在循环,还有当数据中出现ff就会出错;我在他的代码里面修改了一下,完善了通讯协议,并且加入数据校验程序,,只有数据校验成功后,才会执行,不过整体程序框架还是唐七星的框架,没有改动,这也是对原作者的尊重;
我准备把他的串口接收程序换掉,种需要用一个定时器,修改后不需要定时器,还有就是mcu返回指令的数组,我也换掉了,用了其他的方法,更加简洁,加入了2401,此版本已经写好了,还没调试。后期我准备打一小批PCB,造福大家。最近事情比较多,pcb要搁浅一段时间。
硬件准备:
1;esp8266模块一个,大家可以在X宝上自己买,8266-12f的最好,要是找不到,可以告诉我,我有连接

2:8266转接板一块;

3:51单片机最小系统,或者是51系列的开发板也可以;

4:usb转ttl一块(也就是平时下载程序的);


STEP1:将8266模块烧入机智云的固件,按照论坛教程http://club.gizwits.com/thread-3551-1-1.html;教程很详细很详细很详细的啦;

SETP2 : 找几根杜邦线,按照图将8266的引脚与单片机的引脚连接在一起,有一个问题,就是8266是3.3v供电的;51是5v的(也有3.3的,更好啦),网上说要电平转换,我实验了一下,可以不要转换,也可以正常通讯,但是还是建议大家转换一下保平安;


SETP3:注册机智云帐号,添加一个项目,这里还是以原作者的8个led灯为例;







SETP4:获取产品KEY;这里注意一下,这个key是字符型,要转换一下,转换的地址http://www.bejson.com/convert/ox2str/;你会获得一个32个字节,在程序源码中替换,一定要输入正确,一定要输入正确,一定要输入正确,重要的事情说三遍;



SETP5:其实我们需要做的就是根据通讯协议,知道接收的数据控制那个东西的就可以了比如控制P0亮;一定要熟读开发协议,这是核心部分的;

SETP5:怎么移植到自己的51上面去呢?
1修改串口初始化程序部分,大家可以用stc自带的下载软件里面有自动生成初始化代码的东东;


SETP6;这样就可以; 大家可以看看实际的效果,http://v.youku.com/v_show/id_XMTc3MTM1NzQxNg==.html,仅仅限于交流学习,若用作其他用途,请联系原作者唐七星;


static/image/hrline/1.gif

请注意,听官方说ESP8266固件烧写方式有更新,请参考最新版的固件烧写方式来烧写固件。

http://docs.gizwits.com/zh-cn/deviceDev/ESP8266%E4%B8%B2%E5%8F%A3%E7%83%A7%E5%86%99%E8%AF%B4%E6%98%8E.html







tianzuoan 发表于 2016-11-8 11:46:10

bigfanofloT 发表于 2016-11-2 12:50
你需要2部手机,1部用于做热点,另一部用于使用APP配置入网调试

烧写程序给STC89C52RC后,可以按p21进入AP模式,连也可以接上ESP-12F但是app界面怎么还是我上次用串口仿真时的那个控制界面,跟MCU里面的代码对应不上,且手机按键后,ESP闪灯几下,说明是收到手机发来的信号,只是单片机并没有做出相对应的亮灯。。怎么破?

左耳朵的耗子 发表于 2016-12-4 10:57:51

愁雨飘 发表于 2016-12-2 19:47
楼主,你好,非常感谢你的教程,在用的过程中有一个问题,想请教你,我怎样把数据提取出来控制LED的亮度呢 ...

你好,在控制程序中,并没有控制亮度的,只是开和关,不停调亮度,都是开关量,你可以下载帖子的通信协议,看一下上面对应的控制位,就是对应控制的LED.不懂再问,主要就是看懂通信协议,知道协议就知道怎么读取控制量了

假装很深沉 发表于 2018-5-1 13:03:34

tianzuoan 发表于 2016-11-8 11:46
烧写程序给STC89C52RC后,可以按p21进入AP模式,连也可以接上ESP-12F但是app界面怎么还是我上次用串口仿 ...

同样的问题,灯会闪烁,但是io口不能动作,怎么弄啊,难道是kel编译的时候选择了pdata?源码使用data编译显示溢出,不能编译

伯乐 发表于 2016-10-23 17:40:07

SETP5:其实我们需要做的就是根据通讯协议,知道接收的数据控制那个东西的就可以了比如控制P0亮;一定要熟读开发协议,这是核心部分的; 哥们 ,能整理详细点这里的资料?不是很懂。。

左耳朵的耗子 发表于 2016-10-23 18:25:01

本帖最后由 左耳朵的耗子 于 2016-10-23 18:26 编辑

伯乐 发表于 2016-10-23 17:40
SETP5:其实我们需要做的就是根据通讯协议,知道接收的数据控制那个东西的就可以了比如控制P0亮;一定要熟读 ...
你自己添加数据点,然后生成通讯协议,协议写的很清楚,

bigfanofloT 发表于 2016-10-23 20:12:29

真棒,感谢您的分享:):)

aaa9999 发表于 2016-10-24 10:10:15

请问下这个硬件是怎么连线的呢?



左耳朵的耗子 发表于 2016-10-24 23:13:19

aaa9999 发表于 2016-10-24 10:10
请问下这个硬件是怎么连线的呢?

定义外设,就像sbit lcdo=p0︿0一样,在control.C里面,

tianzuoan 发表于 2016-10-25 13:57:33

楼主您好!ESP8266非得12F才行吗?还是其他型号如esp8266-01也可以?谢谢

tianzuoan 发表于 2016-10-26 20:15:20

有没有大神新买的esp8266-12F通电什么指示灯也没有闪的?是不是我买到坏的了?

左耳朵的耗子 发表于 2016-10-26 21:30:29

tianzuoan 发表于 2016-10-26 20:15
有没有大神新买的esp8266-12F通电什么指示灯也没有闪的?是不是我买到坏的了? ...

那个蓝色的是通信指示灯。有数据收发才亮。当时我也以为坏了..   

左耳朵的耗子 发表于 2016-10-26 21:31:42

tianzuoan 发表于 2016-10-25 13:57
楼主您好!ESP8266非得12F才行吗?还是其他型号如esp8266-01也可以?谢谢

有网友反馈是用01遇到了许多奇怪的问题。但是12f都可以

tianzuoan 发表于 2016-10-26 21:39:30

左耳朵的耗子 发表于 2016-10-26 21:31
有网友反馈是用01遇到了许多奇怪的问题。但是12f都可以

谢谢热心答复!

tianzuoan 发表于 2016-10-26 21:46:44

左耳朵的耗子 发表于 2016-10-26 21:31
有网友反馈是用01遇到了许多奇怪的问题。但是12f都可以

我下载固件geiesp-12f,怎么说打开串口失败啊?是不是我哪里搞错了?

tianzuoan 发表于 2016-10-28 12:46:48

bigfanofloT 发表于 2016-10-23 20:12
真棒,感谢您的分享

ESP8266可不可以连接手机分享的WiFi热点接通到机智云的?

bigfanofloT 发表于 2016-10-28 15:57:45

tianzuoan 发表于 2016-10-28 12:46
ESP8266可不可以连接手机分享的WiFi热点接通到机智云的?

可以的

左耳朵的耗子 发表于 2016-10-28 20:15:00

tianzuoan 发表于 2016-10-26 21:46
我下载固件geiesp-12f,怎么说打开串口失败啊?是不是我哪里搞错了?

看你的串口对不对,电脑右击设备管理器串口

林光光1号 发表于 2016-10-28 23:48:11

好资料啊,有空我试试,不懂再请教:lol

tianzuoan 发表于 2016-11-2 10:29:33

左耳朵的耗子 发表于 2016-10-28 20:15
看你的串口对不对,电脑右击设备管理器串口

串口是正确的,但是就是没法下载,我在找找

tianzuoan 发表于 2016-11-2 10:30:59

左耳朵的耗子 发表于 2016-10-28 20:15
看你的串口对不对,电脑右击设备管理器串口

对了,esp8266可不可以连接手机分享出来的wifi=进行远程控制的?有没有试过,就是相当用手机当做路由器

tianzuoan 发表于 2016-11-2 10:32:53

bigfanofloT 发表于 2016-10-28 15:57
可以的

您试过吗?程序不要改变什么?也是按照连接普通路由器的办法来连接吗?谢谢!

bigfanofloT 发表于 2016-11-2 12:50:45

tianzuoan 发表于 2016-11-2 10:32
您试过吗?程序不要改变什么?也是按照连接普通路由器的办法来连接吗?谢谢! ...

你需要2部手机,1部用于做热点,另一部用于使用APP配置入网调试
页: [1] 2 3 4 5
查看完整版本: 51系列单片机接入机智云教程(51单片机联网教程)