Setup Siemens SIMATIC IOT 2050 as an edge device to control Waveshare 8-channel relay via RS-485. Uses Python script with pySerial library. The relays can be controlled with the serial port (X30) or USB.
In summary, IOT2050 basic has 1GB RAM, Dual Core processor, no onboard storage, and no analog input. It also does not come with any pre-installed OS, which may not be such a big deal for most users as you can install a Siemens provided standard sample image (at no cost) or any supported version of Linux (e.g., Debian). The IOT2050 advance has a more powerful TI processor with four cores, boasts 2GB RAM, and 16GB eMMC onboard storage. This one comes pre-installed with Siemens Industrial OS, which is a hardened version of Debian Linux. One key difference - apart from the processing, RAM etc. - is that Advance version allows 6 analog inputs. So if you are just trying to explore using IOT2050 for connecting your devices to push data to the cloud, start with IOT2050 basic (Siemens part number 6ES7647-0BA00-0YA2). If you plan to run an edge OS on it to enable it to talk to a bunch of devices on your factory floor, such as Litmus or Siemens MindConnect, consider getting IOT2050 Advance (Siemens part number 6ES7647-0BA00-1YA2). Good luck edging!