John Graham-Cumming’s weblog: Barebones challenge exhibiting find out how to get an Inkplate 10 to speak to WiFi and the Web over HTTPS utilizing the Arduino IDE
For those who’re working with the Inkplate 10 (or related mannequin) you may generally wish to do one thing like: connect with WiFi, hit some API over HTTPS, and show one thing. For those who’re doing this with the Arduino IDE then here’s an example project that may show WiFi, HTTPS and deep sleep. Hopefully, this can prevent time getting arrange because the HTTPS half may be difficult.
For those who’re not aware of the Inkplate it is a pretty challenge the makes use of recycled Kindle screens and provides an ESP32, lithium battery charger, RTC backup battery, touchpads, an SD card slot, and a bunch of GPIO pins. The Inkplate 10 that I am utilizing has a 9.7 inch, 1,200×825 show with 3-bit grayscale. In deep sleep it consumes simply 22 microamps making it very appropriate to run on a battery.
My barebones challenge connects to the WiFi community of your selection, hits a public API that returns the IP handle you’re utilizing and shows it on display. It then goes into deep sleep for 30 seconds.
The one difficult half is that the HTTPS/TLS performance doesn’t have a inbuilt listing of root CA certificates. So that you both have to offer that (which takes up a variety of reminiscence) or seize the CA certificates of the precise website you’re connecting to. On this instance, I used openssl s_client to get the certificates for the API I’m hitting.
You merely seize the final certificates that’s output by the openssl s_client command and include it in the code. After all, embedding the precise certificates a website makes use of within the binary is brittle as a result of your challenge will break if the positioning adjustments CA certificates, however it does work and it makes use of little reminiscence.