라즈파 + BME280으로 IoT 환경 센서 구축 (1)

개요


Raspberry Pi와스위치 과학 BME280 모듈를 사용하여 실외 기온, 습도, 기압을 감시하는 IoT 센서를 구축한다.Raspberry Pi에 WEB 서버를 넣으면 브라우저에서 차트화할 수 있습니다.스위치 과학이 샘플 코드를 공개해 유용했다.
※ 용접이 번거로워 바늘로 설치했습니다.
※ 라즈베리 파이는 모두 SSH에서 나온다.SSH는 연결 가능한 전제 조건입니다.
많은 사람들이 같은 기사를 썼는데, 이제야 비로소 비망록으로 느낀다.
실제로 반년 정도 사용해서 Pi3에서 Zero W로 교체한 후 절차를 적어 두었다.

라즈베리 파이에 BME280 연결


BME280은 BOSH의 센서 IC로 1개의 칩으로 온도, 습도, 기압을 측정할 수 있다.자세한 내용은 제조업체의 데이터 테이블을 확인하십시오.또한 센서 모듈의 회로도와 데이터 테이블은 스위치 과학의 WEB에서 다운로드할 수 있다.

1. 라즈베리 파이 연결


I2C이기 때문에 데이터(SDI)와 CLK(SCK), 전원(Vio), GND(GND)만 연결하면 되지만웹 페이지만 보면 I2C 주소를 설정하기 위해서는 SDO를 연결해야 한다.GND 받았어요.
I2C 주소 설정 방법
I2C 주소
GND에 SDO 단자를 연결하는 경우 0x76
SDO 단자를 Vio에 연결하면 0x77
하계.그 중 하나에 꼭 연결해 주세요.
태블릿에 SDO와 GND를 연결하고 4개를 라즈베리 파이에 연결합니다.사진에 배선이 보이지 않습니다.

기판의 횟수에 따라 PIN 설정이 다르기 때문에 낡은 블로그 등의 정보는 위험하다.
회로도 보면서 배선을 하는 것은 안전하다.

2. I2C 활성화


우선 필요한 창고에 넣으세요.
sudo apt update
sudo apt -y upgrade    (必要に応じて)
sudo apt install -y i2c-tools
하드웨어 설정 화면 표시
sudo raspi-config
설정 화면이 표시되므로 인터페이스 옵션(Enter)을 선택합니다.또한 OS 버전에 따라 메뉴 번호가 변경되므로 항목 이름에 따라 선택합니다.

I2C를 선택합니다.

사용 여부를 묻는 메시지가 표시되므로 예 를 선택합니다.

오래된 OS라면 자동 부팅하라는 질문을 받은 것 같지만 질문을 받지 않고 마음대로 자동으로 부팅할 수 있다.

처음 화면으로 돌아가서 Finish에서 끝납니다.
다시 시작합니다.

3. 동작 확인


SDO 단자를 GND에 연결한 후 다음 명령을 통해 0x76을 읽으면 됩니다.
sudo i2cdetect -y 1

4. 예제 코드 실행


smbus2를 설치합니다.
교환기 과학 라이브러리를 다운로드하고 준비하다.
sudo apt install -y python-smbus
sudo pip install smbus2

wget https://github.com/SWITCHSCIENCE/BME280/archive/master.zip
unzip master.zip
cd BME280-master/Python27
동작 확인.
sudo python ./bme280_sample.py

먼저 움직였지만 자동으로 실행될 때 루트 권한이 아닌 사용자 권한으로 실행해야 합니다.이를 위해서는 I2C를 이동하는 그룹에 사용자를 참여시키면 됩니다.
먼저 I2C의 장치 ID를 확인합니다.
sudo i2cdetect 1

y든 n이든 가능하니까 물러나세요./dev/i2c-1, 그룹 ID 확인
ls -la /dev/i2c-1

그룹 이름이 i2c라는 것을 알았기 때문에 사용자 pi를 i2c에 참가하게 합니다.
sudo usermod -aG i2c pi
그룹을 다시 시작하고 확인합니다.
groups

i2c만 있으면 돼요.다른 것은 사용 환경에 따라 다르다.
사용자 권한이 예시 코드를 실행할 수 있는지 검증되었습니다.
python bme280_sample.py

여기까지.
라즈파 + BME280으로 IoT 환경 센서 구축 (2) 웹 서버를 제작하여 브라우저에 표시할 수 있습니다.

참고 자료

  • 제39회 da 온도 습도 기압 합계! AE-BME280 IC2 통신
  • 좋은 웹페이지 즐겨찾기