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

Construa um sistema de jardinagem automatizado com o Raspberry Pi Pico W
Leitores como você ajudam a apoiar o MUO. Quando você faz uma compra usando links em nosso site, podemos ganhar uma comissão de afiliado. Consulte Mais informação.

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, bem como 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 em 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.





coisas para fazer com um laptop

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 de nosso Repositório MUO GitHub .

Você precisará pmon.py e teste.py para a parte de detecção de solo e os arquivos python microponto.py , mm_wlan.py , e pico_w_server.py será usado para completar o servidor web simples mais tarde.

computador conectado a wi-fi mas sem internet

Agora é um ótimo momento para fazer uma pausa e se refrescar com diferenças sutis entre MicroPython e Python se você ainda não o fez.

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á o umidade , temperatura , e umidade funções 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 teste.py arquivo obtido em nosso Repositório MUO GitHub .

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

Enquanto o PlantMonitor módulo é importado, tudo o que é necessário para monitorar as condições do solo é um loop while simples. Também o imprimir O comando produzirá as leituras de umidade, temperatura e umidade do solo após a execução teste.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 microponto O arquivo manipula 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 mm_wlan.py arquivo 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 pico_w_server.py arquivo é 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.

você pode usar diferentes marcas de carneiro

Quando você executa o seu teste.py arquivo, os arquivos python do servidor necessários ( mm_wlan e pico_w_server ) são importados para você. Depois de executar o teste.py arquivo, 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 teste.py arquivo para main.py e salve no seu Raspberry Pi Pico W. Você também pode querer considerar a conexão de um LCD ao seu Pico para que você programe o monitor para exibir o endereço IP (quando você remover 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'.