Arduino-DW1000 开源项目教程
1. 项目的目录结构及介绍
目录结构
arduino-dw1000/
├── examples/
│ ├── BasicConnectivityTest/
│ ├── BasicReceiver/
│ ├── BasicSender/
│ ├── RangingAnchor/
│ ├── RangingTag/
│ └── SimpleTX/
├── libraries/
│ └── DW1000/
│ ├── src/
│ │ ├── DW1000.cpp
│ │ ├── DW1000.h
│ │ ├── DW1000Device.cpp
│ │ ├── DW1000Device.h
│ │ ├── DW1000Time.cpp
│ │ ├── DW1000Time.h
│ │ ├── DW1000Constants.h
│ │ └── DW1000Mac.h
│ └── keywords.txt
├── LICENSE
└── README.md
目录介绍
-
examples/: 包含多个示例项目,展示了如何使用DW1000库进行基本的连接测试、发送和接收数据、以及测距功能。
- BasicConnectivityTest/: 基本连接测试示例。
- BasicReceiver/: 基本接收器示例。
- BasicSender/: 基本发送器示例。
- RangingAnchor/: 测距锚点示例。
- RangingTag/: 测距标签示例。
- SimpleTX/: 简单发送示例。
-
libraries/: 包含DW1000库的源代码和关键字文件。
- DW1000/: DW1000库的主要文件夹。
- src/: 包含库的核心源代码文件。
- DW1000.cpp: DW1000库的主要实现文件。
- DW1000.h: DW1000库的头文件。
- DW1000Device.cpp: DW1000设备类实现文件。
- DW1000Device.h: DW1000设备类头文件。
- DW1000Time.cpp: DW1000时间类实现文件。
- DW1000Time.h: DW1000时间类头文件。
- DW1000Constants.h: DW1000常量定义头文件。
- DW1000Mac.h: DW1000 MAC层头文件。
- keywords.txt: 关键字文件,用于Arduino IDE的语法高亮。
- src/: 包含库的核心源代码文件。
- DW1000/: DW1000库的主要文件夹。
-
LICENSE: 项目的许可证文件。
-
README.md: 项目的说明文档。
2. 项目的启动文件介绍
启动文件
项目的启动文件通常位于examples/
目录下的各个示例文件夹中。以BasicConnectivityTest/
为例,启动文件为BasicConnectivityTest.ino
。
启动文件内容
#include <DW1000.h>
// connection pins
const uint8_t PIN_RST = 9; // reset pin
const uint8_t PIN_IRQ = 2; // irq pin
const uint8_t PIN_SS = SS; // spi select pin
void setup() {
// initialize the driver
DW1000.begin(PIN_IRQ, PIN_RST);
DW1000.select(PIN_SS);
Serial.begin(9600);
Serial.println(F("### DW1000-arduino-reset-test ###"));
// general configuration
DW1000.newConfiguration();
DW1000.setDefaults();
DW1000.commitConfiguration();
Serial.println(F("Committed configuration ..."));
// DEBUG polling
DW1000.getPrintableDeviceIdentifier(msg);
Serial.print("Device ID: "); Serial.println(msg);
DW1000.getPrintableExtendedUniqueIdentifier(msg);
Serial.print("Unique ID: "); Serial.println(msg);
DW1000.getPrintableNetworkIdAndShortAddress(msg);
Serial.print