I don’t have any first hand experience of the SIM800I, or using a GPRS shield for Blynk communication, but I do have experience of using the SIM900 for SMS communication.
With the SIM900 it’s difficult to establish if the SIM card is correctly registered with the mobile network and that the mobile carrier is supported by the firmware on the SIM900. I had a SIM from the UK carrier called “Three” which could receive and send SMS messages when used in a phone, but which wouldn’t work in the SIM900. II tried another SIM from the “GifGaff” provider and this worked fine. It seems that the SIM900 firmware gust didn’t work with Three.
I ended-up using an Arduino Mega (because it has multiple serial ports) to monitor communications between the SIM900 and the Arduino, by issuing an AT command to show verbose messages and viewing these in the serial monitor. I guess I could have used software serial with a standard Arduino or ESP device, but the Mega just made diagnostics easier.
The SIM900 is also very power hungry and needs it’s own power supply to function correctly. It also has a switch to select which power source (external socket or pins) is being used and this has to be set correctly. Not sure if the SIM800I is similar?
If you have an Ethernet shield and/or ESP8266 then maybe you should use that to check that all is working correctly before going back to GPRS data communications?
Once you do get a working connection to CloudMQTT then I seem to recall that you manually have to define the MQTT paths/folders that you want to read/write to. These aren’t created/handled automatically in the same was as they are in Mosquitto.
Hope this helps.
Pete.