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

OpenSensor의 공기질 측정 방법

Arduino와 Shinyei PPD-42를 사용하여 Open Data Institute의 공기질을 측정하는 방법.

소개

따라서 Opensensors 플랫폼에 대한 좋은 시연을 생각하는 동안 Opensensors 메시징 브로커에 지속적인 데이터 스트림을 게시하기 위해 센서를 연결하여 작업장이 얼마나 오염되었는지 확인하지 않겠습니까? 이를 위해 우리는 집어 들고 사용하기 쉬운 센서가 필요하며 Shinyei PPD-42로 결정했습니다. Linux PC(또는 Raspberry PI)에 연결된 arduino를 사용하여 대기 중 잠재적으로 위험한 작은 입자의 수를 측정하기 위해 이것을 사용할 것입니다.

이 미니 프로젝트를 실행하려면 다음이 필요합니다.

<울>
  • 신예 PPD-42
  • 아두이노 UNO
  • Linux가 설치된 컴퓨터(Raspberry PI 사용 가능)
  • 우리는 이 실행을 arduino 및 wifi 모듈과 함께 Shinyei PPD-42 센서를 사용하는 DustDuino라는 프로젝트를 기반으로 합니다. 여기에서 확인하세요. 센서를 설정하고 Arduino 코드를 작성할 때 이 프로젝트를 참조로 사용했습니다.

    먼저 센서를 Arduino에 연결하기 위한 지침의 2단계를 따릅니다. 그런 다음 원시를 선택하고 해당 페이지를 저장하여 DustDuinoSerial.ino 코드에 대한 링크를 열어 프로젝트 github 저장소에서 코드를 다운로드합니다.

    이것을 arduino IDE에서 열면 이제 Arduino를 연결하고 업로드를 눌러 Arduino UNO에 업로드합니다.

    아두이노 IDE의 시리얼 모니터를 이용하여 데이터가 들어오는 것을 확인할 수 있습니다.

    그런 다음 들어오는 직렬 메시지를 Opensensors 메시지 브로커로 보내는 방법을 알아내야 합니다.

    이를 위해 우리는 Python 스크립트를 작성하기로 결정했습니다. Mosquitto Python 모듈을 사용했습니다. Python은 대부분의 Linux 버전에 미리 패키징되어 있으므로 이미 설치되어 있다고 가정하겠습니다. 아직 설치하지 않았다면 pip를 설치하여 Mosquitto python 모듈을 다운로드하고 설정해야 합니다. Ubuntu 또는 Debian에서는 다음 명령을 사용하여 수행할 수 있습니다.

    sudo apt-get 설치 python-pip  

    pip가 설치되면 다음 명령을 사용하여 Mosquitto python 클라이언트 모듈을 설치할 수 있습니다.

    sudo pip install paho-mqtt  

    python 모듈 사용 방법은 위에 링크된 웹사이트를 통해 읽을 수 있습니다. python 작성 및 컴파일은 정말 쉽습니다.

    Hello Python 세계

    좋아하는 일반 텍스트 편집기를 엽니다. 줄 입력:

    "Hello World" 인쇄  

    hi.py로 저장합니다. 그런 다음 터미널에서 문서로 이동하여 다음 명령을 입력합니다.

    파이썬 하이파이  

    "Hello World" 응답이 표시되어야 합니다. 정말 쉽습니다.

    안녕하세요 Opensensors

    Mosquitto 클라이언트 파이썬 모듈을 사용하기 위해 다음 코드를 실행하여 게시를 테스트할 수 있습니다. 내 사용자 이름 "Louis"(음표 유지)와 비밀번호를 귀하의 세부정보로 바꿔야 합니다.

    Opensensors 메시지 브로커와 통신하는 데 필요한 모기 라이브러리:

    paho.mqtt.client를 mqtt로 가져오기  

    장치의 클라이언트 ID로 클라이언트 옵션을 초기화합니다.

    mqttc =mqtt.Client(client_id="939")  

    사용자 이름과 비밀번호 설정:

    mqttc.username_pw_set("루이스", 암호="AbcDEFgH")  

    Opensensors 서버에 연결:

    mqttc.connect("mqtt.opensensors.io")  

    인사 메시지 게시:

    mqttc.publish("/users/Louis/test2", payload="Hello Opensensors!", qos=0, 유지=False)  

    연결 해제:

    mqttc.disconnect();  

    성공했습니다. 이제 센서가 작동해야 합니다. 🙂

    다음으로 직렬 작업을 수행해야 합니다. arduino 직렬 포트가 어떻게 생겼는지 알아보기 위해 터미널에 다음 명령을 실행했습니다.

    dmesg | grep tty  

    출력은 이랬습니다...

    [ 0.000000] 콘솔 [tty0] 활성화됨[ 3522.192687] cdc_acm 7-1:1.0:ttyACM0:USB ACM 장치  

    두 번째 줄에는 Ardiuno에 대한 세부 정보가 있습니다. ttyACM0은 장치 이름이고 '/dev/ttyACM0'은 직렬 포트입니다.

    직렬 포트를 열고 읽는 것은 Python을 사용하면 정말 쉽습니다. 다음 코드를 사용하여 작동 여부를 확인하기 위해 약간의 테스트를 실행할 수 있습니다.

    Arduino와 통신하려면 직렬 라이브러리를 사용해야 합니다.

    import serialser =serial.Serial('/dev/ttyACM0') # 첫 번째 직렬 포트를 여는 동안 True:print ser.readline() # 직렬에서 읽은 각 줄을 인쇄합니다.  

    마지막으로 두 조각을 함께 해킹하면 됩니다. 사용한 코드는 다음과 같습니다.

    직렬 가져오기 paho.mqtt.client를 mqttimport timemqttc =mqtt.Client(client_id="939")mqttc.username_pw_set("Louis", password="AbcDEFgH")로 가져오기 mqttc.connect("mqtt.opensensors.io")ser =serial.Serial('/dev/ttyACM0') # True:message=ser.readline()print messagemqttc.publish("/users/Louis/인 동안 첫 번째 직렬 포트 열기 ODI/공기질", 페이로드=메시지, qos=0, 유지=False)time.sleep(1);  

    이를 실행하면 센서 데이터를 Opensensors에 게시했습니다!

    데이터를 JSON 형식으로 출력하도록 Arduino 코드를 조정하는 것이 좋습니다. 이렇게 하면 기능을 더 쉽게 읽고 추가할 수 있습니다.

    여기에서 저희가 만든 오픈 데이터를 생성하는 주제를 확인할 수 있습니다!

    코드

    직렬 가져오기 paho.mqtt.client를 mqttimport timemqttc =mqtt.Client(client_id="939")mqttc.username_pw_set("Louis", password="AbcDEFgH")mqttc.connect로 가져오기 ("opensensors.io")ser =serial.Serial('/dev/ttyACM0') # True:message=ser.readline()print messagemqttc.publish("/users/Louis/ODI/airquality" 동안 첫 번째 직렬 포트를 엽니다. 페이로드=메시지, qos=0, 유지=False)time.sleep(1); 

    출처:OpenSensors의 공기질 측정 방법


    제조공정

    1. 헬륨 공기 품질 센서
    2. 나쁜 공기가 건강에 미치는 영향
    3. 서미스터를 사용하는 것이 얼마나 쉬운가요?!
    4. 공기 압축기의 효율을 높이는 방법
    5. 솔더 마스크 두께 측정 방법
    6. IoT가 실내 AQMS 개발을 어떻게 촉진합니까?
    7. 에어 드라이어는 어떻게 작동합니까?
    8. 압축 공기의 오염 물질을 제거하는 방법
    9. 실리콘 팔찌를 사용하여 대기 질 측정
    10. 탄소 기반 공기질 센서