1. 프로젝트 사용한 보드 종류
메가2560
2. 사용한 개발 프로그램명
아두이노 스케치
3. 사용한 센서 모델명
neo-06
4. 연결한 회로 설명 (또는 이미지)
vcc-5v, gnd-gnd rx-17 tx-18
5. 소스코드 (주석 필수)
#include <TinyGPS.h>
TinyGPS gps;
void getgps(TinyGPS &gps);
void setup()
{
Serial.begin(9600);
Serial2.begin(9600);//gps
Serial3.begin(9600);//bluetooth 모듈은 앱에서 gps 값을 확인하기위해 있는 것이라 무관
}
void loop()
{
while(Serial2.available()) // While there is data on the RX pin...
{
int c = Serial2.read(); // load the data into a variable...
if(gps.encode(c)) // if there is a new valid sentence...
{
getgps(gps); // then grab the data.
}
}
}
void getgps(TinyGPS &gps)
{
float latitude, longitude;
gps.f_get_position(&latitude, &longitude);
Serial.print("Lat: ");
Serial.println(latitude,5); //이 부분이 gps에서의 위도를 float형으로 보여줍니다.
Serial.print("Long: ");
Serial.println(longitude,5);
delay(1000);
}
이 예문을 통해서 gps 데이터 값을 float 형으로 받는 것을 확인했습니다.
#include <AES.h>
#include "./printf.h"
AES aes ;
unsigned int keyLength [3] = {128, 192, 256}; // key length: 128b, 192b or 256b
byte *key = (unsigned char*)"01234567890123456789012345678901"; // encryption key
byte plain[] = "http://www.arduinolab.net/aes-encryptiondecryption-using-arduino-uno/"; // plaintext to encrypt
unsigned long long int myIv = 36753562; // CBC initialization vector; real iv = iv x2 ex: 01234567 = 0123456701234567
void setup ()
{
Serial.begin (9600) ;
printf_begin();
}
void loop ()
{
for (int i=0; i < 3; i++)
{
Serial.print("- key length [b]: ");
Serial.println(keyLength [i]);
aesTest (keyLength[i]);
delay(2000);
}
}
void aesTest (int bits)
{
aes.iv_inc();
byte iv [N_BLOCK] ;
int plainPaddedLength = sizeof(plain) + (N_BLOCK - ((sizeof(plain)-1) % 16)); // length of padded plaintext [B]
byte cipher [plainPaddedLength]; // ciphertext (encrypted plaintext)
byte check [plainPaddedLength]; // decrypted plaintext
aes.set_IV(myIv);
aes.get_IV(iv);
Serial.print("- plain: ");
aes.printArray(plain,(bool)true); //print plain with no padding
Serial.print("- cipher: ");
aes.printArray(cipher,(bool)false); //print cipher with padding
이 예제에 plant 부분만 수정하면 되는 줄 알았으나 되지를 않습니다.
6. 문제점 및 에러 내용
plain 부분에 GPS값을 넣어주시면되는데, GPS 센서로 부터 값을 받아오신 후 이 받은값을 plain 대신 넣어주시면 될 것 같습니다.
라고 하셨는데 이 부분을 어떻게 해결해야 할 지 모르겠습니다.
gps 데이터 값은 float형이고 평문은 int 형인데 float로 바꾸면 에러가 뜨고 두 개를 어떤 식으로 해야할지 문의드립니다.
|