embedded system,Arduino,Raspberry pi,ARM7,MM32,STM32,PIC and Python,Django,Datascience and web development
Showing posts with label RFM95. Show all posts
Showing posts with label RFM95. Show all posts
Wednesday, September 25, 2019
Saturday, September 21, 2019
Rfm95 with arduino uno working with serial communication
Rfm95 with arduino uno working with serial communication:
connection with arduino uno
// rf95_client.pde
#include <SPI.h>
#include <RH_RF95.h>
int led = 9;
RH_RF95 rf95;
void setup()
{
pinMode(led, OUTPUT);
Serial.begin(9600);
while (!Serial) ; // Wait for serial port to be available
if (!rf95.init())
Serial.println("init failed");
}
void loop()
{
rfm95_uart();
}
void rfm95_uart()
{
uint8_t buf[RH_RF95_MAX_MESSAGE_LEN];
uint8_t len = sizeof(buf);
if (rf95.waitAvailableTimeout(3000))
{
//Serial.print(rf95.recv(buf, &len));
if (rf95.recv(buf, &len)>0)
{
Serial.print("got reply: ");
Serial.println((char*)buf);
}
else
{
Serial.println("recv failed");
}
}
else
{
rfm95_uart_sndr();
//Serial.println(".");
//Serial.println("No reply, is rf95_server running?");
}
delay(10);
}
void rfm95_uart_sndr()
{
//Serial.println("Sending to rf95_server::");
char data[32]="";
int availableBytes = Serial.available();
//Serial.print(availableBytes);
if(availableBytes>0)
{
for(int i=0; i<availableBytes; i++)
{
data[i]=Serial.read();
}
rf95.send(data, sizeof(data));
rf95.waitPacketSent();
Serial.print("Sent::");
Serial.print(data);
digitalWrite(led, LOW);
}
}
output :
for the code download the below link:
https://drive.google.com/file/d/1Hx0noPMxfg8zQdcvZqobS8y8dE7NbxSX/view?usp=sharing
connection with arduino uno
|
ARDUINO
UNO
|
RFM
95
|
|
Gnd
|
Gnd
|
|
3.3v
|
3.3v
|
|
D5
|
reset
|
|
D2
|
DIO 0
|
|
D3
|
DIO1
|
|
D13(SCK)
|
SCK
|
|
D12(MISO)
|
MISO
|
|
D11(MOSI)
|
MOSI
|
|
D10(SS)
|
NSS
|
NOTE:
LEVEL SHIFTER FOR BETTER OUTPUT
sender side code:
#include <SPI.h>
#include <RH_RF95.h>
RH_RF95 rf95;
int led = 9;
void setup()
{
pinMode(led, OUTPUT);
Serial.begin(9600);
while (!Serial) ; // Wait for serial port to be available
if (!rf95.init())
Serial.println("init failed");
}
void loop()
{
if (rf95.available())
{// Should be a message for us now
uint8_t buf[RH_RF95_MAX_MESSAGE_LEN];
uint8_t len = sizeof(buf);
if (rf95.recv(buf, &len))
{
digitalWrite(led, HIGH);
// RH_RF95::printBuffer("request: ", buf, len);
Serial.print("got request: ");
Serial.println((char*)buf);
sender_fn();
}
else
{
Serial.println("recv failed");
}
}
delay(100);
}
void sender_fn()
{
/***************************************/
// Send a reply
/***************************************/
char data[32]="";
int availableBytes = Serial.available();
if(availableBytes>0)
{
for(int i=0; i<availableBytes; i++)
{
data[i]=Serial.read();
}
rf95.send(data, sizeof(data));
rf95.waitPacketSent();
Serial.print("Sent::");
Serial.print(data);
digitalWrite(led, LOW);
}
}
Receiver side code:
// rf95_client.pde
#include <SPI.h>
#include <RH_RF95.h>
int led = 9;
RH_RF95 rf95;
void setup()
{
pinMode(led, OUTPUT);
Serial.begin(9600);
while (!Serial) ; // Wait for serial port to be available
if (!rf95.init())
Serial.println("init failed");
}
void loop()
{
rfm95_uart();
}
void rfm95_uart()
{
uint8_t buf[RH_RF95_MAX_MESSAGE_LEN];
uint8_t len = sizeof(buf);
if (rf95.waitAvailableTimeout(3000))
{
//Serial.print(rf95.recv(buf, &len));
if (rf95.recv(buf, &len)>0)
{
Serial.print("got reply: ");
Serial.println((char*)buf);
}
else
{
Serial.println("recv failed");
}
}
else
{
rfm95_uart_sndr();
//Serial.println(".");
//Serial.println("No reply, is rf95_server running?");
}
delay(10);
}
void rfm95_uart_sndr()
{
//Serial.println("Sending to rf95_server::");
char data[32]="";
int availableBytes = Serial.available();
//Serial.print(availableBytes);
if(availableBytes>0)
{
for(int i=0; i<availableBytes; i++)
{
data[i]=Serial.read();
}
rf95.send(data, sizeof(data));
rf95.waitPacketSent();
Serial.print("Sent::");
Serial.print(data);
digitalWrite(led, LOW);
}
}
output :
for the code download the below link:
https://drive.google.com/file/d/1Hx0noPMxfg8zQdcvZqobS8y8dE7NbxSX/view?usp=sharing
Subscribe to:
Posts (Atom)
-
using python we can create our on DB using python in mysql. please follow the below lines of code import pymysql #create the database conne...
-
0885-8993 (c) 2015 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/pub...
















