adafruit / Adafruit_CircuitPython_TinyLoRa

Adafruit Tiny LoRa
MIT License
44 stars 44 forks source link

Jetson Nano data transmit #26

Closed paddygoat closed 4 years ago

paddygoat commented 4 years ago

tegwyn@tegwyn/ultrasonic_classifier/development_stuff$ cd /home/tegwyn/ultrasonic_classifier/development_stuff/ && sudo python3 lora_test_01.py Hello blinka! Digital IO ok! I2C ok! SPI ok! done! Temperature: 17.00 C relative humidity: 96.0 % Sending packet... Traceback (most recent call last): File "lora_test_01.py", line 119, in lora.send_data(data, len(data), lora.frame_counter) File "/home/tegwyn/.local/lib/python3.6/site-packages/adafruit_tinylora/adafruit_tinylora.py", line 277, in send_data self.send_packet(lora_pkt, lora_pkt_len, timeout) File "/home/tegwyn/.local/lib/python3.6/site-packages/adafruit_tinylora/adafruit_tinylora.py", line 323, in send_packet raise RuntimeError("Timeout during packet send") RuntimeError: Timeout during packet send Exiting... Cleaning up pins tegwyn@tegwyn:~/ultrasonic_classifier/development_stuff$

I got all my TTN configurations sorted out on a RPi 4 and then ran the same test.py file on the Nano after installing all the circuit python stuff. Worked fine on the Pi with data seen on TTN, but not the Nano !!!!! Please help .....

Here is my code:

import time import busio import digitalio import board import adafruit_si7021 from adafruit_tinylora.adafruit_tinylora import TTN, TinyLoRa

print("Hello blinka!")

Try to great a Digital input

pin = digitalio.DigitalInOut(board.D4) print("Digital IO ok!")

Try to create an I2C device

i2c = busio.I2C(board.SCL, board.SDA) print("I2C ok!")

Try to create an SPI device

spi = busio.SPI(board.SCLK, board.MOSI, board.MISO) print("SPI ok!")

print("done!")

"""Using TinyLoRa with a Si7021 Sensor. """

Board LED

led = digitalio.DigitalInOut(board.D13) led.direction = digitalio.Direction.OUTPUT

Create library object using our bus i2c port for si7021

i2c = busio.I2C(board.SCL, board.SDA)

sensor = adafruit_si7021.SI7021(i2c)

Create library object using our bus SPI port for radio

spi = busio.SPI(board.SCK, MOSI=board.MOSI, MISO=board.MISO)

RFM9x Breakout Pinouts

cs = digitalio.DigitalInOut(board.D5)

irq = digitalio.DigitalInOut(board.D6)

rst = digitalio.DigitalInOut(board.D4)

cs = digitalio.DigitalInOut(board.D25) irq = digitalio.DigitalInOut(board.D7) irq = digitalio.DigitalInOut(board.D7) rst = digitalio.DigitalInOut(board.D17)

"freq": 868100000,

"freq_2": 868100000,

"spread_factor": 7,

"pin_nss": 6,

"pin_dio0": 7,

"pin_nss_2": 6,

"pin_dio0_2": 7,

"pin_rst": 3,

"pin_led1":4,

"pin_NetworkLED": 22,

"pin_InternetLED": 23,

"pin_ActivityLED_0": 21,

"pin_ActivityLED_1": 29

Feather M0 RFM9x Pinouts

cs = digitalio.DigitalInOut(board.RFM9X_CS)

irq = digitalio.DigitalInOut(board.RFM9X_D0)

rst = digitalio.DigitalInOut(board.RFM9X_RST)

TTN Device stuff NOT shown, but tested ok.

ttn_config = TTN(devaddr, nwkey, app, country='EU')

lora = TinyLoRa(spi, cs, irq, rst, ttn_config)

Data Packet to send to TTN

data = bytearray(4)

while True:

temp_val = sensor.temperature

# humid_val = sensor.relative_humidity
temp_val = 17
humid_val = 96
print('Temperature: %0.2f C' % temp_val)
print('relative humidity: %0.1f %%' % humid_val)

# Encode float as int
# temp_val = int(temp_val * 100)
# humid_val = int(humid_val * 100)
temp_val = 17
humid_val = 97

# Encode payload as bytes
data[0] = (temp_val >> 8) & 0xff
data[1] = temp_val & 0xff
data[2] = (humid_val >> 8) & 0xff
data[3] = humid_val & 0xff

# Send data packet
print('Sending packet...')
lora.send_data(data, len(data), lora.frame_counter)
print('Packet Sent!')
led.value = True
lora.frame_counter += 1
time.sleep(2)
led.value = False
ladyada commented 4 years ago

nano doesnt have hardware SPI so it will not work

paddygoat commented 4 years ago

I fixed it !!! cs = digitalio.DigitalInOut(board.D25) irq = digitalio.DigitalInOut(board.D8) rst = digitalio.DigitalInOut(board.D17)

It's now working sending data ok and being recieved by TTN.

paddygoat commented 4 years ago

I used this script to get the SPi working:

https://github.com/gtjoseph/jetson-nano-support

ladyada commented 4 years ago

great!