RNode_Firmware/Python Module/Example.py

47 lines
1.2 KiB
Python
Raw Permalink Normal View History

2018-06-22 03:17:14 -06:00
# This is a short example program that
# demonstrates the bare minimum of using
2020-05-27 08:45:51 -06:00
# RNode in a Python program.
#
# The example and the RNode.py library is
# written for Python 3, so be sure to run
# it with: python3 Example.py
# First we'll import the RNodeInterface class.
2018-06-22 03:17:14 -06:00
from RNode import RNodeInterface
# We'll also define which serial port the
# RNode is attached to.
serialPort = "/dev/ttyUSB0"
# This function gets called every time a
# packet is received
def gotPacket(data, rnode):
2020-05-27 08:45:51 -06:00
message = data.decode("utf-8")
print("Received a packet: "+message)
2020-05-27 08:17:40 -06:00
print("RSSI: "+str(rnode.r_stat_rssi)+" dBm")
print("SNR: "+str(rnode.r_stat_snr)+" dB")
2018-06-22 03:17:14 -06:00
# Create an RNode instance. This configures
# and powers up the radio.
rnode = RNodeInterface(
callback = gotPacket,
name = "My RNode",
port = serialPort,
frequency = 868000000,
bandwidth = 125000,
txpower = 2,
sf = 7,
cr = 5,
loglevel = RNodeInterface.LOG_DEBUG)
# Enter a loop waiting for user input.
try:
2020-05-27 08:17:40 -06:00
print("Waiting for packets, hit enter to send a packet, Ctrl-C to exit")
2018-06-22 03:17:14 -06:00
while True:
2020-05-27 08:17:40 -06:00
input()
2020-05-27 08:45:51 -06:00
message = "Hello World!"
data = message.encode("utf-8")
rnode.send(data)
2018-06-22 03:17:14 -06:00
except KeyboardInterrupt as e:
2020-05-27 08:17:40 -06:00
print("")
2018-06-22 03:17:14 -06:00
exit()