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

MKR FOX 1200 기상 모니터

구성품 및 소모품

Arduino MKR Fox 1200
× 1
SparkFun 대기 센서 브레이크아웃 - BME280
× 1
TSL2561 디지털 광도 센서
× 1
HTU 1D
× 1

앱 및 온라인 서비스

Arduino 웹 편집기
ThingSpeak API
Sigfox

이 프로젝트 정보

참고:이 튜토리얼은 오래되었을 수 있습니다. 여기 최신 버전의 경우

이 프로젝트는 MKR FOX 1200 회전 방법을 보여줍니다. 그리고 많은 I2C 센서를 배터리로 작동되는 간단한 기상 관측소에 통합합니다.

우리는 다음을 사용할 것입니다:

<울>
  • 온보드 온도 센서(낮은 정밀도, ± 1°C)
  • <울>
  • 습도를 파악하기 위한 HTU21D I2C 센서
  • <울>
  • 기압과 정확한 온도를 얻기 위한 Bosch BMP280
  • <울>
  • 조도를 얻기 위한 TSL2561 광 센서
  • 하드웨어 설정

    이 프로젝트의 하드웨어 연결은 매우 간단합니다. 모든 센서는 I2C 인터페이스를 사용하고 3.3V에서 실행됩니다.

    MKR FOX 1200에서 4개의 와이어가 필요합니다. GND, 3.3V, 핀 11의 SDA, 핀 12의 SCL 관련 라이브러리 및 기능이 각각을 구별합니다.

    전체 프로젝트는 직렬로 연결된 2개의 AA 또는 AAA 알카라인 배터리로 전원을 공급하여 3V를 생성하고 보드의 나사 연결 단자 블록에 배선할 수 있습니다.

    Sigfox 메시지

    Sigfox 네트워크는 하루에 최대 140개의 메시지를 보낼 수 있으므로 판독값을 최적화하고 압축 바이너리 형식으로 데이터를 보냅니다.

    보낼 수 있는 메시지의 최대 크기가 12바이트이기 때문에 데이터 패킹이 중요합니다. float는 4바이트를 차지하므로 판독값을 더 작은 표현으로 압축해야 합니다.

    float 형식은 매우 넓으며(3.402823e+38(!)만큼 큰 숫자를 나타낼 수 있음) 전체 데이터 공간이 필요하지 않습니다. 그런 다음 스테이션을 배치할 위치를 기반으로 안전한 한계를 결정하고 백엔드에서 원래 표현을 복원할 수 있습니다.

    클라우드 서비스 구성

    두 가지 클라우드 서비스를 사용할 것입니다.

    <울>
  • Sigfox 백엔드
  • <울>
  • Thingspeak
  • FirstConfiguration 예제에서 제공한 PAC 및 ID를 사용하여 Sigfox 백엔드에 보드를 등록합니다(이전 프로젝트에서 이미 등록한 경우 건너뛸 수 있음).

    둘 다 서로 통신하고 올바른 형식으로 데이터를 해석하도록 구성해야 합니다. 둘 다에 등록하고 몇 개의 채널 을 만드십시오. 씽스피크에서. 구성은 아래 이미지에 보고되어 있습니다.

    구성한 첫 번째 채널은 원시 데이터(readChannelID ), 두 번째 데이터는 크기 조정된 데이터를 수집합니다(writeChannelID ).

    이제 Arduino Create Editor를 사용하여 스케치를 업로드할 차례입니다. 기본 스케치를 사용하면 현장에 배포하기 전에 모든 인프라를 광범위하게 테스트할 수 있습니다.

    선언하는 것을 잊지 마십시오:

    oneshot =거짓 

    모든 백엔드 인프라 설정이 정확하다고 확신할 때. 스케치는 직렬 포트를 기다리므로 지금 실행하지 않습니다. 대신 SigFox 백엔드를 열고 콜백을 구성하십시오.

    기기 유형을 클릭합니다. -> 목록 -> 보드를 마우스 오른쪽 버튼으로 클릭하고 수정을 클릭합니다.

    콜백을 클릭합니다. 왼쪽 메뉴에서:

    다음과 같은 창이 표시됩니다.

    새로 만들기를 클릭합니다. 창의 오른쪽 상단에 있는 버튼:

    맞춤 콜백: 선택

    관련 구성은 아래에 보고됩니다. 콜백이 다음과 같이 설정되어 있는지 확인하십시오.

    <울>
  • 유형:데이터/업링크
  • <울>
  • 채널:URL
  • <울>
  • Http 메소드:GET
  • 사용자 정의 페이로드로 설정:

    status::uint:8 temp1::int:16:little-endian temp2::int:16:little-endian press::uint:16:little-endian 험::uint:16:little -endian light::uint:16:little-endian lastMsg::uint:8  

    이것은 스케치에서 포장한 구조를 나타냅니다. HTTP 콜백에서 참조할 수 있도록 각 필드에 변수를 할당하고 있습니다.

    URL 패턴으로 설정:

    https://api.thingspeak.com/update?api_key=XXXXXXXXXXXX&field1={customData#temp1}&field2={customData#press}&field3={customData#temp2}&field4={customData#hum}&field5={customData#light}&field6={customData#status}&field7={customData#lastMsg}  

    구성이 완료되면 창은 다음과 같아야 합니다.

    API 키 api_key를 변경해야 합니다. Thingspeak에서 Write API Key로 제공한 것으로 채널1용 .

    저장하고 종료. 이제 직렬 포트를 열고 전송되는 첫 번째 메시지를 관찰할 수 있습니다. 만세!

    원시에서 그래픽으로

    구성한 설정은 데이터를 Thingspeak 백엔드로 라우팅하지만 여전히 원시 형식입니다. 다시 변환하려면 이 스니펫과 함께 Thingspeak 분석 도구를 사용하겠습니다.

    % TODO - 다음에서 데이터를 읽을 채널 ID로 []를 대체합니다. readChannelID =[]; % TODO - 아래 '' 사이에 읽기 API 키를 입력하십시오. readAPIKey ='T6UK7XO6A4H2AGT7'; % TODO - 데이터를 쓰기 위해 []를 채널 ID로 바꿉니다. writeChannelID =[]; % TODO - 아래 '' 사이에 쓰기 API 키를 입력하세요. writeAPIKey ='XU4TGY261P6B5USN'; %% 데이터 읽기 %% 데이터 =thingSpeakRead(readChannelID, 'ReadKey', readAPIKey, 'OutputFormat','table'); 분석 데이터 =데이터; %% 데이터 분석 %% INT16_t_MAX =32767; UINT16_t_MAX =65536; 분석 데이터.('온도1') =데이터.('온도1') / INT16_t_MAX * 120; 분석 데이터.('온도2') =데이터.('온도2') / INT16_t_MAX * 120; 분석 데이터.('압력') =데이터.('압력') / UINT16_t_MAX * 200000; 분석 데이터.('빛') =데이터.('빛') / UINT16_t_MAX * 100000; analysisData.('습도') =data.('습도') / UINT16_t_MAX * 110; %% 쓰기 데이터 %% thingSpeakWrite(writeChannelID, 분석 데이터, 'WriteKey', writeAPIKey); %% 일정 작업:반응 -> 10분마다 

    채널 ID 교체 우리는 마침내 원시 데이터를 실제 값으로 다시 변환할 수 있습니다. React를 사용하여 10분마다 분석 작업을 예약하는 것을 잊지 마십시오. 그렇지 않으면 실행되지 않습니다!

    드디어 멋진 그래프가 생겼습니다.

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

    코드

    날씨 모니터

    제조공정

    1. 라즈베리 파이 기상 관측소
    2. 날씨 모니터
    3. Arduino를 사용하여 모니터 Ambilight 만들기
    4. K30 센서로 CO2 모니터링
    5. IoT를 사용한 심박수 모니터
    6. Arduino + ESP Weather Box
    7. 키는 얼마입니까?
    8. Arduino 또는 ESP8266이 있는 정전 용량 지문 센서
    9. Arduino 클라우드 센서 타워
    10. 샤프 GP2Y1010AU0F 센서가 있는 DIY 공기질 모니터