樹莓派+SIM模組自製簡易手機
現在手機滿街都是,對於技術宅來說,買一個多沒意思呀。自己做一個才算是完美是不是
SIM900A 通訊模組 一個
樹莓派一台
螢幕一個
SIM900A的通信模組最小版,已經把必要的IO都引出了,
這個SIM模組的供電電壓範圍是3.6-4.5V,所以是不能直接用5V的電源來供電的,
然後把模組通過GPIO和樹莓派接好,也就是/dev/ttyAMA0設備。不過需要設置一下,把系統的調試什麼的輸出都關掉這樣才能用這個串口。
首先是/boot/cmdline.txt
要把console=ttyAMA0,115200 kgdboc=ttyAMA0,115200這一段刪掉以禁用串口調試。
然後是/etc/inittab裡的T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100用#注釋掉
然後進行串口調試
microcom -p /dev/ttyAMA0
現在我們要打電話給10086,鍵入下列指令就可以啦
echo -e 'ATD10086;' > /dev/ttyAMA0
老是用指令打電話,太麻煩了,
生產gui之後在代碼後面加上
class App(wx.App):
def OnInit(self):
frame = MyFrame1(None) ##這裡為我們生成GUI的Frame類名
frame.Show()
return True
app = App()
app.MainLoop()
撥號和掛斷鍵的代碼
def CALLA( self, event ):
OUTAD='ATD%s;' % (self.number.GetValue()) ##把撥號的命令放到變數,後面的那些是輸入框裡的數字
print OUTAD
ser.write(OUTAD) #寫串口操作碼
def keyinnumber0( self, event ):
self.number.WriteText("0") ##在文字方塊添加個數位0,前面1-9也是一樣,用來輸入號碼
def CALLH( self, event ):
print 'ATH'
ser.write("ATH") #寫串口操作碼,掛斷電話
最終實現的效果