XMEGA web服务器板(WIZnet应用)– Elektor十月刊

博客
2013年10月,Elektor 期刊介绍了XMEGA web服务器板,使用的网络模块是WIZnet WIZ820io。 这篇文章在欧洲地区已经用六种语言刊登出版,并对WIZnet产品产生了一定的市场效应。 这个项目介绍文章在这期82页的杂志中占据了11页。 下面是主标题,详述了这个模块和关于此项目的一些基本信息。 你可以在如下的其他页面看到WIZ820io模块更详细的信息。   期刊中很多的WIZnet相关参考如下: (1)由于篇幅原因没有办法在这里进行完整描述,但可以从韩国WIZnet原厂获得文档[15]。 驱动是用C编译的,广泛用于单片机,给应用代码提供一个接口(比如一个web服务器) ==>[15]www.wiznet.co.kr/WIZ820IO (2) 现存的ElektorBus库, KöpLe的一个小显示库和WIZnet驱动都在"嵌入式固件库"的发展中扮演一定角色。 (3)WIZ820io 模块的socket, Elektor提供(#130076-91) 请看WIZnet820 全图   下面这些与接口相关: 久经考验的UART接口仍然用于最常见的板间通信。所需编程很简单,这是因为硬件UART已经在单片机中建好。更重要的是,还有许多转换器可用,例如RS-485和USB。我们的微处理器包括6个UART模块,其中三个在板上直接可用。 来自其中一个UART的信号PC2和PC3用于一个RS-485驱动设备,通过RS-485A和B引出了一个接线端子。 阅读全文,点击以下链接: 文章URL:https://www.elektor.com/xmega-multi-function-board-controller-module 如你想得到更多关于此项目和此模块的信息,请点击以下链接: https://www.elektormagazine.com/labs/embedded-firmware-library-efl https://www.elektormagazine.com/magazine/elektor-201310/23489 https://www.elektormagazine.com/magazine/elektor-201310
Read More

基于W5500的Arduino插板–ioShield-A(提供资料下载)

博客
ioShield-A 可使Arduino板实现联网。 基于WIZ550io网络模块(使用WIZnet W5500以太网芯片)。W5500提供一个硬件网络协议栈(TCP/IP)可用TCP/UDP进行通信。支持8个独立的端口同时工作。并且,上电初始化后,WIZ550io内嵌 MAC地址和默认IP地址,可以在用户的电脑上ping到。 ioShield 使用W5500芯片集,替换W5100在之前Arduino以太网板上的库文件,请在此下载(W5500 Arduino库文件):https://github.com/Wiznet/WIZ_Ethernet_Library 兼容的板列表 Arduino 板 Arduino board (e.g. the Uno) Arduino Leonardo Arduino兼容板 Seeeduino v3.0 : 基于 Arduino Duemilanove 尽管你有 不带AVR的Arduino兼容板,你也可以使用ioShield硬件。但是你应该给每个芯片集使用适当的S/W库。请参考每个产品的网页: Cookie Board : 基于 ARM Cortex-M3/M0 http://www.coocox.org/Cookie.html GR-Sakura Board : 基于 Renesas 32-bit RX63N http://www.renesas.com/products/promotion/gr/index.jsp#board Chipkit : 基于 Microchip PIC series http://chipkit.net/ 现有资源 所有的ioShield的设计文档及源代码都可在Github上找到: 硬件: 原理图(PDF file), 原理图&PCB 文档(Eagle CAD), 零件清单(PDF file) 以太网库 : https://github.com/Wiznet/WIZ_Ethernet_Library
Read More

为您的设备添加社交网络功能

博客
此文章已刊登在《无线电》杂志2014年1月刊 社交网络与物联网 近年来,随着Twitter和Facebook的大热,社交网络这个名词红遍了大街小巷。截至2012年,全球社交网络的使用人数超过了14亿!不管是明星大腕,还是草根百姓,还是权贵政要,都拥有自己的社交网络的账号,而且关注者众多,动辄数以千万计。在2012年美国总统竞选时,奥巴马的Twitter更是发挥了前所未有的影响力,竞选当时奥巴马的跟随者(粉丝)已超过了850万名,排名全美第三,仅次于美国歌星ladygaga和加拿大小天王贾斯汀·比伯。国内社交网络也不甘落后,各大门户网站紧急跟进,类Twitter和Facebook网站如雨后春笋,争相破土而出。新浪更是抢到了weibo.com!个人认为新浪的微博相对来讲和Twitter更接近,使用起来较为方便。与此同时,各类人物也都争相开通了自己的微博,例如知名的李开复先生、演员姚晨等等,粉丝都超过了几千万。试想一下,他们的每一条微博都将可能被几千万人看到,受众人群如此之众,社交网络的信息传播方式又一次改变了人们对互联网的认识。 然而,硬件也不甘心落后,物联网融合传统的传感器网络和互联网,使每个硬件设备都有机会连接互联网。微电子技术的发展,尤其是单片机发展的突飞猛进,价格下降的同时,运算能力大幅上升,使得一些传统的白色家电,诸如电视、空调以及冰箱等设备连接网络成为现实。更有一些公司为了方便开发者和使用者,推出了物联网云平台,例如国内比较知名的就有YeeLink还有乐为物联等,用户可以同过这些平台随时随地了解自己设备的状态并且能远程控制。 早在2011年底,就有浙大的学生开发出了会发微博的饮水机(如下图1所示),来方便自己随时知道饮水机的状态。不过他这个做法相对原始,并没有实现饮水机连网,而是通过一个设备把饮水机的状态传送给电脑,由电脑来完成连网发微博的功能。 图1. 会发微博的饮水机(图片源自:http://info.js.hc360.com/2012/04/0908545081.shtml) 今天我们要介绍主要内容是让设备自己发微博,不需像上面饮水机那样还需要电脑辅助;也就是说如何实现给饮水机一根网线就能让她发微博。   开发环境 工欲善其事,必先利其器。我们先来看一下开发环境。开发板如图2所示。 1.  开发板基本情况 a)         单片机:STM32F103RC,256K字节Flash,48K字节SRAM,2K字节EEPROM b)         以太网控制器:W5500,SPI接口与单片机相连 c)         电源:USB供电 2.  开发工具: IAR for ARM v5.41,这是我们工程所使用的版本。如果使用不同版本的IAR,请对STM的库稍作调整。 3.  其他 a)         新浪微博用户名和密码;如若没有,就赶快给你的设备申请一个吧! b)         一根Mini接口的USB线,如图2所示。 c)         一根网线。 d)         STM32芯片的串口程序烧录工具,STM官方提供的程序名为:Flash Loader Demo,运行界面如图3所示。 图2. USB线示例   图3. 程序烧录工具运行界面 程序开发 看代码之前,我们还是先来了解一下整个的程序流程,如下图所示。在硬件初始化完成之后,将进行网络参数配置,这是要根据自己网络的情况来配置W5500的IP地址等网络参数,确保W5500能连接外网;然后初始化W5500的一个Socket,再连接服务器,等待连接成功后,直接发送微博内容。就这么简单,下面还是详细看一下代码吧。   图4 程序流程图 熟悉完了开发环境,我们就来看一下具体的代码实现,在此我们无法贴出全部代码,这里只贴出发送微博实现部分的代码(请查找weibo.c),想要全部代码的话,到http://wizwiki.net/forum/download/file.php?id=48下载。   1#include "w5500/socket.h" 2#include "w5500/w5500.h"   #include <stdio.h> #include <string.h>   3#define SOCK_WEIBO      2                     //the socket number is used for weibo; it can be a number between 0~7 4#define WEIBO_SERVER    "61.109.255.136"      //weibo server IP address string 5#define HTTP_PATH       "/wiznet/"            //HTTP path 6#define WEIBO_ID        "[email protected]"   //your sinaweibo ID 7#define WEIBO_PWD       "******"             //your sinaweibo password   chartmp_buf[512]={0x00,};                              //a temp buffer to store weibo content and HTTP header unsigned char post_weibo(char* weibo) { 8unsigned char weibo_server_ip[4] = {61,109,255,136};    //Weibo server IP address 9static unsigned intany_local_port…
Read More