Giter Site home page Giter Site logo

loraradiorxclient's Introduction

LoRa Radio Transceiver Project

Purpose

This project enables two-way radio communication between clients using the Adafruit built RFM95W LoRa Radio Transceiver Breakout and the RadioHead Packet Radio Library.

Parts List

Aside from the items listed below you'll also need a computer running the Arduino IDE version 1.6.9 or higher. Since this project is a radio communication project you'll need at least two builds in order to communicate (otherwise you're just sending messages into the aether). The approximate cost for a single radio is $70 US (not counting the computer). If you already have the Uno and just need the radio parts the cost is approximately $40 US. Also, you can skip using the SMA connector and quad-band antenna listed below and just use a simple piece of wire if you don't want to spend the money or don't have performance requirements that require the antenna I used for this project.

  • Arduino/Genuino Uno x2
  • RFM95W LoRa Radio Transceiver Breakout x2
  • Edge-Launch SMA Connector for 1.6mm / 0.062" Thick PCBs x2
  • Right-angle Mini GSM/Cellular Quad-Band Antenna - 2dBi SMA Plug x2
  • Half-Size Breadboard x2
  • Jumper Wire and USB Cables

Deployment

  1. Build at least two radios. Thorough instructions are posted on Adafruit's Tutorial for the RFM9X LoRa page. Note, for the more experienced user a simple wiring diagram is provided below.
  2. If you don't already have the latest Arduino IDE download it from the Arduino Download Site and install on two separate computers.
  3. On both computers, download the LoRaRadioRXClient.ino file from this repository.
  4. Install the RadioHead Packet Radio Library following these Arduino Library Installation Instructions.
  5. On both computers, start the Arduino IDE and open the LoRaRadioRXClient.ino sketch.
  6. On both computers, edit line 33 and set the OPERATOR to a value that reflects who will sit at each terminal. You may optionally edit lines 31 and 32 to set the operating frequency and transmit power. See Radio Reference Materials in this repository for more information. This author recommends leaving those values set to their defaults. SEE SPECIAL NOTICE BELOW.
  7. If not already done plug both radio assemblies into the USB port of their respective computers.
  8. Load the sketches into each Arduino. The Packet Radios are now ready for use.
  9. Open the Serial Monitor. A message should reflect that the LoRa Radio is ready. If not, check wiring, solder joints, etc.
  10. Type a message into the text field and press enter to transmit. Note, there is very little error handling. The author recommends typing "Over." when the sender is done sending text.
  11. Received messages will appear in the Serial Monitor along with the RSSI to reflect the quality of the signal from the remote transmitter.

Alternate Build

  1. This project may also be built using the Adafruit Feather. That build uses a 3" wire whip antenna. See image below. The sketch for both radios (the Uno and the Feather versions) is the same except for the hardware pins. An alternate sketch, LoRaRadioRXClientFeather.ino, is provided for the Feather with the correct pins set.
SPECIAL NOTICE

Note that this radio breakout is designed to send on frequencies that are open for use in the US without a license. It is possible, however, to configure the radio to operate in the US Amateur bands. If you are not a licensed US radio amateur operator do not alter the frequency. Also, if you wish to operate outside of the US Adafruit offers radios that transmit on alternate frequencies. See product site for more details.

Hardware

LoRa Packet Radio

LoRa Packet Radio Photo

Feather LoRa Packet Radio

Sample Communications

loraradiorxclient's People

Contributors

davekt avatar

Stargazers

AI farmer avatar

Watchers

James Cloos avatar  avatar AI farmer avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.