Construa um sistema de jardinagem automatizado com o Raspberry Pi Pico W

Construa um sistema de jardinagem automatizado com o Raspberry Pi Pico W

Com um polegar verde e um pouco de paciência, a jardinagem é um hobby adorável, independentemente de você ter algumas plantas exóticas dentro de casa ou ter um jardim externo completo com batatas e plantas perenes.

Com isso dito, também há momentos em que sua paciência pode acabar quando as plantas começam a morrer pelo que parece não ser um bom motivo.

O Raspberry Pi Pico W pode ajudar a fornecer uma solução para garantir que as plantas prosperem sem levantar um dedo (bem, quase).

Vamos revisar como um monitor de planta, algum código e um pequeno microcontrolador acompanharão a saúde de sua planta de qualquer lugar em sua casa.

Hardware Necessário

Surpreendentemente, não é necessário muito hardware. Grande parte da magia está contida no Plant Monitor. Você realmente só precisa de alguns itens para começar.

Embora este monitor de planta suporte o uso de clipes jacaré, este projeto utiliza os conectores de pinos fixados na parte traseira do dispositivo de monitoramento de planta.

Configurando o Assistente de jardinagem

Este projeto envolve conectar o monitor da planta ao seu Raspberry Pi Pico W, além de criar e manipular o código para que tudo funcione. Um servidor da Web será necessário para fornecer uma página da Web simples acessível em sua conexão doméstica com a Internet.

Existem diferentes versões de modelos do Raspberry Pi Pico. Para este projeto, você precisará usar um Raspberry Pi Pico W. Para saber do que o Pico W é capaz, confira nosso guia sobre o que é o Pico W e o que ele pode fazer.

Primeiro, vamos garantir que o monitor da planta esteja conectado e funcionando corretamente. Mais adiante neste artigo, você abordará a configuração de um servidor web simples usado para monitorar sua planta com qualquer dispositivo habilitado para navegador conectado à sua rede doméstica.

Preparando o Monitor da Planta

Com muitos sensores disponíveis para compra em vários sites da Internet, você aprenderá que alguns sensores de solo se desgastam facilmente no solo e outros resistem razoavelmente bem aos elementos. O Monk Makes Plant Monitor é uma boa opção, pois não é propenso a corrosão no solo. Este monitor não apenas mede a umidade do solo, mas também mede a umidade e a temperatura.

monitor de planta no solo que está conectado a um microcontrolador

Apenas quatro pinos precisarão ser conectados do monitor da planta ao seu Raspberry Pi Pico W:

  • GND vai para GND
  • 3V se conecta a 3V3 Out
  • RX_IN encontrará seu caminho para GP0
  • TX_OUT se encontrará com GP1

Uma vez conectado à energia, seu Raspberry Pi Pico W será capaz de fornecer energia a si mesmo e ao monitor da planta. Você notará algumas luzes no hardware que confirmam que o dispositivo está funcionando corretamente. Além disso, há uma luz LED que brilha em verde, amarelo ou vermelho (dependendo do nível de umidade detectado em seu solo).

Embora o Monk Makes Plant Monitor venha com alguns ótimos módulos python, você ainda precisará criar algum código simples para monitorar a saúde do solo de sua planta. Você pode pegar os seguintes arquivos python do nosso repositório MUO GitHub.

Você precisará de pmon.py e test.py para a parte de detecção de solo e os arquivos python microdot.py , mm_wlan.py e pico_w_server.py serão usados ​​para concluir o servidor web simples posteriormente.

Agora é um ótimo momento para fazer uma pausa e se atualizar com as diferenças sutis entre o MicroPython e o Python, caso ainda não tenha feito isso.

O arquivo python, pmon.py , cria uma classe MicroPython para o monitor da planta. O UART cuidará da transmissão de dados duplex e, em seguida, também é necessário algum trabalho de conversão de analógico para digital. Você também notará que as funções wetness , temp e humid estão sendo definidas neste arquivo também.

   def get_wetness(self):
        return int(self.request_property("w"))

    def get_temp(self):
        return float(self.request_property("t"))

    def get_humidity(self):
        return float(self.request_property("h"))

    def led_off(self):
        self.uart.write("l")

    def led_on(self):
        self.uart.write("L")

Em seguida, você precisará do arquivo test.py obtido de nosso repositório MUO GitHub.

Você notará que os módulos time, pmon (do PlantMonitor ) e machine são necessários para monitorar adequadamente a saúde de sua planta.

Como o módulo PlantMonitor é importado, tudo o que é necessário para monitorar as condições do solo é um loop while simples. Além disso, o comando de impressão produzirá as leituras de umidade, temperatura e umidade do solo após a execução de test.py em Thonny.

time.sleep(2) # PlantMonitor startup time
pm = PlantMonitor()

while True:
    w = pm.get_wetness()
    t = pm.get_temp()
    h = pm.get_humidity()
    print("Wetness: {0} Temp: {1} Humidity: {2}".format(w, t, h))
    time.sleep(1)

Não tem vontade de regar sua planta quando o solo está muito seco? Atribua o relé da bomba a um pino no Raspberry Pi Pico e utilize uma instrução if para observar um valor de umidade (de 100) para acionar a bomba de água, por meio de um relé, para ligar e dispensar água novamente.

relay1 = Pin(15, Pin.OUT) #relay is wired up to GP15 and GND

if w = 24 # watch for a wetness value of 24/100


relay1.value(1) # turn on the relay
    relay1(0) # turn off the relay

Você vai querer fazer alguns testes para encontrar o equilíbrio perfeito para garantir que sua planta esteja satisfeita com a quantidade de água que está recebendo. Você também pode adicionar outra instrução if para ligar uma lâmpada de calor, por meio de um relé, se sua planta estiver muito fria.

Servidor Web Simples

Você precisará de três arquivos python, do nosso repositório MUO GitHub, para que seu Raspberry Pi Pico W transmita as estatísticas do solo para suas conexões de internet domésticas:

  • microponto.py
  • mm_wlan.py
  • pico_w_server.py

O arquivo microdot lida com as funções de back-end para criar este servidor da web simples baseado em HTTP e exibe a saída do código python como uma página da web baseada em html que pode ser chamada usando o endereço IP do Raspberry Pi Pico W.

O arquivo mm_wlan.py oferece uma maneira simples de se conectar a uma rede sem fio. Você receberá um endereço IP do seu Raspberry Pi Pico e uma mensagem conectada. Se a conexão não for bem-sucedida, você receberá uma mensagem de falha na conexão.

O arquivo pico_w_server.py é onde você insere o SSID (lembre-se que o Raspberry Pi Pico W só se conecta a SSIDs de 2,4 GHz) e sua senha Wi-Fi. Na seção HTML, você pode personalizar o que seu servidor da Web exibirá em um navegador da Web. Você também pode remover os comentários da seção de atualização e ajustar o intervalo, caso não queira que a página da Web seja atualizada a cada segundo.

No final deste arquivo, você também pode personalizar a porta. Isso é útil se você deseja expor essas informações na Internet fora de sua casa.

Quando você executa seu arquivo test.py , os arquivos python do servidor necessários ( mm_wlan e pico_w_server ) são importados para você. Depois de executar o arquivo test.py , pegue o endereço IP do seu Pi (encontrado na saída Thonny) e adicione a porta que você usou (o padrão é 80) de qualquer navegador da Web conectado ao mesmo SSID de 2,4 GHz em casa. Você deve ver algo assim:

página html simples exibindo estatísticas do solo

Para reduzir a dependência do seu PC conectado, altere o arquivo test.py para main.py e salve em seu Raspberry Pi Pico W. Você também pode querer considerar conectar um LCD ao seu Pico para programar o monitor para exibir o endereço IP (quando você remove a dependência do seu PC conectado).

Traga de volta aquele polegar verde

Com um sensor de solo sofisticado e um servidor web simples, agora você pode monitorar a saúde da sua planta a partir de um navegador da web em qualquer lugar da sua casa.

Sinta-se à vontade para ajustar o código como achar melhor. Se você estiver pronto para isso, considere criar um aplicativo de detecção de solo que adicione um pouco de polimento ao servidor da Web simples que você acabou de configurar.

Para tornar este projeto completo, adicione uma bomba e um relé, junto com uma lâmpada de calor, e você terá um jardim totalmente automatizado. Agora você poderá manter para sempre seu status de ‘polegar verde’.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *