Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
Tenho brincado com os dispositivos IOT nos últimos meses e implantei cerca de 10 sensores diferentes para monitorar as condições em minha casa e chalé. E eu tinha originalmente começado a usar o sensor de umidade temperada AOSONG DHT22, mas descobri que depois de alguns meses os valores do sensor de umidade estavam errados. Eu estaria olhando para a umidade e mostraria 40% ou mais acima das condições reais. Então, olhei em volta e descobri que o sensor Bosch BME280 de temperatura / pressão / umidade tinha uma reputação muito boa quanto à precisão (https://www.kandrsmith.org/RJS/Misc/Hygrometers/ca …). Portanto, neste instrutível conectaremos um Bosch BME280 ao Raspberry PI Modelo 2 e disponibilizaremos as informações para o Apple HomeKit via Homebridge.
Etapa 1: Colete as peças de que você precisa
Para peças, vá até sua loja de peças favorita e compre.
-
1PCS GY-BME280 3.3 módulo sensor de pressão atmosférica de altímetro de precisão BME280
Existem inúmeras variações de breakout board por aí. O circuito que uso foi baseado na placa de breakout GY-BME / P280, mas funcionaria com outras também
- 50cm 5 pinos fêmea para cabo conector DuPont fêmea
Eu já tinha o RaspberryPI, então não precisei comprá-lo.
Para um case para o BME280, usei um porta-cartões de memória SD antigo que estava à mão. Você pode querer olhar ao redor e ver o que pode encontrar que seja semelhante.
Etapa 2: Fiação do sensor
Para conectar o sensor, usaremos uma extremidade do cabo duplo fêmea / fêmea de 5 pinos para conectar ao RaspberryPI e a outra extremidade ao sensor. Isso exigirá solda;-)
- Corte o cabo duplo fêmea / fêmea de 5 pinos aproximadamente pela metade e usaremos uma extremidade para a conexão com o sensor. A outra extremidade é sobressalente e pode ser usada como um segundo sensor.
- Apare as pontas cortadas do fio em cerca de 3 mm e estanhe as pontas.
- Seguindo o esquema em anexo, solde as extremidades do fio nas conexões apropriadas no BME280.
- Conector Dupont (RPI) Pino 1 (3,3 VCC) se conecta ao Pino 1 - (VCC) no sensor
- O pino 2 do conector Dupont (RPI) (SDA1) se conecta ao pino 4 - (SDA) no sensor
- Conector Dupont (RPI) Pino 3 (SCL1) se conecta ao Pino 4 - (SCL) no sensor
- O pino 4 do conector Dupont (RPI) (GPIO4) não é usado e o fio deve ser aparado na extremidade do conector Dupont.
- Conector Dupont (RPI) O pino 5 (GND) se conecta ao pino 4 - (GND) no sensor
Os pinos 5 (CSB) e 6 (SDO) não são usados na extremidade do sensor
Etapa 3: conecte o sensor ao RaspberryPI
Para conectar o sensor ao RaspberryPI, desligue o PI. E conecte o conector dupont ao conector GPIO de 40 pinos, alinhando os pinos da seguinte forma. Isso corresponderá ao lado esquerdo do cabeçalho de 40 pinos, começando no topo.
1. Conectando o sensor
- O pino 1 do conector Dupont (3,3 VCC) se conecta ao pino 1 do RPI
- O pino 2 do conector Dupont (SDA1) se conecta ao pino 3 do RPI
- O pino 3 do conector Dupont (SCL1) se conecta ao pino 5 do RPI
- O pino 4 do conector Dupont (GPIO4) se conecta ao pino 7 do RPI
- O pino 5 do conector Dupont (GND) se conecta ao pino 9 do RPI
2. Ligue o RaspberryPI
Etapa 4: configurar o RaspberryPI para se conectar ao sensor
Para essas etapas, precisamos ter o RaspberryPI ligado e você precisa fazer o login.
1. Veja se você pode ver o sensor através do barramento i2c
sudo i2cdetect -y 1
E a saída deve ser semelhante a esta, a parte importante dessa saída é o 76 na linha 70:. Este é o seu sensor
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- 76 --
No caso de você obter um comando não encontrado ou outros erros, siga as etapas aqui.
Adafruit - Configurando I2C
Para todos os meus RaspberryPI, precisei seguir estas etapas.
2. Adicione permissões à conta da qual você executará o homebridge para conectar-se ao barramento i2c no RaspberryPI. Faça isso como o usuário do qual você executará o homebridge.
sudo adduser $ USER i2c
Etapa 5: Instale o plug-in Homebridge-bme280
Vou presumir que você já tem o homebridge instalado e funcionando no RaspberryPI e, caso não tenha, há muitos guias na internet para colocá-lo em funcionamento no RaspberryPI.
1. Instale homebridge-bme280 com o comando
sudo npm install -g NorthernMan54 / homebridge-bme280 --unsafe-perm
Se isso falhar com este erro
npm ERR! código 128npm ERR! Falha no comando: / usr / bin / git clone -q git: //github.com/NorteMan54/homebridge-bme280.git /var/root/.npm/_cacache/tmp/git-clone-7237d51c npm ERR! fatal: não foi possível criar diretórios principais de '/var/root/.npm/_cacache/tmp/git-clone-7237d51c': Permissão negada npm ERR!
Tente isto
sudo su -
npm install -g NorthernMan54 / homebridge-bme280 --unsafe-perm
2. Crie seu arquivo config.json em ~ /.homebridge com o seguinte:
{
"Ponte": {
"nome": "Homebridge",
"nome de usuário": "CC: 22: 3D: E3: CE: 30", "porta": 51826,
"pin": "031-45-154"
},
"description": "Este é um exemplo de arquivo de configuração com um acessório falso e uma plataforma falsa. Você pode usar isso como um modelo para criar seu próprio arquivo de configuração contendo os dispositivos que você realmente possui.",
"acessórios": [
{
"acessório": "BME280",
"nome": "Sensor", "name_temperature": "Temperatura",
"name_humidity": "Umidade", "opções": {
"i2cBusNo": 1, "i2cAddress": "0x76"
}
}
], "plataformas": [
]
}
3. Inicie o homebridge, a saída deve ser semelhante a esta.
[2016-11-12, 6:25:29 AM] Plugin carregado: homebridge-bme280 [2016-11-12, 6:25:29] Registrando o acessório 'homebridge-bme280. BME280' [2016-11-12, 6:25:29 AM] --- [2016-11-12, 6:25:30] Config.json carregado com 1 acessório e 0 plataformas. [2016-11-12, 6:25:30] --- [2016-11-12, 6:25:30] Carregando 0 plataformas… [2016-11-12, 6:25:30] Carregando 1 acessório… [2016-11-12, 6h25:30] [Sensor] Inicializando o acessório BME280… [2016-11-12, 6h25:30] [Sensor] Opções do sensor BME280: {"i2cBusNo": 1, "i2cAddress": 118} Encontrado ID de chip BME280 0x60 no barramento i2c-1 endereço 0x76 [2016-11-12, 6:25:31 AM] [Sensor] A inicialização BME280 foi bem-sucedida [2016-11-12, 6:25: 31 AM] [Sensor] data (temp) = {"temperature_C": 18,23, "umidade": 39,1710189421353, "pressure_hPa": 1016.8910377944043} Digitalize este código com seu aplicativo HomeKit em seu dispositivo iOS para emparelhar com Homebridge: ^
4. Emparelhe a instância do homebridge com o iPhone, se necessário.
5. Aproveite
Observe que o sensor de pressão barométrica só é visível em aplicativos de homekit de terceiros, e não em "Home", 6. Créditos
- Agradecimentos a Robert X. Seger pelo plugin homebridge-bme280.
- Agradecimentos a Skylar Stein pelo módulo de sensor node.js bme280
- Adafruit por publicar o guia de configuração I2C.