Users who can generate screens themselves, can make use of our Alias plugin.
As the name indicates, this plugin simply passes along your own (hosted) image to your TRMNL device. This may sound similar to our Image Display plugin, but with one key difference: Alias lets you encrypt + decrypt the content, making it impossible for TRMNL to know what's being displayed.
How it works
TRMNL expects image content to be accessible over the internet / home-network. This image content may then be plugged into the TRMNL web application in either plain text or encrypted format.
The diagram below explains how each of the Alias plugin strategies differ.
Getting started
To set up an Alias plugin, first provide the absolute URL of your image.
Make sure the image is 1 bit bitmap(bmp3) or 1 bit PNG, 800x480 pixels. See here for a hint on generating this format with ImageMagick.
Type - Plain Text
When your TRMNL device requests content from your Alias plugin instance, TRMNL will respond with the data you provided in the TRMNL web application. For example, https://yourwebserver.com/image1.bmp
as per the screenshot above.
Type - Encrypted
For an alias with type Encrypted, encrypt your image_url using <TBD> algorithm.
Next, provide a decryption key to your TRMNL device via the captive WiFi portal. You can instantiate WiFi pairing mode by holding the boot button on the back of your TRMNL for 5-6 seconds, then letting go, while the device is turned on.
Your TRMNL device will store this decryption key onboard, and never share it over the internet.
Putting it all together
The Alias plugin provides a secure way to generate and consume content without sharing any information with the TRMNL servers, while still leveraging the convenience and power of the TRMNL web application.
Troubleshooting
Request origins
Whatever the exact URL is that can be reached by your local network, use that in the URL field. If you're running a server at http://localhost:4567/my/image.png
, provide that full URL. It does not have to be https
.
Image metadata
Most issues with this plugin are due to the image formatting not matching our specifications exactly. For example, the OG TRMNL device model expects 800x480 pixel images, not 1600x960 or some other equivalent ratio.
Image response headers
There have been reports that your image's endpoint must respond with a content-length
header; the value should be an integer. This is a requirement we are actively investigating and intend to remove. If you are generating images on the fly, you may not have this value by default because the content is still streaming. In this case, use a dummy value.