Quote:
- serial port number changes sometimes
That might happen when plugging the USB-to-Serial converter into a different connector. But it should not happen when not unplugging the converter.
Quote:
- another application can "steal" the port and kill the communication
COM ports are exclusive resources. That applies to virtual ports too. That means once an application has opened it, it can't be opened anymore by another application (or even the same application). So the communication can't be killed by another application. However, another application may open the port before yours.
Quote:
- it is not crypted
That is not related to the physical interface and low level communication protocol. If necessary, you can use some kind of encryption for data transfers.
Quote:
What are my options to communicate between Arduino/Microcontroller and PC?
There are many depending on the kind of interfaces available or installable. For low speed you can even use SPI and I2C.
I assume that you have an USB-to-Serial converter at the PC side. If that has an FTDI chip, you can use the
D2XX Direct Drivers[
^] (with other chips there may be similar drivers). Using that you can access the converter by VID and PID instead of the virtual COM port and avoid the problem of changing COM ports. You can even uninstall or disable the virtual COM port driver so that other applications would have to use the same method to access the converter.