It’s time to join the Internet of Things (IoT) revolution. Try building a ‘Net-enabled design with WIZnet’s W5500 “smart” Ethernet chip. It’s easier than you think.
In a thorough introduction to the technology, Tom Cantrell presented a garage door monitoring design. He explained:
The W5500 (see Figure 1) starts with a standard 10/100 Ethernet interface (i.e., MAC and PHY) but then goes further with large RAM buffers (16-KB transmit and 16-KB receive) and hardware TCP/IP protocol processing. I discovered WIZnet’s first chip, the W3100, way back in 2001. Of course by now, as with all things silicon, the new W5500 is better, faster, and lower cost. But the concept is still exactly the same: “Internet enable” applications by handling the network chores in hardware so the application microcontroller doesn’t have to do it in software.
The large RAM buffers help decouple the microcontroller from network activity. In a recent project (see my article, “Weatherize Your Embedded App,” Circuit Cellar 273, 2013), I used the RAM to receive an entire 10-KB+ webpage, completely eliminating the need for the microcontroller to juggle data at network speed. And any of the 32-KB on-chip RAM that isn’t needed for network buffering is free for general-purpose use, a big plus for typically RAM-constrained microcontrollers. The other major WIZnet hardware assist is TCP/IP processing using IP addresses, sockets, and familiar commands including OPEN, CONNECT, SEND, RECEIVE, DISCONNECT. The high-level interface to the network frees up microcontroller cycles and code space that would otherwise be needed for a software TCP/IP stack.
Cantrell goes on to present his design for a ‘Net-connected garage door monitoring system.
For prototyping, check out the WIZnet ioShield (see Photo 1), which is a baseboard for the WIZ550io that includes an SD card socket. There are ioShields for different platforms (e.g., Arduino, LaunchPad, mbed, etc.), and with 0.1” headers they are breadboard friendly.
Cantrell prototyped a client version of what he calls his “garage door ‘Thing’ using an Arduino and a WIZ550io connected to Exosite (see Photo 2).
Wondering how to get two clients (e.g., ) to interact with each other? Cantrell used Exosite.
Over on the Exosite website, after signing up for a free “Developer” account, it was a quick and easy mainly point-and-click exercise to configure my “Device,” “Data,” “Events,” and “Alerts” (see Photo 3). As a client, there’s no need to keep the “Thing’s” Ethernet link powered all the time. Data only needs to be sent when the garage door opens or closes, but I also recommend sending a periodic heartbeat just in case. My garage door monitor will only generate a minute or two of network activity (i.e., door state changes and hourly heartbeats) per day, so there’s opportunity for significant energy savings compared to a 24/7 server.
You can download the entire article, “Connect the Magic: An Introduction to the WIZnet W550,” for free to learn about Cantrell’s garage door control system built with a WIZnet and an Arduino Uno.