RF9X-RK

所属分类:自然语言处理
开发工具:C++
文件大小:1216KB
下载次数:0
上传日期:2022-11-09 05:32:27
上 传 者sh-1993
说明:  用于粒子的RadioHead RF95 96 97 98 LoRa分组无线电驱动程序的端口
(Port of the RadioHead RF95 96 97 98 LoRa Packet radio driver for Particle)

文件列表:
.travis.yml (38, 2020-11-15)
LICENSE (18092, 2020-11-15)
build.yml (450, 2020-11-15)
examples (0, 2020-11-15)
examples\1-encrypted-server (0, 2020-11-15)
examples\1-encrypted-server\rf95_encrypted_server.cpp (1605, 2020-11-15)
examples\2-encrypted-client (0, 2020-11-15)
examples\2-encrypted-client\rf95_encrypted_client.cpp (1773, 2020-11-15)
examples\3-reliable-datagram-server (0, 2020-11-15)
examples\3-reliable-datagram-server\rf95_reliable_datagram_server.cpp (3017, 2020-11-15)
examples\4-reliable-datagram-client (0, 2020-11-15)
examples\4-reliable-datagram-client\rf95_reliable_datagram_client.cpp (3067, 2020-11-15)
images (0, 2020-11-15)
images\assembled.jpg (386134, 2020-11-15)
images\board.jpg (465368, 2020-11-15)
images\client.jpg (158676, 2020-11-15)
images\server.jpg (148746, 2020-11-15)
library.properties (239, 2020-11-15)
more-examples (0, 2020-11-15)
more-examples\10-reliable-datagram-client-display (0, 2020-11-15)
more-examples\10-reliable-datagram-client-display\project.properties (65, 2020-11-15)
more-examples\10-reliable-datagram-client-display\src (0, 2020-11-15)
more-examples\10-reliable-datagram-client-display\src\10-reliable-datagram-client-display.cpp (3427, 2020-11-15)
package.json (478, 2020-11-15)
src (0, 2020-11-15)
src\RF9X-RK.cpp (0, 2020-11-15)
src\RF9X-RK.h (0, 2020-11-15)
src\RHDatagram.cpp (2265, 2020-11-15)
src\RHDatagram.h (7590, 2020-11-15)
src\RHEncryptedDriver.cpp (4925, 2020-11-15)
src\RHEncryptedDriver.h (13217, 2020-11-15)
src\RHGenericDriver.cpp (4278, 2020-11-15)
src\RHGenericDriver.h (15097, 2020-11-15)
src\RHGenericSPI.cpp (651, 2020-11-15)
src\RHGenericSPI.h (6855, 2020-11-15)
src\RHHardwareSPI.cpp (11421, 2020-11-15)
... ...

# RF9X-RK *Port of the RadioHead RF95/96/97/*** LoRa Packet radio driver for Particle* This is a port of the [RadioHead Packet Radio Library](http://www.airspayce.com/mikem/arduino/RadioHead/) version 1.89 for RF95/96/97/*** LoRa compatible radios. ![Argon](images/server.jpg) Note that this only allows nearby RF9x LoRa radios to communicate with each other in point-to-point mode to send data packets. It does not allow the Xenon, for example, to establish a cloud connection over LoRa instead of Particle Mesh (Thread mesh, 6LoWPAN over 802.15.4). While I tested the Adafruit FeatherWing form-factor radios, it also works with the breakout versions. - [RFM95W](https://www.adafruit.com/product/3231) 868 or 915 MHz Americas ITU 2 license-free ISM - [RFM***](https://www.adafruit.com/product/3232) 433 MHz for use in Europe ITU 1 license-free ISM Don't forget to purchase an antenna to go with your radio! ## Assembly If you are using the Adafruit Radio FeatherWing you should [just follow the Adafruit instructions](https://learn.adafruit.com/radio-featherwing/overview). ![Board](images/board.jpg) The radio communicates by SPI (MISO, MOSI, and SCK) and these pins are fixed. However, there is a choice you need to make for the 3 remaining control pins. I selected these pins: | Pin | Map To | Particle Pin | Color | | --- | --- | --- | --- | | IRQ | E | D2 | Green | | CS | A | D6 | Yellow | | RST | F | A5 | White | The reason is that D3, D4, and D5 (D, C, B) are used by the Ethernet FeatherWing, and by using different pins you can put the Radio FeatherWing in the Particle Ethernet FeatherWing along with a Xenon to make a nice base station. After soldering the headers and the jumper wires are shown above: ![Assembled](images/assembled.jpg) ## Library Notes I included what I believe to be a useful subset of the RadioHead library features: - RF95/96/97/*** radio support - Reliable datagram - Encryption (optional) You can easily make a fork of this library and add in a different set of features copied from the RadioHead distribution easily, if you wanted to. ## Examples ### Reliable Datagram The reliable datagram client and server projects set up point-to-point communications between two radios. Note that you must assure: - The models are the same (RF95X to RF95X, for example) - The frequency is configured to be the same - You have correctly configured the addresses (0-254) on both sides. If you flash the server code to a device and monitor the USB serial output, you'll see something like this: ``` got packet from 0x01 rssi=-5 to server counter=1 got packet from 0x01 rssi=-4 to server counter=2 got packet from 0x01 rssi=-5 to server counter=3 got packet from 0x01 rssi=-5 to server counter=4 got packet from 0x01 rssi=-5 to server counter=5 ``` And from the client: ``` Sending to rf95_reliable_datagram_server got reply from 0x02 rssi=-3 request=1 rssi=-5 Sending to rf95_reliable_datagram_server got reply from 0x02 rssi=-4 request=2 rssi=-4 Sending to rf95_reliable_datagram_server got reply from 0x02 rssi=-3 request=3 rssi=-5 Sending to rf95_reliable_datagram_server got reply from 0x02 rssi=-4 request=4 rssi=-5 ``` ### Encrypted The encrypted version uses the [rweather CryptoLW library](https://github.com/rweather/arduinolibs) ported to the Particle platform as [CryptoLW-RK](https://github.com/rickkas7/CryptoLW-RK). Note that you must assure: - The models are the same (RF95X to RF95X, for example) - The frequency is configured to be the same - You have the same encryption key configured in the server and client ### Display Example In the more-examples/10-reliable-datagram-client-display directory, there's a sample program that's almost the same as 4-reliable-datagram-client, except it displays the output on the [Adafruit OLED FeatherWing](https://www.adafruit.com/product/2900). ![Display Client](images/client.jpg) ### Licensing Note While most of my libraries are MIT or Apache Licensed, this one is GPL Version 2, because the original RadioHead library was. Thus there are limitations on using it in closed-source commercial projects! > This software is Copyright (C) 2008 Mike McCauley. Use is subject to license conditions. The main licensing options available are GPL V2 or Commercial: > Open Source Licensing GPL V2 > This is the appropriate option if you want to share the source code of your application with everyone you distribute it to, and you also want to give them the right to share who uses it. If you wish to use this software under Open Source Licensing, you must contribute all your source code to the open source community in accordance with the GPL Version 2 when your application is distributed. See http://www.gnu.org/copyleft/gpl.html > Commercial Licensing > This is the appropriate option if you are creating proprietary applications and you are not prepared to distribute and share the source code of your application. Contact info@open.com.au for details. ## Version History ### 0.0.5 (2020-11-15) - Fixed compile error on Gen3 devices with 2.0.0-rc due to HAL_PLATFORM_MESH no longer being defined. ### 0.0.4 (2020-09-09) - Modified the hardware SPI initialization to not set the default SS pin (typically A5) as an output and high, regardless of what was configured as the CS pin.

近期下载者

相关文件


收藏者