Langatonta kermaviiliä 5 kg

Kuten aiemmin jos suunnittelin, tulee järjestelmään myös yksi langaton etäyksikkö. Alunperin ajattelin että langaton yksikkö olisi täysin langaton, eli akkukäyttöinen, mutta ESP32:n virrankulutus on sitä luokkaa, että akulla tämä etiäinen toimisi ehkä vain puoli päivää. Joten päätin että toteutan kontrolliyhteyden etänä (BLE), mutta sähkönsyöttö tulee pistorasiasta. En pidä tätä huonona ratkaisuna, sillä pistorasioita on usein siellä täällä, mutta kontrolli-piuhan vetäminen kauas olisi vaivalloista. Nyt tämän hökötyksen voi viedä aina sinne asti mihin BLE-yhteys yltää. Eli käytännössä kymmeniä metrejä jos ei ole seiniä välissä.

Kuten kuvasta näkyy, kyseessä on siis prototyyppi. 🙂 Mutta älkääpä säikähtäkö – oli ne alkuajan puhelimetkin tiileskiven kokoisia – puhumattakaan testi-puhelimista labrassa, joiden koko saattoi olla luokkaa ”kaappi”.

Vesisäiliön virkaa protossa edustaa 5 kg kermaviilipurkki. Sain näitä töistä ilmaiseksi 5 kpl. Kierrätys kunniaan! Pleksiä sain Puuilosta pilkkahintaan, kun hyllystä löytyi joku jämäpala. Pleksiä on kätevä muotoilla ja kuumaliima tarttuu siihen hyvin. Toinen vaihtoehto olisi ollut tehdä kansi puusta, mutta pleksiä se nyt on! Asensin 3 pumppua releineen ja vielä on tilaa yhdelle pumpulle. Alkuperäinen suunnitelma oli toteuttaa pumppujen pidikkeet 3D-tulostettuna pidikkeenä, mutta korona harmittavasti hidastaa ”alihankintaketjua” (työkaveri), joten nippusiteet toimittaa nyt pidikkeen virkaa. Huomaa myös mahtava rautalankaviritys ala-anturin oikeassa kohdassa pitämiseen. Eihän tästä viritelmästä puutu enää kuin ilmastointiteippi, niin voisi alkaa patenttia hakemaan?!

Boxin ominaisuudet:

  • Langaton toiminta (poislukien virransyöttö)
  • Ohjaus millä tahansa laitteella, jossa on Bluetooth (BLE) kontrolli; läppäri, kännykkä, Raspberry jne.
  • 3 kasvin kastelu etäohjatusti (tuki neljälle)
  • Tuki useille kosteus- ja lämpötila-antureille
  • Statustietojen lähetys Bluetoothilla
  • 5 litran vesisäiliö
  • Ylä- ja ala-anturit vesisäiliön automaattitäytön ohjaukseen tai statustiedoksi
  • Akku sähkökatkojen varalle ~15h

Jos virtaa riittää ja intoa, niin seuraavasta versiosta saisi kauniimman ja ehkä jopa täysin langattoman. Asentaisi härvelit vaikka johonkin hienoon kukkaruukkuun, joka toimisi vesisäiliönä ja jossa akulle olisi myös oma tila. Mikrokontrolleri kannattaisi myös vaihtaa Nordickiin, niin virrankulutus pienenisi ja toiminta-aika kasvaisi. Myös kaikki turhat LEDit pitäisi karsia pois releistä. Mutta se on sitten joskus ehkä.. Nyt iloitsen tästä mahtavasta protosta! Nyt tarvitsee vain ohjelmoida Raspberryn päähän BLE ohjaus Pythoniin. Tällä hetkellä ohjaan Protoa gattool-ohjelmalla terminaalista.

BLE testing demo

I have been playing with Bluetooth Low Energy (BLE) and tried to setup ESP32 wireless link to my irrigation system. The both things, ESP32 micro-controller and BLE protocol are new for me so it’s very exiting to test and do experiments. Yesterday evening was fun since I succeeded to establish BLE connection between Raspberry and ESP32. I was so excited that I even recorded a video of this success. 🙂

Happenings in the video:

1. Quick presentation of the GUI

2. Scanning of ESP32 (Raspberry Pi in VNC terminal) => ESP founded as ”mpy-uart”

3. BLE connection to ESP32. => ESP32 blinks three times (long)

=> After the connection ESP32 starts to send dummy notification messages. I’ll be using these notification messages to receive moisture status data from the plants.

4. Writing ”41=enable” to ESP32. => Led turns on. Writing ”42=disable” = Led off

=> I’ll be using write commands for manual irrigation control

5. Disconnect => Led blinks several times fast

I’m using Micropython for ESP32 programming and BLE control examples which I found from the GitHub: micropython/examples/bluetooth/. I have modified the code and added led control for this demo.

Obviously, I could had been using also ESP32 Thonny Micropython terminal and USB-link to demonstrate the BLE connection, but wireless demo is more fun.

Bluetooth BLE yhteys Raspberryn ja ESP32:n välille