Dragino Lora/GPS HAT: Difference between revisions

From ArmadeusWiki
(presentation)
Line 1: Line 1:
{{Under_Construction}}


Instructions to use Dragino Lora/GPS HAT on [[OPOS6ULDev]] (thanks to RaspberryPi™ compatible connector).
Instructions to use the Dragino Lora/GPS HAT on [[OPOS6ULDev]] (thanks to RaspberryPi™ compatible connector).


[http://wiki.dragino.com/index.php?title=File:Hatpin.png]
[http://wiki.dragino.com/index.php?title=File:Hatpin.png]


==LoRa™==
=LoRa™=
==Setup==
* RESET is connected to RPi GPIO0 which is gpio24 on [[OPOS6UL]] set as output
* RESET is connected to RPi GPIO0 which is gpio24 on [[OPOS6UL]] set as output
* nSS is connected to RPi GPIO6, which is gpio97 on [[OPOS6UL]] set as output
* nSS is connected to RPi GPIO6, which is gpio97 on [[OPOS6UL]] set as output
Line 16: Line 16:
</pre>
</pre>


* Testing that chip is recognised with python spidev:
=== Testing that chip is recognized with python spidev ===
** Bring chip out of reset:
* Bring chip out of reset:
<pre class="apf">
<pre class="apf">
# echo 24 > /sys/class/gpio/export
# echo 24 > /sys/class/gpio/export
Line 24: Line 24:
# echo 1 > /sys/class/gpio/gpio24/value
# echo 1 > /sys/class/gpio/gpio24/value
</pre>
</pre>
** activate it:
* activate it:
<pre class="apf">
<pre class="apf">
# echo 97 > /sys/class/gpio/export
# echo 97 > /sys/class/gpio/export
Line 30: Line 30:
# echo 0 > /sys/class/gpio/gpio97/value
# echo 0 > /sys/class/gpio/gpio97/value
</pre>
</pre>
** read ID (register 0x42):
* read ID (register 0x42):
<source lang="python">
<source lang="python">
import spidev
import spidev
Line 41: Line 41:
</source>
</source>


===Tested Software===
==Tested Software==
===Gateway===
* https://github.com/tftelkamp/single_chan_pkt_fwd
* https://github.com/tftelkamp/single_chan_pkt_fwd
<pre class="host">
<pre class="host">
Line 79: Line 80:
</source>
</source>


===Node===
* http://wiki.dragino.com/index.php?title=Use_Lora/GPS_HAT_%2B_RaspberryPi_to_set_up_a_Lora_Node
* http://wiki.dragino.com/index.php?title=Use_Lora/GPS_HAT_%2B_RaspberryPi_to_set_up_a_Lora_Node
<pre class="host">
<pre class="host">
Line 108: Line 110:
</pre>
</pre>


==GPS==
=GPS=
* GPS is connected to UART2 (/dev/ttymxc1)
* GPS is connected to UART2 (''/dev/ttymxc1'')
* [[NTP#Time_synchronisation_from_GPS]]
* [[NTP#Time_synchronisation_from_GPS|Use GPS to get time/date with NTP]]


==Links==
=Links=
* http://www.dragino.com/products/module/item/106-lora-gps-hat.html
* http://www.dragino.com/products/module/item/106-lora-gps-hat.html
* http://wiki.dragino.com/index.php?title=Lora/GPS_HAT
* http://wiki.dragino.com/index.php?title=Lora/GPS_HAT
Line 123: Line 125:
[[Category:RPi_Hats]]
[[Category:RPi_Hats]]
[[Category:LoRa]]
[[Category:LoRa]]
[[Category:GPS]]

Revision as of 17:20, 29 March 2017

Instructions to use the Dragino Lora/GPS HAT on OPOS6ULDev (thanks to RaspberryPi™ compatible connector).

[1]

LoRa™

Setup

  • RESET is connected to RPi GPIO0 which is gpio24 on OPOS6UL set as output
  • nSS is connected to RPi GPIO6, which is gpio97 on OPOS6UL set as output
  • DIO0 is connected to RPi GPIO7, which is gpio10 on OPOS6UL set as input
  • on recent models (like the one we tested) DIO1 is connected to RPi GPIO4, which is gpio18 on OPOS6UL set as input
  • on recent models (like the one we tested) DIO1 is connected to RPi GPIO5, which is gpio19 on OPOS6UL set as input
  • This Hat/Shield is using HOPERF RFM96W module (clone of Semtech's SX1276 ?) which is controlled through SPI bus.
# modprobe spidev

Testing that chip is recognized with python spidev

  • Bring chip out of reset:
# echo 24 > /sys/class/gpio/export
# echo out > /sys/class/gpio/gpio24/direction
# echo 0 > /sys/class/gpio/gpio24/value
# echo 1 > /sys/class/gpio/gpio24/value
  • activate it:
# echo 97 > /sys/class/gpio/export
# echo out > /sys/class/gpio/gpio97/direction
# echo 0 > /sys/class/gpio/gpio97/value
  • read ID (register 0x42):
import spidev

spi = spidev.SpiDev()
spi.open(3,0)
to_send=[0x42,0x00]
spi.xfer(to_send)
[255, 255]

Tested Software

Gateway

 Compile it under Buildroot:
$ make lora-forwarder

 Compile it under Debian (as_devices library is needed):
# git clone https://github.com/tftelkamp/single_chan_pkt_fwd.git
# make CFLAGS="-c -Wall -I/usr/include/as_devices/" LIBS="-las_devices"
# modprobe spidev
# echo 9 > /sys/class/gpio/export
# echo 24 > /sys/class/gpio/export
# echo 97 > /sys/class/gpio/export
# echo out > /sys/class/gpio/gpio97/direction
# echo out > /sys/class/gpio/gpio24/direction
# echo in > /sys/class/gpio/gpio9/direction
  • to get & printout UDP data from gateway:
#!/usr/bin/python

import socket

UDP_IP = "192.168.1.28"
UDP_PORT = 1700

sock = socket.socket(socket.AF_INET, # Internet
                     socket.SOCK_DGRAM) # UDP
sock.bind((UDP_IP, UDP_PORT))

while True:
	data, addr = sock.recvfrom(1024) # buffer size is 1024 bytes
	print "received message:", data

Node

 To compile it on Buildroot:
$ make lmic-pi

 To compile it on Debian:
# wget https://github.com/ernstdevreede/lmic_pi/archive/master.zip
# unzip master.zip 
# cd lmic_pi-master/lmic
# make CFLAGS="-c -Wall -I/usr/include/as_devices/" LIBS="-las_devices"
# cd ../examples/thethingsnetwork-send-v1/
# make CFLAGS="-Wall -I/usr/include/as_devices/ -I../../lmic" LDFLAGS="-las_devices"
# chmod a+x thethingsnetwork-send-v1
# modprobe spidev
# echo 9 > /sys/class/gpio/export
# echo 18 > /sys/class/gpio/export
# echo 19 > /sys/class/gpio/export
# echo 24 > /sys/class/gpio/export
# echo 97 > /sys/class/gpio/export
# echo out > /sys/class/gpio/gpio97/direction 
# echo out > /sys/class/gpio/gpio24/direction 
# echo in > /sys/class/gpio/gpio9/direction
# echo in > /sys/class/gpio/gpio18/direction
# echo in > /sys/class/gpio/gpio19/direction

GPS

Links


LoRa is a registered trademark of Semtech.

RaspberryPi is a registered trademark of RaspberryPi Foundation.