RNode硬件的配置实用程序

rnodeconf的Python项目详细描述


RNode配置实用程序

简介

使用这个方便的实用程序配置、闪存、备份和升级您的RNode。唯一需要的选项是设备连接到的串行端口。要显示基本设备信息,请使用-i选项。在

RNode可以在两种模式下运行,主机控制(默认)和TNC模式:

  • 当RNode处于主机控制模式时,它将保持待机状态,直到主机指定频率、带宽、发射功率和其他所需参数。可以使用此实用程序的-N选项启用此模式。在

  • 当RNode处于TNC模式时,它将在加电时配置自己并立即启用无线电。此模式可以通过使用此实用程序的-T选项启用(如果不直接指定设置,该实用程序将引导您完成设置)。在

有关RNodes功能、文档等的完整描述,请参阅RNode repository。在

usage: rnodeconf.py [-h] [-i] [-T] [-N] [-b] [-d] [-f] [-r] [-u] [-k] [-p]
                    [--model model] [--hwrev revision] [--freq Hz] [--bw Hz]
                    [--txp dBm] [--sf factor] [--cr rate]
                    [port]

RNode Configuration and firmware utility. This program allows you to change
various settings and startup modes of RNode. It can also flash and update the
firmware, and manage device EEPROM.

positional arguments:
  port              serial port where RNode is attached

optional arguments:
  -h, --help        show this help message and exit
  -i, --info        Show device info
  -T, --tnc         Switch device to TNC mode
  -N, --normal      Switch device to normal mode
  -b, --backup      Backup EEPROM to file
  -d, --dump        Dump EEPROM to console
  -f, --flash       Flash firmware and bootstrap EEPROM
  -r, --rom         Bootstrap EEPROM without flashing firmware
  -u, --update      Update firmware
  -k, --key         Generate a new signing key and exit
  -p, --public      Display public part of signing key
  --model model     Model code for EEPROM bootstrap
  --hwrev revision  Hardware revision EEPROM bootstrap
  --freq Hz         Frequency in Hz for TNC mode
  --bw Hz           Bandwidth in Hz for TNC mode
  --txp dBm         TX power in dBm for TNC mode
  --sf factor       Spreading factor for TNC mode
  --cr rate         Coding rate for TNC mode

安装

安装配置实用程序的最简单方法是使用pip:

^{pr2}$

在某些操作系统上,pip安装的程序不能通过键入其名称来运行。如果出现command not found错误,则必须将pip install目录添加到PATH变量中。最好的方法是在主目录中编辑“.profile”文件,并在文件底部添加以下行:

# Include locally installed programs in pathif[ -d "$HOME/.local/bin"];thenPATH="$HOME/.local/bin:$PATH"fi

如果要使用该实用程序进行固件更新或刷新,还需要avrdude:

sudo apt install avrdude

您还可以克隆或下载此存储库,将其放在您想要的任何位置,然后从那里运行rnodeconf:

# Clone repository
git clone https://github.com/markqvist/rnodeconfigutil.git

# Move into foldercd rnodeconfigutil

# Set executable permission on rnodeconf
chmod a+x rnodeconf/rnodeconf.py

# Symlink executable to main directory
ln -s rnodeconf/rnodeconf.py rnodeconfig

# Run rnodeconf
./rnodeconfig --help

依赖关系

配置实用程序需要python3、pyserial和密码.io. 要安装:

# Install dependencies for rnodeconf
sudo pip3 install pyserial cryptography

示例

显示设备信息

打印序列号、硬件版本、型号和固件版本等信息。在

rnodeconf /dev/ttyUSB0 -I

更新固件

从RNode固件存储库获取最新的预编译固件并将其闪存到设备上。在

rnodeconf /dev/ttyUSB0 -u

将RNode设置为TNC模式

如果只指定-T选项,实用程序将要求您提供必要的参数。在

rnodeconf /dev/ttyUSB0 -T

也可以在命令行中指定所有选项。在

rnodeconf /dev/ttyuUSB0 -T --freq 868000000 --bw 125000 --txp 2 --sf 7 --cr 5

将RNode设置为主机控制模式

使用-N选项将设备设置为主机控制模式。在

rnodeconf /dev/ttyUSB0 -N

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
尝试连接到Red5服务器时出现java问题   java实现Runnable的类被认为是ExecutorServices的“Runnable任务”?   java struts2类中的多个@validation   java未能应用插件[class'org.gradle.api.plugins.scala.ScalaBasePlugin']:gradle v2。13   如何使用Java流仅收集长度最大的元素?   从spring引导应用程序连接到firestore的java引发空指针异常   java从SQLite插入和获取真实数据类型会为连续插入获取空值吗?   当存在未知数量的空格时,使用java替代正向查找   部署如何为当今的浏览器部署java小程序(小程序、嵌入、对象)?   @OneToMany和@ManyToOne@Formula之间的java双向关系返回null   java为什么在我的例子中,协议缓冲区的性能比JSON差?   如何部署混合C++/Java(JNI)应用程序?   java如何在程序中显示字符串的完整信息。反恐精英?   java在Hibernate中从持久性上下文中分离实体中的实体