반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- vcruntime140.dll
- HackCTF
- 윈도우 커널
- Windows
- pcap packet
- Windows Kernel Debug
- packet capture
- Windows Kernel Driver
- 개발 환경 준비
- vcruntime.dll
- 개발하기
- apphelp.dll
- arudino
- 시스템해킹
- Network Byte Order
- C언어 패킷캡쳐
- 해킹
- 윈도우 커널 디버깅
- 윈도우 커널 드라이버
- windows kernel debugging
- Windows Kernel
- IAT Hooking
- 포너블
- 네트워크 바이트 오더
- pcap packet capture
- hacking
- 바이트 오더
- pwnable
- ucrtbase.dll
- Msvcrt.dll
Archives
- Today
- Total
미친해커
[Arduino] LoRa Step 5 - 아두이노를 활용해 LoRa로 통신하기 본문
반응형
저번 포스팅에서 아두이노와 로라 모듈을 연결하는 방법에 대해서 설명했으니 이번엔 아두이노를 활용해 로라로 통신을 해보려고 한다. 우선 단방향 통신으로 한쪽 아두이노에서 테이터를 전송하면 그 데이터를 전송받아 출력하는 방식으로 프로그래밍을 해보려고 한다.
위 라이브러리를 이용하여 로라 모듈을 사용해보려고 한다. 위 깃헙에서 EBYTE.cpp와 EBYTE.h 파일을 다운로드 받아 아두이노 프로젝트 폴더에 넣어준다.(현재는 라이브러리가 업데이트 되어 완전 다른 코드가 되었다. 아래에 예제에서 사용하는 라이브러리를 첨부해뒀다)
우선 데이터를 전송하는 코드를 먼저 짜보려고 한다. 코드는 시리얼 포트로부터 데이터를 읽어들인 다음 해당 데이터를 로라를 통해 전송한다.
전송 코드
// File name : sender.ino
#include <SoftwareSerial.h>
#include "EBYTE.h"
#define PIN_M0 4 // 로라 모듈의 M0 핀이 연결되어 있는 디지털 핀 번호
#define PIN_M1 5 // 로라 모듈의 M1 핀이 연결되어 있는 디지털 핀 번호
#define PIN_AX 6 // 로라 모듈의 AX 핀이 연결되어 있는 디지털 핀 번호
SoftwareSerial LoRa(2, 3); // 아두이노의 디지털 핀을 시리얼 포트로 사용
EBYTE Transceiver(&LoRa, PIN_M0, PIN_M1, PIN_AX); // 로라 모듈에 설정을 할수 있도록 도와주는 클래스
void setup()
{
Serial.begin(115200);
LoRa.begin(9600);
Transceiver.init();
}
void loop()
{
if (Serial.available() > 0)
{
String msg = Serial.readString();
LoRa.print(msg);
Serial.print(msg);
}
}
이렇게 데이터를 전송하는 코드를 작성해보았다면 이번엔 데이터를 받는 코드를 작성해보자. 코드는 로라 모듈로부터 데이터를 읽어들여 시리얼 포트로 출력하는 코드이다.
수신 코드
// File name : receiver.ino
#include <SoftwareSerial.h>
#include "EBYTE.h"
#define PIN_M0 4
#define PIN_M1 5
#define PIN_AX 6
SoftwareSerial LoRa(2, 3);
EBYTE Transceiver(&LoRa, PIN_M0, PIN_M1, PIN_AX);
void setup()
{
Serial.begin(115200);
LoRa.begin(9600);
Transceiver.init();
}
void loop()
{
if (LoRa.available() > 0)
{
String msg = LoRa.readString();
Serial.print("Received : ");
Serial.print(msg);
}
}
이 각각의 코드를 아두이노에 업로드하고 시리얼 포트로 데이터를 전송하면 다른 한쪽의 아두이노에서 로라로 그 데이터를 잡아 출력하는 것을 볼수 있다.
반응형
'Arduino > LoRa' 카테고리의 다른 글
[Arduino] LoRa Step 6 - 전파법에 맞춰 로라 설정하기 (4) | 2022.07.30 |
---|---|
[Arduino] LoRa Step 4 - 아두이노와 LoRa 연결하기 (0) | 2021.12.31 |
[Arduino] LoRa Step 3 - 대한민국에서 LoRa를 사용하기 위한 법 조항 (5) | 2021.12.30 |
[Arduino] LoRa Step 2 - EBYTE E32-900T30D 모듈 (0) | 2021.12.30 |
[Arduino] LoRa Step 1 - Arduino LoRa를 사용해 인트라넷 만들기 (0) | 2021.12.29 |
Comments