O objetivo deste projeto era desenvolver um sensor em miniatura comparável em tamanho aos sensores de temperatura sem fio convencionais, mas ao mesmo tempo obtendo saída de dados no próprio dispositivo. E sob todas essas condições, o dispositivo funcionaria com uma bateria pequena por muito tempo. O que resultou disso, avalie e não economize nos comentários.
O sensor funciona em chips nRF52, para este projeto foi escolhido um módulo da MINEW. O módulo é pequeno, tem 18 pinos, sendo 13 gpio, duas opções de antena, impressa e cerâmica, além de várias opções de chip no módulo, nRF52810 e nRF52832, e após uma breve conversa com a administração da empresa, colocaram chips nRF52811 nesses módulos sem questionar ... A propósito, comprei meus primeiros 811s e, além disso, a um preço uma vez e meia menor do que eu poderia comprar apenas chips de fornecedores na Rússia, mas isso é outra história. O módulo possui uma variante do circuito DC-DC e um relógio de quartzo. Dimensões do módulo 12 mm x 15 mm. Existe uma tela de metal.

Na linha de visores e-ink, a escolha recaiu naturalmente sobre um modelo relativamente novo com tela de 1,02 polegadas. O custo de uma polegada de tinta eletrônica era de 500 rublos, o que parecia aceitável para mim. Pequenas dificuldades com o desenvolvimento da placa para este monitor foram causadas por seu conector, um FPC de 30 pinos com passo de 0,5 mm. A largura do conector FPC é muito maior do que a largura da própria tela, o que causou um inconveniente de design. Mas era mais fácil com a fixação da tela, é mais simples do que em outros modelos ( ficha GDEW0102T4 ).

A partir de uma variedade de sensores digitais de temperatura e umidade, decidi ficar no sensor sht20, eu estava farto deles, simples, bom preço, tamanho conveniente. Além disso, uma das vantagens pode ser chamada de que em vez de sht20, se desejado, é fácil instalar sht21, si7020, si7021, htu20d, htu21d e hdc1080, mas a última opção não é muito boa;).
Duas placas foram projetadas para o sensor, uma para a tela e sua amarração, a segunda para um módulo de rádio, um sensor de temperatura e umidade e uma bateria. Os principais parâmetros para tamanhos de placa eram tamanhos de tela e bateria. Na placa com a tela, havia furos para parafusos (1,4 x 3) para fixação da placa ao gabinete, na segunda placa foram feitos recortes para facilitar a instalação dos parafusos. Já que este é um dispositivo DIY, eu poderia colocar uma bateria CR2450 "saborosa". Bem, se um dia me parece que o aparelho é grosso, então poderei soldar o suporte para uma bateria CR2430. Como resultado, obtivemos duas placas medindo 36 mm por 26 mm.

O case foi desenhado em SolidWorks, os modelos das placas foram exportados do DipTrace no formato DXF, que já foram convertidos em modelos 3D no SolidWorks. A caixa é composta por duas partes e um botão.As metades da caixa são fixadas entre si da mesma forma com parafusos (1,4 x 4) de um lado e um "gancho" saliente do outro lado. Existem dois orifícios para circulação de ar para o sensor de temperatura e umidade.

Neste projeto, o corpo foi impresso em uma impressora FDM, é claro, a qualidade de impressão é menor do que em uma impressora SLA, mas em termos de resistência, os produtos feitos de resinas líquidas são muito inferiores aos produtos feitos de filamentos e, devido às peculiaridades do corpo, a resistência foi importante. Então me preparei mentalmente para lixar e polir. Em princípio, acabou muito bem.

Foi mais ou menos assim que ocorreu o desenvolvimento do hardware, tentei descrever todas as etapas e algumas nuances, se pareceu demorado, então não foi, o software na verdade era trabalhoso. Como antes, faço meus projetos em MySensors, embora confesse que não estou mais com o mesmo entusiasmo de antes. Em alguns momentos comecei a me conter, algumas coisas estão faltando, outras são simplesmente impossíveis. No momento, vejo Open Thread como uma alternativa para mim, pelo menos me parece bastante atraente.
Diagrama de dispositivo


Como resultado, eles conseguiram implementar todos os seus requisitos de funcionalidade. O dispositivo pode funcionar com o controlador UD, assim como o dispositivo pode funcionar diretamente com qualquer dispositivo na rede MySensor. A vinculação de dispositivos para troca direta pode ocorrer tanto por meio da configuração dos dispositivos por meio do controlador UD, por meio de comandos externos, quanto sem a participação do controlador UD, bastando pressionar um botão para ativar o modo de vinculação. O sensor de temperatura e outro dispositivo ao qual o sensor está vinculado podem normalmente suportar a troca, mesmo sem um gateway MySensors ou um controlador UD funcionando, o que certamente aumenta a tolerância a falhas. Um problema separado foi com os drivers de vídeo eink, provavelmente porque a tela é relativamente nova,no site do fabricante e no site do WaveShare (que oferece telas eink Good Display sob sua própria marca), as implementações da biblioteca são bastante cruas. Eu tive que refazer algo, adicionar algo.
O sensor possui suporte para vários idiomas, inversão de cores por um comando externo no modo de configuração do dispositivo, várias opções de fontes também alteráveis por um comando externo no modo de configuração do dispositivo. O sensor exibe leituras de temperatura e umidade, energia da bateria e intensidade do sinal. O intervalo para medição de temperatura e umidade, o intervalo para medição do nível da bateria também pode ser definido por um comando externo. Para temperatura e umidade em minutos, para nível de bateria em horas. O sensor transmite os seguintes dados ao UD: temperatura, umidade, nível de carga em%, tensão, nível de sinal, motivo para reinicialização.

Você pode ver como fica em um pequeno vídeo:
Timestamps de momentos interessantes:
3.10 - Configurando (mudança de fonte, inversão de cores)
5.10 - Medição de consumo, trabalho WTD
Se alguém se interessar pelos meus desenvolvimentos, depois de ler o artigo eu recomendo ir ao canal e se inscrever, lá eu publico informações sobre os novos desenvolvimentos antes de tudo ...
No modo de hibernação, o sensor consome 2μA, o WTD é redefinido a cada 5 segundos, o consumo no momento da redefinição é 4-5μA. No modo de operação com tela e sensor de temperatura e umidade de 2-3mA, em modo de transmissão de 5-8mA, tal faixa de 3mA se deve ao fato de que o próprio sensor regula a potência de transmissão com base nos dados de nível de sinal.
Sob as fotos de spoiler do sensor
Por isso gostaria de me despedir, se você está interessado em tudo relacionado a DIY, você é um desenvolvedor DIY ou apenas quer começar, você está interessado em usar dispositivos DIY, convido todos os interessados em telegrama de chat - DIYDEV
Quem quiser fazer dispositivos, comece a construir automação de sua casa, proponho-me a conhecer protocolo fácil de aprender Mysensors - telegrama chat MySensors
E para quem procura soluções maduras para a domótica, convido-o para o telegrama de chat Open Thread .
Meu GitHub desse projeto , esquemático, arquivos gerber, maquetes 3D do case, bom, software .
Todo mundo é gentil como sempre!