정보보안(55회차) 노트


아두이노 연결
참고 자료: 라즈베리파이로 만드는 인공지능과 사물인터넷 162p

오늘 한거
1. 아두이노 IDE 설치

1-1. 추가 보드 관리자에
https://arduino.esp8266.com/stable/package_esp8266com_index.json
삽입

1-2. 파일 아래 보드매니저에 esp8266 입력 후 설치


1-3. 이거 누르고 들어가서 ch340 드라이버 설치

2. MQTT 소스코드 찾아서 수정 후 적용

2-1. 해당 코드

📄 ESP8266 MQTT 코드 보기
#include <ESP8266WiFi.h>
#include <PubSubClient.h>

const char* device_name = "bank";
const char* ssid = "soqkd";
const char* password = "0000008865";
const char* mqtt_server = "10.0.0.1";

WiFiClient espClient;
PubSubClient client(espClient);

unsigned long lastSendTime = 0;
int count = 0;

void setup_wifi() {
  delay(10);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    Serial.print(".");
    delay(500);
  }
}

void callback(char* topic, byte* payload, unsigned int length) {
  String msg;
  for (int i = 0; i < length; i++) {
    msg += (char)payload[i];
  }

  Serial.println("subscribe: " + msg);
}

void reconnect() {
  while (!client.connected()) {
    if (client.connect(device_name)) {
      client.subscribe("esp8266/device1");
    } else {
      delay(5000);
    }
  }
}

void setup() {
  Serial.begin(9600);
  setup_wifi();
  client.setServer(mqtt_server, 1883);
  client.setCallback(callback);
}

void loop() {
  if (!client.connected()) {
    reconnect();
  }
  client.loop();

  unsigned long now = millis();
  if (now - lastSendTime > 1000) {
    lastSendTime = now;
    String msg = "bank:" + String(count++);
    client.publish("raspberry/data", msg.c_str());
    Serial.println("Published: " + msg);
  }
}

--아마 오류 뜰건데 만약 pubsub 오류면 이건 스케치.라이브러리 매니저 들어가서 pubsubclient 검색 후 설치
3. 아두이노에 모터 설치하고 작동 확인

다음주에 할거
1. 사이트 구축하고 아두이노랑 연결
2. 핸드폰에서 열기 눌렀을때 작동 여부 확인


참고자료
1. https://www.tinkercad.com/
2. https://www.thingiverse.com/
3. 서브모터
4.포렌식