A LoRa packet forwarder running on the host of a LoRa Picocell Gateway that forwards RF packets receive by the concentrator to a server through a IP/UDP link, and emits RF packets that are sent by the server.

Committer:
dgabino
Date:
Wed Apr 11 14:47:16 2018 +0000
Revision:
0:9002b89157da
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dgabino 0:9002b89157da 1 / _____) _ | |
dgabino 0:9002b89157da 2 ( (____ _____ ____ _| |_ _____ ____| |__
dgabino 0:9002b89157da 3 \____ \| ___ | (_ _) ___ |/ ___) _ \
dgabino 0:9002b89157da 4 _____) ) ____| | | || |_| ____( (___| | | |
dgabino 0:9002b89157da 5 (______/|_____)_|_|_| \__)_____)\____)_| |_|
dgabino 0:9002b89157da 6 (C)2013 Semtech-Cycleo
dgabino 0:9002b89157da 7
dgabino 0:9002b89157da 8 Lora network packet forwarder project
dgabino 0:9002b89157da 9 ======================================
dgabino 0:9002b89157da 10
dgabino 0:9002b89157da 11 ## 1. Core program: lora_pkt_fwd
dgabino 0:9002b89157da 12 --------------------------------
dgabino 0:9002b89157da 13
dgabino 0:9002b89157da 14 The packet forwarder is a program running on the host of a LoRa Picocell gateway
dgabino 0:9002b89157da 15 that forwards RF packets receive by the concentrator to a server through a IP/UDP
dgabino 0:9002b89157da 16 link, and emits RF packets that are sent by the server.
dgabino 0:9002b89157da 17
dgabino 0:9002b89157da 18 ((( Y )))
dgabino 0:9002b89157da 19 |
dgabino 0:9002b89157da 20 |
dgabino 0:9002b89157da 21 +- -|- - - - - - - - - - - - -+ xxxxxxxxxxxx +--------+
dgabino 0:9002b89157da 22 |+--+-----------+ +------+| xx x x xxx | |
dgabino 0:9002b89157da 23 || | | || xx Internet xx | |
dgabino 0:9002b89157da 24 || Concentrator |<----+ Host |<------xx or xx-------->| |
dgabino 0:9002b89157da 25 || | USB | || xx Intranet xx | Server |
dgabino 0:9002b89157da 26 |+--------------+ +------+| xxxx x xxxx | |
dgabino 0:9002b89157da 27 | | xxxxxxxx | |
dgabino 0:9002b89157da 28 | | | |
dgabino 0:9002b89157da 29 | Gateway | +--------+
dgabino 0:9002b89157da 30 +- - - - - - - - - - - - - - -+
dgabino 0:9002b89157da 31
dgabino 0:9002b89157da 32 Uplink: radio packets received by the gateway, with metadata added by the
dgabino 0:9002b89157da 33 gateway, forwarded to the server. Might also include gateway status.
dgabino 0:9002b89157da 34
dgabino 0:9002b89157da 35 Downlink: packets generated by the server, with additional metadata, to be
dgabino 0:9002b89157da 36 transmitted by the gateway on the radio channel. Might also include
dgabino 0:9002b89157da 37 configuration data for the gateway.
dgabino 0:9002b89157da 38
dgabino 0:9002b89157da 39 ## 2. Helper programs
dgabino 0:9002b89157da 40 ---------------------
dgabino 0:9002b89157da 41
dgabino 0:9002b89157da 42 Those programs are included in the project to provide examples on how to
dgabino 0:9002b89157da 43 communicate with the packet forwarder, and to help the system builder use it
dgabino 0:9002b89157da 44 without having to implement a full Lora network server.
dgabino 0:9002b89157da 45
dgabino 0:9002b89157da 46 ### 2.1. util_sink ###
dgabino 0:9002b89157da 47
dgabino 0:9002b89157da 48 The packet sink is a simple helper program listening on a single port for UDP
dgabino 0:9002b89157da 49 datagrams, and displaying a message each time one is received. The content of
dgabino 0:9002b89157da 50 the datagram itself is ignored.
dgabino 0:9002b89157da 51
dgabino 0:9002b89157da 52 ### 2.2. util_ack ###
dgabino 0:9002b89157da 53
dgabino 0:9002b89157da 54 The packet acknowledger is a simple helper program listening on a single UDP
dgabino 0:9002b89157da 55 port and responding to PUSH_DATA datagrams with PUSH_ACK, and to PULL_DATA
dgabino 0:9002b89157da 56 datagrams with PULL_ACK.
dgabino 0:9002b89157da 57
dgabino 0:9002b89157da 58 ### 2.3. util_tx_test ###
dgabino 0:9002b89157da 59
dgabino 0:9002b89157da 60 The network packet sender is a simple helper program used to send packets
dgabino 0:9002b89157da 61 through the gateway-to-server downlink route.
dgabino 0:9002b89157da 62
dgabino 0:9002b89157da 63 ## 3. Helper scripts
dgabino 0:9002b89157da 64 --------------------
dgabino 0:9002b89157da 65
dgabino 0:9002b89157da 66 ### 3.1. packet_forwarder/lora_pkt_fwd/update_gwid.sh
dgabino 0:9002b89157da 67
dgabino 0:9002b89157da 68 This script allows automatic update of Gateway_ID with unique MCU ID, in
dgabino 0:9002b89157da 69 packet forwarder JSON configuration file.
dgabino 0:9002b89157da 70
dgabino 0:9002b89157da 71 note: the util_chip_id procided with picoGW_hal repository needs to be compiled
dgabino 0:9002b89157da 72 and located in the same directory as this script.
dgabino 0:9002b89157da 73
dgabino 0:9002b89157da 74 ## 4. User Guide
dgabino 0:9002b89157da 75 ----------------
dgabino 0:9002b89157da 76
dgabino 0:9002b89157da 77 [A detailed PicoCell GW user guide is available here](http://www.semtech.com/images/datasheet/picocell_gateway_user_guide.pdf)
dgabino 0:9002b89157da 78
dgabino 0:9002b89157da 79 ## 5. Changelog
dgabino 0:9002b89157da 80 ---------------
dgabino 0:9002b89157da 81
dgabino 0:9002b89157da 82 ### v0.1.0 - 2017-05-03 ###
dgabino 0:9002b89157da 83
dgabino 0:9002b89157da 84 * Updated lora_pkt_fwd for lgw_connect API change. A new command line option
dgabino 0:9002b89157da 85 is available to specify the COM device to be used to access the PicoCell board.
dgabino 0:9002b89157da 86
dgabino 0:9002b89157da 87 ### v0.0.1 - 2017-04-07 ###
dgabino 0:9002b89157da 88
dgabino 0:9002b89157da 89 * Initial release of the packet forwarder , protocol specifications and helper
dgabino 0:9002b89157da 90 programs for Picocell Gateway, based on the packet forwarder of the Gateway
dgabino 0:9002b89157da 91 v1.0/v1.5.
dgabino 0:9002b89157da 92
dgabino 0:9002b89157da 93 ## 6. Legal notice
dgabino 0:9002b89157da 94 ------------------
dgabino 0:9002b89157da 95
dgabino 0:9002b89157da 96 The information presented in this project documentation does not form part of
dgabino 0:9002b89157da 97 any quotation or contract, is believed to be accurate and reliable and may be
dgabino 0:9002b89157da 98 changed without notice. No liability will be accepted by the publisher for any
dgabino 0:9002b89157da 99 consequence of its use. Publication thereof does not convey nor imply any
dgabino 0:9002b89157da 100 license under patent or other industrial or intellectual property rights.
dgabino 0:9002b89157da 101 Semtech assumes no responsibility or liability whatsoever for any failure or
dgabino 0:9002b89157da 102 unexpected operation resulting from misuse, neglect improper installation,
dgabino 0:9002b89157da 103 repair or improper handling or unusual physical or electrical stress
dgabino 0:9002b89157da 104 including, but not limited to, exposure to parameters beyond the specified
dgabino 0:9002b89157da 105 maximum ratings or operation outside the specified range.
dgabino 0:9002b89157da 106
dgabino 0:9002b89157da 107 SEMTECH PRODUCTS ARE NOT DESIGNED, INTENDED, AUTHORIZED OR WARRANTED TO BE
dgabino 0:9002b89157da 108 SUITABLE FOR USE IN LIFE-SUPPORT APPLICATIONS, DEVICES OR SYSTEMS OR OTHER
dgabino 0:9002b89157da 109 CRITICAL APPLICATIONS. INCLUSION OF SEMTECH PRODUCTS IN SUCH APPLICATIONS IS
dgabino 0:9002b89157da 110 UNDERSTOOD TO BE UNDERTAKEN SOLELY AT THE CUSTOMER’S OWN RISK. Should a
dgabino 0:9002b89157da 111 customer purchase or use Semtech products for any such unauthorized
dgabino 0:9002b89157da 112 application, the customer shall indemnify and hold Semtech and its officers,
dgabino 0:9002b89157da 113 employees, subsidiaries, affiliates, and distributors harmless against all
dgabino 0:9002b89157da 114 claims, costs damages and attorney fees which could arise.
dgabino 0:9002b89157da 115
dgabino 0:9002b89157da 116 *EOF*