제조공정
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
| ||||
|
I. 목표
이 프로젝트의 주요 목표는 Samsung ARTIK Cloud를 사용하여 수영장의 pH와 온도 수준을 모니터링하는 것입니다.
Ⅱ. ARTIK 클라우드 설정
1단계. 새 기기 만들기
ARTIK Cloud에 가입하세요. 개발자 사이트로 이동하여 새 "기기 유형"을 만듭니다.
원하는 디스플레이와 고유한 이름을 입력하십시오.
새 매니페스트 만들기
필드 이름 및 기타 설명 입력
저장을 클릭한 다음 매니페스트 탭 활성화로 이동합니다.
ACTIVE MANIFEST 버튼을 클릭하여 완료하면 여기로 리디렉션됩니다.
장치 유형 생성을 완료했습니다!
이제 해당 장치를 사용할 애플리케이션을 만들 수 있습니다.
2단계. 애플리케이션 만들기
ARTIK 클라우드 애플리케이션으로 이동합니다.
새 신청서 클릭
원하는 애플리케이션 이름과 인증 리디렉션 URL을 입력하세요.
인증 리디렉션 URL이 필요합니다. 이 응용 프로그램의 사용자를 인증하는 데 사용되므로 로그인이 필요한 경우 이 URL로 리디렉션됩니다.
샘플은 http://localhost/index/를 사용했습니다.
이제 읽기 및 쓰기에 대한 애플리케이션 권한을 설정하고 장치로 이동한 다음 저장하십시오.
축하합니다. 이제 지원이 완료되었습니다!
이제 해당 애플리케이션을 연결해 보겠습니다.
3단계. 기기 연결
내 기기로 이동하여 다른 기기 연결을 클릭합니다.
이전에 생성한 새 장치 유형을 클릭한 다음 장치 연결을 클릭하십시오.
연결된 기기 설정을 클릭합니다.
프로그램에서 필요하므로 이 정보를 기록해 두십시오.
이제 연결된 장치로 이동합니다.
ARTIK Cloud 설정을 완료했습니다. 하드웨어가 가동되면 차트에 데이터가 표시됩니다.
III. 하드웨어 센서 설정
1단계. 온도 및 pH 센서를 MKR1000에 연결합니다.
다음은 도표입니다:
<울>여기 내 샘플 배선이 있습니다.
그림>온도 센서를 쉽게 분리할 수 있도록 오디오 잭을 추가했습니다. 그러나 이것은 선택 사항입니다.
다음은 온도 센서를 잭에 연결하는 것입니다.
그림>
2단계. 필요한 소프트웨어 설정
Arduino IDE로 이동하여 MKR1000 보드를 추가합니다.
mkr1000 검색 후 설치 클릭
필요한 라이브러리 추가
설치할 라이브러리 검색:
<울>필요한 소프트웨어 추가를 완료하십시오!
3단계. 프로그램 업로드
이제 MKR1000을 PC/노트북에 연결하십시오.
여기에서 GitHub에서 소프트웨어를 다운로드하십시오.
다음 정보를 변경하십시오.
그런 다음 소프트웨어 코드를 MKR1000에 업로드하고 모니터링을 시작합니다.
참고:WiFi가 인터넷에 연결되어 있어야 합니다.
IV. 필드 테스트
우리는 사설, 공립 및 학교 수영장에 대한 하드웨어 센서를 테스트했습니다. 이러한 응답자 풀에서 데이터를 수집하여 하드웨어 기능을 분석할 수 있었습니다.
MKR1000과 센서를 상자에 놓고 수질 오염으로부터 멀리 떨어진 수영장에 놓을 수 있습니다. 이렇게 하면 물의 품질을 모니터링하고 원하는 화학 물질을 넣어 정상화할 수 있습니다.
곧 우리는 이 상자 안에 모든 회로를 넣는 방법과 실제 테스트 장면에 대한 튜토리얼을 업로드할 것입니다.
V. 결과
이 튜토리얼이 사람들이 DIY 수영장 수질 모니터링 장치를 만드는 데 도움이 되기를 바랍니다. 사람들이 얼마나 안전한지 확인하는 대신 제공되는 편의 시설에 더 집중하는 경향이 있기 때문에 수영장 수질의 지속적인 악화에 대한 인식이 높아졌으면 합니다. 또한 불필요한 자원 희생 없이 수질 검사를 보다 효율적이고 효과적으로 수행할 수 있는 수단을 제공함으로써 지역 사회에 기여할 계획입니다.
행복한 건물! :)
섹션> <섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">/********************여기에 내 코드가 있습니다. https://www.hackster.io/animo/water-quality-moniroting-840fea********************/#include섹션>에 게시된 수질 장치 모니터링 .h>#include #include #include #include #include #include /**온도 센서 초기화**/#define ONE_WIRE_BUS 1 // 데이터 와이어는 ArduinoOneWire의 디지털 포트 1에 연결됩니다. oneWire(ONE_WIRE_BUS); // 모든 OneWire와 통신하도록 oneWire 인스턴스를 설정합니다. //장치(Maxim/Dallas 온도 IC뿐만 아니라)DallasTemperature sensor(&oneWire); // 달라스 온도에 대한 oneWire 참조를 전달합니다. /** ARTIK Cloud REST 초기화 **/char server[] ="api.artik.cloud"; // Samsung ARTIK Cloud API Hostint 포트 =443; // HTTPS의 경우 443 char buf[200]; // ARTIK 클라우드로 보낼 JSON을 저장할 본문 데이터 String deviceID ="artik cloud device id"; // 튜토리얼에서 생성한 장치 ID를 여기에 입력합니다. String deviceToken ="artik cloud device token"; // 여기에 튜토리얼/**pH meter initialization**/#define SensorPin A1 // pH 측정기에서 생성한 장치 토큰을 여기에 넣습니다. // 수집 횟수int pHArray[ArrayLenth]; // 센서 feedback의 평균값을 저장합니다.int pHArrayIndex=0; int status =-1;int millis_start;/**Wifi 설정**/#define WIFI_AP "wifi ssid#define WIFI_PWD "wifi 암호"WiFiSSLClient wifi; HttpClient 클라이언트 =HttpClient(와이파이, 서버, 포트); 무효 설정(무효) { millis_start =millis(); Serial.begin(9600); 시작와이파이(); //와이파이 연결 시작}void loop(void) { /*현재 온도 구하기*/ float celsius =0; sensor.requestTemperatures(); // 온도를 구하는 명령을 보냅니다. celsius =sensor.getTempCByIndex(0); sensor.requestTemperatures(); // 온도를 구하는 명령을 보냅니다. celsius =sensor.getTempCByIndex(0); /*현재 pH 값 구하기*/ static unsigned long samplingTime =millis(); 정적 부호 없는 긴 printTime =millis(); 정적 부동 pH값, 전압; if(millis()-samplingTime> 샘플링 간격) { pHArray[pHArrayIndex++]=analogRead(SensorPin); if(pHArrayIndex==ArrayLenth)pHArrayIndex=0; 전압 =avergearray(pHArray, ArrayLenth)*5.0/1024; pH값 =3.5*전압+오프셋; 샘플링 시간=밀리(); } Serial.println("============================================); Serial.println("이 json 데이터를 보내드립니다."); //json 형식으로 출력 Serial.println("data:{ "); Serial.print("ph:"); Serial.print(pH값); Serial.print(" , temp:"); Serial.print(섭씨); Serial.println("} "); Serial.println(""); Serial.println("데이터 전송 시작"); 문자열 내용 유형 ="응용 프로그램/json"; 문자열 AuthorizationData ="Bearer" + deviceToken; //장치 토큰 int len =loadBuffer(celsius,pHValue); Serial.println("보낸 온도:"+String(celsius) +" 및 ph:"+String(pHValue) ); Serial.println("ARTIK Cloud API에 POST 보내기"); 클라이언트.beginRequest(); client.post("/v1.1/messages"); //, contentType, buf client.sendHeader("Authorization", AuthorizationData); client.sendHeader("콘텐츠 유형", "응용 프로그램/json"); client.sendHeader("콘텐츠 길이", len); 클라이언트.endRequest(); client.print(buf); // API에서 응답을 인쇄합니다. int statusCode =client.responseStatusCode(); 문자열 응답 =client.responseBody(); Serial.println(""); Serial.print("상태 코드:"); Serial.println(상태 코드); Serial.print("응답:"); Serial.println(응답); 지연(1000); // 업데이트 지연 }/*Wifi 연결 초기화*/void startWifi(){ Serial.println("MKR1000을 네트워크에 연결하는 중..."); // WiFi.begin(); // Wifi 네트워크 연결 시도:while ( status !=WL_CONNECTED ) { Serial.print("Attempting to connect to WPA SSID:"); Serial.println(WIFI_AP); WiFi.begin(WIFI_AP, WIFI_PWD); // 연결을 위해 10초 대기:delay(10000); 상태 =WiFi.status(); }}/*DfRobot pH 미터 소스*/double avergearray(int* arr, int number){ int i; 정수 최대, 최소; 이중 평균; 긴 금액 =0; if(number<=0){ Serial.println("배열이 평균화할 수 있는 오류 번호입니다!/n"); 반환 0; } if(number<5){ //5보다 작음, 직접 통계 계산 for(i=0;i 최대){ 금액+=최대; //arr>최대 최대값=arr[i]; }else{ 금액+=arr[i]; //min<=arr<=max } }//if }//for avg =(double)amount/(숫자-2); }//if return avg;}/*REST에 보낼 버퍼*/int loadBuffer(float temp, float ph) { StaticJsonBuffer<200> jsonBuffer; // 메모리에 자리 예약 JsonObject&root =jsonBuffer.createObject(); // 루트 객체 생성 root["sdid"] =deviceID; 루트["유형"] ="메시지"; JsonObject&dataPair =root.createNestedObject("데이터"); // 중첩 객체 생성 dataPair["temp"] =temp; 데이터 쌍["ph"] =ph; root.printTo(buf, sizeof(buf)); // JSON-버퍼로 출력 return (root.measureLength()); // 길이도 반환 }
제조공정
의심할 여지 없이 물은 지구상에서 가장 필수적인 자원입니다. 그것 없이는 삶은 더 이상 존재하지 않으며 며칠 안에 분명히 무너질 것입니다. 일반적인 용도뿐만 아니라 산업 분야에서의 응용은 우리의 존재와 지속 가능한 삶에 필수적인 기타 자원 및 제품의 생성 및 정제에도 도움이 됩니다. 그러나 우리는 수십 년 동안 이 대체할 수 없는 자원을 활용해 왔습니다. 지각을 덮고 있는 71%의 물 중 음용에 적합한 물은 2.5% 이하입니다. 이는 담수체의 오염 물질 농도 증가와 함께 전 세계 곳곳의 물 부족이라는 심각한 결과를 초래했습니다.
클라우드 모니터링은 최적의 워크플로를 위해 클라우드 컴퓨팅 리소스를 검토하고 모니터링하는 도구 및 프로세스 모음입니다. 수동 또는 자동 모니터링 및 관리 기술은 웹사이트, 서버, 애플리케이션, 기타 클라우드 인프라의 가용성과 성능을 보장합니다. 리소스 수준, 서버 응답 시간, 속도, 가용성을 지속적으로 평가하고 잠재적인 취약점 미래 문제가 발생하기 전에 예측합니다. 인프라 확장으로서의 클라우드 모니터링 전략 웹 서버와 네트워크는 계속해서 복잡해졌습니다. 기업은 리소스를 모니터링할 수 있는 더 나은 방법이 필요함을 깨달았습니다.