Cuprins:

Dispensador De Alimento Para Múltiples Mascotas Usando Inteligencia Artificial Con Watson: 11 Steps
Dispensador De Alimento Para Múltiples Mascotas Usando Inteligencia Artificial Con Watson: 11 Steps

Video: Dispensador De Alimento Para Múltiples Mascotas Usando Inteligencia Artificial Con Watson: 11 Steps

Video: Dispensador De Alimento Para Múltiples Mascotas Usando Inteligencia Artificial Con Watson: 11 Steps
Video: Accidente con AK47. Uso Indebido de Armas de Fuego. 2024, Noiembrie
Anonim
Dispensador De Alimento Para Múltiples Mascotas Usando Inteligencia Artificial Con Watson
Dispensador De Alimento Para Múltiples Mascotas Usando Inteligencia Artificial Con Watson
Dispensador De Alimento Para Múltiples Mascotas Usando Inteligencia Artificial Con Watson
Dispensador De Alimento Para Múltiples Mascotas Usando Inteligencia Artificial Con Watson

În acest lucru este învățabil să învățăm cum să fac un dispensator de alimente pentru mascotele lor, pentru cel mai general, sau mai puțin în cazul meu în care el vrea să facă un dispensator automat, fără embargo, trebuie să fie un perro și un gato. Por ende no tengo una forma de saber cuál animal es para dispensar el alimento adecuado.

El a găsit soluția, se tratează de un sistem cognitiv care face uz de Inteligența Artificială pentru care, prin mediu o cameră să facă un proces de imagine pentru recunoaștere, de cual animal se tratează și distribuie alimentul adecvat.

Lógica del sistema:

  1. La mascota se acerca y es detectada por un sensor de distancia
  2. El sistema toma una foto del animal
  3. La procesa y decide qué animal es
  4. Saluda la mascota (Con voz humana)
  5. Dispensa el alimento respectivo
  6. Trimite un e-mail al datului indicând că deja le-ai dispensat alimente

Pasul 1: Materiale Que Necesitamos

Materiale Que Necesitamos
Materiale Que Necesitamos
Materiale Que Necesitamos
Materiale Que Necesitamos
Materiale Que Necesitamos
Materiale Que Necesitamos

Acest proiect lo vamos a realiza en conjunto, así que es momento de vayas a comprar, pedir, buscar o the way that tengas en mente, the following materiales:)

  1. 1 Raspberry Pi, le-a primit modelul 3, dar cele anterioare au funcționat!
  2. 1 Cámara para raspberry pi
  3. 1 senzor ultrasonic HC-SR04
  4. 2 Driver motor (Pueden use any else, you use this because was the that tenía a mano!)
  5. 2 motoare pas cu pas
  6. 1 difuzor (Parlantes)
  7. 2 tuburi T de PVC de pulgată și media (Las întâlnran în orice feretrie pentru mai puțin de 2000 de coloane fiecare o.)
  8. Una lámina de acrilic de 3mm pentru cortar, yo utilicé acrílico, se pot folosi orice alt material, ca MDF.
  9. O impresoare 3D și cortatoare láser pe care în Costa Rica, le pot găsi în Inventorie LEAD.

Pasul 2: Iniciando Con Raspberry Pi

Iniciando Con Raspberry Pi
Iniciando Con Raspberry Pi
Iniciando Con Raspberry Pi
Iniciando Con Raspberry Pi
Iniciando Con Raspberry Pi
Iniciando Con Raspberry Pi

Raspberri Pi este un microprocesor foarte puternic pe care ne permite să dezvoltăm proiecte care necesită un înalt putere de calcul. Este similar unui Arduino cu diferența pe care Raspberry Pi nu permite corectarea unui Sistem Operativ în interiorul cardului de dezvoltare.

În acest caz, voi folosi raspbian care este o distribuție de linux, Open Source, dezvoltat special pentru corecția Raspberry Pi.

  • Primeros pasos con Raspbery Pi

    1. El primer paso es descargar el raspbian como zip.
    2. Ahora debemos quemarlo in a micro SD, for ello: Usuarios MAC / Linux:

      1. Abrimos la terminal o consola del sistema, cum se arată în fotografie.
      2. Utilizați conținuturi care să explice pentru familiarizare și la finalul dat un exemplu de utilizare. diskutil list => Este comanda mea devuelve lista de toate discurile care se întâlnesc la pc (o SD poate lua ca o discotecă externă.) Debemos căutați-vă cu numele este asignat la SD, pentru generalul poate fi "disk1", pentru efectos de este turorial le llamaremos "TuDisco". diskutil eraseDisk JHFS + UntitledUFS <TuDisco> => Permite borrar y formatear the disco escogido (TuDisco).

        diskutil unmountDisk / dev / <TuDisco> => Desmontează discoteca pentru a nu putea utiliza.

        sudo dd if = of = / dev / <TuDisco> bs = 1m => Quema el sistema operativo dentro de la SD, ar putea dura până la 1 oră în acest pas.

        diskutil eject / dev / <TuDisco> => Expulsa el Disco

        Un ejemplo de uso de este, se encuentra adjunto en las fotos, la sintaxis del ejemplo sería así

lista diskutil

diskutil eraseDisk JHFS + UntitledUFS disk1 diskutil unmountDisk / dev / disk1 sudo dd if = / Users / bernalrojas / Downloads / 2017-11-29-raspbian-stretch.img of = / dev / disk1 bs = 1m diskutil eject / dev / disk1

Utilizatori Windows: Puteți utiliza Win32Disk, care este o instrumentă simplă sau orice altă alegere

  • Ver sistem operativ

    1. Debitează o ecran, un cablu HDMI, mouse și tastatură.
    2. Conectalos y enciende la raspberry pi, verás que al igual que una computadora normal este va începe de la aceeași înțelegere a modului în care orice altceva (înregistrăm că este o computeră).
    3. Ahora poți continua lucrând ca o calculatoare normală sau pot să accesezi la distanță, astfel încât să facem această ultimă formă, pentru a nu depinde de un ecran pentru a putea lucra.
    4. Vamos a hacer uso de ssh para acces remotamente, antes de quitar la pantalla abrimos vamos a ir a nuestra terminal y escribimos "ifconfig" este comandă pentru a ne devolver direcția IP de nostru raspberry pi (gardelan pentru că sunt necesare în viitor). Ahora pot desconecta ecranul.
    5. Vamos a ir a nuestra computadora y abrimos la terminal de la misma manera, y escribimos ssh pi @ donde es la dirección que acabamos de recuperar en el paso anterior, trebuie să susțină pentru numerele care le returnează. Pueden ver un ejemplo en las fotos para no perse en este paso.
    6. Nos va pedir la contraseña del equipo și una mai de la raspberry care por default este "raspberry". Aceasta ne deschide imediat terminalul.

Pasul 3: Conectarea senzorilor și acționarilor Al Raspberry Pi

Conectând senzorii și actuatorii Al Raspberry Pi
Conectând senzorii și actuatorii Al Raspberry Pi
Conectând senzorii și acționatorii Al Raspberry Pi
Conectând senzorii și acționatorii Al Raspberry Pi
Conectând senzorii și actuatorii Al Raspberry Pi
Conectând senzorii și actuatorii Al Raspberry Pi

Cómo sabemos Raspberry Pi este o carte de dezvoltare care pune pines GPIO pe care o putem configura ca intrări și salide pentru senzorii și actuatorii noștri.

  1. Pentru senzorul de distanță folosim un senzor ultrasonic. Este sensor works por ultrasonidos, as un murcielago… Funciona emitiendo una honda (Trigger pin) care rebotará într-un obiect, senzorul va primi de întoarcere (Echo pin) și estimează timpul care durează în regres. Pueden ver la imagen adjunta que tomé de Zona Maker unde au un excelent tutorial pentru a înțelege un fond cum funcționează acest senzor
  2. Pentru viziunea artificială, sistemul va folosi o cameră.
  3. Cum utilizăm un motor cu motor Stepper?
  4. Pentru mutarea motorului utilizăm Driver motor. În cazul meu nu există disponibilități pentru acești mici, astfel încât să folosesc cei care trebuie să mănânce, vor fi (La diferența este că vor permite să mănânce un curent major). * Nota: * El diagrama adjunto se muestra otro driver (El rojo, es un easy driver) distinto a que he utilizado, esto fue para generalizar, ya que la mayoría de drivers tienen esa nomenclatura (dir y step). Con el que yo estoy utlizando (el TB6560) los pines "dir" y "step" los reemplazamos por "CW +" y "CLK +" respectiv. Y los 2 GND los reemplazamos por CLK- y CW-.

Pasul 4: Pregătirea nodului-RED În El Raspberry Pi

Pregătirea nodului-RED În El Raspberry Pi
Pregătirea nodului-RED În El Raspberry Pi
Pregătirea nodului-RED În El Raspberry Pi
Pregătirea nodului-RED În El Raspberry Pi
Pregătirea nodului-RED În El Raspberry Pi
Pregătirea nodului-RED În El Raspberry Pi
Pregătirea nodului-RED În El Raspberry Pi
Pregătirea nodului-RED În El Raspberry Pi

Ahora vamos a începe a pregăti toate paquetele necesare pentru a face ca sistemul nostru funcțional cu Node-RED, care este un IDE de programare grafic foarte simplu de utilizare.

Antes de comenzar a pregăti tot ce este necesar să avem echipamentul actualizat, pentru executarea următoarelor comenzi în terminalul nostru:

sudo apt-get update

sudo apt-get dist-upgrade update-nodejs-and-nodered

Aceste comenzi ne actualizăm. El último comando, nos permite tener nuestro entorno Node-RED actualizat pentru puterea de instalare a dependențelor pe care trebuie să le necesităm în acest pas, este important să sărăm această actualizare.

  • Node-RED vine precargado en raspbian por default, așa că solo debemos inițial, pentru asta vamos a ir la terminal și escribimos "node-red-start" esto nos va ejecutar un server bajo la misma red, ahora debes asegurarte que tu computadora este conectat la aceeași roșie sau wifi care las raspberry pi.
  • Vedeți o linie care dă ceva similar la "Odată ce Node-RED a început, indicați un browser la https://192.168.1.102:1880" dirección de ustedes será diferente a la mía.
  • Intră în browserul nostru web și copiam directia, asta ne va deschide IDE de Node-RED
  • Ahora vamos a install the paquete that needitamos, for ello vamos a ir a: button of menu arriba to the derecha => manage palette => Install. Esto nos va permitir de manera gráfica installar all the paquetes externos that needitemos, lo que serían las librerías en código.
  • Ahora vamos a instalar varios paquetes, esto lo haremos copiando el nombre del paquete que les dejaré abajo y dandole al button instalar. Esto debe hacerse para cada uno de los paquetes que les dejo abajo

    1. node-red-contrib-camerapi => Pentru camara
    2. node-red-node-pisrf => Para sensor ultrasónico
    3. node-red-contrib-speakerpi => Para boxe
    4. node-red-node-watson => Para watson
    5. node-red-contrib-ibm-watson-iot => Para watson
    6. node-red-bluemix-nodes => Servicii de cloud IBM
    7. node-red-contrib-python-function => Interpretează Pytho

Pasul 5: Programarea sistemului cognitiv

Programând El Sistema Cognitivo
Programând El Sistema Cognitivo
Programând El Sistema Cognitivo
Programând El Sistema Cognitivo

Node-RED permite importarea unui program pentru mediu de copiere și cod care le ajută.

Deben ir to button of menu arriba to the right => import => clipboard => pegar the code => import. Esto les should generar the bloques of program, some bloques must configurarse.

Configurare de flori:

  1. Para el primer bloque, que dice "Distancia", le dăruim dublu click și ne asigurăm că parametrii sunt mismos de la fotografia adjunta.
  2. Pentru „take photo python node”, faceți dublu clic și verificați egal parametrii alăturați. * Important asigurându-vă că "Numele fișierului" le-am pus "image.jpg" *
  3. Pentru e-mail trimitere, dublu clic și aici debem colocarul nostru date, în To: ar fi la ce direcție de e-mail trimis prin e-mailUserid: Seria la adresa de e-mail a persoanei care enviaPassword: La clave de esta última dirección de correo.
  4. El último paso se configura serviciile de Watson pe care le vom continua în următorul pas.

Pasul 6: Conectarea unui Watson

Conectând un Watson
Conectând un Watson
Conectând un Watson
Conectând un Watson
Conectând un Watson
Conectând un Watson

Watson este un serviciu de IBM foarte simplu de utilizat care funcționează prin mediu de API.

  1. În primul pas creează o cont în IBM Cloud. (IBM les dará un mes de prueba, para tener en cuenta)
  2. Una vez dentro verán algo como en la foto, aquí buscaremos abajo a stânga Watson => Visual Recognition => Pondremos un nombre único y le damos a crea. Como se muestra en las fotografias adjuntas.
  3. O dată ce este înăuntru, pot observa că au generat un API, acum le dan al butonului care spune "afișa" (Ver cuarta foto) și trebuie să copieze credențialele, unde dau "api_key".
  4. Van de vuelta al IDE de Node-RED și dublu clic pe blocul "Watson Visual Recognition", se asigură de a-ți susține credențialele în spațiul corect și de a ajusta parametrii la fel ca și fotografia.
  5. Esto mismo debe hacerse para el text to speech, Watson => Texto a voz => Pondremos un nombre único y le damos a crearea. Como se muestra en las fotografias adjuntas.
  6. Hemos generado un API nuevamente, now the dan to button that dice "mostrar" (Ver cuarta foto) și trebuie să copieze credențialele "username" y "password". Vamos de vuelta al IDE de Node-RED și dublu click pe blocul "Hablar", se asigură de a-ți adăuga credențialele în spațiul corect și a regla parametrii la fel ca și fotografia. * Esto debe hacerse para los bloques que dicen hablar *

Y listo, así de sencillo ya tienen su sistema funcionando!:) Eroare posibilă:

Dacă când se trebuie să ia fotografia noastra retorna o eroare și lumina (roșie) a camerei nu știu, vom revedea carpeta / home / pi / Pictures. Ahora debemos ver si la foto está en negro o tiene 0KB, si es así

Noul nostru sistem este configurat pentru a păstra fotografiile în carpeta / home / pi / Pictures,. În cazul în care nu există foto o fotografie nu se poate deschide (0KB), este posibil ca camera să fie conectată o care nu este abilitată. Pentru a permite camera ne vamos la butonul de început al Raspbian “/ Preferencias / Raspberry Pi / Configuración” și vamos la “Interfaces”. Ahí debemos aseguranos that “Cámara” está in “Habilitada”.

Pasul 7: Inteligencia Artificial

Inteligencia Artificial
Inteligencia Artificial
Inteligencia Artificial
Inteligencia Artificial

Procesar o imagine nu este ceva simplu de a face, necesită inteligență artificială pentru a putea detecta patronii în această imagine a celor care pot genera o o mai multe predicții de obiecte care ar putea fi el care se afișează în imaginea. Acest tip de algoritmi pot face de mai multe manere, o de el este folosind redes neuronale profunde care în actualitatea necesară un pic de timp pentru puterea să se construiască arhitectura și să programeze această roșie, numele specific pentru tipul de roșu care se utilizează es Redes Neuronales Convolucionales, care es el algoritmo that more se asemeja a las neuronas en la corteza visual humana. En estos algoritmos siempre se debe entrenar el sistema, con un conjunto de datos certeros y uno falso, es decir muchas fotos con el objeto que queremos reconocer y otro montón de fotos agrupadas, sin el objeto que queremos reconocer.

Una dintre ventajele de utilizare a lui Watson, este că are acest lucru pesat pentru noi incluzând că algoritmul este înrădăcinat pentru recunoașterea obiectelor universale, pentru presupusul dispune de o instrumentă a "câmpului de înrădăcinare" pentru a antrena sistemul nostru a unor obiecte puțin mai puțin comune, în acest caz, los gatos y perro los reconoce por default.

A continuación haré un paréntesis where explicaré as works one red neuronal artificial, with fines meramente didacticos, Nu este necesar pentru realizarea instructable. (Si tu interes es replicar el proyecto rápidamente, puedes saltarte hasta el fin del paréntesis).

Cómo works una Red Neuronal Básica (Inicio Opțional Informativo)

Una red este compusă de mai multe elemente individuale (unitate fundamentală) care se va percepe o ceea ce echivaldria a o neurona în nostru cerebro. Este compus din 3 părți principale:

  1. Entradas
  2. Funcția de sumă (Σ)
  3. Funcția de activare

Entradas:

Acestea sunt reprezentate în imaginea ca x1, x2, x3, x… Seran multiplicați pentru un greutate w (cu o valoare aleatorie la început)

Funcția de suma (Σ):

În acest punct ocurcă o sumă a tuturor intrărilor multiplicate pentru greutatea sa respectivă, finalizând operațiunea, trimis rezultatul la funcția de activare.

Funcția de activare:

Funcționarea ca limită o umbral, este să spun, și valoarea valorii rezultatului presupune numărul (prin lo general 0) se activează la ieșirea de la neurona. Podemos decir que es como una llave que deja pasar el agua o cierra el paso del agua. Solo que en este caso, hablamos de la salida de una neurona.

Ahora pe care o cunoaștem unitatea de bază a unei red neuronal (perceptrón) suntem listi pentru a vedea cum operează într-o red. Como observan en la segunda imagen, está compuesta de 3 capas principales:

  1. Capa de entrada
  2. Capa oculta
  3. Capa de ieșire

Capa de intrare:

Aici este unde primește toate intrările, pot exista într-un număr nedefinit de neurone.

Capa oculta:

Recibe la salida de cada neurona que existe en la primer capa, realizează același proces în fiecare percetrón y su salida se la entrega a la capa de salida.

Capa de ieșire:

Aceasta este capacitatea de clasificare, aici există un număr de neuroni egali la un număr de clasificatori care necesită, se spune și se știe dacă este un gătit sau un pericol necesar 2 neuroni, unul pentru gatoți și altă perrușă.

Todo esto es muy lindo, pero ¿Dónde ocurre realmente el learning? Esto ocurre en cada perceptron por individual, el algoritmo resulta que en calcular correct y ajustar los pesos w (Que initialmente tenían un valor random). Esto puede hacerse mediante aprendizaje no supervisado o aprendizaje supervisado, la manera más sencilla, se calculează eroarea, se spune, diferența între valorile de ieșire pe care le-am sperat și cele care într-adevăr îmi spun.

(Fin del Opțional Informativo)

Watson este creat folosind mulți algoritmi ca și cum am terminat de ver, dar cu o primărie profundă și complexitate prin presupus, înainte de a folosi Visual Recognition API, sau API de recunoaștere vizuală, (Que ahora sabemos que se trata de redes neuronales convolucionales y some alți algoritmi mai), rezultă foarte simplu de folosit, pentru că atunci când configurăm blocul cu credențiale și avem procesarea unei imagini, Watson ne va devolver un arhivă tip JSON cu un moton de posibilități de obiecte care pot fi prezente în această fotografie. Spune, când procesăm fotografia, Watson face analiza și devoțiem o listă cu obiecte probabile pe care le-am detectat în această fotografie, așa de simplu este să folosim Watson!

Luego solo usamos un script para recorrer todas esas posibles opciones y si en esa lista encuentra conciencia con un perro o un gato le avisará al resto del sistema para que dispense la comida correcta:)

Este necesar că se dă seama că inteligența artificială nu este ceva atât de complex, mai ales atunci când există servicii ca Watson pe care să-l facem lucrând pesat pentru noi!:)

Pasul 8: Construirea Un Hardware

Construind Un Hardware
Construind Un Hardware
Construind Un Hardware
Construind Un Hardware
Construind Un Hardware
Construind Un Hardware

Este pasul pe care l-am realizat în Inventoria LEAD (Ver laborator) el cual este un maker space în Costa Rica dezvoltat de Fundația Costa Rica pentru Inovare.

În el laborator contamos con impresoras 3D y cortadora láser între alt monton de instrumente și tehnologii cu dispozitie de noi, comunitatea, pentru a prototipa și dezvolta ideile noastre și proiecte de mana cu experți în zona.

Pasul 9: Imprimiendo El Mecanismo De Dispensado

Imprimiendo El Mecanismo De Dispensado
Imprimiendo El Mecanismo De Dispensado
Imprimiendo El Mecanismo De Dispensado
Imprimiendo El Mecanismo De Dispensado
Imprimiendo El Mecanismo De Dispensado
Imprimiendo El Mecanismo De Dispensado

Ca să comentăm în inventar LEAD avem o dispoziție pentru noi impresoare 3D, a celor care sunt folosite în acest proiect pentru a face realitate. Adjunto se vor găsi fișierele listate pentru imprimir, acestea primind urmează Este instructable el cuál explică pasul pasului cum să faci uz de impresorii 3D de Inventorie, tu că în acestea vor fi spații buscan pe care toate noi le-am învățat să fac lucrurile pentru noi mismos și nu cineva más nos las haga, por ello con este instructable aprenderán a utiliza estas maquinas y poner a imprimir las piezas por ustedes mismos.

Pasul 10: Cortando En Láser El Case

Cortando En Láser El Case
Cortando En Láser El Case
Cortando En Láser El Case
Cortando En Láser El Case
Cortando En Láser El Case
Cortando En Láser El Case
Cortando En Láser El Case
Cortando En Láser El Case

De la aceeași formă, hicimos utilizare a cortatoarei láser, unde designul a fost realizat folosind inkscape el cual este o versiune Open Source de programe de design grafic care ne permite generarea vectorilor., fără embargo, acest cod trebuie să fie generat de un software, în acest caz generăm un arhiv.

El material: Para este design es important saber that debemos use material de 3mm, one mayor can do that the piezas no calcen adequately. Yo he used acrilic negro mate (that compré en panaplast), esto es por una reason, me gusta realizar los lucrări cu mult ofițiu și eleganță, și acest material creează un efect vizual foarte interesant, de lejos se poate confuza cu aluminiu negru, ceea ce le da multă eleganță la proiect.

Ustedes can use the material that deseen, si buscan realizare ceva de la low cost, can do use of MDF de 3mm el cual is a material very economic and da acabados very bonitos de asemenea.

Pasul 11: Ensamblarea El Hardware

Ensamblând El Hardware
Ensamblând El Hardware
Ensamblând El Hardware
Ensamblând El Hardware
Ensamblând El Hardware
Ensamblând El Hardware

O dată când avem toate piesele complete, electronica și software-ul pregătit, putem începe să ne adunăm.

În fotografiile adjuntate verifică procesul!:)

  • Pași pentru armat:

    1. Armar las dos cajas y pegarlas con cinta (esto porque pueden desarmarse), as commentabamos usamos acrílico, para pegar este material es necesario use pegamento de acrílico o, pentru parecer mai multe interesante și intelectuale înainte de altă persoană, putem spune Cloruro de metileno … Luego me agradecen el tip;) jaja
    2. Aplică el cloruro de metileno: -Este pegamento es un ácido que es muy peligroso, se recomienda aplicarlo cu o jeringă și guante.

      -El proces trebuie să se realizeze cu calma și îngrijirea, ya că o gota într-un loc echivoc poate dañar estetica de nostru acrilic. Como recomendación personal, siempre que hagan un proyecto realicenlo with much oficio y detalle. Cuidarea cablurilor este ceva important, un proiect limpio și plăcut la vedere are un impact major pe care unul cu cabluri dezordonate, care se vea dezordonat, complexe sau succes.

* Ensable de la cutie 1, distribuitorul (Cu motoarele) -En acest punct debem să luăm acople de motoare pe care le imprimăm în 3D și atornillarlos la motor, tal y como se muestra en la foto. Pueden use tornillos with mesure M3, the largo no importa… -Ahora debemos take the espiral y, a pressure, debemos doing calzar el hueco that has by debajo with the rotor (palito that gira) del motor y should stay how we sample in the fotos.-Ahora insertamos la pieza completa dentro del Tubo de PVC. (Este sistemul este foarte utilizat în industria ca mașină de injecție, un exemplu de aplicare este în mașinile de injecție de platisco, adjunto econtrarán un diagrama de como funcionan estas maquinas) -Hacemos la inserción de las dos piezas completas dentro de la caja de mod care ne-a făcut un acople corect între huecos de ieșire a cutiei și ieșirea tubului de PVC-Colocamos la tapa superior o cobertor cobertor. * Ensamble de la cutie 2, la electronică.-Colocamos el sensor ultrasonico en los orificios. Con contadoble cara fijamos la camera a la pared de acrílico.-Acomodamos la electrónica, esto lo hice como se muestra en la foto, pero ustedes se pot acomoda la su gusto. Próximos RetosAhora sigue que lo ajusten a sus necesidades y lo hackeen por complet, le sugiero some retos:

  1. Ajustar a sus mascotas (por tipo de animal)
  2. Construiți un caz cu mai multe sisteme de distribuire, pentru mai multe animale, astfel cum puteți configura sistemul pentru recunoașterea mai multor animale
  3. Conectează-te cu IBM IoT pentru a controla sistemul de orice parte a lumii
  4. Adăugați un distribuitor de apă
  5. Hacerle orice schimbare care sea oportuno pentru ti:)

* Este instructabil a fost realizat de Bernal Rojas cu Cesar Rodriguez Bravo ca co-autor *

Recomandat: