Overview:
We have our own router using OpenWrt firmware.
As a User We would like to create an ios/android app that will allow our router users to manually change Network & Wireless Configurations.
As a User we would like to dynamically update Network & Wireless Configurations from within our ios/android app based on our WiFi readings.
Is it possible to update/change configuration files from and ios/android app? if so, what would be the best approach? can you point me to any documentation that would help me get started with a quick proof of concept app for both ios and android?
In a nutshell you need to expose some sort of API on the router which you then consume from your application. You also need to think about security and authentication aspects, as well as device discovery in case you want to on-board yet unconfigured devices from your mobile phones as well.
You could leverage the existing ubus HTTPS API gateway which is used by modern LuCI to interface with OpenWrt's ubus system over HTTP. That gives you access to service control, uci manipulation and runtime state.
Alternatively develop your own HTTP(S) based solution using something like PHP or another suitable language which provides a number of rest points for retrieving and updating device state.
Other potential approaches would be sending direct shell commands via an SSH connection or having some kind of agent on the target reacting to MQTT broker messages or similar.