用WIZwiki-W7500 和 Arduino Motor Shield 进行网页电机控制

博客
在这个项目中,我将介绍使用电机插板(官方)来实现网页直流电机(电脑风扇)控制。 你可以控制电机慢速或快速转,或者停下来。 如果你想在网页中增加控制按钮或者改变控制按钮,都可以。 我用的WIZnet的W7500。这个MCU是硬件TCP/IP协议栈的。 步骤1:准备材料 1. WIZwiki-W7500 板 2. Arduino motor shield(电机插板) 3. 直流电机(电脑风扇) 4. 12V 适配器 步骤2:硬件连接(堆叠电机插板) WIZwiki-W7500 与Arduino引脚兼容,所以电机插板可以轻松堆叠。 步骤3:硬件连接(连接直流电机) 随后将直流电机与电机插板连接。 步骤4: 硬件连接(连接适配器) 直流电机需要12V,所以你需要给电机插板连接一个额外的12V适配器。 现在所有的材料都准备就绪了。 步骤5:安装编译器 我用的编译器是Keil。 所以项目有Keil创建。 Keil是免费气筒的。可以现在Keil 编译器并进行安装。 步骤6:下载项目及库文件 我上传代码至github。 下载项目及库文件:https://github.com/hjjeon0608/W7500 步骤7:演示 http://v.youku.com/v_show/id_XMTI3MzI0NzcwNA==.html?from=y1.7-1.2 这里有3个速度等级按钮及1个停止按钮。 翻译自:http://www.instructables.com/id/Motor-Control-with-arduino-motor-shield-via-Web/
Read More

用网页服务器实现钢琴弹奏(使用Wizwiki-W7500)

博客
 我将为大家介绍一个可以弹钢琴的网页服务器。 你只需要打开网页,跟着下面步骤,用这个WIZwiki-W7500项目,就能轻松实现用网页服务器弹钢琴。 非常简单! 我们开始吧! 第一步:准备材料 我们需要一些材料。 1. WIZwiki-W7500 板,购买 2. Easy Module Shield *3,购买 (只用到了蜂鸣器功能,可以用任意蜂鸣器替换) 3. 一些线材(一些跳线,网线,mini B型 USB线) 这些都是项目所需。 步骤2:硬件连接 硬件连接非常简单。 按照图片所示。 请连接USB线及网线。你可以在下面的网页得到更多的硬件信息: http://wizwiki.net/wiki/doku.php?id=products:wizwiki_w7500... 步骤3:准备开发环境 我按照以下网页准备了MDK开发环境。 http://wizwiki.net/wiki/doku.php?id=products:w7500:documents:appnote:install_uvision 我安装了MDK Keil 5工具。 安装好所有工具,你就可以开始跑这个项目了。 步骤4:软件参考:库 我们只需要下载几个库: W7500库:https://github.com/Wiznet/W7500 使用httpserver例程; 以及html源码,请参考链接:https://github.com/LFeh/piano-keyboard 我制作网络服务器就用了上面的两个库。 步骤5:软件:源码 这有一个项目所需的源码。 请在以下链接下载例程: https://github.com/khj098765/W7500_Project_Webserver_piano 代码还需要注意的几点: 1. 你需要根据自己的信息在 main.c zhong 修改 mac[] 以及 ip[] 2. 如果你想自动增加另外一个首歌,你需要修改源码。 3. 如果你取消了 httpUtil.c 中地311行的注释,你想要在缓存总增加歌曲,那就这样! 编译之后,固件就下载到WIZwiki-W7500中了。 你就可以运行WIZwiki-W7500的网页服务器应用了。 步骤6:怎样运行:测试结果 此项目将使用网页钢琴,早起叫醒系统,卡拉OK系统。 你可以通过视频查看测试结果(请点击下面原文链接),感谢关注! 翻译自:instructables.com http://www.instructables.com/id/Music-playing-with-buzzer-used-Webserver-using-WIZ/
Read More

WIZnet将参展2015年深圳MakerFaire制汇节!

新闻
Maker Faire 是美国Make 杂志社举办的全世界最大的DIY聚会。它是一个展示创意、创新与创造的舞台,一个宣扬创客(Maker)文化的庆典,也是一个适合一家人同时参加的周末嘉年华! 已有着8年历史的maker faire足迹遍布全球上百个国家,其中Featured级别的Maker Faire活动已在纽约,东京等国际大都市成功举办,而深圳也是继他们之后第七个获得举办Featured级别Maker Faire的城市。 Maker Faire Shenzhen 2015场地将与万科集团合作,在万科深圳最大在建项目万科留仙洞北绿廊展开。设立展位200余席,邀全球Maker共同参与,协力构建中国创客生态圈。 参展人在这里可展示自己的技术创意、服务或产品,传播科技创新并与大众消费者建立联系,甚至在这里遇见投资人或找到合适的上下游供应商。 参观者在此可全家参与得到不一样的亲子体验,同时也有专业展品满足创客们的要求,文化人艺术青年更可以在这里紧贴潮流趋势成为文化先锋。这里可以发现科技拓宽视野,分享艺术、手工、科学、工程、音乐等领域各种精彩的DIY作品。 自2012年,Maker Faire走进中国,直至2015年已将迎来第4个深圳制汇节,此次盛会将依然由柴火创客空间主办,WIZnet继去年作为赞助商,将第二次参加此次盛会,将带着我们的最新创意及产品参展,期待你的到来! 时间: 2015年6月19号 – 6月21号 地点: 深圳南山区软件产业基地(科技园滨海之窗三诺大厦旁) 展位:D39  
Read More

蓝牙BLE以太网网关在智能家居中的应用

博客
已刊登至《无线电》六月刊 早在1994年爱立信公司就创立了蓝牙技术,并制定了基本的技术规范,原意是创造一种设备间通讯的标准化协议,以解决设备间通讯不兼容的情况,规范公布后得到大量移动设备制造商的支持,并于1999年成立蓝牙技术联盟(Bluetooth Special Interest Group),该联盟制定并维护蓝牙无线规范,并对设备制造厂商提供Bluetooth认证与授权。 当前影响最广的版本应该是蓝牙4.0,本标准中增加了Bluetooth Smart和Bluetooth SmartReady标准。特别是Bluetooth Smart版本,作为低功耗蓝牙(Bluetooth Low Energy,简称BLE),相对历史版本有质的飞跃,主要表现在成本低,功耗低,峰值电流极小并可以非常快速的建立连接,使用一粒纽扣电池就可以连续工作数年之久。相较于Zigbee和传统蓝牙,协议标准化和低功耗的优势让BLE在智能家居和穿戴设备上的优势一目了然,如图1所示。   图1 常用无线协议比较 特别是2011年开始苹果iOS原生支持BLE之后,BLE得到大量iOS周边厂商和智能设备厂商的响应,基于BLE技术开发的智能硬件遍地开花,如:智能体重秤,智能手环,智能灯控,智能水杯,智能马桶,智能闹钟…… 项目背景   近两年各种智能家居的产品层出不穷,而且众多“科技公司”“互联网企业”“资本投资公司”纷纷加入战团,看到做手机的A公司出了一个智能净化器,做空调的B公司出了一个智能手机,做手表的C公司出了一个智能手环,做马桶的D公司坐不住了,在马桶里面塞进去了一个温控+通讯模块,就诞生了智能马桶…智能设备市场好热闹啊。那么智能产业迅速发展的现在,我们在智能家居上还能有什么创意可以挑衅?灵感真的都源于生活,小熊有一天开门收快递,然后无情的风把万恶的门拍死了,只剩小熊穿着睡衣举着手机拿着包裹在风中凌乱,开锁小哥在小熊女友担保外加3张毛爷爷之后才高抬贵手开了门,懊恼啊…拍大腿的瞬间,当时小熊就萌发了一个念头,要是门锁换成智能控制的话,是不是钥匙就不再困扰我们了!!!只需要打开手机APP,就可以操纵智能门锁开门,或者像有强迫症的熊二,每次锁完门都要回头再看一次门有没有锁好,是不是有了门锁的手机APP,就可以随时看自家门锁的开关状态了! 想法出来了,回头就开始一步步落实。经过对场景设想,最终选用蓝牙+以太网网关的方案,正是因为蓝牙短距离+传输速度快的优势,其中以太网网关部分使用W5500硬件协议栈芯片实现。为了更加体现门锁的智能化,小熊设想了几个场景:其一是小熊出门收快递,门被无意中关上了,可以直接用手机开门;其二小熊不在家,小熊女朋友需要进门洗衣服做饭,小熊可以远程给女朋友开门;其三是熊二被女朋友赶出来了,需要临时借宿,小熊可以给熊二手机授予限时的开门权限(如2周)。看起来是不是很强大!图2就是小熊今天要为大家介绍的蓝牙智能门锁的实现示意图。 图2 蓝牙智能门锁示意图 本方案的组成主要分为三个部分:BLE门锁机构,BLE网关设计,门锁管理服务器。因为门锁管理服务器主要为数据库管理以及APP调用等内容,本文不做过多阐述,本文将主要讲述BLE门锁和BLE的以太网网关的实现等部分内容。 关于BLE的实现,我们选用的是目前市场上最常见的TI CC2541,CC2541是BLE单芯片解决方案,包含一个工业级的8051内核以及RF收发器,集成TI的BLE低功耗协议栈并拥有相对完善的低功耗外设;而以太网部分用的硬件协议栈芯片W5500,W5500芯片使用硬件逻辑门电路实现TCP/IP协议栈的传输层及网络层(如:TCP, UDP, ICMP, IPv4, ARP, IGMP, PPPoE等协议),并集成了数据链路层,物理层,以及32K字节片上RAM作为数据收发缓存。不言而喻,W5500非常适合CC2541这种8051内核,而且片上资源不是很丰富的MCU,一切就这么愉快的决定了。 为了实现BLE通讯,我们需要使用两个CC2541模块,一个作为Central,另一个作为Peripheral;他们之间实现BLE通信,其中Peripheral作为门锁机构的控制,而Central则驱动W5500作为TCP Client实现网络通信,从而在网络端查询门锁状态以及实现网络控制开锁的功能。图3列出了需要准备的硬件设备。 图3 所需硬件设备 准备工作: 1. 安装编译环境IAR Embedded Workbench for 8051 8.10 Evaluation 2. 安装协议栈BLE-CC254x-1.3.2 3. 安装CC-Debugger模块调试下载器驱动   BLE以太网网关部分: BLE以太网网关部分结构如图4:   图4 BLE以太网网关接线图 需要在CC2541的Central模式中集成W5500的驱动以及Socket处理部分,由于W5500的函数驱动库是分层次书写的,我们只需将SPI通信的硬件抽象层的函数重新编写即可。以下为CC2541的SPI1的初始化配置函数和数据收发函数的程序,以及复位管脚的控制程序: 01 void WIZ_SPI_Init(void) 02 { 03     PERCFG |=  0x02;                // PERCFG.U1CFG = 1 04     P1SEL  |=  0xE0;                // P1_7, P1_6, and P1_5 are 05                peripherals 06 07     P1SEL  &= ~0x10;                // P1_4 is GPIO (SSN) 08     P1DIR  |=  0x10;                // SSN is set as output 09 10     // Set baud rate to max (system clock frequency / 8) 11     U1CSR = 0;                      // SPI Master Mode 12     // Configure phase, polarity, and bit order 13     U1GCR…
Read More

怎样制作「用手机&电脑控制的Arduino-3D打印机器人」– IoBot?

博客
 如果你正在探寻控制Arduino设备的方式,这个教程将告诉你如何通过建立简单的机器人来实现。 IoBot由手机&电脑应用控制,通过LAN或USB。应用可在Android,Mac OS及Windows操作系统下运行,在IoBoT的网站(http://iobot.info/)有下载。 所有的塑料零件都是3D打印的,Arduino是核心,控制应用用Python/Kivy 语言实现。 并不需要编程知识,但是我已经提供了链接,你可以在上面找到关于他们更多详细的信息。这对于一些需要修改代码和为Arduino sketch的订制应用很有帮助。 选择低成本,容易购买的零件对于我设计这个机器人,是非常优选额。左右选择零件,螺栓和线材大约在英国的Ebat上花了45欧元。如果你没有3D打印机,带有3D HUBS的打印塑料零件选择,在我们这要19欧元起。 材料及工具         电子零件: 1x Arduino Uno R3 微控制器板 1x 用于Arduino的 Ethernet Shield( WIZnet w5100) 4x TowerPro SG90 微型伺服器 2x 5mm LED 发光二极管 2x 220呕电阻 0.25W  Arduino Uno 板: 如果没有原装Arduino UNO,请确认压实100%兼容的克隆版。我建议你不要买假货。 Ethernet Shield: Arduino兼容的WIZnet W5100 Ethernet Shield -- 目前这是最流行的插板型号。使用了标准的Arduino Ehternet库并且已经管饭普及。有些版本可能有些诧异,但是只要基于W5100能工作就行。 SG90 伺服器: 这是我知道的最便宜&最普遍的伺服器。你会在套件中拿到很多螺丝及机械臂,项目的后面是能用到的。 LED 及 电阻: 最常见的电阻及直径为5mm的标准LED。当然你可以用不同颜色的LED。 工具: 1x 十字螺丝刀 PH1 1x 开槽螺丝刀 2-3mm大小 1x 扳手 4mm大小 1x 六角扳手 1.5mm大小 1x 剥线器 1x 钢丝钳 1x 打火机 其他零件: 4x AA 电池 1x 电池组 4x AA 1x 6F22 9V 电池 1x 6F22 电池扣,带有 2.5mm 电源插头 1x 半尺寸无焊料面包板 14x 杜邦跳线插头10cm 长 7x 杜邦跳线插头20cm 长 4x 杜邦跳线插头30cm 长 2x 1/0.6mm实心焊丝 20cm 长 4x 3mm 热收缩电缆套管 2cm 长 12x M2 亚伦螺栓 10mm 长 4x No 2 自攻牙Pozi螺栓 6mm 长 12x M2 螺母 12x 不锈钢M2 垫圈 4x 尼龙 M2 垫圈 1x…
Read More

Wizwiki-W7500 正式登陆ARM mbed!

博客
ARM mbed,是ARM公司面向ARM处理器、为物联网设备提供服务的原型开发平台。旨在为各合作厂商创造一个统一的、为客户打造开源资源的平台。它提供的资源具体包括免费的软件库(SDK),硬件参考设计(HDK)和在线工具(Web)三部分内容。 Wizwiki-W7500发布之初既迅速登录mbed,期待携手ARM mbed,Wizwiki-W7500带给您更多强大、便捷体验! WIZwiki-W7500是一个基于W7500的WIZwiki平台板。IOP4IoT W7500芯片是集成了Cortex-M0的单芯片解决方案,128KB Flash及全硬件TCP/IP核,用于多种嵌入式应用平台,特别是物联网。如果你使用WIZwiki-W7500板,你可以轻松评估W7500并测试其效能&全部功能。WIZwiki-W7500也可以与Arduino Shield搭配使用,因为兼容Arduino引脚。并且使用CMSIS-DAP USB 及 ISP,轻松写入固件! 更多详细信息,请访问: https://developer.mbed.org/platforms/WIZwiki-W7500
Read More

[转]互联型嵌入式应用ARM选型分享

博客
转载自:郑州恒迈--张弓与非网博客 http://www.eefocus.com/HIGHMAXIM/blog/15-05/312818_2d2cf.html   伴随着大众创业万众创新的趋势节奏和创客空间的遍地开花,伴随着智能硬件产品的赤手可热和物联网的应用的不断深入,伴随着终端产品研发周期的拼命压缩和产品的快速量化,也伴随着半导体原厂新品系列的层出不穷和竞争格局的不断加深,要想在众多半导体原厂的产品系列里,能够快速的找到适合自己研发项目的功能需求,而且是要求可靠性和稳定性以及性价比都比较高的集成电路主控产品,对于原本选型就比较头疼和困难的工程师同仁们来说,现在乃至以后所面临的挑战会越来越大,困难也会越来越多,尽管目前我们所能够掌握的信息量越来越多,信息也越来越透明,但如果能从众多的信息里面解脱出来,关注自己所关注的应用领域,从全局来了解和把握行业的应用,对于工作繁忙的我们来说,是需要有一种智慧和一个开放的,乐于分享的心态。绕了很大的一个弯儿回来,我先分享下我对:互联型嵌入式应用ARM选型的一些做法和见解,希望能够和具有同样应用的同仁们一起探讨和交流。         在ARM应用方面我们都熟知的是ST(意法半导体),当然在互联性应用的ARM方面我们通常都会顺藤摸瓜的选用自己熟知的品牌,我首先看了看STM32F107RB这个型号,基于Cortex-M3核的ARM,带10/100M的以太网MAC,程序加上软件的TCP/IP协议栈,128K的闪存应该够用,但公司要求要有一个备选或者是优化的器件,以面对无端的缺货和价格的问题。以备不时之需,接着我就看看NXP(恩智浦)的LPC1764FBD100,同样是基于Cortex-M3核的ARM,带10/100M的以太网MAC,128K的闪存,而且主频达到100MHz。这下思路好像一下子打开了一样,既然是Cortex-M3核的ARM,这两家半导体厂商会有,那么其他的主控厂商应该也都会有,于是我就找到了ATMEL(爱特梅尔)的ATSAM3X4EA-AU,顺带说一句就连AVR也有带以太网MAC的器件,真是不看不知道。找到了SPANSION(飞索半导体)的MB9BF216SPMC,内存容量竟有512K,在看到TI(德州仪器)的LM3S6911是,有个惊奇的发现,原来这个器件不仅有10/100M的以太网MAC,而且还带了物理层(PHY),这样的话不仅电路板的面就会缩小,而且可靠性也会比用两个器件要高,也省去了两个器件的匹配麻烦,不巧的很官方网站已经不推荐使用,推荐的器件是Cortex-M4内核的TM4C129X,既然是推荐Cortex-M4内核的ARM,那就顺便看看飞思卡尔(FSL)基于Cortex-M4内核MK60DN256VLL10这个芯片看着看着,突然想想不对啊,想起前段时间在微信上看到的一个段子,一个人原本打算去买辆自行车结果开了一辆高级轿车回来,既然Cortex-M4内核的ARM不靠谱,那么有没有成本比较低的Cortex-M0内核的ARM也带有以太网MAC的呢?         功夫不负有心人,终于看到了WIZNET(微知纳特)的W7500,这个器件足够强悍:是基于Cortex-M0内核的ARM,同样是128K的闪存,不仅具有10/100M以太网MAC,而且带有物理层(PHY),更是用硬件逻辑门去实现TCP/IP协议栈,也就是说软件的TCP/IP协议栈都不用写,将本来占用ARM存储以及运算资源的以太网通信协议,用一颗片外的芯片独立去实现,不仅节省主控制器的FLASH及RAM的空间,节省了ARM处理TCP/IP通信的中断及线程,而且降低了开发难度,提升了开发效率及系统表现力,虽然省去了通用型微控制器的一些用不到的功能,但是却加固了芯片的网络处理专业能力,简单易用。有的时候就在想,选择大于努力这句话真是经典,既然有这样现成的器件去选择,那我们干嘛要去努力的琢磨原本不大熟悉的TCP/IP通信协议,不仅浪费了时间还有可能增加了产品不稳定因素,这样出力不讨好的做法难道会成为我们整天忙碌加班的原因?干嘛非要等到公司要求我们这样做,我们才去这么做呢,如何才能把被动的工作变换为主动的学习,打开自己的思路,在这终端产品多样化快速更新的时代里,在这乱花渐欲迷人眼的缤纷型号里,在这要求愈来愈严格而又快节奏的工作进程里,在这选择大于努力而我们又不太善于选择,甚至都没有时间去静心想象怎么选择的氛围里,这才应该是我们应该考虑的,我们究竟需要的是什么。         就是因为选择太难,所有我们本应去选择适合我们的! 附件:互联型嵌入式应用ARM对比列表
Read More

[转]如何移植使用W5500官方提供的最新Socket库

博客
转载自:http://www.embed-net.com/thread-55-1-1.html 官方提供了W5500的最新驱动库,下载地址如下: http://wizwiki.net/wiki/doku.php?id=products:w5500:driver 下面简单介绍下如何使用这套库 首先下载库源码,文件目录如下所示: 我们主要用到Ethernet文件夹下面的文件,将这些文件加入到自己的工程中,然后编译,若编译出现类似于如下错误 ..\User\Ethernet\wizchip_conf.c(113): error:  #29: expected an expression .id                  = _WIZCHIP_ID_, ..\User\Ethernet\wizchip_conf.c(114): error:  #29: expected an expression .if_mode             = _WIZCHIP_IO_MODE_, ..\User\Ethernet\wizchip_conf.c(115): error:  #29: expected an expression .CRIS._enter         = wizchip_cris_enter, ..\User\Ethernet\wizchip_conf.c(116): error:  #29: expected an expression .CRIS._exit          = wizchip_cris_exit, ..\User\Ethernet\wizchip_conf.c(117): error:  #29: expected an expression .CS._select          = wizchip_cs_select, ..\User\Ethernet\wizchip_conf.c(118): error:  #29: expected an expression .CS._deselect        = wizchip_cs_deselect, ..\User\Ethernet\wizchip_conf.c(119): error:  #29: expected an expression .IF.BUS._read_byte   = wizchip_bus_readbyte, ..\User\Ethernet\wizchip_conf.c(120): error:  #29: expected an expression .IF.BUS._write_byte  = wizchip_bus_writebyte ..\User\Ethernet\wizchip_conf.c(123): warning:  #12-D: parsing restarts here after previous syntax error }; ..\User\Ethernet\wizchip_conf.c: 1 warning, 8 errors 则需要根据自己的编译器做下设置,keil MDK设置如下所示: <ignore_js_op> 主要原因是Keil MDK默认设置不支持按照结构体名称初始化结构体的原因导致。 W5500和MCU是通过SPI接口通信的,库是利用如下结构体中的相关函数指针实现SPI通信和其他功能。 _WIZCHIP  WIZCHIP =       {       .id                  = _WIZCHIP_ID_,       .if_mode             = _WIZCHIP_IO_MODE_,       .CRIS._enter         = wizchip_cris_enter,       .CRIS._exit          = wizchip_cris_exit,       .CS._select          = wizchip_cs_select,       .CS._deselect        = wizchip_cs_deselect,…
Read More