https://www.raspberrylovers.com/2019/03/raspberry-pi-serial-port-communication.html