I think I worked out the issue. The example code in loop() is buggy because it might send a partial AT+ command and so the SIM7000 board returned an error.
I solved this by buffering the incoming serial bytes. When \r\n is detected, the whole string is sent to the SIM7000 board.
The AT commands that I have used so far (and the responses) are
AT+CSQ
+CSQ: 3,99
AT+CPOL?
+CPOL: 1,2,“20404”,1,0,
AT+COPS?
+COPS: 0,0,“505 03 DATA ONLY”,9
Some notes:
- I use Vodafone NB-IoT SIM card.
- I replaced the wire antenna with a whip antenna. Not sure if this would make any difference.