前面的一篇文檔向大家介紹了v201的開發板作為客戶端終端向TCPS上傳數據的基本過程,這次向大家簡單介紹一下怎樣使用V201開發板搭建一臺簡易的服務器做遠程云加法器。
一.實驗器件
TPYBoard_V201開發板一塊
二.TPYBoard_V201開發板
TPYBoard_V201是以遵照MIT許可的MicroPython為基礎,由TurnipSmart公司制作的一款MicroPython開發板,它基于STM32F405單片機,通過USB接口進行數據傳輸。該開發板內置4個LED燈、板載V201網口功能,可在3.3V-10V之間的電壓正常工作。可以說這個開發板在網絡穩定方面是一霸也不為過,板上其他硬件資源也非常豐富,像單總線,i2c,spi,串口等接口也是應有盡有,這次我們就要用到串口的功能。
上面介紹了所需器件,下面我們來說一下實驗所需的環境。這里只需要能給開發板供電,以及可以支持有線網絡連接(可以給開發板接上網線)即可。
實驗的第一步,給開發板進行供電和插上網線,看到V201網口上的綠色指示燈亮起來,說明已經連接上網絡。
三.配置V201網口
這一步是為了設置V201網口模塊的目的地址,本地端口,波特率,數據位,校驗位等一系列信息。
接著我們來說一下基本的邏輯流程:
1.確認供電和網絡完好;
2.確認網絡完好,接下來就是進行傳輸和處理,在保證網絡通暢的前提下,設置串口6,也就是Y1和Y2,具體的波特率這個要參照你前面設置給V201網口的波特率來定;
3.在這里需要說一句的是,這個開發板在使用以太網功能的時候,Y1,Y2,Y3這三個引腳是被占用的,其中Y1和Y2是串口,執行通信功能;
4.這里需要介紹一下Y3,Y3是V201網口的設置引腳,當Y3不為低電平時,V201網口處于正常工作狀態,可以進行數據上傳,也可以利用設置軟件通過網絡進行配置。當Y3為低電平時,V201網口進入串口配置模式,可利用設置軟件通過串口進行配置,此時不能進行數據上傳;
5.以上工作全部完成后,剩下的就是時刻監控串口6是否有數據;
6.當第一收到數據的時候,把計數變量加一,并利用寄存變量保存數據;
7.當第二次收到數據之后,把計數變量加一,并利用寄存器變量保存數據;
8.當判斷到計數變量為二時,把兩次收到的數據相加;
9.最后我們只需要把兩次相加的結果從串口6發送出去即可;
四.實物及數據圖
下面是我做實驗的實物圖和數據監控截圖,我是在我的電腦上開了個模擬的客戶端口,雖然low了點,但是效果一樣的。
實物圖
數據監控截圖
五.源代碼
下面是我做的源代碼,共享給大家。
- import pyb
- from pyb import UART
- from pyb import Pin
- from ubinascii import hexlify
- from ubinascii import *
- ulan = UART(6, 9600)#定義連接網口的串口
- K=1
- jia=0
- jie1=0
- he=0
- js=0#設置寄存變量
- #*******************************主程序**********************************
- print('while')
- while (K>0):
- _dataRead=ulan.readall()#讀取客戶端數據
- if _dataRead!=None:#判斷客戶端是否傳來數據
- print(_dataRead)
- js=js+1#計數判斷執行命令標志
- if(js==1):
- jia=_dataRead.decode('utf-8')#數據轉換
- jia=int(jia)#數據轉換
- print(jia)
- if(js==2):
- jia1=_dataRead.decode('utf-8')
- jia1=int(jia1)
- print(jia1)
- if(js==2):
- he=jia+jia1
- js=0
- ulan.write(str(jia)+'+'+str(jia1)+'='+str(he)+'\r\n')#計算結果返回給客戶端
復制代碼
|