zoukankan      html  css  js  c++  java
  • Arduino Nano + WIZ550io = 简易上网

    Picture of Arduino Nano with WIZ550io = Easy Internet

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

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

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

    第一步:零件

    Picture of Parts 

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

    步骤2:连接
    Picture of Making the Connections
    注意:在连线前,最好首先将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:更新以太网库
    Picture of Update the Ethernet Library
    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)没有其它注意了
    參考:
    很多其它信息,请參考:
  • 相关阅读:
    mybatis学习坑路
    一文理解class.getClassLoader().getResourceAsStream(file)和class.getResourceAsStream(file)区别
    servlet的坑
    class.getResource()方法的更新 坑
    utf8和字节数组的转换
    finally模块的各种情况
    C++ 动态对象数组的知识总结
    Notepad++正则表达式语法
    诸子百家55句
    给初始化为NULL的结构体指针赋值报错问题
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/5184207.html
Copyright © 2011-2022 走看看