수행기록퀘스트2

미세 미세 (미세먼지 모니터링 시스템) _ PART1 개발환경 구축
2022. 8. 29 (월) 09:42 츄라이 조회 630 좋아요 0 스크랩 0 댓글 0

다양한 라즈베리파이 시리즈를 사용했지만 이번에 처음으로 PICO 시리즈인 W를 사용하게 되었다.

영롱하다... 늘 짜릿해...

해당 개발 보드의 환경은 arduino ide를 사용하기로 하였다. 이외에도 VSCODE나 CLION을 이용하는 방법도 있다고 한다. 이방법은 추후 추가해보고자 한다.

우선 arduino ide를 열어 pico 칩셋인 RP2040을 추가 해야 한다.

ide  파일 -> 환경 설정 -> 보드 매니저 URL에 해당 주소를 추가 한다.

https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json

툴 -> 보드 매니저 -> raspberry  를 입력하게 되면

다음 칩셋을 선택하여 설치를 진행한다.

 

선택은 다음 보드를 선택한다.

 

정상적으로 작동을 확인 하기 위해 다음 코드를 사용했다.

// Simple WiFi network scanner application
// Released to the public domain in 2022 by Earle F. Philhower, III
#include <WiFi.h>

void setup() {
  Serial.begin(115200);
}

const char *macToString(uint8_t mac[6]) {
  static char s[20];
  sprintf(s, "%02X:%02X:%02X:%02X:%02X:%02X", mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);
  return s;
}

const char *encToString(uint8_t enc) {
  switch (enc) {
    case ENC_TYPE_NONE: return "NONE";
    case ENC_TYPE_TKIP: return "WPA";
    case ENC_TYPE_CCMP: return "WPA2";
    case ENC_TYPE_AUTO: return "AUTO";
  }
  return "UNKN";
}

void loop() {
  delay(5000);
  Serial.printf("Beginning scan at %d\n", millis());
  auto cnt = WiFi.scanNetworks();
  if (!cnt) {
    Serial.printf("No networks found\n");
  } else {
    Serial.printf("Found %d networks\n\n", cnt);
    Serial.printf("%32s %5s %17s %2s %4s\n", "SSID", "ENC", "BSSID        ", "CH", "RSSI");
    for (auto i = 0; i < cnt; i++) {
      uint8_t bssid[6];
      WiFi.BSSID(i, bssid);
      Serial.printf("%32s %5s %17s %2d %4d\n", WiFi.SSID(i), encToString(WiFi.encryptionType(i)), macToString(bssid), WiFi.channel(i), WiFi.RSSI(i));
    }
  }
  Serial.printf("\n--- Sleeping ---\n\n\n");
  delay(5000);
}

해당 코드를 업로드 한뒤 ide의 serial monitor을 확인 해보면 다음과 같이 네트워크를 스캔하는 것을 확인 할 수 있다.

 

이후 mysql에 센서 데이터를 받아서 기록 할 수 있는 데이터 베이스를 생성 하였다.

해당 db에 접속하여 각 센서 데이터를 연동하는 것을 다음 과정에서 진행하고자 한다.

로그인 후
참가 상태를 확인할 수 있습니다.