Skip to content

Commit fcb013b

Browse files
committed
update
1 parent 396b231 commit fcb013b

File tree

6 files changed

+141
-237
lines changed

6 files changed

+141
-237
lines changed

TPYBoard-v70x-master/01.LCD5110显示环境信息/main.py

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,10 @@
44
import upcd8544
55
from machine import SPI,Pin
66
from pyb import UART
7-
from ubinascii import hexlify
8-
from ubinascii import *
9-
from SHT20 import SHT20
10-
11-
12-
ds=SHT20(1)
13-
leds = [pyb.LED(i) for i in range(1,5)]
14-
P,L,SHUCHU=0,0,0
7+
from sht20 import SHT20
8+
9+
10+
ds = SHT20(1)
1511
SPI = pyb.SPI(1) #DIN=>X8-MOSI/CLK=>X6-SCK
1612
#DIN =>SPI(1).MOSI 'X8' data flow (Master out, Slave in)
1713
#CLK =>SPI(1).SCK 'X6' SPI clock
@@ -20,7 +16,6 @@
2016
DC = pyb.Pin('X18')
2117
LIGHT = pyb.Pin('X17')
2218
lcd_5110 = upcd8544.PCD8544(SPI, RST, CE, DC, LIGHT)
23-
count_=0
2419
N2 = Pin('Y3', Pin.OUT_PP)
2520
N1 = Pin('Y6', Pin.OUT_PP)
2621
N1.low()
@@ -36,12 +31,12 @@
3631
S=ds.TEMP1()
3732
H=125*H/256-6
3833
S=175.72*S/256-46.85
39-
if(a<10):
34+
if(a<17):
4035
N2.high()
4136
lcd_5110.lcd_write_string('WENDU:',0,0)
4237
lcd_5110.lcd_write_string(str(S),0,1)
4338
lcd_5110.lcd_write_string('SHIDU:',0,2)
4439
lcd_5110.lcd_write_string(str(H),0,3)
4540
lcd_5110.lcd_write_string('LIANGDU:',0,4)
4641
lcd_5110.lcd_write_string(str(a),0,5)
47-
N2.low()
42+
N2.low()

TPYBoard-v70x-master/02.LCD5110显示当前经纬度/main.py

Lines changed: 8 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,8 @@
22
import upcd8544
33
from machine import SPI,Pin
44
from pyb import UART
5-
from ubinascii import hexlify
6-
from ubinascii import *
7-
8-
5+
96
leds = [pyb.LED(i) for i in range(1,5)]
10-
P,L,SHUCHU=0,0,0
117
SPI = pyb.SPI(1) #DIN=>X8-MOSI/CLK=>X6-SCK
128
#DIN =>SPI(1).MOSI 'X8' data flow (Master out, Slave in)
139
#CLK =>SPI(1).SCK 'X6' SPI clock
@@ -16,20 +12,14 @@
1612
DC = pyb.Pin('X18')
1713
LIGHT = pyb.Pin('X17')
1814
lcd_5110 = upcd8544.PCD8544(SPI, RST, CE, DC, LIGHT)
19-
count_=0
2015
N2 = Pin('Y3', Pin.OUT_PP)
2116
N1 = Pin('Y6', Pin.OUT_PP)
2217
N1.low()
2318
pyb.delay(2000)
2419
N1.high()
2520
pyb.delay(10000)
26-
u2 = UART(4, 115200)
27-
i='0'
28-
w=0
29-
d=0
30-
q=0
31-
G=0
32-
j=0
21+
u2 = UART(4, 115200,timeout=100)
22+
3323
def DataConver(str_,flag):
3424
wei_=float(str_)/100
3525
wei_arr=str(wei_).split('.')
@@ -41,16 +31,15 @@ def DataConver(str_,flag):
4131
return weidu
4232
while True:
4333
pyb.LED(2).on()
44-
G=G+1
4534
u2.write('AT+GPSLOC=1\r\n')
4635
pyb.delay(3000)
47-
_dataRead=u2.readall()
36+
_dataRead=u2.read()
4837
print('搜星=',_dataRead)
4938
pyb.delay(1000)
5039
u2.write('AT+GPSLOC=0\r\n')
5140
pyb.delay(200)
5241
print('BEIDOU')
53-
_dataRead=u2.readall()
42+
_dataRead=u2.read()
5443
if _dataRead!=None:
5544
print('原始数据=',_dataRead)
5645
print('原始数据长度:',len(_dataRead))
@@ -66,8 +55,10 @@ def DataConver(str_,flag):
6655
#*******************经度计算********************
6756
jingdu=_dataRead1[2]
6857
JD=DataConver(jingdu,1)
58+
if jingdu.find('0.0000')<0:
59+
N2.high()
6960
#***********************时间************************
7061
lcd_5110.lcd_write_string('JINGDU:',0,0)
7162
lcd_5110.lcd_write_string(str(JD),0,1)
7263
lcd_5110.lcd_write_string('WEIDU:',0,2)
73-
lcd_5110.lcd_write_string(str(WD),0,3)
64+
lcd_5110.lcd_write_string(str(WD),0,3)

TPYBoard-v70x-master/03.GPRS功能测试/main.py

Lines changed: 36 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -2,71 +2,49 @@
22
import upcd8544
33
from machine import SPI,Pin
44
from pyb import UART
5-
from ubinascii import hexlify
6-
from ubinascii import *#以上为声明使用到的类库
7-
8-
9-
leds = [pyb.LED(i) for i in range(1,5)]
10-
P,L,SHUCHU=0,0,0
5+
6+
#lcd5110初始化
117
SPI = pyb.SPI(1) #DIN=>X8-MOSI/CLK=>X6-SCK
128
#DIN =>SPI(1).MOSI 'X8' data flow (Master out, Slave in)
139
#CLK =>SPI(1).SCK 'X6' SPI clock
14-
RST = pyb.Pin('X20')
15-
CE = pyb.Pin('X19')
16-
DC = pyb.Pin('X18')
10+
RST = pyb.Pin('X20')
11+
CE = pyb.Pin('X19')
12+
DC = pyb.Pin('X18')
1713
LIGHT = pyb.Pin('X17')
18-
#以上为初始化显示屏的函数,虽然这次没有用到显示,但是备用
1914
lcd_5110 = upcd8544.PCD8544(SPI, RST, CE, DC, LIGHT)
20-
count_=0
21-
N2 = Pin('Y3', Pin.OUT_PP)
15+
lcd_5110.clear()
16+
lcd_5110.lcd_write_string('Getting Ready',0,1)
17+
#GU620模块初始化
2218
N1 = Pin('Y6', Pin.OUT_PP)#定义通信系统启动引脚
2319
N1.low()
2420
pyb.delay(2000)
2521
N1.high()
2622
pyb.delay(10000)#拉高拉低引脚,启动通信系统
27-
u2 = UART(4, 115200)#定义串口4,设置 波特率为115200
28-
K=5#设置一个选择变量K
29-
while (K==5):#这个循环是为了设置通信区域模式为透传模式。
30-
u2.write('AT+CIPMODE=1\r\n')
31-
pyb.delay(500)
32-
if(u2.any()>0):
33-
print('透传')
34-
_dataRead=u2.readall()
35-
print('透传',_dataRead.decode('utf-8'))
36-
if(_dataRead.find(b'OK')>-1):
37-
K=0
38-
pyb.delay(20)
39-
#这个语句是为了搭建通信连接
40-
u2.write('AT+CIPSTART="TCP","139.196.109.178",30000\r\n')
41-
pyb.delay(10000)
42-
print('123')
43-
#这里是为了判断通信连接是否已经建立起来,如果没有建立起来通信的连接,则等待。
44-
while (K==0):
45-
pyb.delay(3000)
46-
if(u2.any()>0):
47-
_dataRead=u2.readall()
48-
print('oo',_dataRead)
49-
#这个判断是为了判断是否已经和服务器建立起连接来
50-
if(_dataRead.find(b'CONNECT OK')>-1):
51-
#开发板已经和服务器建立起连接来,则改变选择变量的值,使其进入下一个循环
52-
K=1
53-
pyb.LED(1).on()
54-
#这个循环是执行数据传输命令的执行所在,在这个循环中进行各种数据的裁剪拼接和发送。
55-
while (K==1):
56-
print('DOU')
57-
#u2.write('+++') 此时整个系统进入透传通信模式,想要退出,则发送‘+++’,即可 #退出;
58-
#u2.write('ATO0') 想让系统从指令模式进入透传模式,则发送‘ATO0’,则进入透传;
59-
#pyb.delay(1500)
60-
pyb.LED(2).off()
61-
pyb.LED(3).off()
62-
pyb.LED(2).on()
63-
u2.write('TPGPS,1234567890abcde,36.67191670,119.17200000,201701120825,25,50,END')
64-
#这个报文详细格式参照服务平台示例报文格式。
65-
#把这格式里面的经纬度数据换成从定位系统获取到的经纬度,就可以实时定位了。
66-
pyb.delay(13000)#延时一下时间,官方提供的测试平台有上传频率限制
67-
if(u2.any()>0):
68-
#这个返回仅适用于官方提供的服务平台
69-
_dataRead=u2.readall()
70-
print('1212',_dataRead)
71-
pyb.LED(3).on()
72-
pyb.delay(10000)
23+
u2 = UART(4,115200,timeout = 100)#定义串口4,设置 波特率为115200
24+
#报文详细格式说明参照萝卜电子服务平台示例报文格式。
25+
#www.turnipsmart.com:8080
26+
message = 'TPGPS,1234567890abcde,36.67191670,119.17200000,201701120825,25,50,END'
27+
if __name__ == '__main__':
28+
#连接TCP服务器
29+
u2.write('AT+CIPSTART="TCP","139.196.110.155",30000\r\n')
30+
while True:
31+
if u2.any() > 0:
32+
_dataRead = u2.read()
33+
print('_dataRead:',_dataRead)
34+
if _dataRead.find(b'CONNECT OK') > -1:
35+
#说明已经和服务器成功建立连接
36+
lcd_5110.lcd_write_string('CONNECT OK',0,2)
37+
print('CONNECT OK')
38+
pyb.LED(2).on()
39+
#发送指令进入透传模式
40+
u2.write('ATO0\r\n')
41+
if _dataRead.find(b'ATO0\r\n\r\nOK\r\n') > -1:
42+
#成功进入透传模式,退出透传模式发送+++,注意前后1秒内不能输入任何字符
43+
#发送数据给服务器
44+
u2.write(message)
45+
if _dataRead.find(b'TPGPSOK') > -1:
46+
#该数据为服务器返回
47+
#在向服务器发送了数据后,服务器会对数据进行判断,并返相应的报文
48+
pyb.LED(3).on()
49+
lcd_5110.lcd_write_string('SEND OK',0,3)
50+
break

TPYBoard-v70x-master/04.短信功能/单条发送/main.py

Lines changed: 35 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -2,68 +2,48 @@
22
import upcd8544
33
from machine import SPI,Pin
44
from pyb import UART
5-
from ubinascii import hexlify
6-
from ubinascii import *
7-
8-
leds = [pyb.LED(i) for i in range(1,5)]
9-
P,L,SHUCHU=0,0,0
5+
106
SPI = pyb.SPI(1) #DIN=>X8-MOSI/CLK=>X6-SCK
117
#DIN =>SPI(1).MOSI 'X8' data flow (Master out, Slave in)
128
#CLK =>SPI(1).SCK 'X6' SPI clock
13-
RST = pyb.Pin('X20')
14-
CE = pyb.Pin('X19')
15-
DC = pyb.Pin('X18')
9+
RST = pyb.Pin('X20')
10+
CE = pyb.Pin('X19')
11+
DC = pyb.Pin('X18')
1612
LIGHT = pyb.Pin('X17')
1713
lcd_5110 = upcd8544.PCD8544(SPI, RST, CE, DC, LIGHT)
18-
count_=0
19-
N2 = Pin('Y3', Pin.OUT_PP)
2014
N1 = Pin('Y6', Pin.OUT_PP)
2115
N1.low()
16+
lcd_5110.lcd_write_string('Getting Ready',0,1)
2217
pyb.delay(2000)
2318
N1.high()
2419
pyb.delay(10000)
25-
u2 = UART(4, 115200)
26-
Message='TPYBoard_GPS00000000000001'#输入你想要发送的短信的内容;
27-
number='目的号码'#输入想要发送的手机号
28-
w=0
29-
r=0
30-
while r<1:
31-
u2.write('AT+CMGF=1\r\n')
32-
pyb.delay(50)
33-
if(u2.any()>0):
34-
_dataRead=u2.readall()
35-
print('1:',_dataRead)
36-
lcd_5110.lcd_write_string('Message:',0,0)
37-
lcd_5110.lcd_write_string(str(Message),0,2)
38-
if(_dataRead==b'AT+CMGF=1\r\n\r\nOK\r\n'):
39-
u2.write('AT+CSCS="GB2312"\r\n')
40-
pyb.delay(50)
41-
if(u2.any()>0):
42-
_dataRead=u2.readall()
43-
print('2:',_dataRead)
44-
if(_dataRead==b'AT+CSCS="GB2312"\r\n\r\nOK\r\n'):
45-
u2.write('AT+CNMI=2,1\r\n')
46-
pyb.delay(50)
47-
if(u2.any()>0):
48-
_dataRead=u2.readall()
49-
print('3:',_dataRead)
50-
if(_dataRead==b'AT+CNMI=2,1\r\n\r\nOK\r\n'):
51-
u2.write('AT+CMGS="'+number+'"\r\n')
52-
pyb.delay(50)
53-
if(u2.any()>0):
54-
_dataRead=u2.readall()
55-
print('4:',_dataRead)#b'AT+CMGF=1\r\n\r\nOK\r\n'
56-
if(_dataRead== b'AT+CMGS="'+number+'"\r\n\r\n> '):
57-
u2.write(Message+'\r\n')#短信内容
58-
pyb.delay(50)
59-
if(u2.any()>0):
60-
_dataRead=u2.readall()
61-
print('5:',_dataRead)
62-
print(len(_dataRead))
63-
w=len(_dataRead)
64-
_dataRead=str(_dataRead)[2:w]
65-
print('6:',_dataRead)
66-
if(_dataRead==Message):
67-
print('7:ok')
68-
lcd_5110.lcd_write_string('Has been sent',0,5)
69-
r=10
20+
u2 = UART(4, 115200,timeout = 100)
21+
Message = 'Hello,I am TPYBoard v702'#输入你想要发送的短信的内容;
22+
number = '1800000000'#输入想要发送的手机号
23+
24+
lcd_5110.lcd_write_string('Send Message',0,1)
25+
lcd_5110.lcd_write_string(str(Message),0,2)
26+
u2.write('AT+CMGF=1\r\n')#设置以文本方式发送短信
27+
while True:
28+
if u2.any() > 0:
29+
_dataRead = u2.read()
30+
print('dataRead:',_dataRead)
31+
if _dataRead.find(b'AT+CMGF=1\r\n\r\nOK\r\n') > -1:
32+
u2.write('AT+CSCS="GB2312"\r\n')#设置文本编码
33+
lcd_5110.lcd_write_string('..',0,4)
34+
elif _dataRead.find(b'AT+CSCS="GB2312"\r\n\r\nOK\r\n') > -1:
35+
u2.write('AT+CNMI=2,2\r\n')#收到短信直接给出提示
36+
lcd_5110.lcd_write_string('...',0,4)
37+
elif _dataRead.find(b'AT+CNMI=2,2\r\n\r\nOK\r\n') > -1:
38+
u2.write('AT+CMGS="'+number+'"\r\n')#输入对方手机号
39+
lcd_5110.lcd_write_string('....',0,4)
40+
elif _dataRead.find(b'AT+CMGS="'+number+'"\r\n\r\n> ') > -1:
41+
u2.write(Message+'\r\n')#输入短信内容
42+
lcd_5110.lcd_write_string('.....',0,4)
43+
elif _dataRead.find(b'\r\n+CMGS') > -1 and _dataRead.find(b'OK') > -1:
44+
print('Send success')
45+
lcd_5110.lcd_write_string('Send success!',0,4)
46+
elif _dataRead.find(b''+Message+'') > -1:
47+
lcd_5110.lcd_write_string('......',0,4)
48+
else:
49+
print('error')

0 commit comments

Comments
 (0)