我爱Arduino Nano – 这是一个非常好外形小巧却功能齐全的Arduino Uno。然而。当我去将它连接到互联网,全部的干净利落小巧也消失在大尺寸的以太网盾底下了。

只是,我近期发现了一个更好的,更紧凑的方式给我的nano连接到互联网 – 通过使用WIZnet公司小巧得多(且更廉价)的WIZ550io模块!

假设你想方便连接,你能够找到一个可连接该模块和Arduino Uno的适配器板,但我想保持小巧的子板。通过我的Nano把它们直接连接在一起。然而。假设你没有适配板,你能够利用同样的方法用来直接连接到一个Uno板。

第一步:零件

 

这个教程,我使用了例如以下零件:
1个Arduino Nano(或者其它可兼容的)
1个WIZ550io模块(能够直接从WIZnet买到)
1个面包板(我使用30排的,就够大了)
5 m-m跳线
4 f-m跳线

步骤2:连接
注意:在连线前,最好首先将WebServer 例程下载到Arduino中,确保其上没有存在的固件,不然可能在你的WIZ550io上引起其它问题。
1. 将Arduino Nano和WIZ550io模块 放到面包板上。我将他们背对背摆放(见图),这样能够使USB供电线 和 以太网线 都easy连接。

正如图中看到的那样,我的面包板还余出一排。

2. 连接9个引脚:
Arduino – WIZ550io (5 M-M 跳线)

3v3 – J1.8

GND – J1.1

D2 – J2.5 (INT)

D7 – J2.2 (RDY)

D10 – J1.6 (SCS)

(SPI 须要 4 F-M 跳线)

spi.1 – J1.4 (MISO)

spi.3 – J1.5 (SCK aka SCLK)

spi.5 – J2.3 (RST)

spi.4 – J1.3 (MOSI)

注意:spi.2 (VDD) – 不要连接!

由于他是5v的,wiz 板须要3.3v的

请參考SPI图,看一下Arduino Nano上的引脚顺序。

同一时候,这个板子本身应该是1号引脚有一个数字1.这应该是VIN引脚側最外面的引脚。

步骤3:更新以太网库
WIZnet模块 使用了一个全新的芯片,须要更新一下库。不要操心。你的旧以太网板也一样能够用。

1. 下载WIZnet以太网库:
https://github.com/Wiznet/WIZ_Ethernet_Library 这有一个button,底部标有“Download
ZIP”,能够一键下载整包文件。
2. 复制以太网目录到Arduino库目录中 (在Mac上是Documents/Arduino/Libraries)。这将重写内置以太网库,这是Arduino app的一部分。假设你也须要使用其它以太网插板和模块,见“注意”中的内容。注意以太网目录有两个版本号,这取决于你的ArduinoIDE的版本号。我使用Arduino IDE版本号是 1.0.6,所以我从WIZnet目录拷贝到以太网目录的时候,标记为1.0.x
3. 在Libraries/Ethernet/utility 目录中,打开w5100.h并仅仅需改动一处 #define 行(当中3行)取消凝视。我的WIZ550io是这种:
//#define W5100_ETHERNET_SHIELD // Arduino Ethernet Shield and Compatibles ...
//#define W5200_ETHERNET_SHIELD // WIZ820io, W5200 Ethernet Shield
#define W5500_ETHERNET_SHIELD // WIZ550io, ioShield series of WIZnet</p>
4.在相同的文件里,(可选) 也取消凝视,这样板子就能用预先分配的硬件MAC地址了:
#define WIZ550io_WITH_MACADDRESS // Use assigned MAC address of WIZ550io
图片展示的是我的设置(我使用XCode来编辑文件,因此格式和颜色都非常美观!


步骤4:执行一个WebServer并測试!
都设置好后。最好測试一下是不是都调对了。

感激的是,以太网库包括了一套很棒的例程。我们就用简易的WebServer例程即可了。

1. 打开Arduino IDE 并打开File/Examples/Ethernet 中名为WebServer的例程。
2. 假设你用苹果网络(通过Apple’s Airport wireless hubs),你将须要改一下IP地址,来引起你网络中其它电脑的注意。我使用的:
IPAddress ip(10,0,1,177);  // on an Apple wifi network
注意。多数网络大概是不必须的,仅仅要前3个数字匹配你的IP地址即可了。

3. 保存并赋予它一个新名字
4. 用网线将WIZ550io连入网络
5. 连接Arduino到你的电脑,并跑WebServer例程
6. 打开一个浏览器窗体,键入你在WebServer例程中设置的IP地址匹配的url。

我的样例中是 http://10.0.1.177

浏览器窗体应该显示的是一串数字,与每个模拟输入一一相应。注意我们没有 连接不论什么的模拟输入,那些数字会有点随机。当然假设你感兴趣,能够加入一些传感器!

步骤5:注意及參考
注意:
(a)假设你还有其它的以太网插板,在用特殊的插板工作的时候。须要须要改动w5100.h(再用WIZ550io的时候再改回来)。比如,基于以太网插板的Wiz5100插板,我将首行取消凝视:
#define W5100_ETHERNET_SHIELD // Arduino Ethernet Shield and Compatibles ...
//#define W5200_ETHERNET_SHIELD // WIZ820io, W5200 Ethernet Shield
//#define W5500_ETHERNET_SHIELD // WIZ550io, ioShield series of WIZnet
(b)没有其它注意了
參考:
很多其它信息,请參考:

Arduino Nano + WIZ550io = 简易上网的更多相关文章

  1. Arduino Nano 读取ADS1100实例

    利用Arduino Nano的wire库可以很方便对ADS1100进行设置和读取转换后的数据. /* * Arduino reads ADS1100 I2C 16bit diff ADC */ /* ...

  2. 使用Arduino Nano驱动Lora模块

    使用Arduino Nano驱动Lora模块 为什么选用Lora 射频通信芯片有很多种,但是一般在同样功耗下,距离没有Lora远;同等范围下,没有Lora节能. Lora通信只适用于低速率,高延时的场 ...

  3. Arduino nano的bootloader文件烧录

    1.买了了nano还没用就用 avrisp烧录器给烧了其他程序,仅仅是的avr单片机了:2.将他恢复成Arduino nano吧. 在Arduino软件安装目录中的hardware\arduino中. ...

  4. PMS5003ST+Arduino Nano OLED屏显示

    整合OLED显示和PMS5003报数 #include <Arduino.h> #include <pms.h> /////////////////////////////// ...

  5. Arduino Nano与SIM800C 通信

    首先感谢 原文作者:https://blog.csdn.net/weixin_44481398/article/details/86596933#commentBox 找了好久没有找到,使用他的代码一 ...

  6. PMS5003ST+Arduino Nano 串口读取数据

    先上代码: 库文件是在guihub上的大神写的https://github.com/jbanaszczyk,我拿来小改下用以支持5003ST #include <Arduino.h> #i ...

  7. 玩玩LED点阵屏(arduino nano)

    做些记录,特别是led显示左移效果的代码,二进制位的特效函数 unsigned ][]= { 0xff,0xd7,0x83,0xd6,0xc6,0xd4,0xc6,0x82,0xd6,0xba,0xf ...

  8. 基于Arduino开发的简易“高水位报警系统解决方案”

    长期以来,针对“某些办公室空调没有排水系统,只能用水桶接水,经常造成水漫金山的问题”而提出来的. 材料:Arduino开发板一块.水位传感器一个.高电平蜂鸣器一个.杜邦线若干. 原理:将水位传感器置于 ...

  9. Arduino - Nano针脚分配时需要注意的事项

    0.1为Rx.Tx 针脚,这两个针脚一般作为串口使用,非串口设备尽量不占用该针脚.2.3为中断口,分别对应中断0.中断1,需要中断功能的设备,必须接入此.2-13.A0-A5,共18个针脚,都可以作为 ...

随机推荐

  1. Jquery ajax方法详解

    1.url: 要求为string类型的参数,(默认为当前页面地址)发送请求的地址. 2.type: 要求为String类型的参数,请方式(get/post)默认为get.注意其他HTTP请求方法,例如 ...

  2. POJ 3384 Feng Shui 凸包直径 + 半平面交

    G++一直没有过了 换成 C++果断A掉了...It's time to bet RP. 题意:给一个多边形,然后放进去两个圆,让两个圆的覆盖面积尽量最大,输出两个圆心的坐标. 思路:将多边形的边向里 ...

  3. ZOJ 2794 Just Pour the Water 【矩阵快速幂】

    给你n个杯子,每次有特定的到水规则,倒m次请问最后每个被子里还有多少水 我们很容易发现每次变化的规则相同,那么可以set 一个矩阵存放 然后多次倒水就相当于矩阵相乘,在m 范围达到(1<= M  ...

  4. BNU 4067 求圆并

    好久没写过单组数据的题目了 QAQ 赤裸裸的模板题 #include <cstdio> #include <cstring> #include <iostream> ...

  5. AddSelf

    今天看     C语言深度深度解剖  第58页 看到了这么一段代码,就敲进了dev 谁知居然出现了个死循环.但是我不知道为什么. 贴出来,等有空了再请教别人好好分析,或者是网络上的高人指点一下 //d ...

  6. Firemonkey使用iOS的第三方静态库(Link Binary With Libraries)

    最近需要从内存流中直接播放音频,想到了使用第三方音频播放库bass.在windows上可以很方便的使用相应动态库(具体参考万一的博客),但在iOS上却没有相应的使用介绍,准确的说是没有用于Firemo ...

  7. javaScript 网页特效 输出语句

    大家好,我是小强老师,今天主要讲解 三个最为常用的输出语句.  alert() 弹出警示框 window.alert(‘继续学习’);  完整的写法 效果如下: 因为alert 属于window 对象 ...

  8. python 正则表达式汇总

    一. 正则表达式基础 1.1.概念介绍 正则表达式是用于处理字符串的强大工具,它并不是Python的一部分. 其他编程语言中也有正则表达式的概念,区别只在于不同的编程语言实现支持的语法数量不同. 它拥 ...

  9. SilkTest天龙八部系列5-类的属性

    SilkTest的面向对象机制让用户可以为类定义属性,用property语句实现.除此以外用户在类中还可以定义成员变量和不可变的setting属性.也就是是说Silktest类中可以有以下三种属性/变 ...

  10. javascript每日一练(十三)——运动实例

    一.图片放大缩小 <!doctype html> <html> <head> <meta charset="utf-8"> < ...