You are on page 1of 8

THỰC TẬP VIỄN THÔNG VKT41

PHÂN CÔNG CÔNG VIỆC CHO CÁC THÀNH VIÊN


TRONG NHÓM

I. YÊU CẦU CỦA BÀI THỰC TẬP:


1. Tiếp nhận dự án từ giáo viên bộ môn:

Yêu cầu của giáo viên bộ môn :

- Kết nối ARDUNO nano + module LoRa + “Cảm biến” thành ba bộ thiết
bị Đọc - Xử lý - Phát (Gọi là: Bộ Cảm Biến).
- Kết nối ESP 8266 với LoRa tạo thành bộ Getaway.
- 3 bộ cảm biến sẽ giao tiếp với nhau tạo thành 1 mạng.
- Các cảm biến trong mạng sẽ đưa tín hiệu qua Lora đến bộ Getaway.
- Bộ Getaway sẽ có trách nhiệm đẩy tất cả thông tin thu được từ cảm biến
lên internet.
2. Cụ thể hóa yêu cầu của giáo viên bộ môn:
- Các thành phần thiết bị chính:
 Mạch thu phát RF SPI Lora SX1278.
 Arduino nano.
 Cảm Biến Độ Ẩm, Nhiệt Độ HTU21 Temperature Humidity Sensor
- Ý tưởng và chức năng:
 Thực hiện đọc giá trị nhiệt độ môi trường thông qua “cảm biến”.
 Xử lý tín hiệu bằng arduino sau đó đóng gói tín hiệu.
 Dùng module LoRa để gửi gói tín hiệu đến cho Getaway.
- Bộ Getaway bao gồm các thiết bị sau:
 Kit RF Thu Phát Wifi ESP8266 NodeMCU Lua CP2102
 Mạch thu phát RF SPI Lora SX1278.
- Mô tả hoạt động:
 Thu được tín hiệu về nhiệt độ môi trường tại 3 khu vực đặt thiết bị
khác nhau.
THỰC TẬP VIỄN THÔNG VKT41

 Dùng Arduino nano để xử lý thông tin thu được từ cảm biến gửi lên.
 Dùng bộ thu sóng LoRa truyền gói tín đến thiết bị Central (ESP).
 Dùng ESP giải gói tín hiệu từ Lora gửi về.
 Bộ Getaway (ESP) sau khi có thông tin về nhiệt độ sẽ đưa lên trên
Cloud.
- Giao diện người dùng:
 Cloud ( Dùng giao thức MQTT ).
 Sau khi trên cloud có thông tin dùng điện thoại hoặc máy tính để
truy cập vào Cloud để kiểm tra thông tin thu nhận được.
II. QUÁ TRÌNH THỰC HIỆN DỰ ÁN:
1. Phân công công việc:
- Để có thể làm việc một cách tối ưu và đảm bảo tất cả các thành viên trong
nhóm đều tham gia thực hiện đề tài. Nên sẽ chia lớp thành 2 nhóm nhỏ
cùng thực hiện song song để đối chiếu kết quả, từ đó đảm bảo được tính
xác thực.
- Thời hạn và nội dung cần báo cáo lại cho nhóm trưởng ở giai đoạn 1 của dự
án sẽ được ghi trên bảng phân công công việc.

Nhóm 1:

Thành Viên Nhiệm Vụ Được Giao Thời Hạn Báo Cáo Nội dung cần báo cáo
- Viết biết báo cáo - Ngày 22/10 - Thực hiện lên ý tưởng
Lê Thị Tâm phần khung của báo
Phạm Khôi Nguyên cáo.
-Không cần số liệu.
- Thiết kế mạch trên - Ngày 25/10 -Bản thiết kế mạch
Nguyễn Thanh Lộc phần mềm Proteus. nguyên lý và PCB.
Nguyễn Cao Đức - Thực hiện gia công -Thiết kế mạch 1 lớp.
phần cứng
Ng. Phạm Quốc Việt - Viết chương trình -Ngày 25/10 -Báo cáo sơ qua về ý
cho thiết bị tưởng của chương
trình của “Bộ cảm
THỰC TẬP VIỄN THÔNG VKT41

biến” và đã tiến hành


được bao nhiêu phần
trăm.
Nhóm 2:

Thành Viên Nhiệm Vụ Được Giao Thời Hạn Báo Cáo Chú Ý
- Viết biết báo cáo - Ngày 22/10 - Thực hiện lên ý tưởng
phần khung của báo
cáo.
- Không cần số liệu.
- Thiết kế mạch trên - Ngày 25/10 -Bản thiết kế mạch
phần mềm Proteus. nguyên lý và PCB.
- Thực hiện gia công -Thiết kế mạch 1 lớp.
phần cứng
- Viết chương trình -Ngày 25/10 -Báo cáo sơ qua về ý
cho thiết bị tưởng của chương
trình của “Bộ cảm
biến” và đã tiến hành
được bao nhiêu phần
trăm.

2. Quá trình làm việc:


- Không gian và thời gian làm việc:
+ Do tính hình dịch bệnh nên chúng ta sẽ làm việc thông qua hình thức
Online.
+ Để thuận thiện cho công việc, các thành viên có cùng nhiệm vụ sẽ liên
lạc với nhau để tự triển khai và cùng thực hiện.
+ Mỗi tuần sẽ có một cuộc họp về tiến độ và các vấn đề trong quá trình
thực hiện dự án. Từ đó cùng nhau đưa ra hướng giải quyết.
- Cách thức báo cáo nhiệm vụ:
+ Sẽ báo cáo bằng file word trước thời hạn.
 Ý tưởng.
 Kết quả.
THỰC TẬP VIỄN THÔNG VKT41

 Có gặp vấn đề gì hay không?


 Báo cáo không cần quá nhiều vì mỗi tuần sẽ họp để kiểm tra tiến
độ.
 Lưu ý :
- Nhiệm vụ của mỗi thành viên có thể thay đổi.
 Khi cần sự trợ giúp từ các nhiệm vụ khác.
 Nhiệm vụ đã hoàn thành.

Lời cuối : Mong cả lớp làm việc nhiệt tình - vui vẻ - hòa đồng - năng động. Xem như
mình đang làm một dự án có thật của một Công Ty nào đó ở địa phận Lâm Đồng!!!

MÃ gửi

#include <Wire.h>
#include <SPI.h>
#include <LoRa_STM32.h>
 
#include <Adafruit_Sensor.h>
#include <Adafruit_BME280.h>
 
#define NSS PA4
#define RST PB0
#define DI0 PA1
 
THỰC TẬP VIỄN THÔNG VKT41

#define TX_P 17
#define BAND 433E6
#define ENCRYPT 0x78
 
int counter = 0;
String LoRaMessage = "";
 
#define SEALEVELPRESSURE_HPA (1013.25)
Adafruit_BME280 bme;
 
void setup()
{
  Serial.begin(115200);
  while (!Serial);
 
  Serial.println(F("LoRa Sender"));
 
  //LoRa.setTxPower(TX_P);
  LoRa.setSyncWord(ENCRYPT);
  
  LoRa.setPins(NSS, RST, DI0);
  if (!LoRa.begin(BAND))
  {
    Serial.println(F("Starting LoRa failed!"));
    while (1);
  }
  if (!bme.begin(0x76))
  {
    Serial.println("Could not find a valid BME280 sensor, check wiring!");
    while (1);
  }
}
 
void loop()
{
  float temperature = bme.readTemperature();
  float pressure = bme.readPressure() / 100.0F;
  float altitude = bme.readAltitude(SEALEVELPRESSURE_HPA);
  float humidity = bme.readHumidity();
  
  Serial.print(F("Sending packet: "));
  Serial.println(counter);
  
  Serial.print(F("Temperature = "));
  Serial.print(temperature);
  Serial.println(F("*C"));
 
  Serial.print(F("Pressure = "));
  Serial.print(pressure);
  Serial.println(F("hPa"));
 
  Serial.print(F("Approx. Altitude = "));
  Serial.print(altitude);
  Serial.println(F("m"));
 
  Serial.print(F("Humidity = "));
  Serial.print(humidity);
THỰC TẬP VIỄN THÔNG VKT41

  Serial.println(F("%"));
 
  Serial.println();
 
  LoRaMessage = String(counter) + "/" + String(temperature) + "&" + String(pressure) + "#" +
String(altitude) + "@" + String(humidity);
 
  // send packet
  LoRa.beginPacket();
  LoRa.print(LoRaMessage);
  LoRa.endPacket();
 
  counter++;
 
  delay(3000);
}

Mã nhận

1 #include <SPI.h>
2 #include <LoRa_STM32.h>

4 #define SS PA4
5 #define RST PB0
6 #define DI0 PA1

8 #define TX_P 17
9 #define BAND 433E6
10 #define ENCRYPT 0x78
11  
12   String counter;
13   String temperature;
14   String pressure;
15   String altitude;
16   String humidity;
17  
18 void setup()
19 {
20   Serial.begin(115200);
21   while (!Serial);
22  
23   Serial.println("LoRa Receiver");
24   //LoRa.setTxPower(TX_P);
25   LoRa.setSyncWord(ENCRYPT);
26   
THỰC TẬP VIỄN THÔNG VKT41

27   LoRa.setPins(SS, RST, DI0);


28   if (!LoRa.begin(BAND))
29   {
30     Serial.println("Starting LoRa failed!");
31     while (1);
32   }
33 }
34  
35 void loop() {
36   // try to parse packet
37   int pos1,pos2,pos3,pos4;
38   
39   int packetSize = LoRa.parsePacket();
40   if (packetSize)
41   {
42     // received a packet
43     Serial.print("Received packet:  ");
44     String LoRaData = LoRa.readString();
45     Serial.print(LoRaData);
46     // read packet
47     while (LoRa.available()) {
48       Serial.print((char)LoRa.read());
49     }
50     // print RSSI of packet
51     Serial.print("' with RSSI ");
52     Serial.println(LoRa.packetRssi());
53  
54     pos1 = LoRaData.indexOf('/');
55     pos2 = LoRaData.indexOf('&');
56     pos3 = LoRaData.indexOf('#');
57     pos4 = LoRaData.indexOf('@');
58  
59     counter = LoRaData.substring(0, pos1);
60     temperature = LoRaData.substring(pos1+1,pos2);
61     pressure = LoRaData.substring(pos2+1,pos3);
62     altitude = LoRaData.substring(pos3+1,pos4);
63     humidity = LoRaData.substring(pos4+1,LoRaData.length());
64  
65     
66     Serial.print(F("Packet No. = "));
67     Serial.println(counter);
68     
THỰC TẬP VIỄN THÔNG VKT41

69     Serial.print(F("Temperature = "));
70     Serial.print(temperature);
71     Serial.println(F("*C"));
72   
73     Serial.print(F("Pressure = "));
74     Serial.print(pressure);
75     Serial.println(F("hPa"));
76   
77     Serial.print(F("Approx. Altitude = "));
78     Serial.print(altitude);
79     Serial.println(F("m"));
80   
81     Serial.print(F("Humidity = "));
82     Serial.print(humidity);
83     Serial.println(F("%"));
84     Serial.println();
85   }
86 }

You might also like