Skip to content

capy-zhiao/lorawan_note_send

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

lorawan_note_send

Introduction

This project mainly simulates a gateway and devices in a LoRaWAN network communication environment, with ChirpStack serving as the network server. A local UDP client is used to handle communication with the ChirpStack network.

Setup

Working configuration

Ubuntu 20.04 LTS Python 3.8

config

/config

  • config.json: Basic configurations.
  • gateway.json: Gateway EUI.
  • device.json: Device parameters for OTAA mode.

(These have to be the same as the information related to the devices registered inside ChirpStack)

OTAA Modify device infomation in config/device.json. An example:

{
    "Device": {
        "JoinEUI": "0000000000000001",
        "DevEUI": "bfd2718a2904e6a8"
    },
    "RootKeys": {
        "AppKey": "5871FE1C02D1A74B6684D2D9FF54CEDA",
        "NwkKey": "14714AAFF51F7792D8C4CCB614D08396"
    }
}

Gateway

Modify Gateway infomation in config/gateway.json. An example:

{"GatewayEUI": "4e7b2799b9bfd427"}

Steps

The general workflow is as follows:

  1. Send a PULL_DATA to ChirpStack server by python main.py pull.
  2. Send a join request message to ChirpStack server by python main.py join.
  3. If the join accept message is decoded successfully, we can send an uplink message.
  4. An Uplink message can be sent by python main.py app -m xxxxx.

1. Pull_data

python main.py pull

1

2. Join_request

python main.py join -n / python main.py join

2

3. Send_data

python main.py app test

3

4. Results

4

5

6

7

5. Fuzzingtest

Currently, only the mutation construction of data sent to the Device has been implemented.

python main.py fuzz testdata

8

Results: Fuzzed_results.csv

About

lorawan_note_send

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages