I am currently working on a mapp View project where I need to integrate an AI assistant feature. I have developed a custom HTML file that uses the Web Speech API for voice recognition (Speech-to-Text). This HTML file is hosted on the PLC’s internal Web Server (File Device) and displayed using the WebViewer widget in mapp View.
**The Problem:**When I open the HTML file directly in a desktop browser (Chrome/Edge) via http://<PLC_IP>:port/index.html , the microphone works perfectly after granting permission. However, when the same page is loaded inside the mapp View WebViewer widget on the HMI, the microphone does not respond, and no permission prompt appears.
**My Analysis:**I suspect this is due to modern browser security policies (Secure Context), which require HTTPS to access sensitive hardware like the microphone. My current Web Server is configured to use the standard HTTP protocol.
My Questions:
HTTPS Configuration: Could anyone guide me through the correct steps to change the internal Web Server from HTTP to HTTPS in Automation Studio?
I see the “Protocol” setting under Physical View → CPU → Web Server configuration, but I am unsure how to correctly set up the “SSL configuration” and “SSL Port Number” (e.g., port 443 vs 8443).
How do I create and link a self-signed certificate for this purpose within AS?
WebViewer Permissions: Besides enabling HTTPS, does the WebViewer widget itself require any specific permissions or attributes (like the HTML iframe allow="microphone" attribute) to pass the audio capture capability from the HMI hardware to the embedded webpage?
Environment:
Software: Automation Studio 4.x
Technology: mapp View, HTML5, Web Speech API
Hardware: B&R PPC / Panel
Any advice or screenshots on the SSL configuration steps would be greatly appreciated!
Thank you for the comprehensive guide! It is very helpful for setting up HTTPS for the main mapp View application.
However, I have tested this, and unfortunately, it hasn’t resolved the microphone access issue within the WebViewer widget yet. I believe the issue lies in the architecture of how my HTML file is hosted.
My Analysis:
My custom HTML file (AURA.html) is not part of the mapp View project content; it is hosted on the PLC’s standard Web Server (configured in Physical View → CPU → Web Server), which listens on a different port (e.g., port 81 or 82).
Even if I configure the mapp View visualization to run on HTTPS (Port 443), the WebViewer widget is trying to load the content via HTTP (e.g., http://192.168.3.160:82/AURA.html). This creates two problems:
Mixed Content Error: Modern browsers block HTTP content (the WebViewer) embedded inside an HTTPS page (the main visualization).
Secure Context: The Web Speech API (Microphone) specifically requires the origin of the content itself to be HTTPS.
My Questions:
Has anyone successfully configured SSL/HTTPS specifically for the CPU Web Server (not the mapp View server)? I see the option in the CPU configuration, but I am unsure if it shares the same certificate store or requires a specific setup to serve static HTML files over HTTPS (e.g., on port 8443).
Regarding the WebViewer widget: Does B&R allow us to modify the <iframe> attributes? Even with HTTPS, standard HTML iframes often require the attribute allow="microphone" to pass permissions from the parent to the child. Is there a property or a workaround in mapp View to inject this attribute?
Any further insights on securing the standard Web Server or handling iframe permissions would be great.
My answer was about helping you with secure connection configuration only. I have no idea if there is a way to enable the microphone. Recently, there was a discussion about how to enable text-to-speech using WDTC. Maybe this is the way? I do not know.
Since no additional suggestion has been provided, I think it is time to use the official support channel. If you find any solution, it would be great to update us here.
Sorry for the late response … but here is the smile
To my knowledge, the WebViewer widgets does not set any specific settings for “allow” and “sandbox” - which in the end means, the browser will decide what to allow. As most browsers are configured to be max. secure, they will most likely block you from camera, microphone, …
Currently there is no possibility to influence “allow” and “sandbox” - so I doubt that the WebViewer widgets will be usable here.
The only real possibility would to create a new widgets, which has the correct settings set.
This would require to use the Widget Development Toolchain … An other possibility I currently do not see.
Thanks @hobi, in this case, @jayD’s support ticket makes no sense. If you would like to go WDTC way, you need to develop and investigate by yourself using publicly available knowledge resources (maybe AI? can help).