DT Report
DT Report
using LoRa
Submitted by
PROJECT Maher Shalal – 722822106133
Mohammed Yaseen – 722822106164
WORK Navneethan – 722822106091
Ragul Prasanth– 722822106115
BATCH
2022 – 2026
Under the Guidance of
Dr.C.Suganthi Evangeline M.E., Ph.d.,
Assistant Professor
Department of ECE
1
Sri Eshwar College of Engineering
(An Autonomous Institution – Affiliated to Anna University)
COIMBATORE – 641 202
BONAFIDE CERTIFICATE
Certified that this project report titled “Offline Communication System using LoRa” done using
Design Thinking is the bonafide work of
Navneethan 7228221061XX
………………………………… …………………………………
SIGNATURE SIGNATURE
Dr. N.Shanmugasundaram, Dr. Ram Kumar, M.E., Ph.D.,
M.E., Ph.D., SUPERVISOR
HEAD OF THE DEPARTMENT Assistant Professor,
Professor&Head, Department Department of ECE,
of ECE, Sri Eshwar College of Engineering
Sri Eshwar College of Engineering, Coimbatore-641202.
Coimbatore-641202.
Submitted for the End Semester practical examination – Project using Design Thinking viva-
voce held on _ _ _ _ _ _ _ _ _ _ _ _
……………………… ……………………..
(INTERNAL EXAMINER) (EXTERNAL EXAMINER)
ACKNOWLEDGEMENT
3. INTRODUCTION 1
4. LITERATURE SURVEY 4
1. EXISTING PRODUCT 8
2. PROBLEM STATEMENT 9
6. PROPOSED SOLUTION 10
1. OVERVIEW 10
2. BLOCK DIAGRAM / FLOW DIAGRAM 10
11. REFERENCE 23
4
1. ABSTRACT
The goal of this project is to use LoRa technology to create a reliable communication system for forest rangers.
Without requiring internet access, the system will enable the sending and receiving of voicemails, text messages,
images, and videos. An ESP32 microcontroller and a LoRa RA02 module will be included in each user's device,
which will be connected to their cellphones through an application. Depending on the surrounding circumstances,
this configuration is intended to provide dependable communication across a distance of up to 10 kilometers or
greater. The crucial necessity for safe and dependable communication in isolated forest regions without access to
conventional cellular networks is addressed by the suggested solution.
The research investigates the shortcomings of currently available communication options, such as traditional radio
systems and satellite phones, which are either costly or has a restricted range and dependability. Through the
utilization of LoRa technology, this project offers a low-cost and long-distance communication option with minimal
power usage.
The communication system's design, development, and testing—including hardware configuration, software
development, and field testing—are covered in detail in the study. The outcomes show that multimedia messages can
be successfully transmitted across long distances in a variety of settings. The project ends with future upgrades that
could be made to boost dependability, increase range, and improve user experience.
6
2. LIST OF FIGURES
3. INTRODUCTION
Communication is a vital aspect of safety and coordination for forest rangers and other personnel working in
remote areas. Traditional communication methods such as mobile phones and radios often fail in these
environments due to a lack of infrastructure. This project explores the use of LoRa (Long Range) technology,
which offers a cost-effective and efficient solution for long-distance communication without the need for
internet connectivity.
LoRa technology operates on unlicensed ISM bands and can transmit data over long distances with low power
consumption, making it ideal for remote applications. The objective of this project is to design and implement a
communication system that allows forest rangers to send and receive multimedia messages (photos, videos,
voicemails, and texts) using LoRa modules and ESP32 microcontrollers.
The system will consist of two main components: the hardware (ESP32, LoRa RA02 module, and necessary
peripherals and the software (mobile application for Android devices). The mobile app will interface with the
7
hardware to manage the sending and receiving of messages. This report details the design, development, and
testing of this communication system, highlighting its potential to enhance safety and coordination in areas.
5. LITERATURE SURVEY
Long-range communication technologies have evolved significantly over the years, providing various
options for maintaining connectivity in remote areas. Satellite phones have been a staple in remote
communication, offering global coverage through a network of satellites. These devices are particularly useful in
areas with no terrestrial infrastructure but come with high costs and dependency on clear skies.
Traditional radio systems, such as VHF and UHF radios, have been used for decades, providing a
cost-effective means of communication over moderate distances. These systems, however, often face
challenges such as limited range and interference, particularly in dense forest environments where signals
can be obstructed by terrain and vegetation.
LoRa (Long Range) technology has emerged as a promising solution for remote communication,
leveraging unlicensed ISM bands to transmit data over long distances with minimal power consumption. Studies
have shown that LoRa can achieve communication ranges of up to 15 km in open environments and up to 10 km
in urban or forested areas. The technology has been utilized in various applications, including environmental
monitoring, smart agriculture, and industrial IoT, demonstrating its versatility and reliability.
When comparing LoRa with satellite phones and traditional radios, several key differences
emerge. LoRa offers a significantly lower cost solution compared to satellite phones, which require expensive
hardware and subscription fees. In terms of range, LoRa outperforms traditional radios, providing greater
coverage without the need for repeaters. Additionally, LoRa's low power consumption makes it ideal for
battery-operated devices, enhancing its suitability for remote applications where power sources are limited.
8
Existing Products:
Satellite Phones
Satellite phones provide reliable communication in the most remote and inaccessible areas by
connecting directly to satellites orbiting the Earth. These phones are indispensable in emergency situations where
terrestrial communication infrastructure is unavailable. However, their high cost, both in terms of initial investment
and ongoing usage fees, makes them less accessible for everyday use. Moreover, satellite phones require a clear
line of sight to the sky, which can be problematic in dense forests or mountainous regions.
Traditional radio systems, including VHF and UHF radios, have been the backbone of
communication in remote areas for many years. These systems are relatively inexpensive and easy to use, making
them a popular choice for forest rangers and other field personnel. Despite their advantages, traditional radios have
limitations in terms of range and reliability, especially in challenging terrains where signal propagation can be
severely hindered. Additionally, the quality of communication can be affected by weather conditions and physical
obstructions.
The market for remote communication solutions is diverse, with various products catering to
different needs and budgets. Satellite phones dominate the high-end segment, offering unparalleled coverage and
reliability at a premium price. Traditional radios occupy the mid to low-end segments, providing an affordable
means of communication with varying degrees of effectiveness. User feedback often highlights the high cost and
operational complexity of satellite phones and the limited range and interference issues associated with traditional
radios.
9
Limitations of Current Solutions
The primary limitations of existing communication solutions include high costs, limited range, and
susceptibility to environmental factors. Satellite phones, while reliable, are prohibitively expensive for many users
and require specific conditions to operate effectively. Traditional radios, on the other hand, offer limited range and
can struggle with signal interference in dense forests. These limitations highlight the need for a more cost-
effective, reliable, and versatile communication solution for remote areas.
PROBLEM STATEMENT
Forest rangers and other personnel working in remote areas face significant challenges in maintaining
reliable communication. The absence of infrastructure, such as cellular towers, renders mobile phones
ineffective, leaving satellite phones and traditional radios as the primary options. However, both solutions come
with their own set of challenges. Satellite phones are expensive and dependent on satellite visibility, while
traditional radios offer limited range and reliability, especially in dense forest environments.
The main problems addressed by the project include the high costs associated with satellite phones,
the limited range and reliability of traditional radios, and the need for a communication system that can transmit
multimedia messages. Forest rangers require a dependable and affordable means of communication that can
function without relying on existing infrastructure. The proposed solution aims to bridge this gap by providing a
cost-effective, long-range communication system capable of transmitting text, voice, and multimedia messages.
5. PROPOSED SOLUTION
System Architecture
The proposed communication system consists of two main components: the hardware and the
software. The hardware includes the ESP32 microcontroller and the LoRa RA02 module, which are responsible
for sending and receiving messages. The software component is a mobile application designed for Android
devices, which interfaces with the hardware to manage the communication process. This architecture ensures a
seamless integration between the user's device and the communication system, providing an intuitive and user-
friendly experience.
The key features of the proposed system include the ability to send and receive text, voice, and
multimedia messages over long distances without the need for internet connectivity. The use of LoRa technology
ensures that the system can operate over a range of up to 10 kilometers, even in dense forest environments. The
system is designed to be energy-efficient, ensuring prolonged operation on battery power, which is critical for
field personnel working in remote areas.
11
Advantages over Existing Solutions
Compared to existing solutions, the proposed system offers several advantages. It is significantly
more cost-effective than satellite phones, making it accessible to a wider range of users. Its long-range
capabilities and reliability surpass those of traditional radios, providing a more dependable means of
communication in remote areas. Additionally, the system's ability to transmit multimedia messages enhances its
functionality, making it a versatile tool for forest rangers and other field personnel.
Future Enhancements
The proposed solution lays the foundation for future enhancements, which could further improve
its performance and usability. Potential upgrades include increasing the communication range, enhancing the
user interface of the mobile application, and incorporating additional features such as GPS tracking and real-time
data transmission. These enhancements would make the system even more robust and capable of meeting the
evolving needs of remote communication users.
These expanded sections should provide sufficient content to cover two pages each, ensuring a
comprehensive discussion of the project and its various aspects.
BLOCK DIAGRAM
12
7. EMPATHY MAP & CUSTOMER VALUE PROPOSITION
An empathy map is a collaborative visualization tool used to articulate what we know about a particular type
of user. It is divided into sections that represent different aspects of the user's experience, helping teams understand
their users' behaviors, thoughts, feelings, and needs.
13
FIGURE 2: Empathy map
VALUE PROPOSITION:
A value proposition canvas is a tool used to ensure that a product or service is positioned around what the
customer values and needs. It helps to clarify how a product or service creates value for customers.
Customer Profile:
14
Value Map:
Products and Services: The list of offerings that help the customer complete their jobs.
Pain Relievers: How the product or service alleviates customer pains.
Gain Creators: How the product or service provides customer gains.
12.HARDWARE/SOFTWARE DESCRIPTION
HARDWARE COMPONENTS:
1. ESP32 Microcontroller (2 units)
15
SOFTWARE COMPONENTS
1. Android Application
CODING STRUCTURE
#define SS 18
#define RST 14
#define DIO0 26
void setup() {
Serial.begin(9600);
while (!Serial);
Serial.println("LoRa Transceiver");
16
LoRa.setPins(SS, RST, DIO0);
if (!LoRa.begin(433E6)) {
Serial.println("Starting LoRa failed!");
while (1);
}
}
void loop() {
17
---
### MainActivity.java
java
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
messageInput = findViewById(R.id.messageInput);
sendButton = findViewById(R.id.sendButton);
receivedMessages = findViewById(R.id.receivedMessages);
18
sendButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String message = messageInput.getText().toString();
sendMessage(message);
}
});
}
RANGE CALCULATIONS
19
environment can reach up to 15 km, but practical ranges are typically around 5-10 km
Given:
- Frequency: 433 MHz
- Bandwidth: 125 kHz
- Spreading Factor: 7
- Coding Rate: 5
Assuming:
- Transmit Power: 14 dBm
- Losses: 3 dB (antenna and other losses)
- Receiver Sensitivity: -120 dBm
MODEL PHOTOS
20
21
FIGURE 4,5,6: THE MODEL OF OUR PROJECT
22
CODING
Project Structure:
*Message.java*
java
package com.example.messenger;
23
return content;
}
*MessageAdapter.java*
java
package com.example.messenger;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import java.util.List;
@Override
public int getItemViewType(int position) {
Message message = messages.get(position);
if (message.isSent()) {
return VIEW_TYPE_SENT;
} else {
return VIEW_TYPE_RECEIVED;
}
}
@NonNull
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int
viewType) {
if (viewType == VIEW_TYPE_SENT) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_message_sent,
parent, false);
return new SentMessageHolder(view);
} else {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_message_received,
parent, false);
return new ReceivedMessageHolder(view);
}
}
25
@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
Message message = messages.get(position);
if (holder.getItemViewType() == VIEW_TYPE_SENT) {
((SentMessageHolder) holder).bind(message);
} else {
((ReceivedMessageHolder) holder).bind(message);
}
}
@Override
public int getItemCount() {
return messages.size();
}
SentMessageHolder(View itemView) {
super(itemView);
messageText = itemView.findViewById(R.id.text_message_body);
}
*activity_main.xml*
xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_above="@id/layoutInput"
27
android:layout_alignParentTop="true"
android:padding="8dp" />
<LinearLayout
android:id="@+id/layoutInput"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="horizontal"
android:padding="8dp">
<EditText
android:id="@+id/editTextMessage"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:hint="Enter message" />
<Button
android:id="@+id/buttonSend"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Send" />
</LinearLayout>
</RelativeLayout>
*item_message_sent.xml*
xml
28
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="end"
android:orientation="horizontal"
android:padding="8dp">
<TextView
android:id="@+id/text_message_body"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/sent_message_background"
android:padding="8dp"
android:textColor="@android:color/white" />
</LinearLayout>
*item_message_received.xml*
xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="start"
android:orientation="horizontal"
android:padding="8dp">
<TextView
android:id="@+id/text_message_body"
29
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/received_message_background"
android:padding="8dp"
android:textColor="@android:color/black" />
</LinearLayout>
*drawable/sent_message_background.xml*
xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@android:color/holo_blue_dark"/>
<corners android:radius="16dp"/>
</shape>
*drawable/received_message_background.xml*
xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@android:color/darker_gray"/>
<corners android:radius="16dp"/>
</shape>
Update AndroidManifest.xml
*AndroidManifest.xml*
30
xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.messenger">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Update MainActivity.java
*MainActivity.java*
java
31
package com.example.messenger;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import java.util.ArrayList;
import java.util.List;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editTextMessage = findViewById(R.id.editTextMessage);
Button buttonSend = findViewById(R.id.buttonSend);
32
buttonSend.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String content = editTextMessage.getText().toString();
if (!content.isEmpty()) {
messages.add(new Message(content, true));
messageAdapter.notifyItemInserted(messages.size() - 1);
editTextMessage.setText("");
}
}
});
}
}
REFERENCES
33
34