Sorry for the delay, I was gone and was hoping that someone else could jump in and take this up for you.
For the sake of context I am calling the BeagleBone Black card a computer. From an engineering point of view it only makes since to call it a computer. Programs run on the BeagleBone and it manages it's own communications. You are basically sitting in front of your laptop/desktop and accessing a remote computer using putty. In terms of raw processing power, the BeagleBone Black exceeds many of the computers that ran early versions of Windows.
As I said, I don't have the module, so I can't test this. The first thing I would try is just sending the command straight from the BeagleBone to the Sim800L. The Sim800L is a peripheral of the BeagleBone and if it was identified correctly, it should appear in the BeagleBone's /dev directory. I don't know where it appears to the /dev directory, but for the sake of this example, I'm going to call it /dev/GSM (If you don't know how to find the /dev then say so).
The first try is to simply run minicom on the BeagleBone to communicate with the Sim800L. I have assumed from the beginning that you have already done this. Maybe I was wrong in assuming this. If you need to know how to do this, reply back to get help.
Once it is known that you can communicate with the Sim800L, you can try sending the commands to the Sim800L by using other means. What happens when you try.
Code:
echo "AT + CSQ" > /dev/GSM
cat /dev/GSM
Note: the /dev/GSM must be substitute for the real /dev entry.
I'm so sure echo/cat is the right way to go. This method could be very fragile and could easily get stuck if something unexpected happens. I consider running "expect" on the BeagleBone as a way to communicate with the Sim800L, because "expect" is better at handling unexpected situations.