Taula de continguts:

STEM: control de veu i imatge: 13 passos
STEM: control de veu i imatge: 13 passos

Vídeo: STEM: control de veu i imatge: 13 passos

Vídeo: STEM: control de veu i imatge: 13 passos
Vídeo: КАК НАСТРОИТЬ L4D2 2024, Desembre
Anonim
STEM: control de veu i imatge
STEM: control de veu i imatge
STEM: control de veu i imatge
STEM: control de veu i imatge
STEM: control de veu i imatge
STEM: control de veu i imatge

En els darrers anys, cada vegada és més fàcil fer alguna cosa amb reconeixement de veu o imatge. Tots dos s’utilitzen cada cop amb més freqüència. I aquests són temes populars en projectes de bricolatge. La major part del temps es crea amb el programari / API d'una de les empreses següents:

  • Google Voice.
  • Amazon Alexa.
  • Microsoft Cognitive Services.

Fins i tot hi ha alguns kits de bricolatge, com el Google AIY Voice Kit per donar suport als aficionats. La majoria d'aquests productes utilitzen un Raspberry Pi o un tauler similar. Malauradament, això no és adequat per a aquells que no saben manejar un llenguatge de programació, com ara Python.

Aquest instructiu tracta sobre el reconeixement de veu i l’OCR d’imatges, sense cap coneixement d’un llenguatge de programació. No obstant això, el pensament lògic continua sent un requisit. D'aquesta manera, s'utilitza el producte Makeblock Neuron, combinat amb un entorn de programació basat en flux.

Aquest producte Neuron va començar com un projecte Kickstarter el 2017. Es tracta d’una plataforma electrònica de blocs de construcció que utilitza tot tipus de “blocs” electrònics que es poden connectar mitjançant connectors magnètics. I s’entén bàsicament com un producte STEM (ciència, tecnologia, enginyeria i matemàtiques). Per tant, aquest producte se centra en el pensament lògic i (aprendre) a programar.

Hi ha uns 30 tipus diferents de blocs de neurones. Com ara diferents tipus de transmissors i receptors, botons, LEDs, sensors i motors. La majoria de blocs només es comuniquen entre ells. Però un dels blocs, el bloc WiFi, es pot connectar a Internet. Això permet accedir a aplicacions d’Internet com el Microsoft Cognitive Services.

Els primers passos d’aquest instructiu comencen amb una breu introducció sobre el producte Neuron i la manera de programar-los. Això inclou la programació basada en flux i alguns dels components electrònics disponibles. A continuació, es mostren alguns exemples amb reconeixement de visió i veu. I, finalment, un petit robot tortuga. Que es pot controlar remotament mitjançant un joystick. És possible utilitzar el reconeixement de veu amb aquest robot. Tot i això, cal tenir en compte els temps de resposta del control de veu.

A més, hi ha informació tècnica addicional. Aquests passos proporcionen informació general i proporcionen informació sobre el producte Neuron.

G o s s e A d e m a

Pas 1: kit Neuron Explorer

Kit Neuron Explorer
Kit Neuron Explorer
Kit Neuron Explorer
Kit Neuron Explorer

Els blocs de neurones són com els maons electrònics i el color de cada neurona mostra la seva funció principal. Els blocs d’energia i comunicacions són ecològics; Els blocs d’entrada són grocs; Els blocs de control són de color taronja; I els blocs de sortida són blaus. Cada neurona té la seva pròpia funció dedicada i comencen a comunicar-se entre ells quan estan connectats.

El producte es va iniciar com un projecte de Kickstarter a l’abril de 2017. I és instructiu que s’utilitza el kit Explorer. Aquest kit conté les següents parts:

  • WiFi (neurona)
  • Potència (neurona)
  • Micròfon i altaveu (USB)
  • Tauler LED 8x8 RGB (neurona)
  • Palanca de control (neurona)
  • Pom (neurona)
  • Controlador de tira led (neurona)
  • Tira LED de 50cm (15 LEDs)
  • Controlador de motor CC dual (neurona)
  • Motor de corrent continu (2x)
  • Suport del motor (2x)
  • Rodes (2x)
  • Mini roda
  • Controlador de servomotor dual (neurona)
  • Servomotor (2x)
  • Reconeixement de veu (neurona)
  • Sensor d'ultrasons (neurona)
  • Transmissor sense fils (neurona)
  • Receptor sense fils (Neuron)
  • Càmera (USB)
  • Punter làser
  • Tauler de neurones (4x)
  • Imant de filferro de 10 cm (2x)
  • Imant de filferro de 20 cm (2x)
  • Cable micro USB de 20 cm (2x)
  • Cable micro USB de 100 cm (2x)

Aquest kit conté totes les parts electròniques per a tot tipus de projectes STEM. Sembla que el seu punt d’enfocament principal és fabricar petits robots. Però la càmera i el reconeixement de veu li donen més possibilitats que els robots.

Cada neurona conté un imant. I es pot col·locar sobre objectes metàl·lics o sobre les taules de neurones subministrades.

L'única part que "falta" d'aquest kit explorador és un sensor de seguidor de línia. Aquesta és una part del kit "Tot en un". Aquest sensor seria una opció més lògica, en lloc de la tira LED o la matriu LED.

Pas 2: blocs de neurones

Blocs de neurones
Blocs de neurones
Blocs de neurones
Blocs de neurones
Blocs de neurones
Blocs de neurones

Diversos paquets Neuron es van vendre mitjançant una campanya Kickstarter. I en aquest moment els primers paquets estan disponibles per a la venda regular.

Hi ha uns 30 blocs diferents, que es poden connectar entre si amb connectors magnètics. Això crea una línia de blocs. Que es comuniquen entre ells a través de l'aplicació (Android, iOS).

Hi ha un bloc d’alimentació recarregable que alimenta tots els blocs connectats. I tots els blocs de comunicació tenen un connector micro USB que es pot utilitzar per alimentar els blocs. Una cadena normalment comença amb un bloc de comunicació. I si això no funciona amb USB, el següent bloc hauria de ser un bloc d’alimentació.

L’energia que bloqueja la comunicació té un color verd i n’hi ha 5:

  • Potència.
  • Receptor sense fils.
  • Transmissor sense fil.
  • WiFi.
  • BlueTooth.

El programa App i Scratch requereix una connexió WiFi o BlueTooth. Els 2 blocs sense fils es poden utilitzar per a projectes controlats a distància amb una distància curta.

El kit Explorer conté tres blocs de control taronja:

  • Pom.
  • Palanca de control.
  • Reconeixement de veu.

I dos sensors grocs:

  • Càmera
  • Sensor d'ultrasons

Els blocs de control i sensors proporcionen entrada per al vostre programa. El comandament dóna un valor entre 0 i 100 i es pot utilitzar com a atenuador o per controlar la velocitat d’un motor. El joystick dóna dos valors beten -100 i 100, un valor per a cada direcció. El sensor d'ultrasons mesura la distància en centímetres. El valor de sortida és d'entre 0 i 400.

Els cinc blocs de sortida blaus d’aquest kit són:

  • Controlador de tira LED + tira Led.
  • Panell LED.
  • Controlador de motor de CC
  • Controlador de servomotor
  • Micròfon i altaveu

Els blocs de sortida són molt diversos. Això permet molts tipus de projectes diferents. Com una llum LED, un robot en moviment i / o una gravadora de so.

Tots els blocs de neurones apareixen a la pàgina Kickstarter.

Pas 3: Programació de la neurona

Programació de la neurona
Programació de la neurona
Programació de la neurona
Programació de la neurona

Hi ha diverses maneres d’utilitzar els blocs Neuron.

  1. Desconnectat.
  2. En línia amb una aplicació.
  3. En línia amb mBlock Scratch.

Fora de línia ofereix una manera senzilla d’introduir les diferents parts. Això no requereix programació. La programació en línia es pot fer amb una aplicació (Android / iOS) o un programa d’ordinador (mBlock 4.0). El bloc WiFi té la capacitat de desar un programa. Aquest programa continua funcionant fins que l'aplicació l'atura.

L’aplicació és més fàcil d’utilitzar que el programari mBlock 4.0. I no tots els blocs Neuron estan presents actualment al programari mBlock.

Hi ha algunes cartes amb projectes de mostra al quadre Neuron. Es poden combinar amb l'ajuda de l'aplicació i mostrar els principis bàsics dels diferents blocs.

Pas 4: mode fora de línia

Mode fora de línia
Mode fora de línia
Mode fora de línia
Mode fora de línia
Mode fora de línia
Mode fora de línia

Aquest mode està pensat principalment per conèixer el producte i no requereix cap programació.

Cada sensor de bloc de sortida és capaç de proporcionar sortida als blocs connectats a la dreta. I cada bloc de pantalla pot rebre senyals d’entrada des de l’esquerra; Dóna la seva sortida; I passa el senyal d’entrada a blocs addicionals connectats a la dreta.

Per això, una cadena fora de línia sempre conté diversos blocs en un ordre fix: Un bloc de potència verd; Un bloc groc o taronja (entrada o control); I un o més blocs de sortida blaus. I aquest mode fora de línia només funciona d’esquerra a dreta (amb lletres llegibles).

Un bloc d’entrada o control controla tots els blocs de sortida següents. I la sortida depèn del tipus de bloc d’entrada. Per exemple: el comandament actua com un atenuador quan es connecta a una matriu de LED. I el joystick mostra la direcció de la matriu LED. Els senyals de diversos blocs d’entrada no es poden combinar en mode fora de línia. Només es passa el senyal de l'últim bloc als blocs de sortida.

La combinació de blocs d’entrada i / o control requereix el mode en línia (programació).

Pas 5: programació basada en flux

Programació basada en flux
Programació basada en flux

Quan els blocs Neuron es connecten a una tauleta (iPad), es tornen automàticament actius en mode en línia. Ara tots els blocs connectats es poden utilitzar per interactuar entre ells. Tot i que l’entorn del programa afegeix operacions de lògica i matemàtiques.

La documentació sobre la programació dels blocs Neuron està disponible al lloc web de Makeblock. També hi ha un fòrum que proporciona molta informació. Com que aquest producte és bastant nou, hi ha actualitzacions i addicions periòdiques a la documentació del lloc web de Makeblock.

L’aplicació Neuron utilitza programació basada en fluxos. A més dels blocs Neuron que donen valors de sortida o requereixen valors d’entrada, hi ha tot tipus de nodes de programació diferents. Aquests es divideixen en diverses àrees i s'han col·locat en diferents pestanyes de l'aplicació. Per defecte, hi ha 4 pestanyes:

  • Bàsic
  • Controls
  • Temps
  • Avançat

Aquests nodes de programació es poden utilitzar sense blocs Neuron.

La documentació en línia de Makeblock mostra les funcions de la interfície de l'aplicació.

Lògica i matemàtiques

Són funcions bàsiques. I tenen una o dues entrades i un valor de sortida. Hi ha diversos càlculs i comparacions simples.

Robot instructiu
Robot instructiu

La funció de commutació canvia el seu estat cada vegada que rep una "Y".

Números

Hi ha dos nodes numèrics, un de "bàsic" i un de "control" (estan en diferents pestanyes). La versió dels controls és un número fix, mentre que el número bàsic té un estat "activat" i "apagat". L'exemple següent mostra la diferència. L'interval s'activa ('Y') i s'apaga ('N') cada segon. La sortida del número verd és 5 quan l'entrada és "Y", en cas contrari el valor és 0.

Robot instructiu
Robot instructiu

El node de la corba mostra un gràfic. Això és útil per mostrar els diferents valors de sortida. Altres indicadors útils són l’etiqueta i el node d’indicadors.

Seqüència

La seqüència s'executa repetida o només una vegada quan l'entrada és "Y". Això permet una seqüència d'accions.

Robot instructiu
Robot instructiu

La seqüència rep un senyal quan l’interruptor està activat. La sortida de la seqüència es passa a un indicador.

Tingueu en compte el color de les línies: les línies blaves indiquen el flux actual. I el cercle a la dreta d’un node sempre mostra la sortida actual.

Escala

El node d'escala tradueix un rang d'entrada a un rang de sortida. Per exemple, del 0 al 100 es pot traduir a un valor entre 0 i 255.

Robot instructiu
Robot instructiu

Els valors superiors al màxim de l'interval d'entrada donen lloc a un valor superior a l'escala màxima de sortida. El filtre es pot utilitzar per limitar el valor.

Vàlvula

Es tracta d’un node que passa el valor d’entrada inferior si el valor d’entrada superior és cert. Això s’explica millor amb un exemple:

Robot instructiu
Robot instructiu

El node d'interval verd commuta entre 0 i 1 cada mig segon. La sortida d’aquest node és visible al gràfic superior. El node de pols morat dóna una sortida sinusal, amb valors entre -255 i 255. Això es mostra al gràfic inferior.

Tant l'interval com el sinus són d'entrada per al node de la vàlvula. I el valor de sortida és 0 quan el valor de l'interval és 'N'. Quan el valor d'interval és "Y", el valor de sortida és igual al valor d'entrada sinusal. Això dóna el gràfic central.

Pas 6: Exemple de flux

Exemple de flux
Exemple de flux
Exemple de flux
Exemple de flux

La millor manera de mostrar la programació de flux és amb un exemple. Aquest exemple no utilitza blocs de neurones. I tothom el pot programar després de descarregar l’aplicació. Obriu l'entorn de codi i creeu un programa nou. Seleccioneu "(X)" quan se us demani una connexió i comenceu a programar.

Simplement arrossegueu els nodes necessaris a l'àrea del programa i connecteu les línies. Feu clic a de nodes per veure les possibilitats i modificar els valors / paràmetres.

La sortida dels botons és 'N' per defecte. En prémer un botó es dóna una "Y" com a sortida. Aquesta sortida s'envia a un generador de números aleatoris. Això genera un número nou (beteen 0 i 100) cada vegada que l'entrada té el valor 'Y' i passa la sortida als següents nodes.

Els nodes de comparació requereixen 2 entrades i retornen el valor "Y" si es compleix la condició. El node de comparació superior comprova si el valor del port A és superior al valor del port B. Si això és cert, el llum es torna verd. Actualment, la làmpada inferior és verda, perquè 21 és inferior a 23.

Es requereix una mica de pràctica per programar d'aquesta manera. El gran avantatge és que no cal pensar en la sintaxi del codi. I cada node mostra el seu valor de sortida. A més, les línies blaves representen el flux de dades.

Pas 7: control de la imatge

Control de la imatge
Control de la imatge
Control de la imatge
Control de la imatge

Hi ha dos blocs Neuron que es poden connectar al bloc WiFi mitjançant un cable USB: la càmera i el micròfon / altaveu. Tots dos dispositius són dispositius USB normals i es poden connectar a un PC. La càmera requereix alguns controladors addicionals, però l’altaveu funciona com un altaveu USB normal.

Una pestanya i una icona de la càmera apareixen a l'interior de l'aplicació quan la càmera està connectada al bloc WiFi. La icona obre una finestra de previsualització amb la imatge de la càmera.

Hi ha un node de fotografia / càmera a la pestanya de la càmera. Es fa una foto quan hi ha un senyal d'entrada amb el valor 'Y' (cert). Després de col·locar aquest node a l'àrea del programa, té tres opcions (feu clic al node):

  • Marc de fotos
  • OCR
  • Prova d'emoticones

El marc de fotos mostra la sortida del node de la foto. Els tres nodes següents proporcionen una "càmera de fotos". La càmera fa una foto quan es prem el botó (això dóna "Y" com a sortida). I això es mostra dins del marc de fotos. La imatge s’emmagatzema dins del bloc WiFi, però es sobreescriu quan es fa una foto nova.

Robot instructiu
Robot instructiu

És possible utilitzar el temporitzador per a l'entrada de la càmera, però no feu l'interval massa curt (> 1 segon). Altrament, el bloc WiFi no pot gestionar les dades i queda penjat durant un temps.

El node OCR tradueix les imatges a text. Utilitza els serveis cognitius de Microsoft. El bloc WiFi ha d’estar connectat a Internet i l’aplicació ha d’estar connectat al bloc WiFi.

El següent programa fa una fotografia quan es prem el botó. Aquesta foto es mostra i processa mitjançant el node OCR. La sortida es compara mitjançant tres nodes de comparació de text. Aquests comproven els valors "un", "dos" i "tres". I cada valor mostra una imatge diferent al tauler LED. La sortida del node OCR també es mostra mitjançant un node "etiqueta". Això mostra "No" (fals) quan no es reconeix res.

Robot instructiu
Robot instructiu

Les línies blaves indiquen el flux de dades dins del programa. I la "Y" i la "N" després de cada node representa el seu valor de sortida. Això simplifica la resolució de problemes dins d’un programa. Malauradament, la sortida de la matriu LED no es mostra a l'aplicació.

L'opció final del node de càmera és la prova d'emoticones. Això tradueix les cares d’una imatge en una emoció.

Robot instructiu
Robot instructiu

Els exemples anteriors són simples, però mostren el principi bàsic. Es poden afegir blocs de lògica i neurones addicionals per crear programes més complexos

Pas 8: reconeixement de veu (micròfon)

Reconeixement de veu (micròfon)
Reconeixement de veu (micròfon)
Reconeixement de veu (micròfon)
Reconeixement de veu (micròfon)

A més de la càmera, es pot connectar un micròfon / altaveu Neuron al bloc WiFi. Es pot utilitzar per gravar i reproduir fragments d'àudio. Connectar aquesta neurona proporciona una pestanya "so" addicional a l'aplicació.

El node de gravació només gravarà el so si l'entrada és "Y", això requereix un botó o un commutador. El fragment d'àudio gravat és la sortida del node de gravació. Si afegiu el node de "reproducció de so", es reprodueix immediatament aquesta sortida. Es pot utilitzar fer un lloro:

Robot instructiu
Robot instructiu

En fer clic al node del micròfon es donen dues opcions: "veu al text" i "desa el registre".

El node "desa el registre" desa el fitxer d'àudio al sistema de fitxers del bloc WiFi. Aquest fitxer es sobreescriu cada vegada que s'inicia una nova gravació.

El node "Reproduir so" és capaç de reproduir àudio d'entrada, però també és possible seleccionar un efecte de so o un fitxer gravat. Requereix un activador d’entrada per iniciar el so donat. I s'atura immediatament quan l'entrada és 'N' (fals). L’exemple següent és una mena de dictàfon. El botó superior fa una gravació i el botó inferior reprodueix aquesta gravació.

Robot instructiu
Robot instructiu

L'opció de veu a text del node de micròfon utilitza serveis cognitius de Microsoft per traduir la gravació a text. El node d'etiqueta és capaç de mostrar la sortida. Els nodes de so de gravació i reproducció no són necessaris per traduir la veu al text. Però són útils durant la programació per comprovar la sortida.

Robot instructiu
Robot instructiu

La depuració d'aquesta funció es pot fer iniciant sessió al bloc WiFi (funció avançada).

[2018-01-19 23:00:35] [ADVERTÈNCIA] S'ha cridat el gestor de sol·licituds "servidor de so":

És possible comprovar si hi ha diverses paraules. I el node de comparació funciona igual que l’OCR de la càmera.

De vegades, la mateixa paraula dóna una sortida diferent. Per exemple: "adéu" pot donar un dels valors següents: "adéu" o "adéu". Això requereix diversos nodes de text amb la mateixa sortida:

Robot instructiu
Robot instructiu

Nota: l'idioma predeterminat i predeterminat del text és l'anglès.

Pas 9: reconeixement de veu (neurona)

Reconeixement de veu (neurona)
Reconeixement de veu (neurona)
Reconeixement de veu (neurona)
Reconeixement de veu (neurona)
Reconeixement de veu (neurona)
Reconeixement de veu (neurona)

Es tracta d’una neurona dedicada a convertir la veu en text. Accepta 22 ordres que estan codificades a l'interior del bloc i del codi Neuron:

var COMMAND = {'Encén el llum': 3, "Torna vermell": 4, "Torna blau": 5, "Torna verd": 6, "Torna blanc": 7, "Més llum": 8, "Menys llum": 9, "Llums apagats": 10, "Motor endavant": 11, "Motor cap enrere": 12, "Accelera": 13, "Accelera": 14, "Amor": 15, "Somriu": 16, "Angry": 17, "Trist": 18, "Rock and roll": 19, "Fire Fire": 20, "Start game": 21, "Winter is coming": 22, "Start": 23, "Shut off": 24};

Aquest bloc només accepta anglès. I requereix una pronunciació correcta. No hi ha molt marge per a l’error. I fins i tot la sortida de veu de Google Voice Translate no sempre activa l'ordre corresponent. Però l’ús de Google Speach continua sent un bon punt de partida. Comenceu per "Hello Makeblock", "Hello Makeblok" i / o "Helo makeblok". Seguit de "l'hivern comença" o "es torna verd".

Aquestes ordres s'han utilitzat al codi de la primera imatge d'aquest pas. L'indicador situat a la dreta del node superior de l'ordre de veu és "Y" (cert). Això indica que s'ha reconegut l'ordre.

Es necessita una mica de pràctica per treballar amb aquesta neurona. Afortunadament, el bloc repeteix el missatge després de rebre’n un (conté un altaveu i un micròfon).

Pas 10: Tortuga LEGO controlada a distància

Tortuga LEGO controlada a distància
Tortuga LEGO controlada a distància
Tortuga LEGO controlada a distància
Tortuga LEGO controlada a distància
Tortuga LEGO controlada a distància
Tortuga LEGO controlada a distància
Tortuga LEGO controlada a distància
Tortuga LEGO controlada a distància

El kit Neuron Explorer conté 2 motors CC i 2 servomotors. Això requereix un robot: una tortuga de tres rodes. Utilitza els motors i les rodes del kit amb algunes parts LEGO com a bastidor.

Hi ha 8 bigues, de forma circular, adossades a la part superior d’aquest marc. Aquests feixos donen suport a la tira LED. Tres plaques de neurones magnètiques es col·loquen damunt dels 8 feixos. Aquests contenen les parts neuronals següents:

  • Receptor sense fils
  • Potència
  • Cable de 10 cm
  • Controlador de servomotor
  • Controlador de motor de corrent continu
  • Controlador de tira LED
  • Cable de 10 cm

El cable final de 10 cm s’uneix al sensor d’ultrasons, que es col·loca al cap de la tortuga. Aquest cap està format per la quarta placa magnètica de neurones. Finalment, la cua està formada per un servomotor, amb un feix de lego adherit.

El resultat sembla només "cables i electrònica", però l'escut de les tortugues cobreix gairebé tots els aparells electrònics.

El robot es pot controlar amb el joystick. Això requereix el bloc WiFi (o Bluetooth), el joystick i el transmissor sense fils. El comandament a distància requereix una font d'alimentació USB. Només hi ha un bloc d'alimentació disponible, que es troba dins del robot.

La primera imatge mostra un possible programa per a aquest robot. El joystick està connectat al bloc del motor de corrent continu. Amunt / avall per velocitat i esquerra / dreta per direcció.

La sortida del sensor d'ultrasons es compara amb el valor de 100 cm. Si la distància és major, el color verd / groc es mostra a tots els LED. Els colors es tornen vermells / taronja quan la distància baixa de 100 cm.

La cua utilitza un node d’impulsos entre -180 i 180. Una funció ABS fa que el valor negatiu sigui positiu. Aquest valor es passa al servomotor i la cua comença a moure’s.

Combinant els blocs de neurones i els nodes de funció és possible escriure programes més complexos. La velocitat de la cua pot dependre de la velocitat del robot o el robot es podria aturar si el sensor ultrasònic mesura menys de 30 cm.

Pas 11: Tortuga 2.0

Tortuga 2.0
Tortuga 2.0
Tortuga 2.0
Tortuga 2.0
Tortuga 2.0
Tortuga 2.0

La tortuga LEGO anterior es pot simplificar utilitzant un tros de cartró / fusta. He utilitzat una peça de fusta contraxapada de 8 mm. Utilitzeu una trencaclosques per crear un cercle amb un diàmetre de 19 cm. Practicar tots els forats amb un trepant de 4, 8 mm. Utilitzeu la broca i la serra per crear les obertures quadrades. Aquests són per a les rodes i els cables.

He utilitzat peces LEGO per fixar les parts Neuron a la placa de fusta. Hi ha alguns connectors compatibles dins del kit Explorer. Però també és possible utilitzar cargols m4 per a la majoria de connexions.

A la part inferior s’uneixen dos motors de corrent continu (amb rodes) (quadrats de color vermell fosc). Igual que la roda posterior (rectangle negre). S'utilitza una biga tècnica LEGO per a una distància addicional entre la placa i la roda posterior. Els tres quadrats morats són per a les plaques de neurones magnètiques. La quarta placa magnètica de neurones s’utilitza per al sensor de capçal / ultrasons (rectangle taronja). El cercle vermell mostra la ubicació de la tira LED. Feu servir gomes petites (bandes de teler) per subjectar la tira LED.

Aquest robot funciona amb el mateix codi que la tortuga LEGO.

Pas 12: Internes de programari

Programes interns
Programes interns
Programes interns
Programes interns
Programes interns
Programes interns

Programar els blocs Neuron és fàcil, no cal escriure cap codi. Per tant, la informació següent només és per a usuaris avançats. Proporciona una idea del funcionament del producte Neuron.

La pàgina Makeblock Github conté codi Neuron. Podeu descarregar-lo i explorar el codi. Està escrit en Javascript i utilitza nodeJS.

El bloc WiFi hauria d’estar connectat a Internet. Quan l'aplicació es connecta al SID del bloc WiFi, rep una adreça IP del bloc WiFi. Els blocs WiFi ara actuen com una passarel·la.

L’adreça IP del bloc WiFi és 192.168.100.1. Hi ha un servidor web que s’executa al port 80 que mostra una interfície de configuració (contrasenya = makeblock). Això permet canviar diversos paràmetres i opcions.

Podeu canviar la zona horària i / o el SSID WiFi. Però vés amb compte, hi ha poca documentació sobre la resta de paràmetres.

La pestanya Serveis / Compartiments de xarxa mostra tots els recursos compartits de xarxa. He fet un "Servidor" compartit addicional a la carpeta "/ tmp / run / mountd / mmcblk0p1 / neurons-server". Aquesta carpeta (i subcarpetes) conté tots els fitxers de registre, so i imatge.

Això permet navegar per tots els fitxers amb l'explorador de fitxers de Windows. En obrir el recurs compartit "\ 192.168.100.1 / Server" es proporciona accés de lectura a tots els fitxers del motor Neuron. Inclou el fitxer de registre del servidor:

uuid del dispositiu: 6A1BC6-AFA-B4B-C1C-FED62004

proveu mqtt.connect connectat al núvol iot ok … [2018-01-19 22:56:43] [WARN] serverLog - Gestor de sol·licituds 'servidor de so': {"startRecord"} [2018-01-19 22:56:43] [WARN] serverLog - registre inicial [2018-01-19 22:56:45] [WARN] serverLog - Gestor de sol·licituds 'servidor de so': {"stopRecord"} [2018-01-19 22:56:45] [WARN] serverLog - stop record [2018-01-19 22:56:46] [WARN] serverLog - Gestor de sol·licituds 'servidor de so': {"speakerRecognize"} requestSpeech result: hello

El fitxer config.js conté tots els paràmetres. Això inclou les claus de Microsoft i el nivell de registre actual. Es poden modificar, però sempre conserven una còpia del fitxer original.

El nivell de registre per defecte és "ADVERTÈNCIA". Això es pot modificar quan sigui necessari:

* `loglevel`: el nivell de Google que cal configurar, no imprimirà el registre amb una prioritat inferior a la definida.

* actualment admet loglevel * ** TRACE **, * ** DEBUG **, * ** INFO **, * ** WARN **, * ** ERROR **, * ** FATAL **

He compartit la xarxa de només lectura. Un recurs compartit de lectura-escriptura permet col·locar imatges-j.webp

També hi ha un servidor ssh que s’executa al port 22. Això fa que pugueu iniciar sessió al shell de Linux. Utilitzeu Putty per connectar-vos a 192.168.100.1 i inicieu sessió amb l’usuari root i la contrasenya makeblock. Però tingueu molta cura.

Els blocs WiFi executen OpenWrt. Es tracta d’una distribució de Linux per a dispositius incrustats. El programari Neuron es troba al directori "/ tmp / run / mountd / mmcblk0p1 / neurons-server".

És possible programar la majoria dels blocs Neuron amb el programari mBlock. Això requereix la versió 4.0.4 del programari. Els serveis de Microsoft no estan disponibles en aquesta versió zero. Es pot utilitzar el reconeixement de veu Neuron, que no requereix aquests serveis. La versió 5 de mBlock no admet els blocs Neuron en aquest moment (gener de 2018).

Els blocs de codis Neuron estan disponibles a la part Robots (blau). I el programari mBlock té l’avantatge que no només es poden utilitzar els blocs connectats. No té sentit utilitzar blocs que no tingueu, però això permet escriure codi sense que hi hagi cap bloc Neuron connectat.

La contrasenya per defecte s’ha de canviar quan s’utilitza Neuron en una xarxa WiFi oberta.

Pas 13: Internes de maquinari

Internes de maquinari
Internes de maquinari
Internes de maquinari
Internes de maquinari
Internes de maquinari
Internes de maquinari

Aquesta informació de maquinari és només per a informació de fons. No ha estat verificat per Makeblock.

La majoria de maquinari dels productes Makeblock està ben documentat. Però no hi ha molta informació de maquinari sobre el producte Neuron. Hi ha algunes imatges a Kickstarter, però això mostra els elements interns d’un prototip. Aquest només té un connector USB i el producte real té dos connectors USB.

El servidor web dins del bloc WiFi revela el maquinari real que s’utilitza per a aquest bloc. És un MediaTek LinkIt Smart 7688. Les característiques principals d’aquest tauler són:

  • Funciona amb OpenWrt Linux i admet el desenvolupament d'aplicacions en Python, Node.js i llenguatges de programació C.
  • Utilitza un MT7688AN com a MPU autònoma i admet dos modes d’operació: passarel·la IoT i mode de dispositiu IoT
  • Admet Wi-Fi, host USB i targetes SD.
  • Pin-out per a PWM, I2C, SPI, UART, Ethernet i I2S.
  • Admet fins a 256 MB de RAM amb emmagatzematge addicional de targetes SD.

Els sistemes de fitxers Linux mostren l’emmagatzematge intern del disc:

root @ makeblock_linkit: ~ # df -h

Mida del sistema de fitxers utilitzat Disponible Ús% Muntat a rootfs 17,9M 644,0K 17,3M 4% / / dev / root 12,8M 12,8M 0 100% / rom tmpfs 61,7M 812,0K 60,9M 1% / tmp / dev / mtdblock6 17,9M 644,0K 17,3M 4% / overlayfs overlayfs: / overlay 17,9M 644,0K 17,3M 4% / tmpfs 512,0K 0 512,0K 0% / dev / dev / mmcblk0p1 1,8G 101,4M 1,7G 5% / tmp / run / mountd / mmcblk0p1 /

Hi ha un volum de disc anomenat mmcblk01 dins del bloc. Aquest nom s'utilitza principalment per a targetes de memòria. Sembla que hi ha una targeta SD de 2 Gbyte a l’interior (1,7 Gbyte + 256 Mbyte per al LinkIt 7688).

Els pins pogo tenen 4 connectors: un per a VCC, un per a terra i dos per a comunicació. Els blocs de neurones probablement es comuniquen amb el protocol I2c. Hi ha d’haver una placa compatible amb Arduino dins de cada neurona.

Recomanat: