您好,登錄后才能下訂單哦!
這篇文章主要講解了“python如何開發TPYBoard v702 GPRS功能”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“python如何開發TPYBoard v702 GPRS功能”吧!
一、什么是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、具體代碼:
import pyb import upcd8544 from machine import SPI,Pin from pyb import UART from ubinascii import hexlify from ubinascii import *#以上為聲明使用到的類庫 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)#以上為初始化顯示屏的函數,雖然 #這次沒有用到顯示,但是備用 count_=0 N2 = Pin('Y3', Pin.OUT_PP) N1 = Pin('Y6', Pin.OUT_PP)#定義通信系統啟動引腳 N1.low() pyb.delay(2000) N1.high() pyb.delay(10000)#拉高拉低引腳,啟動通信系統 u2 = UART(4, 115200)#定義串口4,設置 波特率為115200 K=5#設置一個選擇變量K while (K==5):#這個循環是為了設置通信區域模式為透傳模式。 u2.write('AT+CIPMODE=1\r\n') pyb.delay(500) if(u2.any()>0): print('透傳') _dataRead=u2.readall() print('透傳',_dataRead.decode('utf-8')) if(_dataRead.find(b'OK')>-1): K=0 pyb.delay(20) u2.write('AT+CIPSTART="TCP","139.196.109.178",30000\r\n')#這個語句是為了搭建通信連 #接。 pyb.delay(10000) print('123') while (K==0):#這里是為了判斷通信連接是否已經建立起來,如果沒有建立起來通信的連接, #則等待。 pyb.delay(3000) if(u2.any()>0): _dataRead=u2.readall() print('oo',_dataRead) if(_dataRead.find(b'CONNECT OK')>-1):#這個判斷是為了判斷是否已經和服務器建 #立起連接來 K=1#開發板已經和服務器建立起連接來,則改變選擇變量的值,使其進入下 #一個循環 pyb.LED(1).on() while (K==1):#這個循環是執行數據傳輸命令的執行所在,在這個循環中進行各種數據的裁 #剪拼接和發送。 print('DOU') #u2.write('+++') 此時整個系統進入透傳通信模式,想要退出,則發送‘+++’,即可 #退出; #u2.write('ATO0') 想讓系統從指令模式進入透傳模式,則發送‘ATO0’,則進入透傳; #pyb.delay(1500) pyb.LED(2).off() pyb.LED(3).off() pyb.LED(2).on() u2.write('TPGPS,1234567890abcde,36.67191670,119.17200000,201701120825,25,50,END') #這個報文詳細格式參照服務平臺示例報文格式。 #把這格式里面的經緯度數據換成從定位系統獲取到的經緯度,就可以實時定位了。 pyb.delay(13000)#延時一下時間,官方提供的測試平臺有上傳頻率限制 if(u2.any()>0):#在向服務器發送了數據后,服務器會對數據進行判斷,并返相應的報文 #(報文參數詳見服務平臺) #這個返回僅適用于官方提供的服務平臺,客戶自己搭建的平臺是否 #存在這個功能,客戶自主搭建。 _dataRead=u2.readall() print('1212',_dataRead) pyb.LED(3).on() pyb.delay(10000)
感謝各位的閱讀,以上就是“python如何開發TPYBoard v702 GPRS功能”的內容了,經過本文的學習后,相信大家對python如何開發TPYBoard v702 GPRS功能這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。