-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathclient-insecure.py
More file actions
79 lines (67 loc) · 1.58 KB
/
client-insecure.py
File metadata and controls
79 lines (67 loc) · 1.58 KB
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
import time
import paho.mqtt.client as mqtt
import Adafruit_CharLCD as LCD
# Set up the LCD Display
lcd_rs = 25
lcd_en = 24
lcd_d4 = 23
lcd_d5 = 17
lcd_d6 = 21
lcd_d7 = 22
lcd_columns = 16
lcd_rows = 2
# Initialize the LCD using the pins above.
lcd = LCD.Adafruit_CharLCD(lcd_rs, lcd_en, lcd_d4, lcd_d5, lcd_d6, lcd_d7,
lcd_columns, lcd_rows)
def find_spaces(message):
spaces = []
i = 0
while i < len(message):
if message[i] == " ":
spaces.append(i)
i += 1
return spaces
#Setup the MQTT connection
def on_connect(client, userdata, flags, rc):
print("Connected with result code "+str(rc))
client.subscribe("test")
def on_message(client, userdata, msg):
lcd.clear()
message = str(msg.payload)
print(message)
spaces = find_spaces(message)
lines = []
if len(message) < lcd_columns:
lines.append(message)
format = False
else:
format = True
while format:
i = lcd_columns
while i >= 0:
if i in spaces:
lines.append(message[0:i])
if len(message[i+1:]) <= lcd_columns:
lines.append(message[i+1:])
format = False
else:
message = message[i+1:]
spaces = find_spaces(message)
break
i -= 1
if len(lines) == 1:
lcd.message(lines[0])
elif len(lines) == 2:
lcd.message(lines[0]+"\n"+lines[1])
else:
i = 0
while i < len(lines)-1:
lcd.clear()
lcd.message(lines[i]+"\n"+lines[i+1])
time.sleep(2)
i += 1
client = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message
client.connect(##YOUR SERVER##, 1883, 60)
client.loop_forever()