首先,由於樹莓派3 Model B的TTL引腳GPIO14、GPIO15默認被分配給了藍牙,所以爲了能用這兩個引腳接GSM模塊,必須把藍牙禁用掉,然後把GPIO14、GPIO15分配給串口。具體實現參考:http://blog.csdn.net/aguangg_6655_la/article/details/54985423
串口重新分配後,開始把樹莓派3和GSM/GPRS A6模塊用TTL線連接起來。當然了,A6模塊要插一張SIM電話卡進去,我的是從手機取出來的中國移動卡。4根線對接如下:
GSM: VCC_IN <----> 樹莓派: DC 5V
GSM: U_TXD
<----> 樹莓派: RXD0(GPIO15)
GSM: U_RXD
<----> 樹莓派: TXD0 (GPIO14)
GSM: GND
<----> 樹莓派: GND
接線完成,給樹莓派和A6模塊供電。樹莓派是買的配套的5V電源;但是我一直在猶豫A6模塊如何供電的問題,因爲網上找不到相關文檔,麻痹的賣模塊的商家居然也沒有文檔,艹。我先嚐試用我的安卓手機充電器(也是5V)給A6模塊供電。
都通電後,我用putty連上樹莓派linux系統,執行命令:minicom -D /dev/ttyAMA0 開始監控串口接收數據。我打開另一個putty,執行AT命令嘗試讓A6模塊開始撥打電話:
但是minicom裏面監控的A6反饋信息一直不正常,我的電話也一直沒有響。A6將我的命令原樣返回給了minicom,也就是說A6收到了命令但是沒有執行。爲什麼?我感覺難道是因爲手機充電器供電不對導致的嗎?
然後我嘗試用樹莓派的5V和Ground接到A6模塊的VCC和GND(前面步驟我只把樹莓派的兩根數據線與A6連接了,5V電源和GND並沒有接,我擔心撥電話時樹莓派的供電不足),再執行AT命令,minicom裏監控的A6反饋信息居然變化了,然後我的手機響了。如下:
到此,我折騰了很久,終於實現了樹莓派和GSM A6模塊的通信,並能打電話。