热度 24
2014-12-15 17:40
1749 次阅读|
0 个评论
概述 工具: 物联网云平台Yeelink DHT11温湿度传感器 W5500EVB 编译环境: Keil4 目的: 通过以太网实时监控远程某个位置的温度和湿度 在W5500EVB端连接LED灯,通过W5500与网络连接,并与物联网云平台Yeelink中添加设备建立连接;之后系统会将读取的温度和湿度上传到物联网云平台Yeelink,这样就可以随时通过网络观察温度和湿度变化。 物联网云平台Yeelink还提供了一个简单的手机,登陆 Yeelink账号,也可以随时随地的观察温度和湿度的变化。 一、物联网云平台 Yeelink 物联网云平台Yeelink在之前发的帖子里有简单的介绍,官方网站也有详细的介绍,在此就不再多讲了。如果有问题的可以回复我,谢谢。 图1是设备添加号以后自动生成的一个开关模型,点击它可以控制LED灯的亮灭。 图1 开关设备 二、W5500简介 韩国WIZnet公司生产的以太网控制芯片W5500整合了五层结构中的前四层,即物理层、数据链路层、网络层和传输层,并在内部利用硬件实现了TCP/IP协议栈。开发者无需专业的网络知识,使用W5500如同控制外部存储器一样简单,为用户提供了最简单的网络接入方法。全硬件TCP/IP协议栈完全独立于主控芯片,可以降低主芯片负载且无需移植繁琐的TCP/IP协议栈,便于产品实现网络化更新。 以太网控制芯片W5500具有以下特点: 1、W5500支持硬件TCP/IP协议,包括TCP、UDP、ICMP、IPv4、ARP、IGMP、PPPoE和以太网的PHY和MAC层,TCP/IP协议的硬件实现,使得应用协议的实现更简单容易; 2、支持8个独立的SOCKET同时工作,可同时工作在不同的工作模式; 3、支持掉电模式,并支持网络唤醒,最大程度地减少功率消耗和发热; 4、支持高速SPI接口(SPI MODE 0,3),SPI的时钟最高可达到80MHz,极大地提高了网络通信的数据传输速率; 5、内部集成32KB存储器用于发送/接收缓存; 6、内嵌10BaseT/100BaseTX以太网物理层(PHY); 7、支持自动协商(10/100-Based全双工/半双工); 8、不支持IP分片; 9、工作电压为3.3V,但I/O信号口可承受5V电压; 10、具有多功能LED指示输出(全双工/半双工,网络连接,网络速度,活动状态等); 11、48引脚LQFP无铅封装(7x7mm, 0.5mm 间距)。 三、系统设计 1. 电路设计 电路很简单,在W5500EVB板上有STM32最小系统电路,所有引脚引出,我们只要在任何一个未被占用的端口接入一个LED登就可以。好多爱好者可能没有这个板子,不过没关系。淘宝上有好多W5500的模块,通过SPI方式于你们自己的最小系统连接,再在程序中相应的引脚对应好,就可以方便控制 2. 程序分析 char postT ={42,96,164,52};// api.yeelink.net 的ip地址 RCC_Configuration(); /* 配置单片机系统时钟*/ GPIO_Configuration();/* 配置GPIO*/ NVIC_Configuration();/* 配置嵌套中断向量*/ // Timer_Configuration(); Systick_Init(72);/* 初始化Systick工作时钟*/ USART1_Init(); /*初始化串口通信:115200@8-n-1*/ at24c16_init();/*初始化eeprom*/ // printf(“W5500 EVB initialization over.\r\n”); Reset_W5500();/*硬重启W5500*/ WIZ_SPI_Init();/*初始化SPI接口*/ // printf(“W5500 initialized!\r\n”); set_default(); set_network(); while(1) { switch(getSn_SR(ch)) { case SOCK_INIT: connect(ch, server_ip ,80); break; case SOCK_ESTABLISHED: //case SOCK_CLOSE_WAIT: if(getSn_IR(ch) Sn_IR_CON) { setSn_IR(ch, Sn_IR_CON); } memcpy(Buffer,post,strlen(post)); send(ch,(const uint8 *)Buffer,sizeof(Buffer)); memset(Buffer,0,sizeof(Buffer)); // printf(“%d:Socket Send OK\r\n”,ch); recv(ch,Buffer,405);/*W5500接收来自Sever的数据*/ 继续阅读:http://www.iwiznet.cn/blog/?p=6677