
Ttgo paxcounter com sensor de poeira fino e bme280
wird aktuell überarbeitet für v.3 Stack CEwird aktuell überarbeitet für v.3 Stack CEHardware:
Componentes opcionais, dependendo da solicitação de localização e habitação:
Montagem / fiação
As tiras da caneta são soldadas na placa PAXCONTER e no sensor BME, dependendo da posição de instalação ou local de instalação, a tira de caneta na parte superior ou abaixo da placa está disponível. A antena de parafuso está instalada - aqui também você pode instalar um cabo prolongado, dependendo da estrutura do sensor. Em seguida, os dois sensores estão conectados ao PaxCounter da seguinte forma:
O sensor ambiental está conectado da seguinte forma:
VCC (VDC 3,3 Volt) wird mit Pin 3.3V angeschlossen ORANGE
GND (Ground) wird mit dem GND am Paxcounter verbunden GELB
SCL (i2c Bus) --> Pin 22 am Paxcounter (mit SCL oder 22 beschriftet) GRÜN
SDA (i2c Bus) --> Pin 21 am Paxcounter (mit SDA oder 21 beschriftet) BLAU
frei
frei
O sensor de poeira fino está conectado da seguinte forma:
TXD (Daten senden) wird mit Pin 23 am Paxcounter verbunden WEISS
RXD (Daten empfangen) wird mit Pin LoRa2 am Paxcounter verbunden SCHWARZ
GND (Ground) wird mit einem weiteren Pin GND am Paxcounter angeschlossen BRAUN
frei
VCC (VDC 5 Volt) kommt an den 5 Volt Pin (beschriftet mit 5V) ROT
frei
frei
Por favor, dê uma olhada nas fotos na pasta /img, para que você possa ver claramente a fiação novamente! Eu listei as cores de cabo usadas no exemplo para você no plano de fiação! Para uma espera estável do cabo de conexão na tira da caneta, recomendamos que os plugues simplesmente consertem os plugues com um pouco de cola quente. Então, por um tempo, você evita deslizar o cabo parcial de maneira bastante vaga. Na pasta de fotos, agora você também pode ver a montagem recomendada que eu documentei para você. Basicamente seguimos o projeto de Stuttgart, mas um pouco modificado
ThethingsNetwork --- wird aktuell überarbeitet für v.3 Stack CE na próxima etapa, preparamos nossa conta em thethingsnetwork.org-primeiro (a menos que já disponível), uma conta é criada. Um novo aplicativo é então criado. Além de um nome claro, apenas o manipulador TTN é inserido aqui como "TTN-Handler-UE".
Dentro deste aplicativo, criamos nosso dispositivo - então quase nosso sensor de poeira fino TTN. Para fazer isso, clicamos no "dispositivo de registro". Na próxima janela, concedemos um nome curto e único, por exemplo, "Fine Pust Sensor-01"-podemos gerar automaticamente o DeviceUi. Para fazer isso, clicamos na seta dupla em frente ao campo correspondente. Mais não é necessário neste momento, mais tarde você pode armazenar o local e dados semelhantes ao dispositivo, se desejar. Deixamos a janela do navegador com "Visão geral do dispositivo", será necessário mais tarde!
software
Para programação, usamos o código do Microsoft Visual Studio com a expansão do ID da plataforma. Primeiro, o código do Visual Studio é instalado, depois inserido e instalado em "Arquivo" e "Preferências", "Extensões" no campo Pesquisa Platformio IDE. Depois de reiniciar o software, nosso ambiente de programação está pronto.
Nota: Inúmeras instruções extensas na www descrevem a instalação e a configuração do código VS muito detalhado
Repositório do GitHub
Usamos o CybmerMan54 do GitHub como software básico há algum tempo. https://github.com/cyberman54/esp32-paxcounter/releases
NOTA IMPORTANTE: Como este repositório também foi revisado fortemente da versão 3.2, a conexão do sensor de poeira fina através da interface serial, conforme descrito em nossas instruções, também não parece mais funcionar. Então faça o download da versão 3.1 para construir o sensor ambiental com base na placa TTGO Paxcouner !!!
O repositório é baixado e descompactado e aberto no código VS.
Mudanças e ajustes
(1) Na primeira etapa, o arquivo Platformio_orig.ini é renomeado ou copiado do diretório principal e depois renomeado plataformi.ini. Então a linha 10 é substituída neste arquivo ;halfile = generic.h . Neste arquivo também, a linha 19 é substituída para halfile = ttgov21new.h
(2) Na pasta/src/hal/o arquivo "ttgov21new.h" é ajustado da seguinte forma, o código a seguir é simplesmente inserido na linha 21:
// BME280 sensor on I2C bus
#define HAS_BME 1 // Enable BME sensors in general
#define HAS_BME280 GPIO_NUM_21, GPIO_NUM_22 // SDA, SCL
#define BME280_ADDR 0x76 // change to 0x77 depending on your wiring
// SDS011 dust sensor settings
#define HAS_SDS011 1 // use SDS011
// used pins on the ESP-side:
#define SDS_TX 12 // connect to RX on the SDS011
#define SDS_RX 35 // connect to TX on the SDS011
Basta copiar o código acima e inseri -lo no código VS no arquivo. O resultado pode ser visto na imagem.
(3) /src/ota_sample.conf: o arquivo é renomeado ou copiado para "ota.conf", no próprio arquivo que não precisamos fazer nenhuma alteração
(4) /src/loraconf_sample.h: renomeie ou copie em "Loraconf.h" na linha 38, 40 e 42 Insira o Deveui, Appeui e AppKey (como MSB). Para fazer isso, voltamos à janela do navegador com "Visão geral do dispositivo". Para colocar as teclas no formato do número correto, o símbolo <> da linha respectiva é clicado, a chave altera seu formato. Precisamos do formato MSB cada
Excursus: Ao programar, você certamente tropeçou nas abreviações "MSB" e "LSB". Você pode descobrir quais são as abreviações nesta dica prática. Valor de bit: MSB & LSB simplesmente explica que o amargo é determinar a importância de cada bits. Por exemplo, isso é importante para transmissões em série.
- O LSB significa "bit menos significativo". Se uma sequência de bits for numerada de acordo com o número LSB-0 bits, o bit com o índice 0 é o status mais baixo.
- O MSB significa "Bit mais significativo". Com a numeração MSB-0 bits, o bit com o índice 0 tem a maior importância. Se com um número binário com posições 0, 1, ..., n-1 o bit com o índice 0 tiver a maior importância, seu valor deve ser multiplicado por 2 (n-1).
No final da respectiva linha com a tecla Você pode copiar toda a parte para a área de transferência, de volta ao código VS, as três teclas são copiadas nas linhas correspondentes uma após a outra - as teclas de amostra especificadas são simplesmente substituídas. Aqui também, criei uma imagem para você ilustrar.
(5) O arquivo /.pio/libdepsusb/sds011 Library/sds011.cpp está sendo processado:
Este código vem do Cyberman54/ESP32-paxCounter#597 (Comentário) e descreve o "Comando de Trabalho"
O texto é inserido na linha 35:
static const byte WORKCMD[19] = {
0xAA, // head
0xB4, // command id
0x06, // data byte 1
0x01, // data byte 2 (set mode)
0x01, // data byte 3 (work)
0x00, // data byte 4
0x00, // data byte 5
0x00, // data byte 6
0x00, // data byte 7
0x00, // data byte 8
0x00, // data byte 9
0x00, // data byte 10
0x00, // data byte 11
0x00, // data byte 12
0x00, // data byte 13
0xFF, // data byte 14 (device id byte 1)
0xFF, // data byte 15 (device id byte 2)
0x06, // checksum
0xAB // tail
};
Além disso, temos que mudar a linha 113 em:
void SDS011::wakeup() {
// sds_data->write(0x01);
// sds_data->flush();
for (uint8_t i = 0; i < 19; i++) {
sds_data->write(WORKCMD[i]);
}
sds_data->flush();
while (sds_data->available() > 0) {
sds_data->read();
}
}
Atualmente, o decodificador e o conversor -está wird aktuell überarbeitet für v.3 Stack CE no final das alterações do software, ainda obteremos o conteúdo desse arquivo do seguinte via copy & colar /src/packed_converter.js -> conversor e volte para a janela do navegador. Nas propriedades do aplicativo TTN, acessamos a guia "Formato Payoad" e selecione o conversor lá para inserção. Se já houver texto na janela, ele é simplesmente completamente excluído e o texto do arquivo OG será inserido lá.
Em seguida, obtemos o decodificador do arquivo vs Código e copiá -lo como no campo "Payoad Format -> Decoder" ainda é um pequeno e manual mudanças manuais:
Adicione o seguinte na linha 37 (formatos de payoad -> decodificador):
// combined wifi + ble + SDS011
if (bytes.length === 8) {
return decode(bytes, [uint16, uint16, uint16, uint16], ['wifi', 'ble', 'PM10', 'PM25']);
}
Um breve teste no console traz segurança que o decodificador funciona: insira 16x 0 no campo para Payoad, coloque a porta em 1 e clique em "Teste" e clique em "Salvar função Payoad".
Compilar e fazer upload
Como última etapa, apenas a compilação do programa no código VS é necessária, após o qual todo o programa é carregado no contador PAX via USB. O sensor é, portanto, conectado através de um cabo micro USB e ativado com o interruptor deslizante.
Na parte inferior da barra azul, o conteúdo desnecessário e o conteúdo e os arquivos de código são limpos automaticamente em "Limpe" (lixo clicado de símbolo).
Em seguida, clique no símbolo com o gancho "construído" na barra azul na parte inferior - pode levar um momento, mas deve ser fechado após alguns minutos o mais tardar.
Por fim, todo o código do programa é enviado ao sensor. Basta clicar na seta direita "Upload"; O programa é transferido e, em seguida, o sensor é reiniciado quando a transmissão foi concluída com sucesso.
Se você clicar no símbolo do conector "Monitor serial" na barra azul, poderá observar em um console o que o sensor está ativo e os valores medidos também são exibidos lá.
Para um teste de função direta no console do TTN, um gateway TTN é essencial ao alcance, caso contrário, o sensor enviará seus dados para a área circundante, mas não estará em lugar algum para ser recebido e processado.
--- wird aktuell überarbeitet für v.3 Stack CE em paralelo para abrir o aplicativo TTN no navegador, selecione o dispositivo e clique no campo "Dados" no canto superior direito. Após um curto período de tempo, os dados também devem ser exibidos aqui que são transmitidos à ThethingSNetwork via Lora Funktechnik. Observe que, como os valores de poeira finos são transmitidos como a "eleição completa", os valores medidos exibidos no console TTN devem ser compartilhados por 10 !!! Parabéns, seu sensor de poeira fino Lora está pronto !!! Em dois outros capítulos, damos uma visão do que pode ser feito com os dados obtidos e como publicá -los nos cartões Opendata.
Outlook 1 - Nó -Red, InfluxDB e Grafana O texto segue aqui
Outlook 2 - Cartões OpenData, Air Data e OpenSenseMapa O texto segue aqui