Skip to content

Latest commit

 

History

History
200 lines (180 loc) · 6.59 KB

README_ZH.md

File metadata and controls

200 lines (180 loc) · 6.59 KB

Linux_LoRaWAN

English |中文
构建状态 版本 All Contributors


目录


项目介绍

  • Linux 下 LoRaWAN 应用的实现,支持 LoRaWAN1.02 协议
  • 支持多个频段
  • 使用 cmake 构建,可轻松添加自己的应用代码
  • 支持图形化界面进行参数的配置

安装

  1. 首先需要安装 make、camke、gcc。
  2. 下载源代码到本地。
  3. 进入该项目下的 build 文件夹,依次执行下面命令。
rm -rf *
cmake ..
make
  1. 执行完成之后,将会在 bin 文件夹里面生成可执行文件。

使用

  1. 在该项目的 build 文件夹下使用如下命令进行配置。
make menuconfig
  1. 进入该项目的 bin 文件夹,执行启动命令。
./demo

项目的基本结构

|-- bin                #可执行文件
|-- build              #构建文件
|-- functional_module  #功能模块
|   |-- bmp180
|   |-- data_conversion
|   |-- fifo
|   |-- hdc1080
|   `-- lora
|-- hardware_driver   #驱动模块
|   |-- gpio
|   |-- i2c
|   `-- spi
|-- lib              #构建过程中生成的中间库
`-- project          
    |-- config       #配置相关文件
    `-- main         #主函数

目前支持频段

  • AS923 region
  • AU915 region
  • CN470 region
  • CN779 region
  • EU433 region
  • EU868 region
  • KR920 region
  • IN865 region
  • US915 region
  • US915_HYBRID region
  • AU915 SB2 region
  • AS923 AS1 region
  • AS923 AS2 region

添加自己的功能模块

以bmp180为例

  1. 在 functional_module 文件夹下添加新建文件名为 bmp180 的文件夹。
  2. 在 bmp180 文件夹下添加如下文件

bmp180.c
bmp180.h
CMakeLists.txt
README.md

  1. 编写源文件和头文件内容。
  2. 编写CMakeList.txt
#添加源文件
aux_source_directory(. BMP180)
#添加需要包含的头文件
include_directories(${PROJECT_SOURCE_DIR}/hardware_driver/i2c)
#添加链接库的路径
link_directories(${PROJECT_SOURCE_DIR}/lib)
#添加数学计算库
LINK_LIBRARIES(-lm)
#链接生成静态库
add_library(bmp180 ${BMP180} )
#将i2c的库链接进来
target_link_libraries(bmp180 i2c )
#设置将当前文件夹作为依赖model1库的头文件的搜索目录
target_include_directories(bmp180 PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
  1. 编写 README.md 说明文档 。
  2. 在 functional_module/CMakeLists.txt 添加
#添加子目录并构建子目录
add_subdirectory(bmp180)
  1. 在 project/main/CMakeLists.txt 的链接库选项添加 bmp180
target_link_libraries(${PROJECT_NAME} fifo config lora hdc1080 bmp180 data_conversion)
  1. 在 main.c 里面面添加自己 bmp180 的头文件,即可调用 bmp180 函数了。

添加图形配置界面选项

  1. 找到项目的 Kconfig 文件,在 LORAWAN_APP_DATA 菜单栏里面添加
config BMP180_DATA
    bool "bmp180"
  1. 在 project/config/config.ini 的 LORAWAN_DATA_SELECTION 菜单栏里面添加
;BMP180_DATA=3
  • 这个选项的名字和 Kconfig 里面的选项需要一致,都是 BMP180_DATA
  • 这个选项的数值需要和 main.c 里面准备数据的选项进行配合,其数值都是等于3
typedef enum 
{
    fixed_data =0,
    mkfifo_data,
    hdc1080_data,
    bmp180_data
}data_selection_num;
  1. 在 project/config/kconfig_lib/configini_to_kconfig.sh 的 #Configure LoRaWAN upload data selection 里面添加
elif [ $DATA_SELECTION -eq 3 ];then
    echo "CONFIG_BMP180_DATA=y" >> $K_CONFIGFILE
  • configini_to_kconfig.sh 会同步 C 配置文件去图形界面配置文件。
  1. 此次添加的 bmp180 配置选项不需要去修改 project/config/kconfig_lib/kconfig_to_configini.sh 文件,因为之前的同步选项已经匹配了 bmp180 。
  • kconfig_to_configini.sh 会同步图形界面配置文件去 C 配置文件。
  1. 在 project/main/main.c 里面添加读取 config.ini 文件。
    data_selection = iniparser_getint(ini,"LORAWAN_DATA_SELECTION:data_selection",-1);
  1. 使用 make menuconfig 去配置 bmp180 选项并保存,这时候在main.c里面读取出来 data_selection = 3 。

  2. 添加完成,可以在 man.c 里面去通过选项实现相关功能。


维护者

@Quency-D


贡献

非常欢迎你的加入!提一个 Issue 或者提交一个 Pull Request。

标准 Readme 遵循 Contributor Covenant 行为规范。


贡献者

感谢以下参与项目的人:


Luckybuyu

🎨

Aaron.Lee

💻

执照