I am using running resin-wpe but modified for my purposes using the instructions within their base-image folder: https://github.com/resin-io-playground/resin-wpe/tree/master/base-image . I added apache, php, wireless-tools, wpa_supplicant, and a few other items to the docker image. The image works perfectly for almost everything I need, except I need my end users to choose and connect to a wireless network of their own choice. I know that I can typically use wireless-tools and wpa_supplicant to accomplish this but those options are not working, even though I included them in the build.
I also know about resin-wifi-connect but that won’t work in tandem with resin-wpe. Is there any way I can give my non-technical client the ability to select and connect to a wireless network and what do I need to install to accomplish this?
I know connman can connect as well as wpa_supplicant but I’m not as familiar and I’d like to know the proper way to accomplish this within resin.
resin-wpe doesn’t include any installer packages, so all the commands within the dockerfile failed immediately. Also, not all my users will have access to a smart mobile or tablet device to run the exchange required from resin-wifi-connect.
Also, we tried another application template that ran Chromium and we found that it doesn’t support HTML5 video, which is a requirement for our project. Will resin-electronjs have the same issue? One of the main reasons we went with resin-wpe was because it supports HTML5 video, with slight modification can run a local web server and php files, and the hardware acceleration support running high definition video quality, all important for our tasks.
I believe resin-electronjs should support HTML5 video just fine, and if you have any issues, it’d be something we can help you with.
The cool thing about Electron is that it provides access to the underlying system through its Node.js integration. This means you could build a HTML interface (assuming you have some kind of input interface, like a touchscreen) to tweak the network settings by talking to NetworkManager directly.
Our interface needs are for a keyboard and mouse, but I imagine that’s already supported. The only other thing I need to know is can I modify resin-electronjs to install and run a local web server and serve php files? We can’t afford to rewrite our entire application into Node.js.
Yeah, you can use resin-electronjs as the base of your project, and add any other things you need on top. You can add a PHP server, and then point the Electron URL to it, and it should all just work.
Well that’s amazing to hear! I’ll give this a shot. One more question. My knowledge and experience with resin is limited but I’m a quick learner. Would you be able to provide some insight on a proper way to combine resin-wifi-connect and resin-electronjs?
resin-wifi-connect opens a captive portal that you can access (maybe from within your application itself, presenting it on the screen?). Notice that resin-wifi-connect communicates with NetworkManager to perform its job, so another option is to bypass resin-wifi-connect and talk to NetworkManager directly, as suggested above.
Thank you very much for all your help. I’ll get to work on this right away. If I come across any issues with the wifi connection or the HTML5 video playback, should I start a fresh post or return to this one?
Here is the error I get when I try to push that to resin:
[Build] E: Unable to locate package libapache2-mod-php7.0
[Build] E: Couldn't find any package by regex 'libapache2-mod-php7.0'
[Build] E: Unable to locate package php7.0
[Build] E: Couldn't find any package by regex 'php7.0'
[Build] E: Unable to locate package php7.0-cli
[Build] E: Couldn't find any package by regex 'php7.0-cli'
[Build] E: Unable to locate package php7.0-curl
[Build] E: Couldn't find any package by regex 'php7.0-curl'
I tried every variation of php that I know. Ultimately, I ran apt-cache search php and nothing came up, which suggests that the package installer doesn’t contain any php libraries.