산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

AWS IoT를 사용한 식물 모니터링 시스템

구성품 및 소모품

Arduino 윤
× 1
Intel Edison용 Seeed Grove 스타터 키트 플러스
키트의 실드 및 온도 및 광 센서 사용
× 1
씨드 그로브 - 수분 센서
× 1
5mm LED:빨간색
× 1
저항 330옴
× 1

필요한 도구 및 기계

3D 프린터(일반)

앱 및 온라인 서비스

Amazon Web Services AWS IoT
Amazon Web Services AWS IAM
Amazon 웹 서비스 AWS DynamoDB
Amazon Web Services AWS SNS
dweet.io
Arduino IDE

이 프로젝트 정보

일주일 정도 휴가를 가는데 집에 있는 화초에 대해 걱정하는 모습을 상상해 보세요. 휴가를 떠나기 전에 일주일 정도 소요되는 훌륭한 프로젝트가 있습니다.

다음 기능으로 공장 모니터링 및 알림 시스템을 구축하세요.

<울>
  • dweet.io를 사용하여 온도, 조명 값 및 토양 수분 값 모니터링
  • 또는 새로운 Amazon IoT 서비스를 사용하여 AWS - DynamoDB에 데이터 로깅
  • AWS -SNS 알림을 사용하여 자신에게 이메일을 보내 사촌/이웃에게 빨리 식물에 물을 주거나 집에서 온도 조절기를 확인하도록 알릴 수 있습니다.
  • 또한 Arduino Yun, 숲 방패 및 센서를 수용할 3D 인쇄 인클로저를 설계했습니다.

    내 공장이 어떻게 돌아가는지 확인하려면 여기를 클릭하세요.

    http://dweet.io/follow/PlantMonitorTorontoON



    다음은 빌드를 완료하기 위해 수행해야 하는 단계입니다.

    #1 회로 구축 Grove 커넥터 실드 사용 프로젝트의 도식 섹션에 표시된 대로 기본적으로 연결

    <울>
  • 온도 센서를 A0으로
  • A1에 토양 수분 센서
  • A2에 광센서
  • 220옴 저항을 사용하여 LED를 핀 #2에 연결합니다.
  • #2 STL 파일 3D 인쇄 , 에 첨부 맞춤 부품 및 인클로저 섹션 , 여기에 인쇄할 STL 파일이 3개 있습니다. 슬라이싱 소프트웨어를 0.3mm 레이어 높이 로 설정하십시오. 및 최소 25%의 채우기 밀도 이상

    3D 프린팅은 약 2시간이 소요되므로 STL 파일을 다운로드하고 아래의 다른 단계를 완료하는 동안 3D 프린터를 켜십시오.


    #3 토양 수분 값 결정

    아래 첨부된 코드(토양수분값)를 아두이노 Yun에 업로드하고 아래 코드에서 tooDryValue를 결정합니다. 기본적으로 토양수분의 값이 tooDryValue 이하로 떨어지면 식물에 물을 주어야 합니다. 이메일을 보내기 위해 AWS-SNS 조건에서 사용)

    다음은 toodryvalue를 결정하는 데 사용한 방법을 보여주는 동영상입니다.

    #4 데이터를 dweet.io에 게시하기 위해 Yun에 Arduino 코드를 업로드

    이제 toodryvalue 를 결정했으면 ArduinoYunDweetIO.ino 파일을 Yun에 업로드하고 코드의 일부로 "PlantMonitorTorontoON"을 더 의미 있는 것으로 대체하십시오.

    dweet.io에 센서 데이터 업로드를 테스트하는 동영상입니다.


    #5 컴퓨터에서 AWS CLI 설정 (여기서는 Mac을 사용하고 있습니다)

    이제 DyanamoDB에서 AWS IoT를 사용하여 데이터를 기록하려면 https://aws.amazon.com/free에서 계정을 생성해야 합니다. 여기에서 신용 카드 세부 정보도 제공해야 하지만 아래 자습서에서는 다음을 수행해서는 안 됩니다. 모든 비용 발생(이 역시 AWS 설정 지역에 따라 다름)

    완료되면 "AWS 폴더를 만듭니다. " Mac에서 아래 링크를 따라 AWS CLI를 다운로드 및 설치합니다.

    http://docs.aws.amazon.com/iot/latest/developerguide/installing-aws-cli.html

    저는 Mac을 사용하고 있습니다. 다음은 제가 따랐던 지침입니다.

    $ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"$ 압축 해제 awscli-bundle.zip$ sudo ./awscli -번들/설치 -i /usr/local/aws -b /usr/local/bin/aws 

    참고:터미널에서 방금 생성한 AWS 폴더에 있어야 합니다.

    #6 AWS IoT 콘솔에 표시되어야 하는 CLI를 사용하여 사물 만들기

    이제 다음 명령을 사용하여 AWS IoT에서 사물을 생성하겠습니다.

    aws iot create-thing --thing-name "plantSystem" 

    자세한 내용은 링크 참조

    http://docs.aws.amazon.com/iot/latest/developerguide/create-thing.html


    #7 인증서 만들기

    필요한 인증서를 만들고 활성화하려면 다음 명령을 입력하세요.

    <사전><코드>aws iot create-keys-and-certificate --set-as-active --certificate-pem-outfile cert.pem --public-key-outfile publicKey.pem --private-key-outfile privateKey .pem

    이 명령은 아래 스크린샷과 같이 AWS 폴더에 인증서(3개의 pem 파일)를 생성합니다.



    #8 AWS IoT 정책 생성 및 인증서에 연결

    선호하는 텍스트 편집기(나는 숭고한 텍스트 2를 선호함)를 사용하여 AWS 폴더에 json 파일을 생성하여 시작 - 파일 이름을 policy.json

    { "버전":"2012-10-17", "문":[{ "효과":"허용", "작업":["iot:*"], "리소스":[ "*"] }]} 

    그런 다음 텍스트 편집기에 다음 명령을 복사하여 붙여넣습니다.

    aws iot create-policy --policy-name "PubSub" --policy-document 파일://./policy.json 


    #9 인증서에 정책 연결 후 기기에 인증서 연결

    아래에 차례로 명령을 내리십시오.

    $aws iot attach-principal-policy --principal "arn:aws:iot:xxxxxxxxxxxxxxxxxxxxxxxx" --policy-name "PubSub"$ aws iot attach-thing-principal --thing-name "PlantSystem" --principal "arn:aws:iot:xxxxxxxxxxxxxxxxxxxxxxxx" 

    메모하지 않은 경우 인증서를 얻는 쉬운 방법은 AWS IoT 콘솔로 이동하여 인증서를 클릭하고 화면 오른쪽에 있는 세부 정보로 이동하는 것입니다. 여기에서 arn을 터미널에 복사하여 붙여넣을 수 있습니다.



    자세한 내용은

    의 문서를 참조하세요.

    http://docs.aws.amazon.com/iot/latest/developerguide/secure-communication.html

    # 10 컴퓨터에서 설정 확인/테스트 및 MQTT.fx를 사용하여 테스트

    이제 컴퓨터에서 설정이 완료되었다고 주장하려면 아래 링크에서 MQTT.fx를 다운로드 및 설치하여 설정이 작동하고 AWS IoT를 통해 데이터를 게시 및 구독할 수 있는지 테스트하십시오.

    http://mqttfx.jfx4ee.org/index.php/download

    자세한 설정 정보와 루트 인증서를 다운로드하려면 아래 링크를 사용하십시오.

    http://docs.aws.amazon.com/iot/latest/developerguide/verify-pub-sub.html

    - 여기 MQTT.fx에서 연결 프로필을 설정해야 합니다.

    - 위 단계의 일부로 다운로드한 인증서를 연결합니다.

    다음은 내 경우에는 MQTT.fx 도구를 사용하여 MAC인 컴퓨터에서 설정을 테스트하는 방법을 보여주는 빠른 동영상입니다.



    설정을 완료하고 테스트를 마치면 아래 단계에 따라 인증을 Arduino Yun에 업로드하십시오.

    #11 AWS IoT 클라우드와 통신하도록 Arduino Yun 설정

    github에서 최신 버전의 Arduino Yun SDK를 다운로드하고 Arduino "Libraries" 폴더에 압축을 풉니다.

    https://github.com/aws/aws-iot-device-sdk-arduino-yun

    Arduino Yun을 처음 사용하는 경우

    의 설정 지침을 따르십시오.

    https://www.arduino.cc/en/Guide/ArduinoYun

    기본적으로 링크를 사용하여 Arduino Yun을 설정하여 홈 WiFi 네트워크에 연결하는 방법을 배우게 됩니다.

    그런 다음 프로세스 예제 스케치 Arduino IDE를 YUN에 로드합니다(파일->예제->브리지 -> 프로세스). 그러면 Yun이 인터넷에 액세스할 수 있는지 확인됩니다.

    아래 스크린샷과 같이 rootCA 파일, 개인 키 및 인증서를 certs 폴더에 넣습니다.


    다음으로 codebase_upload.sh를 수정합니다. 및 environment_setup.sh [your_boards_IP]를 보드의 IP 주소로, [your_boards_IP]를 암호로 바꾸십시오.

    터미널에서 다음 명령을 실행하여 .sh 파일에 대한 권한을 부여합니다. 이 작업은 약 5-10분이 소요됩니다. 이 작업은 인증서를 이동하고 Yun에 배포, python-openssl, pip, paho-mqtt를 설치합니다. 이것은 Yun의 AWS 클라우드와 통신하는 데 필요한 패키지입니다(이 경우에는 PlantSystem이라고도 함)

    $chmod 755 codebase_upload.sh$./codebase_upload.sh$chmod 755 environment_setup.sh$./environment_setup.sh 



    Linux/Windows에 설치하려면

    의 링크를 따르세요.

    https://github.com/aws/aws-iot-device-sdk-arduino-yun#installation


    이제 AWS CLI를 사용하는 다음 커플의 일부로 DynamoDB에 테이블을 생성하여 센서 데이터를 게시할 것입니다.

    #12 IAM 역할 생성 및 권한 부여

    기본적으로 다음 단계의 일부로 생성할 DynamoDB 센서 테이블에 데이터를 입력하려면 AWS에서 수신한 MQTT 메시지에 따라 작동할 IoT 규칙을 생성해야 합니다. 이를 위해서는 역할을 생성하고 권한을 부여해야 합니다. 필요한 권한

    json 파일 만들기 rolePolicy.json

    {"Version":"2012-10-17", "Statement":[{ "Sid":"", "Effect":"허용", "Principal":{ "Service":" iot.amazonaws.com" }, "액션":"sts:AssumeRole" }]} 

    역할을 생성하려면 터미널에서 다음 명령을 실행하십시오.

    aws iam create-role --role-name iot-actions-role --assume-role-policy-document 파일://./rolePolicy.json 

    다른 json 파일 만들기 policy.json

    { "버전":"2012-10-17", "문":[{ "효과":"허용", "작업":[ "dynamodb:*", "lambda:InvokeFunction"] , "리소스":["*"] }]} 


    그런 다음 create-policy를 호출하고 IAM 정책 문서를 지정합니다.

    aws iam create-policy --policy-name iot-actions-policy --policy-document 파일://./policy.json 

    마지막으로 다음을 사용하여 정책을 역할에 연결합니다. - policy-ARN을 이전 단계의 일부로 받은 ARN으로 수정합니다.

    aws iam attach-role-policy --role-name iot-actions-role --policy-arn "arn:aws:xxxxxxxxxxxxx:policy/iot-action-policy" 


    http://docs.aws.amazon.com/iot/latest/developerguide/config-and-test-rules.html

    #13 AWS 콘솔에서 DynamoDB의 테이블 설정

    이 단계의 일부로 AWS 콘솔에서 DynamoDB를 생성할 것입니다.

    테이블명 :plantSensor

    파티션 키 :키

    정렬 키 :타임스탬프

    또한 읽기 용량 단위와 쓰기 용량을 1로 설정하십시오.

    #14 PlantSensor 테이블에 데이터를 삽입하는 규칙 만들기

    json 파일 생성 - plantdatarule.json(여기서 아래 섹션의 roleArn 값을 수정하고 IAM->Roles->iot-action-role로 이동하여 arn을 가져옴)


    { "sql":"SELECT * FROM 'topic/plantdata'", "ruleDisabled":false, "actions":[{ "dynamoDB":{ "tableName":"plantSensor", "hashKeyField" :"키", "hashKeyValue":"${topic(2)}", "rangeKeyField":"timestamp", "rangeKeyValue":"${timestamp()}", "roleArn":"arn:aws:iam ::XXXXXXXXXXXX:role/iot-actions-role" } }]} 

    그런 다음 터미널에서 다음 명령을 실행하십시오.

    aws iot create-topic-rule --rule-name plantDataToDynamoDB --topic-rule-payload 파일://./plantdatarule.json 

    이제 AWS IoT 콘솔로 이동하면 아래 스크린샷과 같이 "PlantDataToDynamoDB"라는 규칙이 생성된 것을 볼 수 있습니다('' 아래 단계의 일부로 제공되는 이메일 전송 규칙 무시).

    MQTT.FX를 사용하여 생성된 테이블에 레코드가 생성되는지 확인하기 위해 빠른 테스트를 실행합니다.


    #15 Yun의 AWS IoT에 데이터를 게시하기 위해 Arduino 스케치 업로드

    여기에서 먼저

    의 github에서 ArduinoJSON 라이브러리를 다운로드하여 시작합니다.

    https://github.com/bblanchon/ArduinoJson

    이제 아래 코드 섹션에서 YunAWSIoTDynamoDB,ino 및 aws_iot_config.h 파일을 다운로드하여 Yun에 업로드하세요.

    직렬 모니터를 열면 DynamoDB에 게시된 온도, 조명 값 및 토양 수분 값을 볼 수 있습니다.

    AWS를 해본 적이 있다면 Lambda 함수를 설정하고 데이터 키네시스를 게시하여 모든 종류의 멋진 일을 할 수 있습니다...

    참고: 이것을 영구적으로 설정할 계획이라면 루프가 끝날 때 지연 시간을 늘려 추가 비용이 발생하지 않도록 DynamoDB에 게시하는 시간 간격을 늘리는 것을 잊지 마십시오. 가격 책정에 대한 자세한 내용은 https://aws.amazon.com/iot/pricing/

    을 참조하세요.


    #16 토양 수분 값이 임계값 아래로 떨어지면 수신 및 이메일을 보내는 AWS-IoT SNS 규칙 설정.

    기본적으로 이 단계에는 AWS IoT 규칙을 기반으로 하는 간단한 SNS 알림 기반 설정이 포함됩니다.

    IAM 콘솔의 이전 단계에서 생성한 AWS 역할(iot-action-role)에 다음 정책을 할당하여 시작합니다.

    -AmazonSNSR 역할

    -AmazonSNSFullAccess

    SNS 콘솔에서 완료되면 sendMail 이라는 주제를 만듭니다. 그리고 구독을 만들고 토양 수분 값이 낮을 때 알림을 받도록 전화에서 이메일 구성을 제공하십시오.

    이제 AWS IoT 콘솔로 돌아가서 +Create Resource 버튼을 사용하여 Email Send라는 규칙을 생성하고 다음 정보를 제공합니다.

    <울>
  • 이름 :EmailSend
  • 속성:mositValue(Arduino 코드에서 주제의 일부로 게시하는 json 값과 일치해야 함)
  • 주제 필터:topic/plantdata
  • Condition :as moistval <250(튜토리얼의 처음 몇 단계에서 결정한 값임)
  • 작업 선택 :푸시 알림 SNS로 메시지 보내기
  • SNS 대상 :sendEmail
  • 역할:iot-action-role
  • 완료되면 콘솔이 아래 스크린샷과 같아야 합니다.

    다음은 물 한 컵에서 토양 수분 센서를 제거했을 때 받은 샘플 이메일입니다.




    AWS-SNS에 대해 자세히 알아보려면

    https://aws.amazon.com/sns/faqs/

    #15 3D 프린팅된 부품을 함께 모아 냄비에 추가합니다.

    검은 흙 포커 3D 인쇄 부품을 Arduino Yun의 베이스 부품에 부착하려면 4x40 나사와 너트가 필요합니다.

    상단 부분은 딱 맞습니다. 여기에서 상단 개구부가 창 쪽으로 향하게 하고 냄비에 흙 수분을 찔러야 한다는 것을 기억하십시오. 그리고 벽 콘센트에 마이크로 USB 케이블 플러그를 사용하여 Yun의 전원을 켭니다.

    참고로 저는 여전히 AWS의 멋진 세계를 탐색하고 배우고 있으며 AWS 콘솔의 기능에 감탄하고 있습니다. 따라서 AWS를 꽤 오랫동안 사용해 왔다면 의견이나 제안을 게시해 주십시오. 플랜트 모니터링 프로젝트에 적용할 수 있습니다.감사합니다..


    <섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">

    코드

    <울>
  • 흙수분값
  • ArduinoYunDweetio
  • ArduinoYunAWSIoTDynamodb
  • aws_iot_config.h
  • SoilMoistureValueArduino
    집 식물에 대한 이상적인 토양 수분 값을 결정하기 위한 Arduino 스케치
    //@CarmelitoA -토양 수분 값을 결정하는 집 식물 모니터링 프로젝트 const int 습기Pin =A1; // Grove Shieldconst의 A1에 연결된 Grove 수분 센서 int ledPin =2;int 습기 값 =0;int tooDryValue =250;//이 값을 설정() {Serial.begin(9600); pinMode(ledPin,OUTPUT);digitalWrite(ledPin,LOW);}void 루프() {moisturValue =analogRead(moisturePin);Serial.print("수분 센서 =");Serial.println(moisturValue); //건조 모래로 값을 확인한 다음 젖은 Sandif(moisturValue  
    ArduinoYunDweetioArduino
    Arduino Yun을 사용하여 dweet.io에 센서 데이터 게시
    //House Plant Monitoring 프로젝트를 위해 @CarmelitoA가 작성 - dweet.io에 데이터 업로드. (CC BY-SA https://creativecommons.org/licenses/by-sa/4.0/)#include #include #define SITE_URL "www.dweet.io#include <수학 .h> //온도 계산을 위해 추가됨const int 습기핀 =A1; // Grove Shieldconst의 A1에 연결된 Grove 수분 센서 int ledPin =2; //LED 표시기int 습기 값 =0; // sensorconst에서 오는 값을 저장할 변수 int tooDryValue =500; //토양에 얼마나 많은 수분이 있어야 하는지에 대한 테스트를 기반으로 이 값을 변경합니다. 이 값보다 적으면 LED가 켜집니다. 이는 식물에 물을 주어야 함을 의미합니다. tooLowTemp =20; //CHANGE, 집 식물의 유형에 따른 온도 C. 온도가 값보다 낮으면 LED가 빨간색으로 변합니다. // 온도 센서 defsconst int B=4275; // thermistorconst의 B 값 int R0 =100000; // R0 =100kconst int pinTempSensor =A0; // Grove - A5에 온도 센서 연결//Light Sensorconst int lightPin =A2; 서명되지 않은 long lastConnectionTime =0; const unsigned long postingInterval =10L * 1000L;void setup(){ Bridge.begin(); Serial.begin(9600); 핀모드(LED핀, 출력); 디지털 쓰기(LED핀,낮음); Serial.begin(9600); 동안 (! 직렬); // 직렬 연결 대기 - 배포 후 비활성화}void loop(){ YunClient c;if (millis() - lastConnectionTime> postingInterval) { 습기 값 =analogRead(moisturePin); Serial.print("센서 =" ); Serial.println(수분값); //건조 모래와 젖은 모래의 값을 확인합니다. //하강 C의 온도 계산 int a =analogRead(pinTempSensor); float R =1023.0/((float)a)-1.0; R =100000.0*R; float 온도=1.0/(log(R/100000.0)/B+1/298.15)-273.15; // 데이터 시트를 통해 온도로 변환; Serial.print("온도 ="); Serial.println(온도); // 조명 값 계산 int lightValue =analogRead(lightPin); Serial.print("빛 값 ="); Serial.println(lightValue); //센서 값이 tooDryValue 또는 tooLowTemp보다 크면 LED 켜기 if(moisturValue  
    ArduinoYunAWSIoTDynamodbArduino
    센서 데이터를 AWS -DynamoDB에 게시하려면 aws_iot_config.h를 Arduino IDE의 새 탭으로 추가해야 합니다.
    //Created by @CarmelitoA 01-16-2016 for House Plant Monitoring project. 자유롭게 리믹스 및 수정#include #include #include "aws_iot_config.h#include char data[80];StaticJsonBuffer<200> jsonBuffer;//#define SITE_URL "www.dweet.io" //YunClient.h를 이 예제와 결합하여 dweet에 게시하여 충돌을 일으키는 경우 ArduinoYunDweetio.ino#include 를 참조하십시오. //온도 계산을 위해 추가됨const int 습기Pin =A1; // Grove Shieldconst의 A1에 연결된 Grove 수분 센서 const int ledPin =2;int 습기 값 =0; // sensorconst에서 오는 값을 저장할 변수 int tooDryValue =250; //토양에 얼마나 많은 수분이 있어야 하는지에 대한 테스트를 기반으로 이 값을 변경합니다. 이 값보다 적으면 LED가 켜집니다. 이는 식물에 물을 주어야 함을 의미합니다. tooLowTemp =20; //CHANGE, 집 식물의 유형에 따른 온도 C. 온도가 값보다 낮으면 LED가 빨간색으로 변합니다. // 온도 센서 defsconst int B=4275; // thermistorconst의 B 값 int R0 =100000; // R0 =100kconst int pinTempSensor =A0; // Grove - A5에 온도 센서 연결//Light Sensorconst int lightPin =A2; 서명되지 않은 long lastConnectionTime =0; const unsigned long postingInterval =10L * 1000L; //게시 간격을 늘리려면 이 값을 변경합니다.aws_iot_mqtt_client myClient; // iot_mqtt_clientchar msg[32] 초기화; // 읽기-쓰기 버퍼int cnt =0; // 루프 countsint rc =-100; // 반환 값 placeholderbool success_connect =false; // 연결 여부 // message를 출력하는 기본 콜백 함수void msg_callback(char* src, int len) { Serial.println("CALLBACK:"); 정수 나; for(i =0; i  
    aws_iot_config.hArduino
    Add as a new tab in the Arduino IDE
    /* * Copyright 2010-2015 Amazon.com, Inc. or its affiliates. 판권 소유. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. *///@carmelitoA modified the value for the plant monitoring project#ifndef config_usr_h#define config_usr_h// Copy and paste your configuration into this file//===============================================================#define AWS_IOT_MQTT_HOST "XXXXXXXXXXX.iot.us-west-2.amazonaws.com" // your endpoint#define AWS_IOT_MQTT_PORT 8883 // your port#define AWS_IOT_CLIENT_ID "clientYun2" // your client ID#define AWS_IOT_MY_THING_NAME "PlantSystem" // your thing name#define AWS_IOT_ROOT_CA_FILENAME "rootCA.pem" // your root-CA filename#define AWS_IOT_CERTIFICATE_FILENAME "cert.pem" // your certificate filename#define AWS_IOT_PRIVATE_KEY_FILENAME "privateKey.pem" // your private key filename//===============================================================// SDK config, DO NOT modify it#define AWS_IOT_PATH_PREFIX "./certs/"#define AWS_IOT_ROOT_CA_PATH AWS_IOT_PATH_PREFIX AWS_IOT_ROOT_CA_FILENAME // use this in config call#define AWS_IOT_CERTIFICATE_PATH AWS_IOT_PATH_PREFIX AWS_IOT_CERTIFICA TE_FILENAME // use this in config call#define AWS_IOT_PRIVATE_KEY_PATH AWS_IOT_PATH_PREFIX AWS_IOT_PRIVATE_KEY_FILENAME // use this in config call#endif

    맞춤형 부품 및 인클로저

    회로도

    Connect the sensors to the Grove starter kit that is
    - Temperature sensor to A0
    - Soil Moisture sensor to A1
    - Light sensor to A2

    In addition, using a 220 Ohms resistor connect an LED to pin#2. Connect the
    Temperature sensor to A0
    Soil Moisture sensor to A1
    Light sensor to A2
    And using a 220 Ohms resistor connect an LED to pin#2

    제조공정

    1. C# 사용
    2. Raspberry Pi를 사용한 원격 날씨 모니터링
    3. 동작 제어 AWS IoT 버튼
    4. 탱크 모니터링 IoT 기술을 사용하여 더 스마트한 작업을 구축하는 방법
    5. 이중 목적 IoT 산림 관리 시스템
    6. IoT 기반 원격 오일 및 디젤 탱크 모니터링 시스템
    7. IoT 기반 차량 중량 모니터링 시스템의 8가지 이점
    8. O&G 산업에서 IoT 기반 자산 모니터링 사용의 중요성
    9. 작은 IoT로 우유 저장량 향상:우유 레벨 모니터링 시스템
    10. 효율적인 물 관리를 위한 IoT 기반 하천 수위 모니터링 시스템 사용