A cheap ELM scanner will do the job. Roughly.
A bit more cash (add a zero) will get you an OBDLink or similar
To get something really good you generally need to look at something of professional quality like a Snap-On or Sykes Pickavant. Add another zero again. Plus a bit more cash for the specific reader keys.
There are cheaper solutions but these tend to be specific solutions for specific makes (like the modified scanners that you can use to reprogram Fords).
And resetting lights is no good if you can’t fix the underlying fault AND perform reprogramming duties if required (for example new sensors need to be programmed in).
I’d go with the cheapo to be honest.