Malina PI – Zavádění cenově dostupné domácí automatizace systému [Část III]

Po několika měsících rozhodl jsem se vrátit do Tento projekt s kterou mám v úmyslu vytvořit zdarma domácí automatizace systém, a ekonomicky přijatelné; Tato nízká spotřeba mikropočítač založené, Ale multiplatformní a přenosné na libovolné zařízení s OS GNU/Linux dostupné od přístav GPIO.V předchozí příspěvky Jsme se naučili ovládat moduly relé optoacoplados s Malina od bash, PHP, a Pythonu; Při této příležitosti Mít optimalizovaný systém automatizace, a mimochodem jsem přenesen na Malina PI 3 zbavit se bezdrátové připojení, Ale pokud chcete, můžete použít jakékoli předchozí model.

V hardware Je složena ze dvou modulů s osmi relé Každý, to tvoří celkem Šestnácti výstupy k ovládání spotřebiče, Elektrické kladkostroje, osvětlení; a bez konce zařízení že to převést na tak malé Malina PI 3, ve všem, co potřebujete pro domotic dům u úřadu konvenční.

Systém automatizace budovy

Jistič switch diagramu domotic DIY.

Ovládací panel je naprogramován v PHP, a je optimalizace kódu předchozí verze určena k řízení GPIO přímo prostřednictvím bash který výrazně urychluje proces; musí být, Vzhledem k tomu, že jsme to poslouží přes stránky WiFi.

FremooticsPI

Ovládací panel automatizační systém web.

Skutečnost, že bez další soubory Správa portů výstupy GPIO z Malina od Python; Převede tento jednoduchý Webová stránka, jeden soubor, skutečné východisko z které se stalo jednou v systém plně domácí automatizace že se bude rozvíjet společně.

<html>
<head>
<title>Panel de control - Sistema domotico libre</title>
</head>

<body>
<div align="center">
<br></br>

 <!--GPIO4/IN1-->
 <form action="" method="post">
 Interruptor 01 &nbsp;<input type="submit" name="encender4" value="Encender">
 <input type="submit" name="apagar4" value="Apagar">

 <!--GPIO17/IN2-->
 <form action="" method="post">
 &nbsp; Interruptor 02 &nbsp;<input type="submit" name="encender17" value="Encender">
 <input type="submit" name="apagar17" value="Apagar">

<br></br>

 <!--GPIO27/IN3-->
 <form action="" method="post">
 Interruptor 03 &nbsp;<input type="submit" name="encender27" value="Encender">
 <input type="submit" name="apagar27" value="Apagar">

 <!--GPIO22/IN4-->
 <form action="" method="post">
 &nbsp; Interruptor 04 &nbsp;<input type="submit" name="encender22" value="Encender">
 <input type="submit" name="apagar22" value="Apagar">

<br></br>

 <!--GPIO18/IN5-->
 <form action="" method="post">
 Interruptor 05 &nbsp;<input type="submit" name="encender18" value="Encender">
 <input type="submit" name="apagar18" value="Apagar">

 <!--GPIO23/IN6-->
 <form action="" method="post">
 &nbsp; Interruptor 06 &nbsp;<input type="submit" name="encender23" value="Encender">
 <input type="submit" name="apagar23" value="Apagar">

<br></br>

 <!--GPIO24/IN7-->
 <form action="" method="post">
 Interruptor 07 &nbsp;<input type="submit" name="encender24" value="Encender">
 <input type="submit" name="apagar24" value="Apagar">

 <!--GPIO25/IN8-->
 <form action="" method="post">
 &nbsp; Interruptor 08 &nbsp;<input type="submit" name="encender25" value="Encender">
 <input type="submit" name="apagar25" value="Apagar">

<br></br>

 <!--GPIO5/IN1-->
 <form action="" method="post">
 Interruptor 09 &nbsp;<input type="submit" name="encender5" value="Encender">
 <input type="submit" name="apagar5" value="Apagar">

 <!--GPIO6/IN2-->
 <form action="" method="post">
 &nbsp; Interruptor 10 &nbsp;<input type="submit" name="encender6" value="Encender">
 <input type="submit" name="apagar6" value="Apagar">

<br></br>

 <!--GPIO13/IN3-->
 <form action="" method="post">
 Interruptor 11&nbsp;<input type="submit" name="encender13" value="Encender">
 <input type="submit" name="apagar13" value="Apagar">

 <!--GPIO12/IN4-->
 <form action="" method="post">
 &nbsp; Interruptor 12 &nbsp;<input type="submit" name="encender12" value="Encender">
 <input type="submit" name="apagar12" value="Apagar">

<br></br>

 <!--GPIO19/IN5-->
 <form action="" method="post">
 Interruptor 13 &nbsp;<input type="submit" name="encender19" value="Encender">
 <input type="submit" name="apagar19" value="Apagar">

 <!--GPIO16/IN6-->
 <form action="" method="post">
 &nbsp; Interruptor 14 &nbsp;<input type="submit" name="encender16" value="Encender">
 <input type="submit" name="apagar16" value="Apagar">

<br></br>

 <!--GPIO20/IN7-->
 <form action="" method="post">
 Interruptor 15 &nbsp;<input type="submit" name="encender20" value="Encender">
 <input type="submit" name="apagar20" value="Apagar">

 <!--GPIO21/IN8-->
 <form action="" method="post">
 &nbsp; Interruptor 16 &nbsp;<input type="submit" name="encender21" value="Encender">
 <input type="submit" name="apagar21" value="Apagar">

</div>
</body>
</html>

<?php

// Funciones PHP del pin GPIO 4

 if ($_POST[encender4]) {
 $a- exec("echo 4 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio4/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio4/value");
 echo $a;
 }

 if ($_POST[apagar4]) {
 $a- exec("echo 0 > /sys/class/gpio/gpio4/value");
 echo $a;
 }

// Fin de las funciónes del pin GPIO 4

// Funciones PHP del pin GPIO 17

 if ($_POST[encender17]) {
 $a- exec("echo 17 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio17/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio17/value");
 echo $a;
 }

 if ($_POST[apagar17]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio17/value");
 $a- exec("echo 17 > /sys/class/gpio/unexport");
 echo $a;
 }

// Fin de las funciónes del pin GPIO 17

// Funciones PHP del pin GPIO 27

 if ($_POST[encender27]) {
 $a- exec("echo 27 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio27/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio27/value");
 echo $a;
 }

 if ($_POST[apagar27]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio27/value");
 $a- exec("echo 27 > /sys/class/gpio/unexport");
 echo $a;
 }

// Fin de las funciónes del pin GPIO 27

// Funciones PHP del pin GPIO 22

 if ($_POST[encender22]) {
 $a- exec("echo 22 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio22/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio22/value");
 echo $a;
 }

 if ($_POST[apagar22]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio22/value");
 $a- exec("echo 22 > /sys/class/gpio/unexport");
 echo $a;
 }

// Fin de las funciónes del pin GPIO 22

// Funciones PHP del pin GPIO 18

 if ($_POST[encender18]) {
 $a- exec("echo 18 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio18/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio18/value");
 echo $a;
 }

 if ($_POST[apagar18]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio18/value");
 $a- exec("echo 18 > /sys/class/gpio/unexport");
 echo $a;
 }

// Fin de las funciónes del pin GPIO 18

// Funciones PHP del pin GPIO 23

 if ($_POST[encender23]) {
 $a- exec("echo 23 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio23/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio23/value");
 echo $a;
 }

 if ($_POST[apagar23]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio23/value");
 $a- exec("echo 23 > /sys/class/gpio/unexport");
 echo $a;
 }

// Fin de las funciónes del pin GPIO 23

// Funciones PHP del pin GPIO 24

 if ($_POST[encender24]) {
 $a- exec("echo 24 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio24/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio24/value");
 echo $a;
 }

 if ($_POST[apagar24]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio24/value");
 $a- exec("echo 24 > /sys/class/gpio/unexport");
 echo $a;
 }

// Fin de las funciónes del pin GPIO 24

// Funciones PHP del pin GPIO 25

 if ($_POST[encender25]) {
 $a- exec("echo 25 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio25/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio25/value");
 echo $a;
 }

 if ($_POST[apagar25]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio25/value");
 $a- exec("echo 25 > /sys/class/gpio/unexport");
 echo $a;
 }

// Fin de las funciónes del pin GPIO 25

// Funciones PHP del pin GPIO 5

 if ($_POST[encender5]) {
 $a- exec("echo 5 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio5/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio5/value");
 echo $a;
 }

 if ($_POST[apagar5]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio5/value");
 $a- exec("echo 5 > /sys/class/gpio/unexport");
 echo $a;
 }

// Fin de las funciónes del pin GPIO 5

// Funciones PHP del pin GPIO 6

 if ($_POST[encender6]) {
 $a- exec("echo 6 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio6/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio6/value");
 echo $a;
 }

 if ($_POST[apagar6]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio6/value");
 $a- exec("echo 6 > /sys/class/gpio/unexport");
 echo $a;
 }

// Fin de las funciónes del pin GPIO 6

// Funciones PHP del pin GPIO 13

 if ($_POST[encender13]) {
 $a- exec("echo 13 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio13/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio13/value");
 echo $a;
 }

 if ($_POST[apagar13]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio13/value");
 $a- exec("echo 13 > /sys/class/gpio/unexport");
 echo $a;
 }

// Fin de las funciónes del pin GPIO 13

// Funciones PHP del pin GPIO 12

 if ($_POST[encender12]) {
 $a- exec("echo 12 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio12/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio12/value");
 echo $a;
 }

 if ($_POST[apagar12]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio12/value");
 $a- exec("echo 12 > /sys/class/gpio/unexport");
 echo $a;
 }

// Fin de las funciónes del pin GPIO 12

// Funciones PHP del pin GPIO 19

 if ($_POST[encender19]) {
 $a- exec("echo 19 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio19/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio19/value");
 echo $a;
 }

 if ($_POST[apagar19]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio19/value");
 $a- exec("echo 19 > /sys/class/gpio/unexport");
 echo $a;
 }

// Fin de las funciónes del pin GPIO 19

// Funciones PHP del pin GPIO 16

 if ($_POST[encender16]) {
 $a- exec("echo 16 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio16/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio16/value");
 echo $a;
 }

 if ($_POST[apagar16]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio16/value");
 $a- exec("echo 16 > /sys/class/gpio/unexport");
 echo $a;
 }

// Fin de las funciónes del pin GPIO 16

// Funciones PHP del pin GPIO 20

 if ($_POST[encender20]) {
 $a- exec("echo 20 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio20/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio20/value");
 echo $a;
 }

 if ($_POST[apagar20]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio20/value");
 $a- exec("echo 20 > /sys/class/gpio/unexport");
 echo $a;
 }

// Fin de las funciónes del pin GPIO 20

// Funciones PHP del pin GPIO 21

 if ($_POST[encender21]) {
 $a- exec("echo 21 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio21/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio21/value");
 echo $a;
 }

 if ($_POST[apagar21]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio21/value");
 $a- exec("echo 21 > /sys/class/gpio/unexport");
 echo $a;
 }

// Fin de las funciónes del pin GPIO 21

?>

K provedení spojení mezi Malina a relé, Je třeba jít na úpatí dopisu následující tabulky na základě schématu GPIO BCM; protože jinak budete muset upravit řádky v souboru PHP, a nahradit v kód počty KÓD PIN zaměstnanci.

Malina PI modelu B + / 2/3 Přenosový modul 1
+ 5V + 5V
GPIO 4
IN 1
GPIO 17
IN 2
GPIO 27 IN 3
GPIO 22
IN 4
GPIO 18 IN 15
GPIO 23
IN1 6
GPIO 24
IN1 7
GPIO 25
IN1 8
GND GND
Malina PI modelu B + / 2/3 Přenosový modul 2
+ 5V + 5V
GPIO 5
IN 1
GPIO 6
IN 2
GPIO 13
IN 3
GPIO 12
IN 4
GPIO 19
IN1 5
GPIO 16
IN1 6
GPIO 20
IN1 7
GPIO 21
IN1 8
GND GND

Po připojení všech špendlíky z Malina do příslušné VCC, GND, e vstupů z Relé; zbývá pouze Zkopírujte soubor PHP Chcete-li Malina , k čemu SCP To nám to umožní vzdáleně.

usuario@maquina:~ $ scp index.php pi@192.168.1.*:/home/pi/
usuario@maquina:~ $ ssh pi@192.168.1.* -C sudo mv /home/pi/index.php /var/www/html/

Také vzdáleně Můžeme se přesunout soubor do adresáře webového serveru, a my se přiřadit jako vlastníci SSH Chcete-li uživatele a skupiny www-data; To přidá Skupina gpio, a pak Jsme restartovat použít změny.

usuario@maquina:~ $ ssh pi@192.168.1.* -C sudo chown www-data:www-data /var/www/html/index.php
usuario@maquina:~ $ ssh pi@192.168.1.* -C sudo usermod -a -G gpio www-data
usuario@maquina:~ $ ssh pi@192.168.1.* -C sudo reboot

Konečně Krmíme s relé 230V Jak jsme viděli v Předchozí články vytváření most mezi vstup a jiné pozitivní pól, použití jediného Zástrčka, nebo přepněte miniaturní jističe; Ale pokud chceme připojit Šestnáct zařízení je vysoká spotřeba doporučeno používat dvě, nebo více konektory.

relespuenteados

Režim mostu mezi kladné póly přenosového modulu.

Zbývající kabely, které odpovídají záporný pól a bere na Země, Spojíme je přímo do zařízení chcete ovládat prostřednictvím Přenosový modul, v mém případě Zapojte domotic DIY; Měli bychom rovněž mít na paměti, že za bezpečnost by měly mít naši relé 1A ukončit, tím, co pro 16 výstupy budou potřebovat Přeložka 16NA.

Reléové schéma zástrčka

Diagramu plug domotic DIY.

V následujícím video Můžete vidět výkon tohoto Šestnácti výstupy systém tím, že kontrola je, prostřednictvím demonstrace s nízkou energií svítilnou; Pokud se vám líbí, nezapomeňte Následujte mě na YouTube Chcete-li si ujít některou z nepublikované videa Budu publikovat.

Pokud jste jako vy se mnou na Twitter, Facebook, Google +, LinkedIn, Feedly, nebo jej sdílet s tlačítky v této publikaci, Pokud máte jakékoliv dotazy nebo návrhy prosím neváhejte se vyjádřit.

Pomozte nám dostat více čtenářů Share on LinkedInShare on FacebookTweet about this on TwitterShare on Google+Email this to someone

15 myšlenky na"Malina PI – Zavádění cenově dostupné domácí automatizace systému [Část III]

  1. Peatonet pochybnosti, Jsem zkopíroval kód tak že a funguje vše správně, výjimka, která van ty tlačítka na zadní straně, zapnout vypnout dolů a naopak.

    Mnohokrát děkuji za všechny skvělé blog.

    • Dobrý den XuFLeS, Díky za váš komentář.

      Jistě že viz s připojeními relé do napájecí sítě; je třeba zkontrolovat, pokud se připojil v normÆlně otevřený (NE) místo normálně uzavřený (NC).

      Zatím.

      • Jsem testování před připojit kontakty 230 V led červená relé je zapnuta a kdy pulsní zase vypnuto. Já něco upravili kód investovat a je dobře, ale já už se objevily pochybnosti pravdu. Děkuji za odpověď.

  2. Dobrý příspěvek. Já ale potřebuju něco podobného, řízení zavlažování, ale s podmínkou: Pokud n výstupy jsou v 1 pak GPIOx bude v 1. Kostní GPIO = 0, je-li to pouze tehdy, pokud všechny výstupy = 0. Jakýkoliv idea?? Kde n výstupy jsou elektromagnetické ventily a GPIOx čerpadlo. Od již mnohokrát děkuji.

    • Dobrý den Edu,

      V závislosti na konci číselné výstupy, používáte nebo několik Malina PI; s by bylo jednoduché, s několika by hodnocení, které je tak optimální informací mezi zařízeními.

      Díky za komentáře.

  3. Dobrý den, Mám zájem v tomto, protože bych chtěl ovládat některé světla zahraniční z mobilu.
    By bylo poprvé, kdy se snažil něco s na maliny.
    Ale já vzniká podezření, že tento post je volání “část třetí”.
    PHP kód s pouze to, že jako není chybějící by použít cokoliv z částí 1 a 2?
    Chápu, že tento kód bude index.php, kde umístit iria?
    Díky!

    • Ahoj Paul,

      Pouze s tímto kódem PHP může implementovat více verzí "aktuální’ Systém.

      V předchozí návody a ty nám z nich stejně vysvětlil, kde je soubor (index.php), Jak vám správné oprávnění, atd…

      Díky za komentář.

      • Mnohokrát děkuji za vaši rychlou odpověď.
        Již byl připojen s jedním štítkem osmi relé.
        Ale já se kolem něco vzácné které nenajde řešení.
        Dávat to do tlačítka na webu, jsem dokonale aktivovaný GPIO, dávat jejich odpovídající napětí a udržet ji až to, že vypnutí, ale na straně druhé relé dělá své “Klepněte na tlačítko” běží, ale ne spínač. Zvuk je jakoby relé je activase a je deaktivována, je tak rychle, že tester nemá rozpozná jakoukoli změnu.
        Chcete-li by mohlo být způsobeno??
        Děkuju.

        Salu2!

        • Našel jsem chybu.
          V kódu PHP, v seznamu vypnout příkaz, Odstranit kód $a- Exec(“ozvěna 18 > /sys/třída/gpio/neexistují objekty”); , jak máte v první přepínač a teď už I funguje.
          Co je na, poprvé, zapnout na maliny; je světlo osmi LED diodami, které střední intenzity, zapnout a vypnout čas a pak už světla led dobře a už funguje.

          Salu2!

          • Omlouvám se, že být tak těžký, s tolika komentáře, ale toto je první projekt, který já s mou raspery a je to úžasné a velmi, velmi jednoduchá! Je minulost tohoto kurzu.
            A svět, který otevírá s tímto týmem je inmeso!
            Na webu, Pro vytrvalce je v php, jste mohli vidět, že spínač je aktivní?
            Přepínače, mohl dostat ke správě plánování času a načasování?
            Z pravdy,Mám otevřít nový svět, velmi zábavné a ekonomický.

            Salu2 a díky!

          • Ahoj Paul GC.

            Myslím, že v komentáři jsem vysvětlil, jak zkontrolujte, že spínač je aktivní čtení prostřednictvím PHP stav GPIO.

            Chcete-li programově ovládat čas Nejjednodušší věc je spustit, co chcete použít systému CRON démona, časy, v nichž markýz le.

            Velice Děkuji za komentáře.

          • projekt již docela markýza, Chcete-li zobrazit stav gpio stačí použít
            Exec ( “GPIO číst 29”, $status21 );
            Pokud ($status21[0] == 0) {
            }
            a vložit závorky, které chcete zobrazit, pokud je zapnut nebo == stav 1 pro vypnutí.

            Číslování gpio čtení se neshoduje s číslování portů gpio, Chcete-li jsem dal sem tabulku rovnocenností pro každý přístav s jeho číslování čtení, udělala jsem to.

            Jediná věc, která stále nechápu, je proto 1 Je to pryč a 0 Je to na.
            a proč na na maliny, Všechny výstupy jsou bez státní příslušnosti, ponechání na střední napětí a výstupů není práce dokud proměnit je dvakrát.

            Vytvoření obnovení webu, Co to je povel pro všechny výstupy, v “spánek” a znovu dát příkaz k uhašení je všechny, Po tomto procesu již jsou všechny funkční.

            To může být, že projdou tyto dvě věci?

            Salu2!

          • Ahoj Paul, Omlouvám se za zpoždění, ale já jsem v poslední době velmi málo času mezi prací a studií.

            Nejprve chci poděkovat že jste sdíleli svůj postup s ostatními čtenáři tohoto blogu, Když mám volný čas, který mám nevyřízené pokračujte v této sekci Návody na domácí automatizace snadný a cenově dostupný, ale je to opravdu hrdosti pro mě vidět, jak budete postupovat sami vpřed s projektu a bude dělat každý z nich vlastní systému.

            Připojení na relé přiřazením logické nízké hodnoty (0), a zase je logická hodnota, která je vysoká (1) Je možné, že z důvodu, že jste připojili relé na 230V jako normálně otevřené místo normálně uzavřený okruh, Jak jsem řekl čtenář XuFLes první komentář tohoto článku; Je-li si to vyzkoušet a problém přetrvává, Nebojte se vyjádřit a pokusit se myslet na jiné možnosti.

            Abyste nemuseli dělat výstupy obnovení po každé Raspbian zapalování, Můžete vytvořit jednoduchý skript, který export a nastavit PIN, který chcete restartovat, a spusťte ji například z rc.local.

          • Dobrý den!
            Nic v tomto odpoledne v odpovědi!
            Je logické, aby vás čas a to zejména v těchto termínech.
            Zapalování a vypnutí systému, Funguje to opačně, Mám relé připojeno.

            A co rc.local, aby se zabránilo nutnosti přejít na stránku pro resetování, Jak byste.

            Salu2!

  4. Dobré chodce, Já jsem četl 3 Návody na domácí automatizace dílů, ale v jeho programování bude velmi rychle za své, téma se zdá být velmi zajímavé, ale myslím, že potřebujeme detail kompletní domácí automatizace systému a je přijímat vstup z venku, ( tlačítka, světelné senzory, atd). Chtěl bych spolupracovat a myslet na elektrické části, mohou pomoci a na oplátku Žádám pomoc k pochopení celé programování. Můj email je Tecnico.AntonO.Raya@gmail.com

    Pozdrav a gratuluji k webu