jordan.terrell
Just trying to make sense of things...

Arduino DHCP Library: Trying To Submit to Arduino

Monday, 18 May 2009 10:15 by jordan.terrell

I want to submit the Arduino DHCP Library that I created to be included in the main Arduino distribution.  I tried asking what the process was on the developer’s mailing list, but I got no response.

Anyone listening out there who can clue me in on how to start the process?

Arduino DHCP Library: Version 0.4

Thursday, 30 April 2009 20:48 by jordan.terrell

Update 7/3/2011: This library no longer works with current builds of Arduino.  At some point in the future I *may* decide to create a new revision, but my current focus is not on Arduino development.  I believe there are one or more DHCP stacks based on my initial work.  If you need DHCP support for your Arduino project, I would recommend you search for one of those libraries.

I made a small update to the Arduino DHCP library to calculate the “seconds elapsed” field in the DHCP packet based on when the Arduino starts sending DHCP packets.  This may fix some issues with using a Mac as a DHCP server.  Special thanks to Arduino forum member smartperson for the suggestion.

      Download here: Arduino DHCP Library v0.4
      Previous Versions: v0.3, v0.2, v0.1

Additional instructions can be found on the original DHCP library post.

Arduino DHCP Library: Version 0.3

Saturday, 25 April 2009 08:45 by jordan.terrell

I just finished implementing some improvements to the Arduino DHCP Library as suggested by members of the Arduino forums.  Special thanks to Arduino forum members Nebster, smartperson, and thomsen for their feedback and suggestions.

      Download here: Arduino DHCP Library v0.3
      Previous Versions: v0.2, v0.1

Additional instructions can be found on the original DHCP library post.

Here is a list of the improvements in the v0.3 release:

  • Transaction ID is correctly incremented on DHCP discovery retries
  • Elapsed Seconds is now calculated and transmitted, instead of always being zero
  • You can now retrieve the following data elements:
    • Local MAC Address
    • Local IP Address
    • Subnet Mask
    • Gateway IP Address
    • DHCP Server IP Address
    • DNS Server IP Address
  • The example Arduino sketch has been updated to show:
    • How to determine if an IP address was successfully acquired
    • How to retrieve data elements acquired from the DHCP server (e.g. Local IP Address)

Arduino DHCP Library: Version 0.2

Wednesday, 22 April 2009 22:19 by jordan.terrell

I just finished adding retry capability to the DHCP library.  It will, by default, resend DHCP requests every 2 seconds, and timeout after 60 seconds.  I've also removed the need to declare a Dhcp variable. Take a look at the included example to see how to use the new library.

       Download here: Arduino DHCP Library v0.2

I hope this release solves the outstanding issues I know about.  I'm also looking for feedback on additional enhancements - ARP conflict detection, lease renewal, etc.  If you know of something that doesn't work or you would like to see added, please let me know.

Enjoy!

Arduino DHCP Library: A Life of its Own

Wednesday, 22 April 2009 07:38 by jordan.terrell

There has been a good amount of interest in the DHCP library I made public on Sunday night.  So far I've registered almost 1200 page hits and over 140 downloads.  Not a huge following, but larger than I expected.  As a result going forward I will be treating the DHCP library as a separate project - separate from my RFID lock.

A number of people have indicated that the library is working just fine for them.  However, I know of one case where the lack of retry logic is preventing someone from using the library without making changes.  The goal with the next release is to add retry logic and hopefully trim the program size of the library.

Thanks to everyone giving their feedback and please continue to do so!