久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2347|回復: 0
打印 上一主題 下一主題
收起左側

MicroPython-GPS開發板:TPYBoardv702來電顯示功能實例

[復制鏈接]
跳轉到指定樓層
樓主
一、什么是TPYBoardV702

    TPYBoard V702是山東蘿卜電子科技有限公司最新開發的,目前市面上唯一支持通信通信功能的MicroPython開發板:支持Python3.0及以上版本直接運行。支持GPS+北斗雙模通信、GPRS通信、短信功能、電話功能;板載溫濕度、光敏、三軸加速度傳感器、蜂鳴器、LCD5110顯示屏。免費提供通信測試服務平臺。實物如下圖:



一、利用TPYBoardV702完成接收提示來電,并在顯示屏上顯示來電號碼及來電人員稱謂

1、具體要求
     利用TPYBoardV702完成接收提示來電,并在顯示屏上顯示來電號碼及來電人員稱謂
2、所需器件
TPYBoard V702開發板  一塊
5110顯示屏                   一塊
Gsm手機卡           一張
TPYBoard V702開發板板載GSM通信功能,無需外接

3、板載通信功能及使用介紹
V702的開發板的整體整體亮點置一就是能板載通信功能,只要在開發板的卡槽上插上一張可以使用的手機卡(不支持電信),即可使用該功能。
開發板板載的通信功能包括了電話,短信,GPRS等功能,在這個實驗里面我們只使用電話這個功能。
開發板板載的通信功能已經設計的很完善,在接到來電的時候,會主動的把來電的信息通過串口4發送進來,這樣一來作為用戶的我們就是需要把數據進行相應的處理加顯示就可以了。

三、制作主要過程


先上個圖,下面再開始說代碼的問題。



這次不光有照片,還有視頻:



1、制作過程
1)首選我們需要做的是把5100顯示屏插到702開發板的5110顯示屏接口處;
2)在上面工作完成后,我們這里需要用到主要的類庫,5110的類庫,我們需要把這個類庫的.py文件拷貝到開發板的盤符中;
3)完成以上工作后,我們開始main().py文件代碼的編輯;
4)對需要用到的類庫進行聲明和定義;
5)把我們需要使用的變量進行一下定義;
6)把我們需要用到的接口進行聲明和定義,這里我們主要用到了spi 1和串口4這兩個接口,聲明串口4的時候,需要把串口波特率設置為115200
7)下面開始主函數的編寫,這個實驗里面我們用到了顯示,我們在程序的開始部分先進行顯示部分的初始化;
8)完成顯示部分初始化之后,我們需要做一個最重要的事情,那就是定義“Y6”引腳為輸出,然后把:“Y6”引腳拉低兩秒以上,之后把此引腳拉高。因為“Y6”引腳是控制整個板載通信系統開啟的開關,如果平時我們沒有用到通信系統的話,為了節省功耗,板載通信系統是處于關閉狀態的,需要使用時只需要拉低“Y6”引腳兩秒以上;
9)當看到開發板上的紅色直插LED燈快速閃爍的時候,說明板載通信系統正在啟動,當這個紅色直插指示燈結束快閃(如果插在開發板卡槽上的手機可用,指示燈處于慢閃狀態)說明板載通信系統已經啟動;
10)完成以上工作后,準備工作就已經完成了,剩下需要做的就是監控串口4是否有數據發送過來,當檢測到串口4有數據發送過來,對數據進行相應的判斷及處理,并顯示到顯示屏上即可。


2、具體代碼:

  1. import pyb
  2. import upcd8544
  3. from machine import SPI,Pin
  4. from pyb import UART
  5. from ubinascii import hexlify
  6. from ubinascii import *#以上內容為聲明所使用的類庫


  7. leds = [pyb.LED(i) for i in range(1,5)]
  8. P,L,SHUCHU=0,0,0
  9. SPI = pyb.SPI(1) #DIN=>X8-MOSI/CLK=>X6-SCK
  10. #DIN =>SPI(1).MOSI 'X8' data flow (Master out, Slave in)
  11. #CLK =>SPI(1).SCK  'X6' SPI clock
  12. RST    = pyb.Pin('X20')
  13. CE     = pyb.Pin('X19')
  14. DC     = pyb.Pin('X18')
  15. LIGHT  = pyb.Pin('X17')
  16. lcd_5110 = upcd8544.PCD8544(SPI, RST, CE, DC, LIGHT)#以上內容為聲明并初始化顯示屏
  17. count_=0
  18. N2 = Pin('Y3', Pin.OUT_PP)#定義“Y3”為輸出模式,這個引腳是控制蜂鳴器的,來電話了                                                #需要響鈴的
  19. N1 = Pin('Y6', Pin.OUT_PP)#定義“Y6”位輸出模式,“Y6”引腳是板載通信系統的開關控                                                #制引腳
  20. N1.low()
  21. pyb.delay(2000)
  22. N1.high()
  23. pyb.delay(10000)#通過拉低拉高開光控制引腳,啟動通信系統
  24. u2 = UART(4, 115200)#設置串口4,并設置串口波特率為115200
  25. i='0'
  26. w=0
  27. d=0
  28. q=0
  29. G=0
  30. j=0
  31. while 0<1:
  32.     N2.low()#設置蜂鳴器控制引腳為低電平,不讓蜂鳴器響
  33.     if(u2.any()>0):#檢測串口4是否有數據,如果有數據執行以下
  34.         _dataRead=u2.readall()
  35.         if _dataRead!=None:#判斷串口4的數據是否為空,不為空執行以下代碼
  36.             print('原始數據=',_dataRead)
  37.             print('原始數據長度:',len(_dataRead))
  38.             print('123',_dataRead[2:6])
  39.             RING=_dataRead[2:6]#截取包頭,這個包頭是為了判斷數據是否正確的重要依                                                                #據
  40.             print('111',_dataRead[18:29])
  41.             HM=_dataRead[18:29]#數據的18至29位是數據中攜帶的手機號碼,我們把它                                                                #們保存出來
  42.             WD='No such person'#設置一個變量,這個變量我們可以稱為是電話本類比變                                                          #量,主要是作為顯示時什么人來電,例如顯示張三,                                                          #或者李四
  43.             if(RING==b'RING'):#判斷包頭正確,執行下面代碼
  44.                 if(HM==b'18654868920'):#判斷來電是否是一個已經存儲的號碼
  45.                     WD='TPYBoard_GPS'#如果是,顯示存儲名稱,如果沒有存儲顯示'No                                                                           #such person'
  46. #**********************時間************************
  47.                 N2.high()#拉高蜂鳴器控制引腳,使蜂鳴器響鈴
  48.                 lcd_5110.lcd_write_string('Phone Number:',0,0)
  49.                 lcd_5110.lcd_write_string(HM.decode("utf8"),2,1)
  50.                 lcd_5110.lcd_write_string('The contact:',0,2)
  51.                 lcd_5110.lcd_write_string(str(WD),0,3)#顯示相應的來電號碼,來電人稱謂                                                                                                #等
  52.         pyb.delay(1000)
復制代碼



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产在线一区二区三区 | 日韩久久久久久 | 午夜影院官网 | 中文字幕91av | 黄a在线播放 | 国产小网站| 色婷婷久久久亚洲一区二区三区 | 国产一区二区在线91 | 偷牌自拍| 欧美精品综合 | 欧美a在线 | 日韩精品一二三 | 少妇一级淫片免费播放 | 欧美日韩国产中文 | 成人在线国产 | 亚洲精品国产综合区久久久久久久 | 色婷婷一区二区三区四区 | 日韩在线观看中文字幕 | 日本福利在线观看 | 久久久国 | 免费观看黄 | 亚洲欧美视频 | 欧美综合在线视频 | av电影一区 | 成人污污视频 | 国内精品久久久久 | 日本精品在线观看 | 日本午夜免费福利视频 | 中文字幕在线视频精品 | 欧美片网站免费 | 免费同性女女aaa免费网站 | 91av免费观看 | 欧美日韩国产一区二区三区 | 国产免国产免费 | 九九视频在线观看 | 麻豆精品国产91久久久久久 | 成人免费在线观看视频 | 欧美精品一区二区三区四区五区 | 在线一区二区三区 | 色综合av| 嫩草一区二区三区 |