Skip to content
All prices US$ - All orders receive free delivery, worldwide - Click here to learn more
All prices US$ - All orders receive free delivery, worldwide - Touch here to learn more
Fetch for Arduino Aims to Dramatically Simplify HTTP and HTTPS Operations on Your Microcontroller

Fetch for Arduino Aims to Dramatically Simplify HTTP and HTTPS Operations on Your Microcontroller

from hackster.io

Muhammad Abdullah, co-founder of Internet of Things (IoT) startup Grandeur Technologies, has released a library designed to make it as easy as possible to get your Arduino compatible microcontroller talking to a web server: Fetch for Arduino.



"I wrote Fetch for Arduino so I can make requests from my [Espressif] ESP by avoiding as many mistakes as possible," Abdullah explains. "The bigger the surface area of the code, the greater the possibility that I'd miss a header or mistype a character somewhere and it'd become a debugging nightmare for me."

The result, inspired by a friend's failure to convert sample code designed for GET requests to POST to an HTTPS-connected server, is designed as a simpler alternative to existing HTTPS-compatible libraries. "The httpsClient on Arduino doesn't return you the response as elegantly as fetch [in a browser]," Abdullah explains. "You have to manually read the headers line by the line, then break the loop when a double newline occurs, and then read the body from thereon.

"So, I made a bare-minimum library that could do all of this under the constraints of the microcontroller environment."

The Fetch for Arduino library aims to mimic the simplicity of using fetch in a browser, including automatically setting the correct headers based on the URL and the content being sent — both issues which had prevented Abdullah's friend's code from working correctly.

At the same time, it also correctly processes the response — including highlighting the HTTP status code and providing the body in a single function call, rather than a loop which takes its input line-by-line.

"This bare-minimum effort does not yet have the automatic Content-Type guessing feature," Abdullah admits, "but I'll plug it in [when] I get some free time from work! That would knock out another mistake that a developer like me can make while writing RequestOptions."

More details on Fetch for Arduino are available in Abdullah's Instructables post, while the code — tested on the Espressif ESP8266 — has been published to GitHub under the reciprocal GNU General Public License 3.

Finally - to keep up to date with interesting news, offers and new products - interact with us on facebookinstagram, and twitter.

Previous article An x86 Raspberry Pi?

Leave a comment

Comments must be approved before appearing

* Required fields