I have one SIM800 connected to arduino nano, running for days sending data every hour. I'm using D7 for RESET with no problem. SIM800 is 5V tolerant, no need for level shifting.One thing about power: first i tested the module with a external power supply regulated to 4.95V with a diode to down voltage to 4.25V. Then i replaced the power supply for a pack of batteries (5.08V), after that i got strange behavior, sometimes SIM800 didn´t send any messages. I figured that at 5.08V, the voltage on the SIM800 was 4.35V that leeds to OVERVOLTAGE warnings. If you use diodes to down voltage, ensure that it stays around 4.2V. Better is to use a LDO or some external power very stable.About the power on/off question, i use a optocoupler connected to a arduino pin, that way i can use it like a swith to turn on/off the SIM800 module. You can also use a FET transistor to do the same.
#define SIM_SERIAL Serial
I use Arduino UnoConnected USB only, nothing else.
SIM800 is 5V tolerant, no need for level shifting.
SIM_SERIAL.print("AT+SAPBR=3,1,\"APN\",\""); SIM_SERIAL.print(apn); SIM_SERIAL.println('\"'); if (!sendCommand(0)) return 4;