From photosynthesis to food

Greetings to all non-Finnish speaking followers. I haven’t forgot you! According to statistics 90% of my visitors come from Finland, which of course doesn’t mean that everybody would understand Finnish, so I’ve been updating some random posts also in English. I’m equally bad in both languages, but hopefully most of the followers have already used to my typos and grammar errors. 😀

I just can’t stop admiring all the miracles happening at our balcony. In the winter and spring we planted tiny seeds and see what has happened after that! There is a jungle out there! Take a look to the photos below. If you can’t trust your eyes and need scientific proof of what you see, keep reading…

Synthesis

Most of us have heard a word ”synthesis” sometimes in their life. The accurate meaning is defined for example here: https://www.merriam-webster.com/dictionary/synthesis, but to simplify we can understand that it is a transformation from something to something else. At work I handle every day synthesis related tasks, but they are related to technology abstraction level transformation. This means that something is described at higher abstraction level, but then synthesized=transferred to more detailed level by adding some ingredients.

With plants it’s pretty much the same procedure, but the ingredients are of course different. In photosynthesis plants mix sunlight, water and carbon oxide to produce glucose, which is the ”food” for the plants itself. It’s nice to refresh memory sometimes also about these topics so take a look to this article: https://ssec.si.edu/stemvisions-blog/what-photosynthesis.

Automated irrigation

If you happened to read my blog for the first time, I briefly tell what’s going on. I’ve constructed a prototype of automated irrigation system to my balcony. I started the project last winter by defining the features and testing components and software indoors. Now I’m at at the phase where all the main components are installed to the balcony and the system is up and running. In theory I could take a two weeks trip to…

Tahiti: https://images.app.goo.gl/SaAv9Qpaxby4MA9L6 🙂

…and the irrigation system would take care of our plants during the trip.

But that’s only in theory… corona changed everyone’s life and now I can ”dream” only something like this…

Which is of course nice too, but… BTW, notice a kayak in both photos. That’s intentionally there since I really like paddling 🙂

If you want to know more about the development story, please a have look to previous articles:

https://agiots.com/2020/04/10/hyvaa-paasiaista-happy-easter-to-everyone/

https://agiots.com/2020/03/19/koronaa-ilmassa-kevaan-odotus-silti-piristaa/

https://agiots.com/2020/03/17/ble-testing-demo/

https://agiots.com/2020/02/20/calibration/

https://agiots.com/2020/02/06/jade-plants-%f0%9f%92%b2-rahapuu-%f0%9f%a4%91/

https://agiots.com/2020/01/30/blog-ideas-and-job-opportunities/

https://agiots.com/2020/01/28/graafisen-kayttoliittyman-ohjelmointi-aloitettu/

Development is continuous and and next I’m gonna work with software improvements. I’ve improved the statistics viewer and my aim is to start importing daily moisture and irrigation statistics to web. More about these in coming posts..

Recent photos

Cucumber on the left. Peas on the right.
Some chili’s and sweet peppers have huge leaves
Parsley, basil, dill, mint, lettuce, thyme and chives
Flowers

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.

Poweria kehiin!

Viime kirjoittelusta onkin vierähtänyt jo viikko. En ole kuitenkaan levännyt laakereillani, vaan olen suunnitellut ja toteuttanut virtalähteiden sijoittelua järjestelmään. Isot vesipumput vaatii 12-v, joten kyseinen jännite ja tarpeellinen virta pitää imeä jostain. On myös fiksua laittaa 230-v releet jo tässä vaiheessa turvallisemmin omaan tilaan, joten päätin tehdä jonkinlaisen kokoonpanon olemassa olevista tykötarpeista. Kaapista löytyi sopiva levyn palanen ja 12-v tietokoneen virtalähde, jota olen aiemmin käyttänyt yleis-virtalähteenä. Otan ne hyötykäyttöön tässä projektissa. Kuva setupista löytyy alhaalta. Koko järjestelmän pääkytkin on pistorarian kytkin. Pistorasiat ja kojerasian hain Biltemasta, sillä sieltä niitä saa halvalla. Rakennan myöhemmin ympärille pölyltä ja roiskevedeltä suojaavan kotelon parveketta ajatellen.

Huom! Kuvan asennukset kuuluu sarjaan ”älä tee kotona” ellet omaa koulutusta sähkötöihin.

Chilit, paprikat ja kurkku kasvaa vauhdila! Kuulin sellaista että pieni tuuli silloin tällöin tekisi taimille vahvemmat varret. Saas nähdä, mutta siinäpä se flekti nyt tuulettaa.

Odottelua ja ihmettelyä

Eipä ole isoja tapahtunut sitten viime päivityksen. Kiinasta tilatut romppeet ovat vielä matkalla ja testi-kastelujärjestelmä toimii mukavasti. Olen tehnyt vain pieniä päivityksiä, kuten esim. GUI:n valolukema on nyt luxeina, eikä referenssilukuna. Uusi yleismittarini mittaa nimittäin myös luxeja, joten sieltäpä lukemat.

Lisäksi olen yrittänyt saada serialUSB-yhteyttä ESP32-mikrokontrolleriin, jonka siis olisi tarkoitus ohjata amppeleiden kastelua jossain vaiheessa. Linuxilla tämä ei onnistunut, sillä koko USB-porttia ei löydy. Jospa Windowsilla onnistuisi, sillä nyt ainakin USB-controlleri löytyy langan päästä. Seuraava steppi on ladata joku ledin vilkutteluohjelma opiskelumielessä. Sitten voisi testailla Bluetooth/BLE-yhteyttä Raspi-ESP-puhelin -välillä. Ja sitten viimeisenä asennan kosteusmittaus- ja releen ohjausohjelman ESP:lle. Myöhemmin – jos intoa ja aikaa riittää, saman voisi tehdä Nordikin mikrokontrollerille.

Kuten jo aiemmin blogitin tai ainakin linkitin, ovat nämä moduulit siis itsenäisiä pieniä tietokoneita, jotka voi valjastaa ”pieniin tehtäviin” kuten kosteutta mittaamaan ja relettä ohjaamaan. Muodostan näihin yhteyden langattomasti Bluetoothilla Rasperrystä. Monikin voi kyseenalaistaa että onko langattomuudessa mitän järkeä – itseni mukaanlukien – sillä aika paljon helpommalla pääsisin, jos vain vetäisin pari ylimääräistä piuhaa Raspberrystä amppeleille. Mutta tätä se on. Teknonörtteily sen itsensä, eikä välttämättä järkevyyden takia. 🙂

Alhaalla kuvat ESP32:sta, Nordikin NRF51822 ja toinen ESP32 takapuolelta. Takapuolella on akkupatterille kotelo.

ESP32, NRF51822 and ESP32 from back (it has battery holder)

Kasvien IoT-elämä alkoi!

Jee! Tänään on ollut eka päivä kun kastelujärjestelmä alkoi lähettämään sensoridataa internettiin. Nyt voi mielestäni sanoa, että tämän kyseisen ”esineen” internet-elämä alkoi, sillä mittausdata tallennetaan Googlen drivelle. Alhaalla on kuva tuntidatasta. Kenttiä tulee tietysti paljon lisää sitten kun varsinainen kastelujärjestelmä parvekkeelle tehdään. Kyseistä tiedostoa voi sitten lukea ”millä vaan” ja piirtää erilaisia käppyröitä. Itse Raspillahan minulla on jo Matplotilla toteuttamani käppyröinen visualisointiohjelma, mutta ehkä Googleltakin voisi löytyä jotain online-graph työkaluja, jolla voisi Driven dataa visualisoida. Pitääpä tutkia.

Esineiden internetistä löytyy Googlella paljon tietoa. Tässäpä esimerkiksi yhdenlainen kuvaus aiheesta:

https://www.telia.fi/yrityksille/iot/etusivu?gclid=Cj0KCQiAqNPyBRCjARIsAKA-WFz5IAWvCERTREwnQbh2URcfUHeJojC44-5qCtM84eZg8cfunrxuuWwaAsmmEALw_wcB

Toinen ilmiselvä merkki IoT-toiminnasta on etäyhteyden toimintaan saattaminen. Asensin nimittäin TeamViewerin ja nyt voin ohjata kastelua myös kotiverkon ulkopuolelta. Harmittavasti TeamViewer tökkii ikävästi VNC:hen verrattuna, joten se tuskin tulee olemaan lopullinen ratkaisu. Ehkäpä VNC VPN:n yli olisi toimivampi ratkaisu. Ja löytyyhän muitakin vaihtoehtoja kuten vaikkapa Dataplicity: https://www.dataplicity.com/subscriptions/plans/

Tulipa myös harrastettua piirto-ohjelmaa muutamana iltana ja väsäsin järjestelmäkuvauksen. Aika paljon on vielä tekemistä ja saas nähdä toteutuuko ihan kaikki, mutta kiva se on ainakin suunnitella. 🙂

Calibration

Since today I’ve been using only time based irrigation dosing. That’s perfectly fine if I just want to feed ”some amount” of water for the plants. Things get more complicated if I want to dose exactly e.g. 50 ml or some other exact amount of water. In this case following field and installation related nonlinearties affect the irrigation dosing:

  • Water pump power
    • Pump power might change due to load changes
  • Pipe diameter
    • Narrow pipe needs less pump power
    • Many sizes of pipes in a row complicates things even more
  • Pipe length
    • Longer pipe needs obviously more water. (this is linear)
  • Irrigation height from pump to plant
    • Gravity has an big effect for the throughput.
  • Water ”kickback” effect in a pipe
    • Paddle wheel of the pump leaks and allows water to flow back when the pump is off. Paddle wheel leaks also during the active mode and especially with high irrigation heights
  • Unexpected air in the pipe
    • If the pipe is pended many times or if it has many up-down routes, unwanted air can lead to the pipe causing error on dosing accuracy

These all factors affects dramatically for the dosing and if not considered during the design, desert drought and very unhappy plants might be the result. I’ve tried to figure out how to deal all these factors and I have some preliminary ideas, but they are not yet ready for publishing. They need little bit more time and cooking. Here are some preliminary ideas:

  1. No pipe calibration at all (time based feeding)
  2. Irrigation with calibrations that uses some correlation factors for the points I listed above
  3. Irrigation with auto-calibration. In this option pumped water is measured and used for calibration factors.

In addition to field/installation related nonlinearties, temperature and humidity needs to be taken in account as well. For that, I’ve already installed sensors and created preliminary algorithms. Fine tuning will be done in the summer time.