아두이노 MKR1000과 삼성 ARTIK 클라우드로 실시간 수영장 수질 모니터링
부품 및 소모품
부품 수량
아두이노 MKR1000 1
점퍼 와이어 1세트
DFRobot pH 미터 1
4.75kΩ 저항 1
온도 프로브 (DS18B20 등) 1
앱 및 온라인 서비스
삼성 ARTIK Cloud for IoT
아두이노 IDE
프로젝트 개요
I. 목표
이 프로젝트의 주 목표는 삼성 ARTIK 클라우드를 사용하여 수영장의 pH와 온도 레벨을 모니터링하는 것입니다.
II. ARTIK 클라우드 설정
1단계: 새 디바이스 타입 생성
ARTIK 클라우드 개발자 사이트에서 회원가입 후 로그인
'Device Types' 메뉴에서 'Create New Device Type' 클릭
원하는 표시 이름과 고유 이름 입력
'Create New Manifest' 클릭하여 데이터 필드 정의 (pH, temperature 등)
'Activate Manifest' 버튼 클릭하여 활성화
디바이스 타입 및 매니페스트 생성 과정
2단계: 애플리케이션 생성
'Applications' 메뉴에서 'New Application' 클릭
애플리케이션 이름과 인증 리다이렉트 URL 입력 (예: https://localhost/index/)
권한을 'Read'와 'Write'로 설정하고 디바이스 타입 연결 후 저장
애플리케이션 생성 및 권한 설정
3단계: 디바이스 연결
'My Devices'에서 'Connect Another Device' 클릭
앞서 만든 디바이스 타입 선택 후 'Connect Device'
연결된 디바이스 설정에서 Device ID와 Device Token 확인 (코드에 필요)
Device ID와 Token 메모
III. 하드웨어 센서 설정
1단계: MKR1000에 온도 및 pH 센서 연결
센서 핀 MKR1000 핀
Temp GND GND
Temp OUT Digital Pin 1
Temp VCC 5V
4.7kΩ 저항 Temp VCC와 Temp OUT 사이
pH GND GND
pH OUT Analog Pin 1 (A1)
pH VCC 5V
브레드보드 배선도
실제 배선 모습 (오디오 잭으로 온도 센서 탈착 가능하게 구성)
2단계: 필수 소프트웨어 설정
아두이노 IDE에서 다음을 수행하세요:
보드 매니저에서 'MKR1000' 검색 후 설치
라이브러리 매니저에서 다음 라이브러리 설치:
ArduinoJson (ARTIK 클라우드로 JSON 데이터 전송용)
ArduinoHttpClient (API 연결용)
OneWire (온도 센서 디지털 입력 읽기용)
DallasTemperature (DS18B20 센서용)
3단계: 프로그램 업로드
MKR1000을 PC에 연결
GitHub에서 코드 다운로드
코드 내 WiFi SSID, 비밀번호, ARTIK Device ID, Device Token 수정
업로드 후 모니터링 시작 (WiFi 인터넷 연결 필수)
수정이 필요한 설정 변수들
IV. 현장 테스트
사설, 공공, 학교 수영장에서 하드웨어 센서를 테스트했습니다. 여러 수영장의 데이터를 수집하여 하드웨어 성능을 분석했습니다.
방수 박스에 넣어 수영장에 설치한 모습
MKR1000과 센서를 방수 박스에 넣어 수영장에 띄우면 물 오염 없이 수질을 모니터링할 수 있습니다. 원하는 화학약품을 투입하여 수질을 정상화할 수 있습니다.
V. 결과
이 튜토리얼이 DIY 수영장 수질 모니터링 장치 제작에 도움이 되길 바랍니다. 사람들이 편의 시설에만 집중하고 수영장 물의 안전성은 간과하는 경향이 있는데, 수질 저하에 대한 인식이 높아지기를 바랍니다. 또한 불필요한 자원 낭비 없이 수질 검사를 더 효율적이고 효과적으로 할 수 있는 수단을 제공하여 커뮤니티에 기여하고자 합니다.
즐거운 제작 되세요! :)
코드 (아두이노 MKR1000용)
전체 코드는 GitHub 에서 확인하세요. 주요 기능:
WiFi101 라이브러리로 MKR1000 WiFi 연결
OneWire + DallasTemperature로 DS18B20 온도 읽기
DFRobot pH 미터 아날로그 읽기 및 평균 필터링
ArduinoJson으로 JSON 페이로드 생성
ArduinoHttpClient로 HTTPS POST 요청 (Bearer 토큰 인증)
5초 주기로 ARTIK 클라우드에 데이터 전송
회로도
MKR1000과 센서들 브레드보드 연결도