Sensecraft HMI web interface on ReTerminal E1002

Good morning,

I’m trying to connect my ReTerminal E1002 to my server on a local network.

I have uploaded a couple of pictures using SenseCraft HMI and it’s working like a charm. When I try to point a picture in my local server, I always get the “Failed to load remote image”. The server runs a python http module and shows properly the picture if I try to connect using a browser. Address is http://192.168.1.151:8000/foto.jpg

I have tried with a public web address for an image and it loads properly.

Can you please help me understand why it’s not working and what to do to make it work?

Thank you in advance!

Hi there,

Sounds like a fire wall or Network issue?
The Frame is trying it appears ? " “Failed to load remote image” "

HTH
GL :slight_smile: PJ :v:

Hi,

the frame is connected to the network.

It can load images from “external” websites (i.e. not self hosted by me).

The frame is in the same network of the server and there are no firewall rules.

The only thing I noticed is that my server doesn’t have a SSL certificate (so plain http instead of https).

I don’t know if https is required for SenseCraft HMI to load a webpage.

Hi there,

More than Likely they do…
I don’t see a clear official statement from Seeed saying “SenseCraft HMI requires HTTPS for self-hosted images,” so I can’t claim that as confirmed documentation. But based on how the platform is delivered over HTTPS and the fact that external images load while your local plain-HTTP image does not, HTTPS is the first thing I would fix. Same-network access does not guarantee the HMI will accept insecure HTTP content.
You probably found it. :+1:

A good troubleshooting path is:

  1. Put one test image on the server and try opening it from a normal phone/PC browser using the exact URL the frame uses.
  2. Then serve that same image over HTTPS with a valid certificate.
  3. Keep the filename simple and use a direct image URL, not a redirect or page wrapper.
  4. If HTTPS works immediately, you’ve got your answer.

But between all of those, HTTP vs HTTPS is still the lead suspect.

HTH
GL :slight_smile: PJ :v:

Hi, I’m facing similar issue here. I just got E1004 and wanted to turn it into photo frame, as promised to my wife.

I run my webserver with single index page with simple js to switch photos around. All devices that I used for testing are using the same wifi network. I can access the webserver page from my phone (android), my laptop (linux mint) but not from the E1004.

Initially my webserver was using not secured http://, but as it was mentioned above there is no info about the limitation in the doc. So it shouldn’t be a problem, but … life is life.

Long story short, I spent some more time on how to make it secure. Do not lough, it was my first time doing this. After searching through the web, I finally managed to create my own .p12 certificate on openssl. Updated the config on my server, tested and … same story. reTherminal doesn’t seem to care.

Is it because I set my web server on another android device? Then why it works on every other devices?

Hi,

I tried contacting support.

Their feedback:

The SenseCraft HMI is temporarily unable to access the URL of your internal network. This is why you can display images using a public URL but cannot access the internal network images. If you really need to access the internal network images, you can research how to use the internal network traversal technology to convert the internal network into a public URL.

Haven’t tried yet, but that’s their feedback.

I’m a newbie for this and to avoid the headache to expose to the world my fileserver - so I need to get ahead with firewall rules and all safety measures- I’m thinking about using Github to commit each picture change with an automated script).

I’m still thinking about this, to be honest (but any suggestion is more than welcome!)

Thanks for your replay. I appreciate you shared that before I pulled all my hairs out. I’m not going to comment the feedback from the support- LOL.

For me it was just a workaround for using the E1004 as a photoframe for 1000+ photos. Good thing is I can now just go ahead with Arduino programming, and do it as I wanted from start- storing those pictures internally, and pull them as I please, without any additional web storages :smiley:

Bad thing is, it is not as user friendly as I thought, really hoped the Sensecraft will support this basic functionality.

Thx for the info.

1 Like

Hi there,

And Welcome here…

So, You are NOT alone on this , The Seeedineers are aware of it, and They too agree it should be workable. I mean c’mon MAN that’s a basic Network , Client Server situ. NOT rocket Science :face_with_open_eyes_and_hand_over_mouth:

It makes the frame Usable IMO. Such a sweet piece of Tech… We can do better.
If the Backorder que and Sales doesn’t tell you something nothing will :grin:

I’m feeling like it’s a sensecraft / Seeed communication or Licensing issue but I don’t have any inside knowledge purely speculative. BUT this I am certain will get fixed or openned properly to make the thing Very, Very cool and Useful. :crossed_fingers:

HTH
GL :slight_smile: PJ :v:

like to ops here , I am NOT opening up the Network(port forward ) for this work around. NO. that’s what the support response is saying. You can

The key line from support:

“SenseCraft HMI is temporarily unable to access the URL of your internal network.”

That tells you everything.

:backhand_index_pointing_right: Your image is NOT being fetched by the device directly

It’s being fetched by SenseCraft cloud servers, then pushed/rendered.

So when you give it:

http://192.168.1.151:8000/foto.jpg

Only works from your browser because you’re on the same LAN.

Public address ( via NameServer works because, When you use something like ;

https://example.com/image.jpg
  • Publicly routable
  • Likely HTTPS
  • Has valid certs

SenseCraft servers can fetch it :backhand_index_pointing_left:
Then send to your display :backhand_index_pointing_left:

with that said it is more than a Firewall , Cert issue. So the options are limited to 2 or 3.

I like the GIT idea :grin: CLEAN
S3 bucket
Cloudflare R2
Web Hosting (tunnel)

https://raw.githubusercontent.com/user/repo/main/foto.jpg

Example (GitHub raw): GIT is reliable, No firewall messing with I use PFsense and I can do the NAT, or Port forward but it’s a lot risk..SO not happening.

You won’t comment BUT I will.. :grin:
“internal network traversal technology”
WTH kind of NON simple answer is that. NOT everyone has a CCNA… Luckily I do. :face_with_hand_over_mouth:
Fancy tech term for port forward, give us a break with that…LOL
(Sounded like a Stahl) tactic while they go fix it..:crossed_fingers:

Everyone around here
is in the modern correct way: Tunnel (recommended if you want local hosting)

This is what I’d actually suggest and I my Frame is OTW to me…So you can try it but I like the GIT idea too.

I looked up How to Use:

  • ngrok
  • Cloudflare Tunnel
ngrok http 8000

You get ;

https://abc123.ngrok.io/foto.jpg

:check_mark: Public
:check_mark: HTTPS
:check_mark: Secure
:check_mark: No router config

:backhand_index_pointing_right: SenseCraft will load this perfectly

Even if you NAT the Server, The TLS or Cert still matters, it rejects HTTP:
I tried. :rofl:

GIT is it… maybe :grin:

You said:

“commit each picture change with an automated script”

That’s actually a clean engineering solution:

:check_mark: Version control
:check_mark: Public HTTPS
:check_mark: Easy automation
:check_mark: Zero network headaches

You can:

  • Script upload
  • Trigger updates
  • Keep it simple

As You were.. :saluting_face: MORE Testing.

Thank you thank you very much for your comments.

That gives me a clearer situation.

(if only it were stated in Sensecraft wiki… I didn’t think that my application would be so strange)

Much time needed for testing, but I can do it!