Internet of Things IoT
Message Queuing Telemetry Transport MQTT
Low-Power Wide-Area Network LPWAN
Long Range Communication LoRa
Serial Peripheral Interface SPI
Frequency-shift keying FSK
-------- ------ --- -------- ---
Preamble Header CRC Playload CRC
-------- ------ --- -------- ---
7dBi 高增益 LoRa 专用天线 470~510MHz 中国地区频段
/home/pss/LoRa>git clone https://github.com/Lora-net/lora_gateway.git
/home/pss/LoRa>git clone https://github.com/Lora-net/packet_forwarder.git
/home/pss/LoRa>l
total 8
drwxr-xr-x 11 pss mysql 4096 Mar 11 10:13 lora_gateway
drwxr-xr-x 7 pss mysql 4096 Mar 11 10:13 packet_forwarder
##############################################################################
gtags -v
htags -sanohITvt 'LoRa GateWay'
htags --suggest2
##############################################################################
/home/pss/LoRa/lora_gateway>make all
make all -e -C libloragw
make[1]: Entering directory `/home/pss/LoRa/lora_gateway/libloragw'
*** Checking libloragw library configuration ***
#File initialization
# Release version
Release version : 5.0.1
# Debug options
# end of file
*** Configuration seems ok ***
gcc -c -O2 -Wall -Wextra -std=c99 -Iinc -I. src/loragw_hal.c -o obj/loragw_hal.o
gcc -c -O2 -Wall -Wextra -std=c99 -Iinc -I. src/loragw_gps.c -o obj/loragw_gps.o
gcc -c -O2 -Wall -Wextra -std=c99 -Iinc -I. src/loragw_reg.c -o obj/loragw_reg.o
gcc -c -O2 -Wall -Wextra -std=c99 -Iinc -I. src/loragw_spi.native.c -o obj/loragw_spi.o
gcc -c -O2 -Wall -Wextra -std=c99 -Iinc -I. src/loragw_aux.c -o obj/loragw_aux.o
gcc -c -O2 -Wall -Wextra -std=c99 -Iinc -I. src/loragw_radio.c -o obj/loragw_radio.o
gcc -c -O2 -Wall -Wextra -std=c99 -Iinc -I. src/loragw_fpga.c -o obj/loragw_fpga.o
gcc -c -O2 -Wall -Wextra -std=c99 -Iinc -I. src/loragw_lbt.c -o obj/loragw_lbt.o
ar rcs libloragw.a obj/loragw_hal.o obj/loragw_gps.o obj/loragw_reg.o obj/loragw_spi.o obj/loragw_aux.o obj/loragw_radio.o obj/loragw_fpga.o obj/loragw_lbt.o
gcc -O2 -Wall -Wextra -std=c99 -Iinc -I. -L. tst/test_loragw_spi.c -o test_loragw_spi -lloragw -lrt -lm
gcc -O2 -Wall -Wextra -std=c99 -Iinc -I. -L. tst/test_loragw_reg.c -o test_loragw_reg -lloragw -lrt -lm
gcc -O2 -Wall -Wextra -std=c99 -Iinc -I. -L. tst/test_loragw_hal.c -o test_loragw_hal -lloragw -lrt -lm
gcc -O2 -Wall -Wextra -std=c99 -Iinc -I. -L. tst/test_loragw_gps.c -o test_loragw_gps -lloragw -lrt -lm
tst/test_loragw_gps.c: In function ‘main’:
tst/test_loragw_gps.c:201:13: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘ssize_t’ [-Wformat=]
printf("WARNING: [gps] read() returned value %d\n", nb_char);
^
tst/test_loragw_gps.c:214:13: warning: comparison is always false due to limited range of data type [-Wtype-limits]
if (serial_buff[rd_idx] == LGW_GPS_UBX_SYNC_CHAR) {
^
gcc -O2 -Wall -Wextra -std=c99 -Iinc -I. -L. tst/test_loragw_cal.c -o test_loragw_cal -lloragw -lrt -lm
make[1]: Leaving directory `/home/pss/LoRa/lora_gateway/libloragw'
make all -e -C util_pkt_logger
make[1]: Entering directory `/home/pss/LoRa/lora_gateway/util_pkt_logger'
gcc -c -O2 -Wall -Wextra -std=c99 -Iinc -I. -I../libloragw/inc src/util_pkt_logger.c -o obj/util_pkt_logger.o
gcc -c -O2 -Wall -Wextra -std=c99 -Iinc -I. src/parson.c -o obj/parson.o
gcc -L../libloragw obj/util_pkt_logger.o obj/parson.o -o util_pkt_logger -lloragw -lrt -lm
make[1]: Leaving directory `/home/pss/LoRa/lora_gateway/util_pkt_logger'
make all -e -C util_spi_stress
make[1]: Entering directory `/home/pss/LoRa/lora_gateway/util_spi_stress'
gcc -c -O2 -Wall -Wextra -std=c99 -Iinc -I. -I../libloragw/inc src/util_spi_stress.c -o obj/util_spi_stress.o
gcc -L../libloragw obj/util_spi_stress.o -o util_spi_stress -lloragw -lrt -lm
make[1]: Leaving directory `/home/pss/LoRa/lora_gateway/util_spi_stress'
make all -e -C util_tx_test
make[1]: Entering directory `/home/pss/LoRa/lora_gateway/util_tx_test'
gcc -c -O2 -Wall -Wextra -std=c99 -Iinc -I. -I../libloragw/inc src/util_tx_test.c -o obj/util_tx_test.o
gcc -L../libloragw obj/util_tx_test.o -o util_tx_test -lloragw -lrt -lm
make[1]: Leaving directory `/home/pss/LoRa/lora_gateway/util_tx_test'
make all -e -C util_lbt_test
make[1]: Entering directory `/home/pss/LoRa/lora_gateway/util_lbt_test'
gcc -c -O2 -Wall -Wextra -std=c99 -Iinc -I. -I../libloragw/inc src/util_lbt_test.c -o obj/util_lbt_test.o
gcc -L../libloragw obj/util_lbt_test.o -o util_lbt_test -lloragw -lrt -lm
make[1]: Leaving directory `/home/pss/LoRa/lora_gateway/util_lbt_test'
make all -e -C util_tx_continuous
make[1]: Entering directory `/home/pss/LoRa/lora_gateway/util_tx_continuous'
gcc -c -O2 -Wall -Wextra -std=c99 -Iinc -I. -I../libloragw/inc src/util_tx_continuous.c -o obj/util_tx_continuous.o
gcc -L../libloragw obj/util_tx_continuous.o -o util_tx_continuous -lloragw -lrt -lm
make[1]: Leaving directory `/home/pss/LoRa/lora_gateway/util_tx_continuous'
make all -e -C util_spectral_scan
make[1]: Entering directory `/home/pss/LoRa/lora_gateway/util_spectral_scan'
gcc -c -O2 -Wall -Wextra -std=c99 -I inc -I../libloragw/inc src/util_spectral_scan.c -o obj/util_spectral_scan.o
gcc -L../libloragw obj/util_spectral_scan.o -lloragw -lrt -o util_spectral_scan
make[1]: Leaving directory `/home/pss/LoRa/lora_gateway/util_spectral_scan'
/home/pss/LoRa/lora_gateway>
/home/pss/LoRa/packet_forwarder>make all
make all -e -C lora_pkt_fwd
make[1]: Entering directory `/home/pss/LoRa/packet_forwarder/lora_pkt_fwd'
mkdir -p obj
gcc -c -O2 -Wall -Wextra -std=c99 -Iinc -I. -D VERSION_STRING="\"`cat ../VERSION`\"" -I../../lora_gateway/libloragw/inc src/lora_pkt_fwd.c -o obj/lora_pkt_fwd.o
src/lora_pkt_fwd.c: In function ‘thread_up’:
src/lora_pkt_fwd.c:1629:37: warning: format ‘%llu’ expects argument of type ‘long long unsigned int’, but argument 4 has type ‘uint64_t’ [-Wformat=]
pkt_gps_time_ms); /* GPS time in milliseconds since 06.Jan.1980 */
^
src/lora_pkt_fwd.c:1629:37: warning: format ‘%llu’ expects argument of type ‘long long unsigned int’, but argument 4 has type ‘uint64_t’ [-Wformat=]
src/lora_pkt_fwd.c: In function ‘thread_gps’:
src/lora_pkt_fwd.c:2727:13: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘ssize_t’ [-Wformat=]
MSG("WARNING: [gps] read() returned value %d\n", nb_char);
^
gcc -c -O2 -Wall -Wextra -std=c99 -Iinc -I. -I../../lora_gateway/libloragw/inc src/parson.c -o obj/parson.o
gcc -c -O2 -Wall -Wextra -std=c99 -Iinc -I. -I../../lora_gateway/libloragw/inc src/base64.c -o obj/base64.o
gcc -c -O2 -Wall -Wextra -std=c99 -Iinc -I. -I../../lora_gateway/libloragw/inc src/jitqueue.c -o obj/jitqueue.o
gcc -c -O2 -Wall -Wextra -std=c99 -Iinc -I. -I../../lora_gateway/libloragw/inc src/timersync.c -o obj/timersync.o
gcc -L../../lora_gateway/libloragw obj/lora_pkt_fwd.o obj/parson.o obj/base64.o obj/jitqueue.o obj/timersync.o -o lora_pkt_fwd -lloragw -lrt -lpthread -lm
make[1]: Leaving directory `/home/pss/LoRa/packet_forwarder/lora_pkt_fwd'
make all -e -C util_ack
make[1]: Entering directory `/home/pss/LoRa/packet_forwarder/util_ack'
mkdir -p obj
gcc -c -O2 -Wall -Wextra -std=c99 -Iinc -I. src/util_ack.c -o obj/util_ack.o
gcc obj/util_ack.o -o util_ack
make[1]: Leaving directory `/home/pss/LoRa/packet_forwarder/util_ack'
make all -e -C util_sink
make[1]: Entering directory `/home/pss/LoRa/packet_forwarder/util_sink'
mkdir -p obj
gcc -c -O2 -Wall -Wextra -std=c99 -Iinc -I. src/util_sink.c -o obj/util_sink.o
gcc obj/util_sink.o -o util_sink
make[1]: Leaving directory `/home/pss/LoRa/packet_forwarder/util_sink'
make all -e -C util_tx_test
make[1]: Entering directory `/home/pss/LoRa/packet_forwarder/util_tx_test'
mkdir -p obj
gcc -c -O2 -Wall -Wextra -std=c99 -Iinc -I. src/util_tx_test.c -o obj/util_tx_test.o
gcc -c -O2 -Wall -Wextra -std=c99 -Iinc -I. src/base64.c -o obj/base64.o
gcc obj/util_tx_test.o obj/base64.o -o util_tx_test
make[1]: Leaving directory `/home/pss/LoRa/packet_forwarder/util_tx_test'
./update_gwid.sh local_conf.json
./lora_pkt_fwd
|