ASK AN EDUCATOR! – “How can I get my Arduino to use IPv6”
With IPV6, it looks like I can have unique internet addresses for all my Internet of Things/Web of Things. How can I get my Arduino projects to use IPV6
Interesting question Mike! But first, for those of us who are not familiar with IPv6:
IPv6 or Internet Protocol version 6 is the most recent standard communications protocol for the internet. This version solves many of the protocol problems faced with IPv4 including support for an almost unlimited number of unique device addresses….2^128 or 340,282,366,920,938,463,463,374,607,431,768,211,456 devices. Phew. Considering that the World’s population is 6,973,738,433 (from Google) would mean that each person could have approximately 4.9 x 10^28 uniquely addressed, internet-connected devices. With numbers like this, its not hard to imagine a future where every electronic device is capable of interfacing with the internet, maybe even your coffee maker.
Now, about getting IPv6 running on your Arduino. There are already a few libraries that make this possible, and most rely on the Arduino Ethernet Shied:
The official Arduino Ethernet Shield is based on the WizNet 5100 chip, which implements the IPv4 protocol stack in silicon. As a consequence, the Arduino Ethernet Shield cannot be used to implement an IPv6 stack.
To implement an IPv6 stack, it is necessary to use a shield based on hardware that permits the management of IP and Ethernet layer functions. Shields based on the MicroChip ENC28J60 chip (such as those sold by Ekitszone and Nuelectronics) are suitable for the implementation of an IPv6 or dual IPv4/IPv6 stack. This approach requires the TCP state machine to be implemented in software and results in more complex arduino code.
I wrote an additional wrapper class with initialization methods, so the sketch files should be pretty simple. Included in the library you will find the following examples:
IPv6TelnetServer, where you can put/get the status of an attached LED and where you can get information about the free RAM bytes. IPv6WebServer, where you can get the current values of the analog input pins.
Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.