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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

MicroPython-GPRS教程之TPYBoardv702GPRS功能測試

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

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



  二、利用TPYBoardV702完成利用GPRS功能把數據上傳至服務器

  1、具體要求

  利用TPYBoardV702完成利用GPRS功能把數據上傳至服務器

  2、所需器件

  TPYBoardV702開發板一塊

  Gsm手機卡一張

  TPYBoardV702開發板板載GPRS通信功能,無需外接

  3、板載通信功能及使用介紹

  V702的開發板的整體整體亮點置一就是能板載通信功能,只要在開發板的卡槽上插上一張可以使用的手機卡(不支持電信),即可使用該功能。

  開發板板載的通信功能包括了電話,短信,GPRS等功能,在這個實驗里面我們只使用GPRS這個功能。

  我們使用GPRS功能,主要是為了借助這個功能向服務器透傳數據,所以我們第一步是要打開透傳功能。

  然后我們要和服務器建立連接,這時我們需要知道服務器的地址和端口。這個實驗我們借用官方提供的測試平臺,發送一個自己編輯的數據包,來學習一下GPRS功能的使用方法。

  下面仔細說一下制作過程。

  三、制作主要過程

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


  Putty數據監控圖



  示例定位圖

  1、制作過程

  (1)第一步是先把手機卡插到開發板開槽上,需要保證手機卡可以使用;

  (2)在上面工作完成后,我們開始main().py文件代碼的編輯;

  (3)對需要用到的類庫進行聲明和定義;

  (4)把我們需要使用的變量進行一下定義;

  (5)把我們需要用到的接口進行聲明和定義,這里我們主要用到了串口4這個接口,聲明串口4的時候,需要把串口波特率設置為115200;

  (7)下面開始主函數的編寫,這個實驗里面我們用到了數據包,我們先新建一個符合格式的數據包;

  (8)完成以上之后,我們需要做一個最重要的事情,那就是定義“Y6”引腳為輸出,然后把:“Y6”引腳拉低兩秒以上,之后把此引腳拉高。因為“Y6”引腳是控制整個板載通信系統開啟的開關,如果平時我們沒有用到通信系統的話,為了節省功耗,板載通信系統是處于關閉狀態的,需要使用時只需要拉低“Y6”引腳兩秒以上;

  (9)當看到開發板上的紅色直插LED燈快速閃爍的時候,說明板載通信系統正在啟動,當這個紅色直插指示燈結束快閃(如果插在開發板卡槽上的手機可用,指示燈處于慢閃狀態)說明板載通信系統已經啟動;

  (10)完成以上工作后,準備工作就已經完成了,下面我們需要先把通信系統的通信方式設置為透傳,之后再和相應的服務器地址和端口進行連接;

  (11)和服務器建立連接后,就可以開始想服務器發送數據了,直接把數據從串口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)
  19. N1 = Pin('Y6', Pin.OUT_PP)#定義通信系統啟動引腳
  20. N1.low()
  21. pyb.delay(2000)
  22. N1.high()
  23. pyb.delay(10000)#拉高拉低引腳,啟動通信系統
  24. u2 = UART(4, 115200)#定義串口4,設置 波特率為115200
  25. K=5#設置一個選擇變量K
  26. while (K==5):#這個循環是為了設置通信區域模式為透傳模式。
  27.     u2.write('AT+CIPMODE=1\r\n')
  28.     pyb.delay(500)
  29.     if(u2.any()>0):
  30.         print('透傳')
  31.         _dataRead=u2.readall()
  32.         print('透傳',_dataRead.decode('utf-8'))
  33.         if(_dataRead.find(b'OK')>-1):
  34.             K=0
  35.             pyb.delay(20)
  36. u2.write('AT+CIPSTART="TCP","139.196.109.178",30000\r\n')#這個語句是為了搭建通信連                                                                                                        #接。
  37. pyb.delay(10000)
  38. print('123')
  39. while (K==0):#這里是為了判斷通信連接是否已經建立起來,如果沒有建立起來通信的連接,                        #則等待。
  40.     pyb.delay(3000)
  41.     if(u2.any()>0):
  42.         _dataRead=u2.readall()
  43.         print('oo',_dataRead)
  44.         if(_dataRead.find(b'CONNECT OK')>-1):#這個判斷是為了判斷是否已經和服務器建                                                                                  #立起連接來
  45.             K=1#開發板已經和服務器建立起連接來,則改變選擇變量的值,使其進入下                            #一個循環
  46.             pyb.LED(1).on()
  47. while (K==1):#這個循環是執行數據傳輸命令的執行所在,在這個循環中進行各種數據的裁                        #剪拼接和發送。
  48.     print('DOU')
  49.     #u2.write('+++')  此時整個系統進入透傳通信模式,想要退出,則發送‘+++’,即可        #退出;
  50.     #u2.write('ATO0') 想讓系統從指令模式進入透傳模式,則發送‘ATO0’,則進入透傳;
  51.     #pyb.delay(1500)
  52.     pyb.LED(2).off()
  53.     pyb.LED(3).off()
  54.     pyb.LED(2).on()
  55.     u2.write('TPGPS,1234567890abcde,36.67191670,119.17200000,201701120825,25,50,END')
  56.     #這個報文詳細格式參照服務平臺示例報文格式。
  57.     #把這格式里面的經緯度數據換成從定位系統獲取到的經緯度,就可以實時定位了。
  58.     pyb.delay(13000)#延時一下時間,官方提供的測試平臺有上傳頻率限制
  59.     if(u2.any()>0):#在向服務器發送了數據后,服務器會對數據進行判斷,并返相應的報文                                #(報文參數詳見服務平臺)
  60.                     #這個返回僅適用于官方提供的服務平臺,客戶自己搭建的平臺是否                                        #存在這個功能,客戶自主搭建。
  61.         _dataRead=u2.readall()
  62.         print('1212',_dataRead)
  63.     pyb.LED(3).on()
  64.     pyb.delay(10000)
復制代碼



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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 免费观看一级特黄欧美大片 | 户外露出一区二区三区 | 91在线视频播放 | 国产高清精品一区 | 亚洲国产aⅴ精品 | 日本精品一区二区三区在线观看视频 | 国产精品视频久久久 | 91在线精品一区二区 | 欧美激情精品久久久久 | 久久99精品国产自在现线小黄鸭 | 中文字幕av中文字幕 | 九九亚洲精品 | 国产视频欧美 | 国产精品久久久久久久午夜片 | 亚洲精品亚洲人成人网 | 中国一级特黄真人毛片免费观看 | 国产精品性做久久久久久 | 国产免费一区二区三区最新6 | 在线中文视频 | 成人午夜免费福利视频 | www.亚洲一区 | 激情国产视频 | 日韩中文字幕一区二区三区 | 国产精品亚洲二区 | 久久一二 | 在线成人精品视频 | 美国av毛片 | 国产精品久久久久久吹潮 | 欧美无乱码久久久免费午夜一区 | 久久久精品在线 | 在线看日韩av | caoporn视频在线| 久热久| 91社区在线观看播放 | 中文字幕在线观看视频网站 | 精品国产一区二区三区成人影院 | 精品国产乱码一区二区三 | 99中文字幕 | av一区二区三区四区 | 国产在线小视频 | 黄色男女网站 |