Python na raspberry nebo wiring na arduinu

43 views
Skip to first unread message

Jiří Sachl

unread,
Oct 24, 2017, 1:30:50 AM10/24/17
to django-cs
Zdravím. Stavím terárium. Pro jeho řízení chci použít automatiku. Mám arduino (mega i uno) a k nim relay shield, wifi shield, lan shield, ve wiring se mi dobře programuje. Ale ..jsem omezený na jednoduché kody kde není moc věcí k řízení naráz. S pythonem zatím koketuji a tak nevím co zvládne. Na raspberry (de fakto na debianu) chci řídit 4 x relay které se budou spínat podle časového plánu ale ttaké podle potřeby, tj. když čidlo teploty a vlhkosti zjistí hodnotu nějakou tak se sepne relay. Chci aby čas měl správný (to je problém s arduinem (kde časové čipy jsou shity) a naměřené hodnoty aby logoval do databáze. Buď lightsql nebo mysql. No a vytvářel nějakou stránku s grafy. Jde o to, že nevím jestli python umí víc vláken naráz tj. pokud poběží řízení něčeho tak doufám, že zvládne řídit víc událostí naráz. Zvládne to? Např. kontrolovat hodnoty vlhkosti a tepla ze 3 míst, zapisovat hodoty do sql, a v tom sepnout relay, měřit dál hodnoty a když se něco stane tak relay vypnout. Zvládne to python ?

Petr Viktorin

unread,
Oct 24, 2017, 5:44:53 AM10/24/17
to djan...@googlegroups.com, Jiří Sachl
Jasně, víc úkolů Python zvládne (viz threading, subprocess, asyncio),
ale tohle bych asi řešil jinak.

Asi ani nepotřebuješ víc vláken naráz: vlhkost a teplotu by ti mělo
stačit kontrolovat cca co minutu, ne? Zkontroluješ, zapneš/vypneš,
chvíli počkáš, opakuješ.

Ale pozor, abys to naprogramoval správně – přece jen bereš do svých
rukou život všeho, co v teráriu budeš mít. Raspberry & debian jsou
poměrně složité a je v nich mnohem víc věcí, které je potřeba ošetřit,
abys dostal spolehlivý systém.

Můžeš zkusit dát něco jednoduchého na Arduino, a jen synchronizaci času
+ data k logování řešit přes LAN/wifi na Raspberry. Zkontroluj že to
funguje i když Raspberry v (ne)vhodný moment vypneš.
Pak budeš mít menší šanci na problémy jako: dojde místo pro logy a
řídící program sletí s topením zapnutým na max.

Jiří Sachl

unread,
Oct 24, 2017, 5:54:21 AM10/24/17
to Petr Viktorin, djan...@googlegroups.com
RB mám víc. Jeden mi hlídá meteostanici. S linuxem jsem roky kamarád už od rh 4.1. Teď píšu z ubuntu. Pokud to python zvládne tak půjdu touto cestou. Aspoň se naučím něco nového. Už jsem měl na RB opencv a řízení kamery podle xichtů, měl z toho být robot na dvou kolech ale nakonec jsem šel od toho pryč kvůli baterkám..

Dne 24. října 2017 11:44 Petr Viktorin <enc...@gmail.com> napsal(a):

Jiří Sachl

unread,
Oct 24, 2017, 8:05:48 AM10/24/17
to Petr Viktorin, djan...@googlegroups.com
Jo a de fakto v teráriu to bude hlídat vlhkost na optimální hranici, svícení bude buď cestou led pásek tj. 12V přes relay a nebo samostatným relay spínat 120V. Toho se ale bojím. Rosení bude spínáno jen čerpadlo a kapání taky jen čerpadlo. Nic co by ohrozilo život tvora v teráriu. Žádné topení co by ho mohlo uvařit. De fakto to bude skleník s tropickými rostlinami co mají rády vlhko, světlo a teplo a do toho ještěrka-chameleon co se tam bude producírovat...

Dne 24. října 2017 11:54 Jiří Sachl <sach...@gmail.com> napsal(a):

Jakub Vysoky

unread,
Oct 24, 2017, 9:48:52 AM10/24/17
to djan...@googlegroups.com, Petr Viktorin
Az to udelas, tak nam to prines ukazat do Prahy na Pyvo [1]. Prosincove je vzdycky hardwarove, tak by se to hodilo! :)))


Jinak jak uz psal Petr, Pythonem toho urcite udelas hodne. Ale ne nutne bych na vsechno resil thready. Kdyz tam mas plnohodnotny linux (raspberry), tak muzes proste spustit par procesu, co neco delaji. Jeden zaznamenava teploty/vlhkosti a uklada je do nejake storage (databaze). Z toho muzes stranou kreslit grafy zase jinym procesem. A nejakym dalsim prubezne ty hodnoty kontrolovat a spinat to roseni.

Proste ta architektura se da vymyslet ruzne. Drzim palce!

--
--
E-mailová skupina djan...@googlegroups.com
Správa: http://groups.google.cz/group/django-cs
---
Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny „django-cs“ ve Skupinách Google.
Chcete-li zrušit odběr skupiny a přestat dostávat e-maily ze skupiny, zašlete e-mail na adresu django-cs+unsubscribe@googlegroups.com.
Chcete-li tuto diskusi zobrazit na webu, navštivte https://groups.google.com/d/msgid/django-cs/CAHqQdwiw8pG2YoRyHZ9dyr-WrgztStEFhDB8YLap9WnmHVc30A%40mail.gmail.com.

Další možnosti najdete na https://groups.google.com/d/optout.



--

Jiří Sachl

unread,
Oct 24, 2017, 9:53:06 AM10/24/17
to djan...@googlegroups.com
jojo, je to v plánu..nejprve prostor pro terárium, pak terárium...předpokládám, že v období vánoc bude ta realizace...

Dne 24. října 2017 15:48 Jakub Vysoky <jakub....@gmail.com> napsal(a):
Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru tématu ve skupině „django-cs“ ve Skupinách Google.
Chcete-li odběr tématu zrušit, přejděte na https://groups.google.com/d/topic/django-cs/-evWQshFz9E/unsubscribe.
Chcete-li zrušit odběr skupiny a všech témat v ní, zašlete e-mail na adresu django-cs+unsubscribe@googlegroups.com.
Chcete-li tuto diskusi zobrazit na webu, navštivte https://groups.google.com/d/msgid/django-cs/CAEO8NYypeVhRvc18o1Lz1X%2BrQ3%3D%3DE8ybTds5EnuXK5tFOti31Q%40mail.gmail.com.

Jirka Vejrazka

unread,
Oct 24, 2017, 2:00:54 PM10/24/17
to Jiří Sachl
... a co bude delat ve zbyvajicim volnem case? Ale bez legrace, tohlr fakt neni problem.

 Jirka
--
--
E-mailová skupina djan...@googlegroups.com
Správa: http://groups.google.cz/group/django-cs
---
Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny „django-cs“ ve Skupinách Google.
Chcete-li zrušit odběr skupiny a přestat dostávat e-maily ze skupiny, zašlete e-mail na adresu django-cs+...@googlegroups.com.
Chcete-li tuto diskusi zobrazit na webu, navštivte https://groups.google.com/d/msgid/django-cs/398e8a53-c7b5-4d78-980c-27597ffc60bc%40googlegroups.com.

Petr Messner

unread,
Oct 24, 2017, 2:26:21 PM10/24/17
to djan...@googlegroups.com
Ahoj,

možností je spousta :) Co se týče architektury, tak bych zkusil zvážit cestu samostatných procesů, které by spolu mluvily přes Redis a i svůj stav ukládaly do Redisu. Potom můžeš ty procesy restartovat - ať už při vývoji, nebo když se něco rozbije při “produkčním běhu”. A ukládání hodnot do databáze přes frontu, aby to přežilo výpadek databáze - opět klidně přes ten Redis.

Pak je možnost použít nějaké cloudové služby, AWS i Azure mají i pár věcí šitých na míru IoT. Principem cloudu je odstranit nutnost běhu nějaké mašiny s databázi, ovládáním apod. (ale to poběží na tom Raspberry?), ale na zacatku je o to těžší se v těch cloudech (a jejich pricingu :) ) zorientovat. https://youtu.be/u5oTz1e5qqE

Petr Messner

24. 10. 2017 v 15:48, Jakub Vysoky <jakub....@gmail.com>:

Chcete-li zrušit odběr skupiny a přestat dostávat e-maily ze skupiny, zašlete e-mail na adresu django-cs+...@googlegroups.com.
Chcete-li tuto diskusi zobrazit na webu, navštivte https://groups.google.com/d/msgid/django-cs/CAEO8NYypeVhRvc18o1Lz1X%2BrQ3%3D%3DE8ybTds5EnuXK5tFOti31Q%40mail.gmail.com.
Reply all
Reply to author
Forward
0 new messages