這篇文章主要介紹“Micropython怎么實現(xiàn)來電顯示功能”,在日常操作中,相信很多人在Micropython怎么實現(xiàn)來電顯示功能問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Micropython怎么實現(xiàn)來電顯示功能”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
創(chuàng)新互聯(lián)從2013年開始,先為周村等服務(wù)建站,周村等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為周村企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
一、TPYBoardV702介紹
TPYBoardV702是目前市面上唯一支持通信通信功能的MicroPython開發(fā)板:支持Python3.0及以上版本直接運行。支持GPS+北斗雙模通信、GPRS通信、短信功能、電話功能;板載溫濕度、光敏、三軸加速度傳感器、蜂鳴器、LCD5110顯示屏。免費提供通信測試服務(wù)平臺。
二、利用TPYBoardV702完成接收提示來電,并在顯示屏上顯示來電號碼及來電人員稱謂
1、具體要求
利用TPYBoardV702完成接收提示來電,并在顯示屏上顯示來電號碼及來電人員稱謂
2、所需器件
TPYBoardV702開發(fā)板一塊
5110顯示屏一塊
Gsm手機卡一張
TPYBoardV702開發(fā)板板載GSM通信功能,無需外接
3、板載通信功能及使用介紹
V702的開發(fā)板的整體整體亮點置一就是能板載通信功能,只要在開發(fā)板的卡槽上插上一張可以使用的手機卡(不支持電信),即可使用該功能。
開發(fā)板板載的通信功能包括了電話,短信,GPRS等功能,在這個實驗里面我們只使用電話這個功能。
開發(fā)板板載的通信功能已經(jīng)設(shè)計的很完善,在接到來電的時候,會主動的把來電的信息通過串口4發(fā)送進來,這樣一來作為用戶的我們就是需要把數(shù)據(jù)進行相應(yīng)的處理加顯示就可以了。
三、制作主要過程
先上個圖,下面再開始說代碼的問題。
1、制作過程
(1)首選我們需要做的是把5100顯示屏插到702開發(fā)板的5110顯示屏接口處;
(2)在上面工作完成后,我們這里需要用到主要的類庫,5110的類庫,我們需要把這個類庫的.py文件拷貝到開發(fā)板的盤符中;
(3)完成以上工作后,我們開始main().py文件代碼的編輯;
(4)對需要用到的類庫進行聲明和定義;
(5)把我們需要使用的變量進行一下定義;
(6)把我們需要用到的接口進行聲明和定義,這里我們主要用到了spi1和串口4這兩個接口,聲明串口4的時候,需要把串口波特率設(shè)置為115200;
(7)下面開始主函數(shù)的編寫,這個實驗里面我們用到了顯示,我們在程序的開始部分先進行顯示部分的初始化;
(8)完成顯示部分初始化之后,我們需要做一個最重要的事情,那就是定義“Y6”引腳為輸出,然后把:“Y6”引腳拉低兩秒以上,之后把此引腳拉高。因為“Y6”引腳是控制整個板載通信系統(tǒng)開啟的開關(guān),如果平時我們沒有用到通信系統(tǒng)的話,為了節(jié)省功耗,板載通信系統(tǒng)是處于關(guān)閉狀態(tài)的,需要使用時只需要拉低“Y6”引腳兩秒以上;
(9)當(dāng)看到開發(fā)板上的紅色直插LED燈快速閃爍的時候,說明板載通信系統(tǒng)正在啟動,當(dāng)這個紅色直插指示燈結(jié)束快閃(如果插在開發(fā)板卡槽上的手機可用,指示燈處于慢閃狀態(tài))說明板載通信系統(tǒng)已經(jīng)啟動;
(10)完成以上工作后,準(zhǔn)備工作就已經(jīng)完成了,剩下需要做的就是監(jiān)控串口4是否有數(shù)據(jù)發(fā)送過來,當(dāng)檢測到串口4有數(shù)據(jù)發(fā)送過來,對數(shù)據(jù)進行相應(yīng)的判斷及處理,并顯示到顯示屏上即可。
2、具體代碼:
import pyb import upcd8544 from machine import SPI,Pin from pyb import UART from ubinascii import hexlify from ubinascii import *#以上內(nèi)容為聲明所使用的類庫 leds = [pyb.LED(i) for i in range(1,5)] P,L,SHUCHU=0,0,0 SPI = pyb.SPI(1) #DIN=>X8-MOSI/CLK=>X6-SCK #DIN =>SPI(1).MOSI 'X8' data flow (Master out, Slave in) #CLK =>SPI(1).SCK 'X6' SPI clock RST = pyb.Pin('X20') CE = pyb.Pin('X19') DC = pyb.Pin('X18') LIGHT = pyb.Pin('X17') lcd_5110 = upcd8544.PCD8544(SPI, RST, CE, DC, LIGHT)#以上內(nèi)容為聲明并初始化顯示屏 count_=0 N2 = Pin('Y3', Pin.OUT_PP)#定義“Y3”為輸出模式,這個引腳是控制蜂鳴器的,來電話了 #需要響鈴的 N1 = Pin('Y6', Pin.OUT_PP)#定義“Y6”位輸出模式,“Y6”引腳是板載通信系統(tǒng)的開關(guān)控 #制引腳 N1.low() pyb.delay(2000) N1.high() pyb.delay(10000)#通過拉低拉高開光控制引腳,啟動通信系統(tǒng) u2 = UART(4, 115200)#設(shè)置串口4,并設(shè)置串口波特率為115200 i='0' w=0 d=0 q=0 G=0 j=0 while 0<1: N2.low()#設(shè)置蜂鳴器控制引腳為低電平,不讓蜂鳴器響 if(u2.any()>0):#檢測串口4是否有數(shù)據(jù),如果有數(shù)據(jù)執(zhí)行以下 _dataRead=u2.readall() if _dataRead!=None:#判斷串口4的數(shù)據(jù)是否為空,不為空執(zhí)行以下代碼 print('原始數(shù)據(jù)=',_dataRead) print('原始數(shù)據(jù)長度:',len(_dataRead)) print('123',_dataRead[2:6]) RING=_dataRead[2:6]#截取包頭,這個包頭是為了判斷數(shù)據(jù)是否正確的重要依 #據(jù) print('111',_dataRead[18:29]) HM=_dataRead[18:29]#數(shù)據(jù)的18至29位是數(shù)據(jù)中攜帶的手機號碼,我們把它 #們保存出來 WD='No such person'#設(shè)置一個變量,這個變量我們可以稱為是電話本類比變 #量,主要是作為顯示時什么人來電,例如顯示張三, #或者李四 if(RING==b'RING'):#判斷包頭正確,執(zhí)行下面代碼 if(HM==b'18654868920'):#判斷來電是否是一個已經(jīng)存儲的號碼 WD='TPYBoard_GPS'#如果是,顯示存儲名稱,如果沒有存儲顯示'No #such person' #**********************時間************************ N2.high()#拉高蜂鳴器控制引腳,使蜂鳴器響鈴 lcd_5110.lcd_write_string('Phone Number:',0,0) lcd_5110.lcd_write_string(HM.decode("utf8"),2,1) lcd_5110.lcd_write_string('The contact:',0,2) lcd_5110.lcd_write_string(str(WD),0,3)#顯示相應(yīng)的來電號碼,來電人稱謂 #等 pyb.delay(1000)
到此,關(guān)于“Micropython怎么實現(xiàn)來電顯示功能”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
文章標(biāo)題:Micropython怎么實現(xiàn)來電顯示功能
網(wǎng)站鏈接:http://aaarwkj.com/article8/googip.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、網(wǎng)站建設(shè)、網(wǎng)站營銷、外貿(mào)網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)