Skip to content
This repository was archived by the owner on Mar 2, 2020. It is now read-only.

Commit 40c1c5a

Browse files
authored
Merge pull request #3 from linuxluigi/feature/presentation
Feature/presentation
2 parents 9b13b27 + 82115ca commit 40c1c5a

4 files changed

Lines changed: 21 additions & 7 deletions

File tree

README.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,11 +70,11 @@ Website starten::
7070

7171
Admin Benutzer erstellen::
7272

73-
$ docker-compose run --rm web python manage.py createsuperuser
73+
$ docker-compose -f local.yml run --rm django python manage.py createsuperuser
7474

7575
LoRa Daemon starten::
7676

77-
$ docker-compose run --rm web python manage.py lora_daemon
77+
$ docker-compose -f local.yml run --rm django python manage.py lora_daemon
7878

7979
Nun ist es möglich auf der Website mit dem erstellten Admin Benutzer im Backend ein zu loggen um zugriff auf die
8080
Hauptwebsite zu erhalten. Dafür auf den Hostname des Host Systems im Browser eingeben wie ``http://localhost:8000/admin``.

docs/Quickstart.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,11 @@ Website starten::
5050

5151
Admin Benutzer erstellen::
5252

53-
$ docker-compose run --rm web python manage.py createsuperuser
53+
$ docker-compose -f local.yml run --rm django python manage.py createsuperuser
5454

5555
LoRa Daemon starten::
5656

57-
$ docker-compose run --rm web python manage.py lora_daemon
57+
$ docker-compose -f local.yml run --rm django python manage.py lora_daemon
5858

5959
Nun ist es möglich auf der Website mit dem erstellten Admin Benutzer im Backend ein zu loggen um zugriff auf die
6060
Hauptwebsite zu erhalten. Dafür auf den Hostname des Host Systems im Browser eingeben wie ``http://localhost:8000/admin``.

docs/_static/Presentation.odp

366 KB
Binary file not shown.

pylorawebchat/chat/lora_daemon.py

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ def __init__(self, address: str = None, msg: str = None):
2323

2424
def from_string(self, message_string: str):
2525
self.address = message_string[:4]
26-
self.msg = message_string[5:]
26+
self.msg = message_string[4:]
2727
print("{}: {}".format(self.address, self.msg))
2828

2929
def to_string(self):
@@ -73,6 +73,9 @@ def __init__(self):
7373
self.serial_worker = serial.threaded.ReaderThread(self.ser, self)
7474
self.serial_worker.start()
7575

76+
# set the not busy
77+
self.device_busy: bool = False
78+
7679
# serial buffer
7780
self.buffer = bytearray()
7881
self.transport = None
@@ -136,6 +139,12 @@ def handle_packet(self, packet: bytes):
136139

137140
print(incoming_packet)
138141

142+
# set device busy state
143+
if incoming_packet == "AT,SENDING":
144+
self.device_busy = True
145+
if incoming_packet == "AT,SENDED":
146+
self.device_busy = False
147+
139148
# check if packet is a message
140149
if incoming_packet[:2] == "LR":
141150
msg: Message = Message(
@@ -162,18 +171,20 @@ def send_message(self, msg: str, dest_address: str = "FFFF") -> None:
162171
:param msg: messages
163172
:param dest_address: address
164173
"""
174+
self.wait_till_device_is_ready()
175+
print("{}: {}".format(dest_address, msg))
165176
time.sleep(0.1)
166177
self.ser.write("AT+DEST={}\r\n".format(dest_address).encode())
167178
time.sleep(0.1)
168179
self.ser.write("AT+SEND={}\r\n".format(len(msg)).encode())
169180
time.sleep(0.1)
170181
self.ser.write("{}\r\n".format(msg).encode())
171-
time.sleep(2)
172182

173183
def add_messages_to_queue(self, address: str, msg: str):
174184
self.message_queue.append(Message(address=address, msg=msg))
175185

176186
def send_rti(self):
187+
self.wait_till_device_is_ready()
177188
print("send RTI: {}".format(datetime.datetime.now()))
178189
time.sleep(0.1)
179190
self.ser.write("AT+DEST=FFFF\r\n".encode())
@@ -185,6 +196,10 @@ def send_rti(self):
185196
# set time for next RTI broadcast
186197
self.next_rti_broadcast: float = time.time() + random.randint(30, 61)
187198

199+
def wait_till_device_is_ready(self):
200+
while self.device_busy:
201+
time.sleep(0.1)
202+
188203
def run(self):
189204
""" main threat to send RTI & messages """
190205
while self.active:
@@ -218,6 +233,5 @@ def run(self):
218233
message: Message = Message()
219234
message.from_string(message_queue[1].decode("utf-8"))
220235
self.lora_daemon.message_queue.append(message)
221-
print(message.to_string())
222236
except TypeError:
223237
continue

0 commit comments

Comments
 (0)