-
Notifications
You must be signed in to change notification settings - Fork 3
/
BDSMQTT.py
90 lines (75 loc) · 2.59 KB
/
BDSMQTT.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#encoding:UTF-8
import struct, os
import serial
import time
import re
import sys
ser = serial.Serial("/dev/ttyS0",9600,timeout = 1)
def reboot():
print("Waiting for module\n")
time.sleep(0.5)
comdata = ""
ser.write(("AT\r\n").encode('utf-8'))
while (comdata.find("OK")== -1):
time.sleep(0.1)
while (ser.inWaiting()>0):
comdata = ser.read(ser.inWaiting())
comdata = comdata.decode("ascii")
comdata = comdata.strip()
print(comdata)
if (comdata.find("ERROR")==-1):
continue
print("Sim7020c Start Succeed! \n")
return
def connect_mqtt():
print("connect new MQTT")
time.sleep(60)
comdata = ""
ser.write("AT+CMQDISCON=0\r\n".encode('utf-8'))
time.sleep(1)
ser.write('AT+CMQNEW="182.92.56.252","61613",12000,100\r\n'.encode('utf-8'))
while (comdata.find("OK")==-1):
time.sleep(0.1)
while (ser.inWaiting()>0):
comdata = ser.read(ser.inWaiting())
comdata = comdata.decode("ascii")
comdata = comdata.strip()
print(comdata)
def send_mqtt():
comdata = ""
ser.write('AT+CMQCON=0,3,"myclient",6000,0,0,"admin","password"\r\n'.encode('utf-8'))
while (comdata.find("OK")==-1):
time.sleep(0.1)
while (ser.inWaiting()>0):
comdata = ser.read(ser.inWaiting())
comdata = comdata.decode("ascii")
comdata = comdata.strip()
print(comdata)
def send_topic(m,n):
comdata = ""
ser.write('AT+CMQPUB=0,"test",1,0,0,"{}","{}"\r\n'.format(m,n).encode('utf-8'))
time.sleep(1)
while (comdata.find("OK")==-1):
time.sleep(0.1)
while (ser.inWaiting()>0):
comdata = ser.read(ser.inWaiting())
comdata = comdata.decode("ascii")
comdata = comdata.strip()
print(comdata)
def float_str(a):
char = str(a)
print(char)
print(type(char))
time.sleep(2)
n=a
m=len(char)
send_topic(m,n)
if __name__ == '__main__':
reboot()
connect_mqtt()
time.sleep(0.5)
send_mqtt()
time.sleep(0.5)
m = 2
n = str(23)
send_topic(m,n)