diff --git a/README.md b/README.md index 6ffdad36f..d6d2b85ae 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ Follow these steps to get started using these resources: #### Supported via GitHub Action (Automated & Always Up-to-Date) -[Arabic](./translations/ar/README.md) | [Bengali](./translations/bn/README.md) | [Bulgarian](./translations/bg/README.md) | [Burmese (Myanmar)](./translations/my/README.md) | [Chinese (Simplified)](./translations/zh/README.md) | [Chinese (Traditional, Hong Kong)](./translations/hk/README.md) | [Chinese (Traditional, Macau)](./translations/mo/README.md) | [Chinese (Traditional, Taiwan)](./translations/tw/README.md) | [Croatian](./translations/hr/README.md) | [Czech](./translations/cs/README.md) | [Danish](./translations/da/README.md) | [Dutch](./translations/nl/README.md) | [Estonian](./translations/et/README.md) | [Finnish](./translations/fi/README.md) | [French](./translations/fr/README.md) | [German](./translations/de/README.md) | [Greek](./translations/el/README.md) | [Hebrew](./translations/he/README.md) | [Hindi](./translations/hi/README.md) | [Hungarian](./translations/hu/README.md) | [Indonesian](./translations/id/README.md) | [Italian](./translations/it/README.md) | [Japanese](./translations/ja/README.md) | [Kannada](./translations/kn/README.md) | [Korean](./translations/ko/README.md) | [Lithuanian](./translations/lt/README.md) | [Malay](./translations/ms/README.md) | [Malayalam](./translations/ml/README.md) | [Marathi](./translations/mr/README.md) | [Nepali](./translations/ne/README.md) | [Nigerian Pidgin](./translations/pcm/README.md) | [Norwegian](./translations/no/README.md) | [Persian (Farsi)](./translations/fa/README.md) | [Polish](./translations/pl/README.md) | [Portuguese (Brazil)](./translations/br/README.md) | [Portuguese (Portugal)](./translations/pt/README.md) | [Punjabi (Gurmukhi)](./translations/pa/README.md) | [Romanian](./translations/ro/README.md) | [Russian](./translations/ru/README.md) | [Serbian (Cyrillic)](./translations/sr/README.md) | [Slovak](./translations/sk/README.md) | [Slovenian](./translations/sl/README.md) | [Spanish](./translations/es/README.md) | [Swahili](./translations/sw/README.md) | [Swedish](./translations/sv/README.md) | [Tagalog (Filipino)](./translations/tl/README.md) | [Tamil](./translations/ta/README.md) | [Telugu](./translations/te/README.md) | [Thai](./translations/th/README.md) | [Turkish](./translations/tr/README.md) | [Ukrainian](./translations/uk/README.md) | [Urdu](./translations/ur/README.md) | [Vietnamese](./translations/vi/README.md) +[Arabic](./translations/ar/README.md) | [Bengali](./translations/bn/README.md) | [Bulgarian](./translations/bg/README.md) | [Burmese (Myanmar)](./translations/my/README.md) | [Chinese (Simplified)](./translations/zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](./translations/zh-HK/README.md) | [Chinese (Traditional, Macau)](./translations/zh-MO/README.md) | [Chinese (Traditional, Taiwan)](./translations/zh-TW/README.md) | [Croatian](./translations/hr/README.md) | [Czech](./translations/cs/README.md) | [Danish](./translations/da/README.md) | [Dutch](./translations/nl/README.md) | [Estonian](./translations/et/README.md) | [Finnish](./translations/fi/README.md) | [French](./translations/fr/README.md) | [German](./translations/de/README.md) | [Greek](./translations/el/README.md) | [Hebrew](./translations/he/README.md) | [Hindi](./translations/hi/README.md) | [Hungarian](./translations/hu/README.md) | [Indonesian](./translations/id/README.md) | [Italian](./translations/it/README.md) | [Japanese](./translations/ja/README.md) | [Kannada](./translations/kn/README.md) | [Korean](./translations/ko/README.md) | [Lithuanian](./translations/lt/README.md) | [Malay](./translations/ms/README.md) | [Malayalam](./translations/ml/README.md) | [Marathi](./translations/mr/README.md) | [Nepali](./translations/ne/README.md) | [Nigerian Pidgin](./translations/pcm/README.md) | [Norwegian](./translations/no/README.md) | [Persian (Farsi)](./translations/fa/README.md) | [Polish](./translations/pl/README.md) | [Portuguese (Brazil)](./translations/pt-BR/README.md) | [Portuguese (Portugal)](./translations/pt-PT/README.md) | [Punjabi (Gurmukhi)](./translations/pa/README.md) | [Romanian](./translations/ro/README.md) | [Russian](./translations/ru/README.md) | [Serbian (Cyrillic)](./translations/sr/README.md) | [Slovak](./translations/sk/README.md) | [Slovenian](./translations/sl/README.md) | [Spanish](./translations/es/README.md) | [Swahili](./translations/sw/README.md) | [Swedish](./translations/sv/README.md) | [Tagalog (Filipino)](./translations/tl/README.md) | [Tamil](./translations/ta/README.md) | [Telugu](./translations/te/README.md) | [Thai](./translations/th/README.md) | [Turkish](./translations/tr/README.md) | [Ukrainian](./translations/uk/README.md) | [Urdu](./translations/ur/README.md) | [Vietnamese](./translations/vi/README.md) > **Prefer to Clone Locally?** diff --git a/translations/br/1-getting-started/lessons/1-introduction-to-iot/README.md b/translations/br/1-getting-started/lessons/1-introduction-to-iot/README.md index 943ddf032..5d76964f5 100644 --- a/translations/br/1-getting-started/lessons/1-introduction-to-iot/README.md +++ b/translations/br/1-getting-started/lessons/1-introduction-to-iot/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # Introdução ao IoT -![Resumo visual desta lição](../../../../../translated_images/br/lesson-1.2606670fa61ee904687da5d6fa4e726639d524d064c895117da1b95b9ff6251d.jpg) +![Resumo visual desta lição](../../../../../translated_images/pt-BR/lesson-1.2606670fa61ee904687da5d6fa4e726639d524d064c895117da1b95b9ff6251d.jpg) > Resumo visual por [Nitya Narasimhan](https://github.com/nitya). Clique na imagem para uma versão maior. @@ -79,7 +79,7 @@ Um microcontrolador (também chamado de MCU, abreviação de microcontroller uni Microcontroladores são dispositivos de computação de baixo custo, com preços médios para aqueles usados em hardware personalizado caindo para cerca de US$0,50, e alguns dispositivos custando apenas US$0,03. Kits de desenvolvimento podem começar a partir de US$4, com custos aumentando conforme mais recursos são adicionados. O [Wio Terminal](https://www.seeedstudio.com/Wio-Terminal-p-4509.html), um kit de desenvolvimento de microcontrolador da [Seeed Studios](https://www.seeedstudio.com) que possui sensores, atuadores, WiFi e uma tela, custa cerca de US$30. -![Um Wio Terminal](../../../../../translated_images/br/wio-terminal.b8299ee16587db9a.webp) +![Um Wio Terminal](../../../../../translated_images/pt-BR/wio-terminal.b8299ee16587db9a.webp) > 💁 Ao pesquisar microcontroladores na Internet, tenha cuidado ao procurar pelo termo **MCU**, pois isso pode trazer muitos resultados relacionados ao Universo Cinematográfico da Marvel, e não a microcontroladores. @@ -93,7 +93,7 @@ Kits de desenvolvimento de microcontroladores geralmente vêm com sensores e atu Um computador de placa única é um pequeno dispositivo de computação que contém todos os elementos de um computador completo em uma única placa pequena. Esses dispositivos possuem especificações próximas às de um PC ou Mac, executam um sistema operacional completo, mas são menores, consomem menos energia e são substancialmente mais baratos. -![Um Raspberry Pi 4](../../../../../translated_images/br/raspberry-pi-4.fd4590d308c3d456.webp) +![Um Raspberry Pi 4](../../../../../translated_images/pt-BR/raspberry-pi-4.fd4590d308c3d456.webp) O Raspberry Pi é um dos computadores de placa única mais populares. diff --git a/translations/br/1-getting-started/lessons/1-introduction-to-iot/pi.md b/translations/br/1-getting-started/lessons/1-introduction-to-iot/pi.md index 799a32f4c..8678c3076 100644 --- a/translations/br/1-getting-started/lessons/1-introduction-to-iot/pi.md +++ b/translations/br/1-getting-started/lessons/1-introduction-to-iot/pi.md @@ -11,7 +11,7 @@ CO_OP_TRANSLATOR_METADATA: O [Raspberry Pi](https://raspberrypi.org) é um computador de placa única. Você pode adicionar sensores e atuadores usando uma ampla variedade de dispositivos e ecossistemas. Para estas lições, utilizaremos um ecossistema de hardware chamado [Grove](https://www.seeedstudio.com/category/Grove-c-1003.html). Você programará seu Pi e acessará os sensores Grove usando Python. -![Um Raspberry Pi 4](../../../../../translated_images/br/raspberry-pi-4.fd4590d308c3d456.webp) +![Um Raspberry Pi 4](../../../../../translated_images/pt-BR/raspberry-pi-4.fd4590d308c3d456.webp) ## Configuração @@ -112,7 +112,7 @@ Configure o sistema operacional do Pi no modo headless. 1. No Raspberry Pi Imager, selecione o botão **CHOOSE OS**, depois escolha *Raspberry Pi OS (Other)* e, em seguida, *Raspberry Pi OS Lite (32-bit)*. - ![O Raspberry Pi Imager com o Raspberry Pi OS Lite selecionado](../../../../../translated_images/br/raspberry-pi-imager.24aedeab9e233d84.webp) + ![O Raspberry Pi Imager com o Raspberry Pi OS Lite selecionado](../../../../../translated_images/pt-BR/raspberry-pi-imager.24aedeab9e233d84.webp) > 💁 O Raspberry Pi OS Lite é uma versão do sistema operacional que não possui interface gráfica ou ferramentas baseadas em UI. Isso não é necessário para um Pi headless e torna a instalação menor e o tempo de inicialização mais rápido. @@ -251,7 +251,7 @@ Crie o aplicativo Hello World. 1. Abra esta pasta no VS Code selecionando *File -> Open...* e escolhendo a pasta *nightlight*, depois selecione **OK**. - ![A caixa de diálogo do VS Code mostrando a pasta nightlight](../../../../../translated_images/br/vscode-open-nightlight-remote.d3d2a4011e30d535.webp) + ![A caixa de diálogo do VS Code mostrando a pasta nightlight](../../../../../translated_images/pt-BR/vscode-open-nightlight-remote.d3d2a4011e30d535.webp) 1. Abra o arquivo `app.py` no explorador do VS Code e adicione o seguinte código: diff --git a/translations/br/1-getting-started/lessons/1-introduction-to-iot/virtual-device.md b/translations/br/1-getting-started/lessons/1-introduction-to-iot/virtual-device.md index 8ff5ada79..18d65fdf4 100644 --- a/translations/br/1-getting-started/lessons/1-introduction-to-iot/virtual-device.md +++ b/translations/br/1-getting-started/lessons/1-introduction-to-iot/virtual-device.md @@ -154,11 +154,11 @@ Crie um aplicativo Python para imprimir `"Olá Mundo"` no console. 1. Quando o VS Code for iniciado, ele ativará o ambiente virtual Python. O ambiente virtual selecionado aparecerá na barra de status inferior: - ![VS Code mostrando o ambiente virtual selecionado](../../../../../translated_images/br/vscode-virtual-env.8ba42e04c3d533cf.webp) + ![VS Code mostrando o ambiente virtual selecionado](../../../../../translated_images/pt-BR/vscode-virtual-env.8ba42e04c3d533cf.webp) 1. Se o Terminal do VS Code já estiver em execução quando o VS Code for iniciado, ele não terá o ambiente virtual ativado. A maneira mais fácil de resolver isso é encerrar o terminal usando o botão **Kill the active terminal instance**: - ![Botão do VS Code para encerrar a instância ativa do terminal](../../../../../translated_images/br/vscode-kill-terminal.1cc4de7c6f25ee08.webp) + ![Botão do VS Code para encerrar a instância ativa do terminal](../../../../../translated_images/pt-BR/vscode-kill-terminal.1cc4de7c6f25ee08.webp) Você pode verificar se o terminal tem o ambiente virtual ativado, pois o nome do ambiente virtual será um prefixo no prompt do terminal. Por exemplo, pode ser: @@ -212,7 +212,7 @@ Como um segundo passo do 'Olá Mundo', você executará o aplicativo CounterFit O aplicativo começará a ser executado e abrirá no seu navegador: - ![O aplicativo CounterFit rodando em um navegador](../../../../../translated_images/br/counterfit-first-run.433326358b669b31d0e99c3513cb01bfbb13724d162c99cdcc8f51ecf5f9c779.png) + ![O aplicativo CounterFit rodando em um navegador](../../../../../translated_images/pt-BR/counterfit-first-run.433326358b669b31d0e99c3513cb01bfbb13724d162c99cdcc8f51ecf5f9c779.png) Ele será marcado como *Disconnected*, com o LED no canto superior direito apagado. @@ -229,11 +229,11 @@ Como um segundo passo do 'Olá Mundo', você executará o aplicativo CounterFit 1. Você precisará iniciar um novo terminal do VS Code selecionando o botão **Create a new integrated terminal**. Isso porque o aplicativo CounterFit está rodando no terminal atual. - ![Botão do VS Code para criar um novo terminal integrado](../../../../../translated_images/br/vscode-new-terminal.77db8fc0f9cd3182.webp) + ![Botão do VS Code para criar um novo terminal integrado](../../../../../translated_images/pt-BR/vscode-new-terminal.77db8fc0f9cd3182.webp) 1. No novo terminal, execute o arquivo `app.py` como antes. O status do CounterFit mudará para **Connected** e o LED acenderá. - ![CounterFit mostrando como conectado](../../../../../translated_images/br/counterfit-connected.ed30b46d8f79b0921f3fc70be10366e596a89dca3f80c2224a9d9fc98fccf884.png) + ![CounterFit mostrando como conectado](../../../../../translated_images/pt-BR/counterfit-connected.ed30b46d8f79b0921f3fc70be10366e596a89dca3f80c2224a9d9fc98fccf884.png) > 💁 Você pode encontrar este código na pasta [code/virtual-device](../../../../../1-getting-started/lessons/1-introduction-to-iot/code/virtual-device). diff --git a/translations/br/1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md b/translations/br/1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md index f60679fab..418cae289 100644 --- a/translations/br/1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md +++ b/translations/br/1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md @@ -11,7 +11,7 @@ CO_OP_TRANSLATOR_METADATA: O [Wio Terminal da Seeed Studios](https://www.seeedstudio.com/Wio-Terminal-p-4509.html) é um microcontrolador compatível com Arduino, com WiFi e alguns sensores e atuadores integrados, além de portas para adicionar mais sensores e atuadores, utilizando um ecossistema de hardware chamado [Grove](https://www.seeedstudio.com/category/Grove-c-1003.html). -![Um Wio Terminal da Seeed Studios](../../../../../translated_images/br/wio-terminal.b8299ee16587db9a.webp) +![Um Wio Terminal da Seeed Studios](../../../../../translated_images/pt-BR/wio-terminal.b8299ee16587db9a.webp) ## Configuração @@ -51,15 +51,15 @@ Crie o projeto no PlatformIO. 1. O ícone do PlatformIO estará na barra de menu lateral: - ![A opção de menu do PlatformIO](../../../../../translated_images/br/vscode-platformio-menu.297be26b9733e5c4.webp) + ![A opção de menu do PlatformIO](../../../../../translated_images/pt-BR/vscode-platformio-menu.297be26b9733e5c4.webp) Selecione este item de menu e, em seguida, selecione *PIO Home -> Open*. - ![A opção de abrir o PlatformIO](../../../../../translated_images/br/vscode-platformio-home-open.3f9a41bfd3f4da1c.webp) + ![A opção de abrir o PlatformIO](../../../../../translated_images/pt-BR/vscode-platformio-home-open.3f9a41bfd3f4da1c.webp) 1. Na tela de boas-vindas, selecione o botão **+ New Project**. - ![O botão de novo projeto](../../../../../translated_images/br/vscode-platformio-welcome-new-button.ba6fc8a4c7b78cc8.webp) + ![O botão de novo projeto](../../../../../translated_images/pt-BR/vscode-platformio-welcome-new-button.ba6fc8a4c7b78cc8.webp) 1. Configure o projeto no *Project Wizard*: @@ -73,7 +73,7 @@ Crie o projeto no PlatformIO. 1. Selecione o botão **Finish**. - ![O assistente de projeto preenchido](../../../../../translated_images/br/vscode-platformio-nightlight-project-wizard.5c64db4da6037420.webp) + ![O assistente de projeto preenchido](../../../../../translated_images/pt-BR/vscode-platformio-nightlight-project-wizard.5c64db4da6037420.webp) O PlatformIO fará o download dos componentes necessários para compilar o código para o Wio Terminal e criará seu projeto. Isso pode levar alguns minutos. @@ -179,7 +179,7 @@ Escreva o aplicativo Hello World. 1. Digite `PlatformIO Upload` para buscar a opção de upload e selecione *PlatformIO: Upload*. - ![A opção de upload do PlatformIO no painel de comandos](../../../../../translated_images/br/vscode-platformio-upload-command-palette.9e0f49cf80d1f1c3.webp) + ![A opção de upload do PlatformIO no painel de comandos](../../../../../translated_images/pt-BR/vscode-platformio-upload-command-palette.9e0f49cf80d1f1c3.webp) O PlatformIO compilará automaticamente o código, se necessário, antes de enviá-lo. @@ -195,7 +195,7 @@ O PlatformIO possui um Monitor Serial que pode monitorar os dados enviados pelo 1. Digite `PlatformIO Serial` para buscar a opção de Monitor Serial e selecione *PlatformIO: Serial Monitor*. - ![A opção de Monitor Serial do PlatformIO no painel de comandos](../../../../../translated_images/br/vscode-platformio-serial-monitor-command-palette.b348ec841b8a1c14.webp) + ![A opção de Monitor Serial do PlatformIO no painel de comandos](../../../../../translated_images/pt-BR/vscode-platformio-serial-monitor-command-palette.b348ec841b8a1c14.webp) Um novo terminal será aberto, e os dados enviados pela porta serial serão exibidos neste terminal: diff --git a/translations/br/1-getting-started/lessons/2-deeper-dive/README.md b/translations/br/1-getting-started/lessons/2-deeper-dive/README.md index 07258e5b6..1ed38721c 100644 --- a/translations/br/1-getting-started/lessons/2-deeper-dive/README.md +++ b/translations/br/1-getting-started/lessons/2-deeper-dive/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # Um mergulho mais profundo no IoT -![Uma visão geral ilustrada desta lição](../../../../../translated_images/br/lesson-2.324b0580d620c25e0a24fb7fddfc0b29a846dd4b82c08e7a9466d580ee78ce51.jpg) +![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt-BR/lesson-2.324b0580d620c25e0a24fb7fddfc0b29a846dd4b82c08e7a9466d580ee78ce51.jpg) > Ilustração por [Nitya Narasimhan](https://github.com/nitya). Clique na imagem para uma versão maior. @@ -41,13 +41,13 @@ Os dois componentes principais de uma aplicação IoT são a *Internet* e o *dis ### O Dispositivo -![Um Raspberry Pi 4](../../../../../translated_images/br/raspberry-pi-4.fd4590d308c3d456.webp) +![Um Raspberry Pi 4](../../../../../translated_images/pt-BR/raspberry-pi-4.fd4590d308c3d456.webp) A parte do **Dispositivo** no IoT refere-se a um equipamento que pode interagir com o mundo físico. Esses dispositivos geralmente são pequenos, de baixo custo, com computadores que operam em baixa velocidade e consomem pouca energia - por exemplo, microcontroladores simples com apenas alguns kilobytes de RAM (em comparação com gigabytes em um PC), funcionando a algumas centenas de megahertz (em comparação com gigahertz em um PC), mas consumindo tão pouca energia que podem operar por semanas, meses ou até anos com baterias. Esses dispositivos interagem com o mundo físico, seja usando sensores para coletar dados do ambiente ou controlando saídas ou atuadores para realizar mudanças físicas. Um exemplo típico é um termostato inteligente - um dispositivo que possui um sensor de temperatura, um meio de definir a temperatura desejada, como um botão ou tela sensível ao toque, e uma conexão com um sistema de aquecimento ou resfriamento que pode ser ativado quando a temperatura detectada estiver fora da faixa desejada. O sensor de temperatura detecta que o ambiente está muito frio e um atuador liga o aquecimento. -![Um diagrama mostrando a temperatura e um botão como entradas para um dispositivo IoT, e o controle de um aquecedor como saída](../../../../../translated_images/br/basic-thermostat.a923217fd1f37e5a6f3390396a65c22a387419ea2dd17e518ec24315ba6ae9a8.png) +![Um diagrama mostrando a temperatura e um botão como entradas para um dispositivo IoT, e o controle de um aquecedor como saída](../../../../../translated_images/pt-BR/basic-thermostat.a923217fd1f37e5a6f3390396a65c22a387419ea2dd17e518ec24315ba6ae9a8.png) Há uma enorme variedade de dispositivos que podem atuar como dispositivos IoT, desde hardware dedicado que detecta uma única coisa até dispositivos de uso geral, como seu smartphone! Um smartphone pode usar sensores para detectar o ambiente ao seu redor e atuadores para interagir com o mundo - por exemplo, usando um sensor GPS para detectar sua localização e um alto-falante para fornecer instruções de navegação até um destino. @@ -63,11 +63,11 @@ Os dispositivos nem sempre se conectam diretamente à Internet via Wi-Fi ou cone No exemplo de um termostato inteligente, o termostato se conectaria à rede Wi-Fi doméstica e a um serviço em nuvem. Ele enviaria os dados de temperatura para esse serviço em nuvem, que os armazenaria em um banco de dados, permitindo que o proprietário verificasse as temperaturas atuais e passadas por meio de um aplicativo no celular. Outro serviço na nuvem saberia qual temperatura o proprietário deseja e enviaria mensagens de volta ao dispositivo IoT, por meio do serviço em nuvem, para informar ao sistema de aquecimento quando ligar ou desligar. -![Um diagrama mostrando a temperatura e um botão como entradas para um dispositivo IoT, o dispositivo IoT com comunicação bidirecional com a nuvem, que por sua vez tem comunicação bidirecional com um telefone, e o controle de um aquecedor como saída do dispositivo IoT](../../../../../translated_images/br/mobile-controlled-thermostat.4a994010473d8d6a52ba68c67e5f02dc8928c717e93ca4b9bc55525aa75bbb60.png) +![Um diagrama mostrando a temperatura e um botão como entradas para um dispositivo IoT, o dispositivo IoT com comunicação bidirecional com a nuvem, que por sua vez tem comunicação bidirecional com um telefone, e o controle de um aquecedor como saída do dispositivo IoT](../../../../../translated_images/pt-BR/mobile-controlled-thermostat.4a994010473d8d6a52ba68c67e5f02dc8928c717e93ca4b9bc55525aa75bbb60.png) Uma versão ainda mais inteligente poderia usar IA na nuvem com dados de outros sensores conectados a outros dispositivos IoT, como sensores de ocupação que detectam quais cômodos estão em uso, além de dados como condições climáticas e até mesmo seu calendário, para tomar decisões sobre como ajustar a temperatura de forma inteligente. Por exemplo, poderia desligar o aquecimento se ler no seu calendário que você está de férias, ou ajustar o aquecimento de acordo com os cômodos que você utiliza, aprendendo com os dados para ser cada vez mais preciso ao longo do tempo. -![Um diagrama mostrando múltiplos sensores de temperatura e um botão como entradas para um dispositivo IoT, o dispositivo IoT com comunicação bidirecional com a nuvem, que por sua vez tem comunicação bidirecional com um telefone, um calendário e um serviço de clima, e o controle de um aquecedor como saída do dispositivo IoT](../../../../../translated_images/br/smarter-thermostat.a75855f15d2d9e63.webp) +![Um diagrama mostrando múltiplos sensores de temperatura e um botão como entradas para um dispositivo IoT, o dispositivo IoT com comunicação bidirecional com a nuvem, que por sua vez tem comunicação bidirecional com um telefone, um calendário e um serviço de clima, e o controle de um aquecedor como saída do dispositivo IoT](../../../../../translated_images/pt-BR/smarter-thermostat.a75855f15d2d9e63.webp) ✅ Que outros dados poderiam ajudar a tornar um termostato conectado à Internet mais inteligente? @@ -103,7 +103,7 @@ Quanto mais rápido o ciclo do relógio, mais instruções podem ser processadas > 💁 As CPUs executam programas usando o [ciclo buscar-decodificar-executar](https://wikipedia.org/wiki/Instruction_cycle). A cada tique do relógio, a CPU buscará a próxima instrução na memória, decodificará e a executará, como usar uma unidade lógica aritmética (ALU) para somar dois números. Algumas execuções podem levar vários tiques para serem concluídas, então o próximo ciclo será executado no próximo tique após a conclusão da instrução. -![Os ciclos buscar-decodificar-executar mostrando a busca de uma instrução do programa armazenado na RAM, depois decodificando e executando na CPU](../../../../../translated_images/br/fetch-decode-execute.2fd6f150f6280392807f4475382319abd0cee0b90058e1735444d6baa6f2078c.png) +![Os ciclos buscar-decodificar-executar mostrando a busca de uma instrução do programa armazenado na RAM, depois decodificando e executando na CPU](../../../../../translated_images/pt-BR/fetch-decode-execute.2fd6f150f6280392807f4475382319abd0cee0b90058e1735444d6baa6f2078c.png) Microcontroladores têm velocidades de relógio muito mais baixas do que computadores desktop ou laptops, ou mesmo a maioria dos smartphones. O Wio Terminal, por exemplo, possui uma CPU que opera a 120MHz ou 120.000.000 ciclos por segundo. @@ -135,7 +135,7 @@ Assim como no caso da CPU, a memória de um microcontrolador é muitas ordens de O diagrama abaixo mostra a diferença de tamanho relativa entre 192KB e 8GB - o pequeno ponto no centro representa 192KB. -![Uma comparação entre 192KB e 8GB - mais de 40.000 vezes maior](../../../../../translated_images/br/ram-comparison.6beb73541b42ac6f.webp) +![Uma comparação entre 192KB e 8GB - mais de 40.000 vezes maior](../../../../../translated_images/pt-BR/ram-comparison.6beb73541b42ac6f.webp) O armazenamento de programas também é menor do que em um PC. Um PC típico pode ter um disco rígido de 500GB para armazenamento de programas, enquanto um microcontrolador pode ter apenas kilobytes ou, talvez, alguns megabytes (MB) de armazenamento (1MB equivale a 1.000KB, ou 1.000.000 bytes). O terminal Wio possui 4MB de armazenamento para programas. @@ -191,7 +191,7 @@ As placas Arduino são programadas em C ou C++. Usar C/C++ permite que seu códi Você escreveria seu código de configuração na função `setup`, como conectar-se ao WiFi e serviços na nuvem ou inicializar pinos para entrada e saída. Seu código de processamento ficaria na função `loop`, como ler de um sensor e enviar o valor para a nuvem. Normalmente, você incluiria um atraso em cada loop; por exemplo, se quiser que os dados do sensor sejam enviados a cada 10 segundos, adicionaria um atraso de 10 segundos no final do loop para que o microcontrolador possa dormir, economizando energia, e então executar o loop novamente quando necessário, 10 segundos depois. -![Um sketch Arduino executando setup primeiro, depois executando loop repetidamente](../../../../../translated_images/br/arduino-sketch.79590cb837ff7a7c6a68d1afda6cab83fd53d3bb1bd9a8bf2eaf8d693a4d3ea6.png) +![Um sketch Arduino executando setup primeiro, depois executando loop repetidamente](../../../../../translated_images/pt-BR/arduino-sketch.79590cb837ff7a7c6a68d1afda6cab83fd53d3bb1bd9a8bf2eaf8d693a4d3ea6.png) ✅ Essa arquitetura de programa é conhecida como *event loop* ou *message loop*. Muitas aplicações usam isso nos bastidores e é o padrão para a maioria das aplicações desktop que rodam em SOs como Windows, macOS ou Linux. O `loop` escuta mensagens de componentes da interface do usuário, como botões, ou dispositivos como o teclado, e responde a elas. Você pode ler mais neste [artigo sobre event loop](https://wikipedia.org/wiki/Event_loop). @@ -211,17 +211,17 @@ Na última lição, introduzimos os computadores de placa única. Agora vamos ex ### Raspberry Pi -![O logotipo do Raspberry Pi](../../../../../translated_images/br/raspberry-pi-logo.4efaa16605cee054.webp) +![O logotipo do Raspberry Pi](../../../../../translated_images/pt-BR/raspberry-pi-logo.4efaa16605cee054.webp) A [Raspberry Pi Foundation](https://www.raspberrypi.org) é uma organização de caridade do Reino Unido fundada em 2009 para promover o estudo de ciência da computação, especialmente no nível escolar. Como parte dessa missão, eles desenvolveram um computador de placa única chamado Raspberry Pi. Atualmente, os Raspberry Pis estão disponíveis em 3 variantes - uma versão de tamanho completo, o menor Pi Zero, e um módulo de computação que pode ser integrado ao seu dispositivo IoT final. -![Um Raspberry Pi 4](../../../../../translated_images/br/raspberry-pi-4.fd4590d308c3d456.webp) +![Um Raspberry Pi 4](../../../../../translated_images/pt-BR/raspberry-pi-4.fd4590d308c3d456.webp) A última iteração do Raspberry Pi de tamanho completo é o Raspberry Pi 4B. Ele possui uma CPU quad-core (4 núcleos) rodando a 1,5GHz, 2, 4 ou 8GB de RAM, ethernet gigabit, WiFi, 2 portas HDMI que suportam telas 4k, uma saída de áudio e vídeo composto, portas USB (2 USB 2.0, 2 USB 3.0), 40 pinos GPIO, um conector de câmera para um módulo de câmera Raspberry Pi e um slot para cartão SD. Tudo isso em uma placa de 88mm x 58mm x 19,5mm, alimentada por uma fonte USB-C de 3A. Esses modelos começam em US$35, muito mais baratos do que um PC ou Mac. > 💁 Há também um Pi400, um computador tudo-em-um com um Pi4 embutido em um teclado. -![Um Raspberry Pi Zero](../../../../../translated_images/br/raspberry-pi-zero.f7a4133e1e7d54bb.webp) +![Um Raspberry Pi Zero](../../../../../translated_images/pt-BR/raspberry-pi-zero.f7a4133e1e7d54bb.webp) O Pi Zero é muito menor e consome menos energia. Ele possui uma CPU de núcleo único de 1GHz, 512MB de RAM, WiFi (no modelo Zero W), uma única porta HDMI, uma porta micro-USB, 40 pinos GPIO, um conector de câmera para um módulo de câmera Raspberry Pi e um slot para cartão SD. Ele mede 65mm x 30mm x 5mm e consome muito pouca energia. O Zero custa US$5, enquanto a versão W com WiFi custa US$10. diff --git a/translations/br/1-getting-started/lessons/3-sensors-and-actuators/README.md b/translations/br/1-getting-started/lessons/3-sensors-and-actuators/README.md index bd236af17..912837643 100644 --- a/translations/br/1-getting-started/lessons/3-sensors-and-actuators/README.md +++ b/translations/br/1-getting-started/lessons/3-sensors-and-actuators/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # Interaja com o mundo físico com sensores e atuadores -![Uma visão geral ilustrada desta lição](../../../../../translated_images/br/lesson-3.cc3b7b4cd646de598698cce043c0393fd62ef42bac2eaf60e61272cd844250f4.jpg) +![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt-BR/lesson-3.cc3b7b4cd646de598698cce043c0393fd62ef42bac2eaf60e61272cd844250f4.jpg) > Ilustração por [Nitya Narasimhan](https://github.com/nitya). Clique na imagem para uma versão maior. @@ -75,7 +75,7 @@ Alguns dos sensores mais básicos são analógicos. Esses sensores recebem uma t Um exemplo disso é um potenciômetro. Este é um botão que você pode girar entre duas posições, e o sensor mede a rotação. -![Um potenciômetro ajustado para um ponto médio recebendo 5 volts e retornando 3,8 volts](../../../../../translated_images/br/potentiometer.35a348b9ce22f6ec.webp) +![Um potenciômetro ajustado para um ponto médio recebendo 5 volts e retornando 3,8 volts](../../../../../translated_images/pt-BR/potentiometer.35a348b9ce22f6ec.webp) O dispositivo IoT enviará um sinal elétrico para o potenciômetro em uma determinada tensão, como 5 volts (5V). À medida que o potenciômetro é ajustado, ele altera a tensão que sai do outro lado. Imagine que você tem um potenciômetro rotulado como um botão que vai de 0 a [11](https://wikipedia.org/wiki/Up_to_eleven), como um botão de volume em um amplificador. Quando o potenciômetro está na posição totalmente desligada (0), 0V (0 volts) sairão. Quando está na posição totalmente ligada (11), 5V (5 volts) sairão. @@ -101,7 +101,7 @@ Sensores digitais, assim como os analógicos, detectam o mundo ao seu redor usan O sensor digital mais simples é um botão ou interruptor. Este é um sensor com dois estados, ligado ou desligado. -![Um botão recebe 5 volts. Quando não pressionado, retorna 0 volts; quando pressionado, retorna 5 volts](../../../../../translated_images/br/button.eadb560b77ac45e56f523d9d8876e40444f63b419e33eb820082d461fa79490b.png) +![Um botão recebe 5 volts. Quando não pressionado, retorna 0 volts; quando pressionado, retorna 5 volts](../../../../../translated_images/pt-BR/button.eadb560b77ac45e56f523d9d8876e40444f63b419e33eb820082d461fa79490b.png) Pinos em dispositivos IoT, como os pinos GPIO, podem medir esse sinal diretamente como 0 ou 1. Se a tensão enviada for a mesma que a tensão retornada, o valor lido é 1; caso contrário, o valor lido é 0. Não há necessidade de converter o sinal, ele só pode ser 1 ou 0. @@ -112,7 +112,7 @@ Pinos em dispositivos IoT, como os pinos GPIO, podem medir esse sinal diretament Sensores digitais mais avançados leem valores analógicos e os convertem usando ADCs integrados para sinais digitais. Por exemplo, um sensor de temperatura digital ainda usará um termopar da mesma forma que um sensor analógico e ainda medirá a mudança na tensão causada pela resistência do termopar na temperatura atual. Em vez de retornar um valor analógico e depender do dispositivo ou da placa de conexão para converter para um sinal digital, um ADC embutido no sensor converterá o valor e o enviará como uma série de 0s e 1s para o dispositivo IoT. Esses 0s e 1s são enviados da mesma forma que o sinal digital de um botão, com 1 sendo a tensão total e 0 sendo 0V. -![Um sensor de temperatura digital convertendo uma leitura analógica para dados binários com 0 como 0 volts e 1 como 5 volts antes de enviá-los para um dispositivo IoT](../../../../../translated_images/br/temperature-as-digital.85004491b977bae1.webp) +![Um sensor de temperatura digital convertendo uma leitura analógica para dados binários com 0 como 0 volts e 1 como 5 volts antes de enviá-los para um dispositivo IoT](../../../../../translated_images/pt-BR/temperature-as-digital.85004491b977bae1.webp) O envio de dados digitais permite que os sensores se tornem mais complexos e enviem dados mais detalhados, até mesmo dados criptografados para sensores seguros. Um exemplo é uma câmera. Este é um sensor que captura uma imagem e a envia como dados digitais contendo essa imagem, geralmente em um formato compactado como JPEG, para ser lida pelo dispositivo IoT. Ela pode até transmitir vídeo capturando imagens e enviando ou o quadro completo de cada vez ou um fluxo de vídeo compactado. @@ -134,7 +134,7 @@ Alguns atuadores comuns incluem: Siga o guia relevante abaixo para adicionar um atuador ao seu dispositivo IoT, controlado pelo sensor, para construir uma luz noturna IoT. Ela coletará os níveis de luz do sensor de luz e usará um atuador na forma de um LED para emitir luz quando o nível de luz detectado for muito baixo. -![Um fluxograma da tarefa mostrando os níveis de luz sendo lidos e verificados, e o LED sendo controlado](../../../../../translated_images/br/assignment-1-flow.7552a51acb1a5ec858dca6e855cdbb44206434006df8ba3799a25afcdab1665d.png) +![Um fluxograma da tarefa mostrando os níveis de luz sendo lidos e verificados, e o LED sendo controlado](../../../../../translated_images/pt-BR/assignment-1-flow.7552a51acb1a5ec858dca6e855cdbb44206434006df8ba3799a25afcdab1665d.png) * [Arduino - Wio Terminal](wio-terminal-actuator.md) * [Computador de placa única - Raspberry Pi](pi-actuator.md) @@ -149,7 +149,7 @@ Assim como os sensores, os atuadores podem ser analógicos ou digitais. Atuadores analógicos recebem um sinal analógico e o convertem em algum tipo de interação, onde a interação muda com base na tensão fornecida. Um exemplo é uma luz dimerizável, como as que você pode ter em sua casa. A quantidade de tensão fornecida à luz determina o quão brilhante ela será. -![Uma luz com brilho reduzido em baixa voltagem e mais intensa em alta voltagem](../../../../../translated_images/br/dimmable-light.9ceffeb195dec1a849da718b2d71b32c35171ff7dfea9c07bbf82646a67acf6b.png) +![Uma luz com brilho reduzido em baixa voltagem e mais intensa em alta voltagem](../../../../../translated_images/pt-BR/dimmable-light.9ceffeb195dec1a849da718b2d71b32c35171ff7dfea9c07bbf82646a67acf6b.png) Assim como acontece com sensores, o dispositivo IoT trabalha com sinais digitais, não analógicos. Isso significa que, para enviar um sinal analógico, o dispositivo IoT precisa de um conversor digital para analógico (DAC), seja diretamente no dispositivo IoT ou em uma placa de conexão. Esse conversor transforma os 0s e 1s do dispositivo IoT em uma voltagem analógica que o atuador pode utilizar. @@ -164,7 +164,7 @@ Por exemplo, você pode usar PWM para controlar a velocidade de um motor. Imagine que você está controlando um motor com uma fonte de 5V. Você envia um pulso curto para o motor, alternando a voltagem para alta (5V) por dois centésimos de segundo (0,02s). Nesse tempo, o motor pode girar um décimo de uma rotação, ou 36°. O sinal então pausa por dois centésimos de segundo (0,02s), enviando um sinal baixo (0V). Cada ciclo de ligado e desligado dura 0,04s. O ciclo então se repete. -![Modulação por largura de pulso girando um motor a 150 RPM](../../../../../translated_images/br/pwm-motor-150rpm.83347ac04ca38482.webp) +![Modulação por largura de pulso girando um motor a 150 RPM](../../../../../translated_images/pt-BR/pwm-motor-150rpm.83347ac04ca38482.webp) Isso significa que, em um segundo, você tem 25 pulsos de 5V com duração de 0,02s que giram o motor, cada um seguido por uma pausa de 0,02s com 0V, onde o motor não gira. Cada pulso gira o motor um décimo de uma rotação, o que significa que o motor completa 2,5 rotações por segundo. Você usou um sinal digital para girar o motor a 2,5 rotações por segundo, ou 150 [rotações por minuto](https://wikipedia.org/wiki/Revolutions_per_minute) (uma medida não padronizada de velocidade de rotação). @@ -175,7 +175,7 @@ Isso significa que, em um segundo, você tem 25 pulsos de 5V com duração de 0, > 🎓 Quando um sinal PWM está ligado por metade do tempo e desligado pela outra metade, isso é chamado de [ciclo de trabalho de 50%](https://wikipedia.org/wiki/Duty_cycle). Ciclos de trabalho são medidos como a porcentagem de tempo em que o sinal está no estado ligado em comparação ao estado desligado. -![Modulação por largura de pulso girando um motor a 75 RPM](../../../../../translated_images/br/pwm-motor-75rpm.a5e4c939934b6e14.webp) +![Modulação por largura de pulso girando um motor a 75 RPM](../../../../../translated_images/pt-BR/pwm-motor-75rpm.a5e4c939934b6e14.webp) Você pode alterar a velocidade do motor mudando o tamanho dos pulsos. Por exemplo, com o mesmo motor, você pode manter o mesmo tempo de ciclo de 0,04s, reduzindo o pulso ligado para 0,01s e aumentando o pulso desligado para 0,03s. Você tem o mesmo número de pulsos por segundo (25), mas cada pulso ligado tem metade do comprimento. Um pulso com metade do comprimento gira o motor um vigésimo de uma rotação, e com 25 pulsos por segundo, o motor completará 1,25 rotações por segundo ou 75rpm. Alterando a velocidade dos pulsos de um sinal digital, você reduziu pela metade a velocidade de um motor analógico. @@ -196,7 +196,7 @@ Atuadores digitais, assim como sensores digitais, possuem dois estados controlad Um atuador digital simples é um LED. Quando um dispositivo envia um sinal digital de 1, uma voltagem alta é enviada, acendendo o LED. Quando um sinal digital de 0 é enviado, a voltagem cai para 0V e o LED se apaga. -![Um LED apagado com 0 volts e aceso com 5V](../../../../../translated_images/br/led.ec6d94f66676a174ad06d9fa9ea49c2ee89beb18b312d5c6476467c66375b07f.png) +![Um LED apagado com 0 volts e aceso com 5V](../../../../../translated_images/pt-BR/led.ec6d94f66676a174ad06d9fa9ea49c2ee89beb18b312d5c6476467c66375b07f.png) ✅ Que outros atuadores simples de 2 estados você consegue pensar? Um exemplo é um solenóide, que é um eletroímã que pode ser ativado para realizar ações como mover o trinco de uma porta, travando ou destravando-a. diff --git a/translations/br/1-getting-started/lessons/3-sensors-and-actuators/pi-actuator.md b/translations/br/1-getting-started/lessons/3-sensors-and-actuators/pi-actuator.md index dfd007c9c..f6a0b8694 100644 --- a/translations/br/1-getting-started/lessons/3-sensors-and-actuators/pi-actuator.md +++ b/translations/br/1-getting-started/lessons/3-sensors-and-actuators/pi-actuator.md @@ -35,7 +35,7 @@ O LED Grove vem como um módulo com uma seleção de LEDs, permitindo que você Conecte o LED. -![Um LED Grove](../../../../../translated_images/br/grove-led.6c853be93f473cf2c439cfc74bb1064732b22251a83cedf66e62f783f9cc1a79.png) +![Um LED Grove](../../../../../translated_images/pt-BR/grove-led.6c853be93f473cf2c439cfc74bb1064732b22251a83cedf66e62f783f9cc1a79.png) 1. Escolha seu LED favorito e insira as pernas nos dois orifícios do módulo LED. @@ -49,7 +49,7 @@ Conecte o LED. 1. Com o Raspberry Pi desligado, conecte a outra extremidade do cabo Grove ao soquete digital marcado como **D5** no Grove Base Hat conectado ao Pi. Este soquete é o segundo da esquerda, na fileira de soquetes ao lado dos pinos GPIO. -![O LED Grove conectado ao soquete D5](../../../../../translated_images/br/pi-led.97f1d474981dc35d1c7996c7b17de355d3d0a6bc9606d79fa5f89df933415122.png) +![O LED Grove conectado ao soquete D5](../../../../../translated_images/pt-BR/pi-led.97f1d474981dc35d1c7996c7b17de355d3d0a6bc9606d79fa5f89df933415122.png) ## Programe a luz noturna diff --git a/translations/br/1-getting-started/lessons/3-sensors-and-actuators/pi-sensor.md b/translations/br/1-getting-started/lessons/3-sensors-and-actuators/pi-sensor.md index e419aa1a4..fda8edb01 100644 --- a/translations/br/1-getting-started/lessons/3-sensors-and-actuators/pi-sensor.md +++ b/translations/br/1-getting-started/lessons/3-sensors-and-actuators/pi-sensor.md @@ -25,13 +25,13 @@ O sensor de luz Grove, usado para detectar os níveis de luz, precisa ser conect Conecte o sensor de luz. -![Um sensor de luz Grove](../../../../../translated_images/br/grove-light-sensor.b8127b7c434e632d6bcdb57587a14e9ef69a268a22df95d08628f62b8fa5505c.png) +![Um sensor de luz Grove](../../../../../translated_images/pt-BR/grove-light-sensor.b8127b7c434e632d6bcdb57587a14e9ef69a268a22df95d08628f62b8fa5505c.png) 1. Insira uma extremidade de um cabo Grove no conector do módulo do sensor de luz. Ele só encaixará de uma maneira. 1. Com o Raspberry Pi desligado, conecte a outra extremidade do cabo Grove ao conector analógico marcado como **A0** no Grove Base Hat conectado ao Pi. Este conector é o segundo da direita, na fileira de conectores ao lado dos pinos GPIO. -![O sensor de luz Grove conectado ao conector A0](../../../../../translated_images/br/pi-light-sensor.66cc1e31fa48cd7d5f23400d4b2119aa41508275cb7c778053a7923b4e972d7e.png) +![O sensor de luz Grove conectado ao conector A0](../../../../../translated_images/pt-BR/pi-light-sensor.66cc1e31fa48cd7d5f23400d4b2119aa41508275cb7c778053a7923b4e972d7e.png) ## Programe o sensor de luz diff --git a/translations/br/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-actuator.md b/translations/br/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-actuator.md index db131018b..7bfdcb476 100644 --- a/translations/br/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-actuator.md +++ b/translations/br/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-actuator.md @@ -45,11 +45,11 @@ Adicione o LED ao aplicativo CounterFit. 1. Selecione o botão **Add** para criar o LED no pino 5. - ![As configurações do LED](../../../../../translated_images/br/counterfit-create-led.ba9db1c9b8c622a635d6dfae5cdc4e70c2b250635bd4f0601c6cf0bd22b7ba46.png) + ![As configurações do LED](../../../../../translated_images/pt-BR/counterfit-create-led.ba9db1c9b8c622a635d6dfae5cdc4e70c2b250635bd4f0601c6cf0bd22b7ba46.png) O LED será criado e aparecerá na lista de atuadores. - ![O LED criado](../../../../../translated_images/br/counterfit-led.c0ab02de6d256ad84d9bad4d67a7faa709f0ea83e410cfe9b5561ef0cef30b1c.png) + ![O LED criado](../../../../../translated_images/pt-BR/counterfit-led.c0ab02de6d256ad84d9bad4d67a7faa709f0ea83e410cfe9b5561ef0cef30b1c.png) Depois que o LED for criado, você pode alterar a cor usando o seletor *Color*. Selecione o botão **Set** para alterar a cor após escolhê-la. diff --git a/translations/br/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-sensor.md b/translations/br/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-sensor.md index 590ee5a63..212c4d215 100644 --- a/translations/br/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-sensor.md +++ b/translations/br/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-sensor.md @@ -37,11 +37,11 @@ Adicione o sensor de luz ao aplicativo CounterFit. 1. Selecione o botão **Add** para criar o sensor de luz no pino 0. - ![As configurações do sensor de luz](../../../../../translated_images/br/counterfit-create-light-sensor.9f36a5e0d4458d8d554d54b34d2c806d56093d6e49fddcda2d20f6fef7f5cce1.png) + ![As configurações do sensor de luz](../../../../../translated_images/pt-BR/counterfit-create-light-sensor.9f36a5e0d4458d8d554d54b34d2c806d56093d6e49fddcda2d20f6fef7f5cce1.png) O sensor de luz será criado e aparecerá na lista de sensores. - ![O sensor de luz criado](../../../../../translated_images/br/counterfit-light-sensor.5d0f5584df56b90f6b2561910d9cb20dfbd73eeff2177c238d38f4de54aefae1.png) + ![O sensor de luz criado](../../../../../translated_images/pt-BR/counterfit-light-sensor.5d0f5584df56b90f6b2561910d9cb20dfbd73eeff2177c238d38f4de54aefae1.png) ## Programar o sensor de luz diff --git a/translations/br/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-actuator.md b/translations/br/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-actuator.md index d76a17010..df155af09 100644 --- a/translations/br/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-actuator.md +++ b/translations/br/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-actuator.md @@ -35,7 +35,7 @@ O Grove LED vem como um módulo com uma seleção de LEDs, permitindo que você Conecte o LED. -![Um Grove LED](../../../../../translated_images/br/grove-led.6c853be93f473cf2c439cfc74bb1064732b22251a83cedf66e62f783f9cc1a79.png) +![Um Grove LED](../../../../../translated_images/pt-BR/grove-led.6c853be93f473cf2c439cfc74bb1064732b22251a83cedf66e62f783f9cc1a79.png) 1. Escolha seu LED favorito e insira as pernas nos dois orifícios do módulo LED. @@ -51,7 +51,7 @@ Conecte o LED. > 💁 O soquete Grove do lado direito pode ser usado com sensores e atuadores analógicos ou digitais. O soquete do lado esquerdo é apenas para sensores e atuadores digitais. O C será abordado em uma lição posterior. -![O Grove LED conectado ao soquete do lado direito](../../../../../translated_images/br/wio-led.265a1897e72d7f21.webp) +![O Grove LED conectado ao soquete do lado direito](../../../../../translated_images/pt-BR/wio-led.265a1897e72d7f21.webp) ## Programe a luz noturna diff --git a/translations/br/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-sensor.md b/translations/br/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-sensor.md index 8ea87426d..3c36c77c9 100644 --- a/translations/br/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-sensor.md +++ b/translations/br/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-sensor.md @@ -17,7 +17,7 @@ O sensor para esta lição é um **sensor de luz** que utiliza um [fotodiodo](ht O sensor de luz está integrado ao Wio Terminal e é visível através da janela de plástico transparente na parte traseira. -![O sensor de luz na parte traseira do Wio Terminal](../../../../../translated_images/br/wio-light-sensor.b1f529f3c95f5165.webp) +![O sensor de luz na parte traseira do Wio Terminal](../../../../../translated_images/pt-BR/wio-light-sensor.b1f529f3c95f5165.webp) ## Programar o sensor de luz diff --git a/translations/br/1-getting-started/lessons/4-connect-internet/README.md b/translations/br/1-getting-started/lessons/4-connect-internet/README.md index 3e98fc806..9203fac69 100644 --- a/translations/br/1-getting-started/lessons/4-connect-internet/README.md +++ b/translations/br/1-getting-started/lessons/4-connect-internet/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # Conecte seu dispositivo à Internet -![Uma visão geral ilustrada desta lição](../../../../../translated_images/br/lesson-4.7344e074ea68fa545fd320b12dce36d72dd62d28c3b4596cb26cf315f434b98f.jpg) +![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt-BR/lesson-4.7344e074ea68fa545fd320b12dce36d72dd62d28c3b4596cb26cf315f434b98f.jpg) > Ilustração por [Nitya Narasimhan](https://github.com/nitya). Clique na imagem para uma versão maior. @@ -46,7 +46,7 @@ Nesta lição, abordaremos: Existem vários protocolos de comunicação populares usados por dispositivos IoT para se comunicar com a Internet. Os mais comuns são baseados em mensagens de publicação/assinatura via algum tipo de broker. Os dispositivos IoT se conectam ao broker, publicam telemetria e assinam comandos. Os serviços na nuvem também se conectam ao broker, assinam todas as mensagens de telemetria e publicam comandos, seja para dispositivos específicos ou para grupos de dispositivos. -![Dispositivos IoT se conectam a um broker, publicam telemetria e assinam comandos. Serviços na nuvem se conectam ao broker, assinam toda a telemetria e enviam comandos para dispositivos específicos.](../../../../../translated_images/br/pub-sub.7c7ed43fe9fd15d4.webp) +![Dispositivos IoT se conectam a um broker, publicam telemetria e assinam comandos. Serviços na nuvem se conectam ao broker, assinam toda a telemetria e enviam comandos para dispositivos específicos.](../../../../../translated_images/pt-BR/pub-sub.7c7ed43fe9fd15d4.webp) O MQTT é o protocolo de comunicação mais popular para dispositivos IoT e será abordado nesta lição. Outros protocolos incluem AMQP e HTTP/HTTPS. @@ -56,7 +56,7 @@ O MQTT é o protocolo de comunicação mais popular para dispositivos IoT e ser O MQTT possui um único broker e vários clientes. Todos os clientes se conectam ao broker, e o broker roteia mensagens para os clientes relevantes. As mensagens são roteadas usando tópicos nomeados, em vez de serem enviadas diretamente para um cliente individual. Um cliente pode publicar em um tópico, e qualquer cliente que assinar esse tópico receberá a mensagem. -![Dispositivo IoT publicando telemetria no tópico /telemetry, e o serviço na nuvem assinando esse tópico](../../../../../translated_images/br/mqtt.cbf7f21d9adc3e17548b359444cc11bb4bf2010543e32ece9a47becf54438c23.png) +![Dispositivo IoT publicando telemetria no tópico /telemetry, e o serviço na nuvem assinando esse tópico](../../../../../translated_images/pt-BR/mqtt.cbf7f21d9adc3e17548b359444cc11bb4bf2010543e32ece9a47becf54438c23.png) ✅ Faça uma pesquisa. Se você tiver muitos dispositivos IoT, como garantir que seu broker MQTT consiga lidar com todas as mensagens? @@ -78,7 +78,7 @@ Em vez de lidar com as complexidades de configurar um broker MQTT como parte des > 💁 Este broker de teste é público e não seguro. Qualquer pessoa pode ouvir o que você publica, então ele não deve ser usado com dados que precisam ser mantidos privados. -![Um fluxograma da tarefa mostrando os níveis de luz sendo lidos e verificados, e o LED sendo controlado](../../../../../translated_images/br/assignment-1-internet-flow.3256feab5f052fd273bf4e331157c574c2c3fa42e479836fc9c3586f41db35a5.png) +![Um fluxograma da tarefa mostrando os níveis de luz sendo lidos e verificados, e o LED sendo controlado](../../../../../translated_images/pt-BR/assignment-1-internet-flow.3256feab5f052fd273bf4e331157c574c2c3fa42e479836fc9c3586f41db35a5.png) Siga a etapa relevante abaixo para conectar seu dispositivo ao broker MQTT: @@ -115,7 +115,7 @@ A palavra telemetria é derivada de raízes gregas que significam medir remotame Vamos voltar ao exemplo do termostato inteligente da Lição 1. -![Um termostato conectado à Internet usando múltiplos sensores de ambiente](../../../../../translated_images/br/telemetry.21e5d8b97649d2eb.webp) +![Um termostato conectado à Internet usando múltiplos sensores de ambiente](../../../../../translated_images/pt-BR/telemetry.21e5d8b97649d2eb.webp) O termostato possui sensores de temperatura para coletar telemetria. Ele provavelmente teria um sensor de temperatura embutido e poderia se conectar a vários sensores de temperatura externos por meio de um protocolo sem fio, como [Bluetooth Low Energy](https://wikipedia.org/wiki/Bluetooth_Low_Energy) (BLE). @@ -267,11 +267,11 @@ Escreva o código do servidor. 1. Quando o VS Code for iniciado, ele ativará o ambiente virtual Python. Isso será indicado na barra de status inferior: - ![VS Code mostrando o ambiente virtual selecionado](../../../../../translated_images/br/vscode-virtual-env.8ba42e04c3d533cf.webp) + ![VS Code mostrando o ambiente virtual selecionado](../../../../../translated_images/pt-BR/vscode-virtual-env.8ba42e04c3d533cf.webp) 1. Se o terminal do VS Code já estiver em execução quando o VS Code for iniciado, ele não terá o ambiente virtual ativado. A maneira mais fácil de resolver isso é encerrar o terminal usando o botão **Encerrar a instância ativa do terminal**: - ![Botão para encerrar a instância ativa do terminal no VS Code](../../../../../translated_images/br/vscode-kill-terminal.1cc4de7c6f25ee08.webp) + ![Botão para encerrar a instância ativa do terminal no VS Code](../../../../../translated_images/pt-BR/vscode-kill-terminal.1cc4de7c6f25ee08.webp) 1. Inicie um novo terminal no VS Code selecionando *Terminal -> Novo Terminal*, ou pressionando `` CTRL+` ``. O novo terminal carregará o ambiente virtual, com a chamada para ativá-lo aparecendo no terminal. O nome do ambiente virtual (`.venv`) também estará no prompt: @@ -359,7 +359,7 @@ Para máquinas, você pode querer manter os dados, especialmente se forem usados Os designers de dispositivos IoT também devem considerar se o dispositivo IoT pode ser usado durante uma interrupção da Internet ou perda de sinal causada pela localização. Um termostato inteligente deve ser capaz de tomar algumas decisões limitadas para controlar o aquecimento se não puder enviar telemetria para a nuvem devido a uma interrupção. -[![Este Ferrari ficou inutilizado porque alguém tentou atualizá-lo em um local subterrâneo sem sinal de celular](../../../../../translated_images/br/bricked-car.dc38f8efadc6c59d76211f981a521efb300939283dee468f79503aae3ec67615.png)](https://twitter.com/internetofshit/status/1315736960082808832) +[![Este Ferrari ficou inutilizado porque alguém tentou atualizá-lo em um local subterrâneo sem sinal de celular](../../../../../translated_images/pt-BR/bricked-car.dc38f8efadc6c59d76211f981a521efb300939283dee468f79503aae3ec67615.png)](https://twitter.com/internetofshit/status/1315736960082808832) Para o MQTT lidar com uma perda de conectividade, o código do dispositivo e do servidor será responsável por garantir a entrega das mensagens, se necessário, por exemplo, exigindo que todas as mensagens enviadas sejam respondidas por mensagens adicionais em um tópico de resposta e, caso contrário, sejam enfileiradas manualmente para serem reproduzidas posteriormente. @@ -367,7 +367,7 @@ Para o MQTT lidar com uma perda de conectividade, o código do dispositivo e do Comandos são mensagens enviadas pela nuvem para um dispositivo, instruindo-o a fazer algo. Na maioria das vezes, isso envolve fornecer algum tipo de saída por meio de um atuador, mas pode ser uma instrução para o próprio dispositivo, como reiniciar ou coletar telemetria extra e retorná-la como resposta ao comando. -![Um termostato conectado à Internet recebendo um comando para ligar o aquecimento](../../../../../translated_images/br/commands.d6c06bbbb3a02cce95f2831a1c331daf6dedd4e470c4aa2b0ae54f332016e504.png) +![Um termostato conectado à Internet recebendo um comando para ligar o aquecimento](../../../../../translated_images/pt-BR/commands.d6c06bbbb3a02cce95f2831a1c331daf6dedd4e470c4aa2b0ae54f332016e504.png) Um termostato pode receber um comando da nuvem para ligar o aquecimento. Com base nos dados de telemetria de todos os sensores, se o serviço na nuvem decidiu que o aquecimento deve estar ligado, ele envia o comando relevante. diff --git a/translations/br/1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md b/translations/br/1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md index 4f393b815..ef6e52cdc 100644 --- a/translations/br/1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md +++ b/translations/br/1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md @@ -64,7 +64,7 @@ Conecte o Wio Terminal ao WiFi. 1. Crie um novo arquivo na pasta `src` chamado `config.h`. Você pode fazer isso selecionando a pasta `src` ou o arquivo `main.cpp` dentro dela e clicando no botão **Novo arquivo** no explorador. Esse botão só aparece quando o cursor está sobre o explorador. - ![O botão de novo arquivo](../../../../../translated_images/br/vscode-new-file-button.182702340fe6723c.webp) + ![O botão de novo arquivo](../../../../../translated_images/pt-BR/vscode-new-file-button.182702340fe6723c.webp) 1. Adicione o seguinte código a este arquivo para definir constantes para suas credenciais de WiFi: diff --git a/translations/br/2-farm/lessons/1-predict-plant-growth/README.md b/translations/br/2-farm/lessons/1-predict-plant-growth/README.md index b0ec1e2e5..6e55c4b99 100644 --- a/translations/br/2-farm/lessons/1-predict-plant-growth/README.md +++ b/translations/br/2-farm/lessons/1-predict-plant-growth/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # Prever o crescimento de plantas com IoT -![Uma visão geral ilustrada desta lição](../../../../../translated_images/br/lesson-5.42b234299279d263143148b88ab4583861a32ddb03110c6c1120e41bb88b2592.jpg) +![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt-BR/lesson-5.42b234299279d263143148b88ab4583861a32ddb03110c6c1120e41bb88b2592.jpg) > Ilustração por [Nitya Narasimhan](https://github.com/nitya). Clique na imagem para uma versão maior. @@ -65,7 +65,7 @@ Cada espécie de planta tem valores diferentes para sua temperatura base, ótima ✅ Faça uma pesquisa. Para qualquer planta que você tenha em seu jardim, escola ou parque local, veja se consegue encontrar a temperatura base. -![Um gráfico mostrando a taxa de crescimento aumentando conforme a temperatura sobe, depois caindo quando a temperatura fica muito alta](../../../../../translated_images/br/plant-growth-temp-graph.c6d69c9478e6ca83.webp) +![Um gráfico mostrando a taxa de crescimento aumentando conforme a temperatura sobe, depois caindo quando a temperatura fica muito alta](../../../../../translated_images/pt-BR/plant-growth-temp-graph.c6d69c9478e6ca83.webp) O gráfico acima mostra um exemplo de taxa de crescimento em relação à temperatura. Até a temperatura base, não há crescimento. A taxa de crescimento aumenta até a temperatura ótima e depois cai após atingir esse pico. Na temperatura máxima, o crescimento para. @@ -99,7 +99,7 @@ Os graus-dia de crescimento, ou GDD, são calculados por dia como a temperatura A fórmula completa para GDD é um pouco complicada, mas existe uma equação simplificada que é frequentemente usada como uma boa aproximação: -![GDD = T max + T min dividido por 2, tudo menos T base](../../../../../translated_images/br/gdd-calculation.79b3660f9c5757aa92dc2dd2cdde75344e2d2c1565c4b3151640f7887edc0275.png) +![GDD = T max + T min dividido por 2, tudo menos T base](../../../../../translated_images/pt-BR/gdd-calculation.79b3660f9c5757aa92dc2dd2cdde75344e2d2c1565c4b3151640f7887edc0275.png) * **GDD** - este é o número de graus-dia de crescimento * **T max** - esta é a temperatura máxima diária em graus Celsius @@ -127,7 +127,7 @@ Substituindo esses números na nossa fórmula: Isso resulta no cálculo: -![GDD = 16 + 12 dividido por 2, tudo menos 10, resultando em 4](../../../../../translated_images/br/gdd-calculation-corn.64a58b7a7afcd0dfd46ff733996d939f17f4f3feac9f0d1c632be3523e51ebd9.png) +![GDD = 16 + 12 dividido por 2, tudo menos 10, resultando em 4](../../../../../translated_images/pt-BR/gdd-calculation-corn.64a58b7a7afcd0dfd46ff733996d939f17f4f3feac9f0d1c632be3523e51ebd9.png) O milho recebeu 4 GDD nesse dia. Supondo uma variedade de milho que precisa de 800 GDD para amadurecer, ainda serão necessários mais 796 GDD para atingir a maturidade. @@ -141,7 +141,7 @@ Isso tem um grande impacto no trabalho em uma grande fazenda e corre o risco de Ao coletar dados de temperatura usando um dispositivo IoT, um agricultor pode ser notificado automaticamente quando as plantas estiverem próximas da maturidade. Uma arquitetura típica para isso é ter os dispositivos IoT medindo a temperatura e publicando esses dados de telemetria pela Internet usando algo como MQTT. O código do servidor então escuta esses dados e os salva em algum lugar, como em um banco de dados. Isso significa que os dados podem ser analisados posteriormente, como em uma tarefa noturna para calcular os GDD do dia, somar os GDD totais para cada cultura até o momento e alertar se uma planta estiver próxima da maturidade. -![Os dados de telemetria são enviados para um servidor e depois salvos em um banco de dados](../../../../../translated_images/br/save-telemetry-database.ddc9c6bea0c5ba39.webp) +![Os dados de telemetria são enviados para um servidor e depois salvos em um banco de dados](../../../../../translated_images/pt-BR/save-telemetry-database.ddc9c6bea0c5ba39.webp) O código do servidor também pode complementar os dados adicionando informações extras. Por exemplo, o dispositivo IoT pode publicar um identificador para indicar qual dispositivo está enviando os dados, e o código do servidor pode usar isso para buscar a localização do dispositivo e quais culturas ele está monitorando. Ele também pode adicionar dados básicos, como a hora atual, já que alguns dispositivos IoT não possuem o hardware necessário para manter um horário preciso ou exigem código adicional para ler a hora atual pela Internet. @@ -228,7 +228,7 @@ Este código abre o arquivo CSV e adiciona uma nova linha no final. A linha cont > 💁 Se você estiver usando um Dispositivo IoT Virtual, selecione a caixa de seleção aleatória e defina um intervalo para evitar obter a mesma temperatura toda vez que o valor de temperatura for retornado. - ![Selecione a caixa de seleção aleatória e defina um intervalo](../../../../../translated_images/br/select-the-random-checkbox-and-set-a-range.32cf4bc7c12e797f.webp) + ![Selecione a caixa de seleção aleatória e defina um intervalo](../../../../../translated_images/pt-BR/select-the-random-checkbox-and-set-a-range.32cf4bc7c12e797f.webp) > 💁 Se você quiser executar isso por um dia inteiro, então você precisa garantir que o computador onde seu código de servidor está rodando não entre em modo de suspensão, seja alterando as configurações de energia ou executando algo como [este script Python para manter o sistema ativo](https://github.com/jaqsparow/keep-system-active). @@ -248,7 +248,7 @@ Os passos para fazer isso manualmente são: Por exemplo, se a temperatura mais alta do dia for 25°C e a mais baixa for 12°C: -![GDD = 25 + 12 dividido por 2, depois subtraia 10 do resultado, obtendo 8.5](../../../../../translated_images/br/gdd-calculation-strawberries.59f57db94b22adb8ff6efb951ace33af104a1c6ccca3ffb0f8169c14cb160c90.png) +![GDD = 25 + 12 dividido por 2, depois subtraia 10 do resultado, obtendo 8.5](../../../../../translated_images/pt-BR/gdd-calculation-strawberries.59f57db94b22adb8ff6efb951ace33af104a1c6ccca3ffb0f8169c14cb160c90.png) * 25 + 12 = 37 * 37 / 2 = 18.5 diff --git a/translations/br/2-farm/lessons/1-predict-plant-growth/assignment.md b/translations/br/2-farm/lessons/1-predict-plant-growth/assignment.md index 68735fc99..ab5c408eb 100644 --- a/translations/br/2-farm/lessons/1-predict-plant-growth/assignment.md +++ b/translations/br/2-farm/lessons/1-predict-plant-growth/assignment.md @@ -42,7 +42,7 @@ Depois de ter os dados de temperatura, você pode usar o Jupyter Notebook neste O Jupyter será iniciado e abrirá o notebook no seu navegador. Siga as instruções no notebook para visualizar as temperaturas medidas e calcular os graus-dia de crescimento. - ![O jupyter notebook](../../../../../translated_images/br/gdd-jupyter-notebook.c5b52cf21094f158a61f47f455490fd95f1729777ff90861a4521820bf354cdc.png) + ![O jupyter notebook](../../../../../translated_images/pt-BR/gdd-jupyter-notebook.c5b52cf21094f158a61f47f455490fd95f1729777ff90861a4521820bf354cdc.png) ## Rubrica diff --git a/translations/br/2-farm/lessons/1-predict-plant-growth/pi-temp.md b/translations/br/2-farm/lessons/1-predict-plant-growth/pi-temp.md index 779d47fa6..73569ea2e 100644 --- a/translations/br/2-farm/lessons/1-predict-plant-growth/pi-temp.md +++ b/translations/br/2-farm/lessons/1-predict-plant-growth/pi-temp.md @@ -25,13 +25,13 @@ O sensor de temperatura Grove pode ser conectado ao Raspberry Pi. Conecte o sensor de temperatura -![Um sensor de temperatura Grove](../../../../../translated_images/br/grove-dht11.07f8eafceee170043efbb53e1d15722bd4e00fbaa9ff74290b57e9f66eb82c17.png) +![Um sensor de temperatura Grove](../../../../../translated_images/pt-BR/grove-dht11.07f8eafceee170043efbb53e1d15722bd4e00fbaa9ff74290b57e9f66eb82c17.png) 1. Insira uma extremidade do cabo Grove no conector do sensor de umidade e temperatura. Ele só encaixará de uma maneira. 1. Com o Raspberry Pi desligado, conecte a outra extremidade do cabo Grove ao conector digital marcado como **D5** no Grove Base Hat conectado ao Pi. Este conector é o segundo da esquerda, na fileira de conectores ao lado dos pinos GPIO. -![O sensor de temperatura Grove conectado ao conector A0](../../../../../translated_images/br/pi-temperature-sensor.3ff82fff672c8e565ef25a39d26d111de006b825a7e0867227ef4e7fbff8553c.png) +![O sensor de temperatura Grove conectado ao conector A0](../../../../../translated_images/pt-BR/pi-temperature-sensor.3ff82fff672c8e565ef25a39d26d111de006b825a7e0867227ef4e7fbff8553c.png) ## Programar o sensor de temperatura diff --git a/translations/br/2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md b/translations/br/2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md index a78b7d31c..c4f949cf8 100644 --- a/translations/br/2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md +++ b/translations/br/2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md @@ -47,11 +47,11 @@ Adicione os sensores de umidade e temperatura ao aplicativo CounterFit. 1. Selecione o botão **Add** para criar o sensor de umidade no pino 5. - ![As configurações do sensor de umidade](../../../../../translated_images/br/counterfit-create-humidity-sensor.2750e27b6f30e09cf4e22101defd5252710717620816ab41ba688f91f757c49a.png) + ![As configurações do sensor de umidade](../../../../../translated_images/pt-BR/counterfit-create-humidity-sensor.2750e27b6f30e09cf4e22101defd5252710717620816ab41ba688f91f757c49a.png) O sensor de umidade será criado e aparecerá na lista de sensores. - ![O sensor de umidade criado](../../../../../translated_images/br/counterfit-humidity-sensor.7b12f7f339e430cb26c8211d2dba4ef75261b353a01da0932698b5bebd693f27.png) + ![O sensor de umidade criado](../../../../../translated_images/pt-BR/counterfit-humidity-sensor.7b12f7f339e430cb26c8211d2dba4ef75261b353a01da0932698b5bebd693f27.png) 1. Crie um sensor de temperatura: @@ -63,11 +63,11 @@ Adicione os sensores de umidade e temperatura ao aplicativo CounterFit. 1. Selecione o botão **Add** para criar o sensor de temperatura no pino 6. - ![As configurações do sensor de temperatura](../../../../../translated_images/br/counterfit-create-temperature-sensor.199350ed34f7343d79dccbe95eaf6c11d2121f03d1c35ab9613b330c23f39b29.png) + ![As configurações do sensor de temperatura](../../../../../translated_images/pt-BR/counterfit-create-temperature-sensor.199350ed34f7343d79dccbe95eaf6c11d2121f03d1c35ab9613b330c23f39b29.png) O sensor de temperatura será criado e aparecerá na lista de sensores. - ![O sensor de temperatura criado](../../../../../translated_images/br/counterfit-temperature-sensor.f0560236c96a9016bafce7f6f792476fe3367bc6941a1f7d5811d144d4bcbfff.png) + ![O sensor de temperatura criado](../../../../../translated_images/pt-BR/counterfit-temperature-sensor.f0560236c96a9016bafce7f6f792476fe3367bc6941a1f7d5811d144d4bcbfff.png) ## Programar o aplicativo do sensor de temperatura diff --git a/translations/br/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md b/translations/br/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md index ecc8293e8..be1f2faca 100644 --- a/translations/br/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md +++ b/translations/br/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md @@ -27,13 +27,13 @@ O sensor de temperatura Grove pode ser conectado à porta digital do Wio Termina Conecte o sensor de temperatura. -![Um sensor de temperatura Grove](../../../../../translated_images/br/grove-dht11.07f8eafceee170043efbb53e1d15722bd4e00fbaa9ff74290b57e9f66eb82c17.png) +![Um sensor de temperatura Grove](../../../../../translated_images/pt-BR/grove-dht11.07f8eafceee170043efbb53e1d15722bd4e00fbaa9ff74290b57e9f66eb82c17.png) 1. Insira uma extremidade de um cabo Grove no conector do sensor de umidade e temperatura. Ele só se encaixará de uma maneira. 1. Com o Wio Terminal desconectado do seu computador ou de outra fonte de energia, conecte a outra extremidade do cabo Grove ao conector Grove do lado direito do Wio Terminal, olhando para a tela. Este é o conector mais distante do botão de energia. -![O sensor de temperatura Grove conectado ao conector do lado direito](../../../../../translated_images/br/wio-temperature-sensor.2934928f38c7f79a.webp) +![O sensor de temperatura Grove conectado ao conector do lado direito](../../../../../translated_images/pt-BR/wio-temperature-sensor.2934928f38c7f79a.webp) ## Programar o sensor de temperatura diff --git a/translations/br/2-farm/lessons/2-detect-soil-moisture/README.md b/translations/br/2-farm/lessons/2-detect-soil-moisture/README.md index e4f03c636..44ce13ed0 100644 --- a/translations/br/2-farm/lessons/2-detect-soil-moisture/README.md +++ b/translations/br/2-farm/lessons/2-detect-soil-moisture/README.md @@ -22,7 +22,7 @@ O I²C possui um barramento composto por 2 fios principais, além de 2 fios de a | VCC | Coletor Comum de Voltagem | A fonte de alimentação para os dispositivos. Este fio está conectado aos fios SDA e SCL para fornecer energia por meio de um resistor pull-up que desliga o sinal quando nenhum dispositivo é o controlador. | | GND | Terra | Fornece um terra comum para o circuito elétrico. | -![Barramento I2C com 3 dispositivos conectados aos fios SDA e SCL, compartilhando um fio de terra comum](../../../../../translated_images/br/i2c.83da845dde02256bdd462dbe0d5145461416b74930571b89d1ae142841eeb584.png) +![Barramento I2C com 3 dispositivos conectados aos fios SDA e SCL, compartilhando um fio de terra comum](../../../../../translated_images/pt-BR/i2c.83da845dde02256bdd462dbe0d5145461416b74930571b89d1ae142841eeb584.png) Para enviar dados, um dispositivo emitirá uma condição de início para indicar que está pronto para enviar dados. Ele então se tornará o controlador. O controlador envia o endereço do dispositivo com o qual deseja se comunicar, juntamente com a informação se deseja ler ou escrever dados. Após a transmissão dos dados, o controlador envia uma condição de parada para indicar que terminou. Depois disso, outro dispositivo pode se tornar o controlador e enviar ou receber dados. @@ -37,7 +37,7 @@ UART envolve circuitos físicos que permitem a comunicação entre dois disposit * O Dispositivo 1 transmite dados do seu pino Tx, que são recebidos pelo Dispositivo 2 no seu pino Rx. * O Dispositivo 1 recebe dados no seu pino Rx que são transmitidos pelo Dispositivo 2 a partir do seu pino Tx. -![UART com o pino Tx de um chip conectado ao pino Rx de outro, e vice-versa](../../../../../translated_images/br/uart.d0dbd3fb9e3728c6.webp) +![UART com o pino Tx de um chip conectado ao pino Rx de outro, e vice-versa](../../../../../translated_images/pt-BR/uart.d0dbd3fb9e3728c6.webp) > 🎓 Os dados são enviados um bit por vez, e isso é conhecido como comunicação *serial*. A maioria dos sistemas operacionais e microcontroladores possuem *portas seriais*, ou seja, conexões que podem enviar e receber dados seriais disponíveis para o seu código. @@ -66,7 +66,7 @@ Controladores SPI utilizam 3 fios, junto com 1 fio extra por periférico. Perif | SCLK | Relógio Serial | Este fio envia um sinal de relógio em uma taxa definida pelo controlador. | | CS | Seleção de Chip | O controlador possui múltiplos fios, um por periférico, e cada fio conecta ao fio CS no periférico correspondente. | -![SPI com um controlador e dois periféricos](../../../../../translated_images/br/spi.297431d6f98b386b.webp) +![SPI com um controlador e dois periféricos](../../../../../translated_images/pt-BR/spi.297431d6f98b386b.webp) O fio CS é usado para ativar um periférico por vez, comunicando-se pelos fios COPI e CIPO. Quando o controlador precisa mudar de periférico, ele desativa o fio CS conectado ao periférico ativo e ativa o fio conectado ao periférico com o qual deseja se comunicar. @@ -127,13 +127,13 @@ A umidade do solo é medida usando o conteúdo de água gravimétrico ou volumé Sensores de umidade do solo medem resistência elétrica ou capacitância - isso não apenas varia com a umidade do solo, mas também com o tipo de solo, já que os componentes do solo podem alterar suas características elétricas. Idealmente, os sensores devem ser calibrados - ou seja, realizar leituras do sensor e compará-las com medições obtidas por um método mais científico. Por exemplo, um laboratório pode calcular a umidade gravimétrica do solo usando amostras de um campo específico algumas vezes por ano, e esses números podem ser usados para calibrar o sensor, associando a leitura do sensor à umidade gravimétrica do solo. -![Um gráfico de tensão vs. conteúdo de umidade do solo](../../../../../translated_images/br/soil-moisture-to-voltage.df86d80cda158700.webp) +![Um gráfico de tensão vs. conteúdo de umidade do solo](../../../../../translated_images/pt-BR/soil-moisture-to-voltage.df86d80cda158700.webp) O gráfico acima mostra como calibrar um sensor. A tensão é capturada para uma amostra de solo que é então medida em um laboratório, comparando o peso úmido ao peso seco (medindo o peso úmido, depois secando no forno e medindo o peso seco). Após algumas leituras, os dados podem ser plotados em um gráfico e uma linha ajustada aos pontos. Essa linha pode então ser usada para converter leituras do sensor de umidade do solo feitas por um dispositivo IoT em medições reais de umidade do solo. 💁 Para sensores resistivos de umidade do solo, a tensão aumenta à medida que a umidade do solo aumenta. Para sensores capacitivos de umidade do solo, a tensão diminui à medida que a umidade do solo aumenta, então os gráficos para esses sensores teriam uma inclinação descendente, não ascendente. -![Um valor de umidade do solo interpolado a partir do gráfico](../../../../../translated_images/br/soil-moisture-to-voltage-with-reading.681cb3e1f8b68caf.webp) +![Um valor de umidade do solo interpolado a partir do gráfico](../../../../../translated_images/pt-BR/soil-moisture-to-voltage-with-reading.681cb3e1f8b68caf.webp) O gráfico acima mostra uma leitura de tensão de um sensor de umidade do solo e, ao seguir essa leitura até a linha no gráfico, a umidade real do solo pode ser calculada. diff --git a/translations/br/2-farm/lessons/2-detect-soil-moisture/assignment.md b/translations/br/2-farm/lessons/2-detect-soil-moisture/assignment.md index 3d7a20ed9..ca3bc8c75 100644 --- a/translations/br/2-farm/lessons/2-detect-soil-moisture/assignment.md +++ b/translations/br/2-farm/lessons/2-detect-soil-moisture/assignment.md @@ -29,7 +29,7 @@ Será necessário repetir esses passos várias vezes para obter as leituras nece A umidade gravimétrica do solo é calculada como: -![umidade do solo % é o peso úmido menos o peso seco, dividido pelo peso seco, vezes 100](../../../../../translated_images/br/gsm-calculation.6da38c6201eec14e7573bb2647aa18892883193553d23c9d77e5dc681522dfb2.png) +![umidade do solo % é o peso úmido menos o peso seco, dividido pelo peso seco, vezes 100](../../../../../translated_images/pt-BR/gsm-calculation.6da38c6201eec14e7573bb2647aa18892883193553d23c9d77e5dc681522dfb2.png) * W - o peso do solo úmido @@ -38,7 +38,7 @@ A umidade gravimétrica do solo é calculada como: Por exemplo, suponha que você tenha uma amostra de solo que pesa 212g úmida e 197g seca. -![O cálculo preenchido](../../../../../translated_images/br/gsm-calculation-example.99f9803b4f29e97668e7c15412136c0c399ab12dbba0b89596fdae9d8aedb6fb.png) +![O cálculo preenchido](../../../../../translated_images/pt-BR/gsm-calculation-example.99f9803b4f29e97668e7c15412136c0c399ab12dbba0b89596fdae9d8aedb6fb.png) * W = 212g * W = 197g diff --git a/translations/br/2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md b/translations/br/2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md index 31d8d9614..8f0b771d0 100644 --- a/translations/br/2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md +++ b/translations/br/2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md @@ -27,17 +27,17 @@ O sensor de umidade do solo Grove pode ser conectado ao Raspberry Pi. Conecte o sensor de umidade do solo. -![Um sensor de umidade do solo Grove](../../../../../translated_images/br/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.png) +![Um sensor de umidade do solo Grove](../../../../../translated_images/pt-BR/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.png) 1. Insira uma extremidade de um cabo Grove no conector do sensor de umidade do solo. Ele só encaixará de uma maneira. 1. Com o Raspberry Pi desligado, conecte a outra extremidade do cabo Grove ao conector analógico marcado como **A0** no Grove Base Hat conectado ao Raspberry Pi. Este conector é o segundo da direita, na fileira de conectores ao lado dos pinos GPIO. -![O sensor de umidade do solo Grove conectado ao conector A0](../../../../../translated_images/br/pi-soil-moisture-sensor.fdd7eb2393792cf6739cacf1985d9f55beda16d372f30d0b5a51d586f978a870.png) +![O sensor de umidade do solo Grove conectado ao conector A0](../../../../../translated_images/pt-BR/pi-soil-moisture-sensor.fdd7eb2393792cf6739cacf1985d9f55beda16d372f30d0b5a51d586f978a870.png) 1. Insira o sensor de umidade do solo no solo. Ele possui uma "linha de posição máxima" - uma linha branca atravessando o sensor. Insira o sensor até essa linha, mas não ultrapasse. -![O sensor de umidade do solo Grove no solo](../../../../../translated_images/br/soil-moisture-sensor-in-soil.bfad91002bda5e96.webp) +![O sensor de umidade do solo Grove no solo](../../../../../translated_images/pt-BR/soil-moisture-sensor-in-soil.bfad91002bda5e96.webp) ## Programar o sensor de umidade do solo diff --git a/translations/br/2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md b/translations/br/2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md index b4287cc4b..a29c67237 100644 --- a/translations/br/2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md +++ b/translations/br/2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md @@ -43,11 +43,11 @@ Adicione o sensor de umidade do solo ao aplicativo CounterFit. 1. Selecione o botão **Add** para criar o sensor *Soil Moisture* no Pin 0. - ![As configurações do sensor de umidade do solo](../../../../../translated_images/br/counterfit-create-soil-moisture-sensor.35266135a5e0ae68b29a684d7db0d2933a8098b2307d197f7c71577b724603aa.png) + ![As configurações do sensor de umidade do solo](../../../../../translated_images/pt-BR/counterfit-create-soil-moisture-sensor.35266135a5e0ae68b29a684d7db0d2933a8098b2307d197f7c71577b724603aa.png) O sensor de umidade do solo será criado e aparecerá na lista de sensores. - ![O sensor de umidade do solo criado](../../../../../translated_images/br/counterfit-soil-moisture-sensor.81742b2de0e9de60a3b3b9a2ff8ecc686d428eb6d71820f27a693be26e5aceee.png) + ![O sensor de umidade do solo criado](../../../../../translated_images/pt-BR/counterfit-soil-moisture-sensor.81742b2de0e9de60a3b3b9a2ff8ecc686d428eb6d71820f27a693be26e5aceee.png) ## Programar o aplicativo do sensor de umidade do solo diff --git a/translations/br/2-farm/lessons/2-detect-soil-moisture/wio-terminal-soil-moisture.md b/translations/br/2-farm/lessons/2-detect-soil-moisture/wio-terminal-soil-moisture.md index baf2c1340..588f44979 100644 --- a/translations/br/2-farm/lessons/2-detect-soil-moisture/wio-terminal-soil-moisture.md +++ b/translations/br/2-farm/lessons/2-detect-soil-moisture/wio-terminal-soil-moisture.md @@ -27,17 +27,17 @@ O sensor de umidade do solo Grove pode ser conectado à porta analógica/digital Conecte o sensor de umidade do solo. -![Um sensor de umidade do solo Grove](../../../../../translated_images/br/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.png) +![Um sensor de umidade do solo Grove](../../../../../translated_images/pt-BR/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.png) 1. Insira uma extremidade de um cabo Grove no conector do sensor de umidade do solo. Ele só encaixará de uma maneira. 1. Com o Wio Terminal desconectado do seu computador ou de outra fonte de energia, conecte a outra extremidade do cabo Grove ao conector Grove do lado direito do Wio Terminal, olhando para a tela. Este é o conector mais distante do botão de energia. -![O sensor de umidade do solo Grove conectado ao conector do lado direito](../../../../../translated_images/br/wio-soil-moisture-sensor.46919b61c3f6cb74.webp) +![O sensor de umidade do solo Grove conectado ao conector do lado direito](../../../../../translated_images/pt-BR/wio-soil-moisture-sensor.46919b61c3f6cb74.webp) 1. Insira o sensor de umidade do solo no solo. Ele possui uma 'linha de posição máxima' - uma linha branca atravessando o sensor. Insira o sensor até essa linha, mas não ultrapasse. -![O sensor de umidade do solo Grove no solo](../../../../../translated_images/br/soil-moisture-sensor-in-soil.bfad91002bda5e96.webp) +![O sensor de umidade do solo Grove no solo](../../../../../translated_images/pt-BR/soil-moisture-sensor-in-soil.bfad91002bda5e96.webp) 1. Agora você pode conectar o Wio Terminal ao seu computador. diff --git a/translations/br/2-farm/lessons/3-automated-plant-watering/README.md b/translations/br/2-farm/lessons/3-automated-plant-watering/README.md index 8334bf266..d1f20a99c 100644 --- a/translations/br/2-farm/lessons/3-automated-plant-watering/README.md +++ b/translations/br/2-farm/lessons/3-automated-plant-watering/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # Irrigação automatizada de plantas -![Uma visão geral ilustrada desta lição](../../../../../translated_images/br/lesson-7.30b5f577d3cb8e031238751475cb519c7d6dbaea261b5df4643d086ffb2a03bb.jpg) +![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt-BR/lesson-7.30b5f577d3cb8e031238751475cb519c7d6dbaea261b5df4643d086ffb2a03bb.jpg) > Ilustração por [Nitya Narasimhan](https://github.com/nitya). Clique na imagem para uma versão maior. @@ -41,7 +41,7 @@ Dispositivos IoT utilizam baixa voltagem. Embora isso seja suficiente para senso A solução para isso é conectar a bomba a uma fonte de energia externa e usar um atuador para ligar a bomba, semelhante a como você ligaria uma luz. É necessário apenas uma pequena quantidade de energia (na forma de energia do seu corpo) para seu dedo acionar um interruptor, conectando a luz à eletricidade da rede elétrica de 110v/240v. -![Um interruptor de luz liga a energia para uma lâmpada](../../../../../translated_images/br/light-switch.760317ad6ab8bd6d611da5352dfe9c73a94a0822ccec7df3c8bae35da18e1658.png) +![Um interruptor de luz liga a energia para uma lâmpada](../../../../../translated_images/pt-BR/light-switch.760317ad6ab8bd6d611da5352dfe9c73a94a0822ccec7df3c8bae35da18e1658.png) > 🎓 [Eletricidade da rede](https://wikipedia.org/wiki/Mains_electricity) refere-se à eletricidade fornecida a residências e empresas por meio de infraestrutura nacional em muitas partes do mundo. @@ -55,11 +55,11 @@ Um relé é um interruptor eletromecânico que converte um sinal elétrico em um > 🎓 [Eletroímãs](https://wikipedia.org/wiki/Electromagnet) são ímãs criados ao passar eletricidade por uma bobina de fio. Quando a eletricidade é ligada, a bobina se torna magnetizada. Quando a eletricidade é desligada, a bobina perde seu magnetismo. -![Quando ligado, o eletroímã cria um campo magnético, acionando o interruptor do circuito de saída](../../../../../translated_images/br/relay-on.4db16a0fd6b66926.webp) +![Quando ligado, o eletroímã cria um campo magnético, acionando o interruptor do circuito de saída](../../../../../translated_images/pt-BR/relay-on.4db16a0fd6b66926.webp) Em um relé, um circuito de controle alimenta o eletroímã. Quando o eletroímã está ligado, ele puxa uma alavanca que move um interruptor, fechando um par de contatos e completando um circuito de saída. -![Quando desligado, o eletroímã não cria um campo magnético, desligando o interruptor do circuito de saída](../../../../../translated_images/br/relay-off.c34a178a2960fecd.webp) +![Quando desligado, o eletroímã não cria um campo magnético, desligando o interruptor do circuito de saída](../../../../../translated_images/pt-BR/relay-off.c34a178a2960fecd.webp) Quando o circuito de controle está desligado, o eletroímã desliga, liberando a alavanca e abrindo os contatos, desligando o circuito de saída. Relés são atuadores digitais - um sinal alto para o relé o liga, um sinal baixo o desliga. @@ -81,11 +81,11 @@ Quando a alavanca se move, geralmente é possível ouvir o contato com o eletro O eletroímã não precisa de muita energia para ativar e puxar a alavanca, podendo ser controlado usando a saída de 3.3V ou 5V de um kit de desenvolvimento IoT. O circuito de saída pode transportar muito mais energia, dependendo do relé, incluindo voltagem da rede elétrica ou até níveis de potência mais altos para uso industrial. Dessa forma, um kit de desenvolvimento IoT pode controlar um sistema de irrigação, desde uma pequena bomba para uma única planta até um sistema industrial massivo para uma fazenda comercial inteira. -![Um relé Grove com o circuito de controle, circuito de saída e relé identificados](../../../../../translated_images/br/grove-relay-labelled.293e068f5c3c2a199bd7892f2661fdc9e10c920b535cfed317fbd6d1d4ae1168.png) +![Um relé Grove com o circuito de controle, circuito de saída e relé identificados](../../../../../translated_images/pt-BR/grove-relay-labelled.293e068f5c3c2a199bd7892f2661fdc9e10c920b535cfed317fbd6d1d4ae1168.png) A imagem acima mostra um relé Grove. O circuito de controle conecta-se a um dispositivo IoT e liga ou desliga o relé usando 3.3V ou 5V. O circuito de saída possui dois terminais, qualquer um pode ser energia ou terra. O circuito de saída pode lidar com até 250V a 10A, suficiente para uma variedade de dispositivos alimentados pela rede elétrica. Você pode encontrar relés que suportam níveis de potência ainda mais altos. -![Uma bomba conectada através de um relé](../../../../../translated_images/br/pump-wired-to-relay.66c5cfc0d8918990.webp) +![Uma bomba conectada através de um relé](../../../../../translated_images/pt-BR/pump-wired-to-relay.66c5cfc0d8918990.webp) Na imagem acima, a energia é fornecida a uma bomba via relé. Há um fio vermelho conectando o terminal +5V de uma fonte de alimentação USB a um terminal do circuito de saída do relé, e outro fio vermelho conectando o outro terminal do circuito de saída à bomba. Um fio preto conecta a bomba ao terra na fonte de alimentação USB. Quando o relé é ligado, ele completa o circuito, enviando 5V para a bomba, ligando-a. @@ -135,7 +135,7 @@ Na lição 3, você construiu uma luz noturna - um LED que acende assim que um n Se você fez a última lição sobre umidade do solo usando um sensor físico, deve ter notado que levou alguns segundos para a leitura de umidade do solo cair após você regar sua planta. Isso não ocorre porque o sensor é lento, mas porque leva tempo para a água se infiltrar no solo. 💁 Se você regou muito perto do sensor, pode ter notado que a leitura caiu rapidamente e depois voltou a subir - isso acontece porque a água próxima ao sensor se espalha pelo restante do solo, reduzindo a umidade do solo ao redor do sensor. -![Uma medição de umidade do solo de 658 não muda durante a irrigação, apenas cai para 320 após a irrigação quando a água penetra no solo](../../../../../translated_images/br/soil-moisture-travel.a0e31af222cf1438.webp) +![Uma medição de umidade do solo de 658 não muda durante a irrigação, apenas cai para 320 após a irrigação quando a água penetra no solo](../../../../../translated_images/pt-BR/soil-moisture-travel.a0e31af222cf1438.webp) No diagrama acima, uma leitura de umidade do solo mostra 658. A planta é irrigada, mas essa leitura não muda imediatamente, pois a água ainda não alcançou o sensor. A irrigação pode até terminar antes que a água chegue ao sensor e o valor caia para refletir o novo nível de umidade. @@ -157,11 +157,11 @@ Quanto tempo o relé deve ficar ligado a cada vez? É melhor errar por excesso d > 💁 Esse tipo de controle de tempo é muito específico para o dispositivo IoT que você está construindo, a propriedade que está medindo e os sensores e atuadores utilizados. -![Uma planta de morango conectada à água via uma bomba, com a bomba conectada a um relé. O relé e um sensor de umidade do solo na planta estão conectados a um Raspberry Pi](../../../../../translated_images/br/strawberry-with-pump.b410fc72ac6aabad.webp) +![Uma planta de morango conectada à água via uma bomba, com a bomba conectada a um relé. O relé e um sensor de umidade do solo na planta estão conectados a um Raspberry Pi](../../../../../translated_images/pt-BR/strawberry-with-pump.b410fc72ac6aabad.webp) Por exemplo, eu tenho uma planta de morango com um sensor de umidade do solo e uma bomba controlada por um relé. Observei que, quando adiciono água, leva cerca de 20 segundos para a leitura de umidade do solo se estabilizar. Isso significa que preciso desligar o relé e esperar 20 segundos antes de verificar os níveis de umidade. Prefiro ter pouca água do que muita - sempre posso ligar a bomba novamente, mas não posso retirar água da planta. -![Passo 1, fazer a medição. Passo 2, adicionar água. Passo 3, esperar que a água penetre no solo. Passo 4, refazer a medição](../../../../../translated_images/br/soil-moisture-delay.865f3fae206db01d.webp) +![Passo 1, fazer a medição. Passo 2, adicionar água. Passo 3, esperar que a água penetre no solo. Passo 4, refazer a medição](../../../../../translated_images/pt-BR/soil-moisture-delay.865f3fae206db01d.webp) Isso significa que o melhor processo seria um ciclo de irrigação semelhante a: diff --git a/translations/br/2-farm/lessons/3-automated-plant-watering/pi-relay.md b/translations/br/2-farm/lessons/3-automated-plant-watering/pi-relay.md index 34bcf67a3..eaf40d3a5 100644 --- a/translations/br/2-farm/lessons/3-automated-plant-watering/pi-relay.md +++ b/translations/br/2-farm/lessons/3-automated-plant-watering/pi-relay.md @@ -27,13 +27,13 @@ O relé Grove pode ser conectado ao Raspberry Pi. Conecte o relé. -![Um relé Grove](../../../../../translated_images/br/grove-relay.d426958ca210fbd0fb7983d7edc069d46c73a8b0a099d94797bd756f7b6bb6be.png) +![Um relé Grove](../../../../../translated_images/pt-BR/grove-relay.d426958ca210fbd0fb7983d7edc069d46c73a8b0a099d94797bd756f7b6bb6be.png) 1. Insira uma extremidade de um cabo Grove no soquete do relé. Ele só encaixará de uma maneira. 1. Com o Raspberry Pi desligado, conecte a outra extremidade do cabo Grove ao soquete digital marcado como **D5** no Grove Base Hat conectado ao Pi. Este soquete é o segundo da esquerda, na fileira de soquetes ao lado dos pinos GPIO. Deixe o sensor de umidade do solo conectado ao soquete **A0**. -![O relé Grove conectado ao soquete D5 e o sensor de umidade do solo conectado ao soquete A0](../../../../../translated_images/br/pi-relay-and-soil-moisture-sensor.02f3198975b8c53e69ec716cd2719ce117700bd1fc933eaf93476c103c57939b.png) +![O relé Grove conectado ao soquete D5 e o sensor de umidade do solo conectado ao soquete A0](../../../../../translated_images/pt-BR/pi-relay-and-soil-moisture-sensor.02f3198975b8c53e69ec716cd2719ce117700bd1fc933eaf93476c103c57939b.png) 1. Insira o sensor de umidade do solo na terra, caso ele ainda não esteja inserido da lição anterior. diff --git a/translations/br/2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md b/translations/br/2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md index 7e24349a9..920bce518 100644 --- a/translations/br/2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md +++ b/translations/br/2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md @@ -37,11 +37,11 @@ Adicione o relé ao aplicativo CounterFit. 1. Selecione o botão **Add** para criar o relé no pino 5. - ![As configurações do relé](../../../../../translated_images/br/counterfit-create-relay.fa7c40fd0f2f6afc33b35ea94fcb235085be4861e14e3fe6b9b7bcfc82d1c888.png) + ![As configurações do relé](../../../../../translated_images/pt-BR/counterfit-create-relay.fa7c40fd0f2f6afc33b35ea94fcb235085be4861e14e3fe6b9b7bcfc82d1c888.png) O relé será criado e aparecerá na lista de atuadores. - ![O relé criado](../../../../../translated_images/br/counterfit-relay.bbf74c1dbdc8b9acd983367fcbd06703a402aefef6af54ddb28e11307ba8a12c.png) + ![O relé criado](../../../../../translated_images/pt-BR/counterfit-relay.bbf74c1dbdc8b9acd983367fcbd06703a402aefef6af54ddb28e11307ba8a12c.png) ## Programar o relé diff --git a/translations/br/2-farm/lessons/3-automated-plant-watering/wio-terminal-relay.md b/translations/br/2-farm/lessons/3-automated-plant-watering/wio-terminal-relay.md index b1a0edbff..f6e37a428 100644 --- a/translations/br/2-farm/lessons/3-automated-plant-watering/wio-terminal-relay.md +++ b/translations/br/2-farm/lessons/3-automated-plant-watering/wio-terminal-relay.md @@ -27,13 +27,13 @@ O relé Grove pode ser conectado à porta digital do Wio Terminal. Conecte o relé. -![Um relé Grove](../../../../../translated_images/br/grove-relay.d426958ca210fbd0fb7983d7edc069d46c73a8b0a099d94797bd756f7b6bb6be.png) +![Um relé Grove](../../../../../translated_images/pt-BR/grove-relay.d426958ca210fbd0fb7983d7edc069d46c73a8b0a099d94797bd756f7b6bb6be.png) 1. Insira uma extremidade de um cabo Grove no soquete do relé. Ele só encaixará de uma maneira. 1. Com o Wio Terminal desconectado do computador ou de outra fonte de energia, conecte a outra extremidade do cabo Grove ao soquete Grove do lado esquerdo do Wio Terminal, olhando para a tela. Deixe o sensor de umidade do solo conectado ao soquete do lado direito. -![O relé Grove conectado ao soquete esquerdo e o sensor de umidade do solo conectado ao soquete direito](../../../../../translated_images/br/wio-relay-and-soil-moisture-sensor.ed722202d42babe0.webp) +![O relé Grove conectado ao soquete esquerdo e o sensor de umidade do solo conectado ao soquete direito](../../../../../translated_images/pt-BR/wio-relay-and-soil-moisture-sensor.ed722202d42babe0.webp) 1. Insira o sensor de umidade do solo no solo, caso ele ainda não esteja inserido da lição anterior. diff --git a/translations/br/2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md b/translations/br/2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md index 18695b9e4..050bb2ecf 100644 --- a/translations/br/2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md +++ b/translations/br/2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # Migre sua planta para a nuvem -![Uma visão geral ilustrada desta lição](../../../../../translated_images/br/lesson-8.3f21f3c11159e6a0a376351973ea5724d5de68fa23b4288853a174bed9ac48c3.jpg) +![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt-BR/lesson-8.3f21f3c11159e6a0a376351973ea5724d5de68fa23b4288853a174bed9ac48c3.jpg) > Ilustração por [Nitya Narasimhan](https://github.com/nitya). Clique na imagem para uma versão maior. @@ -55,8 +55,8 @@ Isso podia ser muito caro, exigir uma ampla gama de funcionários qualificados e A nuvem é frequentemente chamada de "o computador de outra pessoa" como uma brincadeira. A ideia inicial era simples: em vez de comprar computadores, você aluga o computador de outra pessoa. Essa "outra pessoa", um provedor de computação em nuvem, gerenciaria enormes data centers. Eles seriam responsáveis por comprar e instalar o hardware, gerenciar energia e refrigeração, rede, segurança do prédio, atualizações de hardware e software, tudo. Como cliente, você alugaria os computadores necessários, alugando mais conforme a demanda aumentasse e reduzindo o número alugado se a demanda diminuísse. Esses data centers estão espalhados pelo mundo. -![Um data center da nuvem da Microsoft](../../../../../translated_images/br/azure-region-existing.73f704604f2aa6cb9b5a49ed40e93d4fd81ae3f4e6af4a8ca504023902832f56.png) -![Expansão planejada de um data center da nuvem da Microsoft](../../../../../translated_images/br/azure-region-planned-expansion.a5074a1e8af74f156a73552d502429e5b126ea5019274d767ecb4b9afdad442b.png) +![Um data center da nuvem da Microsoft](../../../../../translated_images/pt-BR/azure-region-existing.73f704604f2aa6cb9b5a49ed40e93d4fd81ae3f4e6af4a8ca504023902832f56.png) +![Expansão planejada de um data center da nuvem da Microsoft](../../../../../translated_images/pt-BR/azure-region-planned-expansion.a5074a1e8af74f156a73552d502429e5b126ea5019274d767ecb4b9afdad442b.png) Esses data centers podem ter vários quilômetros quadrados de tamanho. As imagens acima foram tiradas há alguns anos em um data center da nuvem da Microsoft e mostram o tamanho inicial, junto com uma expansão planejada. A área limpa para a expansão tem mais de 5 quilômetros quadrados. @@ -72,7 +72,7 @@ O provedor de nuvem pode então usar economias de escala para reduzir os custos, Azure é a nuvem para desenvolvedores da Microsoft, e é a nuvem que você usará nestas lições. O vídeo abaixo oferece uma breve visão geral do Azure: -[![Vídeo de visão geral do Azure](../../../../../translated_images/br/what-is-azure-video-thumbnail.20174db09e03bbb8.webp)](https://www.microsoft.com/videoplayer/embed/RE4Ibng?WT.mc_id=academic-17441-jabenn) +[![Vídeo de visão geral do Azure](../../../../../translated_images/pt-BR/what-is-azure-video-thumbnail.20174db09e03bbb8.webp)](https://www.microsoft.com/videoplayer/embed/RE4Ibng?WT.mc_id=academic-17441-jabenn) ## Criar uma assinatura de nuvem @@ -117,11 +117,11 @@ Os serviços de IoT na nuvem resolvem esses problemas. Eles são mantidos por gr Dispositivos IoT se conectam a um serviço de nuvem usando um SDK de dispositivo (uma biblioteca que fornece código para trabalhar com os recursos do serviço) ou diretamente via um protocolo de comunicação como MQTT ou HTTP. O SDK de dispositivo geralmente é a rota mais fácil, pois lida com tudo para você, como saber quais tópicos publicar ou assinar e como gerenciar a segurança. -![Dispositivos se conectam a um serviço usando um SDK de dispositivo. Código de servidor também se conecta ao serviço via um SDK](../../../../../translated_images/br/iot-service-connectivity.7e873847921a5d6fd60d0ba3a943210194518cee0d4e362476624316443275c3.png) +![Dispositivos se conectam a um serviço usando um SDK de dispositivo. Código de servidor também se conecta ao serviço via um SDK](../../../../../translated_images/pt-BR/iot-service-connectivity.7e873847921a5d6fd60d0ba3a943210194518cee0d4e362476624316443275c3.png) Seu dispositivo então se comunica com outras partes de sua aplicação por meio desse serviço - semelhante à forma como você enviou telemetria e recebeu comandos via MQTT. Isso geralmente é feito usando um SDK de serviço ou uma biblioteca semelhante. As mensagens vêm do seu dispositivo para o serviço, onde outros componentes da sua aplicação podem lê-las, e mensagens podem ser enviadas de volta ao seu dispositivo. -![Dispositivos sem uma chave secreta válida não podem se conectar ao serviço de IoT](../../../../../translated_images/br/iot-service-allowed-denied-connection.818b0063ac213fb84204a7229303764d9b467ca430fb822b4ac2fca267d56726.png) +![Dispositivos sem uma chave secreta válida não podem se conectar ao serviço de IoT](../../../../../translated_images/pt-BR/iot-service-allowed-denied-connection.818b0063ac213fb84204a7229303764d9b467ca430fb822b4ac2fca267d56726.png) Esses serviços implementam segurança conhecendo todos os dispositivos que podem se conectar e enviar dados, seja registrando os dispositivos previamente no serviço ou fornecendo aos dispositivos chaves secretas ou certificados que podem usar para se registrar no serviço na primeira vez que se conectarem. Dispositivos desconhecidos não conseguem se conectar; se tentarem, o serviço rejeita a conexão e ignora as mensagens enviadas por eles. @@ -133,7 +133,7 @@ Outros componentes da sua aplicação podem se conectar ao serviço de IoT e apr Agora que você tem uma assinatura do Azure, pode se inscrever em um serviço de IoT. O serviço de IoT da Microsoft é chamado Azure IoT Hub. -![O logotipo do Azure IoT Hub](../../../../../translated_images/br/azure-iot-hub-logo.28a19de76d0a1932464d858f7558712bcdace3e5ec69c434d482ed7ce41c3a26.png) +![O logotipo do Azure IoT Hub](../../../../../translated_images/pt-BR/azure-iot-hub-logo.28a19de76d0a1932464d858f7558712bcdace3e5ec69c434d482ed7ce41c3a26.png) O vídeo abaixo oferece uma breve visão geral do Azure IoT Hub: diff --git a/translations/br/2-farm/lessons/5-migrate-application-to-the-cloud/README.md b/translations/br/2-farm/lessons/5-migrate-application-to-the-cloud/README.md index e62bdcd5c..4076010f9 100644 --- a/translations/br/2-farm/lessons/5-migrate-application-to-the-cloud/README.md +++ b/translations/br/2-farm/lessons/5-migrate-application-to-the-cloud/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # Migre a lógica da sua aplicação para a nuvem -![Uma visão geral ilustrada desta lição](../../../../../translated_images/br/lesson-9.dfe99c8e891f48e179724520da9f5794392cf9a625079281ccdcbf09bd85e1b6.jpg) +![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt-BR/lesson-9.dfe99c8e891f48e179724520da9f5794392cf9a625079281ccdcbf09bd85e1b6.jpg) > Ilustração por [Nitya Narasimhan](https://github.com/nitya). Clique na imagem para uma versão maior. @@ -37,11 +37,11 @@ Nesta lição, abordaremos: Serverless, ou computação sem servidor, envolve criar pequenos blocos de código que são executados na nuvem em resposta a diferentes tipos de eventos. Quando o evento ocorre, seu código é executado e recebe dados sobre o evento. Esses eventos podem vir de várias fontes, incluindo requisições web, mensagens colocadas em uma fila, alterações em dados de um banco de dados ou mensagens enviadas a um serviço de IoT por dispositivos IoT. -![Eventos sendo enviados de um serviço IoT para um serviço serverless, todos processados ao mesmo tempo por várias funções sendo executadas](../../../../../translated_images/br/iot-messages-to-serverless.0194da1cc0732bb7d0f823aed3fce54735c6b1ad3bf36089804d8aaefc0a774f.png) +![Eventos sendo enviados de um serviço IoT para um serviço serverless, todos processados ao mesmo tempo por várias funções sendo executadas](../../../../../translated_images/pt-BR/iot-messages-to-serverless.0194da1cc0732bb7d0f823aed3fce54735c6b1ad3bf36089804d8aaefc0a774f.png) > 💁 Se você já usou gatilhos de banco de dados antes, pode pensar nisso como algo semelhante: código sendo acionado por um evento, como a inserção de uma linha. -![Quando muitos eventos são enviados ao mesmo tempo, o serviço serverless escala para executá-los todos simultaneamente](../../../../../translated_images/br/serverless-scaling.f8c769adf0413fd1.webp) +![Quando muitos eventos são enviados ao mesmo tempo, o serviço serverless escala para executá-los todos simultaneamente](../../../../../translated_images/pt-BR/serverless-scaling.f8c769adf0413fd1.webp) Seu código só é executado quando o evento ocorre, não há nada mantendo seu código ativo em outros momentos. O evento acontece, seu código é carregado e executado. Isso torna o serverless muito escalável - se muitos eventos ocorrerem ao mesmo tempo, o provedor de nuvem pode executar sua função quantas vezes forem necessárias simultaneamente, utilizando os servidores disponíveis. A desvantagem disso é que, se você precisar compartilhar informações entre eventos, será necessário armazená-las em algum lugar, como um banco de dados, em vez de mantê-las na memória. @@ -63,7 +63,7 @@ Como desenvolvedor de IoT, o modelo serverless é ideal. Você pode escrever uma O serviço de computação serverless da Microsoft é chamado Azure Functions. -![O logotipo do Azure Functions](../../../../../translated_images/br/azure-functions-logo.1cfc8e3204c9c44aaf80fcf406fc8544d80d7f00f8d3e8ed6fed764563e17564.png) +![O logotipo do Azure Functions](../../../../../translated_images/pt-BR/azure-functions-logo.1cfc8e3204c9c44aaf80fcf406fc8544d80d7f00f8d3e8ed6fed764563e17564.png) O vídeo curto abaixo oferece uma visão geral do Azure Functions. @@ -244,7 +244,7 @@ A CLI do Azure Functions pode ser usada para criar um novo aplicativo de funçõ VS Code. Initialize for optimal use with VS Code? ``` - ![A notificação](../../../../../translated_images/br/vscode-azure-functions-init-notification.bd19b49229963edb.webp) + ![A notificação](../../../../../translated_images/pt-BR/vscode-azure-functions-init-notification.bd19b49229963edb.webp) Selecione **Sim** nesta notificação. diff --git a/translations/br/2-farm/lessons/6-keep-your-plant-secure/README.md b/translations/br/2-farm/lessons/6-keep-your-plant-secure/README.md index 4d0d936b3..a507b4926 100644 --- a/translations/br/2-farm/lessons/6-keep-your-plant-secure/README.md +++ b/translations/br/2-farm/lessons/6-keep-your-plant-secure/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # Mantenha sua planta segura -![Uma visão geral ilustrada desta lição](../../../../../translated_images/br/lesson-10.829c86b80b9403bb770929ee553a1d293afe50dc23121aaf9be144673ae012cc.jpg) +![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt-BR/lesson-10.829c86b80b9403bb770929ee553a1d293afe50dc23121aaf9be144673ae012cc.jpg) > Ilustração por [Nitya Narasimhan](https://github.com/nitya). Clique na imagem para uma versão maior. @@ -61,11 +61,11 @@ Esses são cenários do mundo real e acontecem o tempo todo. Alguns exemplos for Quando um dispositivo se conecta a um serviço IoT, ele usa um ID para se identificar. O problema é que esse ID pode ser clonado - um hacker poderia configurar um dispositivo malicioso que usa o mesmo ID de um dispositivo real, mas envia dados falsos. -![Tanto dispositivos válidos quanto maliciosos poderiam usar o mesmo ID para enviar telemetria](../../../../../translated_images/br/iot-device-and-hacked-device-connecting.e0671675df74d6d99eb1dedb5a670e606f698efa6202b1ad4c8ae548db299cc6.png) +![Tanto dispositivos válidos quanto maliciosos poderiam usar o mesmo ID para enviar telemetria](../../../../../translated_images/pt-BR/iot-device-and-hacked-device-connecting.e0671675df74d6d99eb1dedb5a670e606f698efa6202b1ad4c8ae548db299cc6.png) A solução para isso é converter os dados enviados em um formato embaralhado, usando algum valor conhecido apenas pelo dispositivo e pela nuvem. Esse processo é chamado de *criptografia*, e o valor usado para criptografar os dados é chamado de *chave de criptografia*. -![Se a criptografia for usada, apenas mensagens criptografadas serão aceitas, outras serão rejeitadas](../../../../../translated_images/br/iot-device-and-hacked-device-connecting-encryption.5941aff601fc978f979e46f2849b573564eeb4a4dc5b52f669f62745397492fb.png) +![Se a criptografia for usada, apenas mensagens criptografadas serão aceitas, outras serão rejeitadas](../../../../../translated_images/pt-BR/iot-device-and-hacked-device-connecting-encryption.5941aff601fc978f979e46f2849b573564eeb4a4dc5b52f669f62745397492fb.png) O serviço na nuvem pode então converter os dados de volta para um formato legível, usando um processo chamado *descriptografia*, utilizando a mesma chave de criptografia ou uma *chave de descriptografia*. Se a mensagem criptografada não puder ser descriptografada pela chave, o dispositivo foi comprometido e a mensagem é rejeitada. @@ -97,15 +97,15 @@ A criptografia pode ser de dois tipos - simétrica e assimétrica. A criptografia **simétrica** usa a mesma chave para criptografar e descriptografar os dados. Tanto o remetente quanto o destinatário precisam conhecer a mesma chave. Este é o tipo menos seguro, pois a chave precisa ser compartilhada de alguma forma. Para que um remetente envie uma mensagem criptografada a um destinatário, o remetente pode precisar enviar a chave ao destinatário primeiro. -![A criptografia simétrica usa a mesma chave para criptografar e descriptografar uma mensagem](../../../../../translated_images/br/send-message-symmetric-key.a2e8ad0d495896ff.webp) +![A criptografia simétrica usa a mesma chave para criptografar e descriptografar uma mensagem](../../../../../translated_images/pt-BR/send-message-symmetric-key.a2e8ad0d495896ff.webp) Se a chave for roubada durante o envio, ou se o remetente ou destinatário forem hackeados e a chave for descoberta, a criptografia pode ser comprometida. -![A criptografia simétrica é segura apenas se um hacker não obtiver a chave - caso contrário, ele pode interceptar e descriptografar a mensagem](../../../../../translated_images/br/send-message-symmetric-key-hacker.e7cb53db1707adfb.webp) +![A criptografia simétrica é segura apenas se um hacker não obtiver a chave - caso contrário, ele pode interceptar e descriptografar a mensagem](../../../../../translated_images/pt-BR/send-message-symmetric-key-hacker.e7cb53db1707adfb.webp) A criptografia **assimétrica** usa 2 chaves - uma chave para criptografar e outra para descriptografar, conhecidas como par de chaves pública/privada. A chave pública é usada para criptografar a mensagem, mas não pode ser usada para descriptografá-la; a chave privada é usada para descriptografar a mensagem, mas não pode ser usada para criptografá-la. -![A criptografia assimétrica usa uma chave diferente para criptografar e descriptografar. A chave pública é enviada aos remetentes para que possam criptografar uma mensagem antes de enviá-la ao destinatário que possui as chaves](../../../../../translated_images/br/send-message-asymmetric.7abe327c62615b8c.webp) +![A criptografia assimétrica usa uma chave diferente para criptografar e descriptografar. A chave pública é enviada aos remetentes para que possam criptografar uma mensagem antes de enviá-la ao destinatário que possui as chaves](../../../../../translated_images/pt-BR/send-message-asymmetric.7abe327c62615b8c.webp) O destinatário compartilha sua chave pública, e o remetente a utiliza para criptografar a mensagem. Após o envio, o destinatário descriptografa a mensagem com sua chave privada. A criptografia assimétrica é mais segura, pois a chave privada é mantida em segredo pelo destinatário e nunca é compartilhada. Qualquer pessoa pode ter a chave pública, já que ela só pode ser usada para criptografar mensagens. @@ -165,7 +165,7 @@ Esses certificados possuem vários campos, incluindo quem é o proprietário da Ao usar certificados X.509, tanto o remetente quanto o destinatário terão suas próprias chaves públicas e privadas, além de certificados X.509 contendo suas respectivas chaves públicas. Eles então trocam os certificados X.509 de alguma forma, utilizando as chaves públicas um do outro para criptografar os dados enviados e suas próprias chaves privadas para descriptografar os dados recebidos. -![Em vez de compartilhar uma chave pública, você pode compartilhar um certificado. O usuário do certificado pode verificar que ele vem de você consultando a autoridade certificadora que o assinou.](../../../../../translated_images/br/send-message-certificate.9cc576ac1e46b76e.webp) +![Em vez de compartilhar uma chave pública, você pode compartilhar um certificado. O usuário do certificado pode verificar que ele vem de você consultando a autoridade certificadora que o assinou.](../../../../../translated_images/pt-BR/send-message-certificate.9cc576ac1e46b76e.webp) Uma grande vantagem de usar certificados X.509 é que eles podem ser compartilhados entre dispositivos. Você pode criar um certificado, carregá-lo no IoT Hub e usá-lo para todos os seus dispositivos. Cada dispositivo só precisa conhecer a chave privada para descriptografar as mensagens recebidas do IoT Hub. diff --git a/translations/br/3-transport/lessons/1-location-tracking/README.md b/translations/br/3-transport/lessons/1-location-tracking/README.md index 0e9a9cfd7..2c92614b9 100644 --- a/translations/br/3-transport/lessons/1-location-tracking/README.md +++ b/translations/br/3-transport/lessons/1-location-tracking/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # Rastreamento de localização -![Uma visão geral ilustrada desta lição](../../../../../translated_images/br/lesson-11.9fddbac4b664c6d50ab7ac9bb32f1fc3f945f03760e72f7f43938073762fb017.jpg) +![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt-BR/lesson-11.9fddbac4b664c6d50ab7ac9bb32f1fc3f945f03760e72f7f43938073762fb017.jpg) > Ilustração por [Nitya Narasimhan](https://github.com/nitya). Clique na imagem para uma versão maior. @@ -72,13 +72,13 @@ A Terra é uma esfera - um círculo tridimensional. Por causa disso, os pontos s > 💁 Ninguém sabe ao certo o motivo original de os círculos serem divididos em 360 graus. A [página sobre grau (ângulo) na Wikipedia](https://wikipedia.org/wiki/Degree_(angle)) aborda algumas das possíveis razões. -![Linhas de latitude de 90° no Polo Norte, 45° entre o Polo Norte e o equador, 0° no equador, -45° entre o equador e o Polo Sul, e -90° no Polo Sul](../../../../../translated_images/br/latitude-lines.11d8d91dfb2014a57437272d7db7fd6607243098e8685f06e0c5f1ec984cb7eb.png) +![Linhas de latitude de 90° no Polo Norte, 45° entre o Polo Norte e o equador, 0° no equador, -45° entre o equador e o Polo Sul, e -90° no Polo Sul](../../../../../translated_images/pt-BR/latitude-lines.11d8d91dfb2014a57437272d7db7fd6607243098e8685f06e0c5f1ec984cb7eb.png) Latitude é medida usando linhas que circundam a Terra e correm paralelas ao equador, dividindo os hemisférios Norte e Sul em 90° cada. O equador está em 0°, o Polo Norte em 90°, também conhecido como 90° Norte, e o Polo Sul em -90°, ou 90° Sul. Longitude é medida como o número de graus de leste a oeste. A origem de 0° da longitude é chamada de *Meridiano de Greenwich*, definida em 1884 como uma linha do Polo Norte ao Polo Sul que passa pelo [Observatório Real Britânico em Greenwich, Inglaterra](https://wikipedia.org/wiki/Royal_Observatory,_Greenwich). -![Linhas de longitude que vão de -180° a oeste do Meridiano de Greenwich, até 0° no Meridiano de Greenwich, até 180° a leste do Meridiano de Greenwich](../../../../../translated_images/br/longitude-meridians.ab4ef1c91c064586b0185a3c8d39e585903696c6a7d28c098a93a629cddb5d20.png) +![Linhas de longitude que vão de -180° a oeste do Meridiano de Greenwich, até 0° no Meridiano de Greenwich, até 180° a leste do Meridiano de Greenwich](../../../../../translated_images/pt-BR/longitude-meridians.ab4ef1c91c064586b0185a3c8d39e585903696c6a7d28c098a93a629cddb5d20.png) > 🎓 Um meridiano é uma linha imaginária reta que vai do Polo Norte ao Polo Sul, formando um semicírculo. @@ -109,7 +109,7 @@ As coordenadas de um ponto são sempre dadas como `latitude, longitude`, então * Uma latitude de 47.6423109 (47.6423109 graus ao norte do equador) * Uma longitude de -122.1390293 (122.1390293 graus a oeste do Meridiano de Greenwich). -![O Campus da Microsoft em 47.6423109,-122.117198](../../../../../translated_images/br/microsoft-gps-location-world.a321d481b010f6adfcca139b2ba0adc53b79f58a540495b8e2ce7f779ea64bfe.png) +![O Campus da Microsoft em 47.6423109,-122.117198](../../../../../translated_images/pt-BR/microsoft-gps-location-world.a321d481b010f6adfcca139b2ba0adc53b79f58a540495b8e2ce7f779ea64bfe.png) ## Sistemas de Posicionamento Global (GPS) @@ -121,7 +121,7 @@ Sistemas GPS funcionam ao ter vários satélites que enviam um sinal com a posi > 💁 Sensores GPS precisam de antenas para detectar ondas de rádio. As antenas embutidas em caminhões e carros com GPS integrado são posicionadas para obter um bom sinal, geralmente no para-brisa ou no teto. Se você estiver usando um sistema GPS separado, como um smartphone ou um dispositivo IoT, então precisa garantir que a antena embutida no sistema GPS ou telefone tenha uma visão clara do céu, como sendo montada no para-brisa. -![Sabendo a distância do sensor para múltiplos satélites, a localização pode ser calculada](../../../../../translated_images/br/gps-satellites.04acf1148fe25fbf1586bc2e8ba698e8d79b79a50c36824b38417dd13372b90f.png) +![Sabendo a distância do sensor para múltiplos satélites, a localização pode ser calculada](../../../../../translated_images/pt-BR/gps-satellites.04acf1148fe25fbf1586bc2e8ba698e8d79b79a50c36824b38417dd13372b90f.png) Satélites GPS estão circulando a Terra, não em um ponto fixo acima do sensor, então os dados de localização incluem altitude acima do nível do mar, além de latitude e longitude. diff --git a/translations/br/3-transport/lessons/1-location-tracking/pi-gps-sensor.md b/translations/br/3-transport/lessons/1-location-tracking/pi-gps-sensor.md index 58ef8b0a5..2fb5f6ede 100644 --- a/translations/br/3-transport/lessons/1-location-tracking/pi-gps-sensor.md +++ b/translations/br/3-transport/lessons/1-location-tracking/pi-gps-sensor.md @@ -27,13 +27,13 @@ O sensor Grove GPS pode ser conectado ao Raspberry Pi. Conecte o sensor GPS. -![Um sensor Grove GPS](../../../../../translated_images/br/grove-gps-sensor.247943bf69b03f0d1820ef6ed10c587f9b650e8db55b936851c92412180bd3e2.png) +![Um sensor Grove GPS](../../../../../translated_images/pt-BR/grove-gps-sensor.247943bf69b03f0d1820ef6ed10c587f9b650e8db55b936851c92412180bd3e2.png) 1. Insira uma extremidade do cabo Grove no conector do sensor GPS. Ele só encaixará de uma maneira. 1. Com o Raspberry Pi desligado, conecte a outra extremidade do cabo Grove ao conector UART marcado como **UART** no Grove Base Hat conectado ao Pi. Este conector está na fileira do meio, no lado mais próximo ao slot do cartão SD, oposto às portas USB e ao conector Ethernet. - ![O sensor Grove GPS conectado ao conector UART](../../../../../translated_images/br/pi-gps-sensor.1f99ee2b2f6528915047ec78967bd362e0e4ee0ed594368a3837b9cf9cdaca64.png) + ![O sensor Grove GPS conectado ao conector UART](../../../../../translated_images/pt-BR/pi-gps-sensor.1f99ee2b2f6528915047ec78967bd362e0e4ee0ed594368a3837b9cf9cdaca64.png) 1. Posicione o sensor GPS de forma que a antena conectada tenha visibilidade para o céu - idealmente próximo a uma janela aberta ou ao ar livre. É mais fácil obter um sinal claro sem obstruções na frente da antena. diff --git a/translations/br/3-transport/lessons/1-location-tracking/virtual-device-gps-sensor.md b/translations/br/3-transport/lessons/1-location-tracking/virtual-device-gps-sensor.md index d56ef125d..3eac58935 100644 --- a/translations/br/3-transport/lessons/1-location-tracking/virtual-device-gps-sensor.md +++ b/translations/br/3-transport/lessons/1-location-tracking/virtual-device-gps-sensor.md @@ -47,11 +47,11 @@ Adicione o sensor GPS ao aplicativo CounterFit. 1. Selecione o botão **Add** para criar o sensor GPS na porta `/dev/ttyAMA0`. - ![As configurações do sensor GPS](../../../../../translated_images/br/counterfit-create-gps-sensor.6385dc9357d85ad1d47b4abb2525e7651fd498917d25eefc5a72feab09eedc70.png) + ![As configurações do sensor GPS](../../../../../translated_images/pt-BR/counterfit-create-gps-sensor.6385dc9357d85ad1d47b4abb2525e7651fd498917d25eefc5a72feab09eedc70.png) O sensor GPS será criado e aparecerá na lista de sensores. - ![O sensor GPS criado](../../../../../translated_images/br/counterfit-gps-sensor.3fbb15af0a5367566f2f11324ef5a6f30861cdf2b497071a5e002b7aa473550e.png) + ![O sensor GPS criado](../../../../../translated_images/pt-BR/counterfit-gps-sensor.3fbb15af0a5367566f2f11324ef5a6f30861cdf2b497071a5e002b7aa473550e.png) ## Programar o sensor GPS @@ -111,17 +111,17 @@ Programe o aplicativo do sensor GPS. * Defina a **Source** como `Lat/Lon` e configure uma latitude, longitude e número de satélites usados para obter a localização GPS. Este valor será enviado apenas uma vez, então marque a caixa **Repeat** para que os dados sejam repetidos a cada segundo. - ![O sensor GPS com lat lon selecionado](../../../../../translated_images/br/counterfit-gps-sensor-latlon.008c867d75464fbe7f84107cc57040df565ac07cb57d2f21db37d087d470197d.png) + ![O sensor GPS com lat lon selecionado](../../../../../translated_images/pt-BR/counterfit-gps-sensor-latlon.008c867d75464fbe7f84107cc57040df565ac07cb57d2f21db37d087d470197d.png) * Defina a **Source** como `NMEA` e adicione algumas sentenças NMEA na caixa de texto. Todos esses valores serão enviados, com um atraso de 1 segundo antes de cada nova sentença GGA (fixação de posição) ser lida. - ![O sensor GPS com sentenças NMEA configuradas](../../../../../translated_images/br/counterfit-gps-sensor-nmea.c62eea442171e17e19528b051b104cfcecdc9cd18db7bc72920f29821ae63f73.png) + ![O sensor GPS com sentenças NMEA configuradas](../../../../../translated_images/pt-BR/counterfit-gps-sensor-nmea.c62eea442171e17e19528b051b104cfcecdc9cd18db7bc72920f29821ae63f73.png) Você pode usar uma ferramenta como [nmeagen.org](https://www.nmeagen.org) para gerar essas sentenças desenhando em um mapa. Esses valores serão enviados apenas uma vez, então marque a caixa **Repeat** para que os dados sejam repetidos um segundo após todos terem sido enviados. * Defina a **Source** como arquivo GPX e carregue um arquivo GPX com localizações de trilhas. Você pode baixar arquivos GPX de vários sites populares de mapas e trilhas, como [AllTrails](https://www.alltrails.com/). Esses arquivos contêm múltiplas localizações GPS como uma trilha, e o sensor GPS retornará cada nova localização em intervalos de 1 segundo. - ![O sensor GPS com um arquivo GPX configurado](../../../../../translated_images/br/counterfit-gps-sensor-gpxfile.8310b063ce8a425ccc8ebeec8306aeac5e8e55207f007d52c6e1194432a70cd9.png) + ![O sensor GPS com um arquivo GPX configurado](../../../../../translated_images/pt-BR/counterfit-gps-sensor-gpxfile.8310b063ce8a425ccc8ebeec8306aeac5e8e55207f007d52c6e1194432a70cd9.png) Esses valores serão enviados apenas uma vez, então marque a caixa **Repeat** para que os dados sejam repetidos um segundo após todos terem sido enviados. diff --git a/translations/br/3-transport/lessons/1-location-tracking/wio-terminal-gps-sensor.md b/translations/br/3-transport/lessons/1-location-tracking/wio-terminal-gps-sensor.md index ff4ecf3c7..b46c368bf 100644 --- a/translations/br/3-transport/lessons/1-location-tracking/wio-terminal-gps-sensor.md +++ b/translations/br/3-transport/lessons/1-location-tracking/wio-terminal-gps-sensor.md @@ -27,13 +27,13 @@ O sensor Grove GPS pode ser conectado ao Wio Terminal. Conecte o sensor GPS. -![Um sensor Grove GPS](../../../../../translated_images/br/grove-gps-sensor.247943bf69b03f0d1820ef6ed10c587f9b650e8db55b936851c92412180bd3e2.png) +![Um sensor Grove GPS](../../../../../translated_images/pt-BR/grove-gps-sensor.247943bf69b03f0d1820ef6ed10c587f9b650e8db55b936851c92412180bd3e2.png) 1. Insira uma extremidade de um cabo Grove no conector do sensor GPS. Ele só encaixará de uma maneira. 1. Com o Wio Terminal desconectado do seu computador ou de outra fonte de energia, conecte a outra extremidade do cabo Grove ao conector Grove do lado esquerdo do Wio Terminal, olhando para a tela. Este é o conector mais próximo do botão de energia. - ![O sensor Grove GPS conectado ao conector do lado esquerdo](../../../../../translated_images/br/wio-gps-sensor.19fd52b81ce58095.webp) + ![O sensor Grove GPS conectado ao conector do lado esquerdo](../../../../../translated_images/pt-BR/wio-gps-sensor.19fd52b81ce58095.webp) 1. Posicione o sensor GPS de forma que a antena conectada tenha visibilidade para o céu - de preferência próximo a uma janela aberta ou ao ar livre. É mais fácil obter um sinal claro sem nada obstruindo a antena. diff --git a/translations/br/3-transport/lessons/2-store-location-data/README.md b/translations/br/3-transport/lessons/2-store-location-data/README.md index 98619d95c..a84e0bc77 100644 --- a/translations/br/3-transport/lessons/2-store-location-data/README.md +++ b/translations/br/3-transport/lessons/2-store-location-data/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # Dados de localização da loja -![Uma visão geral ilustrada desta lição](../../../../../translated_images/br/lesson-12.ca7f53039712a3ec14ad6474d8445361c84adab643edc53fa6269b77895606bb.jpg) +![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt-BR/lesson-12.ca7f53039712a3ec14ad6474d8445361c84adab643edc53fa6269b77895606bb.jpg) > Ilustração por [Nitya Narasimhan](https://github.com/nitya). Clique na imagem para uma versão maior. @@ -66,7 +66,7 @@ Bancos de dados são serviços que permitem armazenar e consultar dados. Eles v Os primeiros bancos de dados eram Sistemas de Gerenciamento de Banco de Dados Relacional (RDBMS), ou banco de dados relacional. Eles também são conhecidos como bancos de dados SQL devido à Linguagem de Consulta Estruturada (SQL) usada para interagir com eles para adicionar, remover, atualizar ou consultar dados. Esses bancos de dados consistem em um esquema - um conjunto bem definido de tabelas de dados, semelhante a uma planilha. Cada tabela tem várias colunas nomeadas. Quando você insere dados, adiciona uma linha à tabela, colocando valores em cada uma das colunas. Isso mantém os dados em uma estrutura muito rígida - embora você possa deixar colunas vazias, se quiser adicionar uma nova coluna, terá que fazer isso no banco de dados, populando valores para as linhas existentes. Esses bancos de dados são relacionais - ou seja, uma tabela pode ter um relacionamento com outra. -![Um banco de dados relacional com o ID da tabela de Usuários relacionado à coluna de ID de usuário da tabela de compras, e o ID da tabela de produtos relacionado ao ID de produto da tabela de compras](../../../../../translated_images/br/sql-database.be160f12bfccefd3.webp) +![Um banco de dados relacional com o ID da tabela de Usuários relacionado à coluna de ID de usuário da tabela de compras, e o ID da tabela de produtos relacionado ao ID de produto da tabela de compras](../../../../../translated_images/pt-BR/sql-database.be160f12bfccefd3.webp) Por exemplo, se você armazenar os detalhes pessoais de um usuário em uma tabela, terá algum tipo de ID único interno por usuário que é usado em uma linha em uma tabela que contém o nome e endereço do usuário. Se você quiser armazenar outros detalhes sobre esse usuário, como suas compras, em outra tabela, terá uma coluna na nova tabela para o ID desse usuário. Quando você procura um usuário, pode usar seu ID para obter seus detalhes pessoais de uma tabela e suas compras de outra. @@ -84,7 +84,7 @@ Bancos de dados NoSQL são chamados assim porque não possuem a mesma estrutura > 💁 Apesar do nome, alguns bancos de dados NoSQL permitem usar SQL para consultar os dados. -![Documentos em pastas em um banco de dados NoSQL](../../../../../translated_images/br/noqsl-database.62d24ccf5b73f60d35c245a8533f1c7147c0928e955b82cb290b2e184bb434df.png) +![Documentos em pastas em um banco de dados NoSQL](../../../../../translated_images/pt-BR/noqsl-database.62d24ccf5b73f60d35c245a8533f1c7147c0928e955b82cb290b2e184bb434df.png) Bancos de dados NoSQL não possuem um esquema pré-definido que limite como os dados são armazenados; em vez disso, você pode inserir qualquer dado não estruturado, geralmente usando documentos JSON. Esses documentos podem ser organizados em pastas, semelhante a arquivos no seu computador. Cada documento pode ter campos diferentes de outros documentos - por exemplo, se você estivesse armazenando dados de IoT de seus veículos agrícolas, alguns poderiam ter campos para dados de acelerômetro e velocidade, enquanto outros poderiam ter campos para a temperatura no trailer. Se você adicionasse um novo tipo de caminhão, como um com balanças integradas para rastrear o peso dos produtos transportados, então seu dispositivo IoT poderia adicionar esse novo campo e ele poderia ser armazenado sem alterações no banco de dados. @@ -98,7 +98,7 @@ Nesta lição, você usará armazenamento NoSQL para armazenar dados de IoT. Na última lição, você capturou dados de GPS de um sensor GPS conectado ao seu dispositivo IoT. Para armazenar esses dados de IoT na nuvem, você precisa enviá-los para um serviço de IoT. Mais uma vez, você usará o Azure IoT Hub, o mesmo serviço de IoT na nuvem que utilizou no projeto anterior. -![Enviando telemetria de GPS de um dispositivo IoT para o IoT Hub](../../../../../translated_images/br/gps-telemetry-iot-hub.8115335d51cd2c1285d20e9d1b18cf685e59a8e093e7797291ef173445af6f3d.png) +![Enviando telemetria de GPS de um dispositivo IoT para o IoT Hub](../../../../../translated_images/pt-BR/gps-telemetry-iot-hub.8115335d51cd2c1285d20e9d1b18cf685e59a8e093e7797291ef173445af6f3d.png) ### Tarefa - enviar dados de GPS para um IoT Hub @@ -180,7 +180,7 @@ Os dados do caminho frio são armazenados em data warehouses - bancos de dados p Uma vez que os dados estão fluindo para o seu IoT Hub, você pode escrever algum código serverless para escutar eventos publicados no endpoint compatível com Event-Hub. Este é o caminho morno - esses dados serão armazenados e usados na próxima lição para relatórios sobre a jornada. -![Enviando telemetria de GPS de um dispositivo IoT para o IoT Hub, depois para Azure Functions via um gatilho de Event Hub](../../../../../translated_images/br/gps-telemetry-iot-hub-functions.24d3fa5592455e9f4e2fe73856b40c3915a292b90263c31d652acfd976cfedd8.png) +![Enviando telemetria de GPS de um dispositivo IoT para o IoT Hub, depois para Azure Functions via um gatilho de Event Hub](../../../../../translated_images/pt-BR/gps-telemetry-iot-hub-functions.24d3fa5592455e9f4e2fe73856b40c3915a292b90263c31d652acfd976cfedd8.png) ### Tarefa - lidar com eventos de GPS usando código serverless @@ -202,7 +202,7 @@ Uma vez que os dados estão fluindo para o seu IoT Hub, você pode escrever algu ## Contas de Armazenamento do Azure -![O logotipo do Azure Storage](../../../../../translated_images/br/azure-storage-logo.605c0f602c640d482a80f1b35a2629a32d595711b7ab1d7ceea843250615ff32.png) +![O logotipo do Azure Storage](../../../../../translated_images/pt-BR/azure-storage-logo.605c0f602c640d482a80f1b35a2629a32d595711b7ab1d7ceea843250615ff32.png) As Contas de Armazenamento do Azure são um serviço de armazenamento de propósito geral que pode armazenar dados de várias formas diferentes. Você pode armazenar dados como blobs, em filas, em tabelas ou como arquivos, tudo ao mesmo tempo. @@ -241,7 +241,7 @@ Seu aplicativo de funções agora precisa se conectar ao armazenamento de blobs Nesta lição, você usará o SDK do Python para ver como interagir com o armazenamento de blobs. -![Enviando telemetria GPS de um dispositivo IoT para o IoT Hub, depois para o Azure Functions via um gatilho de Event Hub, e então salvando no armazenamento de blobs](../../../../../translated_images/br/save-telemetry-to-storage-from-functions.ed3b1820980097f1.webp) +![Enviando telemetria GPS de um dispositivo IoT para o IoT Hub, depois para o Azure Functions via um gatilho de Event Hub, e então salvando no armazenamento de blobs](../../../../../translated_images/pt-BR/save-telemetry-to-storage-from-functions.ed3b1820980097f1.webp) Os dados serão salvos como um blob JSON com o seguinte formato: diff --git a/translations/br/3-transport/lessons/3-visualize-location-data/README.md b/translations/br/3-transport/lessons/3-visualize-location-data/README.md index 39fecde54..19e5038b0 100644 --- a/translations/br/3-transport/lessons/3-visualize-location-data/README.md +++ b/translations/br/3-transport/lessons/3-visualize-location-data/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # Visualizar dados de localização -![Uma visão geral ilustrada desta lição](../../../../../translated_images/br/lesson-13.a259db1485021be7d7c72e90842fbe0ab977529e8684c179b5fb1ea75e92b3ef.jpg) +![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt-BR/lesson-13.a259db1485021be7d7c72e90842fbe0ab977529e8684c179b5fb1ea75e92b3ef.jpg) > Ilustração por [Nitya Narasimhan](https://github.com/nitya). Clique na imagem para uma versão maior. @@ -73,11 +73,11 @@ Tomando um exemplo simples - no projeto da fazenda, você capturou leituras de u Para um humano, entender esses dados pode ser difícil. É uma parede de números sem significado. Como primeiro passo para visualizar esses dados, eles podem ser plotados em um gráfico de linha: -![Um gráfico de linha dos dados acima](../../../../../translated_images/br/chart-soil-moisture.fd6d9d0cdc0b5f75e78038ecb8945dfc84b38851359de99d84b16e3336d6d7c2.png) +![Um gráfico de linha dos dados acima](../../../../../translated_images/pt-BR/chart-soil-moisture.fd6d9d0cdc0b5f75e78038ecb8945dfc84b38851359de99d84b16e3336d6d7c2.png) Isso pode ser ainda mais aprimorado adicionando uma linha para indicar quando o sistema de irrigação automatizado foi ativado em uma leitura de umidade do solo de 450: -![Um gráfico de linha de umidade do solo com uma linha em 450](../../../../../translated_images/br/chart-soil-moisture-relay.fbb391236d34a64d0abf1df396e9197e0a24df14150620b9cc820a64a55c9326.png) +![Um gráfico de linha de umidade do solo com uma linha em 450](../../../../../translated_images/pt-BR/chart-soil-moisture-relay.fbb391236d34a64d0abf1df396e9197e0a24df14150620b9cc820a64a55c9326.png) Este gráfico mostra rapidamente não apenas quais eram os níveis de umidade do solo, mas os pontos onde o sistema de irrigação foi ativado. @@ -93,7 +93,7 @@ Ao trabalhar com dados de GPS, a visualização mais clara pode ser plotar os da Trabalhar com mapas é um exercício interessante, e há muitos para escolher, como Bing Maps, Leaflet, Open Street Maps e Google Maps. Nesta lição, você aprenderá sobre [Azure Maps](https://azure.microsoft.com/services/azure-maps/?WT.mc_id=academic-17441-jabenn) e como eles podem exibir seus dados de GPS. -![O logotipo do Azure Maps](../../../../../translated_images/br/azure-maps-logo.35d01dcfbd81fe6140e94257aaa1538f785a58c91576d14e0ebe7a2f6c694b99.png) +![O logotipo do Azure Maps](../../../../../translated_images/pt-BR/azure-maps-logo.35d01dcfbd81fe6140e94257aaa1538f785a58c91576d14e0ebe7a2f6c694b99.png) Azure Maps é "uma coleção de serviços geoespaciais e SDKs que utilizam dados de mapeamento atualizados para fornecer contexto geográfico a aplicativos web e móveis." Os desenvolvedores recebem ferramentas para criar mapas bonitos e interativos que podem fazer coisas como fornecer rotas de tráfego recomendadas, dar informações sobre incidentes de tráfego, navegação interna, capacidades de busca, informações de elevação, serviços meteorológicos e muito mais. @@ -194,7 +194,7 @@ Agora você pode dar o próximo passo, que é exibir seu mapa em uma página da Se você abrir sua página `index.html` em um navegador web, deverá ver um mapa carregado, focado na área de Seattle. - ![Um mapa mostrando Seattle, uma cidade no estado de Washington, EUA](../../../../../translated_images/br/map-image.8fb2c53eb23ef39c1c0a4410a5282e879b3b452b707eb066ff04c5488d3d72b7.png) + ![Um mapa mostrando Seattle, uma cidade no estado de Washington, EUA](../../../../../translated_images/pt-BR/map-image.8fb2c53eb23ef39c1c0a4410a5282e879b3b452b707eb066ff04c5488d3d72b7.png) ✅ Experimente os parâmetros de zoom e centro para alterar a exibição do mapa. Você pode adicionar diferentes coordenadas correspondentes à latitude e longitude dos seus dados para re-centralizar o mapa. @@ -328,7 +328,7 @@ Se você fizer uma chamada ao seu armazenamento para buscar os dados, pode se su 1. Carregue a página HTML no seu navegador. Ela carregará o mapa, depois carregará todos os dados de GPS do armazenamento e os exibirá no mapa. - ![Um mapa do Saint Edward State Park perto de Seattle, com círculos mostrando um caminho ao redor da borda do parque](../../../../../translated_images/br/map-path.896832e72dc696ffe20650e4051027d4855442d955f93fdbb80bb417ca8a406f.png) + ![Um mapa do Saint Edward State Park perto de Seattle, com círculos mostrando um caminho ao redor da borda do parque](../../../../../translated_images/pt-BR/map-path.896832e72dc696ffe20650e4051027d4855442d955f93fdbb80bb417ca8a406f.png) > 💁 Você pode encontrar este código na [pasta de código](../../../../../3-transport/lessons/3-visualize-location-data/code). diff --git a/translations/br/3-transport/lessons/4-geofences/README.md b/translations/br/3-transport/lessons/4-geofences/README.md index 96c277a23..b2093f701 100644 --- a/translations/br/3-transport/lessons/4-geofences/README.md +++ b/translations/br/3-transport/lessons/4-geofences/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # Geofences -![Uma visão geral ilustrada desta lição](../../../../../translated_images/br/lesson-14.63980c5150ae3c153e770fb71d044c1845dce79248d86bed9fc525adf3ede73c.jpg) +![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt-BR/lesson-14.63980c5150ae3c153e770fb71d044c1845dce79248d86bed9fc525adf3ede73c.jpg) > Ilustração por [Nitya Narasimhan](https://github.com/nitya). Clique na imagem para uma versão maior. @@ -44,7 +44,7 @@ Nesta lição, abordaremos: Uma geofence é um perímetro virtual para uma região geográfica do mundo real. Geofences podem ser círculos definidos como um ponto e um raio (por exemplo, um círculo de 100m ao redor de um edifício) ou um polígono cobrindo uma área, como uma zona escolar, limites de uma cidade ou campus de uma universidade ou escritório. -![Alguns exemplos de geofences mostrando uma geofence circular ao redor da loja da Microsoft e uma geofence poligonal ao redor do campus oeste da Microsoft](../../../../../translated_images/br/geofence-examples.172fbc534665769f6e1a1ddcf75e3b25183cd10354c80cc603ba44b635390e1a.png) +![Alguns exemplos de geofences mostrando uma geofence circular ao redor da loja da Microsoft e uma geofence poligonal ao redor do campus oeste da Microsoft](../../../../../translated_images/pt-BR/geofence-examples.172fbc534665769f6e1a1ddcf75e3b25183cd10354c80cc603ba44b635390e1a.png) > 💁 Você pode já ter usado geofences sem saber. Se você configurou um lembrete usando o aplicativo de lembretes do iOS ou o Google Keep baseado em uma localização, você utilizou uma geofence. Esses aplicativos configuram uma geofence com base na localização fornecida e alertam você quando seu telefone entra na geofence. @@ -110,7 +110,7 @@ Cada ponto no polígono é definido como um par de longitude e latitude em um ar O array de coordenadas do polígono sempre tem 1 entrada a mais do que o número de pontos no polígono, com a última entrada sendo igual à primeira, fechando o polígono. Por exemplo, para um retângulo, haveria 5 pontos. -![Um retângulo com coordenadas](../../../../../translated_images/br/polygon-points.302193da381cb415.webp) +![Um retângulo com coordenadas](../../../../../translated_images/pt-BR/polygon-points.302193da381cb415.webp) Na imagem acima, há um retângulo. As coordenadas do polígono começam no canto superior esquerdo em 47,-122, depois vão para a direita em 47,-121, depois para baixo em 46,-121, depois para a esquerda em 46,-122, e finalmente voltam ao ponto inicial em 47,-122. Isso dá ao polígono 5 pontos - canto superior esquerdo, canto superior direito, canto inferior direito, canto inferior esquerdo e, por fim, canto superior esquerdo para fechá-lo. @@ -208,7 +208,7 @@ Ao fazer essa requisição, você também pode passar um valor chamado `searchBu Quando os resultados são retornados da chamada da API, uma das partes do resultado é uma `distance` medida até o ponto mais próximo na borda da geofence, com um valor positivo se o ponto estiver fora da geofence e negativo se estiver dentro. Se essa distância for menor que o search buffer, a distância real é retornada em metros; caso contrário, o valor será 999 ou -999. 999 significa que o ponto está fora da geofence por mais do que o search buffer, -999 significa que está dentro da geofence por mais do que o search buffer. -![Uma geofence com um search buffer de 50m ao redor dela](../../../../../translated_images/br/search-buffer-and-distance.e6a79af3898183c7.webp) +![Uma geofence com um search buffer de 50m ao redor dela](../../../../../translated_images/pt-BR/search-buffer-and-distance.e6a79af3898183c7.webp) Na imagem acima, a geofence tem um search buffer de 50m. @@ -221,7 +221,7 @@ Na imagem acima, a geofence tem um search buffer de 50m. Por exemplo, imagine leituras de GPS mostrando que um veículo estava dirigindo ao longo de uma estrada que passa ao lado de uma geofence. Se um único valor de GPS for impreciso e colocar o veículo dentro da geofence, apesar de não haver acesso veicular, ele pode ser ignorado. -![Um trajeto de GPS mostrando um veículo passando pelo campus da Microsoft na 520, com leituras de GPS ao longo da estrada, exceto uma no campus, dentro de uma geofence](../../../../../translated_images/br/geofence-crossing-inaccurate-gps.6a3ed911202ad9cabb66d3964888cec03a42c61d5b8f536ad5bdc99716b370f5.png) +![Um trajeto de GPS mostrando um veículo passando pelo campus da Microsoft na 520, com leituras de GPS ao longo da estrada, exceto uma no campus, dentro de uma geofence](../../../../../translated_images/pt-BR/geofence-crossing-inaccurate-gps.6a3ed911202ad9cabb66d3964888cec03a42c61d5b8f536ad5bdc99716b370f5.png) Na imagem acima, há uma geofence sobre parte do campus da Microsoft. A linha vermelha mostra um caminhão dirigindo ao longo da 520, com círculos indicando as leituras de GPS. A maioria dessas leituras é precisa e está ao longo da 520, com uma leitura imprecisa dentro da geofence. Não há como essa leitura estar correta - não existem estradas para o caminhão desviar repentinamente da 520 para o campus e depois voltar para a 520. O código que verifica essa geofence precisará considerar as leituras anteriores antes de agir com base nos resultados do teste da geofence. ✅ Quais dados adicionais você precisaria verificar para determinar se uma leitura de GPS pode ser considerada correta? @@ -293,7 +293,7 @@ Como você deve se lembrar de lições anteriores, o IoT Hub permite que você r A resposta é que ele não sabe! Em vez disso, você pode definir múltiplas conexões separadas para ler eventos, e cada uma pode gerenciar a reprodução de mensagens não lidas. Esses são chamados de *grupos de consumidores*. Quando você se conecta ao endpoint, pode especificar qual grupo de consumidores deseja conectar. Cada componente do seu aplicativo se conectará a um grupo de consumidores diferente. -![Um IoT Hub com 3 grupos de consumidores distribuindo as mesmas mensagens para 3 diferentes aplicativos Functions](../../../../../translated_images/br/consumer-groups.a3262e26fc27ba2092863678ad57af15c7223416e388a23f330c058cf4358630.png) +![Um IoT Hub com 3 grupos de consumidores distribuindo as mesmas mensagens para 3 diferentes aplicativos Functions](../../../../../translated_images/pt-BR/consumer-groups.a3262e26fc27ba2092863678ad57af15c7223416e388a23f330c058cf4358630.png) Em teoria, até 5 aplicativos podem se conectar a cada grupo de consumidores, e todos receberão mensagens quando elas chegarem. É uma boa prática ter apenas um aplicativo acessando cada grupo de consumidores para evitar o processamento duplicado de mensagens e garantir que, ao reiniciar, todas as mensagens enfileiradas sejam processadas corretamente. Por exemplo, se você lançar seu aplicativo Functions localmente, além de executá-lo na nuvem, ambos processariam mensagens, levando ao armazenamento duplicado de blobs na conta de armazenamento. diff --git a/translations/br/4-manufacturing/lessons/1-train-fruit-detector/README.md b/translations/br/4-manufacturing/lessons/1-train-fruit-detector/README.md index e718ec938..088af6033 100644 --- a/translations/br/4-manufacturing/lessons/1-train-fruit-detector/README.md +++ b/translations/br/4-manufacturing/lessons/1-train-fruit-detector/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # Treine um detector de qualidade de frutas -![Uma visão geral ilustrada desta lição](../../../../../translated_images/br/lesson-15.843d21afdc6fb2bba70cd9db7b7d2f91598859fafda2078b0bdc44954194b6c0.jpg) +![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt-BR/lesson-15.843d21afdc6fb2bba70cd9db7b7d2f91598859fafda2078b0bdc44954194b6c0.jpg) > Ilustração por [Nitya Narasimhan](https://github.com/nitya). Clique na imagem para uma versão maior. @@ -47,7 +47,7 @@ Nem todas as culturas amadurecem de forma uniforme. Tomates, por exemplo, podem O surgimento da colheita automatizada transferiu a classificação dos produtos da colheita para a fábrica. Os alimentos viajavam em longas esteiras transportadoras com equipes de pessoas selecionando os produtos e removendo qualquer coisa que não atendesse ao padrão de qualidade exigido. A colheita ficou mais barata graças às máquinas, mas ainda havia um custo para classificar os alimentos manualmente. -![Se um tomate vermelho é detectado, ele continua seu caminho sem interrupções. Se um tomate verde é detectado, ele é jogado em uma lixeira por uma alavanca](../../../../../translated_images/br/optical-tomato-sorting.61aa134bdda4e5b1bfb16a212c1e35a6ef0c426cbb8b1c975f79d7bfbf48d068.png) +![Se um tomate vermelho é detectado, ele continua seu caminho sem interrupções. Se um tomate verde é detectado, ele é jogado em uma lixeira por uma alavanca](../../../../../translated_images/pt-BR/optical-tomato-sorting.61aa134bdda4e5b1bfb16a212c1e35a6ef0c426cbb8b1c975f79d7bfbf48d068.png) A próxima evolução foi o uso de máquinas para classificar, seja integradas à colheitadeira ou nas plantas de processamento. A primeira geração dessas máquinas usava sensores ópticos para detectar cores, controlando atuadores para empurrar tomates verdes para uma lixeira usando alavancas ou jatos de ar, deixando os tomates vermelhos continuarem em uma rede de esteiras transportadoras. @@ -61,7 +61,7 @@ As evoluções mais recentes dessas máquinas de classificação aproveitam a IA A programação tradicional é onde você pega dados, aplica um algoritmo a esses dados e obtém um resultado. Por exemplo, no último projeto, você usou coordenadas de GPS e uma geofence, aplicou um algoritmo fornecido pelo Azure Maps e obteve um resultado indicando se o ponto estava dentro ou fora da geofence. Você insere mais dados e obtém mais resultados. -![O desenvolvimento tradicional usa entrada e um algoritmo para gerar saída. O aprendizado de máquina usa dados de entrada e saída conhecidos para treinar um modelo, e esse modelo pode usar novos dados de entrada para gerar novas saídas](../../../../../translated_images/br/traditional-vs-ml.5c20c169621fa539.webp) +![O desenvolvimento tradicional usa entrada e um algoritmo para gerar saída. O aprendizado de máquina usa dados de entrada e saída conhecidos para treinar um modelo, e esse modelo pode usar novos dados de entrada para gerar novas saídas](../../../../../translated_images/pt-BR/traditional-vs-ml.5c20c169621fa539.webp) O aprendizado de máquina inverte esse processo - você começa com dados e saídas conhecidas, e o algoritmo de aprendizado de máquina aprende com os dados. Você pode então usar esse algoritmo treinado, chamado de *modelo de aprendizado de máquina* ou *modelo*, para inserir novos dados e obter novas saídas. @@ -71,7 +71,7 @@ Por exemplo, você poderia fornecer a um modelo milhões de fotos de bananas ver > 🎓 Os resultados dos modelos de ML são chamados de *previsões*. -![2 bananas, uma madura com uma previsão de 99,7% madura, 0,3% verde, e uma verde com uma previsão de 1,4% madura, 98,6% verde](../../../../../translated_images/br/bananas-ripe-vs-unripe-predictions.8d0e2034014aa50ece4e4589e724b142da0681f35470fe3db3f7d51240f69c85.png) +![2 bananas, uma madura com uma previsão de 99,7% madura, 0,3% verde, e uma verde com uma previsão de 1,4% madura, 98,6% verde](../../../../../translated_images/pt-BR/bananas-ripe-vs-unripe-predictions.8d0e2034014aa50ece4e4589e724b142da0681f35470fe3db3f7d51240f69c85.png) Os modelos de ML não fornecem uma resposta binária; em vez disso, eles fornecem probabilidades. Por exemplo, um modelo pode receber uma foto de uma banana e prever `madura` com 99,7% e `verde` com 0,3%. Seu código então escolheria a melhor previsão e decidiria que a banana está madura. @@ -87,7 +87,7 @@ Para treinar com sucesso um classificador de imagens, você precisa de milhões Uma vez que um classificador de imagens foi treinado para uma ampla variedade de imagens, seus componentes internos são ótimos para reconhecer formas, cores e padrões. O transfer learning permite que o modelo use o que já aprendeu para reconhecer partes de imagens e aplique isso ao reconhecimento de novas imagens. -![Uma vez que você pode reconhecer formas, elas podem ser organizadas em diferentes configurações para formar um barco ou um gato](../../../../../translated_images/br/shapes-to-images.1a309f0ea88dd66f.webp) +![Uma vez que você pode reconhecer formas, elas podem ser organizadas em diferentes configurações para formar um barco ou um gato](../../../../../translated_images/pt-BR/shapes-to-images.1a309f0ea88dd66f.webp) Você pode pensar nisso como os livros de formas para crianças, onde, uma vez que você reconhece um semicírculo, um retângulo e um triângulo, pode reconhecer um barco à vela ou um gato, dependendo da configuração dessas formas. O classificador de imagens pode reconhecer as formas, e o transfer learning ensina quais combinações formam um barco ou um gato - ou uma banana madura. @@ -99,7 +99,7 @@ Existem várias ferramentas que podem ajudá-lo a fazer isso, incluindo serviço O Custom Vision é uma ferramenta baseada na nuvem para treinar classificadores de imagens. Ele permite treinar um classificador usando apenas um pequeno número de imagens. Você pode fazer upload de imagens por meio de um portal web, API ou SDK, atribuindo a cada imagem uma *tag* que classifica essa imagem. Depois, você treina o modelo e o testa para ver como ele se sai. Quando estiver satisfeito com o modelo, pode publicar versões dele que podem ser acessadas por meio de uma API web ou SDK. -![O logotipo do Azure Custom Vision](../../../../../translated_images/br/custom-vision-logo.d3d4e7c8a87ec9daf825e72e210576c3cbf60312577be7a139e22dd97ab7f1e6.png) +![O logotipo do Azure Custom Vision](../../../../../translated_images/pt-BR/custom-vision-logo.d3d4e7c8a87ec9daf825e72e210576c3cbf60312577be7a139e22dd97ab7f1e6.png) > 💁 Você pode treinar um modelo Custom Vision com apenas 5 imagens por classificação, mas mais imagens geram melhores resultados. Resultados mais precisos podem ser obtidos com pelo menos 30 imagens. @@ -155,7 +155,7 @@ Para usar o Custom Vision, primeiro você precisa criar dois recursos de serviç Ao criar seu projeto, certifique-se de usar o recurso `fruit-quality-detector-training` criado anteriormente. Use o tipo de projeto *Classificação*, o tipo de classificação *Multiclasse* e o domínio *Alimentos*. - ![As configurações do projeto Custom Vision com o nome definido como fruit-quality-detector, sem descrição, o recurso definido como fruit-quality-detector-training, o tipo de projeto definido como classificação, o tipo de classificação definido como multiclasse e o domínio definido como alimentos](../../../../../translated_images/br/custom-vision-create-project.cf46325b92d8b131089f6647cf5e07b664cb77850e106d66e3c057b6b69756c6.png) + ![As configurações do projeto Custom Vision com o nome definido como fruit-quality-detector, sem descrição, o recurso definido como fruit-quality-detector-training, o tipo de projeto definido como classificação, o tipo de classificação definido como multiclasse e o domínio definido como alimentos](../../../../../translated_images/pt-BR/custom-vision-create-project.cf46325b92d8b131089f6647cf5e07b664cb77850e106d66e3c057b6b69756c6.png) ✅ Reserve um tempo para explorar a interface do Custom Vision para seu classificador de imagens. @@ -173,7 +173,7 @@ Classificadores de imagem operam em resoluções muito baixas. Por exemplo, o Cu * Usando 2 bananas maduras, tire algumas fotos de cada uma de diferentes ângulos, tirando pelo menos 7 fotos (5 para treinar, 2 para testar), mas idealmente mais. - ![Fotos de 2 bananas diferentes](../../../../../translated_images/br/banana-training-images.530eb203346d73bc23b8b990fb4609470bf4ff7c942ccc13d4cfffeed9be1ad4.png) + ![Fotos de 2 bananas diferentes](../../../../../translated_images/pt-BR/banana-training-images.530eb203346d73bc23b8b990fb4609470bf4ff7c942ccc13d4cfffeed9be1ad4.png) * Repita o mesmo processo usando 2 bananas verdes. @@ -183,7 +183,7 @@ Classificadores de imagem operam em resoluções muito baixas. Por exemplo, o Cu 1. Siga a seção [fazer upload e marcar imagens do guia rápido para criar um classificador nos documentos da Microsoft](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/getting-started-build-a-classifier?WT.mc_id=academic-17441-jabenn#upload-and-tag-images) para fazer upload das suas imagens de treinamento. Marque as frutas maduras como `ripe` e as frutas verdes como `unripe`. - ![Os diálogos de upload mostrando o envio de fotos de bananas maduras e verdes](../../../../../translated_images/br/image-upload-bananas.0751639f3815e0ec42bdbc6254d1e4357a185834d1ae10c9948a0e7d6d336695.png) + ![Os diálogos de upload mostrando o envio de fotos de bananas maduras e verdes](../../../../../translated_images/pt-BR/image-upload-bananas.0751639f3815e0ec42bdbc6254d1e4357a185834d1ae10c9948a0e7d6d336695.png) 1. Siga a seção [treinar o classificador do guia rápido para criar um classificador nos documentos da Microsoft](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/getting-started-build-a-classifier?WT.mc_id=academic-17441-jabenn#train-the-classifier) para treinar o classificador de imagens com suas imagens enviadas. @@ -201,7 +201,7 @@ Depois que o classificador estiver treinado, você pode testá-lo fornecendo uma 1. Siga a seção [testar seu modelo nos documentos da Microsoft](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/test-your-model?WT.mc_id=academic-17441-jabenn#test-your-model) para testar seu classificador de imagens. Use as imagens de teste que você criou anteriormente, e não as imagens usadas para treinamento. - ![Uma banana verde prevista como verde com 98,9% de probabilidade, madura com 1,1% de probabilidade](../../../../../translated_images/br/banana-unripe-quick-test-prediction.dae9b5e1c4ef7c64886422438850ea14f0be6ac918c217ea3b255c685abfabe7.png) + ![Uma banana verde prevista como verde com 98,9% de probabilidade, madura com 1,1% de probabilidade](../../../../../translated_images/pt-BR/banana-unripe-quick-test-prediction.dae9b5e1c4ef7c64886422438850ea14f0be6ac918c217ea3b255c685abfabe7.png) 1. Teste todas as imagens de teste que você tiver e observe as probabilidades. diff --git a/translations/br/4-manufacturing/lessons/2-check-fruit-from-device/README.md b/translations/br/4-manufacturing/lessons/2-check-fruit-from-device/README.md index 21042eca5..457bed4c9 100644 --- a/translations/br/4-manufacturing/lessons/2-check-fruit-from-device/README.md +++ b/translations/br/4-manufacturing/lessons/2-check-fruit-from-device/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # Verifique a qualidade das frutas com um dispositivo IoT -![Uma visão geral ilustrada desta lição](../../../../../translated_images/br/lesson-16.215daf18b00631fbdfd64c6fc2dc6044dff5d544288825d8076f9fb83d964c23.jpg) +![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt-BR/lesson-16.215daf18b00631fbdfd64c6fc2dc6044dff5d544288825d8076f9fb83d964c23.jpg) > Ilustração por [Nitya Narasimhan](https://github.com/nitya). Clique na imagem para uma versão maior. @@ -35,7 +35,7 @@ Nesta lição, abordaremos: Sensores de câmera, como o nome sugere, são câmeras que você pode conectar ao seu dispositivo IoT. Eles podem tirar fotos ou capturar vídeos em streaming. Alguns retornam dados de imagem brutos, enquanto outros comprimem os dados em arquivos de imagem, como JPEG ou PNG. Geralmente, as câmeras que funcionam com dispositivos IoT são muito menores e têm resolução mais baixa do que aquelas que você pode estar acostumado, mas é possível obter câmeras de alta resolução que rivalizam com os melhores smartphones. Você pode encontrar lentes intercambiáveis, configurações com múltiplas câmeras, câmeras térmicas infravermelhas ou câmeras UV. -![A luz de uma cena passa por uma lente e é focada em um sensor CMOS](../../../../../translated_images/br/cmos-sensor.75f9cd74decb137149a4c9ea825251a4549497d67c0ae2776159e6102bb53aa9.png) +![A luz de uma cena passa por uma lente e é focada em um sensor CMOS](../../../../../translated_images/pt-BR/cmos-sensor.75f9cd74decb137149a4c9ea825251a4549497d67c0ae2776159e6102bb53aa9.png) A maioria dos sensores de câmera usa sensores de imagem onde cada pixel é um fotodiodo. Uma lente foca a imagem no sensor de imagem, e milhares ou milhões de fotodiodos detectam a luz que incide sobre cada um, registrando isso como dados de pixel. @@ -83,7 +83,7 @@ As iterações são publicadas no portal Custom Vision. 1. Clique no botão **Publish** para a iteração. - ![O botão de publicação](../../../../../translated_images/br/custom-vision-publish-button.b7174e1977b0c33b8b72d4e5b1326c779e0af196f3849d09985ee2d7d5493a39.png) + ![O botão de publicação](../../../../../translated_images/pt-BR/custom-vision-publish-button.b7174e1977b0c33b8b72d4e5b1326c779e0af196f3849d09985ee2d7d5493a39.png) 1. No diálogo *Publish Model*, defina o *Prediction resource* como o recurso `fruit-quality-detector-prediction` que você criou na última lição. Mantenha o nome como `Iteration2` e clique no botão **Publish**. @@ -97,7 +97,7 @@ As iterações são publicadas no portal Custom Vision. Também copie o valor de *Prediction-Key*. Esta é uma chave segura que você deve passar ao chamar o modelo. Apenas aplicativos que fornecem essa chave podem usar o modelo; qualquer outro aplicativo será rejeitado. - ![O diálogo da API de previsão mostrando o URL e a chave](../../../../../translated_images/br/custom-vision-prediction-key-endpoint.30c569ffd0338864f319911f052d5e9b8c5066cb0800a26dd6f7ff5713130ad8.png) + ![O diálogo da API de previsão mostrando o URL e a chave](../../../../../translated_images/pt-BR/custom-vision-prediction-key-endpoint.30c569ffd0338864f319911f052d5e9b8c5066cb0800a26dd6f7ff5713130ad8.png) ✅ Quando uma nova iteração é publicada, ela terá um nome diferente. Como você acha que poderia alterar a iteração que um dispositivo IoT está usando? @@ -118,7 +118,7 @@ Você pode perceber que os resultados obtidos ao usar a câmera conectada ao seu Para obter os melhores resultados de um classificador de imagens, você deve treinar o modelo com imagens o mais semelhantes possível às usadas para previsões. Por exemplo, se você usou a câmera do seu celular para capturar imagens para treinamento, a qualidade, nitidez e cor da imagem serão diferentes de uma câmera conectada a um dispositivo IoT. -![2 fotos de banana, uma de baixa resolução com iluminação ruim de um dispositivo IoT, e outra de alta resolução com boa iluminação de um celular](../../../../../translated_images/br/banana-picture-compare.174df164dc326a42cf7fb051a7497e6113c620e91552d92ca914220305d47d9a.png) +![2 fotos de banana, uma de baixa resolução com iluminação ruim de um dispositivo IoT, e outra de alta resolução com boa iluminação de um celular](../../../../../translated_images/pt-BR/banana-picture-compare.174df164dc326a42cf7fb051a7497e6113c620e91552d92ca914220305d47d9a.png) Na imagem acima, a foto da banana à esquerda foi tirada usando uma câmera Raspberry Pi, enquanto a da direita foi tirada da mesma banana no mesmo local usando um iPhone. Há uma diferença notável na qualidade - a foto do iPhone é mais nítida, com cores mais vibrantes e maior contraste. diff --git a/translations/br/4-manufacturing/lessons/2-check-fruit-from-device/pi-camera.md b/translations/br/4-manufacturing/lessons/2-check-fruit-from-device/pi-camera.md index 144cb4ea7..65d32d5a3 100644 --- a/translations/br/4-manufacturing/lessons/2-check-fruit-from-device/pi-camera.md +++ b/translations/br/4-manufacturing/lessons/2-check-fruit-from-device/pi-camera.md @@ -25,7 +25,7 @@ A câmera pode ser conectada ao Raspberry Pi usando um cabo flat. ### Tarefa - conectar a câmera -![Uma câmera Raspberry Pi](../../../../../translated_images/br/pi-camera-module.4278753c31bd6e757aa2b858be97d72049f71616278cefe4fb5abb485b40a078.png) +![Uma câmera Raspberry Pi](../../../../../translated_images/pt-BR/pi-camera-module.4278753c31bd6e757aa2b858be97d72049f71616278cefe4fb5abb485b40a078.png) 1. Desligue o Raspberry Pi. @@ -33,17 +33,17 @@ A câmera pode ser conectada ao Raspberry Pi usando um cabo flat. Você pode encontrar uma animação mostrando como abrir o clipe e inserir o cabo na [documentação de introdução ao módulo de câmera do Raspberry Pi](https://projects.raspberrypi.org/en/projects/getting-started-with-picamera/2). - ![O cabo flat inserido no módulo de câmera](../../../../../translated_images/br/pi-camera-ribbon-cable.0bf82acd251611c21ac616f082849413e2b322a261d0e4f8fec344248083b07e.png) + ![O cabo flat inserido no módulo de câmera](../../../../../translated_images/pt-BR/pi-camera-ribbon-cable.0bf82acd251611c21ac616f082849413e2b322a261d0e4f8fec344248083b07e.png) 1. Remova o Grove Base Hat do Raspberry Pi. 1. Passe o cabo flat pelo slot da câmera no Grove Base Hat. Certifique-se de que o lado azul do cabo esteja voltado para as portas analógicas rotuladas como **A0**, **A1**, etc. - ![O cabo flat passando pelo Grove Base Hat](../../../../../translated_images/br/grove-base-hat-ribbon-cable.501fed202fcf73b11b2b68f6d246189f7d15d3e4423c572ddee79d77b4632b47.png) + ![O cabo flat passando pelo Grove Base Hat](../../../../../translated_images/pt-BR/grove-base-hat-ribbon-cable.501fed202fcf73b11b2b68f6d246189f7d15d3e4423c572ddee79d77b4632b47.png) 1. Insira o cabo flat no conector da câmera no Raspberry Pi. Novamente, puxe o clipe de plástico preto para cima, insira o cabo e empurre o clipe de volta ao lugar. O lado azul do cabo deve estar voltado para as portas USB e Ethernet. - ![O cabo flat conectado ao conector da câmera no Raspberry Pi](../../../../../translated_images/br/pi-camera-socket-ribbon-cable.a18309920b11800911082ed7aa6fb28e6d9be3a022e4079ff990016cae3fca10.png) + ![O cabo flat conectado ao conector da câmera no Raspberry Pi](../../../../../translated_images/pt-BR/pi-camera-socket-ribbon-cable.a18309920b11800911082ed7aa6fb28e6d9be3a022e4079ff990016cae3fca10.png) 1. Recoloque o Grove Base Hat. @@ -110,7 +110,7 @@ Programe o dispositivo. A linha `camera.rotation = 0` define a rotação da imagem. O cabo flat entra na parte inferior da câmera, mas se sua câmera estiver girada para facilitar o apontamento para o item que você deseja classificar, você pode alterar esta linha para o número de graus de rotação. - ![A câmera pendurada sobre uma lata de bebida](../../../../../translated_images/br/pi-camera-upside-down.5376961ba31459883362124152ad6b823d5ac5fc14e85f317e22903bd681c2b6.png) + ![A câmera pendurada sobre uma lata de bebida](../../../../../translated_images/pt-BR/pi-camera-upside-down.5376961ba31459883362124152ad6b823d5ac5fc14e85f317e22903bd681c2b6.png) Por exemplo, se você suspender o cabo flat sobre algo para que ele fique na parte superior da câmera, defina a rotação como 180: diff --git a/translations/br/4-manufacturing/lessons/2-check-fruit-from-device/single-board-computer-classify-image.md b/translations/br/4-manufacturing/lessons/2-check-fruit-from-device/single-board-computer-classify-image.md index 0535e9e31..a82f19835 100644 --- a/translations/br/4-manufacturing/lessons/2-check-fruit-from-device/single-board-computer-classify-image.md +++ b/translations/br/4-manufacturing/lessons/2-check-fruit-from-device/single-board-computer-classify-image.md @@ -93,7 +93,7 @@ O serviço Custom Vision possui um SDK para Python que você pode usar para clas Você poderá ver a imagem que foi capturada e esses valores na aba **Predictions** no Custom Vision. - ![Uma banana no Custom Vision prevista como madura com 56,8% e não madura com 43,1%](../../../../../translated_images/br/custom-vision-banana-prediction.30cdff4e1d72db5d9a0be0193790a47c2b387da034e12dc1314dd57ca2131b59.png) + ![Uma banana no Custom Vision prevista como madura com 56,8% e não madura com 43,1%](../../../../../translated_images/pt-BR/custom-vision-banana-prediction.30cdff4e1d72db5d9a0be0193790a47c2b387da034e12dc1314dd57ca2131b59.png) > 💁 Você pode encontrar este código na pasta [code-classify/pi](../../../../../4-manufacturing/lessons/2-check-fruit-from-device/code-classify/pi) ou [code-classify/virtual-iot-device](../../../../../4-manufacturing/lessons/2-check-fruit-from-device/code-classify/virtual-iot-device). diff --git a/translations/br/4-manufacturing/lessons/2-check-fruit-from-device/virtual-device-camera.md b/translations/br/4-manufacturing/lessons/2-check-fruit-from-device/virtual-device-camera.md index 4aab10e36..f8801c125 100644 --- a/translations/br/4-manufacturing/lessons/2-check-fruit-from-device/virtual-device-camera.md +++ b/translations/br/4-manufacturing/lessons/2-check-fruit-from-device/virtual-device-camera.md @@ -43,11 +43,11 @@ Adicione a câmera ao aplicativo CounterFit. 1. Selecione o botão **Add** para criar a câmera. - ![As configurações da câmera](../../../../../translated_images/br/counterfit-create-camera.a5de97f59c0bd3cbe0416d7e89a3cfe86d19fbae05c641c53a91286412af0a34.png) + ![As configurações da câmera](../../../../../translated_images/pt-BR/counterfit-create-camera.a5de97f59c0bd3cbe0416d7e89a3cfe86d19fbae05c641c53a91286412af0a34.png) A câmera será criada e aparecerá na lista de sensores. - ![A câmera criada](../../../../../translated_images/br/counterfit-camera.001ec52194c8ee5d3f617173da2c79e1df903d10882adc625cbfc493525125d4.png) + ![A câmera criada](../../../../../translated_images/pt-BR/counterfit-camera.001ec52194c8ee5d3f617173da2c79e1df903d10882adc625cbfc493525125d4.png) ## Programar a câmera @@ -112,7 +112,7 @@ Programe o dispositivo. 1. Configure a imagem que a câmera no CounterFit capturará. Você pode definir a *Source* como *File* e fazer upload de um arquivo de imagem, ou definir a *Source* como *WebCam*, e as imagens serão capturadas da sua webcam. Certifique-se de selecionar o botão **Set** após selecionar uma imagem ou sua webcam. - ![CounterFit com um arquivo definido como fonte de imagem e uma webcam mostrando uma pessoa segurando uma banana em uma pré-visualização da webcam](../../../../../translated_images/br/counterfit-camera-options.eb3bd5150a8e7dffbf24bc5bcaba0cf2cdef95fbe6bbe393695d173817d6b8df.png) + ![CounterFit com um arquivo definido como fonte de imagem e uma webcam mostrando uma pessoa segurando uma banana em uma pré-visualização da webcam](../../../../../translated_images/pt-BR/counterfit-camera-options.eb3bd5150a8e7dffbf24bc5bcaba0cf2cdef95fbe6bbe393695d173817d6b8df.png) 1. Uma imagem será capturada e salva como `image.jpg` na pasta atual. Você verá este arquivo no explorador do VS Code. Selecione o arquivo para visualizar a imagem. Se precisar de rotação, atualize a linha `camera.rotation = 0` conforme necessário e tire outra foto. diff --git a/translations/br/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-camera.md b/translations/br/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-camera.md index 8df79ebd0..8a24f3577 100644 --- a/translations/br/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-camera.md +++ b/translations/br/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-camera.md @@ -25,11 +25,11 @@ A ArduCam não possui um conector Grove; em vez disso, ela se conecta aos barram Conecte a câmera. -![Um sensor ArduCam](../../../../../translated_images/br/arducam.20e4e4cbb268296570b5914e20d6c349fc42ddac9ed4e1b9deba2188204eebae.png) +![Um sensor ArduCam](../../../../../translated_images/pt-BR/arducam.20e4e4cbb268296570b5914e20d6c349fc42ddac9ed4e1b9deba2188204eebae.png) 1. Os pinos na base da ArduCam precisam ser conectados aos pinos GPIO no Wio Terminal. Para facilitar a identificação dos pinos corretos, coloque o adesivo de pinos GPIO que vem com o Wio Terminal ao redor dos pinos: - ![O Wio Terminal com o adesivo de pinos GPIO](../../../../../translated_images/br/wio-terminal-pin-sticker.b90b1535937b84bd.webp) + ![O Wio Terminal com o adesivo de pinos GPIO](../../../../../translated_images/pt-BR/wio-terminal-pin-sticker.b90b1535937b84bd.webp) 1. Usando fios jumper, faça as seguintes conexões: @@ -44,7 +44,7 @@ Conecte a câmera. | SDA | 3 (I2C1_SDA) | Dados Seriais I2C | | SCL | 5 (I2C1_SCL) | Clock Serial I2C | - ![O Wio Terminal conectado à ArduCam com fios jumper](../../../../../translated_images/br/arducam-wio-terminal-connections.a4d5a4049bdb5ab800a2877389fc6ecf5e4ff307e6451ff56c517e6786467d0a.png) + ![O Wio Terminal conectado à ArduCam com fios jumper](../../../../../translated_images/pt-BR/arducam-wio-terminal-connections.a4d5a4049bdb5ab800a2877389fc6ecf5e4ff307e6451ff56c517e6786467d0a.png) As conexões GND e VCC fornecem uma fonte de alimentação de 5V para a ArduCam. Ela funciona com 5V, diferente dos sensores Grove que funcionam com 3V. Essa energia vem diretamente da conexão USB-C que alimenta o dispositivo. @@ -297,7 +297,7 @@ O Wio Terminal agora pode ser programado para capturar uma imagem quando um bot 1. Microcontroladores executam seu código continuamente, então não é fácil acionar algo como tirar uma foto sem reagir a um sensor. O Wio Terminal possui botões, então a câmera pode ser configurada para ser acionada por um dos botões. Adicione o seguinte código ao final da função `setup` para configurar o botão C (um dos três botões na parte superior, o mais próximo do interruptor de energia). - ![O botão C na parte superior, próximo ao interruptor de energia](../../../../../translated_images/br/wio-terminal-c-button.73df3cb1c1445ea0.webp) + ![O botão C na parte superior, próximo ao interruptor de energia](../../../../../translated_images/pt-BR/wio-terminal-c-button.73df3cb1c1445ea0.webp) ```cpp pinMode(WIO_KEY_C, INPUT_PULLUP); @@ -465,7 +465,7 @@ O Wio Terminal suporta apenas cartões microSD de até 16GB. Se você tiver um c 1. Desligue o microSD e ejete-o pressionando-o levemente e soltando, e ele sairá. Você pode precisar usar uma ferramenta fina para fazer isso. Conecte o cartão microSD ao seu computador para visualizar as imagens. - ![Uma foto de uma banana capturada usando a ArduCam](../../../../../translated_images/br/banana-arducam.be1b32d4267a8194b0fd042362e56faa431da9cd4af172051b37243ea9be0256.jpg) + ![Uma foto de uma banana capturada usando a ArduCam](../../../../../translated_images/pt-BR/banana-arducam.be1b32d4267a8194b0fd042362e56faa431da9cd4af172051b37243ea9be0256.jpg) 💁 Pode levar algumas imagens para que o balanço de branco da câmera se ajuste. Você notará isso com base na cor das imagens capturadas, as primeiras podem parecer com cores alteradas. Você sempre pode contornar isso alterando o código para capturar algumas imagens que são ignoradas na função `setup`. diff --git a/translations/br/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-classify-image.md b/translations/br/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-classify-image.md index 2ab94cb1f..52f460b6a 100644 --- a/translations/br/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-classify-image.md +++ b/translations/br/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-classify-image.md @@ -217,7 +217,7 @@ Esses certificados contêm chaves públicas e não precisam ser mantidos em segr Você poderá ver a imagem que foi capturada e esses valores na aba **Predictions** no Custom Vision. - ![Uma banana no Custom Vision prevista como madura com 56.8% e não madura com 43.1%](../../../../../translated_images/br/custom-vision-banana-prediction.30cdff4e1d72db5d9a0be0193790a47c2b387da034e12dc1314dd57ca2131b59.png) + ![Uma banana no Custom Vision prevista como madura com 56.8% e não madura com 43.1%](../../../../../translated_images/pt-BR/custom-vision-banana-prediction.30cdff4e1d72db5d9a0be0193790a47c2b387da034e12dc1314dd57ca2131b59.png) > 💁 Você pode encontrar este código na pasta [code-classify/wio-terminal](../../../../../4-manufacturing/lessons/2-check-fruit-from-device/code-classify/wio-terminal). diff --git a/translations/br/4-manufacturing/lessons/3-run-fruit-detector-edge/README.md b/translations/br/4-manufacturing/lessons/3-run-fruit-detector-edge/README.md index dc3576f79..6316f64ef 100644 --- a/translations/br/4-manufacturing/lessons/3-run-fruit-detector-edge/README.md +++ b/translations/br/4-manufacturing/lessons/3-run-fruit-detector-edge/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # Execute seu detector de frutas na borda -![Uma visão geral ilustrada desta lição](../../../../../translated_images/br/lesson-17.bc333c3c35ba8e42cce666cfffa82b915f787f455bd94e006aea2b6f2722421a.jpg) +![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt-BR/lesson-17.bc333c3c35ba8e42cce666cfffa82b915f787f455bd94e006aea2b6f2722421a.jpg) > Ilustração por [Nitya Narasimhan](https://github.com/nitya). Clique na imagem para uma versão maior. @@ -42,11 +42,11 @@ Nesta lição, abordaremos: Computação na borda envolve ter computadores que processam dados de IoT o mais próximo possível de onde os dados são gerados. Em vez de realizar esse processamento na nuvem, ele é movido para a borda da nuvem - sua rede interna. -![Um diagrama de arquitetura mostrando serviços de internet na nuvem e dispositivos IoT em uma rede local](../../../../../translated_images/br/cloud-without-edge.b4da641f6022c95ed6b91fde8b5323abd2f94e0d52073ad54172ae8f5dac90e9.png) +![Um diagrama de arquitetura mostrando serviços de internet na nuvem e dispositivos IoT em uma rede local](../../../../../translated_images/pt-BR/cloud-without-edge.b4da641f6022c95ed6b91fde8b5323abd2f94e0d52073ad54172ae8f5dac90e9.png) Nas lições anteriores, você teve dispositivos coletando dados e enviando-os para a nuvem para serem analisados, executando funções sem servidor ou modelos de IA na nuvem. -![Um diagrama de arquitetura mostrando dispositivos IoT em uma rede local conectando-se a dispositivos de borda, e esses dispositivos de borda conectando-se à nuvem](../../../../../translated_images/br/cloud-with-edge.1e26462c62c126fe150bd15a5714ddf0be599f09bacbad08b85be02b76ea1ae1.png) +![Um diagrama de arquitetura mostrando dispositivos IoT em uma rede local conectando-se a dispositivos de borda, e esses dispositivos de borda conectando-se à nuvem](../../../../../translated_images/pt-BR/cloud-with-edge.1e26462c62c126fe150bd15a5714ddf0be599f09bacbad08b85be02b76ea1ae1.png) Computação na borda envolve mover alguns dos serviços da nuvem para computadores que operam na mesma rede que os dispositivos IoT, comunicando-se com a nuvem apenas quando necessário. Por exemplo, você pode executar modelos de IA em dispositivos de borda para analisar a maturação de frutas e enviar apenas análises para a nuvem, como o número de frutas maduras versus não maduras. @@ -94,7 +94,7 @@ Para sistemas de IoT, você frequentemente desejará uma combinação de computa ## Azure IoT Edge -![O logotipo do Azure IoT Edge](../../../../../translated_images/br/azure-iot-edge-logo.c1c076749b5cba2e8755262fadc2f19ca1146b948d76990b1229199ac2292d79.png) +![O logotipo do Azure IoT Edge](../../../../../translated_images/pt-BR/azure-iot-edge-logo.c1c076749b5cba2e8755262fadc2f19ca1146b948d76990b1229199ac2292d79.png) Azure IoT Edge é um serviço que pode ajudar você a mover cargas de trabalho da nuvem para a borda. Você configura um dispositivo como um dispositivo de borda e, a partir da nuvem, pode implantar código nesse dispositivo de borda. Isso permite misturar as capacidades da nuvem e da borda. @@ -108,7 +108,7 @@ IoT Edge está integrado ao IoT Hub, então você pode gerenciar dispositivos de IoT Edge executa código a partir de *contêineres* - aplicativos autônomos que são executados isoladamente do restante dos aplicativos no seu computador. Quando você executa um contêiner, ele age como um computador separado operando dentro do seu computador, com seu próprio software, serviços e aplicativos em execução. Na maioria das vezes, os contêineres não podem acessar nada no seu computador, a menos que você escolha compartilhar algo, como uma pasta, com o contêiner. O contêiner então expõe serviços por meio de uma porta aberta que você pode conectar ou expor à sua rede. -![Uma solicitação web redirecionada para um contêiner](../../../../../translated_images/br/container-web-browser.4ee81dd4f0d8838ce622b2a0d600b6a4322b5d4fe43159facd87b7b34f84d66a.png) +![Uma solicitação web redirecionada para um contêiner](../../../../../translated_images/pt-BR/container-web-browser.4ee81dd4f0d8838ce622b2a0d600b6a4322b5d4fe43159facd87b7b34f84d66a.png) Por exemplo, você pode ter um contêiner com um site operando na porta 80, a porta padrão do HTTP, e pode expô-lo do seu computador também na porta 80. @@ -204,11 +204,11 @@ Depois que o modelo for treinado, ele precisa ser exportado como um contêiner. ## Preparar seu contêiner para implantação -![Os contêineres são construídos, enviados para um registro de contêiner e, em seguida, implantados do registro para um dispositivo de borda usando o IoT Edge](../../../../../translated_images/br/container-edge-flow.c246050dd60ceefdb6ace026a4ce5c6aa4112bb5898ae23fbb2ab4be29ae3e1b.png) +![Os contêineres são construídos, enviados para um registro de contêiner e, em seguida, implantados do registro para um dispositivo de borda usando o IoT Edge](../../../../../translated_images/pt-BR/container-edge-flow.c246050dd60ceefdb6ace026a4ce5c6aa4112bb5898ae23fbb2ab4be29ae3e1b.png) Depois de baixar seu modelo, ele precisa ser transformado em um contêiner e enviado para um registro de contêiner - um local online onde você pode armazenar contêineres. O IoT Edge pode então baixar o contêiner do registro e enviá-lo para o seu dispositivo. -![Logotipo do Azure Container Registry](../../../../../translated_images/br/azure-container-registry-logo.09494206991d4b295025ebff7d4e2900325e527a59184ffbc8464b6ab59654be.png) +![Logotipo do Azure Container Registry](../../../../../translated_images/pt-BR/azure-container-registry-logo.09494206991d4b295025ebff7d4e2900325e527a59184ffbc8464b6ab59654be.png) O registro de contêiner que você usará nesta lição é o Azure Container Registry. Este não é um serviço gratuito, então, para economizar dinheiro, certifique-se de [limpar seu projeto](../../../clean-up.md) quando terminar. diff --git a/translations/br/4-manufacturing/lessons/4-trigger-fruit-detector/README.md b/translations/br/4-manufacturing/lessons/4-trigger-fruit-detector/README.md index 41da71f63..9c489e7c7 100644 --- a/translations/br/4-manufacturing/lessons/4-trigger-fruit-detector/README.md +++ b/translations/br/4-manufacturing/lessons/4-trigger-fruit-detector/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # Acionar a detecção de qualidade de frutas a partir de um sensor -![Uma visão geral ilustrada desta lição](../../../../../translated_images/br/lesson-18.92c32ed1d354caa5a54baa4032cf0b172d4655e8e326ad5d46c558a0def15365.jpg) +![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt-BR/lesson-18.92c32ed1d354caa5a54baa4032cf0b172d4655e8e326ad5d46c558a0def15365.jpg) > Ilustração por [Nitya Narasimhan](https://github.com/nitya). Clique na imagem para uma versão maior. @@ -48,7 +48,7 @@ As aplicações de IoT podem ser descritas como *coisas* (dispositivos) enviando ### Arquitetura de referência para IoT -![Uma arquitetura de referência para IoT](../../../../../translated_images/br/iot-reference-architecture.2278b98b55c6d4e89bde18eada3688d893861d43507641804dd2f9d3079cfaa0.png) +![Uma arquitetura de referência para IoT](../../../../../translated_images/pt-BR/iot-reference-architecture.2278b98b55c6d4e89bde18eada3688d893861d43507641804dd2f9d3079cfaa0.png) O diagrama acima mostra uma arquitetura de referência para IoT. @@ -58,7 +58,7 @@ O diagrama acima mostra uma arquitetura de referência para IoT. * **Insights** vêm de aplicações serverless ou de análises realizadas em dados armazenados. * **Ações** podem ser comandos enviados para dispositivos ou visualizações de dados que permitem que humanos tomem decisões. -![Uma arquitetura de referência para IoT no Azure](../../../../../translated_images/br/iot-reference-architecture-azure.0b8d2161af924cb18ae48a8558a19541cca47f27264851b5b7e56d7b8bb372ac.png) +![Uma arquitetura de referência para IoT no Azure](../../../../../translated_images/pt-BR/iot-reference-architecture-azure.0b8d2161af924cb18ae48a8558a19541cca47f27264851b5b7e56d7b8bb372ac.png) O diagrama acima mostra alguns dos componentes e serviços abordados até agora nestas lições e como eles se conectam em uma arquitetura de referência para IoT. @@ -98,7 +98,7 @@ Você precisa construir um sistema onde as frutas sejam detectadas à medida que ### Prototipando sua aplicação -![Uma arquitetura de referência para IoT para verificação de qualidade de frutas](../../../../../translated_images/br/iot-reference-architecture-fruit-quality.cc705f121c3b6fa71c800d9630935ac34bc08223a04601e35f41d5e9b5dd5207.png) +![Uma arquitetura de referência para IoT para verificação de qualidade de frutas](../../../../../translated_images/pt-BR/iot-reference-architecture-fruit-quality.cc705f121c3b6fa71c800d9630935ac34bc08223a04601e35f41d5e9b5dd5207.png) O diagrama acima mostra uma arquitetura de referência para esta aplicação protótipo. @@ -115,7 +115,7 @@ Para o protótipo, você implementará tudo isso em um único dispositivo. Se es O dispositivo IoT precisa de algum tipo de gatilho para indicar quando a fruta está pronta para ser classificada. Um desses gatilhos seria medir quando a fruta está na posição correta na esteira, medindo a distância até um sensor. -![Sensores de proximidade enviam feixes de laser para objetos como bananas e medem o tempo até o feixe ser refletido de volta](../../../../../translated_images/br/proximity-sensor.f5cd752c77fb62fe.webp) +![Sensores de proximidade enviam feixes de laser para objetos como bananas e medem o tempo até o feixe ser refletido de volta](../../../../../translated_images/pt-BR/proximity-sensor.f5cd752c77fb62fe.webp) Sensores de proximidade podem ser usados para medir a distância entre o sensor e um objeto. Eles geralmente transmitem um feixe de radiação eletromagnética, como um feixe de laser ou luz infravermelha, e detectam a radiação refletida por um objeto. O tempo entre o envio do feixe e o sinal refletido pode ser usado para calcular a distância até o sensor. @@ -133,7 +133,7 @@ Siga o guia relevante para usar um sensor de proximidade para detectar um objeto O protótipo do detector de frutas possui múltiplos componentes que se comunicam entre si. -![Os componentes se comunicando entre si](../../../../../translated_images/br/fruit-quality-detector-message-flow.adf2a65da8fd8741ac7af11361574de89adc126785d67606bb4d2ec00467e380.png) +![Os componentes se comunicando entre si](../../../../../translated_images/pt-BR/fruit-quality-detector-message-flow.adf2a65da8fd8741ac7af11361574de89adc126785d67606bb4d2ec00467e380.png) * Um sensor de proximidade medindo a distância até uma fruta e enviando isso para o IoT Hub * O comando para controlar a câmera vindo do IoT Hub para o dispositivo da câmera diff --git a/translations/br/4-manufacturing/lessons/4-trigger-fruit-detector/pi-proximity.md b/translations/br/4-manufacturing/lessons/4-trigger-fruit-detector/pi-proximity.md index 4de22b4a6..667a820c2 100644 --- a/translations/br/4-manufacturing/lessons/4-trigger-fruit-detector/pi-proximity.md +++ b/translations/br/4-manufacturing/lessons/4-trigger-fruit-detector/pi-proximity.md @@ -29,13 +29,13 @@ O sensor Grove Time of Flight pode ser conectado ao Raspberry Pi. Conecte o sensor Time of Flight. -![Um sensor Grove Time of Flight](../../../../../translated_images/br/grove-time-of-flight-sensor.d82ff2165bfded9f485de54d8d07195a6270a602696825fca19f629ddfe94e86.png) +![Um sensor Grove Time of Flight](../../../../../translated_images/pt-BR/grove-time-of-flight-sensor.d82ff2165bfded9f485de54d8d07195a6270a602696825fca19f629ddfe94e86.png) 1. Insira uma extremidade de um cabo Grove no conector do sensor Time of Flight. Ele só encaixará de uma maneira. 1. Com o Raspberry Pi desligado, conecte a outra extremidade do cabo Grove a um dos conectores I²C marcados como **I²C** no Grove Base Hat conectado ao Pi. Esses conectores estão na fileira inferior, no lado oposto aos pinos GPIO e próximos ao slot do cabo da câmera. -![O sensor Grove Time of Flight conectado ao conector I²C](../../../../../translated_images/br/pi-time-of-flight-sensor.58c8dc04eb3bfb57.webp) +![O sensor Grove Time of Flight conectado ao conector I²C](../../../../../translated_images/pt-BR/pi-time-of-flight-sensor.58c8dc04eb3bfb57.webp) ## Programar o sensor Time of Flight @@ -106,7 +106,7 @@ Programe o dispositivo. O medidor de distância está na parte traseira do sensor, então certifique-se de usar o lado correto ao medir a distância. - ![O medidor de distância na parte traseira do sensor Time of Flight apontando para uma banana](../../../../../translated_images/br/time-of-flight-banana.079921ad8b1496e4.webp) + ![O medidor de distância na parte traseira do sensor Time of Flight apontando para uma banana](../../../../../translated_images/pt-BR/time-of-flight-banana.079921ad8b1496e4.webp) > 💁 Você pode encontrar este código na pasta [code-proximity/pi](../../../../../4-manufacturing/lessons/4-trigger-fruit-detector/code-proximity/pi). diff --git a/translations/br/4-manufacturing/lessons/4-trigger-fruit-detector/virtual-device-proximity.md b/translations/br/4-manufacturing/lessons/4-trigger-fruit-detector/virtual-device-proximity.md index b4f327fc0..8c7a5d8fb 100644 --- a/translations/br/4-manufacturing/lessons/4-trigger-fruit-detector/virtual-device-proximity.md +++ b/translations/br/4-manufacturing/lessons/4-trigger-fruit-detector/virtual-device-proximity.md @@ -45,11 +45,11 @@ Adicione o sensor de distância ao aplicativo CounterFit. 1. Selecione o botão **Add** para criar o sensor de distância. - ![As configurações do sensor de distância](../../../../../translated_images/br/counterfit-create-distance-sensor.967c9fb98f27888d95920c9784d004c972490eb71f70397fe13bd70a79a879a3.png) + ![As configurações do sensor de distância](../../../../../translated_images/pt-BR/counterfit-create-distance-sensor.967c9fb98f27888d95920c9784d004c972490eb71f70397fe13bd70a79a879a3.png) O sensor de distância será criado e aparecerá na lista de sensores. - ![O sensor de distância criado](../../../../../translated_images/br/counterfit-distance-sensor.079eefeeea0b68afc36431ce8fcbe2f09a7e4916ed1cd5cb30e696db53bc18fa.png) + ![O sensor de distância criado](../../../../../translated_images/pt-BR/counterfit-distance-sensor.079eefeeea0b68afc36431ce8fcbe2f09a7e4916ed1cd5cb30e696db53bc18fa.png) ## Programar o sensor de distância diff --git a/translations/br/4-manufacturing/lessons/4-trigger-fruit-detector/wio-terminal-proximity.md b/translations/br/4-manufacturing/lessons/4-trigger-fruit-detector/wio-terminal-proximity.md index e1a6d7b06..6a22a716c 100644 --- a/translations/br/4-manufacturing/lessons/4-trigger-fruit-detector/wio-terminal-proximity.md +++ b/translations/br/4-manufacturing/lessons/4-trigger-fruit-detector/wio-terminal-proximity.md @@ -29,13 +29,13 @@ O sensor Grove time of flight pode ser conectado ao Wio Terminal. Conecte o sensor time of flight. -![Um sensor Grove time of flight](../../../../../translated_images/br/grove-time-of-flight-sensor.d82ff2165bfded9f485de54d8d07195a6270a602696825fca19f629ddfe94e86.png) +![Um sensor Grove time of flight](../../../../../translated_images/pt-BR/grove-time-of-flight-sensor.d82ff2165bfded9f485de54d8d07195a6270a602696825fca19f629ddfe94e86.png) 1. Insira uma extremidade de um cabo Grove no conector do sensor time of flight. Ele só encaixará de uma maneira. 1. Com o Wio Terminal desconectado do seu computador ou de outra fonte de energia, conecte a outra extremidade do cabo Grove ao conector Grove do lado esquerdo do Wio Terminal, olhando para a tela. Este é o conector mais próximo do botão de energia. Este é um socket combinado digital e I²C. -![O sensor Grove time of flight conectado ao conector esquerdo](../../../../../translated_images/br/wio-time-of-flight-sensor.c4c182131d2ea73d.webp) +![O sensor Grove time of flight conectado ao conector esquerdo](../../../../../translated_images/pt-BR/wio-time-of-flight-sensor.c4c182131d2ea73d.webp) 1. Agora você pode conectar o Wio Terminal ao seu computador. @@ -101,7 +101,7 @@ Agora o Wio Terminal pode ser programado para usar o sensor time of flight conec O medidor de distância está na parte traseira do sensor, então certifique-se de usar o lado correto ao medir a distância. - ![O medidor de distância na parte traseira do sensor time of flight apontando para uma banana](../../../../../translated_images/br/time-of-flight-banana.079921ad8b1496e4.webp) + ![O medidor de distância na parte traseira do sensor time of flight apontando para uma banana](../../../../../translated_images/pt-BR/time-of-flight-banana.079921ad8b1496e4.webp) > 💁 Você pode encontrar este código na pasta [code-proximity/wio-terminal](../../../../../4-manufacturing/lessons/4-trigger-fruit-detector/code-proximity/wio-terminal). diff --git a/translations/br/5-retail/lessons/1-train-stock-detector/README.md b/translations/br/5-retail/lessons/1-train-stock-detector/README.md index e2ef05434..3c8dfbd58 100644 --- a/translations/br/5-retail/lessons/1-train-stock-detector/README.md +++ b/translations/br/5-retail/lessons/1-train-stock-detector/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # Treine um detector de estoque -![Uma visão geral ilustrada desta lição](../../../../../translated_images/br/lesson-19.cf6973cecadf080c4b526310620dc4d6f5994c80fb0139c6f378cc9ca2d435cd.jpg) +![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt-BR/lesson-19.cf6973cecadf080c4b526310620dc4d6f5994c80fb0139c6f378cc9ca2d435cd.jpg) > Ilustração por [Nitya Narasimhan](https://github.com/nitya). Clique na imagem para uma versão maior. @@ -45,7 +45,7 @@ A detecção de objetos envolve identificar objetos em imagens usando IA. Difere A classificação de imagens consiste em classificar uma imagem como um todo - quais são as probabilidades de que a imagem inteira corresponda a cada tag. Você recebe de volta as probabilidades para cada tag usada para treinar o modelo. -![Classificação de imagens de castanhas de caju e extrato de tomate](../../../../../translated_images/br/image-classifier-cashews-tomato.bc2e16ab8f05cf9ac0f59f73e32efc4227f9a5b601b90b2c60f436694547a965.png) +![Classificação de imagens de castanhas de caju e extrato de tomate](../../../../../translated_images/pt-BR/image-classifier-cashews-tomato.bc2e16ab8f05cf9ac0f59f73e32efc4227f9a5b601b90b2c60f436694547a965.png) No exemplo acima, duas imagens são classificadas usando um modelo treinado para classificar potes de castanhas de caju ou latas de extrato de tomate. A primeira imagem é um pote de castanhas de caju e apresenta dois resultados do classificador de imagens: @@ -69,7 +69,7 @@ Quando você o utiliza para prever imagens, em vez de receber uma lista de tags > 🎓 *Caixas delimitadoras* são as caixas ao redor de um objeto. -![Detecção de objetos de castanhas de caju e extrato de tomate](../../../../../translated_images/br/object-detector-cashews-tomato.1af7c26686b4db0e709754aeb196f4e73271f54e2085db3bcccb70d4a0d84d97.png) +![Detecção de objetos de castanhas de caju e extrato de tomate](../../../../../translated_images/pt-BR/object-detector-cashews-tomato.1af7c26686b4db0e709754aeb196f4e73271f54e2085db3bcccb70d4a0d84d97.png) A imagem acima contém tanto um pote de castanhas de caju quanto três latas de extrato de tomate. O detector de objetos detectou as castanhas de caju, retornando a caixa delimitadora que contém as castanhas com a probabilidade de 97,6%. O detector de objetos também detectou três latas de extrato de tomate, fornecendo três caixas delimitadoras separadas, uma para cada lata detectada, e cada uma com uma probabilidade de que a caixa delimitadora contenha uma lata de extrato de tomate. @@ -120,7 +120,7 @@ Você pode treinar um detector de objetos usando o Custom Vision, de forma semel Ao criar seu projeto, certifique-se de usar o recurso `stock-detector-training` que você criou anteriormente. Use o tipo de projeto *Detecção de Objetos* e o domínio *Produtos em Prateleiras*. - ![As configurações do projeto no Custom Vision com o nome definido como fruit-quality-detector, sem descrição, o recurso definido como fruit-quality-detector-training, o tipo de projeto definido como classificação, os tipos de classificação definidos como multi-classe e os domínios definidos como alimentos](../../../../../translated_images/br/custom-vision-create-object-detector-project.32d4fb9aa8e7e7375f8a799bfce517aca970f2cb65e42d4245c5e635c734ab29.png) + ![As configurações do projeto no Custom Vision com o nome definido como fruit-quality-detector, sem descrição, o recurso definido como fruit-quality-detector-training, o tipo de projeto definido como classificação, os tipos de classificação definidos como multi-classe e os domínios definidos como alimentos](../../../../../translated_images/pt-BR/custom-vision-create-object-detector-project.32d4fb9aa8e7e7375f8a799bfce517aca970f2cb65e42d4245c5e635c734ab29.png) ✅ O domínio de produtos em prateleiras é especificamente direcionado para detectar estoque em prateleiras de lojas. Leia mais sobre os diferentes domínios na [documentação Selecionar um domínio na Microsoft Docs](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/select-domain?WT.mc_id=academic-17441-jabenn#object-detection). @@ -142,11 +142,11 @@ Para treinar seu modelo, você precisará de um conjunto de imagens contendo os 1. Siga a [seção Fazer upload e marcar imagens do guia rápido de construção de um detector de objetos na documentação da Microsoft](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/get-started-build-detector?WT.mc_id=academic-17441-jabenn#upload-and-tag-images) para fazer upload de suas imagens de treinamento. Crie tags relevantes dependendo dos tipos de objetos que deseja detectar. - ![Os diálogos de upload mostrando o upload de imagens de bananas maduras e não maduras](../../../../../translated_images/br/image-upload-object-detector.77c7892c3093cb59b79018edecd678749a75d71a099bc8a2d2f2f76320f88a5b.png) + ![Os diálogos de upload mostrando o upload de imagens de bananas maduras e não maduras](../../../../../translated_images/pt-BR/image-upload-object-detector.77c7892c3093cb59b79018edecd678749a75d71a099bc8a2d2f2f76320f88a5b.png) Ao desenhar caixas delimitadoras para os objetos, mantenha-as bem ajustadas ao redor do objeto. Pode levar algum tempo para marcar todas as imagens, mas a ferramenta detectará o que acredita serem as caixas delimitadoras, tornando o processo mais rápido. - ![Marcando um extrato de tomate](../../../../../translated_images/br/object-detector-tag-tomato-paste.f47c362fb0f0eb582f3bc68cf3855fb43a805106395358d41896a269c210b7b4.png) + ![Marcando um extrato de tomate](../../../../../translated_images/pt-BR/object-detector-tag-tomato-paste.f47c362fb0f0eb582f3bc68cf3855fb43a805106395358d41896a269c210b7b4.png) > 💁 Se você tiver mais de 15 imagens para cada objeto, pode treinar após 15 e usar o recurso **Tags sugeridas**. Isso usará o modelo treinado para detectar os objetos na imagem não marcada. Você pode então confirmar os objetos detectados ou rejeitar e redesenhar as caixas delimitadoras. Isso pode economizar *muito* tempo. @@ -164,7 +164,7 @@ Depois que seu detector de objetos for treinado, você poderá testá-lo fornece 1. Use o botão **Teste Rápido** para fazer upload de imagens de teste e verificar se os objetos são detectados. Use as imagens de teste que você criou anteriormente, não as imagens usadas para treinamento. - ![3 latas de extrato de tomate detectadas com probabilidades de 38%, 35,5% e 34,6%](../../../../../translated_images/br/object-detector-detected-tomato-paste.52656fe87af4c37b4ee540526d63e73ed075da2e54a9a060aa528e0c562fb1b6.png) + ![3 latas de extrato de tomate detectadas com probabilidades de 38%, 35,5% e 34,6%](../../../../../translated_images/pt-BR/object-detector-detected-tomato-paste.52656fe87af4c37b4ee540526d63e73ed075da2e54a9a060aa528e0c562fb1b6.png) 1. Teste todas as imagens de teste que você tiver e observe as probabilidades. diff --git a/translations/br/5-retail/lessons/2-check-stock-device/README.md b/translations/br/5-retail/lessons/2-check-stock-device/README.md index 7beb8faf8..b58971d71 100644 --- a/translations/br/5-retail/lessons/2-check-stock-device/README.md +++ b/translations/br/5-retail/lessons/2-check-stock-device/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # Verificar estoque com um dispositivo IoT -![Uma visão geral ilustrada desta lição](../../../../../translated_images/br/lesson-20.0211df9551a8abb300fc8fcf7dc2789468dea2eabe9202273ac077b0ba37f15e.jpg) +![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt-BR/lesson-20.0211df9551a8abb300fc8fcf7dc2789468dea2eabe9202273ac077b0ba37f15e.jpg) > Ilustração por [Nitya Narasimhan](https://github.com/nitya). Clique na imagem para uma versão maior. @@ -39,7 +39,7 @@ Detectores de objetos podem ser usados para verificar estoque, seja contando ite Por exemplo, se uma câmera estiver apontada para uma prateleira que pode conter 8 latas de extrato de tomate, e um detector de objetos identificar apenas 7 latas, então uma está faltando e precisa ser reabastecida. -![7 latas de extrato de tomate em uma prateleira, 4 na fileira superior, 3 na inferior](../../../../../translated_images/br/stock-7-cans-tomato-paste.f86059cc573d7bec.webp) +![7 latas de extrato de tomate em uma prateleira, 4 na fileira superior, 3 na inferior](../../../../../translated_images/pt-BR/stock-7-cans-tomato-paste.f86059cc573d7bec.webp) Na imagem acima, um detector de objetos identificou 7 latas de extrato de tomate em uma prateleira que pode conter 8 latas. O dispositivo IoT não apenas pode enviar uma notificação sobre a necessidade de reabastecimento, mas também pode indicar a localização do item faltante, um dado importante se você estiver usando robôs para reabastecer prateleiras. @@ -51,7 +51,7 @@ Na imagem acima, um detector de objetos identificou 7 latas de extrato de tomate A detecção de objetos pode ser usada para identificar itens inesperados, alertando um humano ou robô para devolver o item assim que for detectado. -![Uma lata de milho em conserva fora do lugar na prateleira de extrato de tomate](../../../../../translated_images/br/stock-rogue-corn.be1f3ada8c457854.webp) +![Uma lata de milho em conserva fora do lugar na prateleira de extrato de tomate](../../../../../translated_images/pt-BR/stock-rogue-corn.be1f3ada8c457854.webp) Na imagem acima, uma lata de milho em conserva foi colocada na prateleira ao lado do extrato de tomate. O detector de objetos identificou isso, permitindo que o dispositivo IoT notificasse um humano ou robô para devolver a lata ao local correto. @@ -71,7 +71,7 @@ As iterações são publicadas no portal Custom Vision. 1. Clique no botão **Publish** para a iteração. - ![O botão de publicação](../../../../../translated_images/br/custom-vision-object-detector-publish-button.34ee379fc650ccb9856c3868d0003f413b9529f102fc73c37168c98d721cc293.png) + ![O botão de publicação](../../../../../translated_images/pt-BR/custom-vision-object-detector-publish-button.34ee379fc650ccb9856c3868d0003f413b9529f102fc73c37168c98d721cc293.png) 1. No diálogo *Publish Model*, configure o *Prediction resource* para o recurso `stock-detector-prediction` que você criou na última lição. Mantenha o nome como `Iteration2` e clique no botão **Publish**. @@ -85,7 +85,7 @@ As iterações são publicadas no portal Custom Vision. Também copie o valor de *Prediction-Key*. Esta é uma chave segura que você deve passar ao chamar o modelo. Apenas aplicativos que fornecem essa chave podem usar o modelo; qualquer outro será rejeitado. - ![O diálogo da API de previsão mostrando o URL e a chave](../../../../../translated_images/br/custom-vision-prediction-key-endpoint.30c569ffd0338864f319911f052d5e9b8c5066cb0800a26dd6f7ff5713130ad8.png) + ![O diálogo da API de previsão mostrando o URL e a chave](../../../../../translated_images/pt-BR/custom-vision-prediction-key-endpoint.30c569ffd0338864f319911f052d5e9b8c5066cb0800a26dd6f7ff5713130ad8.png) ✅ Quando uma nova iteração é publicada, ela terá um nome diferente. Como você acha que poderia alterar a iteração que um dispositivo IoT está usando? @@ -104,7 +104,7 @@ Ao usar o detector de objetos, você não apenas recebe os objetos detectados co Os resultados de uma previsão na aba **Predictions** do Custom Vision têm as caixas delimitadoras desenhadas na imagem enviada para previsão. -![4 latas de extrato de tomate em uma prateleira com previsões para as 4 detecções de 35.8%, 33.5%, 25.7% e 16.6%](../../../../../translated_images/br/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.png) +![4 latas de extrato de tomate em uma prateleira com previsões para as 4 detecções de 35.8%, 33.5%, 25.7% e 16.6%](../../../../../translated_images/pt-BR/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.png) Na imagem acima, 4 latas de extrato de tomate foram detectadas. Nos resultados, um quadrado vermelho é sobreposto para cada objeto detectado na imagem, indicando a caixa delimitadora. @@ -112,7 +112,7 @@ Na imagem acima, 4 latas de extrato de tomate foram detectadas. Nos resultados, As caixas delimitadoras são definidas com 4 valores - topo, esquerda, altura e largura. Esses valores estão em uma escala de 0-1, representando as posições como uma porcentagem do tamanho da imagem. A origem (posição 0,0) é o canto superior esquerdo da imagem, então o valor de topo é a distância do topo, e o fundo da caixa delimitadora é o topo mais a altura. -![Uma caixa delimitadora ao redor de uma lata de extrato de tomate](../../../../../translated_images/br/bounding-box.1420a7ea0d3d15f71e1ffb5cf4b2271d184fac051f990abc541975168d163684.png) +![Uma caixa delimitadora ao redor de uma lata de extrato de tomate](../../../../../translated_images/pt-BR/bounding-box.1420a7ea0d3d15f71e1ffb5cf4b2271d184fac051f990abc541975168d163684.png) A imagem acima tem 600 pixels de largura e 800 pixels de altura. A caixa delimitadora começa a 320 pixels abaixo, dando um valor de topo de 0.4 (800 x 0.4 = 320). Da esquerda, a caixa começa a 240 pixels, dando um valor de esquerda de 0.4 (600 x 0.4 = 240). A altura da caixa é de 240 pixels, dando um valor de altura de 0.3 (800 x 0.3 = 240). A largura da caixa é de 120 pixels, dando um valor de largura de 0.2 (600 x 0.2 = 120). @@ -127,7 +127,7 @@ Usar valores percentuais de 0-1 significa que, independentemente do tamanho da i Você pode usar caixas delimitadoras combinadas com probabilidades para avaliar a precisão de uma detecção. Por exemplo, um detector de objetos pode identificar múltiplos objetos que se sobrepõem, como detectar uma lata dentro de outra. Seu código pode analisar as caixas delimitadoras, entender que isso é impossível e ignorar quaisquer objetos que tenham uma sobreposição significativa com outros. -![Duas caixas delimitadoras sobrepondo uma lata de extrato de tomate](../../../../../translated_images/br/overlap-object-detection.d431e03cae75072a2760430eca7f2c5fdd43045bfd72dadcbf12711f7cd6c2ae.png) +![Duas caixas delimitadoras sobrepondo uma lata de extrato de tomate](../../../../../translated_images/pt-BR/overlap-object-detection.d431e03cae75072a2760430eca7f2c5fdd43045bfd72dadcbf12711f7cd6c2ae.png) No exemplo acima, uma caixa delimitadora indicou uma lata de extrato de tomate com 78.3% de probabilidade. Uma segunda caixa delimitadora é ligeiramente menor e está dentro da primeira, com uma probabilidade de 64.3%. Seu código pode verificar as caixas delimitadoras, ver que elas se sobrepõem completamente e ignorar a probabilidade menor, já que não há como uma lata estar dentro de outra. diff --git a/translations/br/5-retail/lessons/2-check-stock-device/single-board-computer-count-stock.md b/translations/br/5-retail/lessons/2-check-stock-device/single-board-computer-count-stock.md index ae633b0ea..39bf1c4a4 100644 --- a/translations/br/5-retail/lessons/2-check-stock-device/single-board-computer-count-stock.md +++ b/translations/br/5-retail/lessons/2-check-stock-device/single-board-computer-count-stock.md @@ -81,7 +81,7 @@ Como uma etapa útil de depuração, você pode não apenas imprimir as caixas d 1. Execute o aplicativo com a câmera apontada para algum estoque em uma prateleira. Você verá o arquivo `image.jpg` no explorador do VS Code e poderá selecioná-lo para visualizar as caixas delimitadoras. - ![4 latas de extrato de tomate com caixas delimitadoras ao redor de cada lata](../../../../../translated_images/br/rpi-stock-with-bounding-boxes.b5540e2ecb7cd49f.webp) + ![4 latas de extrato de tomate com caixas delimitadoras ao redor de cada lata](../../../../../translated_images/pt-BR/rpi-stock-with-bounding-boxes.b5540e2ecb7cd49f.webp) ## Contar estoque diff --git a/translations/br/5-retail/lessons/2-check-stock-device/single-board-computer-object-detector.md b/translations/br/5-retail/lessons/2-check-stock-device/single-board-computer-object-detector.md index 31405b4af..4497e5821 100644 --- a/translations/br/5-retail/lessons/2-check-stock-device/single-board-computer-object-detector.md +++ b/translations/br/5-retail/lessons/2-check-stock-device/single-board-computer-object-detector.md @@ -76,7 +76,7 @@ O código que você usou para classificar imagens é muito semelhante ao código Você poderá ver a imagem que foi capturada e esses valores na aba **Predictions** no Custom Vision. - ![4 latas de extrato de tomate em uma prateleira com previsões para as 4 detecções de 35.8%, 33.5%, 25.7% e 16.6%](../../../../../translated_images/br/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.png) + ![4 latas de extrato de tomate em uma prateleira com previsões para as 4 detecções de 35.8%, 33.5%, 25.7% e 16.6%](../../../../../translated_images/pt-BR/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.png) > 💁 Você pode encontrar este código na pasta [code-detect/pi](../../../../../5-retail/lessons/2-check-stock-device/code-detect/pi) ou [code-detect/virtual-iot-device](../../../../../5-retail/lessons/2-check-stock-device/code-detect/virtual-iot-device). diff --git a/translations/br/5-retail/lessons/2-check-stock-device/wio-terminal-count-stock.md b/translations/br/5-retail/lessons/2-check-stock-device/wio-terminal-count-stock.md index 4641ecf88..8df7d3bc3 100644 --- a/translations/br/5-retail/lessons/2-check-stock-device/wio-terminal-count-stock.md +++ b/translations/br/5-retail/lessons/2-check-stock-device/wio-terminal-count-stock.md @@ -13,7 +13,7 @@ Uma combinação de previsões e suas caixas delimitadoras pode ser usada para c ## Contar estoque -![4 latas de extrato de tomate com caixas delimitadoras ao redor de cada lata](../../../../../translated_images/br/rpi-stock-with-bounding-boxes.b5540e2ecb7cd49f.webp) +![4 latas de extrato de tomate com caixas delimitadoras ao redor de cada lata](../../../../../translated_images/pt-BR/rpi-stock-with-bounding-boxes.b5540e2ecb7cd49f.webp) Na imagem mostrada acima, as caixas delimitadoras têm uma pequena sobreposição. Se essa sobreposição fosse muito maior, as caixas delimitadoras poderiam indicar o mesmo objeto. Para contar os objetos corretamente, você precisa ignorar caixas com uma sobreposição significativa. diff --git a/translations/br/5-retail/lessons/2-check-stock-device/wio-terminal-object-detector.md b/translations/br/5-retail/lessons/2-check-stock-device/wio-terminal-object-detector.md index bca6ad6a2..3d8305af0 100644 --- a/translations/br/5-retail/lessons/2-check-stock-device/wio-terminal-object-detector.md +++ b/translations/br/5-retail/lessons/2-check-stock-device/wio-terminal-object-detector.md @@ -104,7 +104,7 @@ O código que você usou para classificar imagens é muito semelhante ao código Você poderá ver a imagem que foi capturada e esses valores na aba **Predictions** no Custom Vision. - ![4 latas de extrato de tomate em uma prateleira com previsões para as 4 detecções de 35.8%, 33.5%, 25.7% e 16.6%](../../../../../translated_images/br/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.png) + ![4 latas de extrato de tomate em uma prateleira com previsões para as 4 detecções de 35.8%, 33.5%, 25.7% e 16.6%](../../../../../translated_images/pt-BR/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.png) > 💁 Você pode encontrar este código na pasta [code-detect/wio-terminal](../../../../../5-retail/lessons/2-check-stock-device/code-detect/wio-terminal). diff --git a/translations/br/6-consumer/lessons/1-speech-recognition/README.md b/translations/br/6-consumer/lessons/1-speech-recognition/README.md index 04d0c41f8..eb4af43fb 100644 --- a/translations/br/6-consumer/lessons/1-speech-recognition/README.md +++ b/translations/br/6-consumer/lessons/1-speech-recognition/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # Reconheça fala com um dispositivo IoT -![Uma visão geral ilustrada desta lição](../../../../../translated_images/br/lesson-21.e34de51354d6606fb5ee08d8c89d0222eea0a2a7aaf744a8805ae847c4f69dc4.jpg) +![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt-BR/lesson-21.e34de51354d6606fb5ee08d8c89d0222eea0a2a7aaf744a8805ae847c4f69dc4.jpg) > Ilustração por [Nitya Narasimhan](https://github.com/nitya). Clique na imagem para uma versão maior. @@ -60,19 +60,19 @@ Microfones vêm em uma variedade de tipos: Microfones dinâmicos não precisam de energia para funcionar, o sinal elétrico é gerado inteiramente pelo microfone. - ![Patti Smith cantando em um microfone Shure SM58 (tipo dinâmico cardioide)](../../../../../translated_images/br/dynamic-mic.8babac890a2d80dfb0874b5bf37d4b851fe2aeb9da6fd72945746176978bf3bb.jpg) + ![Patti Smith cantando em um microfone Shure SM58 (tipo dinâmico cardioide)](../../../../../translated_images/pt-BR/dynamic-mic.8babac890a2d80dfb0874b5bf37d4b851fe2aeb9da6fd72945746176978bf3bb.jpg) * Fita - Microfones de fita são semelhantes aos microfones dinâmicos, exceto que possuem uma fita de metal em vez de um diafragma. Essa fita se move em um campo magnético, gerando uma corrente elétrica. Assim como os microfones dinâmicos, os microfones de fita não precisam de energia para funcionar. - ![Edmund Lowe, ator americano, em pé ao lado de um microfone de rádio (etiquetado para a rede Blue da NBC), segurando um roteiro, 1942](../../../../../translated_images/br/ribbon-mic.eacc8e092c7441ca.webp) + ![Edmund Lowe, ator americano, em pé ao lado de um microfone de rádio (etiquetado para a rede Blue da NBC), segurando um roteiro, 1942](../../../../../translated_images/pt-BR/ribbon-mic.eacc8e092c7441ca.webp) * Condensador - Microfones condensadores possuem um diafragma de metal fino e uma placa traseira de metal fixa. Eletricidade é aplicada a ambos, e à medida que o diafragma vibra, a carga estática entre as placas muda, gerando um sinal. Microfones condensadores precisam de energia para funcionar - chamada de *Phantom power*. - ![Microfone condensador de pequeno diafragma C451B da AKG Acoustics](../../../../../translated_images/br/condenser-mic.6f6ed5b76ca19e0ec3fd0c544601542d4479a6cb7565db336de49fbbf69f623e.jpg) + ![Microfone condensador de pequeno diafragma C451B da AKG Acoustics](../../../../../translated_images/pt-BR/condenser-mic.6f6ed5b76ca19e0ec3fd0c544601542d4479a6cb7565db336de49fbbf69f623e.jpg) * MEMS - Microfones de sistemas microeletromecânicos, ou MEMS, são microfones em um chip. Eles possuem um diafragma sensível à pressão gravado em um chip de silício e funcionam de maneira semelhante a um microfone condensador. Esses microfones podem ser minúsculos e integrados em circuitos. - ![Um microfone MEMS em uma placa de circuito](../../../../../translated_images/br/mems-microphone.80574019e1f5e4d9ee72fed720ecd25a39fc2969c91355d17ebb24ba4159e4c4.png) + ![Um microfone MEMS em uma placa de circuito](../../../../../translated_images/pt-BR/mems-microphone.80574019e1f5e4d9ee72fed720ecd25a39fc2969c91355d17ebb24ba4159e4c4.png) Na imagem acima, o chip rotulado como **LEFT** é um microfone MEMS, com um diafragma minúsculo de menos de um milímetro de largura. @@ -84,7 +84,7 @@ O áudio é um sinal analógico que carrega informações muito detalhadas. Para > 🎓 Amostragem é o processo de converter o sinal de áudio em um valor digital que representa o sinal naquele momento específico. -![Um gráfico de linha mostrando um sinal, com pontos discretos em intervalos fixos](../../../../../translated_images/br/sampling.6f4fadb3f2d9dfe7.webp) +![Um gráfico de linha mostrando um sinal, com pontos discretos em intervalos fixos](../../../../../translated_images/pt-BR/sampling.6f4fadb3f2d9dfe7.webp) O áudio digital é amostrado usando Modulação por Código de Pulso, ou PCM. PCM envolve a leitura da voltagem do sinal e a seleção do valor discreto mais próximo dessa voltagem usando um tamanho definido. @@ -168,7 +168,7 @@ Para evitar a complexidade de treinar e usar um modelo de palavra de ativação, ## Converter fala em texto -![Logotipo dos serviços de fala](../../../../../translated_images/br/azure-speech-logo.a1f08c4befb0159f2cb5d692d3baf5b599e7b44759d316da907bda1508f46a4a.png) +![Logotipo dos serviços de fala](../../../../../translated_images/pt-BR/azure-speech-logo.a1f08c4befb0159f2cb5d692d3baf5b599e7b44759d316da907bda1508f46a4a.png) Assim como na classificação de imagens em um projeto anterior, existem serviços de IA pré-construídos que podem pegar fala como um arquivo de áudio e convertê-la em texto. Um desses serviços é o Speech Service, parte dos Cognitive Services, serviços de IA pré-construídos que você pode usar em seus aplicativos. diff --git a/translations/br/6-consumer/lessons/1-speech-recognition/pi-audio.md b/translations/br/6-consumer/lessons/1-speech-recognition/pi-audio.md index faf731cf3..6d520c76f 100644 --- a/translations/br/6-consumer/lessons/1-speech-recognition/pi-audio.md +++ b/translations/br/6-consumer/lessons/1-speech-recognition/pi-audio.md @@ -25,13 +25,13 @@ O botão pode ser conectado ao Grove Base Hat. #### Tarefa - conectar o botão -![Um botão Grove](../../../../../translated_images/br/grove-button.a70cfbb809a8563681003250cf5b06d68cdcc68624f9e2f493d5a534ae2da1e5.png) +![Um botão Grove](../../../../../translated_images/pt-BR/grove-button.a70cfbb809a8563681003250cf5b06d68cdcc68624f9e2f493d5a534ae2da1e5.png) 1. Insira uma extremidade de um cabo Grove no soquete do módulo do botão. Ele só encaixará de uma maneira. 1. Com o Raspberry Pi desligado, conecte a outra extremidade do cabo Grove ao soquete digital marcado como **D5** no Grove Base Hat conectado ao Pi. Este soquete é o segundo da esquerda, na fileira de soquetes ao lado dos pinos GPIO. -![O botão Grove conectado ao soquete D5](../../../../../translated_images/br/pi-button.c7a1a4f55943341ce1baf1057658e9a205804d4131d258e820c93f951df0abf3.png) +![O botão Grove conectado ao soquete D5](../../../../../translated_images/pt-BR/pi-button.c7a1a4f55943341ce1baf1057658e9a205804d4131d258e820c93f951df0abf3.png) ## Capturar áudio diff --git a/translations/br/6-consumer/lessons/1-speech-recognition/pi-microphone.md b/translations/br/6-consumer/lessons/1-speech-recognition/pi-microphone.md index 451568f42..ced445a7c 100644 --- a/translations/br/6-consumer/lessons/1-speech-recognition/pi-microphone.md +++ b/translations/br/6-consumer/lessons/1-speech-recognition/pi-microphone.md @@ -43,7 +43,7 @@ O microfone e os alto-falantes precisam ser conectados e configurados. 1. Se você estiver usando o ReSpeaker 2-Mics Pi HAT, pode remover o Grove base hat e encaixar o ReSpeaker hat no lugar. - ![Um Raspberry Pi com um ReSpeaker hat](../../../../../translated_images/br/pi-respeaker-hat.f00fabe7dd039a93e2e0aa0fc946c9af0c6a9eb17c32fa1ca097fb4e384f69f0.png) + ![Um Raspberry Pi com um ReSpeaker hat](../../../../../translated_images/pt-BR/pi-respeaker-hat.f00fabe7dd039a93e2e0aa0fc946c9af0c6a9eb17c32fa1ca097fb4e384f69f0.png) Você precisará de um botão Grove mais tarde nesta lição, mas um já está embutido neste hat, então o Grove base hat não é necessário. diff --git a/translations/br/6-consumer/lessons/1-speech-recognition/wio-terminal-audio.md b/translations/br/6-consumer/lessons/1-speech-recognition/wio-terminal-audio.md index 036e2a005..66ea5f44f 100644 --- a/translations/br/6-consumer/lessons/1-speech-recognition/wio-terminal-audio.md +++ b/translations/br/6-consumer/lessons/1-speech-recognition/wio-terminal-audio.md @@ -19,7 +19,7 @@ O microfone embutido captura um sinal analógico, que é convertido em um sinal ✅ Leia mais sobre DMA na [página de acesso direto à memória na Wikipedia](https://wikipedia.org/wiki/Direct_memory_access). -![O áudio do microfone vai para um ADC e depois para o DMAC. Este escreve em um buffer. Quando este buffer está cheio, ele é processado e o DMAC escreve em um segundo buffer](../../../../../translated_images/br/dmac-adc-buffers.4509aee49145c90bc2e1be472b8ed2ddfcb2b6a81ad3e559114aca55f5fff759.png) +![O áudio do microfone vai para um ADC e depois para o DMAC. Este escreve em um buffer. Quando este buffer está cheio, ele é processado e o DMAC escreve em um segundo buffer](../../../../../translated_images/pt-BR/dmac-adc-buffers.4509aee49145c90bc2e1be472b8ed2ddfcb2b6a81ad3e559114aca55f5fff759.png) O DMAC pode capturar áudio do ADC em intervalos fixos, como 16.000 vezes por segundo para áudio de 16KHz. Ele pode gravar esses dados capturados em um buffer de memória pré-alocado e, quando este estiver cheio, torná-lo disponível para o seu código processar. Usar essa memória pode atrasar a captura de áudio, mas você pode configurar múltiplos buffers. O DMAC escreve no buffer 1 e, quando este está cheio, notifica seu código para processar o buffer 1, enquanto o DMAC escreve no buffer 2. Quando o buffer 2 está cheio, ele notifica seu código e volta a escrever no buffer 1. Dessa forma, desde que você processe cada buffer em menos tempo do que leva para preencher um, você não perderá nenhum dado. diff --git a/translations/br/6-consumer/lessons/1-speech-recognition/wio-terminal-microphone.md b/translations/br/6-consumer/lessons/1-speech-recognition/wio-terminal-microphone.md index 2ef3a2573..dd970720b 100644 --- a/translations/br/6-consumer/lessons/1-speech-recognition/wio-terminal-microphone.md +++ b/translations/br/6-consumer/lessons/1-speech-recognition/wio-terminal-microphone.md @@ -15,11 +15,11 @@ Nesta parte da lição, você adicionará alto-falantes ao seu Wio Terminal. O W O Wio Terminal já vem com um microfone embutido, que pode ser usado para capturar áudio para reconhecimento de fala. -![O microfone no Wio Terminal](../../../../../translated_images/br/wio-mic.3f8c843dbe8ad917.webp) +![O microfone no Wio Terminal](../../../../../translated_images/pt-BR/wio-mic.3f8c843dbe8ad917.webp) Para adicionar um alto-falante, você pode usar o [ReSpeaker 2-Mics Pi Hat](https://www.seeedstudio.com/ReSpeaker-2-Mics-Pi-HAT.html). Esta é uma placa externa que contém 2 microfones MEMS, além de um conector para alto-falante e uma entrada para fones de ouvido. -![O ReSpeaker 2-Mics Pi Hat](../../../../../translated_images/br/respeaker.f5d19d1c6b14ab16.webp) +![O ReSpeaker 2-Mics Pi Hat](../../../../../translated_images/pt-BR/respeaker.f5d19d1c6b14ab16.webp) Você precisará adicionar fones de ouvido, um alto-falante com conector de 3,5 mm ou um alto-falante com conexão JST, como o [Mono Enclosed Speaker - 2W 6 Ohm](https://www.seeedstudio.com/Mono-Enclosed-Speaker-2W-6-Ohm-p-2832.html). @@ -35,7 +35,7 @@ Você também precisará de um cartão SD para baixar e reproduzir áudio. O Wio Os pinos precisam ser conectados desta forma: - ![Um diagrama de pinos](../../../../../translated_images/br/wio-respeaker-wiring-0.767f80aa65081038.webp) + ![Um diagrama de pinos](../../../../../translated_images/pt-BR/wio-respeaker-wiring-0.767f80aa65081038.webp) 1. Posicione o ReSpeaker e o Wio Terminal com os soquetes GPIO voltados para cima e no lado esquerdo. @@ -43,33 +43,33 @@ Você também precisará de um cartão SD para baixar e reproduzir áudio. O Wio 1. Repita isso até o final dos soquetes GPIO no lado esquerdo. Certifique-se de que os pinos estejam bem encaixados. - ![Um ReSpeaker com os pinos do lado esquerdo conectados aos pinos do lado esquerdo do Wio Terminal](../../../../../translated_images/br/wio-respeaker-wiring-1.8d894727f2ba2400.webp) + ![Um ReSpeaker com os pinos do lado esquerdo conectados aos pinos do lado esquerdo do Wio Terminal](../../../../../translated_images/pt-BR/wio-respeaker-wiring-1.8d894727f2ba2400.webp) - ![Um ReSpeaker com os pinos do lado esquerdo conectados aos pinos do lado esquerdo do Wio Terminal](../../../../../translated_images/br/wio-respeaker-wiring-2.329e1cbd306e754f.webp) + ![Um ReSpeaker com os pinos do lado esquerdo conectados aos pinos do lado esquerdo do Wio Terminal](../../../../../translated_images/pt-BR/wio-respeaker-wiring-2.329e1cbd306e754f.webp) > 💁 Se seus cabos jumper estiverem conectados em fitas, mantenha-os juntos - isso facilita garantir que todos os cabos estejam conectados na ordem correta. 1. Repita o processo usando os soquetes GPIO do lado direito no ReSpeaker e no Wio Terminal. Esses cabos precisam passar ao redor dos cabos que já estão conectados. - ![Um ReSpeaker com os pinos do lado direito conectados aos pinos do lado direito do Wio Terminal](../../../../../translated_images/br/wio-respeaker-wiring-3.75b0be447e2fa930.webp) + ![Um ReSpeaker com os pinos do lado direito conectados aos pinos do lado direito do Wio Terminal](../../../../../translated_images/pt-BR/wio-respeaker-wiring-3.75b0be447e2fa930.webp) - ![Um ReSpeaker com os pinos do lado direito conectados aos pinos do lado direito do Wio Terminal](../../../../../translated_images/br/wio-respeaker-wiring-4.aa9cd434d8779437.webp) + ![Um ReSpeaker com os pinos do lado direito conectados aos pinos do lado direito do Wio Terminal](../../../../../translated_images/pt-BR/wio-respeaker-wiring-4.aa9cd434d8779437.webp) > 💁 Se seus cabos jumper estiverem conectados em fitas, divida-os em duas fitas. Passe uma de cada lado dos cabos já existentes. > 💁 Você pode usar fita adesiva para manter os pinos em um bloco, ajudando a evitar que eles se soltem enquanto você os conecta. > - > ![Os pinos fixados com fita adesiva](../../../../../translated_images/br/wio-respeaker-wiring-5.af117c20acf622f3.webp) + > ![Os pinos fixados com fita adesiva](../../../../../translated_images/pt-BR/wio-respeaker-wiring-5.af117c20acf622f3.webp) 1. Você precisará adicionar um alto-falante. * Se estiver usando um alto-falante com cabo JST, conecte-o à porta JST no ReSpeaker. - ![Um alto-falante conectado ao ReSpeaker com um cabo JST](../../../../../translated_images/br/respeaker-jst-speaker.a441d177809df945.webp) + ![Um alto-falante conectado ao ReSpeaker com um cabo JST](../../../../../translated_images/pt-BR/respeaker-jst-speaker.a441d177809df945.webp) * Se estiver usando um alto-falante com conector de 3,5 mm ou fones de ouvido, insira-o na entrada de 3,5 mm. - ![Um alto-falante conectado ao ReSpeaker via entrada de 3,5 mm](../../../../../translated_images/br/respeaker-35mm-speaker.ad79ef4f128c7751.webp) + ![Um alto-falante conectado ao ReSpeaker via entrada de 3,5 mm](../../../../../translated_images/pt-BR/respeaker-35mm-speaker.ad79ef4f128c7751.webp) ### Tarefa - configurar o cartão SD @@ -79,7 +79,7 @@ Você também precisará de um cartão SD para baixar e reproduzir áudio. O Wio 1. Insira o cartão SD no slot do Wio Terminal, localizado no lado esquerdo, logo abaixo do botão de energia. Certifique-se de que o cartão esteja completamente inserido e faça um clique - você pode precisar de uma ferramenta fina ou outro cartão SD para ajudar a empurrá-lo completamente. - ![Inserindo o cartão SD no slot abaixo do botão de energia](../../../../../translated_images/br/wio-sd-card.acdcbe322fa4ee7f.webp) + ![Inserindo o cartão SD no slot abaixo do botão de energia](../../../../../translated_images/pt-BR/wio-sd-card.acdcbe322fa4ee7f.webp) > 💁 Para ejetar o cartão SD, você precisa empurrá-lo levemente para dentro, e ele será ejetado. Você precisará de uma ferramenta fina, como uma chave de fenda de cabeça chata ou outro cartão SD, para fazer isso. diff --git a/translations/br/6-consumer/lessons/2-language-understanding/README.md b/translations/br/6-consumer/lessons/2-language-understanding/README.md index c4f979bf0..a49740dc1 100644 --- a/translations/br/6-consumer/lessons/2-language-understanding/README.md +++ b/translations/br/6-consumer/lessons/2-language-understanding/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # Entenda a linguagem -![Uma visão geral ilustrada desta lição](../../../../../translated_images/br/lesson-22.6148ea28500d9e00c396aaa2649935fb6641362c8f03d8e5e90a676977ab01dd.jpg) +![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt-BR/lesson-22.6148ea28500d9e00c396aaa2649935fb6641362c8f03d8e5e90a676977ab01dd.jpg) > Ilustração por [Nitya Narasimhan](https://github.com/nitya). Clique na imagem para uma versão maior. @@ -55,7 +55,7 @@ Modelos de entendimento de linguagem são modelos de IA que são treinados para ## Criar um modelo de entendimento de linguagem -![O logotipo do LUIS](../../../../../translated_images/br/luis-logo.5cb4f3e88c020ee6df4f614e8831f4a4b6809a7247bf52085fb48d629ef9be52.png) +![O logotipo do LUIS](../../../../../translated_images/pt-BR/luis-logo.5cb4f3e88c020ee6df4f614e8831f4a4b6809a7247bf52085fb48d629ef9be52.png) Você pode criar modelos de entendimento de linguagem usando o LUIS, um serviço de entendimento de linguagem da Microsoft que faz parte dos Serviços Cognitivos. @@ -126,7 +126,7 @@ Depois de definir as entidades, você cria intenções. Estas são aprendidas pe Você então informa ao LUIS quais partes dessas frases correspondem às entidades: -![A frase "defina um cronômetro para 1 minuto e 12 segundos" dividida em entidades](../../../../../translated_images/br/sentence-as-intent-entities.301401696f992259.webp) +![A frase "defina um cronômetro para 1 minuto e 12 segundos" dividida em entidades](../../../../../translated_images/pt-BR/sentence-as-intent-entities.301401696f992259.webp) A frase `defina um cronômetro para 1 minuto e 12 segundos` tem a intenção de `definir cronômetro`. Ela também possui 2 entidades com 2 valores cada: @@ -178,7 +178,7 @@ Você pode encontrar instruções para usar o portal do LUIS na [Documentação 1. Conforme você insere cada exemplo, o LUIS começará a detectar entidades e sublinhará e rotulará qualquer uma que encontrar. - ![Os exemplos com os números e unidades de tempo sublinhados pelo LUIS](../../../../../translated_images/br/luis-intent-examples.25716580b2d2723cf1bafdf277d015c7f046d8cfa20f27bddf3a0873ec45fab7.png) + ![Os exemplos com os números e unidades de tempo sublinhados pelo LUIS](../../../../../translated_images/pt-BR/luis-intent-examples.25716580b2d2723cf1bafdf277d015c7f046d8cfa20f27bddf3a0873ec45fab7.png) ### Tarefa - treinar e testar o modelo diff --git a/translations/br/6-consumer/lessons/3-spoken-feedback/README.md b/translations/br/6-consumer/lessons/3-spoken-feedback/README.md index 648681510..679883bb3 100644 --- a/translations/br/6-consumer/lessons/3-spoken-feedback/README.md +++ b/translations/br/6-consumer/lessons/3-spoken-feedback/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # Configure um temporizador e forneça feedback falado -![Uma visão geral em sketchnote desta lição](../../../../../translated_images/br/lesson-23.f38483e1d4df4828990d3f02d60e46c978b075d384ae7cb4f7bab738e107c850.jpg) +![Uma visão geral em sketchnote desta lição](../../../../../translated_images/pt-BR/lesson-23.f38483e1d4df4828990d3f02d60e46c978b075d384ae7cb4f7bab738e107c850.jpg) > Sketchnote por [Nitya Narasimhan](https://github.com/nitya). Clique na imagem para uma versão maior. @@ -37,7 +37,7 @@ Nesta lição, abordaremos: Texto para fala, como o nome sugere, é o processo de converter texto em áudio que contém as palavras faladas. O princípio básico é decompor as palavras do texto em seus sons constituintes (conhecidos como fonemas) e juntar áudios desses sons, seja usando gravações pré-existentes ou áudios gerados por modelos de IA. -![As três etapas dos sistemas típicos de texto para fala](../../../../../translated_images/br/tts-overview.193843cf3f5ee09f.webp) +![As três etapas dos sistemas típicos de texto para fala](../../../../../translated_images/pt-BR/tts-overview.193843cf3f5ee09f.webp) Os sistemas de texto para fala geralmente têm 3 etapas: diff --git a/translations/br/6-consumer/lessons/4-multiple-language-support/README.md b/translations/br/6-consumer/lessons/4-multiple-language-support/README.md index fd48c96cb..90e21bd7c 100644 --- a/translations/br/6-consumer/lessons/4-multiple-language-support/README.md +++ b/translations/br/6-consumer/lessons/4-multiple-language-support/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # Suporte a múltiplos idiomas -![Uma visão geral ilustrada desta lição](../../../../../translated_images/br/lesson-24.4246968ed058510ab275052e87ef9aa89c7b2f938915d103c605c04dc6cd5bb7.jpg) +![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt-BR/lesson-24.4246968ed058510ab275052e87ef9aa89c7b2f938915d103c605c04dc6cd5bb7.jpg) > Ilustração por [Nitya Narasimhan](https://github.com/nitya). Clique na imagem para uma versão maior. @@ -83,7 +83,7 @@ Existem vários serviços de IA que podem ser usados em seus aplicativos para tr ### Serviço de fala dos serviços cognitivos -![O logotipo do serviço de fala](../../../../../translated_images/br/azure-speech-logo.a1f08c4befb0159f2cb5d692d3baf5b599e7b44759d316da907bda1508f46a4a.png) +![O logotipo do serviço de fala](../../../../../translated_images/pt-BR/azure-speech-logo.a1f08c4befb0159f2cb5d692d3baf5b599e7b44759d316da907bda1508f46a4a.png) O serviço de fala que você tem usado nas últimas lições possui capacidades de tradução para reconhecimento de fala. Quando você reconhece fala, pode solicitar não apenas o texto da fala no mesmo idioma, mas também em outros idiomas. @@ -91,7 +91,7 @@ O serviço de fala que você tem usado nas últimas lições possui capacidades ### Serviço de tradutor dos serviços cognitivos -![O logotipo do serviço de tradutor](../../../../../translated_images/br/azure-translator-logo.c6ed3a4a433edfd2f11577eca105412c50b8396b194cbbd730723dd1d0793bcd.png) +![O logotipo do serviço de tradutor](../../../../../translated_images/pt-BR/azure-translator-logo.c6ed3a4a433edfd2f11577eca105412c50b8396b194cbbd730723dd1d0793bcd.png) O serviço de tradutor é um serviço dedicado de tradução que pode traduzir texto de um idioma para um ou mais idiomas de destino. Além de traduzir, ele suporta uma ampla gama de recursos extras, incluindo mascaramento de palavrões. Ele também permite que você forneça uma tradução específica para uma palavra ou frase, para trabalhar com termos que você não deseja traduzir ou que possuem uma tradução bem conhecida. @@ -130,7 +130,7 @@ Para esta lição, você precisará de um recurso de tradutor. Você usará a AP Em um mundo ideal, todo o seu aplicativo deveria entender o maior número possível de idiomas diferentes, desde ouvir a fala até compreender a linguagem e responder com fala. Isso dá muito trabalho, então os serviços de tradução podem acelerar o tempo de entrega do seu aplicativo. -![Uma arquitetura de cronômetro inteligente traduzindo japonês para inglês, processando em inglês e depois traduzindo de volta para japonês](../../../../../translated_images/br/translated-smart-timer.08ac20057fdc5c37.webp) +![Uma arquitetura de cronômetro inteligente traduzindo japonês para inglês, processando em inglês e depois traduzindo de volta para japonês](../../../../../translated_images/pt-BR/translated-smart-timer.08ac20057fdc5c37.webp) Imagine que você está construindo um cronômetro inteligente que usa inglês de ponta a ponta, entendendo inglês falado e convertendo isso em texto, executando a compreensão de linguagem em inglês, criando respostas em inglês e respondendo com fala em inglês. Se você quisesse adicionar suporte ao japonês, poderia começar traduzindo japonês falado para texto em inglês, mantendo o núcleo do aplicativo o mesmo, e depois traduzir o texto da resposta para japonês antes de falar a resposta. Isso permitiria adicionar suporte ao japonês rapidamente, e você poderia expandir para fornecer suporte completo de ponta a ponta em japonês mais tarde. diff --git a/translations/br/6-consumer/lessons/4-multiple-language-support/pi-translate-speech.md b/translations/br/6-consumer/lessons/4-multiple-language-support/pi-translate-speech.md index ed286813f..bd8007ed1 100644 --- a/translations/br/6-consumer/lessons/4-multiple-language-support/pi-translate-speech.md +++ b/translations/br/6-consumer/lessons/4-multiple-language-support/pi-translate-speech.md @@ -34,7 +34,7 @@ A API REST do serviço de fala não suporta traduções diretas. Em vez disso, v > > Por exemplo, se você treinar o LUIS em inglês, mas quiser usar francês como idioma do usuário, pode traduzir frases como "set a 2 minute and 27 second timer" do inglês para o francês usando o Bing Translate e, em seguida, usar o botão **Ouvir tradução** para falar a tradução no seu microfone. > - > ![O botão ouvir tradução no Bing Translate](../../../../../translated_images/br/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.png) + > ![O botão ouvir tradução no Bing Translate](../../../../../translated_images/pt-BR/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.png) 1. Adicione a chave da API do tradutor abaixo da `speech_api_key`: diff --git a/translations/br/6-consumer/lessons/4-multiple-language-support/virtual-device-translate-speech.md b/translations/br/6-consumer/lessons/4-multiple-language-support/virtual-device-translate-speech.md index bf439db40..d0882e58d 100644 --- a/translations/br/6-consumer/lessons/4-multiple-language-support/virtual-device-translate-speech.md +++ b/translations/br/6-consumer/lessons/4-multiple-language-support/virtual-device-translate-speech.md @@ -46,7 +46,7 @@ O serviço de fala pode pegar uma fala e não apenas convertê-la em texto no me > > Por exemplo, se você treinar o LUIS em inglês, mas quiser usar francês como idioma do usuário, pode traduzir frases como "set a 2 minute and 27 second timer" de inglês para francês usando o Bing Translate, e depois usar o botão **Ouvir tradução** para falar a tradução no seu microfone. > - > ![O botão ouvir tradução no Bing Translate](../../../../../translated_images/br/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.png) + > ![O botão ouvir tradução no Bing Translate](../../../../../translated_images/pt-BR/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.png) 1. Substitua as declarações `recognizer_config` e `recognizer` pelo seguinte: diff --git a/translations/br/6-consumer/lessons/4-multiple-language-support/wio-terminal-translate-speech.md b/translations/br/6-consumer/lessons/4-multiple-language-support/wio-terminal-translate-speech.md index f14fb6615..93f5de72a 100644 --- a/translations/br/6-consumer/lessons/4-multiple-language-support/wio-terminal-translate-speech.md +++ b/translations/br/6-consumer/lessons/4-multiple-language-support/wio-terminal-translate-speech.md @@ -114,7 +114,7 @@ A API REST do serviço de fala não suporta traduções diretas. Em vez disso, v > > Por exemplo, se você treinar o LUIS em inglês, mas quiser usar francês como idioma do usuário, pode traduzir frases como "set a 2 minute and 27 second timer" do inglês para o francês usando o Bing Translate e, em seguida, usar o botão **Ouvir tradução** para falar a tradução no seu microfone. > - > ![O botão ouvir tradução no Bing Translate](../../../../../translated_images/br/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.png) + > ![O botão ouvir tradução no Bing Translate](../../../../../translated_images/pt-BR/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.png) 1. Adicione a chave da API do Translator e a localização abaixo de `SPEECH_LOCATION`: diff --git a/translations/br/README.md b/translations/br/README.md index 12b233620..906c16b83 100644 --- a/translations/br/README.md +++ b/translations/br/README.md @@ -57,7 +57,7 @@ Os Defensores da Nuvem Azure da Microsoft têm o prazer de oferecer um currícul Os projetos cobrem a jornada da comida da fazenda à mesa. Isso inclui agricultura, logística, manufatura, varejo e consumidor — todas áreas populares da indústria para dispositivos IoT. -![Um mapa do curso mostrando 24 lições cobrindo introdução, agricultura, transporte, processamento, varejo e cozinha](../../translated_images/br/Roadmap.bb1dec285dda0eda.webp) +![Um mapa do curso mostrando 24 lições cobrindo introdução, agricultura, transporte, processamento, varejo e cozinha](../../translated_images/pt-BR/Roadmap.bb1dec285dda0eda.webp) > Sketchnote por [Nitya Narasimhan](https://github.com/nitya). Clique na imagem para uma versão maior. diff --git a/translations/br/hardware.md b/translations/br/hardware.md index 6adebba9f..d89e94cf6 100644 --- a/translations/br/hardware.md +++ b/translations/br/hardware.md @@ -21,7 +21,7 @@ Você também precisará de alguns itens não técnicos, como terra ou uma plant ## Compre os kits -![O logotipo da Seeed Studios](../../translated_images/br/seeed-logo.74732b6b482b6e8e.webp) +![O logotipo da Seeed Studios](../../translated_images/pt-BR/seeed-logo.74732b6b482b6e8e.webp) A Seeed Studios gentilmente disponibilizou todo o hardware em kits fáceis de adquirir: @@ -29,13 +29,13 @@ A Seeed Studios gentilmente disponibilizou todo o hardware em kits fáceis de ad **[IoT para iniciantes com Seeed e Microsoft - Kit Inicial Wio Terminal](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Wio-Terminal-Starter-Kit-p-5006.html)** -[![O kit de hardware Wio Terminal](../../translated_images/br/wio-hardware-kit.4c70c48b85e4283a.webp)](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Wio-Terminal-Starter-Kit-p-5006.html) +[![O kit de hardware Wio Terminal](../../translated_images/pt-BR/wio-hardware-kit.4c70c48b85e4283a.webp)](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Wio-Terminal-Starter-Kit-p-5006.html) ### Raspberry Pi **[IoT para iniciantes com Seeed e Microsoft - Kit Inicial Raspberry Pi 4](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Raspberry-Pi-Starter-Kit-p-5004.html)** -[![O kit de hardware Raspberry Pi Terminal](../../translated_images/br/pi-hardware-kit.26dbadaedb7dd44c73b0131d5d68ea29472ed0a9744f90d5866c6d82f2d16380.png)](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Raspberry-Pi-Starter-Kit-p-5004.html) +[![O kit de hardware Raspberry Pi Terminal](../../translated_images/pt-BR/pi-hardware-kit.26dbadaedb7dd44c73b0131d5d68ea29472ed0a9744f90d5866c6d82f2d16380.png)](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Raspberry-Pi-Starter-Kit-p-5004.html) ## Arduino diff --git a/translations/en/.co-op-translator.json b/translations/en/.co-op-translator.json new file mode 100644 index 000000000..05ed6fbf0 --- /dev/null +++ b/translations/en/.co-op-translator.json @@ -0,0 +1,830 @@ +{ + "1-getting-started/README.md": { + "original_hash": "e2b1b891b08ef7633d285547fbe73290", + "translation_date": "2025-08-28T19:49:42+00:00", + "source_file": "1-getting-started/README.md", + "language_code": "en" + }, + "1-getting-started/lessons/1-introduction-to-iot/README.md": { + "original_hash": "9bae08314d8487cb76ddf3d8797e1544", + "translation_date": "2025-08-28T19:59:08+00:00", + "source_file": "1-getting-started/lessons/1-introduction-to-iot/README.md", + "language_code": "en" + }, + "1-getting-started/lessons/1-introduction-to-iot/assignment.md": { + "original_hash": "7ef1cec2d27b086032d46ab1958f3e99", + "translation_date": "2025-08-28T20:04:12+00:00", + "source_file": "1-getting-started/lessons/1-introduction-to-iot/assignment.md", + "language_code": "en" + }, + "1-getting-started/lessons/1-introduction-to-iot/pi.md": { + "original_hash": "8ff0d0a1d29832bb896b9c103b69a452", + "translation_date": "2025-08-28T20:02:22+00:00", + "source_file": "1-getting-started/lessons/1-introduction-to-iot/pi.md", + "language_code": "en" + }, + "1-getting-started/lessons/1-introduction-to-iot/virtual-device.md": { + "original_hash": "52b4de6144b2efdced7797a5339d6035", + "translation_date": "2025-08-28T20:01:15+00:00", + "source_file": "1-getting-started/lessons/1-introduction-to-iot/virtual-device.md", + "language_code": "en" + }, + "1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md": { + "original_hash": "a4f0c166010e31fd7b6ca20bc88dec6d", + "translation_date": "2025-08-28T20:04:24+00:00", + "source_file": "1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md", + "language_code": "en" + }, + "1-getting-started/lessons/2-deeper-dive/README.md": { + "original_hash": "9dd7f645ad1c6f20b72fee512987f772", + "translation_date": "2025-08-28T19:49:58+00:00", + "source_file": "1-getting-started/lessons/2-deeper-dive/README.md", + "language_code": "en" + }, + "1-getting-started/lessons/2-deeper-dive/assignment.md": { + "original_hash": "750bd75866471141f857240219084767", + "translation_date": "2025-08-28T19:53:04+00:00", + "source_file": "1-getting-started/lessons/2-deeper-dive/assignment.md", + "language_code": "en" + }, + "1-getting-started/lessons/3-sensors-and-actuators/README.md": { + "original_hash": "e9ee00eb5fc55922a73762acc542166b", + "translation_date": "2025-08-28T20:05:28+00:00", + "source_file": "1-getting-started/lessons/3-sensors-and-actuators/README.md", + "language_code": "en" + }, + "1-getting-started/lessons/3-sensors-and-actuators/assignment.md": { + "original_hash": "c5a568320b1159394108544807895337", + "translation_date": "2025-08-28T20:10:32+00:00", + "source_file": "1-getting-started/lessons/3-sensors-and-actuators/assignment.md", + "language_code": "en" + }, + "1-getting-started/lessons/3-sensors-and-actuators/pi-actuator.md": { + "original_hash": "4db8a3879a53490513571df2f6cf7641", + "translation_date": "2025-08-28T20:08:06+00:00", + "source_file": "1-getting-started/lessons/3-sensors-and-actuators/pi-actuator.md", + "language_code": "en" + }, + "1-getting-started/lessons/3-sensors-and-actuators/pi-sensor.md": { + "original_hash": "ea733bd0cdf2479e082373f765a08678", + "translation_date": "2025-08-28T20:08:50+00:00", + "source_file": "1-getting-started/lessons/3-sensors-and-actuators/pi-sensor.md", + "language_code": "en" + }, + "1-getting-started/lessons/3-sensors-and-actuators/virtual-device-actuator.md": { + "original_hash": "9c640f93263fd9adbfda920739e09feb", + "translation_date": "2025-08-28T20:07:32+00:00", + "source_file": "1-getting-started/lessons/3-sensors-and-actuators/virtual-device-actuator.md", + "language_code": "en" + }, + "1-getting-started/lessons/3-sensors-and-actuators/virtual-device-sensor.md": { + "original_hash": "11f10c6760fb8202cf368422702fdf70", + "translation_date": "2025-08-28T20:09:56+00:00", + "source_file": "1-getting-started/lessons/3-sensors-and-actuators/virtual-device-sensor.md", + "language_code": "en" + }, + "1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-actuator.md": { + "original_hash": "db44083b4dc6fb06eac83c4f16448940", + "translation_date": "2025-08-28T20:09:22+00:00", + "source_file": "1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-actuator.md", + "language_code": "en" + }, + "1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-sensor.md": { + "original_hash": "7f4ad0ef54f248b85b92187c94cf9dcb", + "translation_date": "2025-08-28T20:10:46+00:00", + "source_file": "1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-sensor.md", + "language_code": "en" + }, + "1-getting-started/lessons/4-connect-internet/README.md": { + "original_hash": "71b5040e0b3472f1c0949c9b55f224c0", + "translation_date": "2025-08-28T19:53:18+00:00", + "source_file": "1-getting-started/lessons/4-connect-internet/README.md", + "language_code": "en" + }, + "1-getting-started/lessons/4-connect-internet/assignment.md": { + "original_hash": "0d4033cdd7b5b5475c63770102e38480", + "translation_date": "2025-08-28T19:58:50+00:00", + "source_file": "1-getting-started/lessons/4-connect-internet/assignment.md", + "language_code": "en" + }, + "1-getting-started/lessons/4-connect-internet/single-board-computer-commands.md": { + "original_hash": "c527ce85d69b1a3875366ec61cbed8aa", + "translation_date": "2025-08-28T19:57:43+00:00", + "source_file": "1-getting-started/lessons/4-connect-internet/single-board-computer-commands.md", + "language_code": "en" + }, + "1-getting-started/lessons/4-connect-internet/single-board-computer-mqtt.md": { + "original_hash": "90fb93446e03c38f3c0e4009c2471906", + "translation_date": "2025-08-28T19:58:23+00:00", + "source_file": "1-getting-started/lessons/4-connect-internet/single-board-computer-mqtt.md", + "language_code": "en" + }, + "1-getting-started/lessons/4-connect-internet/single-board-computer-telemetry.md": { + "original_hash": "1226517aae5f5b6f904434670394c688", + "translation_date": "2025-08-28T19:57:23+00:00", + "source_file": "1-getting-started/lessons/4-connect-internet/single-board-computer-telemetry.md", + "language_code": "en" + }, + "1-getting-started/lessons/4-connect-internet/wio-terminal-commands.md": { + "original_hash": "6754c915dae64ba70fcd5e52c37f3adf", + "translation_date": "2025-08-28T19:56:08+00:00", + "source_file": "1-getting-started/lessons/4-connect-internet/wio-terminal-commands.md", + "language_code": "en" + }, + "1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md": { + "original_hash": "d6faf0e8d3c2d6d20c0aef2a305dab18", + "translation_date": "2025-08-28T19:56:34+00:00", + "source_file": "1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md", + "language_code": "en" + }, + "1-getting-started/lessons/4-connect-internet/wio-terminal-telemetry.md": { + "original_hash": "4bcc29fe2b65e56eada83d2476279227", + "translation_date": "2025-08-28T19:58:04+00:00", + "source_file": "1-getting-started/lessons/4-connect-internet/wio-terminal-telemetry.md", + "language_code": "en" + }, + "2-farm/README.md": { + "original_hash": "428bda82d9e6016ecea7c797564bf081", + "translation_date": "2025-08-28T20:18:19+00:00", + "source_file": "2-farm/README.md", + "language_code": "en" + }, + "2-farm/lessons/1-predict-plant-growth/README.md": { + "original_hash": "d105b44deae539165855c976dcdeca99", + "translation_date": "2025-08-28T20:36:16+00:00", + "source_file": "2-farm/lessons/1-predict-plant-growth/README.md", + "language_code": "en" + }, + "2-farm/lessons/1-predict-plant-growth/assignment.md": { + "original_hash": "1e21b012c6685f8bf73e0e76cdca3347", + "translation_date": "2025-08-28T20:38:58+00:00", + "source_file": "2-farm/lessons/1-predict-plant-growth/assignment.md", + "language_code": "en" + }, + "2-farm/lessons/1-predict-plant-growth/pi-temp.md": { + "original_hash": "7678f7c67b97ee52d5727496dcd7d346", + "translation_date": "2025-08-28T20:35:23+00:00", + "source_file": "2-farm/lessons/1-predict-plant-growth/pi-temp.md", + "language_code": "en" + }, + "2-farm/lessons/1-predict-plant-growth/single-board-computer-temp-publish.md": { + "original_hash": "4efc74299e19f5d08f2f3f34451a11ba", + "translation_date": "2025-08-28T20:39:20+00:00", + "source_file": "2-farm/lessons/1-predict-plant-growth/single-board-computer-temp-publish.md", + "language_code": "en" + }, + "2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md": { + "original_hash": "70e5a428b607cd5a9a4f422c2a4df03d", + "translation_date": "2025-08-28T20:39:44+00:00", + "source_file": "2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md", + "language_code": "en" + }, + "2-farm/lessons/1-predict-plant-growth/wio-terminal-temp-publish.md": { + "original_hash": "df28cd649cd892bcce034e064913b2f3", + "translation_date": "2025-08-28T20:38:36+00:00", + "source_file": "2-farm/lessons/1-predict-plant-growth/wio-terminal-temp-publish.md", + "language_code": "en" + }, + "2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md": { + "original_hash": "59263d094f20b302053888cd236880c3", + "translation_date": "2025-08-28T20:40:32+00:00", + "source_file": "2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md", + "language_code": "en" + }, + "2-farm/lessons/2-detect-soil-moisture/README.md": { + "original_hash": "4fb20273d299dc8d07a8f06c9cd0cdd9", + "translation_date": "2025-08-28T20:19:53+00:00", + "source_file": "2-farm/lessons/2-detect-soil-moisture/README.md", + "language_code": "en" + }, + "2-farm/lessons/2-detect-soil-moisture/assignment.md": { + "original_hash": "506d21b544d5de47406c89ad496a21cd", + "translation_date": "2025-08-28T20:23:21+00:00", + "source_file": "2-farm/lessons/2-detect-soil-moisture/assignment.md", + "language_code": "en" + }, + "2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md": { + "original_hash": "9d4d00a47d5d0f3e6ce42c0d1020064a", + "translation_date": "2025-08-28T20:18:37+00:00", + "source_file": "2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md", + "language_code": "en" + }, + "2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md": { + "original_hash": "2bf65f162bcebd35fbcba5fd245afac4", + "translation_date": "2025-08-28T20:22:37+00:00", + "source_file": "2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md", + "language_code": "en" + }, + "2-farm/lessons/2-detect-soil-moisture/wio-terminal-soil-moisture.md": { + "original_hash": "0d55caa8c23d73635b7559102cd17b8a", + "translation_date": "2025-08-28T20:23:44+00:00", + "source_file": "2-farm/lessons/2-detect-soil-moisture/wio-terminal-soil-moisture.md", + "language_code": "en" + }, + "2-farm/lessons/3-automated-plant-watering/README.md": { + "original_hash": "f7bb24ba53fb627ddb38a8b24a05e594", + "translation_date": "2025-08-28T20:41:08+00:00", + "source_file": "2-farm/lessons/3-automated-plant-watering/README.md", + "language_code": "en" + }, + "2-farm/lessons/3-automated-plant-watering/assignment.md": { + "original_hash": "ed0fbd6aed084bfba7d5e2f206968c50", + "translation_date": "2025-08-28T20:45:15+00:00", + "source_file": "2-farm/lessons/3-automated-plant-watering/assignment.md", + "language_code": "en" + }, + "2-farm/lessons/3-automated-plant-watering/pi-relay.md": { + "original_hash": "66b81165e60f8f169bd52a401b6a0f8b", + "translation_date": "2025-08-28T20:44:12+00:00", + "source_file": "2-farm/lessons/3-automated-plant-watering/pi-relay.md", + "language_code": "en" + }, + "2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md": { + "original_hash": "f8f541ee945545017a51aaf309aa37c3", + "translation_date": "2025-08-28T20:43:38+00:00", + "source_file": "2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md", + "language_code": "en" + }, + "2-farm/lessons/3-automated-plant-watering/wio-terminal-relay.md": { + "original_hash": "f3c5d8afa2ef6a0b425ef8ff20615cb4", + "translation_date": "2025-08-28T20:44:46+00:00", + "source_file": "2-farm/lessons/3-automated-plant-watering/wio-terminal-relay.md", + "language_code": "en" + }, + "2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md": { + "original_hash": "4d8e7a066d75b625e7a979c14157041d", + "translation_date": "2025-08-28T20:30:40+00:00", + "source_file": "2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md", + "language_code": "en" + }, + "2-farm/lessons/4-migrate-your-plant-to-the-cloud/assignment.md": { + "original_hash": "bfd35499bd68d7d740242bfea784bbeb", + "translation_date": "2025-08-28T20:34:10+00:00", + "source_file": "2-farm/lessons/4-migrate-your-plant-to-the-cloud/assignment.md", + "language_code": "en" + }, + "2-farm/lessons/4-migrate-your-plant-to-the-cloud/single-board-computer-connect-hub.md": { + "original_hash": "3ac42e284a7222c0e83d2d43231a364f", + "translation_date": "2025-08-28T20:33:39+00:00", + "source_file": "2-farm/lessons/4-migrate-your-plant-to-the-cloud/single-board-computer-connect-hub.md", + "language_code": "en" + }, + "2-farm/lessons/4-migrate-your-plant-to-the-cloud/wio-terminal-connect-hub.md": { + "original_hash": "28320305a35ea3bc59c41fe146a2e6ed", + "translation_date": "2025-08-28T20:34:28+00:00", + "source_file": "2-farm/lessons/4-migrate-your-plant-to-the-cloud/wio-terminal-connect-hub.md", + "language_code": "en" + }, + "2-farm/lessons/5-migrate-application-to-the-cloud/README.md": { + "original_hash": "5f2d2f4a5a023c93ab34a0cc5b47c0c4", + "translation_date": "2025-08-28T20:24:17+00:00", + "source_file": "2-farm/lessons/5-migrate-application-to-the-cloud/README.md", + "language_code": "en" + }, + "2-farm/lessons/5-migrate-application-to-the-cloud/assignment.md": { + "original_hash": "c24b6e4d90501c9199f2ceb6a648a337", + "translation_date": "2025-08-28T20:27:10+00:00", + "source_file": "2-farm/lessons/5-migrate-application-to-the-cloud/assignment.md", + "language_code": "en" + }, + "2-farm/lessons/6-keep-your-plant-secure/README.md": { + "original_hash": "81c437c568eee1b0dda1f04e88150d37", + "translation_date": "2025-08-28T20:27:33+00:00", + "source_file": "2-farm/lessons/6-keep-your-plant-secure/README.md", + "language_code": "en" + }, + "2-farm/lessons/6-keep-your-plant-secure/assignment.md": { + "original_hash": "34010c663d96d5f419eda6ac2366a78d", + "translation_date": "2025-08-28T20:30:14+00:00", + "source_file": "2-farm/lessons/6-keep-your-plant-secure/assignment.md", + "language_code": "en" + }, + "2-farm/lessons/6-keep-your-plant-secure/single-board-computer-x509.md": { + "original_hash": "9aea84bcc7520222b0e1c50469d62d6a", + "translation_date": "2025-08-28T20:29:49+00:00", + "source_file": "2-farm/lessons/6-keep-your-plant-secure/single-board-computer-x509.md", + "language_code": "en" + }, + "2-farm/lessons/6-keep-your-plant-secure/wio-terminal-x509.md": { + "original_hash": "8a74f789f3c1bf41a13c007190360c19", + "translation_date": "2025-08-28T20:30:30+00:00", + "source_file": "2-farm/lessons/6-keep-your-plant-secure/wio-terminal-x509.md", + "language_code": "en" + }, + "3-transport/README.md": { + "original_hash": "e978534a245b000725ed2a048f943213", + "translation_date": "2025-08-28T19:34:33+00:00", + "source_file": "3-transport/README.md", + "language_code": "en" + }, + "3-transport/lessons/1-location-tracking/README.md": { + "original_hash": "52ed2bd997d08040f79a1a6ef2bac958", + "translation_date": "2025-08-28T19:34:55+00:00", + "source_file": "3-transport/lessons/1-location-tracking/README.md", + "language_code": "en" + }, + "3-transport/lessons/1-location-tracking/assignment.md": { + "original_hash": "bded364fc06ce37d7a76aed3be1ba73a", + "translation_date": "2025-08-28T19:39:34+00:00", + "source_file": "3-transport/lessons/1-location-tracking/assignment.md", + "language_code": "en" + }, + "3-transport/lessons/1-location-tracking/pi-gps-sensor.md": { + "original_hash": "3b2448c7ab4e9673e77e35a50c5e350d", + "translation_date": "2025-08-28T19:36:51+00:00", + "source_file": "3-transport/lessons/1-location-tracking/pi-gps-sensor.md", + "language_code": "en" + }, + "3-transport/lessons/1-location-tracking/single-board-computer-gps-decode.md": { + "original_hash": "cbb8c285bc64c5192fae3368fb5077d2", + "translation_date": "2025-08-28T19:38:26+00:00", + "source_file": "3-transport/lessons/1-location-tracking/single-board-computer-gps-decode.md", + "language_code": "en" + }, + "3-transport/lessons/1-location-tracking/virtual-device-gps-sensor.md": { + "original_hash": "64f18a8f8aaa1fef5e7320e0992d8b3a", + "translation_date": "2025-08-28T19:38:46+00:00", + "source_file": "3-transport/lessons/1-location-tracking/virtual-device-gps-sensor.md", + "language_code": "en" + }, + "3-transport/lessons/1-location-tracking/wio-terminal-gps-decode.md": { + "original_hash": "fbbcf96a9b63ccd661db98bbf854bb06", + "translation_date": "2025-08-28T19:37:38+00:00", + "source_file": "3-transport/lessons/1-location-tracking/wio-terminal-gps-decode.md", + "language_code": "en" + }, + "3-transport/lessons/1-location-tracking/wio-terminal-gps-sensor.md": { + "original_hash": "da6ae0a795cf06be33d23ca5b8493fc8", + "translation_date": "2025-08-28T19:37:58+00:00", + "source_file": "3-transport/lessons/1-location-tracking/wio-terminal-gps-sensor.md", + "language_code": "en" + }, + "3-transport/lessons/2-store-location-data/README.md": { + "original_hash": "e345843ccfeb7261d81500d19c64d476", + "translation_date": "2025-08-28T19:46:24+00:00", + "source_file": "3-transport/lessons/2-store-location-data/README.md", + "language_code": "en" + }, + "3-transport/lessons/2-store-location-data/assignment.md": { + "original_hash": "b2e0a965723082b068f735aec0faf3f6", + "translation_date": "2025-08-28T19:49:25+00:00", + "source_file": "3-transport/lessons/2-store-location-data/assignment.md", + "language_code": "en" + }, + "3-transport/lessons/3-visualize-location-data/README.md": { + "original_hash": "9095c61445c2bca7245ef9b59a186a11", + "translation_date": "2025-08-28T19:42:48+00:00", + "source_file": "3-transport/lessons/3-visualize-location-data/README.md", + "language_code": "en" + }, + "3-transport/lessons/3-visualize-location-data/assignment.md": { + "original_hash": "0ccdc1faa676a485c4c6ecbddb9f9067", + "translation_date": "2025-08-28T19:46:08+00:00", + "source_file": "3-transport/lessons/3-visualize-location-data/assignment.md", + "language_code": "en" + }, + "3-transport/lessons/4-geofences/README.md": { + "original_hash": "078ae664c7b686bf069545e9a5fc95b2", + "translation_date": "2025-08-28T19:39:48+00:00", + "source_file": "3-transport/lessons/4-geofences/README.md", + "language_code": "en" + }, + "3-transport/lessons/4-geofences/assignment.md": { + "original_hash": "5cb65a6ec4387ed177e145347e8e308e", + "translation_date": "2025-08-28T19:42:32+00:00", + "source_file": "3-transport/lessons/4-geofences/assignment.md", + "language_code": "en" + }, + "4-manufacturing/README.md": { + "original_hash": "3764e089adf2d5801272bc0895f8498b", + "translation_date": "2025-08-28T18:58:00+00:00", + "source_file": "4-manufacturing/README.md", + "language_code": "en" + }, + "4-manufacturing/lessons/1-train-fruit-detector/README.md": { + "original_hash": "f5e63c916d2dd97d58be12aaf76bd9f1", + "translation_date": "2025-08-28T18:58:23+00:00", + "source_file": "4-manufacturing/lessons/1-train-fruit-detector/README.md", + "language_code": "en" + }, + "4-manufacturing/lessons/1-train-fruit-detector/assignment.md": { + "original_hash": "e74eb2fc7cc3b81916b52e957802f182", + "translation_date": "2025-08-28T19:00:35+00:00", + "source_file": "4-manufacturing/lessons/1-train-fruit-detector/assignment.md", + "language_code": "en" + }, + "4-manufacturing/lessons/2-check-fruit-from-device/README.md": { + "original_hash": "557f4ee96b752e0651d2e6e74aa6bd14", + "translation_date": "2025-08-28T19:08:35+00:00", + "source_file": "4-manufacturing/lessons/2-check-fruit-from-device/README.md", + "language_code": "en" + }, + "4-manufacturing/lessons/2-check-fruit-from-device/assignment.md": { + "original_hash": "022e21f8629b721424c1de25195fff67", + "translation_date": "2025-08-28T19:12:37+00:00", + "source_file": "4-manufacturing/lessons/2-check-fruit-from-device/assignment.md", + "language_code": "en" + }, + "4-manufacturing/lessons/2-check-fruit-from-device/pi-camera.md": { + "original_hash": "c677667095f6133eee418c7e53615d05", + "translation_date": "2025-08-28T19:09:49+00:00", + "source_file": "4-manufacturing/lessons/2-check-fruit-from-device/pi-camera.md", + "language_code": "en" + }, + "4-manufacturing/lessons/2-check-fruit-from-device/single-board-computer-classify-image.md": { + "original_hash": "e5896207b304ce1abaf065b8acc0cc79", + "translation_date": "2025-08-28T19:12:53+00:00", + "source_file": "4-manufacturing/lessons/2-check-fruit-from-device/single-board-computer-classify-image.md", + "language_code": "en" + }, + "4-manufacturing/lessons/2-check-fruit-from-device/virtual-device-camera.md": { + "original_hash": "3ba7150ffc4a6999f6c3cfb4906ec7df", + "translation_date": "2025-08-28T19:10:31+00:00", + "source_file": "4-manufacturing/lessons/2-check-fruit-from-device/virtual-device-camera.md", + "language_code": "en" + }, + "4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-camera.md": { + "original_hash": "160be8c0f558687f6686dca64f10f739", + "translation_date": "2025-08-28T19:11:09+00:00", + "source_file": "4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-camera.md", + "language_code": "en" + }, + "4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-classify-image.md": { + "original_hash": "32a1f23e7834fbe7715da8c4ebb450b9", + "translation_date": "2025-08-28T19:13:17+00:00", + "source_file": "4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-classify-image.md", + "language_code": "en" + }, + "4-manufacturing/lessons/3-run-fruit-detector-edge/README.md": { + "original_hash": "2625af24587465c5547ae33d6cc000a5", + "translation_date": "2025-08-28T19:04:11+00:00", + "source_file": "4-manufacturing/lessons/3-run-fruit-detector-edge/README.md", + "language_code": "en" + }, + "4-manufacturing/lessons/3-run-fruit-detector-edge/assignment.md": { + "original_hash": "cc7ad255517f5f618f9c8899e6ff6783", + "translation_date": "2025-08-28T19:07:30+00:00", + "source_file": "4-manufacturing/lessons/3-run-fruit-detector-edge/assignment.md", + "language_code": "en" + }, + "4-manufacturing/lessons/3-run-fruit-detector-edge/single-board-computer.md": { + "original_hash": "50151d9f9dce2801348a93880ef16d86", + "translation_date": "2025-08-28T19:07:47+00:00", + "source_file": "4-manufacturing/lessons/3-run-fruit-detector-edge/single-board-computer.md", + "language_code": "en" + }, + "4-manufacturing/lessons/3-run-fruit-detector-edge/vm-iotedge.md": { + "original_hash": "24dc783a600e20251211987b36370e93", + "translation_date": "2025-08-28T19:06:58+00:00", + "source_file": "4-manufacturing/lessons/3-run-fruit-detector-edge/vm-iotedge.md", + "language_code": "en" + }, + "4-manufacturing/lessons/3-run-fruit-detector-edge/wio-terminal.md": { + "original_hash": "48ac21ec80329c930db7b84bd6b592ec", + "translation_date": "2025-08-28T19:08:12+00:00", + "source_file": "4-manufacturing/lessons/3-run-fruit-detector-edge/wio-terminal.md", + "language_code": "en" + }, + "4-manufacturing/lessons/4-trigger-fruit-detector/README.md": { + "original_hash": "f74f4ccb61f00e5f7e9f49c3ed416e36", + "translation_date": "2025-08-28T19:00:51+00:00", + "source_file": "4-manufacturing/lessons/4-trigger-fruit-detector/README.md", + "language_code": "en" + }, + "4-manufacturing/lessons/4-trigger-fruit-detector/assignment.md": { + "original_hash": "1a85e50c33c38dcd2cde2a97d132f248", + "translation_date": "2025-08-28T19:03:26+00:00", + "source_file": "4-manufacturing/lessons/4-trigger-fruit-detector/assignment.md", + "language_code": "en" + }, + "4-manufacturing/lessons/4-trigger-fruit-detector/pi-proximity.md": { + "original_hash": "6145a1d791731c8a9d0afd0a1bae5108", + "translation_date": "2025-08-28T19:02:28+00:00", + "source_file": "4-manufacturing/lessons/4-trigger-fruit-detector/pi-proximity.md", + "language_code": "en" + }, + "4-manufacturing/lessons/4-trigger-fruit-detector/virtual-device-proximity.md": { + "original_hash": "7e9f05bdc50a40fd924b1d66934471bf", + "translation_date": "2025-08-28T19:03:47+00:00", + "source_file": "4-manufacturing/lessons/4-trigger-fruit-detector/virtual-device-proximity.md", + "language_code": "en" + }, + "4-manufacturing/lessons/4-trigger-fruit-detector/wio-terminal-proximity.md": { + "original_hash": "288aebb0c59f7be1d2719b8f9660a313", + "translation_date": "2025-08-28T19:03:00+00:00", + "source_file": "4-manufacturing/lessons/4-trigger-fruit-detector/wio-terminal-proximity.md", + "language_code": "en" + }, + "5-retail/README.md": { + "original_hash": "22a1d6e49f2a689fe5bfa7802a7241fc", + "translation_date": "2025-08-28T20:12:20+00:00", + "source_file": "5-retail/README.md", + "language_code": "en" + }, + "5-retail/lessons/1-train-stock-detector/README.md": { + "original_hash": "8df310a42f902139a01417dacb1ffbef", + "translation_date": "2025-08-28T20:12:37+00:00", + "source_file": "5-retail/lessons/1-train-stock-detector/README.md", + "language_code": "en" + }, + "5-retail/lessons/1-train-stock-detector/assignment.md": { + "original_hash": "d93ee76fac4c2199973689ecd05baaf9", + "translation_date": "2025-08-28T20:14:08+00:00", + "source_file": "5-retail/lessons/1-train-stock-detector/assignment.md", + "language_code": "en" + }, + "5-retail/lessons/2-check-stock-device/README.md": { + "original_hash": "1c9e5fa8b7be726c75a97232b1e41c97", + "translation_date": "2025-08-28T20:14:23+00:00", + "source_file": "5-retail/lessons/2-check-stock-device/README.md", + "language_code": "en" + }, + "5-retail/lessons/2-check-stock-device/assignment.md": { + "original_hash": "3cf7783991ec0ee4f6041223924894c7", + "translation_date": "2025-08-28T20:17:34+00:00", + "source_file": "5-retail/lessons/2-check-stock-device/assignment.md", + "language_code": "en" + }, + "5-retail/lessons/2-check-stock-device/single-board-computer-count-stock.md": { + "original_hash": "9c4320311c0f2c1884a6a21265d98a51", + "translation_date": "2025-08-28T20:16:08+00:00", + "source_file": "5-retail/lessons/2-check-stock-device/single-board-computer-count-stock.md", + "language_code": "en" + }, + "5-retail/lessons/2-check-stock-device/single-board-computer-object-detector.md": { + "original_hash": "a3fdfec1d1e2cb645ea11c2930b51299", + "translation_date": "2025-08-28T20:17:47+00:00", + "source_file": "5-retail/lessons/2-check-stock-device/single-board-computer-object-detector.md", + "language_code": "en" + }, + "5-retail/lessons/2-check-stock-device/wio-terminal-count-stock.md": { + "original_hash": "0b2ae20b0fc8e73c9598dea937cac038", + "translation_date": "2025-08-28T20:16:59+00:00", + "source_file": "5-retail/lessons/2-check-stock-device/wio-terminal-count-stock.md", + "language_code": "en" + }, + "5-retail/lessons/2-check-stock-device/wio-terminal-object-detector.md": { + "original_hash": "4cf1421420a6fab9ab4f2c391bd523b7", + "translation_date": "2025-08-28T20:15:38+00:00", + "source_file": "5-retail/lessons/2-check-stock-device/wio-terminal-object-detector.md", + "language_code": "en" + }, + "6-consumer/README.md": { + "original_hash": "5de7dc1e2ddc402d415473bb795568d4", + "translation_date": "2025-08-28T19:13:55+00:00", + "source_file": "6-consumer/README.md", + "language_code": "en" + }, + "6-consumer/lessons/1-speech-recognition/README.md": { + "original_hash": "6d6aa1be033625d201a190fc9c5cbfb4", + "translation_date": "2025-08-28T19:22:38+00:00", + "source_file": "6-consumer/lessons/1-speech-recognition/README.md", + "language_code": "en" + }, + "6-consumer/lessons/1-speech-recognition/assignment.md": { + "original_hash": "5ae7654f519ae831179409dc8e528055", + "translation_date": "2025-08-28T19:28:02+00:00", + "source_file": "6-consumer/lessons/1-speech-recognition/assignment.md", + "language_code": "en" + }, + "6-consumer/lessons/1-speech-recognition/pi-audio.md": { + "original_hash": "0ac0afcfb40cb5970ef4cb74f01c32e9", + "translation_date": "2025-08-28T19:24:53+00:00", + "source_file": "6-consumer/lessons/1-speech-recognition/pi-audio.md", + "language_code": "en" + }, + "6-consumer/lessons/1-speech-recognition/pi-microphone.md": { + "original_hash": "7e45d884493c5222348b43fbc4481b6a", + "translation_date": "2025-08-28T19:26:40+00:00", + "source_file": "6-consumer/lessons/1-speech-recognition/pi-microphone.md", + "language_code": "en" + }, + "6-consumer/lessons/1-speech-recognition/pi-speech-to-text.md": { + "original_hash": "af249a24d4fe4f4de4806adbc3bc9d86", + "translation_date": "2025-08-28T19:27:17+00:00", + "source_file": "6-consumer/lessons/1-speech-recognition/pi-speech-to-text.md", + "language_code": "en" + }, + "6-consumer/lessons/1-speech-recognition/virtual-device-audio.md": { + "original_hash": "e4f2925acb211765889c3b51b9116ceb", + "translation_date": "2025-08-28T19:27:52+00:00", + "source_file": "6-consumer/lessons/1-speech-recognition/virtual-device-audio.md", + "language_code": "en" + }, + "6-consumer/lessons/1-speech-recognition/virtual-device-microphone.md": { + "original_hash": "7a65ee743f916276a2848b8a9491feb7", + "translation_date": "2025-08-28T19:24:41+00:00", + "source_file": "6-consumer/lessons/1-speech-recognition/virtual-device-microphone.md", + "language_code": "en" + }, + "6-consumer/lessons/1-speech-recognition/virtual-device-speech-to-text.md": { + "original_hash": "c0550b254b9ba2539baf1e6bb5fc05f8", + "translation_date": "2025-08-28T19:25:32+00:00", + "source_file": "6-consumer/lessons/1-speech-recognition/virtual-device-speech-to-text.md", + "language_code": "en" + }, + "6-consumer/lessons/1-speech-recognition/wio-terminal-audio.md": { + "original_hash": "2f336726b9410e97c3aaed76cc89b0d8", + "translation_date": "2025-08-28T19:28:12+00:00", + "source_file": "6-consumer/lessons/1-speech-recognition/wio-terminal-audio.md", + "language_code": "en" + }, + "6-consumer/lessons/1-speech-recognition/wio-terminal-microphone.md": { + "original_hash": "93d352de36526b8990e41dd538100324", + "translation_date": "2025-08-28T19:26:01+00:00", + "source_file": "6-consumer/lessons/1-speech-recognition/wio-terminal-microphone.md", + "language_code": "en" + }, + "6-consumer/lessons/1-speech-recognition/wio-terminal-speech-to-text.md": { + "original_hash": "3f92edf2975175577174910caca4a389", + "translation_date": "2025-08-28T19:29:31+00:00", + "source_file": "6-consumer/lessons/1-speech-recognition/wio-terminal-speech-to-text.md", + "language_code": "en" + }, + "6-consumer/lessons/2-language-understanding/README.md": { + "original_hash": "6f4ba69d77f16c4a5110623a96a215c3", + "translation_date": "2025-08-28T19:15:04+00:00", + "source_file": "6-consumer/lessons/2-language-understanding/README.md", + "language_code": "en" + }, + "6-consumer/lessons/2-language-understanding/assignment.md": { + "original_hash": "5a7262a0c48dfacdfe1ff91b20bf16fd", + "translation_date": "2025-08-28T19:17:17+00:00", + "source_file": "6-consumer/lessons/2-language-understanding/assignment.md", + "language_code": "en" + }, + "6-consumer/lessons/3-spoken-feedback/README.md": { + "original_hash": "b73fe10ec6b580fba2affb6f6e0a5c4d", + "translation_date": "2025-08-28T19:17:58+00:00", + "source_file": "6-consumer/lessons/3-spoken-feedback/README.md", + "language_code": "en" + }, + "6-consumer/lessons/3-spoken-feedback/assignment.md": { + "original_hash": "da5d9360fe02fdcc1e91a725016c846d", + "translation_date": "2025-08-28T19:22:24+00:00", + "source_file": "6-consumer/lessons/3-spoken-feedback/assignment.md", + "language_code": "en" + }, + "6-consumer/lessons/3-spoken-feedback/pi-text-to-speech.md": { + "original_hash": "606f3af1c78e3741e48ce77c31cea626", + "translation_date": "2025-08-28T19:20:19+00:00", + "source_file": "6-consumer/lessons/3-spoken-feedback/pi-text-to-speech.md", + "language_code": "en" + }, + "6-consumer/lessons/3-spoken-feedback/single-board-computer-set-timer.md": { + "original_hash": "64ad4ddb4de81a18b7252e968f10b404", + "translation_date": "2025-08-28T19:21:46+00:00", + "source_file": "6-consumer/lessons/3-spoken-feedback/single-board-computer-set-timer.md", + "language_code": "en" + }, + "6-consumer/lessons/3-spoken-feedback/virtual-device-text-to-speech.md": { + "original_hash": "7966848a1f870e4c42edb4db67b13c57", + "translation_date": "2025-08-28T19:17:31+00:00", + "source_file": "6-consumer/lessons/3-spoken-feedback/virtual-device-text-to-speech.md", + "language_code": "en" + }, + "6-consumer/lessons/3-spoken-feedback/wio-terminal-set-timer.md": { + "original_hash": "012b69d57d898d670adf61304f42a137", + "translation_date": "2025-08-28T19:20:57+00:00", + "source_file": "6-consumer/lessons/3-spoken-feedback/wio-terminal-set-timer.md", + "language_code": "en" + }, + "6-consumer/lessons/3-spoken-feedback/wio-terminal-text-to-speech.md": { + "original_hash": "a202fa5889790a3777bfc33dd9f4b459", + "translation_date": "2025-08-28T19:18:54+00:00", + "source_file": "6-consumer/lessons/3-spoken-feedback/wio-terminal-text-to-speech.md", + "language_code": "en" + }, + "6-consumer/lessons/4-multiple-language-support/README.md": { + "original_hash": "c16de27b0074abe81d6a8bad5e5b1a6b", + "translation_date": "2025-08-28T19:30:48+00:00", + "source_file": "6-consumer/lessons/4-multiple-language-support/README.md", + "language_code": "en" + }, + "6-consumer/lessons/4-multiple-language-support/assignment.md": { + "original_hash": "701f4a4466f9309b6e1d863077df0c06", + "translation_date": "2025-08-28T19:34:14+00:00", + "source_file": "6-consumer/lessons/4-multiple-language-support/assignment.md", + "language_code": "en" + }, + "6-consumer/lessons/4-multiple-language-support/pi-translate-speech.md": { + "original_hash": "bbb5aa34221fe129dd3ce4d9ec33831a", + "translation_date": "2025-08-28T19:32:40+00:00", + "source_file": "6-consumer/lessons/4-multiple-language-support/pi-translate-speech.md", + "language_code": "en" + }, + "6-consumer/lessons/4-multiple-language-support/virtual-device-translate-speech.md": { + "original_hash": "d620a470d9dd8614d99824832978360a", + "translation_date": "2025-08-28T19:33:20+00:00", + "source_file": "6-consumer/lessons/4-multiple-language-support/virtual-device-translate-speech.md", + "language_code": "en" + }, + "6-consumer/lessons/4-multiple-language-support/wio-terminal-translate-speech.md": { + "original_hash": "5f6c164e349f8989959e02a90f37908d", + "translation_date": "2025-08-28T19:31:57+00:00", + "source_file": "6-consumer/lessons/4-multiple-language-support/wio-terminal-translate-speech.md", + "language_code": "en" + }, + "CODE_OF_CONDUCT.md": { + "original_hash": "c06b12caf3c901eb3156e3dd5b0aea56", + "translation_date": "2025-08-28T18:57:27+00:00", + "source_file": "CODE_OF_CONDUCT.md", + "language_code": "en" + }, + "CONTRIBUTING.md": { + "original_hash": "d6f80293fa9c213283eac7e79b078671", + "translation_date": "2025-08-28T18:55:35+00:00", + "source_file": "CONTRIBUTING.md", + "language_code": "en" + }, + "README.md": { + "original_hash": "3fcc056cd3837e33d2bdf79f9c359fcf", + "translation_date": "2026-01-30T00:59:38+00:00", + "source_file": "README.md", + "language_code": "en" + }, + "SECURITY.md": { + "original_hash": "8587f83cfded1bfab99fda4022f4df89", + "translation_date": "2025-08-28T18:56:18+00:00", + "source_file": "SECURITY.md", + "language_code": "en" + }, + "SUPPORT.md": { + "original_hash": "cd89329575372232e59605f7a08ae0df", + "translation_date": "2025-08-28T18:54:15+00:00", + "source_file": "SUPPORT.md", + "language_code": "en" + }, + "TROUBLESHOOTING.md": { + "original_hash": "9713e21a309662f6fcb271b573d47848", + "translation_date": "2026-01-05T12:31:46+00:00", + "source_file": "TROUBLESHOOTING.md", + "language_code": "en" + }, + "attributions.md": { + "original_hash": "4506d33bbda7acc0ab20980172687090", + "translation_date": "2025-08-28T18:55:50+00:00", + "source_file": "attributions.md", + "language_code": "en" + }, + "clean-up.md": { + "original_hash": "5a94fbab1ba737e9bd6cc6c64f114fa0", + "translation_date": "2025-08-28T18:56:45+00:00", + "source_file": "clean-up.md", + "language_code": "en" + }, + "docs/_sidebar.md": { + "original_hash": "686f22febaa2b67aa03b738c0dc0bf9b", + "translation_date": "2025-08-28T18:57:37+00:00", + "source_file": "docs/_sidebar.md", + "language_code": "en" + }, + "docs/troubleshooting.md": { + "original_hash": "271dcd720357806934b2f0d94e19410e", + "translation_date": "2026-01-05T12:42:00+00:00", + "source_file": "docs/troubleshooting.md", + "language_code": "en" + }, + "for-teachers.md": { + "original_hash": "9fd36f5dc734203ee28b6cf2573e5eab", + "translation_date": "2025-08-28T18:57:04+00:00", + "source_file": "for-teachers.md", + "language_code": "en" + }, + "hardware.md": { + "original_hash": "3dce18fab38adf93ff30b8c221b1eec5", + "translation_date": "2025-08-28T18:54:26+00:00", + "source_file": "hardware.md", + "language_code": "en" + }, + "images/README.md": { + "original_hash": "50abd54997afa7e7a3fc7019379e49e3", + "translation_date": "2025-08-28T20:11:45+00:00", + "source_file": "images/README.md", + "language_code": "en" + }, + "lesson-template/README.md": { + "original_hash": "0494be70ad7fadd13a8c3d549c23e355", + "translation_date": "2025-08-28T20:11:13+00:00", + "source_file": "lesson-template/README.md", + "language_code": "en" + }, + "lesson-template/assignment.md": { + "original_hash": "b5f62ec256c7e43e771f0d3b4e1a9130", + "translation_date": "2025-08-28T20:11:31+00:00", + "source_file": "lesson-template/assignment.md", + "language_code": "en" + }, + "quiz-app/README.md": { + "original_hash": "2a459ea9177fb0508ca96068ae1009d2", + "translation_date": "2025-08-28T20:11:56+00:00", + "source_file": "quiz-app/README.md", + "language_code": "en" + }, + "recommended-learning-model.md": { + "original_hash": "012bbd19f13171be32ac9ba21d4186c2", + "translation_date": "2025-08-28T18:51:53+00:00", + "source_file": "recommended-learning-model.md", + "language_code": "en" + } +} \ No newline at end of file diff --git a/translations/en/1-getting-started/README.md b/translations/en/1-getting-started/README.md index 4ec2b9793..c877e4387 100644 --- a/translations/en/1-getting-started/README.md +++ b/translations/en/1-getting-started/README.md @@ -1,12 +1,3 @@ - # Getting Started with IoT In this section of the curriculum, you will be introduced to the Internet of Things and learn the basic concepts, including creating your first 'Hello World' IoT project that connects to the cloud. This project is a nightlight that turns on when the light levels measured by a sensor decrease. diff --git a/translations/en/1-getting-started/lessons/1-introduction-to-iot/README.md b/translations/en/1-getting-started/lessons/1-introduction-to-iot/README.md index 8d48fb95d..5a8f8ac1e 100644 --- a/translations/en/1-getting-started/lessons/1-introduction-to-iot/README.md +++ b/translations/en/1-getting-started/lessons/1-introduction-to-iot/README.md @@ -1,12 +1,3 @@ - # Introduction to IoT ![A sketchnote overview of this lesson](../../../../../translated_images/en/lesson-1.2606670fa61ee904687da5d6fa4e726639d524d064c895117da1b95b9ff6251d.jpg) diff --git a/translations/en/1-getting-started/lessons/1-introduction-to-iot/assignment.md b/translations/en/1-getting-started/lessons/1-introduction-to-iot/assignment.md index f03885eb3..c9f77fe0c 100644 --- a/translations/en/1-getting-started/lessons/1-introduction-to-iot/assignment.md +++ b/translations/en/1-getting-started/lessons/1-introduction-to-iot/assignment.md @@ -1,12 +1,3 @@ - # Explore an IoT Project ## Instructions diff --git a/translations/en/1-getting-started/lessons/1-introduction-to-iot/pi.md b/translations/en/1-getting-started/lessons/1-introduction-to-iot/pi.md index c9c489a30..c419a2715 100644 --- a/translations/en/1-getting-started/lessons/1-introduction-to-iot/pi.md +++ b/translations/en/1-getting-started/lessons/1-introduction-to-iot/pi.md @@ -1,12 +1,3 @@ - # Raspberry Pi The [Raspberry Pi](https://raspberrypi.org) is a single-board computer. You can connect sensors and actuators using a variety of devices and ecosystems. For these lessons, you'll use a hardware ecosystem called [Grove](https://www.seeedstudio.com/category/Grove-c-1003.html). You'll program your Pi and interact with the Grove sensors using Python. diff --git a/translations/en/1-getting-started/lessons/1-introduction-to-iot/virtual-device.md b/translations/en/1-getting-started/lessons/1-introduction-to-iot/virtual-device.md index 500e77eef..1085464be 100644 --- a/translations/en/1-getting-started/lessons/1-introduction-to-iot/virtual-device.md +++ b/translations/en/1-getting-started/lessons/1-introduction-to-iot/virtual-device.md @@ -1,12 +1,3 @@ - # Virtual single-board computer Instead of buying an IoT device along with sensors and actuators, you can use your computer to simulate IoT hardware. The [CounterFit project](https://github.com/CounterFit-IoT/CounterFit) allows you to run an app locally that simulates IoT hardware like sensors and actuators, and access them from local Python code written in the same way as you would on a Raspberry Pi with physical hardware. diff --git a/translations/en/1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md b/translations/en/1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md index f870c6a73..b63ea157b 100644 --- a/translations/en/1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md +++ b/translations/en/1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md @@ -1,12 +1,3 @@ - # Wio Terminal The [Wio Terminal from Seeed Studios](https://www.seeedstudio.com/Wio-Terminal-p-4509.html) is an Arduino-compatible microcontroller that comes with built-in WiFi, sensors, and actuators. It also has ports to connect additional sensors and actuators using a hardware ecosystem called [Grove](https://www.seeedstudio.com/category/Grove-c-1003.html). diff --git a/translations/en/1-getting-started/lessons/2-deeper-dive/README.md b/translations/en/1-getting-started/lessons/2-deeper-dive/README.md index 8f7a614b7..43862d56f 100644 --- a/translations/en/1-getting-started/lessons/2-deeper-dive/README.md +++ b/translations/en/1-getting-started/lessons/2-deeper-dive/README.md @@ -1,12 +1,3 @@ - # A deeper dive into IoT ![A sketchnote overview of this lesson](../../../../../translated_images/en/lesson-2.324b0580d620c25e0a24fb7fddfc0b29a846dd4b82c08e7a9466d580ee78ce51.jpg) diff --git a/translations/en/1-getting-started/lessons/2-deeper-dive/assignment.md b/translations/en/1-getting-started/lessons/2-deeper-dive/assignment.md index 7ad4b9488..5f2fcea4e 100644 --- a/translations/en/1-getting-started/lessons/2-deeper-dive/assignment.md +++ b/translations/en/1-getting-started/lessons/2-deeper-dive/assignment.md @@ -1,12 +1,3 @@ - # Compare and contrast microcontrollers and single-board computers ## Instructions diff --git a/translations/en/1-getting-started/lessons/3-sensors-and-actuators/README.md b/translations/en/1-getting-started/lessons/3-sensors-and-actuators/README.md index ba2118f1d..115625366 100644 --- a/translations/en/1-getting-started/lessons/3-sensors-and-actuators/README.md +++ b/translations/en/1-getting-started/lessons/3-sensors-and-actuators/README.md @@ -1,12 +1,3 @@ - # Interact with the physical world using sensors and actuators ![A sketchnote overview of this lesson](../../../../../translated_images/en/lesson-3.cc3b7b4cd646de598698cce043c0393fd62ef42bac2eaf60e61272cd844250f4.jpg) diff --git a/translations/en/1-getting-started/lessons/3-sensors-and-actuators/assignment.md b/translations/en/1-getting-started/lessons/3-sensors-and-actuators/assignment.md index 5a263e7d4..218f77e2f 100644 --- a/translations/en/1-getting-started/lessons/3-sensors-and-actuators/assignment.md +++ b/translations/en/1-getting-started/lessons/3-sensors-and-actuators/assignment.md @@ -1,12 +1,3 @@ - # Research sensors and actuators ## Instructions diff --git a/translations/en/1-getting-started/lessons/3-sensors-and-actuators/pi-actuator.md b/translations/en/1-getting-started/lessons/3-sensors-and-actuators/pi-actuator.md index a6c524499..6e5f9505a 100644 --- a/translations/en/1-getting-started/lessons/3-sensors-and-actuators/pi-actuator.md +++ b/translations/en/1-getting-started/lessons/3-sensors-and-actuators/pi-actuator.md @@ -1,12 +1,3 @@ - # Build a nightlight - Raspberry Pi In this part of the lesson, you will add an LED to your Raspberry Pi and use it to create a nightlight. diff --git a/translations/en/1-getting-started/lessons/3-sensors-and-actuators/pi-sensor.md b/translations/en/1-getting-started/lessons/3-sensors-and-actuators/pi-sensor.md index e38e09690..2ddf51b91 100644 --- a/translations/en/1-getting-started/lessons/3-sensors-and-actuators/pi-sensor.md +++ b/translations/en/1-getting-started/lessons/3-sensors-and-actuators/pi-sensor.md @@ -1,12 +1,3 @@ - # Build a nightlight - Raspberry Pi In this part of the lesson, you will add a light sensor to your Raspberry Pi. diff --git a/translations/en/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-actuator.md b/translations/en/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-actuator.md index 397eae210..d6ec342d4 100644 --- a/translations/en/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-actuator.md +++ b/translations/en/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-actuator.md @@ -1,12 +1,3 @@ - # Build a nightlight - Virtual IoT Hardware In this part of the lesson, you will add an LED to your virtual IoT device and use it to create a nightlight. diff --git a/translations/en/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-sensor.md b/translations/en/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-sensor.md index 3e671b791..0d575037c 100644 --- a/translations/en/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-sensor.md +++ b/translations/en/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-sensor.md @@ -1,12 +1,3 @@ - # Build a nightlight - Virtual IoT Hardware In this part of the lesson, you will add a light sensor to your virtual IoT device. diff --git a/translations/en/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-actuator.md b/translations/en/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-actuator.md index 6413a9aac..a057fa714 100644 --- a/translations/en/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-actuator.md +++ b/translations/en/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-actuator.md @@ -1,12 +1,3 @@ - # Build a nightlight - Wio Terminal In this part of the lesson, you will add an LED to your Wio Terminal and use it to create a nightlight. diff --git a/translations/en/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-sensor.md b/translations/en/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-sensor.md index c10ae11d4..8530bf420 100644 --- a/translations/en/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-sensor.md +++ b/translations/en/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-sensor.md @@ -1,12 +1,3 @@ - # Add a sensor - Wio Terminal In this part of the lesson, you will use the light sensor on your Wio Terminal. diff --git a/translations/en/1-getting-started/lessons/4-connect-internet/README.md b/translations/en/1-getting-started/lessons/4-connect-internet/README.md index 664cc49bd..79e341f02 100644 --- a/translations/en/1-getting-started/lessons/4-connect-internet/README.md +++ b/translations/en/1-getting-started/lessons/4-connect-internet/README.md @@ -1,12 +1,3 @@ - # Connect your device to the Internet ![A sketchnote overview of this lesson](../../../../../translated_images/en/lesson-4.7344e074ea68fa545fd320b12dce36d72dd62d28c3b4596cb26cf315f434b98f.jpg) diff --git a/translations/en/1-getting-started/lessons/4-connect-internet/assignment.md b/translations/en/1-getting-started/lessons/4-connect-internet/assignment.md index 9c947da4a..1251fdd3e 100644 --- a/translations/en/1-getting-started/lessons/4-connect-internet/assignment.md +++ b/translations/en/1-getting-started/lessons/4-connect-internet/assignment.md @@ -1,12 +1,3 @@ - # Compare and contrast MQTT with other communication protocols ## Instructions diff --git a/translations/en/1-getting-started/lessons/4-connect-internet/single-board-computer-commands.md b/translations/en/1-getting-started/lessons/4-connect-internet/single-board-computer-commands.md index 41960e0bd..8fc1fd2cc 100644 --- a/translations/en/1-getting-started/lessons/4-connect-internet/single-board-computer-commands.md +++ b/translations/en/1-getting-started/lessons/4-connect-internet/single-board-computer-commands.md @@ -1,12 +1,3 @@ - # Control your nightlight over the Internet - Virtual IoT Hardware and Raspberry Pi In this part of the lesson, you will subscribe to commands sent from an MQTT broker to your Raspberry Pi or virtual IoT device. diff --git a/translations/en/1-getting-started/lessons/4-connect-internet/single-board-computer-mqtt.md b/translations/en/1-getting-started/lessons/4-connect-internet/single-board-computer-mqtt.md index 7c14b486d..83452d79c 100644 --- a/translations/en/1-getting-started/lessons/4-connect-internet/single-board-computer-mqtt.md +++ b/translations/en/1-getting-started/lessons/4-connect-internet/single-board-computer-mqtt.md @@ -1,12 +1,3 @@ - # Control your nightlight over the Internet - Virtual IoT Hardware and Raspberry Pi The IoT device needs to be programmed to communicate with *test.mosquitto.org* using MQTT to send telemetry data with the light sensor readings and receive commands to control the LED. diff --git a/translations/en/1-getting-started/lessons/4-connect-internet/single-board-computer-telemetry.md b/translations/en/1-getting-started/lessons/4-connect-internet/single-board-computer-telemetry.md index 164b9f855..967e69905 100644 --- a/translations/en/1-getting-started/lessons/4-connect-internet/single-board-computer-telemetry.md +++ b/translations/en/1-getting-started/lessons/4-connect-internet/single-board-computer-telemetry.md @@ -1,12 +1,3 @@ - # Control your nightlight over the Internet - Virtual IoT Hardware and Raspberry Pi In this part of the lesson, you will send telemetry data with light levels from your Raspberry Pi or virtual IoT device to an MQTT broker. diff --git a/translations/en/1-getting-started/lessons/4-connect-internet/wio-terminal-commands.md b/translations/en/1-getting-started/lessons/4-connect-internet/wio-terminal-commands.md index 883b8bffa..aa968d3dd 100644 --- a/translations/en/1-getting-started/lessons/4-connect-internet/wio-terminal-commands.md +++ b/translations/en/1-getting-started/lessons/4-connect-internet/wio-terminal-commands.md @@ -1,12 +1,3 @@ - # Control your nightlight over the Internet - Wio Terminal In this part of the lesson, you will configure your Wio Terminal to receive and respond to commands sent from an MQTT broker. diff --git a/translations/en/1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md b/translations/en/1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md index 39fcc5d7d..d18bbc7d0 100644 --- a/translations/en/1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md +++ b/translations/en/1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md @@ -1,12 +1,3 @@ - # Control your nightlight over the Internet - Wio Terminal The IoT device needs to be programmed to communicate with *test.mosquitto.org* using MQTT to send telemetry data based on the light sensor readings and receive commands to control the LED. diff --git a/translations/en/1-getting-started/lessons/4-connect-internet/wio-terminal-telemetry.md b/translations/en/1-getting-started/lessons/4-connect-internet/wio-terminal-telemetry.md index 1a480f95e..3f3079abe 100644 --- a/translations/en/1-getting-started/lessons/4-connect-internet/wio-terminal-telemetry.md +++ b/translations/en/1-getting-started/lessons/4-connect-internet/wio-terminal-telemetry.md @@ -1,12 +1,3 @@ - # Control your nightlight over the Internet - Wio Terminal In this part of the lesson, you will send telemetry data with light levels from your Wio Terminal to the MQTT broker. diff --git a/translations/en/2-farm/README.md b/translations/en/2-farm/README.md index 000db32f9..1a623ca9a 100644 --- a/translations/en/2-farm/README.md +++ b/translations/en/2-farm/README.md @@ -1,12 +1,3 @@ - # Farming with IoT As the global population increases, so does the pressure on agriculture. While the amount of available land remains constant, the changing climate adds further challenges for farmers, particularly the 2 billion [subsistence farmers](https://wikipedia.org/wiki/Subsistence_agriculture) who depend on their crops for food and to support their families. IoT can assist farmers in making smarter decisions about what to grow and when to harvest, boost crop yields, reduce manual labor, and identify and address pest issues. diff --git a/translations/en/2-farm/lessons/1-predict-plant-growth/README.md b/translations/en/2-farm/lessons/1-predict-plant-growth/README.md index 4b094516b..9e615d720 100644 --- a/translations/en/2-farm/lessons/1-predict-plant-growth/README.md +++ b/translations/en/2-farm/lessons/1-predict-plant-growth/README.md @@ -1,12 +1,3 @@ - This code extracts the temperature from the telemetry message and gets the current date and time. It then appends a new row to the CSV file with the date and temperature. 1. Run the server code and ensure it is receiving telemetry from your IoT device. Check the CSV file to confirm that temperature data is being saved correctly. diff --git a/translations/en/2-farm/lessons/1-predict-plant-growth/assignment.md b/translations/en/2-farm/lessons/1-predict-plant-growth/assignment.md index 06cade642..685521f69 100644 --- a/translations/en/2-farm/lessons/1-predict-plant-growth/assignment.md +++ b/translations/en/2-farm/lessons/1-predict-plant-growth/assignment.md @@ -1,12 +1,3 @@ - # Visualize GDD Data Using a Jupyter Notebook ## Instructions diff --git a/translations/en/2-farm/lessons/1-predict-plant-growth/pi-temp.md b/translations/en/2-farm/lessons/1-predict-plant-growth/pi-temp.md index 96b1d9a63..aec270c4b 100644 --- a/translations/en/2-farm/lessons/1-predict-plant-growth/pi-temp.md +++ b/translations/en/2-farm/lessons/1-predict-plant-growth/pi-temp.md @@ -1,12 +1,3 @@ - # Measure temperature - Raspberry Pi In this part of the lesson, you will add a temperature sensor to your Raspberry Pi. diff --git a/translations/en/2-farm/lessons/1-predict-plant-growth/single-board-computer-temp-publish.md b/translations/en/2-farm/lessons/1-predict-plant-growth/single-board-computer-temp-publish.md index 4a795bf83..6f5082453 100644 --- a/translations/en/2-farm/lessons/1-predict-plant-growth/single-board-computer-temp-publish.md +++ b/translations/en/2-farm/lessons/1-predict-plant-growth/single-board-computer-temp-publish.md @@ -1,12 +1,3 @@ - # Publish temperature - Virtual IoT Hardware and Raspberry Pi In this part of the lesson, you will send the temperature values detected by the Raspberry Pi or Virtual IoT Device via MQTT so they can later be used to calculate GDD. diff --git a/translations/en/2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md b/translations/en/2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md index 5279d6359..81a9ed0ec 100644 --- a/translations/en/2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md +++ b/translations/en/2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md @@ -1,12 +1,3 @@ - # Measure temperature - Virtual IoT Hardware In this part of the lesson, you will add a temperature sensor to your virtual IoT device. diff --git a/translations/en/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp-publish.md b/translations/en/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp-publish.md index 0127ed2fa..8eb8dc03e 100644 --- a/translations/en/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp-publish.md +++ b/translations/en/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp-publish.md @@ -1,12 +1,3 @@ - # Publish temperature - Wio Terminal In this part of the lesson, you will send the temperature values detected by the Wio Terminal via MQTT so they can later be used to calculate GDD. diff --git a/translations/en/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md b/translations/en/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md index 18a72f625..f8fa10447 100644 --- a/translations/en/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md +++ b/translations/en/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md @@ -1,12 +1,3 @@ - # Measure temperature - Wio Terminal In this part of the lesson, you will add a temperature sensor to your Wio Terminal and read temperature values from it. diff --git a/translations/en/2-farm/lessons/2-detect-soil-moisture/README.md b/translations/en/2-farm/lessons/2-detect-soil-moisture/README.md index bd4aa4ffe..8d3065a04 100644 --- a/translations/en/2-farm/lessons/2-detect-soil-moisture/README.md +++ b/translations/en/2-farm/lessons/2-detect-soil-moisture/README.md @@ -1,12 +1,3 @@ - C, pronounced *I-squared-C*, is a multi-controller, multi-peripheral protocol, where any connected device can act as a controller or peripheral, communicating over the I²C bus (the name for the communication system that transfers data). Data is sent as addressed packets, with each packet containing the address of the connected device it is intended for. > 💁 This model used to be referred to as master/slave, but this terminology is being phased out due to its association with slavery. The [Open Source Hardware Association has adopted controller/peripheral](https://www.oshwa.org/a-resolution-to-redefine-spi-signal-names/), but you may still encounter references to the old terminology. diff --git a/translations/en/2-farm/lessons/2-detect-soil-moisture/assignment.md b/translations/en/2-farm/lessons/2-detect-soil-moisture/assignment.md index 3c20f7c21..9dafbc03e 100644 --- a/translations/en/2-farm/lessons/2-detect-soil-moisture/assignment.md +++ b/translations/en/2-farm/lessons/2-detect-soil-moisture/assignment.md @@ -1,12 +1,3 @@ - # Calibrate your sensor ## Instructions diff --git a/translations/en/2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md b/translations/en/2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md index eed083174..e07162bec 100644 --- a/translations/en/2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md +++ b/translations/en/2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md @@ -1,12 +1,3 @@ - # Measure soil moisture - Raspberry Pi In this part of the lesson, you will add a capacitive soil moisture sensor to your Raspberry Pi and read values from it. diff --git a/translations/en/2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md b/translations/en/2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md index f667e80bd..429f547b9 100644 --- a/translations/en/2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md +++ b/translations/en/2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md @@ -1,12 +1,3 @@ - # Measure soil moisture - Virtual IoT Hardware In this part of the lesson, you will add a capacitive soil moisture sensor to your virtual IoT device and read values from it. diff --git a/translations/en/2-farm/lessons/2-detect-soil-moisture/wio-terminal-soil-moisture.md b/translations/en/2-farm/lessons/2-detect-soil-moisture/wio-terminal-soil-moisture.md index 1feb20548..067c8df6b 100644 --- a/translations/en/2-farm/lessons/2-detect-soil-moisture/wio-terminal-soil-moisture.md +++ b/translations/en/2-farm/lessons/2-detect-soil-moisture/wio-terminal-soil-moisture.md @@ -1,12 +1,3 @@ - # Measure soil moisture - Wio Terminal In this part of the lesson, you will add a capacitive soil moisture sensor to your Wio Terminal and read values from it. diff --git a/translations/en/2-farm/lessons/3-automated-plant-watering/README.md b/translations/en/2-farm/lessons/3-automated-plant-watering/README.md index 48767392c..b51ed88a7 100644 --- a/translations/en/2-farm/lessons/3-automated-plant-watering/README.md +++ b/translations/en/2-farm/lessons/3-automated-plant-watering/README.md @@ -1,12 +1,3 @@ - # Automated plant watering ![A sketchnote overview of this lesson](../../../../../translated_images/en/lesson-7.30b5f577d3cb8e031238751475cb519c7d6dbaea261b5df4643d086ffb2a03bb.jpg) diff --git a/translations/en/2-farm/lessons/3-automated-plant-watering/assignment.md b/translations/en/2-farm/lessons/3-automated-plant-watering/assignment.md index dc93d8623..87b53eb77 100644 --- a/translations/en/2-farm/lessons/3-automated-plant-watering/assignment.md +++ b/translations/en/2-farm/lessons/3-automated-plant-watering/assignment.md @@ -1,12 +1,3 @@ - # Build a more efficient watering cycle ## Instructions diff --git a/translations/en/2-farm/lessons/3-automated-plant-watering/pi-relay.md b/translations/en/2-farm/lessons/3-automated-plant-watering/pi-relay.md index cc6893496..89bb9f8c5 100644 --- a/translations/en/2-farm/lessons/3-automated-plant-watering/pi-relay.md +++ b/translations/en/2-farm/lessons/3-automated-plant-watering/pi-relay.md @@ -1,12 +1,3 @@ - # Control a relay - Raspberry Pi In this part of the lesson, you will add a relay to your Raspberry Pi alongside the soil moisture sensor and control it based on the soil moisture level. diff --git a/translations/en/2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md b/translations/en/2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md index 4c833d170..6f2e6ff37 100644 --- a/translations/en/2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md +++ b/translations/en/2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md @@ -1,12 +1,3 @@ - # Control a Relay - Virtual IoT Hardware In this part of the lesson, you will add a relay to your virtual IoT device alongside the soil moisture sensor and control it based on the soil moisture level. diff --git a/translations/en/2-farm/lessons/3-automated-plant-watering/wio-terminal-relay.md b/translations/en/2-farm/lessons/3-automated-plant-watering/wio-terminal-relay.md index 577f213f1..3884d20fe 100644 --- a/translations/en/2-farm/lessons/3-automated-plant-watering/wio-terminal-relay.md +++ b/translations/en/2-farm/lessons/3-automated-plant-watering/wio-terminal-relay.md @@ -1,12 +1,3 @@ - # Control a relay - Wio Terminal In this part of the lesson, you will add a relay to your Wio Terminal alongside the soil moisture sensor and control it based on the soil moisture level. diff --git a/translations/en/2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md b/translations/en/2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md index 039facaae..00d106162 100644 --- a/translations/en/2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md +++ b/translations/en/2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md @@ -1,12 +1,3 @@ - # Migrate your plant to the cloud ![A sketchnote overview of this lesson](../../../../../translated_images/en/lesson-8.3f21f3c11159e6a0a376351973ea5724d5de68fa23b4288853a174bed9ac48c3.jpg) diff --git a/translations/en/2-farm/lessons/4-migrate-your-plant-to-the-cloud/assignment.md b/translations/en/2-farm/lessons/4-migrate-your-plant-to-the-cloud/assignment.md index 33166ed1e..6bf32ef65 100644 --- a/translations/en/2-farm/lessons/4-migrate-your-plant-to-the-cloud/assignment.md +++ b/translations/en/2-farm/lessons/4-migrate-your-plant-to-the-cloud/assignment.md @@ -1,12 +1,3 @@ - # Learn about cloud services ## Instructions diff --git a/translations/en/2-farm/lessons/4-migrate-your-plant-to-the-cloud/single-board-computer-connect-hub.md b/translations/en/2-farm/lessons/4-migrate-your-plant-to-the-cloud/single-board-computer-connect-hub.md index e0d002d65..974bc3a6b 100644 --- a/translations/en/2-farm/lessons/4-migrate-your-plant-to-the-cloud/single-board-computer-connect-hub.md +++ b/translations/en/2-farm/lessons/4-migrate-your-plant-to-the-cloud/single-board-computer-connect-hub.md @@ -1,12 +1,3 @@ - # Connect your IoT device to the cloud - Virtual IoT Hardware and Raspberry Pi In this part of the lesson, you will connect your virtual IoT device or Raspberry Pi to your IoT Hub to send telemetry data and receive commands. diff --git a/translations/en/2-farm/lessons/4-migrate-your-plant-to-the-cloud/wio-terminal-connect-hub.md b/translations/en/2-farm/lessons/4-migrate-your-plant-to-the-cloud/wio-terminal-connect-hub.md index 249dab875..1660091b9 100644 --- a/translations/en/2-farm/lessons/4-migrate-your-plant-to-the-cloud/wio-terminal-connect-hub.md +++ b/translations/en/2-farm/lessons/4-migrate-your-plant-to-the-cloud/wio-terminal-connect-hub.md @@ -1,12 +1,3 @@ - # Connect your IoT device to the cloud - Wio Terminal In this part of the lesson, you will connect your Wio Terminal to your IoT Hub to send telemetry data and receive commands. diff --git a/translations/en/2-farm/lessons/5-migrate-application-to-the-cloud/README.md b/translations/en/2-farm/lessons/5-migrate-application-to-the-cloud/README.md index f2b4ecbc1..5fffa8cdf 100644 --- a/translations/en/2-farm/lessons/5-migrate-application-to-the-cloud/README.md +++ b/translations/en/2-farm/lessons/5-migrate-application-to-the-cloud/README.md @@ -1,12 +1,3 @@ - # Migrate your application logic to the cloud ![A sketchnote overview of this lesson](../../../../../translated_images/en/lesson-9.dfe99c8e891f48e179724520da9f5794392cf9a625079281ccdcbf09bd85e1b6.jpg) diff --git a/translations/en/2-farm/lessons/5-migrate-application-to-the-cloud/assignment.md b/translations/en/2-farm/lessons/5-migrate-application-to-the-cloud/assignment.md index c347217be..bfdb7df55 100644 --- a/translations/en/2-farm/lessons/5-migrate-application-to-the-cloud/assignment.md +++ b/translations/en/2-farm/lessons/5-migrate-application-to-the-cloud/assignment.md @@ -1,12 +1,3 @@ - # Add manual relay control ## Instructions diff --git a/translations/en/2-farm/lessons/6-keep-your-plant-secure/README.md b/translations/en/2-farm/lessons/6-keep-your-plant-secure/README.md index ea0718da2..59eee68ab 100644 --- a/translations/en/2-farm/lessons/6-keep-your-plant-secure/README.md +++ b/translations/en/2-farm/lessons/6-keep-your-plant-secure/README.md @@ -1,12 +1,3 @@ - # Keep your plant secure ![A sketchnote overview of this lesson](../../../../../translated_images/en/lesson-10.829c86b80b9403bb770929ee553a1d293afe50dc23121aaf9be144673ae012cc.jpg) diff --git a/translations/en/2-farm/lessons/6-keep-your-plant-secure/assignment.md b/translations/en/2-farm/lessons/6-keep-your-plant-secure/assignment.md index b4a6695af..da6e8b734 100644 --- a/translations/en/2-farm/lessons/6-keep-your-plant-secure/assignment.md +++ b/translations/en/2-farm/lessons/6-keep-your-plant-secure/assignment.md @@ -1,12 +1,3 @@ - # Build a new IoT device ## Instructions diff --git a/translations/en/2-farm/lessons/6-keep-your-plant-secure/single-board-computer-x509.md b/translations/en/2-farm/lessons/6-keep-your-plant-secure/single-board-computer-x509.md index 0954aeb7e..374dbb2ad 100644 --- a/translations/en/2-farm/lessons/6-keep-your-plant-secure/single-board-computer-x509.md +++ b/translations/en/2-farm/lessons/6-keep-your-plant-secure/single-board-computer-x509.md @@ -1,12 +1,3 @@ - # Use the X.509 certificate in your device code - Virtual IoT Hardware and Raspberry Pi In this part of the lesson, you will connect your virtual IoT device or Raspberry Pi to your IoT Hub using the X.509 certificate. diff --git a/translations/en/2-farm/lessons/6-keep-your-plant-secure/wio-terminal-x509.md b/translations/en/2-farm/lessons/6-keep-your-plant-secure/wio-terminal-x509.md index 23b29b1bb..350858a01 100644 --- a/translations/en/2-farm/lessons/6-keep-your-plant-secure/wio-terminal-x509.md +++ b/translations/en/2-farm/lessons/6-keep-your-plant-secure/wio-terminal-x509.md @@ -1,12 +1,3 @@ - # Use the X.509 certificate in your device code - Wio Terminal At the time of writing, the Azure Arduino SDK does not support X.509 certificates. If you want to experiment with X.509 certificates, you can refer to the [Virtual IoT device instructions using the Python SDK](single-board-computer-x509.md) diff --git a/translations/en/3-transport/README.md b/translations/en/3-transport/README.md index 126839e75..5cf6dd693 100644 --- a/translations/en/3-transport/README.md +++ b/translations/en/3-transport/README.md @@ -1,12 +1,3 @@ - # Transport from farm to factory - using IoT to track food deliveries Many farmers grow food to sell—either they are commercial farmers who sell everything they grow, or they are subsistence farmers who sell their surplus to buy necessities. Somehow, the food needs to get from the farm to the consumer, and this usually involves bulk transport from farms to hubs or processing plants, and then to stores. For example, a tomato farmer will harvest tomatoes, pack them into boxes, load the boxes onto a truck, and deliver them to a processing plant. The tomatoes are then sorted and delivered to consumers as processed food, retail products, or served in restaurants. diff --git a/translations/en/3-transport/lessons/1-location-tracking/README.md b/translations/en/3-transport/lessons/1-location-tracking/README.md index e1708cfe6..4dc200417 100644 --- a/translations/en/3-transport/lessons/1-location-tracking/README.md +++ b/translations/en/3-transport/lessons/1-location-tracking/README.md @@ -1,12 +1,3 @@ - # Location tracking ![A sketchnote overview of this lesson](../../../../../translated_images/en/lesson-11.9fddbac4b664c6d50ab7ac9bb32f1fc3f945f03760e72f7f43938073762fb017.jpg) diff --git a/translations/en/3-transport/lessons/1-location-tracking/assignment.md b/translations/en/3-transport/lessons/1-location-tracking/assignment.md index a6c3a6a67..a28550d5d 100644 --- a/translations/en/3-transport/lessons/1-location-tracking/assignment.md +++ b/translations/en/3-transport/lessons/1-location-tracking/assignment.md @@ -1,12 +1,3 @@ - # Explore Additional GPS Data ## Instructions diff --git a/translations/en/3-transport/lessons/1-location-tracking/pi-gps-sensor.md b/translations/en/3-transport/lessons/1-location-tracking/pi-gps-sensor.md index 39b17d097..0a42e2fb8 100644 --- a/translations/en/3-transport/lessons/1-location-tracking/pi-gps-sensor.md +++ b/translations/en/3-transport/lessons/1-location-tracking/pi-gps-sensor.md @@ -1,12 +1,3 @@ - # Read GPS data - Raspberry Pi In this part of the lesson, you will add a GPS sensor to your Raspberry Pi and read data from it. diff --git a/translations/en/3-transport/lessons/1-location-tracking/single-board-computer-gps-decode.md b/translations/en/3-transport/lessons/1-location-tracking/single-board-computer-gps-decode.md index c7043257c..558db4aef 100644 --- a/translations/en/3-transport/lessons/1-location-tracking/single-board-computer-gps-decode.md +++ b/translations/en/3-transport/lessons/1-location-tracking/single-board-computer-gps-decode.md @@ -1,12 +1,3 @@ - # Decode GPS data - Virtual IoT Hardware and Raspberry Pi In this part of the lesson, you will decode the NMEA messages read from the GPS sensor by the Raspberry Pi or Virtual IoT Device, and extract the latitude and longitude. diff --git a/translations/en/3-transport/lessons/1-location-tracking/virtual-device-gps-sensor.md b/translations/en/3-transport/lessons/1-location-tracking/virtual-device-gps-sensor.md index a444937cc..966df0d8d 100644 --- a/translations/en/3-transport/lessons/1-location-tracking/virtual-device-gps-sensor.md +++ b/translations/en/3-transport/lessons/1-location-tracking/virtual-device-gps-sensor.md @@ -1,12 +1,3 @@ - # Read GPS Data - Virtual IoT Hardware In this part of the lesson, you will add a GPS sensor to your virtual IoT device and read values from it. diff --git a/translations/en/3-transport/lessons/1-location-tracking/wio-terminal-gps-decode.md b/translations/en/3-transport/lessons/1-location-tracking/wio-terminal-gps-decode.md index a9a18d8b4..064066597 100644 --- a/translations/en/3-transport/lessons/1-location-tracking/wio-terminal-gps-decode.md +++ b/translations/en/3-transport/lessons/1-location-tracking/wio-terminal-gps-decode.md @@ -1,12 +1,3 @@ - # Decode GPS data - Wio Terminal In this part of the lesson, you will decode the NMEA messages read from the GPS sensor by the Wio Terminal and extract the latitude and longitude. diff --git a/translations/en/3-transport/lessons/1-location-tracking/wio-terminal-gps-sensor.md b/translations/en/3-transport/lessons/1-location-tracking/wio-terminal-gps-sensor.md index 0120fad45..668b8096c 100644 --- a/translations/en/3-transport/lessons/1-location-tracking/wio-terminal-gps-sensor.md +++ b/translations/en/3-transport/lessons/1-location-tracking/wio-terminal-gps-sensor.md @@ -1,12 +1,3 @@ - # Read GPS data - Wio Terminal In this part of the lesson, you will add a GPS sensor to your Wio Terminal and read values from it. diff --git a/translations/en/3-transport/lessons/2-store-location-data/README.md b/translations/en/3-transport/lessons/2-store-location-data/README.md index 47ee37ddc..4dc50d3cb 100644 --- a/translations/en/3-transport/lessons/2-store-location-data/README.md +++ b/translations/en/3-transport/lessons/2-store-location-data/README.md @@ -1,12 +1,3 @@ - # Store location data ![A sketchnote overview of this lesson](../../../../../translated_images/en/lesson-12.ca7f53039712a3ec14ad6474d8445361c84adab643edc53fa6269b77895606bb.jpg) diff --git a/translations/en/3-transport/lessons/2-store-location-data/assignment.md b/translations/en/3-transport/lessons/2-store-location-data/assignment.md index 70d9a7860..f093ead9b 100644 --- a/translations/en/3-transport/lessons/2-store-location-data/assignment.md +++ b/translations/en/3-transport/lessons/2-store-location-data/assignment.md @@ -1,12 +1,3 @@ - # Investigate function bindings ## Instructions diff --git a/translations/en/3-transport/lessons/3-visualize-location-data/README.md b/translations/en/3-transport/lessons/3-visualize-location-data/README.md index daf660d5c..b00913c69 100644 --- a/translations/en/3-transport/lessons/3-visualize-location-data/README.md +++ b/translations/en/3-transport/lessons/3-visualize-location-data/README.md @@ -1,12 +1,3 @@ - # Visualize location data ![A sketchnote overview of this lesson](../../../../../translated_images/en/lesson-13.a259db1485021be7d7c72e90842fbe0ab977529e8684c179b5fb1ea75e92b3ef.jpg) diff --git a/translations/en/3-transport/lessons/3-visualize-location-data/assignment.md b/translations/en/3-transport/lessons/3-visualize-location-data/assignment.md index 2712d8342..ecaceaabf 100644 --- a/translations/en/3-transport/lessons/3-visualize-location-data/assignment.md +++ b/translations/en/3-transport/lessons/3-visualize-location-data/assignment.md @@ -1,12 +1,3 @@ - # Deploy your app ## Instructions diff --git a/translations/en/3-transport/lessons/4-geofences/README.md b/translations/en/3-transport/lessons/4-geofences/README.md index 1e935e6be..5a2849239 100644 --- a/translations/en/3-transport/lessons/4-geofences/README.md +++ b/translations/en/3-transport/lessons/4-geofences/README.md @@ -1,12 +1,3 @@ - # Geofences ![A sketchnote overview of this lesson](../../../../../translated_images/en/lesson-14.63980c5150ae3c153e770fb71d044c1845dce79248d86bed9fc525adf3ede73c.jpg) diff --git a/translations/en/3-transport/lessons/4-geofences/assignment.md b/translations/en/3-transport/lessons/4-geofences/assignment.md index e2f3d4baa..6ff56e070 100644 --- a/translations/en/3-transport/lessons/4-geofences/assignment.md +++ b/translations/en/3-transport/lessons/4-geofences/assignment.md @@ -1,12 +1,3 @@ - # Send notifications using Twilio ## Instructions diff --git a/translations/en/4-manufacturing/README.md b/translations/en/4-manufacturing/README.md index e80db1a81..6f063c820 100644 --- a/translations/en/4-manufacturing/README.md +++ b/translations/en/4-manufacturing/README.md @@ -1,12 +1,3 @@ - # Manufacturing and processing - using IoT to improve the processing of food Once food reaches a central hub or processing plant, it doesn’t always get shipped directly to supermarkets. Often, the food undergoes several processing steps, such as being sorted by quality. This process used to be done manually—it would start in the field, where pickers would only harvest ripe fruit, and then continue at the factory, where the fruit would travel along a conveyor belt, and employees would manually remove any bruised or rotten pieces. Having picked and sorted strawberries myself as a summer job during school, I can confirm that this is not an enjoyable task. diff --git a/translations/en/4-manufacturing/lessons/1-train-fruit-detector/README.md b/translations/en/4-manufacturing/lessons/1-train-fruit-detector/README.md index 2bb615015..6ca703882 100644 --- a/translations/en/4-manufacturing/lessons/1-train-fruit-detector/README.md +++ b/translations/en/4-manufacturing/lessons/1-train-fruit-detector/README.md @@ -1,12 +1,3 @@ - # Train a fruit quality detector ![A sketchnote overview of this lesson](../../../../../translated_images/en/lesson-15.843d21afdc6fb2bba70cd9db7b7d2f91598859fafda2078b0bdc44954194b6c0.jpg) diff --git a/translations/en/4-manufacturing/lessons/1-train-fruit-detector/assignment.md b/translations/en/4-manufacturing/lessons/1-train-fruit-detector/assignment.md index 32b88772c..dd335166d 100644 --- a/translations/en/4-manufacturing/lessons/1-train-fruit-detector/assignment.md +++ b/translations/en/4-manufacturing/lessons/1-train-fruit-detector/assignment.md @@ -1,12 +1,3 @@ - # Train your classifier for multiple fruits and vegetables ## Instructions diff --git a/translations/en/4-manufacturing/lessons/2-check-fruit-from-device/README.md b/translations/en/4-manufacturing/lessons/2-check-fruit-from-device/README.md index 8cc2bf1d2..185fd73ef 100644 --- a/translations/en/4-manufacturing/lessons/2-check-fruit-from-device/README.md +++ b/translations/en/4-manufacturing/lessons/2-check-fruit-from-device/README.md @@ -1,12 +1,3 @@ - # Check fruit quality from an IoT device ![A sketchnote overview of this lesson](../../../../../translated_images/en/lesson-16.215daf18b00631fbdfd64c6fc2dc6044dff5d544288825d8076f9fb83d964c23.jpg) diff --git a/translations/en/4-manufacturing/lessons/2-check-fruit-from-device/assignment.md b/translations/en/4-manufacturing/lessons/2-check-fruit-from-device/assignment.md index b0637452b..dc28512cc 100644 --- a/translations/en/4-manufacturing/lessons/2-check-fruit-from-device/assignment.md +++ b/translations/en/4-manufacturing/lessons/2-check-fruit-from-device/assignment.md @@ -1,12 +1,3 @@ - # Respond to classification results ## Instructions diff --git a/translations/en/4-manufacturing/lessons/2-check-fruit-from-device/pi-camera.md b/translations/en/4-manufacturing/lessons/2-check-fruit-from-device/pi-camera.md index 8a8076b3a..8b97a89a0 100644 --- a/translations/en/4-manufacturing/lessons/2-check-fruit-from-device/pi-camera.md +++ b/translations/en/4-manufacturing/lessons/2-check-fruit-from-device/pi-camera.md @@ -1,12 +1,3 @@ - # Capture an image - Raspberry Pi In this part of the lesson, you will add a camera sensor to your Raspberry Pi and capture images with it. diff --git a/translations/en/4-manufacturing/lessons/2-check-fruit-from-device/single-board-computer-classify-image.md b/translations/en/4-manufacturing/lessons/2-check-fruit-from-device/single-board-computer-classify-image.md index ff2cfec2b..6f54f842c 100644 --- a/translations/en/4-manufacturing/lessons/2-check-fruit-from-device/single-board-computer-classify-image.md +++ b/translations/en/4-manufacturing/lessons/2-check-fruit-from-device/single-board-computer-classify-image.md @@ -1,12 +1,3 @@ - # Classify an image - Virtual IoT Hardware and Raspberry Pi In this part of the lesson, you will send the image captured by the camera to the Custom Vision service for classification. diff --git a/translations/en/4-manufacturing/lessons/2-check-fruit-from-device/virtual-device-camera.md b/translations/en/4-manufacturing/lessons/2-check-fruit-from-device/virtual-device-camera.md index dee4487aa..e08af2191 100644 --- a/translations/en/4-manufacturing/lessons/2-check-fruit-from-device/virtual-device-camera.md +++ b/translations/en/4-manufacturing/lessons/2-check-fruit-from-device/virtual-device-camera.md @@ -1,12 +1,3 @@ - # Capture an image - Virtual IoT Hardware In this part of the lesson, you will add a camera sensor to your virtual IoT device and read images from it. diff --git a/translations/en/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-camera.md b/translations/en/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-camera.md index 188b57375..a378bb6e1 100644 --- a/translations/en/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-camera.md +++ b/translations/en/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-camera.md @@ -1,12 +1,3 @@ - # Capture an image - Wio Terminal In this part of the lesson, you will add a camera to your Wio Terminal and capture images from it. diff --git a/translations/en/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-classify-image.md b/translations/en/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-classify-image.md index d4ff9d0db..e43b07188 100644 --- a/translations/en/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-classify-image.md +++ b/translations/en/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-classify-image.md @@ -1,12 +1,3 @@ - # Classify an image - Wio Terminal In this part of the lesson, you will send the image captured by the camera to the Custom Vision service to classify it. diff --git a/translations/en/4-manufacturing/lessons/3-run-fruit-detector-edge/README.md b/translations/en/4-manufacturing/lessons/3-run-fruit-detector-edge/README.md index 47113e776..4a1ef2f08 100644 --- a/translations/en/4-manufacturing/lessons/3-run-fruit-detector-edge/README.md +++ b/translations/en/4-manufacturing/lessons/3-run-fruit-detector-edge/README.md @@ -1,12 +1,3 @@ - # Run your fruit detector on the edge ![A sketchnote overview of this lesson](../../../../../translated_images/en/lesson-17.bc333c3c35ba8e42cce666cfffa82b915f787f455bd94e006aea2b6f2722421a.jpg) diff --git a/translations/en/4-manufacturing/lessons/3-run-fruit-detector-edge/assignment.md b/translations/en/4-manufacturing/lessons/3-run-fruit-detector-edge/assignment.md index 1e36b1afc..dbee463a6 100644 --- a/translations/en/4-manufacturing/lessons/3-run-fruit-detector-edge/assignment.md +++ b/translations/en/4-manufacturing/lessons/3-run-fruit-detector-edge/assignment.md @@ -1,12 +1,3 @@ - # Run other services on the edge ## Instructions diff --git a/translations/en/4-manufacturing/lessons/3-run-fruit-detector-edge/single-board-computer.md b/translations/en/4-manufacturing/lessons/3-run-fruit-detector-edge/single-board-computer.md index 8a3427713..cf4740f49 100644 --- a/translations/en/4-manufacturing/lessons/3-run-fruit-detector-edge/single-board-computer.md +++ b/translations/en/4-manufacturing/lessons/3-run-fruit-detector-edge/single-board-computer.md @@ -1,12 +1,3 @@ - # Classify an image using an IoT Edge-based image classifier - Virtual IoT Hardware and Raspberry Pi In this part of the lesson, you will use the Image Classifier running on the IoT Edge device. diff --git a/translations/en/4-manufacturing/lessons/3-run-fruit-detector-edge/vm-iotedge.md b/translations/en/4-manufacturing/lessons/3-run-fruit-detector-edge/vm-iotedge.md index d0b2de2d7..f6484fa15 100644 --- a/translations/en/4-manufacturing/lessons/3-run-fruit-detector-edge/vm-iotedge.md +++ b/translations/en/4-manufacturing/lessons/3-run-fruit-detector-edge/vm-iotedge.md @@ -1,12 +1,3 @@ - # Create a virtual machine running IoT Edge In Azure, you can create a virtual machine—a computer in the cloud that you can configure however you like and run your own software on. diff --git a/translations/en/4-manufacturing/lessons/3-run-fruit-detector-edge/wio-terminal.md b/translations/en/4-manufacturing/lessons/3-run-fruit-detector-edge/wio-terminal.md index e434c21b2..ab80a5821 100644 --- a/translations/en/4-manufacturing/lessons/3-run-fruit-detector-edge/wio-terminal.md +++ b/translations/en/4-manufacturing/lessons/3-run-fruit-detector-edge/wio-terminal.md @@ -1,12 +1,3 @@ - # Classify an image using an IoT Edge based image classifier - Wio Terminal In this part of the lesson, you will use the Image Classifier running on the IoT Edge device. diff --git a/translations/en/4-manufacturing/lessons/4-trigger-fruit-detector/README.md b/translations/en/4-manufacturing/lessons/4-trigger-fruit-detector/README.md index 267a406a1..c8fe897f0 100644 --- a/translations/en/4-manufacturing/lessons/4-trigger-fruit-detector/README.md +++ b/translations/en/4-manufacturing/lessons/4-trigger-fruit-detector/README.md @@ -1,12 +1,3 @@ - # Trigger fruit quality detection from a sensor ![A sketchnote overview of this lesson](../../../../../translated_images/en/lesson-18.92c32ed1d354caa5a54baa4032cf0b172d4655e8e326ad5d46c558a0def15365.jpg) diff --git a/translations/en/4-manufacturing/lessons/4-trigger-fruit-detector/assignment.md b/translations/en/4-manufacturing/lessons/4-trigger-fruit-detector/assignment.md index 04dcbbe7b..c17173d04 100644 --- a/translations/en/4-manufacturing/lessons/4-trigger-fruit-detector/assignment.md +++ b/translations/en/4-manufacturing/lessons/4-trigger-fruit-detector/assignment.md @@ -1,12 +1,3 @@ - # Build a fruit quality detector ## Instructions diff --git a/translations/en/4-manufacturing/lessons/4-trigger-fruit-detector/pi-proximity.md b/translations/en/4-manufacturing/lessons/4-trigger-fruit-detector/pi-proximity.md index 6ce5c4685..be1c8f368 100644 --- a/translations/en/4-manufacturing/lessons/4-trigger-fruit-detector/pi-proximity.md +++ b/translations/en/4-manufacturing/lessons/4-trigger-fruit-detector/pi-proximity.md @@ -1,12 +1,3 @@ - # Detect proximity - Raspberry Pi In this part of the lesson, you will add a proximity sensor to your Raspberry Pi and read distance measurements from it. diff --git a/translations/en/4-manufacturing/lessons/4-trigger-fruit-detector/virtual-device-proximity.md b/translations/en/4-manufacturing/lessons/4-trigger-fruit-detector/virtual-device-proximity.md index 31bc34a90..580058027 100644 --- a/translations/en/4-manufacturing/lessons/4-trigger-fruit-detector/virtual-device-proximity.md +++ b/translations/en/4-manufacturing/lessons/4-trigger-fruit-detector/virtual-device-proximity.md @@ -1,12 +1,3 @@ - # Detect proximity - Virtual IoT Hardware In this part of the lesson, you will add a proximity sensor to your virtual IoT device and read distance measurements from it. diff --git a/translations/en/4-manufacturing/lessons/4-trigger-fruit-detector/wio-terminal-proximity.md b/translations/en/4-manufacturing/lessons/4-trigger-fruit-detector/wio-terminal-proximity.md index d10ea35b8..c5655a169 100644 --- a/translations/en/4-manufacturing/lessons/4-trigger-fruit-detector/wio-terminal-proximity.md +++ b/translations/en/4-manufacturing/lessons/4-trigger-fruit-detector/wio-terminal-proximity.md @@ -1,12 +1,3 @@ - # Detect proximity - Wio Terminal In this part of the lesson, you will add a proximity sensor to your Wio Terminal and read distance measurements from it. diff --git a/translations/en/5-retail/README.md b/translations/en/5-retail/README.md index 88b11a490..6e2c452cc 100644 --- a/translations/en/5-retail/README.md +++ b/translations/en/5-retail/README.md @@ -1,12 +1,3 @@ - # Retail - using IoT to manage stock levels The final stage before food reaches consumers is retail—markets, greengrocers, supermarkets, and stores that sell products to customers. These businesses aim to ensure their shelves are stocked with items for customers to see and purchase. diff --git a/translations/en/5-retail/lessons/1-train-stock-detector/README.md b/translations/en/5-retail/lessons/1-train-stock-detector/README.md index 71d2f96f1..03d768aed 100644 --- a/translations/en/5-retail/lessons/1-train-stock-detector/README.md +++ b/translations/en/5-retail/lessons/1-train-stock-detector/README.md @@ -1,12 +1,3 @@ - # Train a stock detector ![A sketchnote overview of this lesson](../../../../../translated_images/en/lesson-19.cf6973cecadf080c4b526310620dc4d6f5994c80fb0139c6f378cc9ca2d435cd.jpg) diff --git a/translations/en/5-retail/lessons/1-train-stock-detector/assignment.md b/translations/en/5-retail/lessons/1-train-stock-detector/assignment.md index b388ee38c..343c3d13e 100644 --- a/translations/en/5-retail/lessons/1-train-stock-detector/assignment.md +++ b/translations/en/5-retail/lessons/1-train-stock-detector/assignment.md @@ -1,12 +1,3 @@ - # Compare domains ## Instructions diff --git a/translations/en/5-retail/lessons/2-check-stock-device/README.md b/translations/en/5-retail/lessons/2-check-stock-device/README.md index ffacaddff..18699b0dd 100644 --- a/translations/en/5-retail/lessons/2-check-stock-device/README.md +++ b/translations/en/5-retail/lessons/2-check-stock-device/README.md @@ -1,12 +1,3 @@ - # Check stock from an IoT device ![A sketchnote overview of this lesson](../../../../../translated_images/en/lesson-20.0211df9551a8abb300fc8fcf7dc2789468dea2eabe9202273ac077b0ba37f15e.jpg) diff --git a/translations/en/5-retail/lessons/2-check-stock-device/assignment.md b/translations/en/5-retail/lessons/2-check-stock-device/assignment.md index 5476027a5..0ffba287f 100644 --- a/translations/en/5-retail/lessons/2-check-stock-device/assignment.md +++ b/translations/en/5-retail/lessons/2-check-stock-device/assignment.md @@ -1,12 +1,3 @@ - # Use your object detector on the edge ## Instructions diff --git a/translations/en/5-retail/lessons/2-check-stock-device/single-board-computer-count-stock.md b/translations/en/5-retail/lessons/2-check-stock-device/single-board-computer-count-stock.md index 00482176e..173b5ea91 100644 --- a/translations/en/5-retail/lessons/2-check-stock-device/single-board-computer-count-stock.md +++ b/translations/en/5-retail/lessons/2-check-stock-device/single-board-computer-count-stock.md @@ -1,12 +1,3 @@ - # Count stock from your IoT device - Virtual IoT Hardware and Raspberry Pi You can use a combination of predictions and their bounding boxes to count stock in an image. diff --git a/translations/en/5-retail/lessons/2-check-stock-device/single-board-computer-object-detector.md b/translations/en/5-retail/lessons/2-check-stock-device/single-board-computer-object-detector.md index 78ad78f3d..0e36854d0 100644 --- a/translations/en/5-retail/lessons/2-check-stock-device/single-board-computer-object-detector.md +++ b/translations/en/5-retail/lessons/2-check-stock-device/single-board-computer-object-detector.md @@ -1,12 +1,3 @@ - # Call your object detector from your IoT device - Virtual IoT Hardware and Raspberry Pi Once your object detector has been published, it can be used from your IoT device. diff --git a/translations/en/5-retail/lessons/2-check-stock-device/wio-terminal-count-stock.md b/translations/en/5-retail/lessons/2-check-stock-device/wio-terminal-count-stock.md index 2c1321680..c44f51db6 100644 --- a/translations/en/5-retail/lessons/2-check-stock-device/wio-terminal-count-stock.md +++ b/translations/en/5-retail/lessons/2-check-stock-device/wio-terminal-count-stock.md @@ -1,12 +1,3 @@ - # Count stock from your IoT device - Wio Terminal A combination of predictions and their bounding boxes can be used to count stock in an image. diff --git a/translations/en/5-retail/lessons/2-check-stock-device/wio-terminal-object-detector.md b/translations/en/5-retail/lessons/2-check-stock-device/wio-terminal-object-detector.md index 6237cf00c..71857186a 100644 --- a/translations/en/5-retail/lessons/2-check-stock-device/wio-terminal-object-detector.md +++ b/translations/en/5-retail/lessons/2-check-stock-device/wio-terminal-object-detector.md @@ -1,12 +1,3 @@ - # Call your object detector from your IoT device - Wio Terminal Once your object detector has been published, you can use it with your IoT device. diff --git a/translations/en/6-consumer/README.md b/translations/en/6-consumer/README.md index 92fb9e7bc..96696e566 100644 --- a/translations/en/6-consumer/README.md +++ b/translations/en/6-consumer/README.md @@ -1,12 +1,3 @@ - # Consumer IoT - Build a Smart Voice Assistant The food has been grown, transported to a processing plant, sorted for quality, sold in the store, and now it's time to cook! One of the essential tools in any kitchen is a timer. Originally, timers were hourglasses—your food was ready when all the sand had trickled down to the bottom bulb. Later, they became mechanical, then electric. diff --git a/translations/en/6-consumer/lessons/1-speech-recognition/README.md b/translations/en/6-consumer/lessons/1-speech-recognition/README.md index edfe8c614..17e6f1d7f 100644 --- a/translations/en/6-consumer/lessons/1-speech-recognition/README.md +++ b/translations/en/6-consumer/lessons/1-speech-recognition/README.md @@ -1,12 +1,3 @@ - # Recognize speech with an IoT device ![A sketchnote overview of this lesson](../../../../../translated_images/en/lesson-21.e34de51354d6606fb5ee08d8c89d0222eea0a2a7aaf744a8805ae847c4f69dc4.jpg) diff --git a/translations/en/6-consumer/lessons/1-speech-recognition/assignment.md b/translations/en/6-consumer/lessons/1-speech-recognition/assignment.md index b03349cc2..d2cf62a49 100644 --- a/translations/en/6-consumer/lessons/1-speech-recognition/assignment.md +++ b/translations/en/6-consumer/lessons/1-speech-recognition/assignment.md @@ -1,12 +1,3 @@ - ## Instructions ## Rubric diff --git a/translations/en/6-consumer/lessons/1-speech-recognition/pi-audio.md b/translations/en/6-consumer/lessons/1-speech-recognition/pi-audio.md index 1009ea20e..d7e9033c6 100644 --- a/translations/en/6-consumer/lessons/1-speech-recognition/pi-audio.md +++ b/translations/en/6-consumer/lessons/1-speech-recognition/pi-audio.md @@ -1,12 +1,3 @@ - # Capture audio - Raspberry Pi In this part of the lesson, you will write code to record audio on your Raspberry Pi. The audio recording will be controlled by a button. diff --git a/translations/en/6-consumer/lessons/1-speech-recognition/pi-microphone.md b/translations/en/6-consumer/lessons/1-speech-recognition/pi-microphone.md index 3dd1323f0..ef83a0550 100644 --- a/translations/en/6-consumer/lessons/1-speech-recognition/pi-microphone.md +++ b/translations/en/6-consumer/lessons/1-speech-recognition/pi-microphone.md @@ -1,12 +1,3 @@ - # Configure your microphone and speakers - Raspberry Pi In this part of the lesson, you will set up a microphone and speakers for your Raspberry Pi. diff --git a/translations/en/6-consumer/lessons/1-speech-recognition/pi-speech-to-text.md b/translations/en/6-consumer/lessons/1-speech-recognition/pi-speech-to-text.md index 1bfb322be..1ca988f2d 100644 --- a/translations/en/6-consumer/lessons/1-speech-recognition/pi-speech-to-text.md +++ b/translations/en/6-consumer/lessons/1-speech-recognition/pi-speech-to-text.md @@ -1,12 +1,3 @@ - # Speech to text - Raspberry Pi In this part of the lesson, you will write code to convert speech from the captured audio into text using the speech service. diff --git a/translations/en/6-consumer/lessons/1-speech-recognition/virtual-device-audio.md b/translations/en/6-consumer/lessons/1-speech-recognition/virtual-device-audio.md index ee7caca98..77bb56d51 100644 --- a/translations/en/6-consumer/lessons/1-speech-recognition/virtual-device-audio.md +++ b/translations/en/6-consumer/lessons/1-speech-recognition/virtual-device-audio.md @@ -1,12 +1,3 @@ - # Capture audio - Virtual IoT device The Python libraries you'll use later in this lesson to convert speech to text include built-in audio capture functionality for Windows, macOS, and Linux. There's nothing you need to do at this stage. diff --git a/translations/en/6-consumer/lessons/1-speech-recognition/virtual-device-microphone.md b/translations/en/6-consumer/lessons/1-speech-recognition/virtual-device-microphone.md index aaeb30eb5..3a2c44ebd 100644 --- a/translations/en/6-consumer/lessons/1-speech-recognition/virtual-device-microphone.md +++ b/translations/en/6-consumer/lessons/1-speech-recognition/virtual-device-microphone.md @@ -1,12 +1,3 @@ - # Configure your microphone and speakers - Virtual IoT Hardware The virtual IoT hardware will use the microphone and speakers connected to your computer. diff --git a/translations/en/6-consumer/lessons/1-speech-recognition/virtual-device-speech-to-text.md b/translations/en/6-consumer/lessons/1-speech-recognition/virtual-device-speech-to-text.md index 320c735fb..12735230c 100644 --- a/translations/en/6-consumer/lessons/1-speech-recognition/virtual-device-speech-to-text.md +++ b/translations/en/6-consumer/lessons/1-speech-recognition/virtual-device-speech-to-text.md @@ -1,12 +1,3 @@ - # Speech to text - Virtual IoT device In this part of the lesson, you will write code to convert speech captured from your microphone into text using the speech service. diff --git a/translations/en/6-consumer/lessons/1-speech-recognition/wio-terminal-audio.md b/translations/en/6-consumer/lessons/1-speech-recognition/wio-terminal-audio.md index 58ede025a..15ec8c4f4 100644 --- a/translations/en/6-consumer/lessons/1-speech-recognition/wio-terminal-audio.md +++ b/translations/en/6-consumer/lessons/1-speech-recognition/wio-terminal-audio.md @@ -1,12 +1,3 @@ - # Capture audio - Wio Terminal In this part of the lesson, you will write code to record audio on your Wio Terminal. The audio recording will be triggered by one of the buttons located on the top of the Wio Terminal. diff --git a/translations/en/6-consumer/lessons/1-speech-recognition/wio-terminal-microphone.md b/translations/en/6-consumer/lessons/1-speech-recognition/wio-terminal-microphone.md index 22857b4c7..0653ec940 100644 --- a/translations/en/6-consumer/lessons/1-speech-recognition/wio-terminal-microphone.md +++ b/translations/en/6-consumer/lessons/1-speech-recognition/wio-terminal-microphone.md @@ -1,12 +1,3 @@ - # Configure your microphone and speakers - Wio Terminal In this section of the lesson, you will add speakers to your Wio Terminal. The Wio Terminal already has a built-in microphone, which can be used to capture speech. diff --git a/translations/en/6-consumer/lessons/1-speech-recognition/wio-terminal-speech-to-text.md b/translations/en/6-consumer/lessons/1-speech-recognition/wio-terminal-speech-to-text.md index 33f118350..65244464f 100644 --- a/translations/en/6-consumer/lessons/1-speech-recognition/wio-terminal-speech-to-text.md +++ b/translations/en/6-consumer/lessons/1-speech-recognition/wio-terminal-speech-to-text.md @@ -1,12 +1,3 @@ - # Speech to Text - Wio Terminal In this part of the lesson, you will write code to convert speech from the captured audio into text using the speech service. diff --git a/translations/en/6-consumer/lessons/2-language-understanding/README.md b/translations/en/6-consumer/lessons/2-language-understanding/README.md index 08f08e8df..13f35b425 100644 --- a/translations/en/6-consumer/lessons/2-language-understanding/README.md +++ b/translations/en/6-consumer/lessons/2-language-understanding/README.md @@ -1,12 +1,3 @@ - and paste it somewhere safe for later use. 2. From the *Azure Resources* section, copy the *Primary Key* (API key) and the *Endpoint* URL. diff --git a/translations/en/6-consumer/lessons/2-language-understanding/assignment.md b/translations/en/6-consumer/lessons/2-language-understanding/assignment.md index 64db312e5..8a99280c3 100644 --- a/translations/en/6-consumer/lessons/2-language-understanding/assignment.md +++ b/translations/en/6-consumer/lessons/2-language-understanding/assignment.md @@ -1,12 +1,3 @@ - # Cancel the timer ## Instructions diff --git a/translations/en/6-consumer/lessons/3-spoken-feedback/README.md b/translations/en/6-consumer/lessons/3-spoken-feedback/README.md index f2cdba458..d334683fb 100644 --- a/translations/en/6-consumer/lessons/3-spoken-feedback/README.md +++ b/translations/en/6-consumer/lessons/3-spoken-feedback/README.md @@ -1,12 +1,3 @@ - # Set a timer and provide spoken feedback ![A sketchnote overview of this lesson](../../../../../translated_images/en/lesson-23.f38483e1d4df4828990d3f02d60e46c978b075d384ae7cb4f7bab738e107c850.jpg) diff --git a/translations/en/6-consumer/lessons/3-spoken-feedback/assignment.md b/translations/en/6-consumer/lessons/3-spoken-feedback/assignment.md index 9177b1123..fe777f4d9 100644 --- a/translations/en/6-consumer/lessons/3-spoken-feedback/assignment.md +++ b/translations/en/6-consumer/lessons/3-spoken-feedback/assignment.md @@ -1,12 +1,3 @@ - # Cancel the timer ## Instructions diff --git a/translations/en/6-consumer/lessons/3-spoken-feedback/pi-text-to-speech.md b/translations/en/6-consumer/lessons/3-spoken-feedback/pi-text-to-speech.md index 804732e4e..5b6adc7f3 100644 --- a/translations/en/6-consumer/lessons/3-spoken-feedback/pi-text-to-speech.md +++ b/translations/en/6-consumer/lessons/3-spoken-feedback/pi-text-to-speech.md @@ -1,12 +1,3 @@ - # Text to Speech - Raspberry Pi In this part of the lesson, you will write code to convert text into speech using the speech service. diff --git a/translations/en/6-consumer/lessons/3-spoken-feedback/single-board-computer-set-timer.md b/translations/en/6-consumer/lessons/3-spoken-feedback/single-board-computer-set-timer.md index 754f4b065..ca554c919 100644 --- a/translations/en/6-consumer/lessons/3-spoken-feedback/single-board-computer-set-timer.md +++ b/translations/en/6-consumer/lessons/3-spoken-feedback/single-board-computer-set-timer.md @@ -1,12 +1,3 @@ - # Set a timer - Virtual IoT Hardware and Raspberry Pi In this part of the lesson, you will call your serverless code to interpret speech and set a timer on your virtual IoT device or Raspberry Pi based on the results. diff --git a/translations/en/6-consumer/lessons/3-spoken-feedback/virtual-device-text-to-speech.md b/translations/en/6-consumer/lessons/3-spoken-feedback/virtual-device-text-to-speech.md index 16fb5df49..7d53f9489 100644 --- a/translations/en/6-consumer/lessons/3-spoken-feedback/virtual-device-text-to-speech.md +++ b/translations/en/6-consumer/lessons/3-spoken-feedback/virtual-device-text-to-speech.md @@ -1,12 +1,3 @@ - # Text to speech - Virtual IoT device In this part of the lesson, you will write code to convert text into speech using the speech service. diff --git a/translations/en/6-consumer/lessons/3-spoken-feedback/wio-terminal-set-timer.md b/translations/en/6-consumer/lessons/3-spoken-feedback/wio-terminal-set-timer.md index a67ca4806..3a55497b8 100644 --- a/translations/en/6-consumer/lessons/3-spoken-feedback/wio-terminal-set-timer.md +++ b/translations/en/6-consumer/lessons/3-spoken-feedback/wio-terminal-set-timer.md @@ -1,12 +1,3 @@ - # Set a timer - Wio Terminal In this part of the lesson, you will call your serverless code to interpret speech and set a timer on your Wio Terminal based on the results. diff --git a/translations/en/6-consumer/lessons/3-spoken-feedback/wio-terminal-text-to-speech.md b/translations/en/6-consumer/lessons/3-spoken-feedback/wio-terminal-text-to-speech.md index d409f6f92..0d23bb70a 100644 --- a/translations/en/6-consumer/lessons/3-spoken-feedback/wio-terminal-text-to-speech.md +++ b/translations/en/6-consumer/lessons/3-spoken-feedback/wio-terminal-text-to-speech.md @@ -1,12 +1,3 @@ - # Text to Speech - Wio Terminal In this section of the lesson, you'll transform text into speech to provide spoken feedback. diff --git a/translations/en/6-consumer/lessons/4-multiple-language-support/README.md b/translations/en/6-consumer/lessons/4-multiple-language-support/README.md index 4c87a6eb1..51f6b252b 100644 --- a/translations/en/6-consumer/lessons/4-multiple-language-support/README.md +++ b/translations/en/6-consumer/lessons/4-multiple-language-support/README.md @@ -1,12 +1,3 @@ - # Support multiple languages ![A sketchnote overview of this lesson](../../../../../translated_images/en/lesson-24.4246968ed058510ab275052e87ef9aa89c7b2f938915d103c605c04dc6cd5bb7.jpg) diff --git a/translations/en/6-consumer/lessons/4-multiple-language-support/assignment.md b/translations/en/6-consumer/lessons/4-multiple-language-support/assignment.md index a1c27ebab..54c45d708 100644 --- a/translations/en/6-consumer/lessons/4-multiple-language-support/assignment.md +++ b/translations/en/6-consumer/lessons/4-multiple-language-support/assignment.md @@ -1,12 +1,3 @@ - # Build a universal translator ## Instructions diff --git a/translations/en/6-consumer/lessons/4-multiple-language-support/pi-translate-speech.md b/translations/en/6-consumer/lessons/4-multiple-language-support/pi-translate-speech.md index 0abf3d89e..23842d705 100644 --- a/translations/en/6-consumer/lessons/4-multiple-language-support/pi-translate-speech.md +++ b/translations/en/6-consumer/lessons/4-multiple-language-support/pi-translate-speech.md @@ -1,12 +1,3 @@ - # Translate speech - Raspberry Pi In this part of the lesson, you will write code to translate text using the translator service. diff --git a/translations/en/6-consumer/lessons/4-multiple-language-support/virtual-device-translate-speech.md b/translations/en/6-consumer/lessons/4-multiple-language-support/virtual-device-translate-speech.md index e0d38ebdc..721c489c5 100644 --- a/translations/en/6-consumer/lessons/4-multiple-language-support/virtual-device-translate-speech.md +++ b/translations/en/6-consumer/lessons/4-multiple-language-support/virtual-device-translate-speech.md @@ -1,12 +1,3 @@ - # Translate speech - Virtual IoT Device In this part of the lesson, you will write code to translate speech into text using the speech service, then translate the text using the Translator service before generating a spoken response. diff --git a/translations/en/6-consumer/lessons/4-multiple-language-support/wio-terminal-translate-speech.md b/translations/en/6-consumer/lessons/4-multiple-language-support/wio-terminal-translate-speech.md index c6171da41..ead45a43c 100644 --- a/translations/en/6-consumer/lessons/4-multiple-language-support/wio-terminal-translate-speech.md +++ b/translations/en/6-consumer/lessons/4-multiple-language-support/wio-terminal-translate-speech.md @@ -1,12 +1,3 @@ - # Translate speech - Wio Terminal In this part of the lesson, you will write code to translate text using the translator service. diff --git a/translations/en/CODE_OF_CONDUCT.md b/translations/en/CODE_OF_CONDUCT.md index 9e08b8a0b..45dfbe834 100644 --- a/translations/en/CODE_OF_CONDUCT.md +++ b/translations/en/CODE_OF_CONDUCT.md @@ -1,12 +1,3 @@ - # Microsoft Open Source Code of Conduct This project follows the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). diff --git a/translations/en/CONTRIBUTING.md b/translations/en/CONTRIBUTING.md index 8390cf77c..fdbcf0234 100644 --- a/translations/en/CONTRIBUTING.md +++ b/translations/en/CONTRIBUTING.md @@ -1,12 +1,3 @@ - # Contributing This project encourages contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA), which confirms that you have the rights to, and indeed do, grant us permission to use your contribution. For more information, visit https://cla.microsoft.com. diff --git a/translations/en/README.md b/translations/en/README.md index c82e66484..4791973a4 100644 --- a/translations/en/README.md +++ b/translations/en/README.md @@ -1,12 +1,3 @@ - [![GitHub license](https://img.shields.io/github/license/microsoft/IoT-For-Beginners.svg)](https://github.com/microsoft/IoT-For-Beginners/blob/master/LICENSE) [![GitHub contributors](https://img.shields.io/github/contributors/microsoft/IoT-For-Beginners.svg)](https://GitHub.com/microsoft/IoT-For-Beginners/graphs/contributors/) [![GitHub issues](https://img.shields.io/github/issues/microsoft/IoT-For-Beginners.svg)](https://GitHub.com/microsoft/IoT-For-Beginners/issues/) @@ -30,7 +21,7 @@ If you have product feedback or errors while building visit: Follow these steps to get started using these resources: 1. **Fork the Repository**: Click [![GitHub forks](https://img.shields.io/github/forks/microsoft/IoT-For-Beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/IoT-For-Beginners/fork) 2. **Clone the Repository**: `git clone https://github.com/microsoft/IoT-For-Beginners.git` -3. [**Join The Microsot Foundry Discord and meet experts and fellow developers**](https://discord.com/invite/ByRwuEEgH4) +3. [**Join The Microsoft Foundry Discord and meet experts and fellow developers**](https://discord.com/invite/ByRwuEEgH4) ### 🌐 Multi-Language Support @@ -38,7 +29,7 @@ Follow these steps to get started using these resources: #### Supported via GitHub Action (Automated & Always Up-to-Date) -[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh/README.md) | [Chinese (Traditional, Hong Kong)](../hk/README.md) | [Chinese (Traditional, Macau)](../mo/README.md) | [Chinese (Traditional, Taiwan)](../tw/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../br/README.md) | [Portuguese (Portugal)](../pt/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md) +[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md) > **Prefer to Clone Locally?** diff --git a/translations/en/SECURITY.md b/translations/en/SECURITY.md index 99cf40019..de3110bc4 100644 --- a/translations/en/SECURITY.md +++ b/translations/en/SECURITY.md @@ -1,12 +1,3 @@ - # Security Microsoft prioritizes the security of our software products and services, including all source code repositories managed through our GitHub organizations, such as [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), and [our GitHub organizations](https://opensource.microsoft.com/). diff --git a/translations/en/SUPPORT.md b/translations/en/SUPPORT.md index 7528e9fe5..42c76554d 100644 --- a/translations/en/SUPPORT.md +++ b/translations/en/SUPPORT.md @@ -1,12 +1,3 @@ - # Support ## How to file issues and get help diff --git a/translations/en/TROUBLESHOOTING.md b/translations/en/TROUBLESHOOTING.md index f6b661e85..a9fc31aa2 100644 --- a/translations/en/TROUBLESHOOTING.md +++ b/translations/en/TROUBLESHOOTING.md @@ -1,12 +1,3 @@ - # Troubleshooting Guide This guide helps you solve common problems when working with the IoT for Beginners curriculum. Issues are organized by category for easy navigation. diff --git a/translations/en/attributions.md b/translations/en/attributions.md index 5b84b7549..88da6dc8b 100644 --- a/translations/en/attributions.md +++ b/translations/en/attributions.md @@ -1,12 +1,3 @@ - # Image attributions * Bananas by abderraouf omara from the [Noun Project](https://thenounproject.com) diff --git a/translations/en/clean-up.md b/translations/en/clean-up.md index f08a9fa7a..3d3277538 100644 --- a/translations/en/clean-up.md +++ b/translations/en/clean-up.md @@ -1,12 +1,3 @@ - # Clean up your project After completing each project, it's a good practice to delete your cloud resources. diff --git a/translations/en/docs/_sidebar.md b/translations/en/docs/_sidebar.md index 86df2671f..1d3403796 100644 --- a/translations/en/docs/_sidebar.md +++ b/translations/en/docs/_sidebar.md @@ -1,12 +1,3 @@ - - Introduction - [1](../1-getting-started/lessons/1-introduction-to-iot/README.md) - [2](../1-getting-started/lessons/2-deeper-dive/README.md) diff --git a/translations/en/docs/troubleshooting.md b/translations/en/docs/troubleshooting.md index 051d2de8c..4d1a4a0ad 100644 --- a/translations/en/docs/troubleshooting.md +++ b/translations/en/docs/troubleshooting.md @@ -1,12 +1,3 @@ - # Raspberry Pi Troubleshooting Guide This guide provides solutions to common issues encountered while running IoT projects on Raspberry Pi devices. diff --git a/translations/en/for-teachers.md b/translations/en/for-teachers.md index b047b09fe..00551a47c 100644 --- a/translations/en/for-teachers.md +++ b/translations/en/for-teachers.md @@ -1,12 +1,3 @@ - # For Educators Would you like to incorporate this curriculum into your classroom? Feel free to do so! diff --git a/translations/en/hardware.md b/translations/en/hardware.md index 78a08942e..6f714f832 100644 --- a/translations/en/hardware.md +++ b/translations/en/hardware.md @@ -1,12 +1,3 @@ - # Hardware The **T** in IoT stands for **Things**, referring to devices that interact with the world around us. Each project is based on real-world hardware accessible to students and hobbyists. We offer two options for IoT hardware, depending on your personal preferences, programming language knowledge, learning goals, and availability. Additionally, we provide a 'virtual hardware' option for those who don't have access to physical hardware or want to explore more before making a purchase. diff --git a/translations/en/images/README.md b/translations/en/images/README.md index ceac9571f..b87fa722b 100644 --- a/translations/en/images/README.md +++ b/translations/en/images/README.md @@ -1,12 +1,3 @@ - # Images The images in the [icons](../../../images/icons) folder are sourced from the [Noun Project](https://thenounproject.com) and require attribution. Each image specifies the necessary attribution. These images should be used in any diagram that requires them to maintain visual consistency. diff --git a/translations/en/lesson-template/README.md b/translations/en/lesson-template/README.md index cbdf668db..7ca433d7e 100644 --- a/translations/en/lesson-template/README.md +++ b/translations/en/lesson-template/README.md @@ -1,12 +1,3 @@ - # [Lesson Topic] ![Embed a video here](../../../lesson-template/video-url) diff --git a/translations/en/lesson-template/assignment.md b/translations/en/lesson-template/assignment.md index 9b5d38d24..49617c4ab 100644 --- a/translations/en/lesson-template/assignment.md +++ b/translations/en/lesson-template/assignment.md @@ -1,12 +1,3 @@ - # [Assignment Name] ## Instructions diff --git a/translations/en/quiz-app/README.md b/translations/en/quiz-app/README.md index d55b8cacf..95b86a8e3 100644 --- a/translations/en/quiz-app/README.md +++ b/translations/en/quiz-app/README.md @@ -1,12 +1,3 @@ - # Quizzes These quizzes are the pre- and post-lecture quizzes for the IoT for Beginners curriculum at https://aka.ms/iot-beginners diff --git a/translations/en/recommended-learning-model.md b/translations/en/recommended-learning-model.md index 263ca737a..238422eed 100644 --- a/translations/en/recommended-learning-model.md +++ b/translations/en/recommended-learning-model.md @@ -1,12 +1,3 @@ - # Recommended learning model For the best learning outcomes, **we recommend a “Flipped Model" approach** similar to science labs: students work on projects during class time, with opportunities for discussion, Q&A, and project assistance, while completing the lecture components as pre-reads on their own time. diff --git a/translations/es/.co-op-translator.json b/translations/es/.co-op-translator.json new file mode 100644 index 000000000..94719f556 --- /dev/null +++ b/translations/es/.co-op-translator.json @@ -0,0 +1,830 @@ +{ + "1-getting-started/README.md": { + "original_hash": "e2b1b891b08ef7633d285547fbe73290", + "translation_date": "2025-08-26T14:56:16+00:00", + "source_file": "1-getting-started/README.md", + "language_code": "es" + }, + "1-getting-started/lessons/1-introduction-to-iot/README.md": { + "original_hash": "9bae08314d8487cb76ddf3d8797e1544", + "translation_date": "2025-08-26T15:10:04+00:00", + "source_file": "1-getting-started/lessons/1-introduction-to-iot/README.md", + "language_code": "es" + }, + "1-getting-started/lessons/1-introduction-to-iot/assignment.md": { + "original_hash": "7ef1cec2d27b086032d46ab1958f3e99", + "translation_date": "2025-08-26T15:11:18+00:00", + "source_file": "1-getting-started/lessons/1-introduction-to-iot/assignment.md", + "language_code": "es" + }, + "1-getting-started/lessons/1-introduction-to-iot/pi.md": { + "original_hash": "8ff0d0a1d29832bb896b9c103b69a452", + "translation_date": "2025-08-26T15:13:31+00:00", + "source_file": "1-getting-started/lessons/1-introduction-to-iot/pi.md", + "language_code": "es" + }, + "1-getting-started/lessons/1-introduction-to-iot/virtual-device.md": { + "original_hash": "52b4de6144b2efdced7797a5339d6035", + "translation_date": "2025-08-26T15:12:02+00:00", + "source_file": "1-getting-started/lessons/1-introduction-to-iot/virtual-device.md", + "language_code": "es" + }, + "1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md": { + "original_hash": "a4f0c166010e31fd7b6ca20bc88dec6d", + "translation_date": "2025-08-26T15:15:03+00:00", + "source_file": "1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md", + "language_code": "es" + }, + "1-getting-started/lessons/2-deeper-dive/README.md": { + "original_hash": "9dd7f645ad1c6f20b72fee512987f772", + "translation_date": "2025-08-26T15:17:51+00:00", + "source_file": "1-getting-started/lessons/2-deeper-dive/README.md", + "language_code": "es" + }, + "1-getting-started/lessons/2-deeper-dive/assignment.md": { + "original_hash": "750bd75866471141f857240219084767", + "translation_date": "2025-08-26T15:19:42+00:00", + "source_file": "1-getting-started/lessons/2-deeper-dive/assignment.md", + "language_code": "es" + }, + "1-getting-started/lessons/3-sensors-and-actuators/README.md": { + "original_hash": "e9ee00eb5fc55922a73762acc542166b", + "translation_date": "2025-08-26T15:04:04+00:00", + "source_file": "1-getting-started/lessons/3-sensors-and-actuators/README.md", + "language_code": "es" + }, + "1-getting-started/lessons/3-sensors-and-actuators/assignment.md": { + "original_hash": "c5a568320b1159394108544807895337", + "translation_date": "2025-08-26T15:05:22+00:00", + "source_file": "1-getting-started/lessons/3-sensors-and-actuators/assignment.md", + "language_code": "es" + }, + "1-getting-started/lessons/3-sensors-and-actuators/pi-actuator.md": { + "original_hash": "4db8a3879a53490513571df2f6cf7641", + "translation_date": "2025-08-26T15:05:50+00:00", + "source_file": "1-getting-started/lessons/3-sensors-and-actuators/pi-actuator.md", + "language_code": "es" + }, + "1-getting-started/lessons/3-sensors-and-actuators/pi-sensor.md": { + "original_hash": "ea733bd0cdf2479e082373f765a08678", + "translation_date": "2025-08-26T15:02:43+00:00", + "source_file": "1-getting-started/lessons/3-sensors-and-actuators/pi-sensor.md", + "language_code": "es" + }, + "1-getting-started/lessons/3-sensors-and-actuators/virtual-device-actuator.md": { + "original_hash": "9c640f93263fd9adbfda920739e09feb", + "translation_date": "2025-08-26T15:07:19+00:00", + "source_file": "1-getting-started/lessons/3-sensors-and-actuators/virtual-device-actuator.md", + "language_code": "es" + }, + "1-getting-started/lessons/3-sensors-and-actuators/virtual-device-sensor.md": { + "original_hash": "11f10c6760fb8202cf368422702fdf70", + "translation_date": "2025-08-26T15:07:55+00:00", + "source_file": "1-getting-started/lessons/3-sensors-and-actuators/virtual-device-sensor.md", + "language_code": "es" + }, + "1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-actuator.md": { + "original_hash": "db44083b4dc6fb06eac83c4f16448940", + "translation_date": "2025-08-26T15:06:31+00:00", + "source_file": "1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-actuator.md", + "language_code": "es" + }, + "1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-sensor.md": { + "original_hash": "7f4ad0ef54f248b85b92187c94cf9dcb", + "translation_date": "2025-08-26T15:08:37+00:00", + "source_file": "1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-sensor.md", + "language_code": "es" + }, + "1-getting-started/lessons/4-connect-internet/README.md": { + "original_hash": "71b5040e0b3472f1c0949c9b55f224c0", + "translation_date": "2025-08-26T14:58:33+00:00", + "source_file": "1-getting-started/lessons/4-connect-internet/README.md", + "language_code": "es" + }, + "1-getting-started/lessons/4-connect-internet/assignment.md": { + "original_hash": "0d4033cdd7b5b5475c63770102e38480", + "translation_date": "2025-08-26T15:00:31+00:00", + "source_file": "1-getting-started/lessons/4-connect-internet/assignment.md", + "language_code": "es" + }, + "1-getting-started/lessons/4-connect-internet/single-board-computer-commands.md": { + "original_hash": "c527ce85d69b1a3875366ec61cbed8aa", + "translation_date": "2025-08-26T14:56:34+00:00", + "source_file": "1-getting-started/lessons/4-connect-internet/single-board-computer-commands.md", + "language_code": "es" + }, + "1-getting-started/lessons/4-connect-internet/single-board-computer-mqtt.md": { + "original_hash": "90fb93446e03c38f3c0e4009c2471906", + "translation_date": "2025-08-26T15:00:59+00:00", + "source_file": "1-getting-started/lessons/4-connect-internet/single-board-computer-mqtt.md", + "language_code": "es" + }, + "1-getting-started/lessons/4-connect-internet/single-board-computer-telemetry.md": { + "original_hash": "1226517aae5f5b6f904434670394c688", + "translation_date": "2025-08-26T14:56:54+00:00", + "source_file": "1-getting-started/lessons/4-connect-internet/single-board-computer-telemetry.md", + "language_code": "es" + }, + "1-getting-started/lessons/4-connect-internet/wio-terminal-commands.md": { + "original_hash": "6754c915dae64ba70fcd5e52c37f3adf", + "translation_date": "2025-08-26T15:02:20+00:00", + "source_file": "1-getting-started/lessons/4-connect-internet/wio-terminal-commands.md", + "language_code": "es" + }, + "1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md": { + "original_hash": "d6faf0e8d3c2d6d20c0aef2a305dab18", + "translation_date": "2025-08-26T15:01:46+00:00", + "source_file": "1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md", + "language_code": "es" + }, + "1-getting-started/lessons/4-connect-internet/wio-terminal-telemetry.md": { + "original_hash": "4bcc29fe2b65e56eada83d2476279227", + "translation_date": "2025-08-26T15:00:11+00:00", + "source_file": "1-getting-started/lessons/4-connect-internet/wio-terminal-telemetry.md", + "language_code": "es" + }, + "2-farm/README.md": { + "original_hash": "428bda82d9e6016ecea7c797564bf081", + "translation_date": "2025-08-26T14:26:47+00:00", + "source_file": "2-farm/README.md", + "language_code": "es" + }, + "2-farm/lessons/1-predict-plant-growth/README.md": { + "original_hash": "d105b44deae539165855c976dcdeca99", + "translation_date": "2025-08-26T14:27:56+00:00", + "source_file": "2-farm/lessons/1-predict-plant-growth/README.md", + "language_code": "es" + }, + "2-farm/lessons/1-predict-plant-growth/assignment.md": { + "original_hash": "1e21b012c6685f8bf73e0e76cdca3347", + "translation_date": "2025-08-26T14:29:25+00:00", + "source_file": "2-farm/lessons/1-predict-plant-growth/assignment.md", + "language_code": "es" + }, + "2-farm/lessons/1-predict-plant-growth/pi-temp.md": { + "original_hash": "7678f7c67b97ee52d5727496dcd7d346", + "translation_date": "2025-08-26T14:31:53+00:00", + "source_file": "2-farm/lessons/1-predict-plant-growth/pi-temp.md", + "language_code": "es" + }, + "2-farm/lessons/1-predict-plant-growth/single-board-computer-temp-publish.md": { + "original_hash": "4efc74299e19f5d08f2f3f34451a11ba", + "translation_date": "2025-08-26T14:29:04+00:00", + "source_file": "2-farm/lessons/1-predict-plant-growth/single-board-computer-temp-publish.md", + "language_code": "es" + }, + "2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md": { + "original_hash": "70e5a428b607cd5a9a4f422c2a4df03d", + "translation_date": "2025-08-26T14:31:02+00:00", + "source_file": "2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md", + "language_code": "es" + }, + "2-farm/lessons/1-predict-plant-growth/wio-terminal-temp-publish.md": { + "original_hash": "df28cd649cd892bcce034e064913b2f3", + "translation_date": "2025-08-26T14:30:28+00:00", + "source_file": "2-farm/lessons/1-predict-plant-growth/wio-terminal-temp-publish.md", + "language_code": "es" + }, + "2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md": { + "original_hash": "59263d094f20b302053888cd236880c3", + "translation_date": "2025-08-26T14:29:55+00:00", + "source_file": "2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md", + "language_code": "es" + }, + "2-farm/lessons/2-detect-soil-moisture/README.md": { + "original_hash": "4fb20273d299dc8d07a8f06c9cd0cdd9", + "translation_date": "2025-08-26T14:43:49+00:00", + "source_file": "2-farm/lessons/2-detect-soil-moisture/README.md", + "language_code": "es" + }, + "2-farm/lessons/2-detect-soil-moisture/assignment.md": { + "original_hash": "506d21b544d5de47406c89ad496a21cd", + "translation_date": "2025-08-26T14:45:31+00:00", + "source_file": "2-farm/lessons/2-detect-soil-moisture/assignment.md", + "language_code": "es" + }, + "2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md": { + "original_hash": "9d4d00a47d5d0f3e6ce42c0d1020064a", + "translation_date": "2025-08-26T14:46:48+00:00", + "source_file": "2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md", + "language_code": "es" + }, + "2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md": { + "original_hash": "2bf65f162bcebd35fbcba5fd245afac4", + "translation_date": "2025-08-26T14:46:07+00:00", + "source_file": "2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md", + "language_code": "es" + }, + "2-farm/lessons/2-detect-soil-moisture/wio-terminal-soil-moisture.md": { + "original_hash": "0d55caa8c23d73635b7559102cd17b8a", + "translation_date": "2025-08-26T14:44:59+00:00", + "source_file": "2-farm/lessons/2-detect-soil-moisture/wio-terminal-soil-moisture.md", + "language_code": "es" + }, + "2-farm/lessons/3-automated-plant-watering/README.md": { + "original_hash": "f7bb24ba53fb627ddb38a8b24a05e594", + "translation_date": "2025-08-26T14:33:40+00:00", + "source_file": "2-farm/lessons/3-automated-plant-watering/README.md", + "language_code": "es" + }, + "2-farm/lessons/3-automated-plant-watering/assignment.md": { + "original_hash": "ed0fbd6aed084bfba7d5e2f206968c50", + "translation_date": "2025-08-26T14:34:57+00:00", + "source_file": "2-farm/lessons/3-automated-plant-watering/assignment.md", + "language_code": "es" + }, + "2-farm/lessons/3-automated-plant-watering/pi-relay.md": { + "original_hash": "66b81165e60f8f169bd52a401b6a0f8b", + "translation_date": "2025-08-26T14:36:15+00:00", + "source_file": "2-farm/lessons/3-automated-plant-watering/pi-relay.md", + "language_code": "es" + }, + "2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md": { + "original_hash": "f8f541ee945545017a51aaf309aa37c3", + "translation_date": "2025-08-26T14:36:52+00:00", + "source_file": "2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md", + "language_code": "es" + }, + "2-farm/lessons/3-automated-plant-watering/wio-terminal-relay.md": { + "original_hash": "f3c5d8afa2ef6a0b425ef8ff20615cb4", + "translation_date": "2025-08-26T14:35:40+00:00", + "source_file": "2-farm/lessons/3-automated-plant-watering/wio-terminal-relay.md", + "language_code": "es" + }, + "2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md": { + "original_hash": "4d8e7a066d75b625e7a979c14157041d", + "translation_date": "2025-08-26T14:48:32+00:00", + "source_file": "2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md", + "language_code": "es" + }, + "2-farm/lessons/4-migrate-your-plant-to-the-cloud/assignment.md": { + "original_hash": "bfd35499bd68d7d740242bfea784bbeb", + "translation_date": "2025-08-26T14:50:24+00:00", + "source_file": "2-farm/lessons/4-migrate-your-plant-to-the-cloud/assignment.md", + "language_code": "es" + }, + "2-farm/lessons/4-migrate-your-plant-to-the-cloud/single-board-computer-connect-hub.md": { + "original_hash": "3ac42e284a7222c0e83d2d43231a364f", + "translation_date": "2025-08-26T14:50:50+00:00", + "source_file": "2-farm/lessons/4-migrate-your-plant-to-the-cloud/single-board-computer-connect-hub.md", + "language_code": "es" + }, + "2-farm/lessons/4-migrate-your-plant-to-the-cloud/wio-terminal-connect-hub.md": { + "original_hash": "28320305a35ea3bc59c41fe146a2e6ed", + "translation_date": "2025-08-26T14:52:01+00:00", + "source_file": "2-farm/lessons/4-migrate-your-plant-to-the-cloud/wio-terminal-connect-hub.md", + "language_code": "es" + }, + "2-farm/lessons/5-migrate-application-to-the-cloud/README.md": { + "original_hash": "5f2d2f4a5a023c93ab34a0cc5b47c0c4", + "translation_date": "2025-08-26T14:39:06+00:00", + "source_file": "2-farm/lessons/5-migrate-application-to-the-cloud/README.md", + "language_code": "es" + }, + "2-farm/lessons/5-migrate-application-to-the-cloud/assignment.md": { + "original_hash": "c24b6e4d90501c9199f2ceb6a648a337", + "translation_date": "2025-08-26T14:40:51+00:00", + "source_file": "2-farm/lessons/5-migrate-application-to-the-cloud/assignment.md", + "language_code": "es" + }, + "2-farm/lessons/6-keep-your-plant-secure/README.md": { + "original_hash": "81c437c568eee1b0dda1f04e88150d37", + "translation_date": "2025-08-26T14:53:39+00:00", + "source_file": "2-farm/lessons/6-keep-your-plant-secure/README.md", + "language_code": "es" + }, + "2-farm/lessons/6-keep-your-plant-secure/assignment.md": { + "original_hash": "34010c663d96d5f419eda6ac2366a78d", + "translation_date": "2025-08-26T14:54:54+00:00", + "source_file": "2-farm/lessons/6-keep-your-plant-secure/assignment.md", + "language_code": "es" + }, + "2-farm/lessons/6-keep-your-plant-secure/single-board-computer-x509.md": { + "original_hash": "9aea84bcc7520222b0e1c50469d62d6a", + "translation_date": "2025-08-26T14:55:19+00:00", + "source_file": "2-farm/lessons/6-keep-your-plant-secure/single-board-computer-x509.md", + "language_code": "es" + }, + "2-farm/lessons/6-keep-your-plant-secure/wio-terminal-x509.md": { + "original_hash": "8a74f789f3c1bf41a13c007190360c19", + "translation_date": "2025-08-26T14:55:36+00:00", + "source_file": "2-farm/lessons/6-keep-your-plant-secure/wio-terminal-x509.md", + "language_code": "es" + }, + "3-transport/README.md": { + "original_hash": "e978534a245b000725ed2a048f943213", + "translation_date": "2025-08-26T15:42:45+00:00", + "source_file": "3-transport/README.md", + "language_code": "es" + }, + "3-transport/lessons/1-location-tracking/README.md": { + "original_hash": "52ed2bd997d08040f79a1a6ef2bac958", + "translation_date": "2025-08-26T15:48:12+00:00", + "source_file": "3-transport/lessons/1-location-tracking/README.md", + "language_code": "es" + }, + "3-transport/lessons/1-location-tracking/assignment.md": { + "original_hash": "bded364fc06ce37d7a76aed3be1ba73a", + "translation_date": "2025-08-26T15:49:16+00:00", + "source_file": "3-transport/lessons/1-location-tracking/assignment.md", + "language_code": "es" + }, + "3-transport/lessons/1-location-tracking/pi-gps-sensor.md": { + "original_hash": "3b2448c7ab4e9673e77e35a50c5e350d", + "translation_date": "2025-08-26T15:50:01+00:00", + "source_file": "3-transport/lessons/1-location-tracking/pi-gps-sensor.md", + "language_code": "es" + }, + "3-transport/lessons/1-location-tracking/single-board-computer-gps-decode.md": { + "original_hash": "cbb8c285bc64c5192fae3368fb5077d2", + "translation_date": "2025-08-26T15:49:33+00:00", + "source_file": "3-transport/lessons/1-location-tracking/single-board-computer-gps-decode.md", + "language_code": "es" + }, + "3-transport/lessons/1-location-tracking/virtual-device-gps-sensor.md": { + "original_hash": "64f18a8f8aaa1fef5e7320e0992d8b3a", + "translation_date": "2025-08-26T15:46:38+00:00", + "source_file": "3-transport/lessons/1-location-tracking/virtual-device-gps-sensor.md", + "language_code": "es" + }, + "3-transport/lessons/1-location-tracking/wio-terminal-gps-decode.md": { + "original_hash": "fbbcf96a9b63ccd661db98bbf854bb06", + "translation_date": "2025-08-26T15:50:30+00:00", + "source_file": "3-transport/lessons/1-location-tracking/wio-terminal-gps-decode.md", + "language_code": "es" + }, + "3-transport/lessons/1-location-tracking/wio-terminal-gps-sensor.md": { + "original_hash": "da6ae0a795cf06be33d23ca5b8493fc8", + "translation_date": "2025-08-26T15:46:03+00:00", + "source_file": "3-transport/lessons/1-location-tracking/wio-terminal-gps-sensor.md", + "language_code": "es" + }, + "3-transport/lessons/2-store-location-data/README.md": { + "original_hash": "e345843ccfeb7261d81500d19c64d476", + "translation_date": "2025-08-26T15:55:02+00:00", + "source_file": "3-transport/lessons/2-store-location-data/README.md", + "language_code": "es" + }, + "3-transport/lessons/2-store-location-data/assignment.md": { + "original_hash": "b2e0a965723082b068f735aec0faf3f6", + "translation_date": "2025-08-26T15:56:29+00:00", + "source_file": "3-transport/lessons/2-store-location-data/assignment.md", + "language_code": "es" + }, + "3-transport/lessons/3-visualize-location-data/README.md": { + "original_hash": "9095c61445c2bca7245ef9b59a186a11", + "translation_date": "2025-08-26T15:52:17+00:00", + "source_file": "3-transport/lessons/3-visualize-location-data/README.md", + "language_code": "es" + }, + "3-transport/lessons/3-visualize-location-data/assignment.md": { + "original_hash": "0ccdc1faa676a485c4c6ecbddb9f9067", + "translation_date": "2025-08-26T15:53:30+00:00", + "source_file": "3-transport/lessons/3-visualize-location-data/assignment.md", + "language_code": "es" + }, + "3-transport/lessons/4-geofences/README.md": { + "original_hash": "078ae664c7b686bf069545e9a5fc95b2", + "translation_date": "2025-08-26T15:44:11+00:00", + "source_file": "3-transport/lessons/4-geofences/README.md", + "language_code": "es" + }, + "3-transport/lessons/4-geofences/assignment.md": { + "original_hash": "5cb65a6ec4387ed177e145347e8e308e", + "translation_date": "2025-08-26T15:45:35+00:00", + "source_file": "3-transport/lessons/4-geofences/assignment.md", + "language_code": "es" + }, + "4-manufacturing/README.md": { + "original_hash": "3764e089adf2d5801272bc0895f8498b", + "translation_date": "2025-08-26T14:06:47+00:00", + "source_file": "4-manufacturing/README.md", + "language_code": "es" + }, + "4-manufacturing/lessons/1-train-fruit-detector/README.md": { + "original_hash": "f5e63c916d2dd97d58be12aaf76bd9f1", + "translation_date": "2025-08-26T14:07:54+00:00", + "source_file": "4-manufacturing/lessons/1-train-fruit-detector/README.md", + "language_code": "es" + }, + "4-manufacturing/lessons/1-train-fruit-detector/assignment.md": { + "original_hash": "e74eb2fc7cc3b81916b52e957802f182", + "translation_date": "2025-08-26T14:09:07+00:00", + "source_file": "4-manufacturing/lessons/1-train-fruit-detector/assignment.md", + "language_code": "es" + }, + "4-manufacturing/lessons/2-check-fruit-from-device/README.md": { + "original_hash": "557f4ee96b752e0651d2e6e74aa6bd14", + "translation_date": "2025-08-26T14:10:00+00:00", + "source_file": "4-manufacturing/lessons/2-check-fruit-from-device/README.md", + "language_code": "es" + }, + "4-manufacturing/lessons/2-check-fruit-from-device/assignment.md": { + "original_hash": "022e21f8629b721424c1de25195fff67", + "translation_date": "2025-08-26T14:10:46+00:00", + "source_file": "4-manufacturing/lessons/2-check-fruit-from-device/assignment.md", + "language_code": "es" + }, + "4-manufacturing/lessons/2-check-fruit-from-device/pi-camera.md": { + "original_hash": "c677667095f6133eee418c7e53615d05", + "translation_date": "2025-08-26T14:11:17+00:00", + "source_file": "4-manufacturing/lessons/2-check-fruit-from-device/pi-camera.md", + "language_code": "es" + }, + "4-manufacturing/lessons/2-check-fruit-from-device/single-board-computer-classify-image.md": { + "original_hash": "e5896207b304ce1abaf065b8acc0cc79", + "translation_date": "2025-08-26T14:11:56+00:00", + "source_file": "4-manufacturing/lessons/2-check-fruit-from-device/single-board-computer-classify-image.md", + "language_code": "es" + }, + "4-manufacturing/lessons/2-check-fruit-from-device/virtual-device-camera.md": { + "original_hash": "3ba7150ffc4a6999f6c3cfb4906ec7df", + "translation_date": "2025-08-26T14:13:24+00:00", + "source_file": "4-manufacturing/lessons/2-check-fruit-from-device/virtual-device-camera.md", + "language_code": "es" + }, + "4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-camera.md": { + "original_hash": "160be8c0f558687f6686dca64f10f739", + "translation_date": "2025-08-26T14:14:51+00:00", + "source_file": "4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-camera.md", + "language_code": "es" + }, + "4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-classify-image.md": { + "original_hash": "32a1f23e7834fbe7715da8c4ebb450b9", + "translation_date": "2025-08-26T14:12:36+00:00", + "source_file": "4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-classify-image.md", + "language_code": "es" + }, + "4-manufacturing/lessons/3-run-fruit-detector-edge/README.md": { + "original_hash": "2625af24587465c5547ae33d6cc000a5", + "translation_date": "2025-08-26T14:17:09+00:00", + "source_file": "4-manufacturing/lessons/3-run-fruit-detector-edge/README.md", + "language_code": "es" + }, + "4-manufacturing/lessons/3-run-fruit-detector-edge/assignment.md": { + "original_hash": "cc7ad255517f5f618f9c8899e6ff6783", + "translation_date": "2025-08-26T14:18:56+00:00", + "source_file": "4-manufacturing/lessons/3-run-fruit-detector-edge/assignment.md", + "language_code": "es" + }, + "4-manufacturing/lessons/3-run-fruit-detector-edge/single-board-computer.md": { + "original_hash": "50151d9f9dce2801348a93880ef16d86", + "translation_date": "2025-08-26T14:20:54+00:00", + "source_file": "4-manufacturing/lessons/3-run-fruit-detector-edge/single-board-computer.md", + "language_code": "es" + }, + "4-manufacturing/lessons/3-run-fruit-detector-edge/vm-iotedge.md": { + "original_hash": "24dc783a600e20251211987b36370e93", + "translation_date": "2025-08-26T14:19:44+00:00", + "source_file": "4-manufacturing/lessons/3-run-fruit-detector-edge/vm-iotedge.md", + "language_code": "es" + }, + "4-manufacturing/lessons/3-run-fruit-detector-edge/wio-terminal.md": { + "original_hash": "48ac21ec80329c930db7b84bd6b592ec", + "translation_date": "2025-08-26T14:20:25+00:00", + "source_file": "4-manufacturing/lessons/3-run-fruit-detector-edge/wio-terminal.md", + "language_code": "es" + }, + "4-manufacturing/lessons/4-trigger-fruit-detector/README.md": { + "original_hash": "f74f4ccb61f00e5f7e9f49c3ed416e36", + "translation_date": "2025-08-26T14:22:14+00:00", + "source_file": "4-manufacturing/lessons/4-trigger-fruit-detector/README.md", + "language_code": "es" + }, + "4-manufacturing/lessons/4-trigger-fruit-detector/assignment.md": { + "original_hash": "1a85e50c33c38dcd2cde2a97d132f248", + "translation_date": "2025-08-26T14:23:22+00:00", + "source_file": "4-manufacturing/lessons/4-trigger-fruit-detector/assignment.md", + "language_code": "es" + }, + "4-manufacturing/lessons/4-trigger-fruit-detector/pi-proximity.md": { + "original_hash": "6145a1d791731c8a9d0afd0a1bae5108", + "translation_date": "2025-08-26T14:23:48+00:00", + "source_file": "4-manufacturing/lessons/4-trigger-fruit-detector/pi-proximity.md", + "language_code": "es" + }, + "4-manufacturing/lessons/4-trigger-fruit-detector/virtual-device-proximity.md": { + "original_hash": "7e9f05bdc50a40fd924b1d66934471bf", + "translation_date": "2025-08-26T14:26:23+00:00", + "source_file": "4-manufacturing/lessons/4-trigger-fruit-detector/virtual-device-proximity.md", + "language_code": "es" + }, + "4-manufacturing/lessons/4-trigger-fruit-detector/wio-terminal-proximity.md": { + "original_hash": "288aebb0c59f7be1d2719b8f9660a313", + "translation_date": "2025-08-26T14:24:20+00:00", + "source_file": "4-manufacturing/lessons/4-trigger-fruit-detector/wio-terminal-proximity.md", + "language_code": "es" + }, + "5-retail/README.md": { + "original_hash": "22a1d6e49f2a689fe5bfa7802a7241fc", + "translation_date": "2025-08-26T13:59:35+00:00", + "source_file": "5-retail/README.md", + "language_code": "es" + }, + "5-retail/lessons/1-train-stock-detector/README.md": { + "original_hash": "8df310a42f902139a01417dacb1ffbef", + "translation_date": "2025-08-26T14:05:26+00:00", + "source_file": "5-retail/lessons/1-train-stock-detector/README.md", + "language_code": "es" + }, + "5-retail/lessons/1-train-stock-detector/assignment.md": { + "original_hash": "d93ee76fac4c2199973689ecd05baaf9", + "translation_date": "2025-08-26T14:06:23+00:00", + "source_file": "5-retail/lessons/1-train-stock-detector/assignment.md", + "language_code": "es" + }, + "5-retail/lessons/2-check-stock-device/README.md": { + "original_hash": "1c9e5fa8b7be726c75a97232b1e41c97", + "translation_date": "2025-08-26T14:01:32+00:00", + "source_file": "5-retail/lessons/2-check-stock-device/README.md", + "language_code": "es" + }, + "5-retail/lessons/2-check-stock-device/assignment.md": { + "original_hash": "3cf7783991ec0ee4f6041223924894c7", + "translation_date": "2025-08-26T14:02:14+00:00", + "source_file": "5-retail/lessons/2-check-stock-device/assignment.md", + "language_code": "es" + }, + "5-retail/lessons/2-check-stock-device/single-board-computer-count-stock.md": { + "original_hash": "9c4320311c0f2c1884a6a21265d98a51", + "translation_date": "2025-08-26T14:03:27+00:00", + "source_file": "5-retail/lessons/2-check-stock-device/single-board-computer-count-stock.md", + "language_code": "es" + }, + "5-retail/lessons/2-check-stock-device/single-board-computer-object-detector.md": { + "original_hash": "a3fdfec1d1e2cb645ea11c2930b51299", + "translation_date": "2025-08-26T14:00:02+00:00", + "source_file": "5-retail/lessons/2-check-stock-device/single-board-computer-object-detector.md", + "language_code": "es" + }, + "5-retail/lessons/2-check-stock-device/wio-terminal-count-stock.md": { + "original_hash": "0b2ae20b0fc8e73c9598dea937cac038", + "translation_date": "2025-08-26T14:02:47+00:00", + "source_file": "5-retail/lessons/2-check-stock-device/wio-terminal-count-stock.md", + "language_code": "es" + }, + "5-retail/lessons/2-check-stock-device/wio-terminal-object-detector.md": { + "original_hash": "4cf1421420a6fab9ab4f2c391bd523b7", + "translation_date": "2025-08-26T14:04:18+00:00", + "source_file": "5-retail/lessons/2-check-stock-device/wio-terminal-object-detector.md", + "language_code": "es" + }, + "6-consumer/README.md": { + "original_hash": "5de7dc1e2ddc402d415473bb795568d4", + "translation_date": "2025-08-26T15:19:58+00:00", + "source_file": "6-consumer/README.md", + "language_code": "es" + }, + "6-consumer/lessons/1-speech-recognition/README.md": { + "original_hash": "6d6aa1be033625d201a190fc9c5cbfb4", + "translation_date": "2025-08-26T15:35:19+00:00", + "source_file": "6-consumer/lessons/1-speech-recognition/README.md", + "language_code": "es" + }, + "6-consumer/lessons/1-speech-recognition/assignment.md": { + "original_hash": "5ae7654f519ae831179409dc8e528055", + "translation_date": "2025-08-26T15:36:31+00:00", + "source_file": "6-consumer/lessons/1-speech-recognition/assignment.md", + "language_code": "es" + }, + "6-consumer/lessons/1-speech-recognition/pi-audio.md": { + "original_hash": "0ac0afcfb40cb5970ef4cb74f01c32e9", + "translation_date": "2025-08-26T15:33:44+00:00", + "source_file": "6-consumer/lessons/1-speech-recognition/pi-audio.md", + "language_code": "es" + }, + "6-consumer/lessons/1-speech-recognition/pi-microphone.md": { + "original_hash": "7e45d884493c5222348b43fbc4481b6a", + "translation_date": "2025-08-26T15:40:35+00:00", + "source_file": "6-consumer/lessons/1-speech-recognition/pi-microphone.md", + "language_code": "es" + }, + "6-consumer/lessons/1-speech-recognition/pi-speech-to-text.md": { + "original_hash": "af249a24d4fe4f4de4806adbc3bc9d86", + "translation_date": "2025-08-26T15:41:54+00:00", + "source_file": "6-consumer/lessons/1-speech-recognition/pi-speech-to-text.md", + "language_code": "es" + }, + "6-consumer/lessons/1-speech-recognition/virtual-device-audio.md": { + "original_hash": "e4f2925acb211765889c3b51b9116ceb", + "translation_date": "2025-08-26T15:42:15+00:00", + "source_file": "6-consumer/lessons/1-speech-recognition/virtual-device-audio.md", + "language_code": "es" + }, + "6-consumer/lessons/1-speech-recognition/virtual-device-microphone.md": { + "original_hash": "7a65ee743f916276a2848b8a9491feb7", + "translation_date": "2025-08-26T15:42:26+00:00", + "source_file": "6-consumer/lessons/1-speech-recognition/virtual-device-microphone.md", + "language_code": "es" + }, + "6-consumer/lessons/1-speech-recognition/virtual-device-speech-to-text.md": { + "original_hash": "c0550b254b9ba2539baf1e6bb5fc05f8", + "translation_date": "2025-08-26T15:36:50+00:00", + "source_file": "6-consumer/lessons/1-speech-recognition/virtual-device-speech-to-text.md", + "language_code": "es" + }, + "6-consumer/lessons/1-speech-recognition/wio-terminal-audio.md": { + "original_hash": "2f336726b9410e97c3aaed76cc89b0d8", + "translation_date": "2025-08-26T15:37:52+00:00", + "source_file": "6-consumer/lessons/1-speech-recognition/wio-terminal-audio.md", + "language_code": "es" + }, + "6-consumer/lessons/1-speech-recognition/wio-terminal-microphone.md": { + "original_hash": "93d352de36526b8990e41dd538100324", + "translation_date": "2025-08-26T15:41:15+00:00", + "source_file": "6-consumer/lessons/1-speech-recognition/wio-terminal-microphone.md", + "language_code": "es" + }, + "6-consumer/lessons/1-speech-recognition/wio-terminal-speech-to-text.md": { + "original_hash": "3f92edf2975175577174910caca4a389", + "translation_date": "2025-08-26T15:39:23+00:00", + "source_file": "6-consumer/lessons/1-speech-recognition/wio-terminal-speech-to-text.md", + "language_code": "es" + }, + "6-consumer/lessons/2-language-understanding/README.md": { + "original_hash": "6f4ba69d77f16c4a5110623a96a215c3", + "translation_date": "2025-08-26T15:26:05+00:00", + "source_file": "6-consumer/lessons/2-language-understanding/README.md", + "language_code": "es" + }, + "6-consumer/lessons/2-language-understanding/assignment.md": { + "original_hash": "5a7262a0c48dfacdfe1ff91b20bf16fd", + "translation_date": "2025-08-26T15:27:40+00:00", + "source_file": "6-consumer/lessons/2-language-understanding/assignment.md", + "language_code": "es" + }, + "6-consumer/lessons/3-spoken-feedback/README.md": { + "original_hash": "b73fe10ec6b580fba2affb6f6e0a5c4d", + "translation_date": "2025-08-26T15:28:55+00:00", + "source_file": "6-consumer/lessons/3-spoken-feedback/README.md", + "language_code": "es" + }, + "6-consumer/lessons/3-spoken-feedback/assignment.md": { + "original_hash": "da5d9360fe02fdcc1e91a725016c846d", + "translation_date": "2025-08-26T15:29:41+00:00", + "source_file": "6-consumer/lessons/3-spoken-feedback/assignment.md", + "language_code": "es" + }, + "6-consumer/lessons/3-spoken-feedback/pi-text-to-speech.md": { + "original_hash": "606f3af1c78e3741e48ce77c31cea626", + "translation_date": "2025-08-26T15:30:53+00:00", + "source_file": "6-consumer/lessons/3-spoken-feedback/pi-text-to-speech.md", + "language_code": "es" + }, + "6-consumer/lessons/3-spoken-feedback/single-board-computer-set-timer.md": { + "original_hash": "64ad4ddb4de81a18b7252e968f10b404", + "translation_date": "2025-08-26T15:28:05+00:00", + "source_file": "6-consumer/lessons/3-spoken-feedback/single-board-computer-set-timer.md", + "language_code": "es" + }, + "6-consumer/lessons/3-spoken-feedback/virtual-device-text-to-speech.md": { + "original_hash": "7966848a1f870e4c42edb4db67b13c57", + "translation_date": "2025-08-26T15:33:01+00:00", + "source_file": "6-consumer/lessons/3-spoken-feedback/virtual-device-text-to-speech.md", + "language_code": "es" + }, + "6-consumer/lessons/3-spoken-feedback/wio-terminal-set-timer.md": { + "original_hash": "012b69d57d898d670adf61304f42a137", + "translation_date": "2025-08-26T15:30:12+00:00", + "source_file": "6-consumer/lessons/3-spoken-feedback/wio-terminal-set-timer.md", + "language_code": "es" + }, + "6-consumer/lessons/3-spoken-feedback/wio-terminal-text-to-speech.md": { + "original_hash": "a202fa5889790a3777bfc33dd9f4b459", + "translation_date": "2025-08-26T15:32:01+00:00", + "source_file": "6-consumer/lessons/3-spoken-feedback/wio-terminal-text-to-speech.md", + "language_code": "es" + }, + "6-consumer/lessons/4-multiple-language-support/README.md": { + "original_hash": "c16de27b0074abe81d6a8bad5e5b1a6b", + "translation_date": "2025-08-26T15:21:46+00:00", + "source_file": "6-consumer/lessons/4-multiple-language-support/README.md", + "language_code": "es" + }, + "6-consumer/lessons/4-multiple-language-support/assignment.md": { + "original_hash": "701f4a4466f9309b6e1d863077df0c06", + "translation_date": "2025-08-26T15:22:38+00:00", + "source_file": "6-consumer/lessons/4-multiple-language-support/assignment.md", + "language_code": "es" + }, + "6-consumer/lessons/4-multiple-language-support/pi-translate-speech.md": { + "original_hash": "bbb5aa34221fe129dd3ce4d9ec33831a", + "translation_date": "2025-08-26T15:23:09+00:00", + "source_file": "6-consumer/lessons/4-multiple-language-support/pi-translate-speech.md", + "language_code": "es" + }, + "6-consumer/lessons/4-multiple-language-support/virtual-device-translate-speech.md": { + "original_hash": "d620a470d9dd8614d99824832978360a", + "translation_date": "2025-08-26T15:23:53+00:00", + "source_file": "6-consumer/lessons/4-multiple-language-support/virtual-device-translate-speech.md", + "language_code": "es" + }, + "6-consumer/lessons/4-multiple-language-support/wio-terminal-translate-speech.md": { + "original_hash": "5f6c164e349f8989959e02a90f37908d", + "translation_date": "2025-08-26T15:20:39+00:00", + "source_file": "6-consumer/lessons/4-multiple-language-support/wio-terminal-translate-speech.md", + "language_code": "es" + }, + "CODE_OF_CONDUCT.md": { + "original_hash": "c06b12caf3c901eb3156e3dd5b0aea56", + "translation_date": "2025-08-26T13:57:25+00:00", + "source_file": "CODE_OF_CONDUCT.md", + "language_code": "es" + }, + "CONTRIBUTING.md": { + "original_hash": "d6f80293fa9c213283eac7e79b078671", + "translation_date": "2025-08-26T13:59:05+00:00", + "source_file": "CONTRIBUTING.md", + "language_code": "es" + }, + "README.md": { + "original_hash": "3fcc056cd3837e33d2bdf79f9c359fcf", + "translation_date": "2026-01-30T01:02:36+00:00", + "source_file": "README.md", + "language_code": "es" + }, + "SECURITY.md": { + "original_hash": "8587f83cfded1bfab99fda4022f4df89", + "translation_date": "2025-08-26T13:58:45+00:00", + "source_file": "SECURITY.md", + "language_code": "es" + }, + "SUPPORT.md": { + "original_hash": "cd89329575372232e59605f7a08ae0df", + "translation_date": "2025-08-26T13:56:27+00:00", + "source_file": "SUPPORT.md", + "language_code": "es" + }, + "TROUBLESHOOTING.md": { + "original_hash": "9713e21a309662f6fcb271b573d47848", + "translation_date": "2026-01-05T12:34:43+00:00", + "source_file": "TROUBLESHOOTING.md", + "language_code": "es" + }, + "attributions.md": { + "original_hash": "4506d33bbda7acc0ab20980172687090", + "translation_date": "2025-08-26T13:52:43+00:00", + "source_file": "attributions.md", + "language_code": "es" + }, + "clean-up.md": { + "original_hash": "5a94fbab1ba737e9bd6cc6c64f114fa0", + "translation_date": "2025-08-26T13:57:07+00:00", + "source_file": "clean-up.md", + "language_code": "es" + }, + "docs/_sidebar.md": { + "original_hash": "686f22febaa2b67aa03b738c0dc0bf9b", + "translation_date": "2025-08-26T14:55:58+00:00", + "source_file": "docs/_sidebar.md", + "language_code": "es" + }, + "docs/troubleshooting.md": { + "original_hash": "271dcd720357806934b2f0d94e19410e", + "translation_date": "2026-01-05T12:42:22+00:00", + "source_file": "docs/troubleshooting.md", + "language_code": "es" + }, + "for-teachers.md": { + "original_hash": "9fd36f5dc734203ee28b6cf2573e5eab", + "translation_date": "2025-08-26T13:56:45+00:00", + "source_file": "for-teachers.md", + "language_code": "es" + }, + "hardware.md": { + "original_hash": "3dce18fab38adf93ff30b8c221b1eec5", + "translation_date": "2025-08-26T13:58:03+00:00", + "source_file": "hardware.md", + "language_code": "es" + }, + "images/README.md": { + "original_hash": "50abd54997afa7e7a3fc7019379e49e3", + "translation_date": "2025-08-26T13:59:22+00:00", + "source_file": "images/README.md", + "language_code": "es" + }, + "lesson-template/README.md": { + "original_hash": "0494be70ad7fadd13a8c3d549c23e355", + "translation_date": "2025-08-26T15:56:44+00:00", + "source_file": "lesson-template/README.md", + "language_code": "es" + }, + "lesson-template/assignment.md": { + "original_hash": "b5f62ec256c7e43e771f0d3b4e1a9130", + "translation_date": "2025-08-26T15:56:55+00:00", + "source_file": "lesson-template/assignment.md", + "language_code": "es" + }, + "quiz-app/README.md": { + "original_hash": "2a459ea9177fb0508ca96068ae1009d2", + "translation_date": "2025-08-26T15:57:16+00:00", + "source_file": "quiz-app/README.md", + "language_code": "es" + }, + "recommended-learning-model.md": { + "original_hash": "012bbd19f13171be32ac9ba21d4186c2", + "translation_date": "2025-08-26T13:53:18+00:00", + "source_file": "recommended-learning-model.md", + "language_code": "es" + } +} \ No newline at end of file diff --git a/translations/es/1-getting-started/README.md b/translations/es/1-getting-started/README.md index 481fa2a0d..4eb8f3485 100644 --- a/translations/es/1-getting-started/README.md +++ b/translations/es/1-getting-started/README.md @@ -1,12 +1,3 @@ - # Comenzando con IoT En esta sección del plan de estudios, se te presentará el Internet de las Cosas y aprenderás los conceptos básicos, incluyendo la creación de tu primer proyecto IoT de 'Hola Mundo' conectado a la nube. Este proyecto consiste en una luz nocturna que se enciende a medida que los niveles de luz medidos por un sensor disminuyen. diff --git a/translations/es/1-getting-started/lessons/1-introduction-to-iot/README.md b/translations/es/1-getting-started/lessons/1-introduction-to-iot/README.md index 8a6052f8e..df4a6942b 100644 --- a/translations/es/1-getting-started/lessons/1-introduction-to-iot/README.md +++ b/translations/es/1-getting-started/lessons/1-introduction-to-iot/README.md @@ -1,12 +1,3 @@ - # Introducción a IoT ![Un resumen visual de esta lección](../../../../../translated_images/es/lesson-1.2606670fa61ee904687da5d6fa4e726639d524d064c895117da1b95b9ff6251d.jpg) diff --git a/translations/es/1-getting-started/lessons/1-introduction-to-iot/assignment.md b/translations/es/1-getting-started/lessons/1-introduction-to-iot/assignment.md index f2381f175..7465a7afa 100644 --- a/translations/es/1-getting-started/lessons/1-introduction-to-iot/assignment.md +++ b/translations/es/1-getting-started/lessons/1-introduction-to-iot/assignment.md @@ -1,12 +1,3 @@ - # Investigar un proyecto de IoT ## Instrucciones diff --git a/translations/es/1-getting-started/lessons/1-introduction-to-iot/pi.md b/translations/es/1-getting-started/lessons/1-introduction-to-iot/pi.md index 6f7022964..d4160c5b8 100644 --- a/translations/es/1-getting-started/lessons/1-introduction-to-iot/pi.md +++ b/translations/es/1-getting-started/lessons/1-introduction-to-iot/pi.md @@ -1,12 +1,3 @@ - # Raspberry Pi El [Raspberry Pi](https://raspberrypi.org) es un ordenador de placa única. Puedes añadir sensores y actuadores utilizando una amplia gama de dispositivos y ecosistemas. Para estas lecciones, utilizaremos un ecosistema de hardware llamado [Grove](https://www.seeedstudio.com/category/Grove-c-1003.html). Programarás tu Pi y accederás a los sensores Grove usando Python. diff --git a/translations/es/1-getting-started/lessons/1-introduction-to-iot/virtual-device.md b/translations/es/1-getting-started/lessons/1-introduction-to-iot/virtual-device.md index 65f3ae16b..15d2f45a4 100644 --- a/translations/es/1-getting-started/lessons/1-introduction-to-iot/virtual-device.md +++ b/translations/es/1-getting-started/lessons/1-introduction-to-iot/virtual-device.md @@ -1,12 +1,3 @@ - # Computadora de placa única virtual En lugar de comprar un dispositivo IoT junto con sensores y actuadores, puedes usar tu computadora para simular hardware IoT. El proyecto [CounterFit](https://github.com/CounterFit-IoT/CounterFit) te permite ejecutar una aplicación localmente que simula hardware IoT como sensores y actuadores, y acceder a ellos desde código Python local escrito de la misma manera que lo harías en una Raspberry Pi utilizando hardware físico. diff --git a/translations/es/1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md b/translations/es/1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md index 5384d01c3..81889bf17 100644 --- a/translations/es/1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md +++ b/translations/es/1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md @@ -1,12 +1,3 @@ - # Wio Terminal El [Wio Terminal de Seeed Studios](https://www.seeedstudio.com/Wio-Terminal-p-4509.html) es un microcontrolador compatible con Arduino, con WiFi y algunos sensores y actuadores integrados, así como puertos para añadir más sensores y actuadores utilizando un ecosistema de hardware llamado [Grove](https://www.seeedstudio.com/category/Grove-c-1003.html). diff --git a/translations/es/1-getting-started/lessons/2-deeper-dive/README.md b/translations/es/1-getting-started/lessons/2-deeper-dive/README.md index 54c8b5aeb..9a2e17df5 100644 --- a/translations/es/1-getting-started/lessons/2-deeper-dive/README.md +++ b/translations/es/1-getting-started/lessons/2-deeper-dive/README.md @@ -1,12 +1,3 @@ - # Una exploración más profunda en IoT ![Un resumen visual de esta lección](../../../../../translated_images/es/lesson-2.324b0580d620c25e0a24fb7fddfc0b29a846dd4b82c08e7a9466d580ee78ce51.jpg) diff --git a/translations/es/1-getting-started/lessons/2-deeper-dive/assignment.md b/translations/es/1-getting-started/lessons/2-deeper-dive/assignment.md index 0ced8b073..33c7e0c90 100644 --- a/translations/es/1-getting-started/lessons/2-deeper-dive/assignment.md +++ b/translations/es/1-getting-started/lessons/2-deeper-dive/assignment.md @@ -1,12 +1,3 @@ - # Comparar y contrastar microcontroladores y computadoras de placa única ## Instrucciones diff --git a/translations/es/1-getting-started/lessons/3-sensors-and-actuators/README.md b/translations/es/1-getting-started/lessons/3-sensors-and-actuators/README.md index ac16759d6..357224df5 100644 --- a/translations/es/1-getting-started/lessons/3-sensors-and-actuators/README.md +++ b/translations/es/1-getting-started/lessons/3-sensors-and-actuators/README.md @@ -1,12 +1,3 @@ - # Interactúa con el mundo físico con sensores y actuadores ![Una vista general de esta lección en formato sketchnote](../../../../../translated_images/es/lesson-3.cc3b7b4cd646de598698cce043c0393fd62ef42bac2eaf60e61272cd844250f4.jpg) diff --git a/translations/es/1-getting-started/lessons/3-sensors-and-actuators/assignment.md b/translations/es/1-getting-started/lessons/3-sensors-and-actuators/assignment.md index 6e202137a..3047cb91a 100644 --- a/translations/es/1-getting-started/lessons/3-sensors-and-actuators/assignment.md +++ b/translations/es/1-getting-started/lessons/3-sensors-and-actuators/assignment.md @@ -1,12 +1,3 @@ - # Investigar sensores y actuadores ## Instrucciones diff --git a/translations/es/1-getting-started/lessons/3-sensors-and-actuators/pi-actuator.md b/translations/es/1-getting-started/lessons/3-sensors-and-actuators/pi-actuator.md index 1452844c9..e376add31 100644 --- a/translations/es/1-getting-started/lessons/3-sensors-and-actuators/pi-actuator.md +++ b/translations/es/1-getting-started/lessons/3-sensors-and-actuators/pi-actuator.md @@ -1,12 +1,3 @@ - # Construye una luz nocturna - Raspberry Pi En esta parte de la lección, agregarás un LED a tu Raspberry Pi y lo usarás para crear una luz nocturna. diff --git a/translations/es/1-getting-started/lessons/3-sensors-and-actuators/pi-sensor.md b/translations/es/1-getting-started/lessons/3-sensors-and-actuators/pi-sensor.md index 546ab3973..887a23744 100644 --- a/translations/es/1-getting-started/lessons/3-sensors-and-actuators/pi-sensor.md +++ b/translations/es/1-getting-started/lessons/3-sensors-and-actuators/pi-sensor.md @@ -1,12 +1,3 @@ - # Construir una luz nocturna - Raspberry Pi En esta parte de la lección, agregarás un sensor de luz a tu Raspberry Pi. diff --git a/translations/es/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-actuator.md b/translations/es/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-actuator.md index f1403e1ef..b2f199a8b 100644 --- a/translations/es/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-actuator.md +++ b/translations/es/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-actuator.md @@ -1,12 +1,3 @@ - # Construir una luz nocturna - Hardware IoT Virtual En esta parte de la lección, agregarás un LED a tu dispositivo IoT virtual y lo usarás para crear una luz nocturna. diff --git a/translations/es/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-sensor.md b/translations/es/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-sensor.md index bc07b9b5a..b6fc2f22a 100644 --- a/translations/es/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-sensor.md +++ b/translations/es/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-sensor.md @@ -1,12 +1,3 @@ - # Construir una luz nocturna - Hardware IoT Virtual En esta parte de la lección, agregarás un sensor de luz a tu dispositivo IoT virtual. diff --git a/translations/es/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-actuator.md b/translations/es/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-actuator.md index dac070f43..446c92fd6 100644 --- a/translations/es/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-actuator.md +++ b/translations/es/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-actuator.md @@ -1,12 +1,3 @@ - # Construye una luz nocturna - Wio Terminal En esta parte de la lección, agregarás un LED a tu Wio Terminal y lo usarás para crear una luz nocturna. diff --git a/translations/es/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-sensor.md b/translations/es/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-sensor.md index 79c878839..491798176 100644 --- a/translations/es/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-sensor.md +++ b/translations/es/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-sensor.md @@ -1,12 +1,3 @@ - # Agregar un sensor - Wio Terminal En esta parte de la lección, usarás el sensor de luz en tu Wio Terminal. diff --git a/translations/es/1-getting-started/lessons/4-connect-internet/README.md b/translations/es/1-getting-started/lessons/4-connect-internet/README.md index bc93582ff..21d6cddec 100644 --- a/translations/es/1-getting-started/lessons/4-connect-internet/README.md +++ b/translations/es/1-getting-started/lessons/4-connect-internet/README.md @@ -1,12 +1,3 @@ - # Conecta tu dispositivo a Internet ![Un resumen visual de esta lección](../../../../../translated_images/es/lesson-4.7344e074ea68fa545fd320b12dce36d72dd62d28c3b4596cb26cf315f434b98f.jpg) diff --git a/translations/es/1-getting-started/lessons/4-connect-internet/assignment.md b/translations/es/1-getting-started/lessons/4-connect-internet/assignment.md index b7ea8bd0e..119388dc8 100644 --- a/translations/es/1-getting-started/lessons/4-connect-internet/assignment.md +++ b/translations/es/1-getting-started/lessons/4-connect-internet/assignment.md @@ -1,12 +1,3 @@ - # Comparar y contrastar MQTT con otros protocolos de comunicación ## Instrucciones diff --git a/translations/es/1-getting-started/lessons/4-connect-internet/single-board-computer-commands.md b/translations/es/1-getting-started/lessons/4-connect-internet/single-board-computer-commands.md index 5133de3f4..63b2dc18d 100644 --- a/translations/es/1-getting-started/lessons/4-connect-internet/single-board-computer-commands.md +++ b/translations/es/1-getting-started/lessons/4-connect-internet/single-board-computer-commands.md @@ -1,12 +1,3 @@ - # Controla tu luz nocturna a través de Internet - Hardware IoT Virtual y Raspberry Pi En esta parte de la lección, te suscribirás a los comandos enviados desde un broker MQTT a tu Raspberry Pi o dispositivo IoT virtual. diff --git a/translations/es/1-getting-started/lessons/4-connect-internet/single-board-computer-mqtt.md b/translations/es/1-getting-started/lessons/4-connect-internet/single-board-computer-mqtt.md index f89afdf3c..78608c866 100644 --- a/translations/es/1-getting-started/lessons/4-connect-internet/single-board-computer-mqtt.md +++ b/translations/es/1-getting-started/lessons/4-connect-internet/single-board-computer-mqtt.md @@ -1,12 +1,3 @@ - # Controla tu luz nocturna a través de Internet - Hardware IoT Virtual y Raspberry Pi El dispositivo IoT necesita ser programado para comunicarse con *test.mosquitto.org* utilizando MQTT, con el fin de enviar valores de telemetría basados en la lectura del sensor de luz y recibir comandos para controlar el LED. diff --git a/translations/es/1-getting-started/lessons/4-connect-internet/single-board-computer-telemetry.md b/translations/es/1-getting-started/lessons/4-connect-internet/single-board-computer-telemetry.md index 2ee3f2a88..4dc52d339 100644 --- a/translations/es/1-getting-started/lessons/4-connect-internet/single-board-computer-telemetry.md +++ b/translations/es/1-getting-started/lessons/4-connect-internet/single-board-computer-telemetry.md @@ -1,12 +1,3 @@ - # Controla tu luz nocturna a través de Internet - Hardware IoT Virtual y Raspberry Pi En esta parte de la lección, enviarás telemetría con niveles de luz desde tu Raspberry Pi o dispositivo IoT virtual a un broker MQTT. diff --git a/translations/es/1-getting-started/lessons/4-connect-internet/wio-terminal-commands.md b/translations/es/1-getting-started/lessons/4-connect-internet/wio-terminal-commands.md index 44bbd61b5..d0d029808 100644 --- a/translations/es/1-getting-started/lessons/4-connect-internet/wio-terminal-commands.md +++ b/translations/es/1-getting-started/lessons/4-connect-internet/wio-terminal-commands.md @@ -1,12 +1,3 @@ - # Controla tu luz nocturna a través de Internet - Wio Terminal En esta parte de la lección, te suscribirás a los comandos enviados desde un broker MQTT a tu Wio Terminal. diff --git a/translations/es/1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md b/translations/es/1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md index befb8f27a..52aa20a0b 100644 --- a/translations/es/1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md +++ b/translations/es/1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md @@ -1,12 +1,3 @@ - # Controla tu luz nocturna a través de Internet - Wio Terminal El dispositivo IoT necesita ser programado para comunicarse con *test.mosquitto.org* utilizando MQTT, enviar valores de telemetría con la lectura del sensor de luz y recibir comandos para controlar el LED. diff --git a/translations/es/1-getting-started/lessons/4-connect-internet/wio-terminal-telemetry.md b/translations/es/1-getting-started/lessons/4-connect-internet/wio-terminal-telemetry.md index 8935dd623..599f7f125 100644 --- a/translations/es/1-getting-started/lessons/4-connect-internet/wio-terminal-telemetry.md +++ b/translations/es/1-getting-started/lessons/4-connect-internet/wio-terminal-telemetry.md @@ -1,12 +1,3 @@ - # Controla tu luz nocturna a través de Internet - Wio Terminal En esta parte de la lección, enviarás telemetría con los niveles de luz desde tu Wio Terminal al broker MQTT. diff --git a/translations/es/2-farm/README.md b/translations/es/2-farm/README.md index 55a55d2cb..40c8225cc 100644 --- a/translations/es/2-farm/README.md +++ b/translations/es/2-farm/README.md @@ -1,12 +1,3 @@ - # Agricultura con IoT A medida que la población crece, también lo hace la demanda en la agricultura. La cantidad de tierra disponible no cambia, pero el clima sí, lo que plantea aún más desafíos para los agricultores, especialmente los 2 mil millones de [agricultores de subsistencia](https://wikipedia.org/wiki/Subsistence_agriculture) que dependen de lo que cultivan para poder comer y alimentar a sus familias. El IoT puede ayudar a los agricultores a tomar decisiones más inteligentes sobre qué cultivar y cuándo cosechar, aumentar los rendimientos, reducir la cantidad de trabajo manual y detectar y tratar las plagas. diff --git a/translations/es/2-farm/lessons/1-predict-plant-growth/README.md b/translations/es/2-farm/lessons/1-predict-plant-growth/README.md index 84f045e74..559c7c967 100644 --- a/translations/es/2-farm/lessons/1-predict-plant-growth/README.md +++ b/translations/es/2-farm/lessons/1-predict-plant-growth/README.md @@ -1,12 +1,3 @@ - ## Pre-lecture quiz [Cuestionario previo a la lección](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/9) diff --git a/translations/es/2-farm/lessons/1-predict-plant-growth/assignment.md b/translations/es/2-farm/lessons/1-predict-plant-growth/assignment.md index f42ec0299..d698d5d8b 100644 --- a/translations/es/2-farm/lessons/1-predict-plant-growth/assignment.md +++ b/translations/es/2-farm/lessons/1-predict-plant-growth/assignment.md @@ -1,12 +1,3 @@ - # Visualizar datos de GDD usando un Jupyter Notebook ## Instrucciones diff --git a/translations/es/2-farm/lessons/1-predict-plant-growth/pi-temp.md b/translations/es/2-farm/lessons/1-predict-plant-growth/pi-temp.md index e3a3ea72a..a71e66dc6 100644 --- a/translations/es/2-farm/lessons/1-predict-plant-growth/pi-temp.md +++ b/translations/es/2-farm/lessons/1-predict-plant-growth/pi-temp.md @@ -1,12 +1,3 @@ - # Medir la temperatura - Raspberry Pi En esta parte de la lección, agregarás un sensor de temperatura a tu Raspberry Pi. diff --git a/translations/es/2-farm/lessons/1-predict-plant-growth/single-board-computer-temp-publish.md b/translations/es/2-farm/lessons/1-predict-plant-growth/single-board-computer-temp-publish.md index 6107f4251..b33241b1f 100644 --- a/translations/es/2-farm/lessons/1-predict-plant-growth/single-board-computer-temp-publish.md +++ b/translations/es/2-farm/lessons/1-predict-plant-growth/single-board-computer-temp-publish.md @@ -1,12 +1,3 @@ - # Publicar temperatura - Hardware IoT Virtual y Raspberry Pi En esta parte de la lección, publicarás los valores de temperatura detectados por el Raspberry Pi o el Dispositivo IoT Virtual a través de MQTT para que puedan ser utilizados posteriormente en el cálculo de GDD. diff --git a/translations/es/2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md b/translations/es/2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md index f6ef2a4af..31b03b62f 100644 --- a/translations/es/2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md +++ b/translations/es/2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md @@ -1,12 +1,3 @@ - # Medir la temperatura - Hardware IoT Virtual En esta parte de la lección, agregarás un sensor de temperatura a tu dispositivo IoT virtual. diff --git a/translations/es/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp-publish.md b/translations/es/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp-publish.md index ffc30c0b3..4ec15e616 100644 --- a/translations/es/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp-publish.md +++ b/translations/es/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp-publish.md @@ -1,12 +1,3 @@ - # Publicar temperatura - Wio Terminal En esta parte de la lección, publicarás los valores de temperatura detectados por el Wio Terminal a través de MQTT para que puedan ser utilizados posteriormente para calcular GDD. diff --git a/translations/es/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md b/translations/es/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md index 5d67a05d0..6e9566360 100644 --- a/translations/es/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md +++ b/translations/es/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md @@ -1,12 +1,3 @@ - # Medir la temperatura - Wio Terminal En esta parte de la lección, agregarás un sensor de temperatura a tu Wio Terminal y leerás los valores de temperatura desde él. diff --git a/translations/es/2-farm/lessons/2-detect-soil-moisture/README.md b/translations/es/2-farm/lessons/2-detect-soil-moisture/README.md index 2cfe20d08..80664868a 100644 --- a/translations/es/2-farm/lessons/2-detect-soil-moisture/README.md +++ b/translations/es/2-farm/lessons/2-detect-soil-moisture/README.md @@ -1,12 +1,3 @@ - C, pronunciado como *I-cuadrado-C*, es un protocolo multi-controlador y multi-periférico, donde cualquier dispositivo conectado puede actuar como controlador o periférico comunicándose a través del bus I²C (el nombre para un sistema de comunicación que transfiere datos). Los datos se envían como paquetes dirigidos, y cada paquete contiene la dirección del dispositivo conectado al que está destinado. > 💁 Este modelo solía denominarse maestro/esclavo, pero esta terminología está siendo eliminada debido a su asociación con la esclavitud. La [Open Source Hardware Association ha adoptado los términos controlador/periférico](https://www.oshwa.org/a-resolution-to-redefine-spi-signal-names/), aunque aún puedes encontrar referencias a la terminología anterior. diff --git a/translations/es/2-farm/lessons/2-detect-soil-moisture/assignment.md b/translations/es/2-farm/lessons/2-detect-soil-moisture/assignment.md index 202dbaa90..ce03eb9fe 100644 --- a/translations/es/2-farm/lessons/2-detect-soil-moisture/assignment.md +++ b/translations/es/2-farm/lessons/2-detect-soil-moisture/assignment.md @@ -1,12 +1,3 @@ - # Calibra tu sensor ## Instrucciones diff --git a/translations/es/2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md b/translations/es/2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md index 2c79d08ea..6d0881ede 100644 --- a/translations/es/2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md +++ b/translations/es/2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md @@ -1,12 +1,3 @@ - # Medir la humedad del suelo - Raspberry Pi En esta parte de la lección, agregarás un sensor capacitivo de humedad del suelo a tu Raspberry Pi y leerás valores de él. diff --git a/translations/es/2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md b/translations/es/2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md index 342768c37..037880bfa 100644 --- a/translations/es/2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md +++ b/translations/es/2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md @@ -1,12 +1,3 @@ - # Medir la humedad del suelo - Hardware IoT Virtual En esta parte de la lección, agregarás un sensor capacitivo de humedad del suelo a tu dispositivo IoT virtual y leerás valores de él. diff --git a/translations/es/2-farm/lessons/2-detect-soil-moisture/wio-terminal-soil-moisture.md b/translations/es/2-farm/lessons/2-detect-soil-moisture/wio-terminal-soil-moisture.md index 88b506f6c..32cba4fed 100644 --- a/translations/es/2-farm/lessons/2-detect-soil-moisture/wio-terminal-soil-moisture.md +++ b/translations/es/2-farm/lessons/2-detect-soil-moisture/wio-terminal-soil-moisture.md @@ -1,12 +1,3 @@ - # Medir la humedad del suelo - Wio Terminal En esta parte de la lección, agregarás un sensor capacitivo de humedad del suelo a tu Wio Terminal y leerás valores de él. diff --git a/translations/es/2-farm/lessons/3-automated-plant-watering/README.md b/translations/es/2-farm/lessons/3-automated-plant-watering/README.md index f80ec6edc..8a23044ee 100644 --- a/translations/es/2-farm/lessons/3-automated-plant-watering/README.md +++ b/translations/es/2-farm/lessons/3-automated-plant-watering/README.md @@ -1,12 +1,3 @@ - # Riego automatizado de plantas ![Una vista general en sketchnote de esta lección](../../../../../translated_images/es/lesson-7.30b5f577d3cb8e031238751475cb519c7d6dbaea261b5df4643d086ffb2a03bb.jpg) diff --git a/translations/es/2-farm/lessons/3-automated-plant-watering/assignment.md b/translations/es/2-farm/lessons/3-automated-plant-watering/assignment.md index 66fd71935..20049c048 100644 --- a/translations/es/2-farm/lessons/3-automated-plant-watering/assignment.md +++ b/translations/es/2-farm/lessons/3-automated-plant-watering/assignment.md @@ -1,12 +1,3 @@ - # Construye un ciclo de riego más eficiente ## Instrucciones diff --git a/translations/es/2-farm/lessons/3-automated-plant-watering/pi-relay.md b/translations/es/2-farm/lessons/3-automated-plant-watering/pi-relay.md index f376f399e..474473a5d 100644 --- a/translations/es/2-farm/lessons/3-automated-plant-watering/pi-relay.md +++ b/translations/es/2-farm/lessons/3-automated-plant-watering/pi-relay.md @@ -1,12 +1,3 @@ - # Controlar un relé - Raspberry Pi En esta parte de la lección, agregarás un relé a tu Raspberry Pi además del sensor de humedad del suelo, y lo controlarás en función del nivel de humedad del suelo. diff --git a/translations/es/2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md b/translations/es/2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md index 9c9f8c11e..ca64c5d02 100644 --- a/translations/es/2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md +++ b/translations/es/2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md @@ -1,12 +1,3 @@ - # Controlar un relé - Hardware IoT Virtual En esta parte de la lección, agregarás un relé a tu dispositivo IoT virtual además del sensor de humedad del suelo, y lo controlarás en función del nivel de humedad del suelo. diff --git a/translations/es/2-farm/lessons/3-automated-plant-watering/wio-terminal-relay.md b/translations/es/2-farm/lessons/3-automated-plant-watering/wio-terminal-relay.md index c4cb144c1..505427b41 100644 --- a/translations/es/2-farm/lessons/3-automated-plant-watering/wio-terminal-relay.md +++ b/translations/es/2-farm/lessons/3-automated-plant-watering/wio-terminal-relay.md @@ -1,12 +1,3 @@ - # Controlar un relé - Wio Terminal En esta parte de la lección, agregarás un relé a tu Wio Terminal además del sensor de humedad del suelo, y lo controlarás en función del nivel de humedad del suelo. diff --git a/translations/es/2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md b/translations/es/2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md index c838414a5..27cc4497b 100644 --- a/translations/es/2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md +++ b/translations/es/2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md @@ -1,12 +1,3 @@ - # Migra tu planta a la nube ![Un resumen visual de esta lección](../../../../../translated_images/es/lesson-8.3f21f3c11159e6a0a376351973ea5724d5de68fa23b4288853a174bed9ac48c3.jpg) diff --git a/translations/es/2-farm/lessons/4-migrate-your-plant-to-the-cloud/assignment.md b/translations/es/2-farm/lessons/4-migrate-your-plant-to-the-cloud/assignment.md index c67145a64..085e348ac 100644 --- a/translations/es/2-farm/lessons/4-migrate-your-plant-to-the-cloud/assignment.md +++ b/translations/es/2-farm/lessons/4-migrate-your-plant-to-the-cloud/assignment.md @@ -1,12 +1,3 @@ - # Aprende sobre servicios en la nube ## Instrucciones diff --git a/translations/es/2-farm/lessons/4-migrate-your-plant-to-the-cloud/single-board-computer-connect-hub.md b/translations/es/2-farm/lessons/4-migrate-your-plant-to-the-cloud/single-board-computer-connect-hub.md index a2acfe0bb..02d821979 100644 --- a/translations/es/2-farm/lessons/4-migrate-your-plant-to-the-cloud/single-board-computer-connect-hub.md +++ b/translations/es/2-farm/lessons/4-migrate-your-plant-to-the-cloud/single-board-computer-connect-hub.md @@ -1,12 +1,3 @@ - # Conecta tu dispositivo IoT a la nube - Hardware IoT virtual y Raspberry Pi En esta parte de la lección, conectarás tu dispositivo IoT virtual o Raspberry Pi a tu IoT Hub para enviar telemetría y recibir comandos. diff --git a/translations/es/2-farm/lessons/4-migrate-your-plant-to-the-cloud/wio-terminal-connect-hub.md b/translations/es/2-farm/lessons/4-migrate-your-plant-to-the-cloud/wio-terminal-connect-hub.md index 41a043cff..e18431010 100644 --- a/translations/es/2-farm/lessons/4-migrate-your-plant-to-the-cloud/wio-terminal-connect-hub.md +++ b/translations/es/2-farm/lessons/4-migrate-your-plant-to-the-cloud/wio-terminal-connect-hub.md @@ -1,12 +1,3 @@ - # Conecta tu dispositivo IoT a la nube - Wio Terminal En esta parte de la lección, conectarás tu Wio Terminal a tu IoT Hub para enviar telemetría y recibir comandos. diff --git a/translations/es/2-farm/lessons/5-migrate-application-to-the-cloud/README.md b/translations/es/2-farm/lessons/5-migrate-application-to-the-cloud/README.md index 7bc79f612..091084cf7 100644 --- a/translations/es/2-farm/lessons/5-migrate-application-to-the-cloud/README.md +++ b/translations/es/2-farm/lessons/5-migrate-application-to-the-cloud/README.md @@ -1,12 +1,3 @@ - # Migra la lógica de tu aplicación a la nube ![Una ilustración resumen de esta lección](../../../../../translated_images/es/lesson-9.dfe99c8e891f48e179724520da9f5794392cf9a625079281ccdcbf09bd85e1b6.jpg) diff --git a/translations/es/2-farm/lessons/5-migrate-application-to-the-cloud/assignment.md b/translations/es/2-farm/lessons/5-migrate-application-to-the-cloud/assignment.md index 508e045e0..1167770bd 100644 --- a/translations/es/2-farm/lessons/5-migrate-application-to-the-cloud/assignment.md +++ b/translations/es/2-farm/lessons/5-migrate-application-to-the-cloud/assignment.md @@ -1,12 +1,3 @@ - # Agregar control manual del relé ## Instrucciones diff --git a/translations/es/2-farm/lessons/6-keep-your-plant-secure/README.md b/translations/es/2-farm/lessons/6-keep-your-plant-secure/README.md index 5c7015131..36823fda0 100644 --- a/translations/es/2-farm/lessons/6-keep-your-plant-secure/README.md +++ b/translations/es/2-farm/lessons/6-keep-your-plant-secure/README.md @@ -1,12 +1,3 @@ - # Mantén tu planta segura ![Un resumen visual de esta lección](../../../../../translated_images/es/lesson-10.829c86b80b9403bb770929ee553a1d293afe50dc23121aaf9be144673ae012cc.jpg) diff --git a/translations/es/2-farm/lessons/6-keep-your-plant-secure/assignment.md b/translations/es/2-farm/lessons/6-keep-your-plant-secure/assignment.md index 2eb403f04..f862ed561 100644 --- a/translations/es/2-farm/lessons/6-keep-your-plant-secure/assignment.md +++ b/translations/es/2-farm/lessons/6-keep-your-plant-secure/assignment.md @@ -1,12 +1,3 @@ - # Construir un nuevo dispositivo IoT ## Instrucciones diff --git a/translations/es/2-farm/lessons/6-keep-your-plant-secure/single-board-computer-x509.md b/translations/es/2-farm/lessons/6-keep-your-plant-secure/single-board-computer-x509.md index 3669dd23f..4ac6fa10a 100644 --- a/translations/es/2-farm/lessons/6-keep-your-plant-secure/single-board-computer-x509.md +++ b/translations/es/2-farm/lessons/6-keep-your-plant-secure/single-board-computer-x509.md @@ -1,12 +1,3 @@ - # Usa el certificado X.509 en el código de tu dispositivo - Hardware IoT Virtual y Raspberry Pi En esta parte de la lección, conectarás tu dispositivo IoT virtual o Raspberry Pi a tu IoT Hub utilizando el certificado X.509. diff --git a/translations/es/2-farm/lessons/6-keep-your-plant-secure/wio-terminal-x509.md b/translations/es/2-farm/lessons/6-keep-your-plant-secure/wio-terminal-x509.md index b29496c40..1b0ae0d91 100644 --- a/translations/es/2-farm/lessons/6-keep-your-plant-secure/wio-terminal-x509.md +++ b/translations/es/2-farm/lessons/6-keep-your-plant-secure/wio-terminal-x509.md @@ -1,12 +1,3 @@ - # Usar el certificado X.509 en el código de tu dispositivo - Wio Terminal En el momento de escribir esto, el SDK de Azure para Arduino no admite certificados X.509. Si deseas experimentar con certificados X.509, puedes consultar las [instrucciones para dispositivos IoT virtuales usando el SDK de Python](single-board-computer-x509.md) diff --git a/translations/es/3-transport/README.md b/translations/es/3-transport/README.md index 3d4d1234e..d3c886c1a 100644 --- a/translations/es/3-transport/README.md +++ b/translations/es/3-transport/README.md @@ -1,12 +1,3 @@ - # Transporte de la granja a la fábrica - usando IoT para rastrear entregas de alimentos Muchos agricultores cultivan alimentos para vender - ya sea que sean agricultores comerciales que venden todo lo que producen, o agricultores de subsistencia que venden su excedente para comprar lo necesario. De alguna manera, los alimentos tienen que llegar desde la granja al consumidor, y esto generalmente depende del transporte en grandes cantidades desde las granjas, a centros o plantas de procesamiento, y luego a las tiendas. Por ejemplo, un agricultor de tomates cosechará tomates, los empacará en cajas, cargará las cajas en un camión y los entregará a una planta de procesamiento. Los tomates serán clasificados y, desde allí, entregados a los consumidores en forma de alimentos procesados, ventas minoristas o consumidos en restaurantes. diff --git a/translations/es/3-transport/lessons/1-location-tracking/README.md b/translations/es/3-transport/lessons/1-location-tracking/README.md index bb418aaa5..355d5692a 100644 --- a/translations/es/3-transport/lessons/1-location-tracking/README.md +++ b/translations/es/3-transport/lessons/1-location-tracking/README.md @@ -1,12 +1,3 @@ - # Seguimiento de ubicación ![Una vista general ilustrada de esta lección](../../../../../translated_images/es/lesson-11.9fddbac4b664c6d50ab7ac9bb32f1fc3f945f03760e72f7f43938073762fb017.jpg) diff --git a/translations/es/3-transport/lessons/1-location-tracking/assignment.md b/translations/es/3-transport/lessons/1-location-tracking/assignment.md index a0df1d991..af0e81dea 100644 --- a/translations/es/3-transport/lessons/1-location-tracking/assignment.md +++ b/translations/es/3-transport/lessons/1-location-tracking/assignment.md @@ -1,12 +1,3 @@ - # Investigar otros datos de GPS ## Instrucciones diff --git a/translations/es/3-transport/lessons/1-location-tracking/pi-gps-sensor.md b/translations/es/3-transport/lessons/1-location-tracking/pi-gps-sensor.md index a7fe773d0..fd60b2001 100644 --- a/translations/es/3-transport/lessons/1-location-tracking/pi-gps-sensor.md +++ b/translations/es/3-transport/lessons/1-location-tracking/pi-gps-sensor.md @@ -1,12 +1,3 @@ - # Leer datos de GPS - Raspberry Pi En esta parte de la lección, agregarás un sensor GPS a tu Raspberry Pi y leerás valores de él. diff --git a/translations/es/3-transport/lessons/1-location-tracking/single-board-computer-gps-decode.md b/translations/es/3-transport/lessons/1-location-tracking/single-board-computer-gps-decode.md index d71666885..ade6f5522 100644 --- a/translations/es/3-transport/lessons/1-location-tracking/single-board-computer-gps-decode.md +++ b/translations/es/3-transport/lessons/1-location-tracking/single-board-computer-gps-decode.md @@ -1,12 +1,3 @@ - # Decodificar datos GPS - Hardware IoT Virtual y Raspberry Pi En esta parte de la lección, decodificarás los mensajes NMEA leídos del sensor GPS por la Raspberry Pi o el Dispositivo IoT Virtual, y extraerás la latitud y la longitud. diff --git a/translations/es/3-transport/lessons/1-location-tracking/virtual-device-gps-sensor.md b/translations/es/3-transport/lessons/1-location-tracking/virtual-device-gps-sensor.md index 35853f09e..bbbe36f9d 100644 --- a/translations/es/3-transport/lessons/1-location-tracking/virtual-device-gps-sensor.md +++ b/translations/es/3-transport/lessons/1-location-tracking/virtual-device-gps-sensor.md @@ -1,12 +1,3 @@ - # Leer datos GPS - Hardware IoT Virtual En esta parte de la lección, agregarás un sensor GPS a tu dispositivo IoT virtual y leerás valores de él. diff --git a/translations/es/3-transport/lessons/1-location-tracking/wio-terminal-gps-decode.md b/translations/es/3-transport/lessons/1-location-tracking/wio-terminal-gps-decode.md index e5a4ddc60..001923e7c 100644 --- a/translations/es/3-transport/lessons/1-location-tracking/wio-terminal-gps-decode.md +++ b/translations/es/3-transport/lessons/1-location-tracking/wio-terminal-gps-decode.md @@ -1,12 +1,3 @@ - # Decodificar datos GPS - Wio Terminal En esta parte de la lección, decodificarás los mensajes NMEA leídos desde el sensor GPS por el Wio Terminal y extraerás la latitud y la longitud. diff --git a/translations/es/3-transport/lessons/1-location-tracking/wio-terminal-gps-sensor.md b/translations/es/3-transport/lessons/1-location-tracking/wio-terminal-gps-sensor.md index fc873919d..b85b5306f 100644 --- a/translations/es/3-transport/lessons/1-location-tracking/wio-terminal-gps-sensor.md +++ b/translations/es/3-transport/lessons/1-location-tracking/wio-terminal-gps-sensor.md @@ -1,12 +1,3 @@ - # Leer datos GPS - Wio Terminal En esta parte de la lección, agregarás un sensor GPS a tu Wio Terminal y leerás valores de él. diff --git a/translations/es/3-transport/lessons/2-store-location-data/README.md b/translations/es/3-transport/lessons/2-store-location-data/README.md index 627c516e2..19f56603d 100644 --- a/translations/es/3-transport/lessons/2-store-location-data/README.md +++ b/translations/es/3-transport/lessons/2-store-location-data/README.md @@ -1,12 +1,3 @@ - # Datos de ubicación de la tienda ![Una vista general en sketchnote de esta lección](../../../../../translated_images/es/lesson-12.ca7f53039712a3ec14ad6474d8445361c84adab643edc53fa6269b77895606bb.jpg) diff --git a/translations/es/3-transport/lessons/2-store-location-data/assignment.md b/translations/es/3-transport/lessons/2-store-location-data/assignment.md index bb51763fd..2f6ae6bbf 100644 --- a/translations/es/3-transport/lessons/2-store-location-data/assignment.md +++ b/translations/es/3-transport/lessons/2-store-location-data/assignment.md @@ -1,12 +1,3 @@ - # Investigar enlaces de funciones ## Instrucciones diff --git a/translations/es/3-transport/lessons/3-visualize-location-data/README.md b/translations/es/3-transport/lessons/3-visualize-location-data/README.md index ae92eb7bc..a5177b3b5 100644 --- a/translations/es/3-transport/lessons/3-visualize-location-data/README.md +++ b/translations/es/3-transport/lessons/3-visualize-location-data/README.md @@ -1,12 +1,3 @@ - # Visualizar datos de ubicación ![Resumen visual de esta lección](../../../../../translated_images/es/lesson-13.a259db1485021be7d7c72e90842fbe0ab977529e8684c179b5fb1ea75e92b3ef.jpg) diff --git a/translations/es/3-transport/lessons/3-visualize-location-data/assignment.md b/translations/es/3-transport/lessons/3-visualize-location-data/assignment.md index 890c35161..b6d6df605 100644 --- a/translations/es/3-transport/lessons/3-visualize-location-data/assignment.md +++ b/translations/es/3-transport/lessons/3-visualize-location-data/assignment.md @@ -1,12 +1,3 @@ - # Despliega tu aplicación ## Instrucciones diff --git a/translations/es/3-transport/lessons/4-geofences/README.md b/translations/es/3-transport/lessons/4-geofences/README.md index cca547c59..bf93c884f 100644 --- a/translations/es/3-transport/lessons/4-geofences/README.md +++ b/translations/es/3-transport/lessons/4-geofences/README.md @@ -1,12 +1,3 @@ - # Geocercas ![Una vista general de esta lección en formato sketchnote](../../../../../translated_images/es/lesson-14.63980c5150ae3c153e770fb71d044c1845dce79248d86bed9fc525adf3ede73c.jpg) diff --git a/translations/es/3-transport/lessons/4-geofences/assignment.md b/translations/es/3-transport/lessons/4-geofences/assignment.md index 0cdeee582..8de4f66c0 100644 --- a/translations/es/3-transport/lessons/4-geofences/assignment.md +++ b/translations/es/3-transport/lessons/4-geofences/assignment.md @@ -1,12 +1,3 @@ - # Enviar notificaciones usando Twilio ## Instrucciones diff --git a/translations/es/4-manufacturing/README.md b/translations/es/4-manufacturing/README.md index c071af439..4e82e6282 100644 --- a/translations/es/4-manufacturing/README.md +++ b/translations/es/4-manufacturing/README.md @@ -1,12 +1,3 @@ - # Fabricación y procesamiento - usando IoT para mejorar el procesamiento de alimentos Una vez que los alimentos llegan a un centro central o planta de procesamiento, no siempre se envían directamente a los supermercados. Muchas veces, los alimentos pasan por una serie de pasos de procesamiento, como la clasificación por calidad. Este es un proceso que solía ser manual: comenzaba en el campo cuando los recolectores solo recogían fruta madura, luego en la fábrica la fruta pasaba por una cinta transportadora y los empleados retiraban manualmente cualquier fruta magullada o podrida. Habiendo recogido y clasificado fresas yo mismo como trabajo de verano durante la escuela, puedo dar fe de que este no es un trabajo divertido. diff --git a/translations/es/4-manufacturing/lessons/1-train-fruit-detector/README.md b/translations/es/4-manufacturing/lessons/1-train-fruit-detector/README.md index f6d5f7b8f..59979cb99 100644 --- a/translations/es/4-manufacturing/lessons/1-train-fruit-detector/README.md +++ b/translations/es/4-manufacturing/lessons/1-train-fruit-detector/README.md @@ -1,12 +1,3 @@ - # Entrena un detector de calidad de frutas ![Una vista general ilustrada de esta lección](../../../../../translated_images/es/lesson-15.843d21afdc6fb2bba70cd9db7b7d2f91598859fafda2078b0bdc44954194b6c0.jpg) diff --git a/translations/es/4-manufacturing/lessons/1-train-fruit-detector/assignment.md b/translations/es/4-manufacturing/lessons/1-train-fruit-detector/assignment.md index d01766f07..2affea1c7 100644 --- a/translations/es/4-manufacturing/lessons/1-train-fruit-detector/assignment.md +++ b/translations/es/4-manufacturing/lessons/1-train-fruit-detector/assignment.md @@ -1,12 +1,3 @@ - # Entrena tu clasificador para múltiples frutas y verduras ## Instrucciones diff --git a/translations/es/4-manufacturing/lessons/2-check-fruit-from-device/README.md b/translations/es/4-manufacturing/lessons/2-check-fruit-from-device/README.md index 8ea9783c1..a593ef720 100644 --- a/translations/es/4-manufacturing/lessons/2-check-fruit-from-device/README.md +++ b/translations/es/4-manufacturing/lessons/2-check-fruit-from-device/README.md @@ -1,12 +1,3 @@ - # Verificar la calidad de la fruta desde un dispositivo IoT ![Un resumen visual de esta lección](../../../../../translated_images/es/lesson-16.215daf18b00631fbdfd64c6fc2dc6044dff5d544288825d8076f9fb83d964c23.jpg) diff --git a/translations/es/4-manufacturing/lessons/2-check-fruit-from-device/assignment.md b/translations/es/4-manufacturing/lessons/2-check-fruit-from-device/assignment.md index e762bcefe..693ed5645 100644 --- a/translations/es/4-manufacturing/lessons/2-check-fruit-from-device/assignment.md +++ b/translations/es/4-manufacturing/lessons/2-check-fruit-from-device/assignment.md @@ -1,12 +1,3 @@ - # Responder a los resultados de clasificación ## Instrucciones diff --git a/translations/es/4-manufacturing/lessons/2-check-fruit-from-device/pi-camera.md b/translations/es/4-manufacturing/lessons/2-check-fruit-from-device/pi-camera.md index 5fd0c90f3..0b9cb0dd7 100644 --- a/translations/es/4-manufacturing/lessons/2-check-fruit-from-device/pi-camera.md +++ b/translations/es/4-manufacturing/lessons/2-check-fruit-from-device/pi-camera.md @@ -1,12 +1,3 @@ - # Captura una imagen - Raspberry Pi En esta parte de la lección, agregarás un sensor de cámara a tu Raspberry Pi y leerás imágenes desde él. diff --git a/translations/es/4-manufacturing/lessons/2-check-fruit-from-device/single-board-computer-classify-image.md b/translations/es/4-manufacturing/lessons/2-check-fruit-from-device/single-board-computer-classify-image.md index 2f9b312ca..479126136 100644 --- a/translations/es/4-manufacturing/lessons/2-check-fruit-from-device/single-board-computer-classify-image.md +++ b/translations/es/4-manufacturing/lessons/2-check-fruit-from-device/single-board-computer-classify-image.md @@ -1,12 +1,3 @@ - # Clasificar una imagen - Hardware IoT Virtual y Raspberry Pi En esta parte de la lección, enviarás la imagen capturada por la cámara al servicio Custom Vision para clasificarla. diff --git a/translations/es/4-manufacturing/lessons/2-check-fruit-from-device/virtual-device-camera.md b/translations/es/4-manufacturing/lessons/2-check-fruit-from-device/virtual-device-camera.md index 8869c7a80..19f56811d 100644 --- a/translations/es/4-manufacturing/lessons/2-check-fruit-from-device/virtual-device-camera.md +++ b/translations/es/4-manufacturing/lessons/2-check-fruit-from-device/virtual-device-camera.md @@ -1,12 +1,3 @@ - # Captura una imagen - Hardware IoT Virtual En esta parte de la lección, agregarás un sensor de cámara a tu dispositivo IoT virtual y leerás imágenes desde él. diff --git a/translations/es/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-camera.md b/translations/es/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-camera.md index 84b4159b8..5990fb2c3 100644 --- a/translations/es/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-camera.md +++ b/translations/es/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-camera.md @@ -1,12 +1,3 @@ - # Captura una imagen - Wio Terminal En esta parte de la lección, agregarás una cámara a tu Wio Terminal y capturarás imágenes con ella. diff --git a/translations/es/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-classify-image.md b/translations/es/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-classify-image.md index e487b07d0..a0ec70160 100644 --- a/translations/es/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-classify-image.md +++ b/translations/es/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-classify-image.md @@ -1,12 +1,3 @@ - # Clasificar una imagen - Wio Terminal En esta parte de la lección, enviarás la imagen capturada por la cámara al servicio Custom Vision para clasificarla. diff --git a/translations/es/4-manufacturing/lessons/3-run-fruit-detector-edge/README.md b/translations/es/4-manufacturing/lessons/3-run-fruit-detector-edge/README.md index 7971f865c..56866f296 100644 --- a/translations/es/4-manufacturing/lessons/3-run-fruit-detector-edge/README.md +++ b/translations/es/4-manufacturing/lessons/3-run-fruit-detector-edge/README.md @@ -1,12 +1,3 @@ - # Ejecuta tu detector de frutas en el edge ![Resumen visual de esta lección](../../../../../translated_images/es/lesson-17.bc333c3c35ba8e42cce666cfffa82b915f787f455bd94e006aea2b6f2722421a.jpg) diff --git a/translations/es/4-manufacturing/lessons/3-run-fruit-detector-edge/assignment.md b/translations/es/4-manufacturing/lessons/3-run-fruit-detector-edge/assignment.md index 3f61edd74..f0e4e4a27 100644 --- a/translations/es/4-manufacturing/lessons/3-run-fruit-detector-edge/assignment.md +++ b/translations/es/4-manufacturing/lessons/3-run-fruit-detector-edge/assignment.md @@ -1,12 +1,3 @@ - # Ejecutar otros servicios en el edge ## Instrucciones diff --git a/translations/es/4-manufacturing/lessons/3-run-fruit-detector-edge/single-board-computer.md b/translations/es/4-manufacturing/lessons/3-run-fruit-detector-edge/single-board-computer.md index cf44d5c5c..2c48f16ea 100644 --- a/translations/es/4-manufacturing/lessons/3-run-fruit-detector-edge/single-board-computer.md +++ b/translations/es/4-manufacturing/lessons/3-run-fruit-detector-edge/single-board-computer.md @@ -1,12 +1,3 @@ - # Clasificar una imagen usando un clasificador de imágenes basado en IoT Edge - Hardware IoT Virtual y Raspberry Pi En esta parte de la lección, usarás el clasificador de imágenes que se ejecuta en el dispositivo IoT Edge. diff --git a/translations/es/4-manufacturing/lessons/3-run-fruit-detector-edge/vm-iotedge.md b/translations/es/4-manufacturing/lessons/3-run-fruit-detector-edge/vm-iotedge.md index c7ccfdbf6..2e37b7e19 100644 --- a/translations/es/4-manufacturing/lessons/3-run-fruit-detector-edge/vm-iotedge.md +++ b/translations/es/4-manufacturing/lessons/3-run-fruit-detector-edge/vm-iotedge.md @@ -1,12 +1,3 @@ - # Crear una máquina virtual con IoT Edge En Azure, puedes crear una máquina virtual, es decir, un ordenador en la nube que puedes configurar como desees y ejecutar tu propio software en él. diff --git a/translations/es/4-manufacturing/lessons/3-run-fruit-detector-edge/wio-terminal.md b/translations/es/4-manufacturing/lessons/3-run-fruit-detector-edge/wio-terminal.md index 957609fcf..396aa07b7 100644 --- a/translations/es/4-manufacturing/lessons/3-run-fruit-detector-edge/wio-terminal.md +++ b/translations/es/4-manufacturing/lessons/3-run-fruit-detector-edge/wio-terminal.md @@ -1,12 +1,3 @@ - # Clasificar una imagen usando un clasificador de imágenes basado en IoT Edge - Wio Terminal En esta parte de la lección, utilizarás el clasificador de imágenes que se ejecuta en el dispositivo IoT Edge. diff --git a/translations/es/4-manufacturing/lessons/4-trigger-fruit-detector/README.md b/translations/es/4-manufacturing/lessons/4-trigger-fruit-detector/README.md index c3a34dcba..667cded25 100644 --- a/translations/es/4-manufacturing/lessons/4-trigger-fruit-detector/README.md +++ b/translations/es/4-manufacturing/lessons/4-trigger-fruit-detector/README.md @@ -1,12 +1,3 @@ - # Activar la detección de calidad de frutas desde un sensor ![Resumen visual de esta lección](../../../../../translated_images/es/lesson-18.92c32ed1d354caa5a54baa4032cf0b172d4655e8e326ad5d46c558a0def15365.jpg) diff --git a/translations/es/4-manufacturing/lessons/4-trigger-fruit-detector/assignment.md b/translations/es/4-manufacturing/lessons/4-trigger-fruit-detector/assignment.md index ad2fb6ac3..ced354353 100644 --- a/translations/es/4-manufacturing/lessons/4-trigger-fruit-detector/assignment.md +++ b/translations/es/4-manufacturing/lessons/4-trigger-fruit-detector/assignment.md @@ -1,12 +1,3 @@ - # Construir un detector de calidad de frutas ## Instrucciones diff --git a/translations/es/4-manufacturing/lessons/4-trigger-fruit-detector/pi-proximity.md b/translations/es/4-manufacturing/lessons/4-trigger-fruit-detector/pi-proximity.md index 71d7e7c49..da848a365 100644 --- a/translations/es/4-manufacturing/lessons/4-trigger-fruit-detector/pi-proximity.md +++ b/translations/es/4-manufacturing/lessons/4-trigger-fruit-detector/pi-proximity.md @@ -1,12 +1,3 @@ - # Detectar proximidad - Raspberry Pi En esta parte de la lección, agregarás un sensor de proximidad a tu Raspberry Pi y leerás la distancia desde él. diff --git a/translations/es/4-manufacturing/lessons/4-trigger-fruit-detector/virtual-device-proximity.md b/translations/es/4-manufacturing/lessons/4-trigger-fruit-detector/virtual-device-proximity.md index c8018b4b8..0323bf1c0 100644 --- a/translations/es/4-manufacturing/lessons/4-trigger-fruit-detector/virtual-device-proximity.md +++ b/translations/es/4-manufacturing/lessons/4-trigger-fruit-detector/virtual-device-proximity.md @@ -1,12 +1,3 @@ - # Detectar proximidad - Hardware IoT Virtual En esta parte de la lección, agregarás un sensor de proximidad a tu dispositivo IoT virtual y leerás la distancia desde él. diff --git a/translations/es/4-manufacturing/lessons/4-trigger-fruit-detector/wio-terminal-proximity.md b/translations/es/4-manufacturing/lessons/4-trigger-fruit-detector/wio-terminal-proximity.md index 47454b38e..63d901ffa 100644 --- a/translations/es/4-manufacturing/lessons/4-trigger-fruit-detector/wio-terminal-proximity.md +++ b/translations/es/4-manufacturing/lessons/4-trigger-fruit-detector/wio-terminal-proximity.md @@ -1,12 +1,3 @@ - # Detectar proximidad - Wio Terminal En esta parte de la lección, agregarás un sensor de proximidad a tu Wio Terminal y leerás la distancia desde él. diff --git a/translations/es/5-retail/README.md b/translations/es/5-retail/README.md index c2fca3ea6..fe09b5726 100644 --- a/translations/es/5-retail/README.md +++ b/translations/es/5-retail/README.md @@ -1,12 +1,3 @@ - # Retail - usando IoT para gestionar niveles de stock La última etapa antes de que los alimentos lleguen a los consumidores es el comercio minorista: los mercados, fruterías, supermercados y tiendas que venden productos a los consumidores. Estas tiendas quieren asegurarse de que tienen productos en las estanterías para que los consumidores los vean y compren. diff --git a/translations/es/5-retail/lessons/1-train-stock-detector/README.md b/translations/es/5-retail/lessons/1-train-stock-detector/README.md index 9e66aa968..061509bc4 100644 --- a/translations/es/5-retail/lessons/1-train-stock-detector/README.md +++ b/translations/es/5-retail/lessons/1-train-stock-detector/README.md @@ -1,12 +1,3 @@ - # Entrena un detector de existencias ![Una vista general ilustrada de esta lección](../../../../../translated_images/es/lesson-19.cf6973cecadf080c4b526310620dc4d6f5994c80fb0139c6f378cc9ca2d435cd.jpg) diff --git a/translations/es/5-retail/lessons/1-train-stock-detector/assignment.md b/translations/es/5-retail/lessons/1-train-stock-detector/assignment.md index 513fd8387..146c2e3f6 100644 --- a/translations/es/5-retail/lessons/1-train-stock-detector/assignment.md +++ b/translations/es/5-retail/lessons/1-train-stock-detector/assignment.md @@ -1,12 +1,3 @@ - # Comparar dominios ## Instrucciones diff --git a/translations/es/5-retail/lessons/2-check-stock-device/README.md b/translations/es/5-retail/lessons/2-check-stock-device/README.md index 1fdc8f093..208d15a15 100644 --- a/translations/es/5-retail/lessons/2-check-stock-device/README.md +++ b/translations/es/5-retail/lessons/2-check-stock-device/README.md @@ -1,12 +1,3 @@ - # Verificar inventario desde un dispositivo IoT ![Una vista general en sketchnote de esta lección](../../../../../translated_images/es/lesson-20.0211df9551a8abb300fc8fcf7dc2789468dea2eabe9202273ac077b0ba37f15e.jpg) diff --git a/translations/es/5-retail/lessons/2-check-stock-device/assignment.md b/translations/es/5-retail/lessons/2-check-stock-device/assignment.md index 8d793eb46..a475d840b 100644 --- a/translations/es/5-retail/lessons/2-check-stock-device/assignment.md +++ b/translations/es/5-retail/lessons/2-check-stock-device/assignment.md @@ -1,12 +1,3 @@ - # Usa tu detector de objetos en el edge ## Instrucciones diff --git a/translations/es/5-retail/lessons/2-check-stock-device/single-board-computer-count-stock.md b/translations/es/5-retail/lessons/2-check-stock-device/single-board-computer-count-stock.md index d3c42cd07..a983eca51 100644 --- a/translations/es/5-retail/lessons/2-check-stock-device/single-board-computer-count-stock.md +++ b/translations/es/5-retail/lessons/2-check-stock-device/single-board-computer-count-stock.md @@ -1,12 +1,3 @@ - # Contar inventario desde tu dispositivo IoT - Hardware IoT Virtual y Raspberry Pi Una combinación de las predicciones y sus cuadros delimitadores puede ser utilizada para contar inventario en una imagen. diff --git a/translations/es/5-retail/lessons/2-check-stock-device/single-board-computer-object-detector.md b/translations/es/5-retail/lessons/2-check-stock-device/single-board-computer-object-detector.md index bdc28a135..80813e537 100644 --- a/translations/es/5-retail/lessons/2-check-stock-device/single-board-computer-object-detector.md +++ b/translations/es/5-retail/lessons/2-check-stock-device/single-board-computer-object-detector.md @@ -1,12 +1,3 @@ - # Llama a tu detector de objetos desde tu dispositivo IoT - Hardware IoT Virtual y Raspberry Pi Una vez que tu detector de objetos haya sido publicado, podrá ser utilizado desde tu dispositivo IoT. diff --git a/translations/es/5-retail/lessons/2-check-stock-device/wio-terminal-count-stock.md b/translations/es/5-retail/lessons/2-check-stock-device/wio-terminal-count-stock.md index be4e6811d..2486f697f 100644 --- a/translations/es/5-retail/lessons/2-check-stock-device/wio-terminal-count-stock.md +++ b/translations/es/5-retail/lessons/2-check-stock-device/wio-terminal-count-stock.md @@ -1,12 +1,3 @@ - # Contar inventario desde tu dispositivo IoT - Wio Terminal Una combinación de las predicciones y sus cuadros delimitadores puede ser utilizada para contar inventario en una imagen. diff --git a/translations/es/5-retail/lessons/2-check-stock-device/wio-terminal-object-detector.md b/translations/es/5-retail/lessons/2-check-stock-device/wio-terminal-object-detector.md index 2a3fbedc3..5a3c8e376 100644 --- a/translations/es/5-retail/lessons/2-check-stock-device/wio-terminal-object-detector.md +++ b/translations/es/5-retail/lessons/2-check-stock-device/wio-terminal-object-detector.md @@ -1,12 +1,3 @@ - # Llama a tu detector de objetos desde tu dispositivo IoT - Wio Terminal Una vez que tu detector de objetos haya sido publicado, puede ser utilizado desde tu dispositivo IoT. diff --git a/translations/es/6-consumer/README.md b/translations/es/6-consumer/README.md index ce83266c6..f05d10ada 100644 --- a/translations/es/6-consumer/README.md +++ b/translations/es/6-consumer/README.md @@ -1,12 +1,3 @@ - # IoT para consumidores - crea un asistente de voz inteligente La comida ha sido cultivada, llevada a una planta de procesamiento, clasificada por calidad, vendida en la tienda y ahora es hora de cocinar. Una de las piezas fundamentales de cualquier cocina es un temporizador. Inicialmente, estos comenzaron como relojes de arena: tu comida estaba lista cuando toda la arena caía al bulbo inferior. Luego pasaron a ser mecánicos, y después eléctricos. diff --git a/translations/es/6-consumer/lessons/1-speech-recognition/README.md b/translations/es/6-consumer/lessons/1-speech-recognition/README.md index bfaeac55e..e54835c51 100644 --- a/translations/es/6-consumer/lessons/1-speech-recognition/README.md +++ b/translations/es/6-consumer/lessons/1-speech-recognition/README.md @@ -1,12 +1,3 @@ - # Reconocer voz con un dispositivo IoT ![Una visión general ilustrada de esta lección](../../../../../translated_images/es/lesson-21.e34de51354d6606fb5ee08d8c89d0222eea0a2a7aaf744a8805ae847c4f69dc4.jpg) diff --git a/translations/es/6-consumer/lessons/1-speech-recognition/assignment.md b/translations/es/6-consumer/lessons/1-speech-recognition/assignment.md index 40f9a55e5..84c2eeb69 100644 --- a/translations/es/6-consumer/lessons/1-speech-recognition/assignment.md +++ b/translations/es/6-consumer/lessons/1-speech-recognition/assignment.md @@ -1,12 +1,3 @@ - ## Instrucciones ## Rúbrica diff --git a/translations/es/6-consumer/lessons/1-speech-recognition/pi-audio.md b/translations/es/6-consumer/lessons/1-speech-recognition/pi-audio.md index 2f2744d48..2f589b519 100644 --- a/translations/es/6-consumer/lessons/1-speech-recognition/pi-audio.md +++ b/translations/es/6-consumer/lessons/1-speech-recognition/pi-audio.md @@ -1,12 +1,3 @@ - # Capturar audio - Raspberry Pi En esta parte de la lección, escribirás código para capturar audio en tu Raspberry Pi. La captura de audio será controlada por un botón. diff --git a/translations/es/6-consumer/lessons/1-speech-recognition/pi-microphone.md b/translations/es/6-consumer/lessons/1-speech-recognition/pi-microphone.md index 2611fa3ac..d74387cc0 100644 --- a/translations/es/6-consumer/lessons/1-speech-recognition/pi-microphone.md +++ b/translations/es/6-consumer/lessons/1-speech-recognition/pi-microphone.md @@ -1,12 +1,3 @@ - # Configura tu micrófono y altavoces - Raspberry Pi En esta parte de la lección, agregarás un micrófono y altavoces a tu Raspberry Pi. diff --git a/translations/es/6-consumer/lessons/1-speech-recognition/pi-speech-to-text.md b/translations/es/6-consumer/lessons/1-speech-recognition/pi-speech-to-text.md index cde399852..df5305602 100644 --- a/translations/es/6-consumer/lessons/1-speech-recognition/pi-speech-to-text.md +++ b/translations/es/6-consumer/lessons/1-speech-recognition/pi-speech-to-text.md @@ -1,12 +1,3 @@ - # De voz a texto - Raspberry Pi En esta parte de la lección, escribirás código para convertir el habla del audio capturado en texto utilizando el servicio de voz. diff --git a/translations/es/6-consumer/lessons/1-speech-recognition/virtual-device-audio.md b/translations/es/6-consumer/lessons/1-speech-recognition/virtual-device-audio.md index 7b5ea28a9..3de462885 100644 --- a/translations/es/6-consumer/lessons/1-speech-recognition/virtual-device-audio.md +++ b/translations/es/6-consumer/lessons/1-speech-recognition/virtual-device-audio.md @@ -1,12 +1,3 @@ - # Capturar audio - Dispositivo IoT virtual Las bibliotecas de Python que usarás más adelante en esta lección para convertir voz a texto tienen captura de audio integrada en Windows, macOS y Linux. No necesitas hacer nada aquí. diff --git a/translations/es/6-consumer/lessons/1-speech-recognition/virtual-device-microphone.md b/translations/es/6-consumer/lessons/1-speech-recognition/virtual-device-microphone.md index e544522c7..489f582ce 100644 --- a/translations/es/6-consumer/lessons/1-speech-recognition/virtual-device-microphone.md +++ b/translations/es/6-consumer/lessons/1-speech-recognition/virtual-device-microphone.md @@ -1,12 +1,3 @@ - # Configura tu micrófono y altavoces - Hardware IoT Virtual El hardware IoT virtual utilizará un micrófono y altavoces conectados a tu computadora. diff --git a/translations/es/6-consumer/lessons/1-speech-recognition/virtual-device-speech-to-text.md b/translations/es/6-consumer/lessons/1-speech-recognition/virtual-device-speech-to-text.md index e1d6b68de..ffe5ace29 100644 --- a/translations/es/6-consumer/lessons/1-speech-recognition/virtual-device-speech-to-text.md +++ b/translations/es/6-consumer/lessons/1-speech-recognition/virtual-device-speech-to-text.md @@ -1,12 +1,3 @@ - # Conversión de voz a texto - Dispositivo IoT virtual En esta parte de la lección, escribirás código para convertir el habla capturada desde tu micrófono en texto utilizando el servicio de voz. diff --git a/translations/es/6-consumer/lessons/1-speech-recognition/wio-terminal-audio.md b/translations/es/6-consumer/lessons/1-speech-recognition/wio-terminal-audio.md index e1ffdf4a4..68d96f217 100644 --- a/translations/es/6-consumer/lessons/1-speech-recognition/wio-terminal-audio.md +++ b/translations/es/6-consumer/lessons/1-speech-recognition/wio-terminal-audio.md @@ -1,12 +1,3 @@ - # Capturar audio - Wio Terminal En esta parte de la lección, escribirás código para capturar audio en tu Wio Terminal. La captura de audio será controlada por uno de los botones en la parte superior del Wio Terminal. diff --git a/translations/es/6-consumer/lessons/1-speech-recognition/wio-terminal-microphone.md b/translations/es/6-consumer/lessons/1-speech-recognition/wio-terminal-microphone.md index 702ab7147..96e88222d 100644 --- a/translations/es/6-consumer/lessons/1-speech-recognition/wio-terminal-microphone.md +++ b/translations/es/6-consumer/lessons/1-speech-recognition/wio-terminal-microphone.md @@ -1,12 +1,3 @@ - # Configura tu micrófono y altavoces - Wio Terminal En esta parte de la lección, añadirás altavoces a tu Wio Terminal. El Wio Terminal ya tiene un micrófono incorporado, que puede usarse para capturar voz. diff --git a/translations/es/6-consumer/lessons/1-speech-recognition/wio-terminal-speech-to-text.md b/translations/es/6-consumer/lessons/1-speech-recognition/wio-terminal-speech-to-text.md index 427bcd2f8..d85482ef3 100644 --- a/translations/es/6-consumer/lessons/1-speech-recognition/wio-terminal-speech-to-text.md +++ b/translations/es/6-consumer/lessons/1-speech-recognition/wio-terminal-speech-to-text.md @@ -1,12 +1,3 @@ - # Conversión de voz a texto - Wio Terminal En esta parte de la lección, escribirás código para convertir el audio capturado en texto utilizando el servicio de voz. diff --git a/translations/es/6-consumer/lessons/2-language-understanding/README.md b/translations/es/6-consumer/lessons/2-language-understanding/README.md index df509bb90..ca11f1f9c 100644 --- a/translations/es/6-consumer/lessons/2-language-understanding/README.md +++ b/translations/es/6-consumer/lessons/2-language-understanding/README.md @@ -1,12 +1,3 @@ - # Comprender el lenguaje ![Una vista general en sketchnote de esta lección](../../../../../translated_images/es/lesson-22.6148ea28500d9e00c396aaa2649935fb6641362c8f03d8e5e90a676977ab01dd.jpg) diff --git a/translations/es/6-consumer/lessons/2-language-understanding/assignment.md b/translations/es/6-consumer/lessons/2-language-understanding/assignment.md index 4a607bafe..2ad7933ba 100644 --- a/translations/es/6-consumer/lessons/2-language-understanding/assignment.md +++ b/translations/es/6-consumer/lessons/2-language-understanding/assignment.md @@ -1,12 +1,3 @@ - # Cancelar el temporizador ## Instrucciones diff --git a/translations/es/6-consumer/lessons/3-spoken-feedback/README.md b/translations/es/6-consumer/lessons/3-spoken-feedback/README.md index 392c9f38a..9a3bbe9e1 100644 --- a/translations/es/6-consumer/lessons/3-spoken-feedback/README.md +++ b/translations/es/6-consumer/lessons/3-spoken-feedback/README.md @@ -1,12 +1,3 @@ - # Configura un temporizador y proporciona retroalimentación hablada ![Un resumen visual de esta lección](../../../../../translated_images/es/lesson-23.f38483e1d4df4828990d3f02d60e46c978b075d384ae7cb4f7bab738e107c850.jpg) diff --git a/translations/es/6-consumer/lessons/3-spoken-feedback/assignment.md b/translations/es/6-consumer/lessons/3-spoken-feedback/assignment.md index a640dca0c..96abc58dc 100644 --- a/translations/es/6-consumer/lessons/3-spoken-feedback/assignment.md +++ b/translations/es/6-consumer/lessons/3-spoken-feedback/assignment.md @@ -1,12 +1,3 @@ - # Cancelar el temporizador ## Instrucciones diff --git a/translations/es/6-consumer/lessons/3-spoken-feedback/pi-text-to-speech.md b/translations/es/6-consumer/lessons/3-spoken-feedback/pi-text-to-speech.md index 0c2cd1440..0e8e0f68e 100644 --- a/translations/es/6-consumer/lessons/3-spoken-feedback/pi-text-to-speech.md +++ b/translations/es/6-consumer/lessons/3-spoken-feedback/pi-text-to-speech.md @@ -1,12 +1,3 @@ - # Texto a voz - Raspberry Pi En esta parte de la lección, escribirás código para convertir texto a voz utilizando el servicio de voz. diff --git a/translations/es/6-consumer/lessons/3-spoken-feedback/single-board-computer-set-timer.md b/translations/es/6-consumer/lessons/3-spoken-feedback/single-board-computer-set-timer.md index 64635217c..853db5ca4 100644 --- a/translations/es/6-consumer/lessons/3-spoken-feedback/single-board-computer-set-timer.md +++ b/translations/es/6-consumer/lessons/3-spoken-feedback/single-board-computer-set-timer.md @@ -1,12 +1,3 @@ - # Configurar un temporizador - Hardware IoT Virtual y Raspberry Pi En esta parte de la lección, llamarás a tu código sin servidor para interpretar el habla y configurar un temporizador en tu dispositivo IoT virtual o Raspberry Pi basado en los resultados. diff --git a/translations/es/6-consumer/lessons/3-spoken-feedback/virtual-device-text-to-speech.md b/translations/es/6-consumer/lessons/3-spoken-feedback/virtual-device-text-to-speech.md index c18889460..acc1ee258 100644 --- a/translations/es/6-consumer/lessons/3-spoken-feedback/virtual-device-text-to-speech.md +++ b/translations/es/6-consumer/lessons/3-spoken-feedback/virtual-device-text-to-speech.md @@ -1,12 +1,3 @@ - # Texto a voz - Dispositivo IoT virtual En esta parte de la lección, escribirás código para convertir texto a voz utilizando el servicio de voz. diff --git a/translations/es/6-consumer/lessons/3-spoken-feedback/wio-terminal-set-timer.md b/translations/es/6-consumer/lessons/3-spoken-feedback/wio-terminal-set-timer.md index aa1a9878c..efec130a7 100644 --- a/translations/es/6-consumer/lessons/3-spoken-feedback/wio-terminal-set-timer.md +++ b/translations/es/6-consumer/lessons/3-spoken-feedback/wio-terminal-set-timer.md @@ -1,12 +1,3 @@ - # Configurar un temporizador - Wio Terminal En esta parte de la lección, llamarás a tu código sin servidor para interpretar el habla y configurar un temporizador en tu Wio Terminal basado en los resultados. diff --git a/translations/es/6-consumer/lessons/3-spoken-feedback/wio-terminal-text-to-speech.md b/translations/es/6-consumer/lessons/3-spoken-feedback/wio-terminal-text-to-speech.md index a0dfef6e5..18e23e096 100644 --- a/translations/es/6-consumer/lessons/3-spoken-feedback/wio-terminal-text-to-speech.md +++ b/translations/es/6-consumer/lessons/3-spoken-feedback/wio-terminal-text-to-speech.md @@ -1,12 +1,3 @@ - # Texto a voz - Wio Terminal En esta parte de la lección, convertirás texto a voz para proporcionar retroalimentación hablada. diff --git a/translations/es/6-consumer/lessons/4-multiple-language-support/README.md b/translations/es/6-consumer/lessons/4-multiple-language-support/README.md index ad1ee9f50..e3a5b4697 100644 --- a/translations/es/6-consumer/lessons/4-multiple-language-support/README.md +++ b/translations/es/6-consumer/lessons/4-multiple-language-support/README.md @@ -1,12 +1,3 @@ - # Soporte para múltiples idiomas ![Resumen visual de esta lección](../../../../../translated_images/es/lesson-24.4246968ed058510ab275052e87ef9aa89c7b2f938915d103c605c04dc6cd5bb7.jpg) diff --git a/translations/es/6-consumer/lessons/4-multiple-language-support/assignment.md b/translations/es/6-consumer/lessons/4-multiple-language-support/assignment.md index 4e93d5e6a..04b3857d6 100644 --- a/translations/es/6-consumer/lessons/4-multiple-language-support/assignment.md +++ b/translations/es/6-consumer/lessons/4-multiple-language-support/assignment.md @@ -1,12 +1,3 @@ - # Construir un traductor universal ## Instrucciones diff --git a/translations/es/6-consumer/lessons/4-multiple-language-support/pi-translate-speech.md b/translations/es/6-consumer/lessons/4-multiple-language-support/pi-translate-speech.md index c39a86f6c..a12f1ded8 100644 --- a/translations/es/6-consumer/lessons/4-multiple-language-support/pi-translate-speech.md +++ b/translations/es/6-consumer/lessons/4-multiple-language-support/pi-translate-speech.md @@ -1,12 +1,3 @@ - # Traducir discurso - Raspberry Pi En esta parte de la lección, escribirás código para traducir texto utilizando el servicio de traducción. diff --git a/translations/es/6-consumer/lessons/4-multiple-language-support/virtual-device-translate-speech.md b/translations/es/6-consumer/lessons/4-multiple-language-support/virtual-device-translate-speech.md index 201c36d04..5c36ef530 100644 --- a/translations/es/6-consumer/lessons/4-multiple-language-support/virtual-device-translate-speech.md +++ b/translations/es/6-consumer/lessons/4-multiple-language-support/virtual-device-translate-speech.md @@ -1,12 +1,3 @@ - # Traducir voz - Dispositivo IoT Virtual En esta parte de la lección, escribirás código para traducir voz al convertirla en texto utilizando el servicio de voz, luego traducirás el texto usando el servicio de Traducción antes de generar una respuesta hablada. diff --git a/translations/es/6-consumer/lessons/4-multiple-language-support/wio-terminal-translate-speech.md b/translations/es/6-consumer/lessons/4-multiple-language-support/wio-terminal-translate-speech.md index 42988426f..48d5c81f6 100644 --- a/translations/es/6-consumer/lessons/4-multiple-language-support/wio-terminal-translate-speech.md +++ b/translations/es/6-consumer/lessons/4-multiple-language-support/wio-terminal-translate-speech.md @@ -1,12 +1,3 @@ - # Traducir discurso - Wio Terminal En esta parte de la lección, escribirás código para traducir texto utilizando el servicio de traducción. diff --git a/translations/es/CODE_OF_CONDUCT.md b/translations/es/CODE_OF_CONDUCT.md index c7bc2bcb0..1cbe11fbd 100644 --- a/translations/es/CODE_OF_CONDUCT.md +++ b/translations/es/CODE_OF_CONDUCT.md @@ -1,12 +1,3 @@ - # Código de Conducta de Código Abierto de Microsoft Este proyecto ha adoptado el [Código de Conducta de Código Abierto de Microsoft](https://opensource.microsoft.com/codeofconduct/). diff --git a/translations/es/CONTRIBUTING.md b/translations/es/CONTRIBUTING.md index c3426b872..433660a06 100644 --- a/translations/es/CONTRIBUTING.md +++ b/translations/es/CONTRIBUTING.md @@ -1,12 +1,3 @@ - # Contribuir Este proyecto da la bienvenida a contribuciones y sugerencias. La mayoría de las contribuciones requieren que aceptes un Acuerdo de Licencia de Contribuidor (CLA) declarando que tienes el derecho de, y efectivamente otorgas, los derechos para usar tu contribución. Para más detalles, visita https://cla.microsoft.com. diff --git a/translations/es/README.md b/translations/es/README.md index 6194af2f3..dec49b300 100644 --- a/translations/es/README.md +++ b/translations/es/README.md @@ -1,12 +1,3 @@ - [![GitHub license](https://img.shields.io/github/license/microsoft/IoT-For-Beginners.svg)](https://github.com/microsoft/IoT-For-Beginners/blob/master/LICENSE) [![GitHub contributors](https://img.shields.io/github/contributors/microsoft/IoT-For-Beginners.svg)](https://GitHub.com/microsoft/IoT-For-Beginners/graphs/contributors/) [![GitHub issues](https://img.shields.io/github/issues/microsoft/IoT-For-Beginners.svg)](https://GitHub.com/microsoft/IoT-For-Beginners/issues/) @@ -19,7 +10,7 @@ CO_OP_TRANSLATOR_METADATA: ### Únete a la Comunidad Azure AI Foundry -Si te quedas atascado o tienes alguna pregunta sobre cómo construir aplicaciones de IA. Únete a otros aprendices y desarrolladores experimentados en discusiones sobre MCP. Es una comunidad solidaria donde las preguntas son bienvenidas y el conocimiento se comparte libremente. +Si te quedas atascado o tienes alguna pregunta sobre la creación de aplicaciones de IA, únete a otros estudiantes y desarrolladores experimentados en debates sobre MCP. Es una comunidad de apoyo donde las preguntas son bienvenidas y el conocimiento se comparte libremente. [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) @@ -29,7 +20,7 @@ Si tienes comentarios sobre el producto o errores mientras construyes, visita: Sigue estos pasos para comenzar a usar estos recursos: 1. **Haz un Fork del Repositorio**: Haz clic en [![GitHub forks](https://img.shields.io/github/forks/microsoft/IoT-For-Beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/IoT-For-Beginners/fork) -2. **Clona el Repositorio**: `git clone https://github.com/microsoft/IoT-For-Beginners.git` +2. **Clona el Repositorio**: `git clone https://github.com/microsoft/IoT-For-Beginners.git` 3. [**Únete al Discord de Microsoft Foundry y conoce a expertos y otros desarrolladores**](https://discord.com/invite/ByRwuEEgH4) @@ -38,11 +29,11 @@ Sigue estos pasos para comenzar a usar estos recursos: #### Soportado mediante GitHub Action (Automatizado y Siempre Actualizado) -[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh/README.md) | [Chinese (Traditional, Hong Kong)](../hk/README.md) | [Chinese (Traditional, Macau)](../mo/README.md) | [Chinese (Traditional, Taiwan)](../tw/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../br/README.md) | [Portuguese (Portugal)](../pt/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](./README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md) +[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](./README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md) > **¿Prefieres Clonar Localmente?** -> Este repositorio incluye más de 50 traducciones de idiomas, lo que incrementa significativamente el tamaño de la descarga. Para clonar sin las traducciones, usa sparse checkout: +> Este repositorio incluye más de 50 traducciones a diferentes idiomas lo que incrementa significativamente el tamaño de descarga. Para clonar sin traducciones, usa sparse checkout: > ```bash > git clone --filter=blob:none --sparse https://github.com/microsoft/IoT-For-Beginners.git > cd IoT-For-Beginners @@ -51,98 +42,98 @@ Sigue estos pasos para comenzar a usar estos recursos: > Esto te da todo lo que necesitas para completar el curso con una descarga mucho más rápida. -# IoT para Principiantes - Un Plan de Estudios +# IoT para Principiantes - Un Currículum -Los Azure Cloud Advocates de Microsoft tienen el placer de ofrecer un plan de estudios de 12 semanas, con 24 lecciones, todo sobre los fundamentos de IoT. Cada lección incluye cuestionarios antes y después de la lección, instrucciones escritas para completar la lección, una solución, una asignación y más. Nuestra pedagogía basada en proyectos te permite aprender mientras construyes, una manera comprobada para que las nuevas habilidades se “fijen”. +Los Defensores de Azure Cloud en Microsoft se complacen en ofrecer un currículum de 12 semanas y 24 lecciones sobre los conceptos básicos de IoT. Cada lección incluye cuestionarios antes y después de la lección, instrucciones escritas para completarla, una solución, una tarea y más. Nuestra pedagogía basada en proyectos te permite aprender mientras construyes, una forma comprobada para que las nuevas habilidades “se queden”. -Los proyectos cubren el viaje de los alimentos desde la granja hasta la mesa. Esto incluye agricultura, logística, manufactura, venta minorista y consumidor, todas áreas industriales populares para dispositivos IoT. +Los proyectos cubren el trayecto de los alimentos desde la granja hasta la mesa. Esto incluye agricultura, logística, fabricación, venta al por menor y consumo, todas áreas populares de la industria para dispositivos IoT. -![Un mapa del curso mostrando 24 lecciones que cubren introducción, agricultura, transporte, procesamiento, venta minorista y cocina](../../translated_images/es/Roadmap.bb1dec285dda0eda.webp) +![Un mapa del curso que muestra 24 lecciones abarcando introducción, agricultura, transporte, procesamiento, venta al por menor y cocina](../../translated_images/es/Roadmap.bb1dec285dda0eda.webp) > Sketchnote por [Nitya Narasimhan](https://github.com/nitya). Haz clic en la imagen para una versión más grande. -**Un agradecimiento sincero a nuestros autores [Jen Fox](https://github.com/jenfoxbot), [Jen Looper](https://github.com/jlooper), [Jim Bennett](https://github.com/jimbobbennett), y a nuestra artista de sketchnotes [Nitya Narasimhan](https://github.com/nitya).** +**Un agradecimiento sincero a nuestros autores [Jen Fox](https://github.com/jenfoxbot), [Jen Looper](https://github.com/jlooper), [Jim Bennett](https://github.com/jimbobbennett), y nuestro artista de sketchnote [Nitya Narasimhan](https://github.com/nitya).** -**Gracias también a nuestro equipo de [Microsoft Learn Student Ambassadors](https://studentambassadors.microsoft.com?WT.mc_id=academic-17441-jabenn) que han estado revisando y traduciendo este plan de estudios - [Aditya Garg](https://github.com/AdityaGarg00), [Anurag Sharma](https://github.com/Anurag-0-1-A), [Arpita Das](https://github.com/Arpiiitaaa), [Aryan Jain](https://www.linkedin.com/in/aryan-jain-47a4a1145/), [Bhavesh Suneja](https://github.com/EliteWarrior315), [Faith Hunja](https://faithhunja.github.io/), [Lateefah Bello](https://www.linkedin.com/in/lateefah-bello/), [Manvi Jha](https://github.com/Severus-Matthew), [Mireille Tan](https://www.linkedin.com/in/mireille-tan-a4834819a/), [Mohammad Iftekher (Iftu) Ebne Jalal](https://github.com/Iftu119), [Mohammad Zulfikar](https://github.com/mohzulfikar), [Priyanshu Srivastav](https://www.linkedin.com/in/priyanshu-srivastav-b067241ba), [Thanmai Gowducheruvu](https://github.com/innovation-platform), y [Zina Kamel](https://www.linkedin.com/in/zina-kamel/).** +**Gracias también a nuestro equipo de [Embajadores Estudiantiles de Microsoft Learn](https://studentambassadors.microsoft.com?WT.mc_id=academic-17441-jabenn) que han estado revisando y traduciendo este currículum - [Aditya Garg](https://github.com/AdityaGarg00), [Anurag Sharma](https://github.com/Anurag-0-1-A), [Arpita Das](https://github.com/Arpiiitaaa), [Aryan Jain](https://www.linkedin.com/in/aryan-jain-47a4a1145/), [Bhavesh Suneja](https://github.com/EliteWarrior315), [Faith Hunja](https://faithhunja.github.io/), [Lateefah Bello](https://www.linkedin.com/in/lateefah-bello/), [Manvi Jha](https://github.com/Severus-Matthew), [Mireille Tan](https://www.linkedin.com/in/mireille-tan-a4834819a/), [Mohammad Iftekher (Iftu) Ebne Jalal](https://github.com/Iftu119), [Mohammad Zulfikar](https://github.com/mohzulfikar), [Priyanshu Srivastav](https://www.linkedin.com/in/priyanshu-srivastav-b067241ba), [Thanmai Gowducheruvu](https://github.com/innovation-platform), y [Zina Kamel](https://www.linkedin.com/in/zina-kamel/).** ¡Conoce al equipo! -[![Promo video](../../images/IOT.gif)](https://youtu.be/-wippUJRi5k) +[![Video promocional](../../images/IOT.gif)](https://youtu.be/-wippUJRi5k) **Gif por** [Mohit Jaisal](https://linkedin.com/in/mohitjaisal) -> 🎥 ¡Haz clic en la imagen de arriba para un video sobre el proyecto! +> 🎥 ¡Haz clic en la imagen de arriba para ver un video sobre el proyecto! -> **Docentes**, hemos [incluido algunas sugerencias](for-teachers.md) sobre cómo usar este plan de estudios. Si deseas crear tus propias lecciones, también hemos incluido una [plantilla de lección](lesson-template/README.md). +> **Profesores**, hemos [incluido algunas sugerencias](for-teachers.md) sobre cómo usar este currículum. Si desean crear sus propias lecciones, también hemos incluido una [plantilla de lección](lesson-template/README.md). -> **[Estudiantes](https://aka.ms/student-page)**, para usar este plan de estudios por tu cuenta, haz un fork del repositorio completo y completa los ejercicios por tu cuenta, comenzando con un cuestionario previo a la clase, luego leyendo la clase y completando el resto de las actividades. Trata de crear los proyectos comprendiendo las lecciones en lugar de copiar el código de la solución; sin embargo, ese código está disponible en las carpetas /solutions en cada lección orientada a proyectos. Otra idea sería formar un grupo de estudio con amigos y repasar el contenido juntos. Para estudio adicional, recomendamos [Microsoft Learn](https://docs.microsoft.com/users/jimbobbennett/collections/ke2ehd351jopwr?WT.mc_id=academic-17441-jabenn). +> **[Estudiantes](https://aka.ms/student-page)**, para usar este currículum por cuenta propia, haz un fork del repositorio completo y completa los ejercicios por tu cuenta, comenzando con un cuestionario previo a la lección, luego leyendo la lección y completando el resto de actividades. Intenta crear los proyectos comprendiendo las lecciones en vez de copiar el código solución; sin embargo, ese código está disponible en las carpetas /solutions de cada lección orientada a proyectos. Otra idea sería formar un grupo de estudio con amigos y revisar el contenido juntos. Para estudio adicional, recomendamos [Microsoft Learn](https://docs.microsoft.com/users/jimbobbennett/collections/ke2ehd351jopwr?WT.mc_id=academic-17441-jabenn). -Para una visión general en video de este curso, mira este video: +Para una vista general en video de este curso, mira este video: -[![Promo video](https://img.youtube.com/vi/bccEMm8gRuc/0.jpg)](https://youtube.com/watch?v=bccEMm8gRuc "Promo video") +[![Video promocional](https://img.youtube.com/vi/bccEMm8gRuc/0.jpg)](https://youtube.com/watch?v=bccEMm8gRuc "Promo video") -> 🎥 ¡Haz clic en la imagen de arriba para un video sobre el proyecto! +> 🎥 ¡Haz clic en la imagen de arriba para ver un video sobre el proyecto! ## Pedagogía -Hemos elegido dos principios pedagógicos para construir este plan de estudios: asegurar que sea basado en proyectos y que incluya cuestionarios frecuentes. Al final de esta serie, los estudiantes habrán construido un sistema de monitoreo y riego de plantas, un rastreador de vehículos, una fábrica inteligente para rastrear y verificar alimentos, y un temporizador de cocina controlado por voz, y habrán aprendido los conceptos básicos de Internet de las Cosas, incluyendo cómo escribir código para dispositivos, conectarse a la nube, analizar telemetría y ejecutar IA en el edge. +Hemos elegido dos principios pedagógicos al construir este currículum: asegurar que esté basado en proyectos y que incluya cuestionarios frecuentes. Al final de esta serie, los estudiantes habrán construido un sistema de monitoreo y riego de plantas, un rastreador de vehículos, una configuración de fábrica inteligente para rastrear y verificar alimentos, y un temporizador de cocina controlado por voz, y habrán aprendido los fundamentos del Internet de las Cosas, incluyendo cómo escribir código para dispositivos, conectar con la nube, analizar telemetría y ejecutar IA en el borde. -Al asegurar que el contenido esté alineado con proyectos, el proceso se vuelve más atractivo para los estudiantes y se aumenta la retención de conceptos. +Al asegurar que el contenido se alinea con proyectos, el proceso se vuelve más atractivo para los estudiantes y se aumenta la retención de conceptos. -Además, un cuestionario de bajo riesgo antes de la clase establece la intención del estudiante hacia el aprendizaje de un tema, mientras que un segundo cuestionario después de la clase asegura una retención adicional. Este plan de estudios fue diseñado para ser flexible y divertido y puede tomarse en su totalidad o en partes. Los proyectos comienzan pequeños y se vuelven cada vez más complejos al final del ciclo de 12 semanas. +Además, un cuestionario de bajo riesgo antes de la clase establece la intención del estudiante hacia el aprendizaje de un tema, mientras que un segundo cuestionario después de la clase asegura una mayor retención. Este currículum fue diseñado para ser flexible y divertido y puede tomarse completo o parcial. Los proyectos comienzan pequeños y se vuelven cada vez más complejos al final del ciclo de 12 semanas. -Cada proyecto se basa en hardware del mundo real disponible para estudiantes y aficionados. Cada proyecto examina el dominio específico del proyecto, proporcionando conocimientos de fondo relevantes. Para ser un desarrollador exitoso, ayuda entender el dominio en el que estás resolviendo problemas; proporcionar este conocimiento de fondo permite a los estudiantes pensar en sus soluciones y aprendizajes IoT en el contexto del tipo de problema real que podrían tener que resolver como desarrolladores IoT. Los estudiantes aprenden el 'por qué' de las soluciones que están construyendo y obtienen aprecio por el usuario final. +Cada proyecto se basa en hardware del mundo real disponible para estudiantes y aficionados. Cada proyecto examina el dominio específico del proyecto, proporcionando el conocimiento de fondo relevante. Para ser un desarrollador exitoso, es útil comprender el dominio en el cual estás resolviendo problemas; al proporcionar este conocimiento de fondo se permite que los estudiantes piensen sobre sus soluciones y aprendizajes de IoT en el contexto del tipo de problema real que podrían tener que resolver como desarrolladores de IoT. Los estudiantes aprenden el 'por qué' de las soluciones que están construyendo y obtienen una apreciación del usuario final. ## Hardware -Tenemos dos opciones de hardware IoT para usar en los proyectos, dependiendo de las preferencias personales, conocimientos o preferencias del lenguaje de programación, objetivos de aprendizaje y disponibilidad. También hemos proporcionado una versión de 'hardware virtual' para aquellos que no tienen acceso a hardware o quieren aprender más antes de comprometerse a una compra. Puedes leer más y encontrar una 'lista de compras' en la [página de hardware](./hardware.md), incluyendo enlaces para comprar kits completos de nuestros amigos en Seeed Studio. -> 💁 Encuentra nuestras pautas de [Código de Conducta](CODE_OF_CONDUCT.md), [Contribuciones](CONTRIBUTING.md) y [Traducción](TRANSLATIONS.md). ¡Agradecemos tus comentarios constructivos! +Tenemos dos opciones de hardware IoT para usar en los proyectos dependiendo de las preferencias personales, conocimientos o preferencias de lenguaje de programación, objetivos de aprendizaje y disponibilidad. También hemos proporcionado una versión de 'hardware virtual' para aquellos que no tengan acceso a hardware o quieran aprender más antes de comprometerse a una compra. Puedes leer más y encontrar una 'lista de compras' en la [página de hardware](./hardware.md), incluyendo enlaces para comprar kits completos de nuestros amigos en Seeed Studio. +> 💁 Encuentra nuestro [Código de Conducta](CODE_OF_CONDUCT.md), las guías de [Contribución](CONTRIBUTING.md) y [Traducción](TRANSLATIONS.md). ¡Agradecemos tus comentarios constructivos! > > 🔧 ¿Tienes problemas? Consulta nuestra [Guía de Solución de Problemas](TROUBLESHOOTING.md) para soluciones a problemas comunes. ## Cada lección incluye: - sketchnote -- video complementario opcional +- video suplementario opcional - cuestionario de calentamiento previo a la lección - lección escrita - para lecciones basadas en proyectos, guías paso a paso sobre cómo construir el proyecto -- chequeos de conocimiento +- controles de conocimiento - un desafío -- lectura complementaria -- asignación +- lectura suplementaria +- tarea - [cuestionario posterior a la lección](https://ff-quizzes.netlify.app/en/) -> **Una nota sobre los cuestionarios**: Todos los cuestionarios están contenidos en la carpeta quiz-app, con un total de 48 cuestionarios de tres preguntas cada uno. Se enlazan desde dentro de las lecciones pero la aplicación de cuestionarios puede ejecutarse localmente o desplegarse en Azure; sigue las instrucciones en la carpeta `quiz-app`. Se están localizando gradualmente. +> **Una nota sobre los cuestionarios**: Todos los cuestionarios están contenidos en la carpeta quiz-app, con un total de 48 cuestionarios de tres preguntas cada uno. Están enlazados desde dentro de las lecciones, pero la app de cuestionarios puede ejecutarse localmente o desplegarse en Azure; sigue las instrucciones en la carpeta `quiz-app`. Están siendo localizados gradualmente. ## Lecciones -| | Nombre del Proyecto | Conceptos Enseñados | Objetivos de Aprendizaje | Lección Enlazada | -| :---: | :--------------------------------------------: | :-------------------------------------------------------------: | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------: | -| 01 | [Primeros pasos](./1-getting-started/README.md) | Introducción al IoT | Aprende los principios básicos del IoT y los bloques básicos de las soluciones IoT como sensores y servicios en la nube mientras configuras tu primer dispositivo IoT | [Introducción al IoT](./1-getting-started/lessons/1-introduction-to-iot/README.md) | -| 02 | [Primeros pasos](./1-getting-started/README.md) | Una inmersión más profunda en IoT | Aprende más sobre los componentes de un sistema IoT, así como microcontroladores y computadoras de placa única | [Una inmersión más profunda en IoT](./1-getting-started/lessons/2-deeper-dive/README.md) | -| 03 | [Primeros pasos](./1-getting-started/README.md) | Interactúa con el mundo físico con sensores y actuadores | Aprende sobre sensores para recopilar datos del mundo físico y actuadores para enviar retroalimentación mientras construyes una luz nocturna | [Interactúa con el mundo físico con sensores y actuadores](./1-getting-started/lessons/3-sensors-and-actuators/README.md) | -| 04 | [Primeros pasos](./1-getting-started/README.md) | Conecta tu dispositivo a Internet | Aprende cómo conectar un dispositivo IoT a Internet para enviar y recibir mensajes conectando tu luz nocturna a un broker MQTT | [Conecta tu dispositivo a Internet](./1-getting-started/lessons/4-connect-internet/README.md) | -| 05 | [Granja](./2-farm/README.md) | Predice el crecimiento de plantas | Aprende cómo predecir el crecimiento de plantas usando datos de temperatura capturados por un dispositivo IoT | [Predice el crecimiento de plantas](./2-farm/lessons/1-predict-plant-growth/README.md) | -| 06 | [Granja](./2-farm/README.md) | Detecta la humedad del suelo | Aprende a detectar la humedad del suelo y calibrar un sensor de humedad del suelo | [Detecta la humedad del suelo](./2-farm/lessons/2-detect-soil-moisture/README.md) | -| 07 | [Granja](./2-farm/README.md) | Riego automatizado de plantas | Aprende cómo automatizar y programar el riego usando un relé y MQTT | [Riego automatizado de plantas](./2-farm/lessons/3-automated-plant-watering/README.md) | -| 08 | [Granja](./2-farm/README.md) | Migra tu planta a la nube | Aprende sobre la nube y servicios IoT alojados en la nube y cómo conectar tu planta a uno de estos en lugar de un broker MQTT público | [Migra tu planta a la nube](./2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md) | -| 09 | [Granja](./2-farm/README.md) | Migra la lógica de tu aplicación a la nube | Aprende cómo escribir lógica de aplicación en la nube que responde a mensajes IoT | [Migra la lógica de tu aplicación a la nube](./2-farm/lessons/5-migrate-application-to-the-cloud/README.md) | -| 10 | [Granja](./2-farm/README.md) | Mantén tu planta segura | Aprende sobre seguridad en IoT y cómo mantener tu planta segura con claves y certificados | [Mantén tu planta segura](./2-farm/lessons/6-keep-your-plant-secure/README.md) | -| 11 | [Transporte](./3-transport/README.md) | Seguimiento de ubicación | Aprende sobre el seguimiento de ubicación GPS para dispositivos IoT | [Seguimiento de ubicación](./3-transport/lessons/1-location-tracking/README.md) | -| 12 | [Transporte](./3-transport/README.md) | Almacena datos de ubicación | Aprende cómo almacenar datos IoT para visualizar o analizar más tarde | [Almacena datos de ubicación](./3-transport/lessons/2-store-location-data/README.md) | -| 13 | [Transporte](./3-transport/README.md) | Visualiza datos de ubicación | Aprende sobre la visualización de datos de ubicación en un mapa y cómo los mapas representan el mundo real 3D en 2 dimensiones | [Visualiza datos de ubicación](./3-transport/lessons/3-visualize-location-data/README.md) | -| 14 | [Transporte](./3-transport/README.md) | Geocercas | Aprende sobre geocercas y cómo pueden usarse para alertar cuando vehículos en la cadena de suministro están cerca de su destino | [Geocercas](./3-transport/lessons/4-geofences/README.md) | -| 15 | [Manufactura](./4-manufacturing/README.md) | Entrena un detector de calidad de fruta | Aprende sobre entrenar un clasificador de imágenes en la nube para detectar la calidad de la fruta | [Entrena un detector de calidad de fruta](./4-manufacturing/lessons/1-train-fruit-detector/README.md) | -| 16 | [Manufactura](./4-manufacturing/README.md) | Verifica la calidad de fruta con un dispositivo IoT | Aprende a usar tu detector de calidad de fruta desde un dispositivo IoT | [Verifica la calidad de fruta con un dispositivo IoT](./4-manufacturing/lessons/2-check-fruit-from-device/README.md) | -| 17 | [Manufactura](./4-manufacturing/README.md) | Ejecuta tu detector de fruta en el edge | Aprende sobre ejecutar tu detector de fruta en un dispositivo IoT en el edge | [Ejecuta tu detector de fruta en el edge](./4-manufacturing/lessons/3-run-fruit-detector-edge/README.md) | -| 18 | [Manufactura](./4-manufacturing/README.md) | Activa la detección de calidad de fruta desde un sensor | Aprende sobre activar la detección de calidad de fruta desde un sensor | [Activa la detección de calidad de fruta desde un sensor](./4-manufacturing/lessons/4-trigger-fruit-detector/README.md) | -| 19 | [Retail](./5-retail/README.md) | Entrena un detector de stock | Aprende cómo usar detección de objetos para entrenar un detector de stock para contar el inventario en una tienda | [Entrena un detector de stock](./5-retail/lessons/1-train-stock-detector/README.md) | -| 20 | [Retail](./5-retail/README.md) | Consulta stock desde un dispositivo IoT | Aprende cómo consultar el stock desde un dispositivo IoT usando un modelo de detección de objetos | [Consulta stock desde un dispositivo IoT](./5-retail/lessons/2-check-stock-device/README.md) | -| 21 | [Consumidor](./6-consumer/README.md) | Reconoce voz con un dispositivo IoT | Aprende cómo reconocer voz desde un dispositivo IoT para crear un temporizador inteligente | [Reconoce voz con un dispositivo IoT](./6-consumer/lessons/1-speech-recognition/README.md) | -| 22 | [Consumidor](./6-consumer/README.md) | Comprende el lenguaje | Aprende cómo entender oraciones habladas a un dispositivo IoT | [Comprende el lenguaje](./6-consumer/lessons/2-language-understanding/README.md) | -| 23 | [Consumidor](./6-consumer/README.md) | Configura un temporizador y da retroalimentación oral | Aprende cómo configurar un temporizador en un dispositivo IoT y dar retroalimentación oral sobre cuándo se configura y cuándo termina | [Configura un temporizador y da retroalimentación oral](./6-consumer/lessons/3-spoken-feedback/README.md) | -| 24 | [Consumidor](./6-consumer/README.md) | Soporta múltiples idiomas | Aprende cómo soportar múltiples idiomas, tanto en lo que se habla al dispositivo como en las respuestas de tu temporizador inteligente | [Soporta múltiples idiomas](./6-consumer/lessons/4-multiple-language-support/README.md) | +| | Nombre del Proyecto | Conceptos Enseñados | Objetivos de Aprendizaje | Lección Vinculada | +| :---: | :--------------------------------------------: | :-------------------------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------: | +| 01 | [Empezando](./1-getting-started/README.md) | Introducción al IoT | Aprende los principios básicos del IoT y los bloques fundamentales de soluciones IoT como sensores y servicios en la nube mientras configuras tu primer dispositivo IoT | [Introducción al IoT](./1-getting-started/lessons/1-introduction-to-iot/README.md) | +| 02 | [Empezando](./1-getting-started/README.md) | Una mirada más profunda al IoT | Aprende más sobre los componentes de un sistema IoT, así como microcontroladores y computadoras de placa única | [Una mirada más profunda al IoT](./1-getting-started/lessons/2-deeper-dive/README.md) | +| 03 | [Empezando](./1-getting-started/README.md) | Interactuar con el mundo físico con sensores y actuadores | Aprende sobre sensores para recopilar datos del mundo físico y actuadores para enviar retroalimentación, mientras construyes una luz nocturna | [Interactuar con el mundo físico con sensores y actuadores](./1-getting-started/lessons/3-sensors-and-actuators/README.md) | +| 04 | [Empezando](./1-getting-started/README.md) | Conecta tu dispositivo a Internet | Aprende cómo conectar un dispositivo IoT a Internet para enviar y recibir mensajes conectando tu luz nocturna a un broker MQTT | [Conecta tu dispositivo a Internet](./1-getting-started/lessons/4-connect-internet/README.md) | +| 05 | [Granja](./2-farm/README.md) | Predecir el crecimiento de plantas | Aprende cómo predecir el crecimiento de plantas utilizando datos de temperatura capturados por un dispositivo IoT | [Predecir el crecimiento de plantas](./2-farm/lessons/1-predict-plant-growth/README.md) | +| 06 | [Granja](./2-farm/README.md) | Detectar la humedad del suelo | Aprende cómo detectar la humedad del suelo y calibrar un sensor de humedad del suelo | [Detectar la humedad del suelo](./2-farm/lessons/2-detect-soil-moisture/README.md) | +| 07 | [Granja](./2-farm/README.md) | Riego automático de plantas | Aprende cómo automatizar y temporizar el riego usando un relé y MQTT | [Riego automático de plantas](./2-farm/lessons/3-automated-plant-watering/README.md) | +| 08 | [Granja](./2-farm/README.md) | Migra tu planta a la nube | Aprende sobre la nube y servicios IoT hospedados en la nube y cómo conectar tu planta a uno de estos en lugar de un broker MQTT público | [Migra tu planta a la nube](./2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md) | +| 09 | [Granja](./2-farm/README.md) | Migra la lógica de tu aplicación a la nube | Aprende cómo puedes escribir lógica de la aplicación en la nube que responda a mensajes IoT | [Migra la lógica de tu aplicación a la nube](./2-farm/lessons/5-migrate-application-to-the-cloud/README.md) | +| 10 | [Granja](./2-farm/README.md) | Mantén segura tu planta | Aprende sobre seguridad en IoT y cómo mantener segura tu planta con llaves y certificados | [Mantén segura tu planta](./2-farm/lessons/6-keep-your-plant-secure/README.md) | +| 11 | [Transporte](./3-transport/README.md) | Rastreo de ubicación | Aprende sobre rastreo de ubicación GPS para dispositivos IoT | [Rastreo de ubicación](./3-transport/lessons/1-location-tracking/README.md) | +| 12 | [Transporte](./3-transport/README.md) | Almacenar datos de ubicación | Aprende cómo almacenar datos de IoT para ser visualizados o analizados más tarde | [Almacenar datos de ubicación](./3-transport/lessons/2-store-location-data/README.md) | +| 13 | [Transporte](./3-transport/README.md) | Visualizar datos de ubicación | Aprende sobre visualizar datos de ubicación en un mapa y cómo los mapas representan el mundo real 3D en 2 dimensiones | [Visualizar datos de ubicación](./3-transport/lessons/3-visualize-location-data/README.md) | +| 14 | [Transporte](./3-transport/README.md) | Geocercas | Aprende sobre geocercas y cómo se pueden usar para alertar cuando vehículos en la cadena de suministro están cerca de su destino | [Geocercas](./3-transport/lessons/4-geofences/README.md) | +| 15 | [Manufactura](./4-manufacturing/README.md) | Entrena un detector de calidad de frutas | Aprende a entrenar un clasificador de imágenes en la nube para detectar la calidad de las frutas | [Entrena un detector de calidad de frutas](./4-manufacturing/lessons/1-train-fruit-detector/README.md) | +| 16 | [Manufactura](./4-manufacturing/README.md) | Revisa la calidad de las frutas desde un dispositivo IoT | Aprende a usar tu detector de calidad de frutas desde un dispositivo IoT | [Revisa la calidad de las frutas desde un dispositivo IoT](./4-manufacturing/lessons/2-check-fruit-from-device/README.md) | +| 17 | [Manufactura](./4-manufacturing/README.md) | Ejecuta tu detector de frutas en el edge | Aprende a ejecutar tu detector de frutas en un dispositivo IoT en el edge | [Ejecuta tu detector de frutas en el edge](./4-manufacturing/lessons/3-run-fruit-detector-edge/README.md) | +| 18 | [Manufactura](./4-manufacturing/README.md) | Activa la detección de calidad de frutas desde un sensor | Aprende a activar la detección de calidad de frutas desde un sensor | [Activa la detección de calidad de frutas desde un sensor](./4-manufacturing/lessons/4-trigger-fruit-detector/README.md) | +| 19 | [Retail](./5-retail/README.md) | Entrena un detector de stock | Aprende a usar detección de objetos para entrenar un detector de stock para contar existencias en una tienda | [Entrena un detector de stock](./5-retail/lessons/1-train-stock-detector/README.md) | +| 20 | [Retail](./5-retail/README.md) | Revisa el stock desde un dispositivo IoT | Aprende a revisar el stock desde un dispositivo IoT usando un modelo de detección de objetos | [Revisa el stock desde un dispositivo IoT](./5-retail/lessons/2-check-stock-device/README.md) | +| 21 | [Consumidor](./6-consumer/README.md) | Reconoce el habla con un dispositivo IoT | Aprende a reconocer el habla de un dispositivo IoT para construir un temporizador inteligente | [Reconoce el habla con un dispositivo IoT](./6-consumer/lessons/1-speech-recognition/README.md) | +| 22 | [Consumidor](./6-consumer/README.md) | Comprende el lenguaje | Aprende a comprender oraciones habladas a un dispositivo IoT | [Comprende el lenguaje](./6-consumer/lessons/2-language-understanding/README.md) | +| 23 | [Consumidor](./6-consumer/README.md) | Configura un temporizador y da retroalimentación hablada | Aprende a configurar un temporizador en un dispositivo IoT y dar retroalimentación hablada sobre cuándo se configura y cuándo termina | [Configura un temporizador y da retroalimentación hablada](./6-consumer/lessons/3-spoken-feedback/README.md) | +| 24 | [Consumidor](./6-consumer/README.md) | Soporta múltiples idiomas | Aprende cómo soportar varios idiomas, tanto al ser hablado como en las respuestas de tu temporizador inteligente | [Soporta múltiples idiomas](./6-consumer/lessons/4-multiple-language-support/README.md) | ## Acceso sin conexión @@ -150,37 +141,37 @@ Puedes ejecutar esta documentación sin conexión usando [Docsify](https://docsi ## Cuestionario -Gracias a la comunidad por alojar el cuestionario interactivo que prueba tu conocimiento en cada uno de los capítulos. Puedes evaluar tu conocimiento [aquí](https://ff-quizzes.netlify.app/en/) +Gracias a la comunidad por alojar el cuestionario interactivo que prueba tus conocimientos en cada uno de los capítulos. Puedes probar tus conocimientos [aquí](https://ff-quizzes.netlify.app/en/) ### PDF -Puedes generar un PDF de este contenido para acceso sin conexión si es necesario. Para hacerlo, asegúrate de tener [npm instalado](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) y ejecuta los siguientes comandos en la carpeta raíz de este repositorio: +Puedes generar un PDF de este contenido para acceso sin conexión si lo necesitas. Para ello, asegúrate de tener [npm instalado](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) y ejecuta los siguientes comandos en la carpeta raíz de este repositorio: ```sh npm i npm run convert ``` -### Diapositivas +### Presentaciones Hay presentaciones para algunas de las lecciones en la carpeta [slides](../../slides). ## Otros Currículos -¡Nuestro equipo produce otros currículos! Mira: +¡Nuestro equipo produce otros currículos! Consulta: ### LangChain -[![LangChain4j para principiantes](https://img.shields.io/badge/LangChain4j%20for%20Beginners-22C55E?style=for-the-badge&&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchain4j-for-beginners) -[![LangChain.js para principiantes](https://img.shields.io/badge/LangChain.js%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin) +[![LangChain4j para Principiantes](https://img.shields.io/badge/LangChain4j%20for%20Beginners-22C55E?style=for-the-badge&&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchain4j-for-beginners) +[![LangChain.js para Principiantes](https://img.shields.io/badge/LangChain.js%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin) --- -### Azure / Edge / MCP / Agents -[![AZD para principiantes](https://img.shields.io/badge/AZD%20for%20Beginners-0078D4?style=for-the-badge&labelColor=E5E7EB&color=0078D4)](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst) -[![Edge AI para principiantes](https://img.shields.io/badge/Edge%20AI%20for%20Beginners-00B8E4?style=for-the-badge&labelColor=E5E7EB&color=00B8E4)](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst) -[![MCP para principiantes](https://img.shields.io/badge/MCP%20for%20Beginners-009688?style=for-the-badge&labelColor=E5E7EB&color=009688)](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst) +### Azure / Edge / MCP / Agentes +[![AZD para Principiantes](https://img.shields.io/badge/AZD%20for%20Beginners-0078D4?style=for-the-badge&labelColor=E5E7EB&color=0078D4)](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst) +[![Edge AI para Principiantes](https://img.shields.io/badge/Edge%20AI%20for%20Beginners-00B8E4?style=for-the-badge&labelColor=E5E7EB&color=00B8E4)](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst) +[![MCP para Principiantes](https://img.shields.io/badge/MCP%20for%20Beginners-009688?style=for-the-badge&labelColor=E5E7EB&color=009688)](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst) [![Agentes de IA para Principiantes](https://img.shields.io/badge/AI%20Agents%20for%20Beginners-00C49A?style=for-the-badge&labelColor=E5E7EB&color=00C49A)](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst) --- @@ -193,7 +184,7 @@ Hay presentaciones para algunas de las lecciones en la carpeta [slides](../../sl --- -### Aprendizaje Fundamental +### Aprendizaje Básico [![ML para Principiantes](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst) [![Ciencia de Datos para Principiantes](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst) [![IA para Principiantes](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst) @@ -210,13 +201,13 @@ Hay presentaciones para algunas de las lecciones en la carpeta [slides](../../sl [![Aventura Copilot](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst) -## Creditos de imágenes +## Atribuciones de imágenes -Puedes encontrar todos los créditos por las imágenes usadas en este currículo donde sea requerido en [Attributions](./attributions.md). +Puedes encontrar todas las atribuciones para las imágenes usadas en este plan de estudios donde sea requerido en [Attributions](./attributions.md). --- -**Aviso legal**: -Este documento ha sido traducido utilizando el servicio de traducción automática [Co-op Translator](https://github.com/Azure/co-op-translator). Aunque nos esforzamos por la exactitud, tenga en cuenta que las traducciones automatizadas pueden contener errores o inexactitudes. El documento original en su idioma nativo debe considerarse la fuente autorizada. Para información crítica, se recomienda la traducción profesional humana. No nos responsabilizamos por malentendidos o interpretaciones erróneas derivadas del uso de esta traducción. +**Descargo de responsabilidad**: +Este documento ha sido traducido utilizando el servicio de traducción automática [Co-op Translator](https://github.com/Azure/co-op-translator). Aunque nos esforzamos por la precisión, tenga en cuenta que las traducciones automáticas pueden contener errores o inexactitudes. El documento original en su idioma nativo debe considerarse la fuente autorizada. Para información crítica, se recomienda la traducción profesional realizada por humanos. No nos hacemos responsables por malentendidos o interpretaciones erróneas derivadas del uso de esta traducción. \ No newline at end of file diff --git a/translations/es/SECURITY.md b/translations/es/SECURITY.md index 1f01dda34..be8457ccb 100644 --- a/translations/es/SECURITY.md +++ b/translations/es/SECURITY.md @@ -1,12 +1,3 @@ - # Seguridad Microsoft se toma en serio la seguridad de nuestros productos y servicios de software, lo que incluye todos los repositorios de código fuente gestionados a través de nuestras organizaciones de GitHub, que incluyen [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin) y [nuestras organizaciones de GitHub](https://opensource.microsoft.com/). diff --git a/translations/es/SUPPORT.md b/translations/es/SUPPORT.md index 29deead62..272dbf8cc 100644 --- a/translations/es/SUPPORT.md +++ b/translations/es/SUPPORT.md @@ -1,12 +1,3 @@ - # Soporte ## Cómo reportar problemas y obtener ayuda diff --git a/translations/es/TROUBLESHOOTING.md b/translations/es/TROUBLESHOOTING.md index dafaaa322..483f96d0e 100644 --- a/translations/es/TROUBLESHOOTING.md +++ b/translations/es/TROUBLESHOOTING.md @@ -1,12 +1,3 @@ - # Guía de solución de problemas Esta guía te ayuda a resolver problemas comunes al trabajar con el plan de estudios de IoT para principiantes. Los problemas están organizados por categoría para facilitar la navegación. diff --git a/translations/es/attributions.md b/translations/es/attributions.md index da7038e10..8c3ef3db0 100644 --- a/translations/es/attributions.md +++ b/translations/es/attributions.md @@ -1,12 +1,3 @@ - # Atribuciones de imágenes * Bananas por abderraouf omara de [Noun Project](https://thenounproject.com) diff --git a/translations/es/clean-up.md b/translations/es/clean-up.md index 0f28239d5..fd3fe2328 100644 --- a/translations/es/clean-up.md +++ b/translations/es/clean-up.md @@ -1,12 +1,3 @@ - # Limpia tu proyecto Después de completar cada proyecto, es una buena práctica eliminar tus recursos en la nube. diff --git a/translations/es/docs/_sidebar.md b/translations/es/docs/_sidebar.md index c2e0883c0..666c4651a 100644 --- a/translations/es/docs/_sidebar.md +++ b/translations/es/docs/_sidebar.md @@ -1,12 +1,3 @@ - - Introducción - [1](../1-getting-started/lessons/1-introduction-to-iot/README.md) - [2](../1-getting-started/lessons/2-deeper-dive/README.md) diff --git a/translations/es/docs/troubleshooting.md b/translations/es/docs/troubleshooting.md index d919caec6..fc7548bac 100644 --- a/translations/es/docs/troubleshooting.md +++ b/translations/es/docs/troubleshooting.md @@ -1,12 +1,3 @@ - # Guía de solución de problemas de Raspberry Pi Esta guía proporciona soluciones a problemas comunes encontrados al ejecutar proyectos IoT en dispositivos Raspberry Pi. diff --git a/translations/es/for-teachers.md b/translations/es/for-teachers.md index aeab5676a..eb2392753 100644 --- a/translations/es/for-teachers.md +++ b/translations/es/for-teachers.md @@ -1,12 +1,3 @@ - # Para Educadores ¿Te gustaría usar este plan de estudios en tu aula? ¡Siéntete libre de hacerlo! diff --git a/translations/es/hardware.md b/translations/es/hardware.md index 3b04b3b32..8db95cd4b 100644 --- a/translations/es/hardware.md +++ b/translations/es/hardware.md @@ -1,12 +1,3 @@ - # Hardware La **T** en IoT significa **Things** (Cosas) y se refiere a los dispositivos que interactúan con el mundo que nos rodea. Cada proyecto se basa en hardware real disponible para estudiantes y aficionados. Tenemos dos opciones de hardware IoT para usar, dependiendo de las preferencias personales, el conocimiento o las preferencias del lenguaje de programación, los objetivos de aprendizaje y la disponibilidad. También hemos proporcionado una versión de 'hardware virtual' para aquellos que no tienen acceso a hardware o que desean aprender más antes de comprometerse con una compra. diff --git a/translations/es/images/README.md b/translations/es/images/README.md index 9f663b272..bfd085537 100644 --- a/translations/es/images/README.md +++ b/translations/es/images/README.md @@ -1,12 +1,3 @@ - # Imágenes Las imágenes en la carpeta [icons](../../../images/icons) provienen de [Noun Project](https://thenounproject.com) y requieren atribución. Cada imagen indica la atribución necesaria. Estas imágenes deben usarse en cualquier diagrama que las necesite para mantener la coherencia visual. diff --git a/translations/es/lesson-template/README.md b/translations/es/lesson-template/README.md index d6d11e216..f482a8f5f 100644 --- a/translations/es/lesson-template/README.md +++ b/translations/es/lesson-template/README.md @@ -1,12 +1,3 @@ - # [Tema de la lección] ![Incrustar un video aquí](../../../lesson-template/video-url) diff --git a/translations/es/lesson-template/assignment.md b/translations/es/lesson-template/assignment.md index bf809c60c..37ace74e8 100644 --- a/translations/es/lesson-template/assignment.md +++ b/translations/es/lesson-template/assignment.md @@ -1,12 +1,3 @@ - # [Nombre de la Tarea] ## Instrucciones diff --git a/translations/es/quiz-app/README.md b/translations/es/quiz-app/README.md index d91997394..979a9455a 100644 --- a/translations/es/quiz-app/README.md +++ b/translations/es/quiz-app/README.md @@ -1,12 +1,3 @@ - # Cuestionarios Estos cuestionarios son los cuestionarios previos y posteriores a las lecciones del plan de estudios de IoT para Principiantes en https://aka.ms/iot-beginners diff --git a/translations/es/recommended-learning-model.md b/translations/es/recommended-learning-model.md index 2095af69a..1422fd815 100644 --- a/translations/es/recommended-learning-model.md +++ b/translations/es/recommended-learning-model.md @@ -1,12 +1,3 @@ - # Modelo de aprendizaje recomendado Para obtener los resultados de aprendizaje más efectivos, **recomendamos un enfoque de “Modelo Invertido"** similar a los laboratorios de ciencias: los estudiantes trabajan en proyectos durante el tiempo de clase, con oportunidades para discusiones, preguntas y respuestas, y asistencia en los proyectos, mientras que los elementos de las lecciones se realizan como lecturas previas en su propio tiempo. diff --git a/translations/fr/.co-op-translator.json b/translations/fr/.co-op-translator.json new file mode 100644 index 000000000..6b806ef9d --- /dev/null +++ b/translations/fr/.co-op-translator.json @@ -0,0 +1,830 @@ +{ + "1-getting-started/README.md": { + "original_hash": "e2b1b891b08ef7633d285547fbe73290", + "translation_date": "2025-08-24T22:59:32+00:00", + "source_file": "1-getting-started/README.md", + "language_code": "fr" + }, + "1-getting-started/lessons/1-introduction-to-iot/README.md": { + "original_hash": "9bae08314d8487cb76ddf3d8797e1544", + "translation_date": "2025-08-24T23:28:14+00:00", + "source_file": "1-getting-started/lessons/1-introduction-to-iot/README.md", + "language_code": "fr" + }, + "1-getting-started/lessons/1-introduction-to-iot/assignment.md": { + "original_hash": "7ef1cec2d27b086032d46ab1958f3e99", + "translation_date": "2025-08-24T23:31:44+00:00", + "source_file": "1-getting-started/lessons/1-introduction-to-iot/assignment.md", + "language_code": "fr" + }, + "1-getting-started/lessons/1-introduction-to-iot/pi.md": { + "original_hash": "8ff0d0a1d29832bb896b9c103b69a452", + "translation_date": "2025-08-24T23:35:56+00:00", + "source_file": "1-getting-started/lessons/1-introduction-to-iot/pi.md", + "language_code": "fr" + }, + "1-getting-started/lessons/1-introduction-to-iot/virtual-device.md": { + "original_hash": "52b4de6144b2efdced7797a5339d6035", + "translation_date": "2025-08-24T23:32:56+00:00", + "source_file": "1-getting-started/lessons/1-introduction-to-iot/virtual-device.md", + "language_code": "fr" + }, + "1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md": { + "original_hash": "a4f0c166010e31fd7b6ca20bc88dec6d", + "translation_date": "2025-08-24T23:39:03+00:00", + "source_file": "1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md", + "language_code": "fr" + }, + "1-getting-started/lessons/2-deeper-dive/README.md": { + "original_hash": "9dd7f645ad1c6f20b72fee512987f772", + "translation_date": "2025-08-24T23:43:03+00:00", + "source_file": "1-getting-started/lessons/2-deeper-dive/README.md", + "language_code": "fr" + }, + "1-getting-started/lessons/2-deeper-dive/assignment.md": { + "original_hash": "750bd75866471141f857240219084767", + "translation_date": "2025-08-24T23:47:39+00:00", + "source_file": "1-getting-started/lessons/2-deeper-dive/assignment.md", + "language_code": "fr" + }, + "1-getting-started/lessons/3-sensors-and-actuators/README.md": { + "original_hash": "e9ee00eb5fc55922a73762acc542166b", + "translation_date": "2025-08-24T23:16:28+00:00", + "source_file": "1-getting-started/lessons/3-sensors-and-actuators/README.md", + "language_code": "fr" + }, + "1-getting-started/lessons/3-sensors-and-actuators/assignment.md": { + "original_hash": "c5a568320b1159394108544807895337", + "translation_date": "2025-08-24T23:19:41+00:00", + "source_file": "1-getting-started/lessons/3-sensors-and-actuators/assignment.md", + "language_code": "fr" + }, + "1-getting-started/lessons/3-sensors-and-actuators/pi-actuator.md": { + "original_hash": "4db8a3879a53490513571df2f6cf7641", + "translation_date": "2025-08-24T23:20:38+00:00", + "source_file": "1-getting-started/lessons/3-sensors-and-actuators/pi-actuator.md", + "language_code": "fr" + }, + "1-getting-started/lessons/3-sensors-and-actuators/pi-sensor.md": { + "original_hash": "ea733bd0cdf2479e082373f765a08678", + "translation_date": "2025-08-24T23:13:46+00:00", + "source_file": "1-getting-started/lessons/3-sensors-and-actuators/pi-sensor.md", + "language_code": "fr" + }, + "1-getting-started/lessons/3-sensors-and-actuators/virtual-device-actuator.md": { + "original_hash": "9c640f93263fd9adbfda920739e09feb", + "translation_date": "2025-08-24T23:23:23+00:00", + "source_file": "1-getting-started/lessons/3-sensors-and-actuators/virtual-device-actuator.md", + "language_code": "fr" + }, + "1-getting-started/lessons/3-sensors-and-actuators/virtual-device-sensor.md": { + "original_hash": "11f10c6760fb8202cf368422702fdf70", + "translation_date": "2025-08-24T23:24:36+00:00", + "source_file": "1-getting-started/lessons/3-sensors-and-actuators/virtual-device-sensor.md", + "language_code": "fr" + }, + "1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-actuator.md": { + "original_hash": "db44083b4dc6fb06eac83c4f16448940", + "translation_date": "2025-08-24T23:22:07+00:00", + "source_file": "1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-actuator.md", + "language_code": "fr" + }, + "1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-sensor.md": { + "original_hash": "7f4ad0ef54f248b85b92187c94cf9dcb", + "translation_date": "2025-08-24T23:25:45+00:00", + "source_file": "1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-sensor.md", + "language_code": "fr" + }, + "1-getting-started/lessons/4-connect-internet/README.md": { + "original_hash": "71b5040e0b3472f1c0949c9b55f224c0", + "translation_date": "2025-08-24T23:03:37+00:00", + "source_file": "1-getting-started/lessons/4-connect-internet/README.md", + "language_code": "fr" + }, + "1-getting-started/lessons/4-connect-internet/assignment.md": { + "original_hash": "0d4033cdd7b5b5475c63770102e38480", + "translation_date": "2025-08-24T23:09:17+00:00", + "source_file": "1-getting-started/lessons/4-connect-internet/assignment.md", + "language_code": "fr" + }, + "1-getting-started/lessons/4-connect-internet/single-board-computer-commands.md": { + "original_hash": "c527ce85d69b1a3875366ec61cbed8aa", + "translation_date": "2025-08-24T23:00:12+00:00", + "source_file": "1-getting-started/lessons/4-connect-internet/single-board-computer-commands.md", + "language_code": "fr" + }, + "1-getting-started/lessons/4-connect-internet/single-board-computer-mqtt.md": { + "original_hash": "90fb93446e03c38f3c0e4009c2471906", + "translation_date": "2025-08-24T23:10:04+00:00", + "source_file": "1-getting-started/lessons/4-connect-internet/single-board-computer-mqtt.md", + "language_code": "fr" + }, + "1-getting-started/lessons/4-connect-internet/single-board-computer-telemetry.md": { + "original_hash": "1226517aae5f5b6f904434670394c688", + "translation_date": "2025-08-24T23:01:00+00:00", + "source_file": "1-getting-started/lessons/4-connect-internet/single-board-computer-telemetry.md", + "language_code": "fr" + }, + "1-getting-started/lessons/4-connect-internet/wio-terminal-commands.md": { + "original_hash": "6754c915dae64ba70fcd5e52c37f3adf", + "translation_date": "2025-08-24T23:12:50+00:00", + "source_file": "1-getting-started/lessons/4-connect-internet/wio-terminal-commands.md", + "language_code": "fr" + }, + "1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md": { + "original_hash": "d6faf0e8d3c2d6d20c0aef2a305dab18", + "translation_date": "2025-08-24T23:11:19+00:00", + "source_file": "1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md", + "language_code": "fr" + }, + "1-getting-started/lessons/4-connect-internet/wio-terminal-telemetry.md": { + "original_hash": "4bcc29fe2b65e56eada83d2476279227", + "translation_date": "2025-08-24T23:08:34+00:00", + "source_file": "1-getting-started/lessons/4-connect-internet/wio-terminal-telemetry.md", + "language_code": "fr" + }, + "2-farm/README.md": { + "original_hash": "428bda82d9e6016ecea7c797564bf081", + "translation_date": "2025-08-24T21:57:04+00:00", + "source_file": "2-farm/README.md", + "language_code": "fr" + }, + "2-farm/lessons/1-predict-plant-growth/README.md": { + "original_hash": "d105b44deae539165855c976dcdeca99", + "translation_date": "2025-08-24T21:59:38+00:00", + "source_file": "2-farm/lessons/1-predict-plant-growth/README.md", + "language_code": "fr" + }, + "2-farm/lessons/1-predict-plant-growth/assignment.md": { + "original_hash": "1e21b012c6685f8bf73e0e76cdca3347", + "translation_date": "2025-08-24T22:03:19+00:00", + "source_file": "2-farm/lessons/1-predict-plant-growth/assignment.md", + "language_code": "fr" + }, + "2-farm/lessons/1-predict-plant-growth/pi-temp.md": { + "original_hash": "7678f7c67b97ee52d5727496dcd7d346", + "translation_date": "2025-08-24T22:08:30+00:00", + "source_file": "2-farm/lessons/1-predict-plant-growth/pi-temp.md", + "language_code": "fr" + }, + "2-farm/lessons/1-predict-plant-growth/single-board-computer-temp-publish.md": { + "original_hash": "4efc74299e19f5d08f2f3f34451a11ba", + "translation_date": "2025-08-24T22:02:23+00:00", + "source_file": "2-farm/lessons/1-predict-plant-growth/single-board-computer-temp-publish.md", + "language_code": "fr" + }, + "2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md": { + "original_hash": "70e5a428b607cd5a9a4f422c2a4df03d", + "translation_date": "2025-08-24T22:06:59+00:00", + "source_file": "2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md", + "language_code": "fr" + }, + "2-farm/lessons/1-predict-plant-growth/wio-terminal-temp-publish.md": { + "original_hash": "df28cd649cd892bcce034e064913b2f3", + "translation_date": "2025-08-24T22:05:44+00:00", + "source_file": "2-farm/lessons/1-predict-plant-growth/wio-terminal-temp-publish.md", + "language_code": "fr" + }, + "2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md": { + "original_hash": "59263d094f20b302053888cd236880c3", + "translation_date": "2025-08-24T22:04:26+00:00", + "source_file": "2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md", + "language_code": "fr" + }, + "2-farm/lessons/2-detect-soil-moisture/README.md": { + "original_hash": "4fb20273d299dc8d07a8f06c9cd0cdd9", + "translation_date": "2025-08-24T22:32:28+00:00", + "source_file": "2-farm/lessons/2-detect-soil-moisture/README.md", + "language_code": "fr" + }, + "2-farm/lessons/2-detect-soil-moisture/assignment.md": { + "original_hash": "506d21b544d5de47406c89ad496a21cd", + "translation_date": "2025-08-24T22:38:32+00:00", + "source_file": "2-farm/lessons/2-detect-soil-moisture/assignment.md", + "language_code": "fr" + }, + "2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md": { + "original_hash": "9d4d00a47d5d0f3e6ce42c0d1020064a", + "translation_date": "2025-08-24T22:40:59+00:00", + "source_file": "2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md", + "language_code": "fr" + }, + "2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md": { + "original_hash": "2bf65f162bcebd35fbcba5fd245afac4", + "translation_date": "2025-08-24T22:39:36+00:00", + "source_file": "2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md", + "language_code": "fr" + }, + "2-farm/lessons/2-detect-soil-moisture/wio-terminal-soil-moisture.md": { + "original_hash": "0d55caa8c23d73635b7559102cd17b8a", + "translation_date": "2025-08-24T22:37:16+00:00", + "source_file": "2-farm/lessons/2-detect-soil-moisture/wio-terminal-soil-moisture.md", + "language_code": "fr" + }, + "2-farm/lessons/3-automated-plant-watering/README.md": { + "original_hash": "f7bb24ba53fb627ddb38a8b24a05e594", + "translation_date": "2025-08-24T22:11:35+00:00", + "source_file": "2-farm/lessons/3-automated-plant-watering/README.md", + "language_code": "fr" + }, + "2-farm/lessons/3-automated-plant-watering/assignment.md": { + "original_hash": "ed0fbd6aed084bfba7d5e2f206968c50", + "translation_date": "2025-08-24T22:15:33+00:00", + "source_file": "2-farm/lessons/3-automated-plant-watering/assignment.md", + "language_code": "fr" + }, + "2-farm/lessons/3-automated-plant-watering/pi-relay.md": { + "original_hash": "66b81165e60f8f169bd52a401b6a0f8b", + "translation_date": "2025-08-24T22:18:02+00:00", + "source_file": "2-farm/lessons/3-automated-plant-watering/pi-relay.md", + "language_code": "fr" + }, + "2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md": { + "original_hash": "f8f541ee945545017a51aaf309aa37c3", + "translation_date": "2025-08-24T22:19:22+00:00", + "source_file": "2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md", + "language_code": "fr" + }, + "2-farm/lessons/3-automated-plant-watering/wio-terminal-relay.md": { + "original_hash": "f3c5d8afa2ef6a0b425ef8ff20615cb4", + "translation_date": "2025-08-24T22:16:38+00:00", + "source_file": "2-farm/lessons/3-automated-plant-watering/wio-terminal-relay.md", + "language_code": "fr" + }, + "2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md": { + "original_hash": "4d8e7a066d75b625e7a979c14157041d", + "translation_date": "2025-08-24T22:44:01+00:00", + "source_file": "2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md", + "language_code": "fr" + }, + "2-farm/lessons/4-migrate-your-plant-to-the-cloud/assignment.md": { + "original_hash": "bfd35499bd68d7d740242bfea784bbeb", + "translation_date": "2025-08-24T22:48:07+00:00", + "source_file": "2-farm/lessons/4-migrate-your-plant-to-the-cloud/assignment.md", + "language_code": "fr" + }, + "2-farm/lessons/4-migrate-your-plant-to-the-cloud/single-board-computer-connect-hub.md": { + "original_hash": "3ac42e284a7222c0e83d2d43231a364f", + "translation_date": "2025-08-24T22:48:56+00:00", + "source_file": "2-farm/lessons/4-migrate-your-plant-to-the-cloud/single-board-computer-connect-hub.md", + "language_code": "fr" + }, + "2-farm/lessons/4-migrate-your-plant-to-the-cloud/wio-terminal-connect-hub.md": { + "original_hash": "28320305a35ea3bc59c41fe146a2e6ed", + "translation_date": "2025-08-24T22:50:23+00:00", + "source_file": "2-farm/lessons/4-migrate-your-plant-to-the-cloud/wio-terminal-connect-hub.md", + "language_code": "fr" + }, + "2-farm/lessons/5-migrate-application-to-the-cloud/README.md": { + "original_hash": "5f2d2f4a5a023c93ab34a0cc5b47c0c4", + "translation_date": "2025-08-24T22:22:48+00:00", + "source_file": "2-farm/lessons/5-migrate-application-to-the-cloud/README.md", + "language_code": "fr" + }, + "2-farm/lessons/5-migrate-application-to-the-cloud/assignment.md": { + "original_hash": "c24b6e4d90501c9199f2ceb6a648a337", + "translation_date": "2025-08-24T22:27:53+00:00", + "source_file": "2-farm/lessons/5-migrate-application-to-the-cloud/assignment.md", + "language_code": "fr" + }, + "2-farm/lessons/6-keep-your-plant-secure/README.md": { + "original_hash": "81c437c568eee1b0dda1f04e88150d37", + "translation_date": "2025-08-24T22:53:25+00:00", + "source_file": "2-farm/lessons/6-keep-your-plant-secure/README.md", + "language_code": "fr" + }, + "2-farm/lessons/6-keep-your-plant-secure/assignment.md": { + "original_hash": "34010c663d96d5f419eda6ac2366a78d", + "translation_date": "2025-08-24T22:56:44+00:00", + "source_file": "2-farm/lessons/6-keep-your-plant-secure/assignment.md", + "language_code": "fr" + }, + "2-farm/lessons/6-keep-your-plant-secure/single-board-computer-x509.md": { + "original_hash": "9aea84bcc7520222b0e1c50469d62d6a", + "translation_date": "2025-08-24T22:57:30+00:00", + "source_file": "2-farm/lessons/6-keep-your-plant-secure/single-board-computer-x509.md", + "language_code": "fr" + }, + "2-farm/lessons/6-keep-your-plant-secure/wio-terminal-x509.md": { + "original_hash": "8a74f789f3c1bf41a13c007190360c19", + "translation_date": "2025-08-24T22:58:15+00:00", + "source_file": "2-farm/lessons/6-keep-your-plant-secure/wio-terminal-x509.md", + "language_code": "fr" + }, + "3-transport/README.md": { + "original_hash": "e978534a245b000725ed2a048f943213", + "translation_date": "2025-08-25T00:35:44+00:00", + "source_file": "3-transport/README.md", + "language_code": "fr" + }, + "3-transport/lessons/1-location-tracking/README.md": { + "original_hash": "52ed2bd997d08040f79a1a6ef2bac958", + "translation_date": "2025-08-25T00:48:42+00:00", + "source_file": "3-transport/lessons/1-location-tracking/README.md", + "language_code": "fr" + }, + "3-transport/lessons/1-location-tracking/assignment.md": { + "original_hash": "bded364fc06ce37d7a76aed3be1ba73a", + "translation_date": "2025-08-25T00:51:41+00:00", + "source_file": "3-transport/lessons/1-location-tracking/assignment.md", + "language_code": "fr" + }, + "3-transport/lessons/1-location-tracking/pi-gps-sensor.md": { + "original_hash": "3b2448c7ab4e9673e77e35a50c5e350d", + "translation_date": "2025-08-25T00:53:26+00:00", + "source_file": "3-transport/lessons/1-location-tracking/pi-gps-sensor.md", + "language_code": "fr" + }, + "3-transport/lessons/1-location-tracking/single-board-computer-gps-decode.md": { + "original_hash": "cbb8c285bc64c5192fae3368fb5077d2", + "translation_date": "2025-08-25T00:52:19+00:00", + "source_file": "3-transport/lessons/1-location-tracking/single-board-computer-gps-decode.md", + "language_code": "fr" + }, + "3-transport/lessons/1-location-tracking/virtual-device-gps-sensor.md": { + "original_hash": "64f18a8f8aaa1fef5e7320e0992d8b3a", + "translation_date": "2025-08-25T00:46:01+00:00", + "source_file": "3-transport/lessons/1-location-tracking/virtual-device-gps-sensor.md", + "language_code": "fr" + }, + "3-transport/lessons/1-location-tracking/wio-terminal-gps-decode.md": { + "original_hash": "fbbcf96a9b63ccd661db98bbf854bb06", + "translation_date": "2025-08-25T00:54:50+00:00", + "source_file": "3-transport/lessons/1-location-tracking/wio-terminal-gps-decode.md", + "language_code": "fr" + }, + "3-transport/lessons/1-location-tracking/wio-terminal-gps-sensor.md": { + "original_hash": "da6ae0a795cf06be33d23ca5b8493fc8", + "translation_date": "2025-08-25T00:44:37+00:00", + "source_file": "3-transport/lessons/1-location-tracking/wio-terminal-gps-sensor.md", + "language_code": "fr" + }, + "3-transport/lessons/2-store-location-data/README.md": { + "original_hash": "e345843ccfeb7261d81500d19c64d476", + "translation_date": "2025-08-25T01:03:00+00:00", + "source_file": "3-transport/lessons/2-store-location-data/README.md", + "language_code": "fr" + }, + "3-transport/lessons/2-store-location-data/assignment.md": { + "original_hash": "b2e0a965723082b068f735aec0faf3f6", + "translation_date": "2025-08-25T01:07:28+00:00", + "source_file": "3-transport/lessons/2-store-location-data/assignment.md", + "language_code": "fr" + }, + "3-transport/lessons/3-visualize-location-data/README.md": { + "original_hash": "9095c61445c2bca7245ef9b59a186a11", + "translation_date": "2025-08-25T00:56:49+00:00", + "source_file": "3-transport/lessons/3-visualize-location-data/README.md", + "language_code": "fr" + }, + "3-transport/lessons/3-visualize-location-data/assignment.md": { + "original_hash": "0ccdc1faa676a485c4c6ecbddb9f9067", + "translation_date": "2025-08-25T00:59:53+00:00", + "source_file": "3-transport/lessons/3-visualize-location-data/assignment.md", + "language_code": "fr" + }, + "3-transport/lessons/4-geofences/README.md": { + "original_hash": "078ae664c7b686bf069545e9a5fc95b2", + "translation_date": "2025-08-25T00:38:36+00:00", + "source_file": "3-transport/lessons/4-geofences/README.md", + "language_code": "fr" + }, + "3-transport/lessons/4-geofences/assignment.md": { + "original_hash": "5cb65a6ec4387ed177e145347e8e308e", + "translation_date": "2025-08-25T00:43:36+00:00", + "source_file": "3-transport/lessons/4-geofences/assignment.md", + "language_code": "fr" + }, + "4-manufacturing/README.md": { + "original_hash": "3764e089adf2d5801272bc0895f8498b", + "translation_date": "2025-08-24T21:19:30+00:00", + "source_file": "4-manufacturing/README.md", + "language_code": "fr" + }, + "4-manufacturing/lessons/1-train-fruit-detector/README.md": { + "original_hash": "f5e63c916d2dd97d58be12aaf76bd9f1", + "translation_date": "2025-08-24T21:21:51+00:00", + "source_file": "4-manufacturing/lessons/1-train-fruit-detector/README.md", + "language_code": "fr" + }, + "4-manufacturing/lessons/1-train-fruit-detector/assignment.md": { + "original_hash": "e74eb2fc7cc3b81916b52e957802f182", + "translation_date": "2025-08-24T21:25:14+00:00", + "source_file": "4-manufacturing/lessons/1-train-fruit-detector/assignment.md", + "language_code": "fr" + }, + "4-manufacturing/lessons/2-check-fruit-from-device/README.md": { + "original_hash": "557f4ee96b752e0651d2e6e74aa6bd14", + "translation_date": "2025-08-24T21:26:36+00:00", + "source_file": "4-manufacturing/lessons/2-check-fruit-from-device/README.md", + "language_code": "fr" + }, + "4-manufacturing/lessons/2-check-fruit-from-device/assignment.md": { + "original_hash": "022e21f8629b721424c1de25195fff67", + "translation_date": "2025-08-24T21:28:41+00:00", + "source_file": "4-manufacturing/lessons/2-check-fruit-from-device/assignment.md", + "language_code": "fr" + }, + "4-manufacturing/lessons/2-check-fruit-from-device/pi-camera.md": { + "original_hash": "c677667095f6133eee418c7e53615d05", + "translation_date": "2025-08-24T21:29:48+00:00", + "source_file": "4-manufacturing/lessons/2-check-fruit-from-device/pi-camera.md", + "language_code": "fr" + }, + "4-manufacturing/lessons/2-check-fruit-from-device/single-board-computer-classify-image.md": { + "original_hash": "e5896207b304ce1abaf065b8acc0cc79", + "translation_date": "2025-08-24T21:31:19+00:00", + "source_file": "4-manufacturing/lessons/2-check-fruit-from-device/single-board-computer-classify-image.md", + "language_code": "fr" + }, + "4-manufacturing/lessons/2-check-fruit-from-device/virtual-device-camera.md": { + "original_hash": "3ba7150ffc4a6999f6c3cfb4906ec7df", + "translation_date": "2025-08-24T21:34:06+00:00", + "source_file": "4-manufacturing/lessons/2-check-fruit-from-device/virtual-device-camera.md", + "language_code": "fr" + }, + "4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-camera.md": { + "original_hash": "160be8c0f558687f6686dca64f10f739", + "translation_date": "2025-08-24T21:36:00+00:00", + "source_file": "4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-camera.md", + "language_code": "fr" + }, + "4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-classify-image.md": { + "original_hash": "32a1f23e7834fbe7715da8c4ebb450b9", + "translation_date": "2025-08-24T21:32:36+00:00", + "source_file": "4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-classify-image.md", + "language_code": "fr" + }, + "4-manufacturing/lessons/3-run-fruit-detector-edge/README.md": { + "original_hash": "2625af24587465c5547ae33d6cc000a5", + "translation_date": "2025-08-24T21:40:24+00:00", + "source_file": "4-manufacturing/lessons/3-run-fruit-detector-edge/README.md", + "language_code": "fr" + }, + "4-manufacturing/lessons/3-run-fruit-detector-edge/assignment.md": { + "original_hash": "cc7ad255517f5f618f9c8899e6ff6783", + "translation_date": "2025-08-24T21:45:01+00:00", + "source_file": "4-manufacturing/lessons/3-run-fruit-detector-edge/assignment.md", + "language_code": "fr" + }, + "4-manufacturing/lessons/3-run-fruit-detector-edge/single-board-computer.md": { + "original_hash": "50151d9f9dce2801348a93880ef16d86", + "translation_date": "2025-08-24T21:47:47+00:00", + "source_file": "4-manufacturing/lessons/3-run-fruit-detector-edge/single-board-computer.md", + "language_code": "fr" + }, + "4-manufacturing/lessons/3-run-fruit-detector-edge/vm-iotedge.md": { + "original_hash": "24dc783a600e20251211987b36370e93", + "translation_date": "2025-08-24T21:45:56+00:00", + "source_file": "4-manufacturing/lessons/3-run-fruit-detector-edge/vm-iotedge.md", + "language_code": "fr" + }, + "4-manufacturing/lessons/3-run-fruit-detector-edge/wio-terminal.md": { + "original_hash": "48ac21ec80329c930db7b84bd6b592ec", + "translation_date": "2025-08-24T21:46:58+00:00", + "source_file": "4-manufacturing/lessons/3-run-fruit-detector-edge/wio-terminal.md", + "language_code": "fr" + }, + "4-manufacturing/lessons/4-trigger-fruit-detector/README.md": { + "original_hash": "f74f4ccb61f00e5f7e9f49c3ed416e36", + "translation_date": "2025-08-24T21:49:43+00:00", + "source_file": "4-manufacturing/lessons/4-trigger-fruit-detector/README.md", + "language_code": "fr" + }, + "4-manufacturing/lessons/4-trigger-fruit-detector/assignment.md": { + "original_hash": "1a85e50c33c38dcd2cde2a97d132f248", + "translation_date": "2025-08-24T21:52:57+00:00", + "source_file": "4-manufacturing/lessons/4-trigger-fruit-detector/assignment.md", + "language_code": "fr" + }, + "4-manufacturing/lessons/4-trigger-fruit-detector/pi-proximity.md": { + "original_hash": "6145a1d791731c8a9d0afd0a1bae5108", + "translation_date": "2025-08-24T21:53:54+00:00", + "source_file": "4-manufacturing/lessons/4-trigger-fruit-detector/pi-proximity.md", + "language_code": "fr" + }, + "4-manufacturing/lessons/4-trigger-fruit-detector/virtual-device-proximity.md": { + "original_hash": "7e9f05bdc50a40fd924b1d66934471bf", + "translation_date": "2025-08-24T21:56:03+00:00", + "source_file": "4-manufacturing/lessons/4-trigger-fruit-detector/virtual-device-proximity.md", + "language_code": "fr" + }, + "4-manufacturing/lessons/4-trigger-fruit-detector/wio-terminal-proximity.md": { + "original_hash": "288aebb0c59f7be1d2719b8f9660a313", + "translation_date": "2025-08-24T21:54:56+00:00", + "source_file": "4-manufacturing/lessons/4-trigger-fruit-detector/wio-terminal-proximity.md", + "language_code": "fr" + }, + "5-retail/README.md": { + "original_hash": "22a1d6e49f2a689fe5bfa7802a7241fc", + "translation_date": "2025-08-24T21:06:01+00:00", + "source_file": "5-retail/README.md", + "language_code": "fr" + }, + "5-retail/lessons/1-train-stock-detector/README.md": { + "original_hash": "8df310a42f902139a01417dacb1ffbef", + "translation_date": "2025-08-24T21:15:58+00:00", + "source_file": "5-retail/lessons/1-train-stock-detector/README.md", + "language_code": "fr" + }, + "5-retail/lessons/1-train-stock-detector/assignment.md": { + "original_hash": "d93ee76fac4c2199973689ecd05baaf9", + "translation_date": "2025-08-24T21:18:33+00:00", + "source_file": "5-retail/lessons/1-train-stock-detector/assignment.md", + "language_code": "fr" + }, + "5-retail/lessons/2-check-stock-device/README.md": { + "original_hash": "1c9e5fa8b7be726c75a97232b1e41c97", + "translation_date": "2025-08-24T21:08:39+00:00", + "source_file": "5-retail/lessons/2-check-stock-device/README.md", + "language_code": "fr" + }, + "5-retail/lessons/2-check-stock-device/assignment.md": { + "original_hash": "3cf7783991ec0ee4f6041223924894c7", + "translation_date": "2025-08-24T21:10:41+00:00", + "source_file": "5-retail/lessons/2-check-stock-device/assignment.md", + "language_code": "fr" + }, + "5-retail/lessons/2-check-stock-device/single-board-computer-count-stock.md": { + "original_hash": "9c4320311c0f2c1884a6a21265d98a51", + "translation_date": "2025-08-24T21:12:52+00:00", + "source_file": "5-retail/lessons/2-check-stock-device/single-board-computer-count-stock.md", + "language_code": "fr" + }, + "5-retail/lessons/2-check-stock-device/single-board-computer-object-detector.md": { + "original_hash": "a3fdfec1d1e2cb645ea11c2930b51299", + "translation_date": "2025-08-24T21:06:53+00:00", + "source_file": "5-retail/lessons/2-check-stock-device/single-board-computer-object-detector.md", + "language_code": "fr" + }, + "5-retail/lessons/2-check-stock-device/wio-terminal-count-stock.md": { + "original_hash": "0b2ae20b0fc8e73c9598dea937cac038", + "translation_date": "2025-08-24T21:11:30+00:00", + "source_file": "5-retail/lessons/2-check-stock-device/wio-terminal-count-stock.md", + "language_code": "fr" + }, + "5-retail/lessons/2-check-stock-device/wio-terminal-object-detector.md": { + "original_hash": "4cf1421420a6fab9ab4f2c391bd523b7", + "translation_date": "2025-08-24T21:14:05+00:00", + "source_file": "5-retail/lessons/2-check-stock-device/wio-terminal-object-detector.md", + "language_code": "fr" + }, + "6-consumer/README.md": { + "original_hash": "5de7dc1e2ddc402d415473bb795568d4", + "translation_date": "2025-08-24T23:48:19+00:00", + "source_file": "6-consumer/README.md", + "language_code": "fr" + }, + "6-consumer/lessons/1-speech-recognition/README.md": { + "original_hash": "6d6aa1be033625d201a190fc9c5cbfb4", + "translation_date": "2025-08-25T00:19:55+00:00", + "source_file": "6-consumer/lessons/1-speech-recognition/README.md", + "language_code": "fr" + }, + "6-consumer/lessons/1-speech-recognition/assignment.md": { + "original_hash": "5ae7654f519ae831179409dc8e528055", + "translation_date": "2025-08-25T00:23:03+00:00", + "source_file": "6-consumer/lessons/1-speech-recognition/assignment.md", + "language_code": "fr" + }, + "6-consumer/lessons/1-speech-recognition/pi-audio.md": { + "original_hash": "0ac0afcfb40cb5970ef4cb74f01c32e9", + "translation_date": "2025-08-25T00:17:21+00:00", + "source_file": "6-consumer/lessons/1-speech-recognition/pi-audio.md", + "language_code": "fr" + }, + "6-consumer/lessons/1-speech-recognition/pi-microphone.md": { + "original_hash": "7e45d884493c5222348b43fbc4481b6a", + "translation_date": "2025-08-25T00:30:42+00:00", + "source_file": "6-consumer/lessons/1-speech-recognition/pi-microphone.md", + "language_code": "fr" + }, + "6-consumer/lessons/1-speech-recognition/pi-speech-to-text.md": { + "original_hash": "af249a24d4fe4f4de4806adbc3bc9d86", + "translation_date": "2025-08-25T00:33:35+00:00", + "source_file": "6-consumer/lessons/1-speech-recognition/pi-speech-to-text.md", + "language_code": "fr" + }, + "6-consumer/lessons/1-speech-recognition/virtual-device-audio.md": { + "original_hash": "e4f2925acb211765889c3b51b9116ceb", + "translation_date": "2025-08-25T00:34:37+00:00", + "source_file": "6-consumer/lessons/1-speech-recognition/virtual-device-audio.md", + "language_code": "fr" + }, + "6-consumer/lessons/1-speech-recognition/virtual-device-microphone.md": { + "original_hash": "7a65ee743f916276a2848b8a9491feb7", + "translation_date": "2025-08-25T00:35:05+00:00", + "source_file": "6-consumer/lessons/1-speech-recognition/virtual-device-microphone.md", + "language_code": "fr" + }, + "6-consumer/lessons/1-speech-recognition/virtual-device-speech-to-text.md": { + "original_hash": "c0550b254b9ba2539baf1e6bb5fc05f8", + "translation_date": "2025-08-25T00:23:44+00:00", + "source_file": "6-consumer/lessons/1-speech-recognition/virtual-device-speech-to-text.md", + "language_code": "fr" + }, + "6-consumer/lessons/1-speech-recognition/wio-terminal-audio.md": { + "original_hash": "2f336726b9410e97c3aaed76cc89b0d8", + "translation_date": "2025-08-25T00:25:32+00:00", + "source_file": "6-consumer/lessons/1-speech-recognition/wio-terminal-audio.md", + "language_code": "fr" + }, + "6-consumer/lessons/1-speech-recognition/wio-terminal-microphone.md": { + "original_hash": "93d352de36526b8990e41dd538100324", + "translation_date": "2025-08-25T00:32:12+00:00", + "source_file": "6-consumer/lessons/1-speech-recognition/wio-terminal-microphone.md", + "language_code": "fr" + }, + "6-consumer/lessons/1-speech-recognition/wio-terminal-speech-to-text.md": { + "original_hash": "3f92edf2975175577174910caca4a389", + "translation_date": "2025-08-25T00:28:30+00:00", + "source_file": "6-consumer/lessons/1-speech-recognition/wio-terminal-speech-to-text.md", + "language_code": "fr" + }, + "6-consumer/lessons/2-language-understanding/README.md": { + "original_hash": "6f4ba69d77f16c4a5110623a96a215c3", + "translation_date": "2025-08-24T23:59:50+00:00", + "source_file": "6-consumer/lessons/2-language-understanding/README.md", + "language_code": "fr" + }, + "6-consumer/lessons/2-language-understanding/assignment.md": { + "original_hash": "5a7262a0c48dfacdfe1ff91b20bf16fd", + "translation_date": "2025-08-25T00:04:00+00:00", + "source_file": "6-consumer/lessons/2-language-understanding/assignment.md", + "language_code": "fr" + }, + "6-consumer/lessons/3-spoken-feedback/README.md": { + "original_hash": "b73fe10ec6b580fba2affb6f6e0a5c4d", + "translation_date": "2025-08-25T00:06:28+00:00", + "source_file": "6-consumer/lessons/3-spoken-feedback/README.md", + "language_code": "fr" + }, + "6-consumer/lessons/3-spoken-feedback/assignment.md": { + "original_hash": "da5d9360fe02fdcc1e91a725016c846d", + "translation_date": "2025-08-25T00:08:12+00:00", + "source_file": "6-consumer/lessons/3-spoken-feedback/assignment.md", + "language_code": "fr" + }, + "6-consumer/lessons/3-spoken-feedback/pi-text-to-speech.md": { + "original_hash": "606f3af1c78e3741e48ce77c31cea626", + "translation_date": "2025-08-25T00:11:04+00:00", + "source_file": "6-consumer/lessons/3-spoken-feedback/pi-text-to-speech.md", + "language_code": "fr" + }, + "6-consumer/lessons/3-spoken-feedback/single-board-computer-set-timer.md": { + "original_hash": "64ad4ddb4de81a18b7252e968f10b404", + "translation_date": "2025-08-25T00:04:55+00:00", + "source_file": "6-consumer/lessons/3-spoken-feedback/single-board-computer-set-timer.md", + "language_code": "fr" + }, + "6-consumer/lessons/3-spoken-feedback/virtual-device-text-to-speech.md": { + "original_hash": "7966848a1f870e4c42edb4db67b13c57", + "translation_date": "2025-08-25T00:16:00+00:00", + "source_file": "6-consumer/lessons/3-spoken-feedback/virtual-device-text-to-speech.md", + "language_code": "fr" + }, + "6-consumer/lessons/3-spoken-feedback/wio-terminal-set-timer.md": { + "original_hash": "012b69d57d898d670adf61304f42a137", + "translation_date": "2025-08-25T00:09:18+00:00", + "source_file": "6-consumer/lessons/3-spoken-feedback/wio-terminal-set-timer.md", + "language_code": "fr" + }, + "6-consumer/lessons/3-spoken-feedback/wio-terminal-text-to-speech.md": { + "original_hash": "a202fa5889790a3777bfc33dd9f4b459", + "translation_date": "2025-08-25T00:13:11+00:00", + "source_file": "6-consumer/lessons/3-spoken-feedback/wio-terminal-text-to-speech.md", + "language_code": "fr" + }, + "6-consumer/lessons/4-multiple-language-support/README.md": { + "original_hash": "c16de27b0074abe81d6a8bad5e5b1a6b", + "translation_date": "2025-08-24T23:51:54+00:00", + "source_file": "6-consumer/lessons/4-multiple-language-support/README.md", + "language_code": "fr" + }, + "6-consumer/lessons/4-multiple-language-support/assignment.md": { + "original_hash": "701f4a4466f9309b6e1d863077df0c06", + "translation_date": "2025-08-24T23:54:02+00:00", + "source_file": "6-consumer/lessons/4-multiple-language-support/assignment.md", + "language_code": "fr" + }, + "6-consumer/lessons/4-multiple-language-support/pi-translate-speech.md": { + "original_hash": "bbb5aa34221fe129dd3ce4d9ec33831a", + "translation_date": "2025-08-24T23:54:56+00:00", + "source_file": "6-consumer/lessons/4-multiple-language-support/pi-translate-speech.md", + "language_code": "fr" + }, + "6-consumer/lessons/4-multiple-language-support/virtual-device-translate-speech.md": { + "original_hash": "d620a470d9dd8614d99824832978360a", + "translation_date": "2025-08-24T23:56:23+00:00", + "source_file": "6-consumer/lessons/4-multiple-language-support/virtual-device-translate-speech.md", + "language_code": "fr" + }, + "6-consumer/lessons/4-multiple-language-support/wio-terminal-translate-speech.md": { + "original_hash": "5f6c164e349f8989959e02a90f37908d", + "translation_date": "2025-08-24T23:49:34+00:00", + "source_file": "6-consumer/lessons/4-multiple-language-support/wio-terminal-translate-speech.md", + "language_code": "fr" + }, + "CODE_OF_CONDUCT.md": { + "original_hash": "c06b12caf3c901eb3156e3dd5b0aea56", + "translation_date": "2025-08-24T21:01:20+00:00", + "source_file": "CODE_OF_CONDUCT.md", + "language_code": "fr" + }, + "CONTRIBUTING.md": { + "original_hash": "d6f80293fa9c213283eac7e79b078671", + "translation_date": "2025-08-24T21:04:55+00:00", + "source_file": "CONTRIBUTING.md", + "language_code": "fr" + }, + "README.md": { + "original_hash": "3fcc056cd3837e33d2bdf79f9c359fcf", + "translation_date": "2026-01-30T01:01:13+00:00", + "source_file": "README.md", + "language_code": "fr" + }, + "SECURITY.md": { + "original_hash": "8587f83cfded1bfab99fda4022f4df89", + "translation_date": "2025-08-24T21:04:10+00:00", + "source_file": "SECURITY.md", + "language_code": "fr" + }, + "SUPPORT.md": { + "original_hash": "cd89329575372232e59605f7a08ae0df", + "translation_date": "2025-08-24T20:59:24+00:00", + "source_file": "SUPPORT.md", + "language_code": "fr" + }, + "TROUBLESHOOTING.md": { + "original_hash": "9713e21a309662f6fcb271b573d47848", + "translation_date": "2026-01-05T12:32:58+00:00", + "source_file": "TROUBLESHOOTING.md", + "language_code": "fr" + }, + "attributions.md": { + "original_hash": "4506d33bbda7acc0ab20980172687090", + "translation_date": "2025-08-24T20:52:35+00:00", + "source_file": "attributions.md", + "language_code": "fr" + }, + "clean-up.md": { + "original_hash": "5a94fbab1ba737e9bd6cc6c64f114fa0", + "translation_date": "2025-08-24T21:00:45+00:00", + "source_file": "clean-up.md", + "language_code": "fr" + }, + "docs/_sidebar.md": { + "original_hash": "686f22febaa2b67aa03b738c0dc0bf9b", + "translation_date": "2025-08-24T22:58:50+00:00", + "source_file": "docs/_sidebar.md", + "language_code": "fr" + }, + "docs/troubleshooting.md": { + "original_hash": "271dcd720357806934b2f0d94e19410e", + "translation_date": "2026-01-05T12:42:09+00:00", + "source_file": "docs/troubleshooting.md", + "language_code": "fr" + }, + "for-teachers.md": { + "original_hash": "9fd36f5dc734203ee28b6cf2573e5eab", + "translation_date": "2025-08-24T20:59:56+00:00", + "source_file": "for-teachers.md", + "language_code": "fr" + }, + "hardware.md": { + "original_hash": "3dce18fab38adf93ff30b8c221b1eec5", + "translation_date": "2025-08-24T21:02:21+00:00", + "source_file": "hardware.md", + "language_code": "fr" + }, + "images/README.md": { + "original_hash": "50abd54997afa7e7a3fc7019379e49e3", + "translation_date": "2025-08-24T21:05:28+00:00", + "source_file": "images/README.md", + "language_code": "fr" + }, + "lesson-template/README.md": { + "original_hash": "0494be70ad7fadd13a8c3d549c23e355", + "translation_date": "2025-08-25T01:08:07+00:00", + "source_file": "lesson-template/README.md", + "language_code": "fr" + }, + "lesson-template/assignment.md": { + "original_hash": "b5f62ec256c7e43e771f0d3b4e1a9130", + "translation_date": "2025-08-25T01:08:40+00:00", + "source_file": "lesson-template/assignment.md", + "language_code": "fr" + }, + "quiz-app/README.md": { + "original_hash": "2a459ea9177fb0508ca96068ae1009d2", + "translation_date": "2025-08-25T01:09:19+00:00", + "source_file": "quiz-app/README.md", + "language_code": "fr" + }, + "recommended-learning-model.md": { + "original_hash": "012bbd19f13171be32ac9ba21d4186c2", + "translation_date": "2025-08-24T20:53:47+00:00", + "source_file": "recommended-learning-model.md", + "language_code": "fr" + } +} \ No newline at end of file diff --git a/translations/fr/1-getting-started/README.md b/translations/fr/1-getting-started/README.md index 0ce033c32..a6923737f 100644 --- a/translations/fr/1-getting-started/README.md +++ b/translations/fr/1-getting-started/README.md @@ -1,12 +1,3 @@ - # Premiers pas avec l'IoT Dans cette section du programme, vous serez initié à l'Internet des Objets (IoT) et apprendrez les concepts de base, y compris la création de votre premier projet IoT 'Hello World' connecté au cloud. Ce projet consiste en une veilleuse qui s'allume lorsque les niveaux de lumière mesurés par un capteur diminuent. diff --git a/translations/fr/1-getting-started/lessons/1-introduction-to-iot/README.md b/translations/fr/1-getting-started/lessons/1-introduction-to-iot/README.md index a732d6f09..3c7f8680d 100644 --- a/translations/fr/1-getting-started/lessons/1-introduction-to-iot/README.md +++ b/translations/fr/1-getting-started/lessons/1-introduction-to-iot/README.md @@ -1,12 +1,3 @@ - # Introduction à l'IoT ![Un aperçu illustré de cette leçon](../../../../../translated_images/fr/lesson-1.2606670fa61ee904687da5d6fa4e726639d524d064c895117da1b95b9ff6251d.jpg) diff --git a/translations/fr/1-getting-started/lessons/1-introduction-to-iot/assignment.md b/translations/fr/1-getting-started/lessons/1-introduction-to-iot/assignment.md index 36fd1bf84..70f321538 100644 --- a/translations/fr/1-getting-started/lessons/1-introduction-to-iot/assignment.md +++ b/translations/fr/1-getting-started/lessons/1-introduction-to-iot/assignment.md @@ -1,12 +1,3 @@ - # Enquêter sur un projet IoT ## Instructions diff --git a/translations/fr/1-getting-started/lessons/1-introduction-to-iot/pi.md b/translations/fr/1-getting-started/lessons/1-introduction-to-iot/pi.md index de9b1b48d..a598ff8b1 100644 --- a/translations/fr/1-getting-started/lessons/1-introduction-to-iot/pi.md +++ b/translations/fr/1-getting-started/lessons/1-introduction-to-iot/pi.md @@ -1,12 +1,3 @@ - # Raspberry Pi Le [Raspberry Pi](https://raspberrypi.org) est un ordinateur monocarte. Vous pouvez ajouter des capteurs et des actionneurs en utilisant une large gamme de dispositifs et d'écosystèmes, et pour ces leçons, nous utiliserons un écosystème matériel appelé [Grove](https://www.seeedstudio.com/category/Grove-c-1003.html). Vous programmerez votre Pi et accéderez aux capteurs Grove en utilisant Python. diff --git a/translations/fr/1-getting-started/lessons/1-introduction-to-iot/virtual-device.md b/translations/fr/1-getting-started/lessons/1-introduction-to-iot/virtual-device.md index f6e7301c6..529a6b91c 100644 --- a/translations/fr/1-getting-started/lessons/1-introduction-to-iot/virtual-device.md +++ b/translations/fr/1-getting-started/lessons/1-introduction-to-iot/virtual-device.md @@ -1,12 +1,3 @@ - # Ordinateur monocarte virtuel Au lieu d'acheter un appareil IoT avec des capteurs et des actionneurs, vous pouvez utiliser votre ordinateur pour simuler du matériel IoT. Le projet [CounterFit](https://github.com/CounterFit-IoT/CounterFit) vous permet d'exécuter une application localement qui simule du matériel IoT tel que des capteurs et des actionneurs, et d'accéder à ces capteurs et actionneurs depuis du code Python local, écrit de la même manière que le code que vous écririez sur un Raspberry Pi avec du matériel physique. diff --git a/translations/fr/1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md b/translations/fr/1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md index b30d8f7fd..cbc4f798f 100644 --- a/translations/fr/1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md +++ b/translations/fr/1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md @@ -1,12 +1,3 @@ - # Wio Terminal Le [Wio Terminal de Seeed Studios](https://www.seeedstudio.com/Wio-Terminal-p-4509.html) est un microcontrôleur compatible Arduino, doté du WiFi, de capteurs et d'actionneurs intégrés, ainsi que de ports permettant d'ajouter d'autres capteurs et actionneurs grâce à un écosystème matériel appelé [Grove](https://www.seeedstudio.com/category/Grove-c-1003.html). diff --git a/translations/fr/1-getting-started/lessons/2-deeper-dive/README.md b/translations/fr/1-getting-started/lessons/2-deeper-dive/README.md index b17e2e32d..82e70742d 100644 --- a/translations/fr/1-getting-started/lessons/2-deeper-dive/README.md +++ b/translations/fr/1-getting-started/lessons/2-deeper-dive/README.md @@ -1,12 +1,3 @@ - # Une exploration approfondie de l'IoT ![Un aperçu en sketchnote de cette leçon](../../../../../translated_images/fr/lesson-2.324b0580d620c25e0a24fb7fddfc0b29a846dd4b82c08e7a9466d580ee78ce51.jpg) diff --git a/translations/fr/1-getting-started/lessons/2-deeper-dive/assignment.md b/translations/fr/1-getting-started/lessons/2-deeper-dive/assignment.md index 3b5e49023..2b01a3195 100644 --- a/translations/fr/1-getting-started/lessons/2-deeper-dive/assignment.md +++ b/translations/fr/1-getting-started/lessons/2-deeper-dive/assignment.md @@ -1,12 +1,3 @@ - # Comparer et contraster les microcontrôleurs et les ordinateurs monocartes ## Instructions diff --git a/translations/fr/1-getting-started/lessons/3-sensors-and-actuators/README.md b/translations/fr/1-getting-started/lessons/3-sensors-and-actuators/README.md index be9f17b53..46b699049 100644 --- a/translations/fr/1-getting-started/lessons/3-sensors-and-actuators/README.md +++ b/translations/fr/1-getting-started/lessons/3-sensors-and-actuators/README.md @@ -1,12 +1,3 @@ - # Interagir avec le monde physique avec des capteurs et des actionneurs ![Un aperçu en sketchnote de cette leçon](../../../../../translated_images/fr/lesson-3.cc3b7b4cd646de598698cce043c0393fd62ef42bac2eaf60e61272cd844250f4.jpg) diff --git a/translations/fr/1-getting-started/lessons/3-sensors-and-actuators/assignment.md b/translations/fr/1-getting-started/lessons/3-sensors-and-actuators/assignment.md index 377dc7213..05bab75ba 100644 --- a/translations/fr/1-getting-started/lessons/3-sensors-and-actuators/assignment.md +++ b/translations/fr/1-getting-started/lessons/3-sensors-and-actuators/assignment.md @@ -1,12 +1,3 @@ - # Rechercher des capteurs et des actionneurs ## Instructions diff --git a/translations/fr/1-getting-started/lessons/3-sensors-and-actuators/pi-actuator.md b/translations/fr/1-getting-started/lessons/3-sensors-and-actuators/pi-actuator.md index 7aeb5707a..09df37cad 100644 --- a/translations/fr/1-getting-started/lessons/3-sensors-and-actuators/pi-actuator.md +++ b/translations/fr/1-getting-started/lessons/3-sensors-and-actuators/pi-actuator.md @@ -1,12 +1,3 @@ - # Construire une veilleuse - Raspberry Pi Dans cette partie de la leçon, vous allez ajouter une LED à votre Raspberry Pi et l'utiliser pour créer une veilleuse. diff --git a/translations/fr/1-getting-started/lessons/3-sensors-and-actuators/pi-sensor.md b/translations/fr/1-getting-started/lessons/3-sensors-and-actuators/pi-sensor.md index 2c21f7a78..26455f3cf 100644 --- a/translations/fr/1-getting-started/lessons/3-sensors-and-actuators/pi-sensor.md +++ b/translations/fr/1-getting-started/lessons/3-sensors-and-actuators/pi-sensor.md @@ -1,12 +1,3 @@ - # Construire une veilleuse - Raspberry Pi Dans cette partie de la leçon, vous allez ajouter un capteur de lumière à votre Raspberry Pi. diff --git a/translations/fr/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-actuator.md b/translations/fr/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-actuator.md index e04d857a7..14be7266b 100644 --- a/translations/fr/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-actuator.md +++ b/translations/fr/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-actuator.md @@ -1,12 +1,3 @@ - # Construire une veilleuse - Matériel IoT Virtuel Dans cette partie de la leçon, vous allez ajouter une LED à votre appareil IoT virtuel et l'utiliser pour créer une veilleuse. diff --git a/translations/fr/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-sensor.md b/translations/fr/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-sensor.md index eb08374ca..7933ac875 100644 --- a/translations/fr/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-sensor.md +++ b/translations/fr/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-sensor.md @@ -1,12 +1,3 @@ - # Construire une veilleuse - Matériel IoT virtuel Dans cette partie de la leçon, vous allez ajouter un capteur de lumière à votre appareil IoT virtuel. diff --git a/translations/fr/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-actuator.md b/translations/fr/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-actuator.md index e1ba748fa..7d9b54bf5 100644 --- a/translations/fr/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-actuator.md +++ b/translations/fr/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-actuator.md @@ -1,12 +1,3 @@ - # Construire une veilleuse - Wio Terminal Dans cette partie de la leçon, vous allez ajouter une LED à votre Wio Terminal et l'utiliser pour créer une veilleuse. diff --git a/translations/fr/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-sensor.md b/translations/fr/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-sensor.md index 7a6976701..42c34a9ce 100644 --- a/translations/fr/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-sensor.md +++ b/translations/fr/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-sensor.md @@ -1,12 +1,3 @@ - # Ajouter un capteur - Wio Terminal Dans cette partie de la leçon, vous allez utiliser le capteur de lumière intégré à votre Wio Terminal. diff --git a/translations/fr/1-getting-started/lessons/4-connect-internet/README.md b/translations/fr/1-getting-started/lessons/4-connect-internet/README.md index dfcfa6f35..5eb5004a1 100644 --- a/translations/fr/1-getting-started/lessons/4-connect-internet/README.md +++ b/translations/fr/1-getting-started/lessons/4-connect-internet/README.md @@ -1,12 +1,3 @@ - # Connectez votre appareil à Internet ![Un aperçu illustré de cette leçon](../../../../../translated_images/fr/lesson-4.7344e074ea68fa545fd320b12dce36d72dd62d28c3b4596cb26cf315f434b98f.jpg) diff --git a/translations/fr/1-getting-started/lessons/4-connect-internet/assignment.md b/translations/fr/1-getting-started/lessons/4-connect-internet/assignment.md index a306e74b8..468838f1e 100644 --- a/translations/fr/1-getting-started/lessons/4-connect-internet/assignment.md +++ b/translations/fr/1-getting-started/lessons/4-connect-internet/assignment.md @@ -1,12 +1,3 @@ - # Comparer et contraster MQTT avec d'autres protocoles de communication ## Instructions diff --git a/translations/fr/1-getting-started/lessons/4-connect-internet/single-board-computer-commands.md b/translations/fr/1-getting-started/lessons/4-connect-internet/single-board-computer-commands.md index e79ea3d3f..828f8f88c 100644 --- a/translations/fr/1-getting-started/lessons/4-connect-internet/single-board-computer-commands.md +++ b/translations/fr/1-getting-started/lessons/4-connect-internet/single-board-computer-commands.md @@ -1,12 +1,3 @@ - # Contrôlez votre veilleuse via Internet - Matériel IoT virtuel et Raspberry Pi Dans cette partie de la leçon, vous allez vous abonner aux commandes envoyées par un broker MQTT à votre Raspberry Pi ou à votre appareil IoT virtuel. diff --git a/translations/fr/1-getting-started/lessons/4-connect-internet/single-board-computer-mqtt.md b/translations/fr/1-getting-started/lessons/4-connect-internet/single-board-computer-mqtt.md index 2637d8854..51ecfaa2f 100644 --- a/translations/fr/1-getting-started/lessons/4-connect-internet/single-board-computer-mqtt.md +++ b/translations/fr/1-getting-started/lessons/4-connect-internet/single-board-computer-mqtt.md @@ -1,12 +1,3 @@ - # Contrôlez votre veilleuse via Internet - Matériel IoT virtuel et Raspberry Pi L'appareil IoT doit être programmé pour communiquer avec *test.mosquitto.org* en utilisant MQTT afin d'envoyer des valeurs de télémétrie avec la lecture du capteur de lumière, et recevoir des commandes pour contrôler la LED. diff --git a/translations/fr/1-getting-started/lessons/4-connect-internet/single-board-computer-telemetry.md b/translations/fr/1-getting-started/lessons/4-connect-internet/single-board-computer-telemetry.md index 847780541..b9c500a5b 100644 --- a/translations/fr/1-getting-started/lessons/4-connect-internet/single-board-computer-telemetry.md +++ b/translations/fr/1-getting-started/lessons/4-connect-internet/single-board-computer-telemetry.md @@ -1,12 +1,3 @@ - # Contrôlez votre veilleuse via Internet - Matériel IoT virtuel et Raspberry Pi Dans cette partie de la leçon, vous allez envoyer des données de télémétrie avec les niveaux de lumière depuis votre Raspberry Pi ou votre appareil IoT virtuel vers un broker MQTT. diff --git a/translations/fr/1-getting-started/lessons/4-connect-internet/wio-terminal-commands.md b/translations/fr/1-getting-started/lessons/4-connect-internet/wio-terminal-commands.md index c3630d67d..33e6c3e6d 100644 --- a/translations/fr/1-getting-started/lessons/4-connect-internet/wio-terminal-commands.md +++ b/translations/fr/1-getting-started/lessons/4-connect-internet/wio-terminal-commands.md @@ -1,12 +1,3 @@ - # Contrôlez votre veilleuse via Internet - Wio Terminal Dans cette partie de la leçon, vous allez vous abonner aux commandes envoyées par un broker MQTT à votre Wio Terminal. diff --git a/translations/fr/1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md b/translations/fr/1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md index a308d46f8..1891658c2 100644 --- a/translations/fr/1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md +++ b/translations/fr/1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md @@ -1,12 +1,3 @@ - # Contrôlez votre veilleuse via Internet - Wio Terminal L'appareil IoT doit être programmé pour communiquer avec *test.mosquitto.org* en utilisant MQTT afin d'envoyer des valeurs de télémétrie avec les relevés du capteur de lumière, et recevoir des commandes pour contrôler la LED. diff --git a/translations/fr/1-getting-started/lessons/4-connect-internet/wio-terminal-telemetry.md b/translations/fr/1-getting-started/lessons/4-connect-internet/wio-terminal-telemetry.md index 933d2aa8c..ec4276dbc 100644 --- a/translations/fr/1-getting-started/lessons/4-connect-internet/wio-terminal-telemetry.md +++ b/translations/fr/1-getting-started/lessons/4-connect-internet/wio-terminal-telemetry.md @@ -1,12 +1,3 @@ - # Contrôlez votre veilleuse via Internet - Wio Terminal Dans cette partie de la leçon, vous allez envoyer des données de télémétrie sur les niveaux de lumière depuis votre Wio Terminal vers le broker MQTT. diff --git a/translations/fr/2-farm/README.md b/translations/fr/2-farm/README.md index b8c96c13b..70b037143 100644 --- a/translations/fr/2-farm/README.md +++ b/translations/fr/2-farm/README.md @@ -1,12 +1,3 @@ - # L'agriculture avec l'IoT Avec la croissance de la population, la demande en agriculture augmente également. La quantité de terres disponibles ne change pas, mais le climat, lui, évolue - posant encore plus de défis aux agriculteurs, en particulier aux 2 milliards d'[agriculteurs de subsistance](https://wikipedia.org/wiki/Subsistence_agriculture) qui dépendent de ce qu'ils cultivent pour se nourrir et nourrir leurs familles. L'IoT peut aider les agriculteurs à prendre des décisions plus intelligentes sur ce qu'il faut cultiver et quand récolter, à augmenter les rendements, à réduire la quantité de travail manuel, et à détecter et gérer les nuisibles. diff --git a/translations/fr/2-farm/lessons/1-predict-plant-growth/README.md b/translations/fr/2-farm/lessons/1-predict-plant-growth/README.md index c8c8fd1ab..d5da44e62 100644 --- a/translations/fr/2-farm/lessons/1-predict-plant-growth/README.md +++ b/translations/fr/2-farm/lessons/1-predict-plant-growth/README.md @@ -1,12 +1,3 @@ - # Prédire la croissance des plantes avec l'IoT ![Un aperçu illustré de cette leçon](../../../../../translated_images/fr/lesson-5.42b234299279d263143148b88ab4583861a32ddb03110c6c1120e41bb88b2592.jpg) diff --git a/translations/fr/2-farm/lessons/1-predict-plant-growth/assignment.md b/translations/fr/2-farm/lessons/1-predict-plant-growth/assignment.md index 847f5ab62..1a9e14d7e 100644 --- a/translations/fr/2-farm/lessons/1-predict-plant-growth/assignment.md +++ b/translations/fr/2-farm/lessons/1-predict-plant-growth/assignment.md @@ -1,12 +1,3 @@ - # Visualiser les données GDD avec un Jupyter Notebook ## Instructions diff --git a/translations/fr/2-farm/lessons/1-predict-plant-growth/pi-temp.md b/translations/fr/2-farm/lessons/1-predict-plant-growth/pi-temp.md index 5b8d6e7b1..53ccd8583 100644 --- a/translations/fr/2-farm/lessons/1-predict-plant-growth/pi-temp.md +++ b/translations/fr/2-farm/lessons/1-predict-plant-growth/pi-temp.md @@ -1,12 +1,3 @@ - # Mesurer la température - Raspberry Pi Dans cette partie de la leçon, vous allez ajouter un capteur de température à votre Raspberry Pi. diff --git a/translations/fr/2-farm/lessons/1-predict-plant-growth/single-board-computer-temp-publish.md b/translations/fr/2-farm/lessons/1-predict-plant-growth/single-board-computer-temp-publish.md index 16f2f442c..4c59d6042 100644 --- a/translations/fr/2-farm/lessons/1-predict-plant-growth/single-board-computer-temp-publish.md +++ b/translations/fr/2-farm/lessons/1-predict-plant-growth/single-board-computer-temp-publish.md @@ -1,12 +1,3 @@ - # Publier la température - Matériel IoT virtuel et Raspberry Pi Dans cette partie de la leçon, vous allez publier les valeurs de température détectées par le Raspberry Pi ou le dispositif IoT virtuel via MQTT, afin qu'elles puissent être utilisées ultérieurement pour calculer les GDD. diff --git a/translations/fr/2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md b/translations/fr/2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md index df236eb1a..78420c83b 100644 --- a/translations/fr/2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md +++ b/translations/fr/2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md @@ -1,12 +1,3 @@ - # Mesurer la température - Matériel IoT Virtuel Dans cette partie de la leçon, vous allez ajouter un capteur de température à votre appareil IoT virtuel. diff --git a/translations/fr/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp-publish.md b/translations/fr/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp-publish.md index d9d220927..8fda857d7 100644 --- a/translations/fr/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp-publish.md +++ b/translations/fr/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp-publish.md @@ -1,12 +1,3 @@ - # Publier la température - Wio Terminal Dans cette partie de la leçon, vous allez publier les valeurs de température détectées par le Wio Terminal via MQTT afin qu'elles puissent être utilisées ultérieurement pour calculer les GDD. diff --git a/translations/fr/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md b/translations/fr/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md index bca314746..0883fb7c1 100644 --- a/translations/fr/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md +++ b/translations/fr/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md @@ -1,12 +1,3 @@ - # Mesurer la température - Wio Terminal Dans cette partie de la leçon, vous allez ajouter un capteur de température à votre Wio Terminal et lire les valeurs de température qu'il fournit. diff --git a/translations/fr/2-farm/lessons/2-detect-soil-moisture/README.md b/translations/fr/2-farm/lessons/2-detect-soil-moisture/README.md index a1c8b3a57..7ff0ccae9 100644 --- a/translations/fr/2-farm/lessons/2-detect-soil-moisture/README.md +++ b/translations/fr/2-farm/lessons/2-detect-soil-moisture/README.md @@ -1,12 +1,3 @@ - C, prononcé *I-carré-C*, est un protocole multi-contrôleur et multi-périphérique, où chaque appareil connecté peut agir comme contrôleur ou périphérique en communiquant via le bus I 2C a des limites de vitesse, avec 3 modes différents fonctionnant à des vitesses fixes. Le plus rapide est le mode Haute Vitesse avec une vitesse maximale de 3,4 Mbps (mégabits par seconde), bien que très peu d'appareils prennent en charge cette vitesse. Par exemple, le Raspberry Pi est limité au mode rapide à 400 Kbps (kilobits par seconde). Le mode standard fonctionne à 100 Kbps. diff --git a/translations/fr/2-farm/lessons/2-detect-soil-moisture/assignment.md b/translations/fr/2-farm/lessons/2-detect-soil-moisture/assignment.md index e32e6cc9c..0aefd951f 100644 --- a/translations/fr/2-farm/lessons/2-detect-soil-moisture/assignment.md +++ b/translations/fr/2-farm/lessons/2-detect-soil-moisture/assignment.md @@ -1,12 +1,3 @@ - # Calibrez votre capteur ## Instructions diff --git a/translations/fr/2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md b/translations/fr/2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md index 7c2d66035..2636ac94a 100644 --- a/translations/fr/2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md +++ b/translations/fr/2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md @@ -1,12 +1,3 @@ - # Mesurer l'humidité du sol - Raspberry Pi Dans cette partie de la leçon, vous allez ajouter un capteur d'humidité du sol capacitif à votre Raspberry Pi et lire les valeurs qu'il fournit. diff --git a/translations/fr/2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md b/translations/fr/2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md index 849af6af5..ff7341ae8 100644 --- a/translations/fr/2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md +++ b/translations/fr/2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md @@ -1,12 +1,3 @@ - # Mesurer l'humidité du sol - Matériel IoT Virtuel Dans cette partie de la leçon, vous allez ajouter un capteur capacitif d'humidité du sol à votre appareil IoT virtuel et lire les valeurs qu'il fournit. diff --git a/translations/fr/2-farm/lessons/2-detect-soil-moisture/wio-terminal-soil-moisture.md b/translations/fr/2-farm/lessons/2-detect-soil-moisture/wio-terminal-soil-moisture.md index f87bf59c3..688a2452a 100644 --- a/translations/fr/2-farm/lessons/2-detect-soil-moisture/wio-terminal-soil-moisture.md +++ b/translations/fr/2-farm/lessons/2-detect-soil-moisture/wio-terminal-soil-moisture.md @@ -1,12 +1,3 @@ - # Mesurer l'humidité du sol - Wio Terminal Dans cette partie de la leçon, vous allez ajouter un capteur capacitif d'humidité du sol à votre Wio Terminal et lire les valeurs qu'il fournit. diff --git a/translations/fr/2-farm/lessons/3-automated-plant-watering/README.md b/translations/fr/2-farm/lessons/3-automated-plant-watering/README.md index 13369178f..5592d917a 100644 --- a/translations/fr/2-farm/lessons/3-automated-plant-watering/README.md +++ b/translations/fr/2-farm/lessons/3-automated-plant-watering/README.md @@ -1,12 +1,3 @@ - # Arrosage automatisé des plantes ![Un aperçu en sketchnote de cette leçon](../../../../../translated_images/fr/lesson-7.30b5f577d3cb8e031238751475cb519c7d6dbaea261b5df4643d086ffb2a03bb.jpg) diff --git a/translations/fr/2-farm/lessons/3-automated-plant-watering/assignment.md b/translations/fr/2-farm/lessons/3-automated-plant-watering/assignment.md index a7bda49d5..6d54e2d73 100644 --- a/translations/fr/2-farm/lessons/3-automated-plant-watering/assignment.md +++ b/translations/fr/2-farm/lessons/3-automated-plant-watering/assignment.md @@ -1,12 +1,3 @@ - # Construire un cycle d'arrosage plus efficace ## Instructions diff --git a/translations/fr/2-farm/lessons/3-automated-plant-watering/pi-relay.md b/translations/fr/2-farm/lessons/3-automated-plant-watering/pi-relay.md index 41a2e7ba8..3a0513452 100644 --- a/translations/fr/2-farm/lessons/3-automated-plant-watering/pi-relay.md +++ b/translations/fr/2-farm/lessons/3-automated-plant-watering/pi-relay.md @@ -1,12 +1,3 @@ - # Contrôler un relais - Raspberry Pi Dans cette partie de la leçon, vous allez ajouter un relais à votre Raspberry Pi en plus du capteur d'humidité du sol, et le contrôler en fonction du niveau d'humidité du sol. diff --git a/translations/fr/2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md b/translations/fr/2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md index 4364077ad..87b4078e2 100644 --- a/translations/fr/2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md +++ b/translations/fr/2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md @@ -1,12 +1,3 @@ - # Contrôler un relais - Matériel IoT virtuel Dans cette partie de la leçon, vous allez ajouter un relais à votre appareil IoT virtuel en plus du capteur d'humidité du sol, et le contrôler en fonction du niveau d'humidité du sol. diff --git a/translations/fr/2-farm/lessons/3-automated-plant-watering/wio-terminal-relay.md b/translations/fr/2-farm/lessons/3-automated-plant-watering/wio-terminal-relay.md index cd19432ab..6589f7952 100644 --- a/translations/fr/2-farm/lessons/3-automated-plant-watering/wio-terminal-relay.md +++ b/translations/fr/2-farm/lessons/3-automated-plant-watering/wio-terminal-relay.md @@ -1,12 +1,3 @@ - # Contrôler un relais - Wio Terminal Dans cette partie de la leçon, vous allez ajouter un relais à votre Wio Terminal en plus du capteur d'humidité du sol, et le contrôler en fonction du niveau d'humidité du sol. diff --git a/translations/fr/2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md b/translations/fr/2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md index a257e856b..2ccdc893b 100644 --- a/translations/fr/2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md +++ b/translations/fr/2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md @@ -1,12 +1,3 @@ - # Migrez votre plante vers le cloud ![Un aperçu illustré de cette leçon](../../../../../translated_images/fr/lesson-8.3f21f3c11159e6a0a376351973ea5724d5de68fa23b4288853a174bed9ac48c3.jpg) diff --git a/translations/fr/2-farm/lessons/4-migrate-your-plant-to-the-cloud/assignment.md b/translations/fr/2-farm/lessons/4-migrate-your-plant-to-the-cloud/assignment.md index 2209a5324..a1a317049 100644 --- a/translations/fr/2-farm/lessons/4-migrate-your-plant-to-the-cloud/assignment.md +++ b/translations/fr/2-farm/lessons/4-migrate-your-plant-to-the-cloud/assignment.md @@ -1,12 +1,3 @@ - # Découvrez les services cloud ## Instructions diff --git a/translations/fr/2-farm/lessons/4-migrate-your-plant-to-the-cloud/single-board-computer-connect-hub.md b/translations/fr/2-farm/lessons/4-migrate-your-plant-to-the-cloud/single-board-computer-connect-hub.md index d6bf7c0fd..958b19527 100644 --- a/translations/fr/2-farm/lessons/4-migrate-your-plant-to-the-cloud/single-board-computer-connect-hub.md +++ b/translations/fr/2-farm/lessons/4-migrate-your-plant-to-the-cloud/single-board-computer-connect-hub.md @@ -1,12 +1,3 @@ - # Connectez votre appareil IoT au cloud - Matériel IoT virtuel et Raspberry Pi Dans cette partie de la leçon, vous allez connecter votre appareil IoT virtuel ou votre Raspberry Pi à votre IoT Hub, pour envoyer des télémétries et recevoir des commandes. diff --git a/translations/fr/2-farm/lessons/4-migrate-your-plant-to-the-cloud/wio-terminal-connect-hub.md b/translations/fr/2-farm/lessons/4-migrate-your-plant-to-the-cloud/wio-terminal-connect-hub.md index 02365589d..2f8fa6e98 100644 --- a/translations/fr/2-farm/lessons/4-migrate-your-plant-to-the-cloud/wio-terminal-connect-hub.md +++ b/translations/fr/2-farm/lessons/4-migrate-your-plant-to-the-cloud/wio-terminal-connect-hub.md @@ -1,12 +1,3 @@ - # Connectez votre appareil IoT au cloud - Wio Terminal Dans cette partie de la leçon, vous allez connecter votre Wio Terminal à votre IoT Hub pour envoyer des données de télémétrie et recevoir des commandes. diff --git a/translations/fr/2-farm/lessons/5-migrate-application-to-the-cloud/README.md b/translations/fr/2-farm/lessons/5-migrate-application-to-the-cloud/README.md index 01f895e77..31eef3d7a 100644 --- a/translations/fr/2-farm/lessons/5-migrate-application-to-the-cloud/README.md +++ b/translations/fr/2-farm/lessons/5-migrate-application-to-the-cloud/README.md @@ -1,12 +1,3 @@ - # Migrer la logique de votre application vers le cloud ![Un aperçu en sketchnote de cette leçon](../../../../../translated_images/fr/lesson-9.dfe99c8e891f48e179724520da9f5794392cf9a625079281ccdcbf09bd85e1b6.jpg) diff --git a/translations/fr/2-farm/lessons/5-migrate-application-to-the-cloud/assignment.md b/translations/fr/2-farm/lessons/5-migrate-application-to-the-cloud/assignment.md index 246531a06..78f2e157d 100644 --- a/translations/fr/2-farm/lessons/5-migrate-application-to-the-cloud/assignment.md +++ b/translations/fr/2-farm/lessons/5-migrate-application-to-the-cloud/assignment.md @@ -1,12 +1,3 @@ - # Ajouter un contrôle manuel du relais ## Instructions diff --git a/translations/fr/2-farm/lessons/6-keep-your-plant-secure/README.md b/translations/fr/2-farm/lessons/6-keep-your-plant-secure/README.md index da53aee1b..6ad78370a 100644 --- a/translations/fr/2-farm/lessons/6-keep-your-plant-secure/README.md +++ b/translations/fr/2-farm/lessons/6-keep-your-plant-secure/README.md @@ -1,12 +1,3 @@ - # Gardez votre plante en sécurité ![Un aperçu en sketchnote de cette leçon](../../../../../translated_images/fr/lesson-10.829c86b80b9403bb770929ee553a1d293afe50dc23121aaf9be144673ae012cc.jpg) diff --git a/translations/fr/2-farm/lessons/6-keep-your-plant-secure/assignment.md b/translations/fr/2-farm/lessons/6-keep-your-plant-secure/assignment.md index b8404776c..52fdc1527 100644 --- a/translations/fr/2-farm/lessons/6-keep-your-plant-secure/assignment.md +++ b/translations/fr/2-farm/lessons/6-keep-your-plant-secure/assignment.md @@ -1,12 +1,3 @@ - # Construire un nouvel appareil IoT ## Instructions diff --git a/translations/fr/2-farm/lessons/6-keep-your-plant-secure/single-board-computer-x509.md b/translations/fr/2-farm/lessons/6-keep-your-plant-secure/single-board-computer-x509.md index 2c9349d24..e7ea22729 100644 --- a/translations/fr/2-farm/lessons/6-keep-your-plant-secure/single-board-computer-x509.md +++ b/translations/fr/2-farm/lessons/6-keep-your-plant-secure/single-board-computer-x509.md @@ -1,12 +1,3 @@ - # Utiliser le certificat X.509 dans le code de votre appareil - Matériel IoT virtuel et Raspberry Pi Dans cette partie de la leçon, vous allez connecter votre appareil IoT virtuel ou votre Raspberry Pi à votre IoT Hub en utilisant le certificat X.509. diff --git a/translations/fr/2-farm/lessons/6-keep-your-plant-secure/wio-terminal-x509.md b/translations/fr/2-farm/lessons/6-keep-your-plant-secure/wio-terminal-x509.md index fcb3985c3..0abccd586 100644 --- a/translations/fr/2-farm/lessons/6-keep-your-plant-secure/wio-terminal-x509.md +++ b/translations/fr/2-farm/lessons/6-keep-your-plant-secure/wio-terminal-x509.md @@ -1,12 +1,3 @@ - # Utiliser le certificat X.509 dans le code de votre appareil - Wio Terminal Au moment de la rédaction, le SDK Azure Arduino ne prend pas en charge les certificats X.509. Si vous souhaitez expérimenter avec les certificats X.509, vous pouvez consulter les [instructions pour un appareil IoT virtuel utilisant le SDK Python](single-board-computer-x509.md) diff --git a/translations/fr/3-transport/README.md b/translations/fr/3-transport/README.md index a79e07681..c5738c00a 100644 --- a/translations/fr/3-transport/README.md +++ b/translations/fr/3-transport/README.md @@ -1,12 +1,3 @@ - # Transport de la ferme à l'usine - utiliser l'IoT pour suivre les livraisons alimentaires De nombreux agriculteurs cultivent des aliments pour les vendre - soit ils sont des agriculteurs commerciaux qui vendent tout ce qu'ils produisent, soit ils sont des agriculteurs de subsistance qui vendent leur surplus pour acheter des produits de première nécessité. D'une manière ou d'une autre, les aliments doivent passer de la ferme au consommateur, ce qui repose généralement sur le transport en vrac des fermes vers des hubs ou des usines de transformation, puis vers les magasins. Par exemple, un producteur de tomates récoltera des tomates, les emballera dans des caisses, chargera les caisses dans un camion, puis les livrera à une usine de transformation. Les tomates seront ensuite triées, puis livrées aux consommateurs sous forme de produits transformés, de ventes au détail ou consommées dans des restaurants. diff --git a/translations/fr/3-transport/lessons/1-location-tracking/README.md b/translations/fr/3-transport/lessons/1-location-tracking/README.md index 67f530ef7..9a234d4b8 100644 --- a/translations/fr/3-transport/lessons/1-location-tracking/README.md +++ b/translations/fr/3-transport/lessons/1-location-tracking/README.md @@ -1,12 +1,3 @@ - # Suivi de localisation ![Un aperçu en sketchnote de cette leçon](../../../../../translated_images/fr/lesson-11.9fddbac4b664c6d50ab7ac9bb32f1fc3f945f03760e72f7f43938073762fb017.jpg) diff --git a/translations/fr/3-transport/lessons/1-location-tracking/assignment.md b/translations/fr/3-transport/lessons/1-location-tracking/assignment.md index 5951f33fa..6112b8541 100644 --- a/translations/fr/3-transport/lessons/1-location-tracking/assignment.md +++ b/translations/fr/3-transport/lessons/1-location-tracking/assignment.md @@ -1,12 +1,3 @@ - # Explorer d'autres données GPS ## Instructions diff --git a/translations/fr/3-transport/lessons/1-location-tracking/pi-gps-sensor.md b/translations/fr/3-transport/lessons/1-location-tracking/pi-gps-sensor.md index 757d1e6a1..17895c41d 100644 --- a/translations/fr/3-transport/lessons/1-location-tracking/pi-gps-sensor.md +++ b/translations/fr/3-transport/lessons/1-location-tracking/pi-gps-sensor.md @@ -1,12 +1,3 @@ - # Lire les données GPS - Raspberry Pi Dans cette partie de la leçon, vous allez ajouter un capteur GPS à votre Raspberry Pi et lire les valeurs qu'il fournit. diff --git a/translations/fr/3-transport/lessons/1-location-tracking/single-board-computer-gps-decode.md b/translations/fr/3-transport/lessons/1-location-tracking/single-board-computer-gps-decode.md index 1a59af644..b72d4ba60 100644 --- a/translations/fr/3-transport/lessons/1-location-tracking/single-board-computer-gps-decode.md +++ b/translations/fr/3-transport/lessons/1-location-tracking/single-board-computer-gps-decode.md @@ -1,12 +1,3 @@ - # Décoder les données GPS - Matériel IoT Virtuel et Raspberry Pi Dans cette partie de la leçon, vous allez décoder les messages NMEA lus depuis le capteur GPS par le Raspberry Pi ou le dispositif IoT virtuel, et extraire la latitude et la longitude. diff --git a/translations/fr/3-transport/lessons/1-location-tracking/virtual-device-gps-sensor.md b/translations/fr/3-transport/lessons/1-location-tracking/virtual-device-gps-sensor.md index 2fb21efa2..ed4966041 100644 --- a/translations/fr/3-transport/lessons/1-location-tracking/virtual-device-gps-sensor.md +++ b/translations/fr/3-transport/lessons/1-location-tracking/virtual-device-gps-sensor.md @@ -1,12 +1,3 @@ - # Lire les données GPS - Matériel IoT Virtuel Dans cette partie de la leçon, vous allez ajouter un capteur GPS à votre appareil IoT virtuel et lire les valeurs qu'il fournit. diff --git a/translations/fr/3-transport/lessons/1-location-tracking/wio-terminal-gps-decode.md b/translations/fr/3-transport/lessons/1-location-tracking/wio-terminal-gps-decode.md index 42723b5e1..ff0bddc3c 100644 --- a/translations/fr/3-transport/lessons/1-location-tracking/wio-terminal-gps-decode.md +++ b/translations/fr/3-transport/lessons/1-location-tracking/wio-terminal-gps-decode.md @@ -1,12 +1,3 @@ - # Décoder les données GPS - Wio Terminal Dans cette partie de la leçon, vous allez décoder les messages NMEA lus depuis le capteur GPS par le Wio Terminal et extraire la latitude et la longitude. diff --git a/translations/fr/3-transport/lessons/1-location-tracking/wio-terminal-gps-sensor.md b/translations/fr/3-transport/lessons/1-location-tracking/wio-terminal-gps-sensor.md index 87ae4579a..0dda35577 100644 --- a/translations/fr/3-transport/lessons/1-location-tracking/wio-terminal-gps-sensor.md +++ b/translations/fr/3-transport/lessons/1-location-tracking/wio-terminal-gps-sensor.md @@ -1,12 +1,3 @@ - # Lire les données GPS - Wio Terminal Dans cette partie de la leçon, vous allez ajouter un capteur GPS à votre Wio Terminal et lire les valeurs qu'il fournit. diff --git a/translations/fr/3-transport/lessons/2-store-location-data/README.md b/translations/fr/3-transport/lessons/2-store-location-data/README.md index b2bebeb11..1c374b3af 100644 --- a/translations/fr/3-transport/lessons/2-store-location-data/README.md +++ b/translations/fr/3-transport/lessons/2-store-location-data/README.md @@ -1,12 +1,3 @@ - # Stocker des données de localisation ![Un aperçu en sketchnote de cette leçon](../../../../../translated_images/fr/lesson-12.ca7f53039712a3ec14ad6474d8445361c84adab643edc53fa6269b77895606bb.jpg) diff --git a/translations/fr/3-transport/lessons/2-store-location-data/assignment.md b/translations/fr/3-transport/lessons/2-store-location-data/assignment.md index e83ea47e1..e7a9d11bc 100644 --- a/translations/fr/3-transport/lessons/2-store-location-data/assignment.md +++ b/translations/fr/3-transport/lessons/2-store-location-data/assignment.md @@ -1,12 +1,3 @@ - # Examiner les liaisons de fonctions ## Instructions diff --git a/translations/fr/3-transport/lessons/3-visualize-location-data/README.md b/translations/fr/3-transport/lessons/3-visualize-location-data/README.md index 13fb7e527..9b1478101 100644 --- a/translations/fr/3-transport/lessons/3-visualize-location-data/README.md +++ b/translations/fr/3-transport/lessons/3-visualize-location-data/README.md @@ -1,12 +1,3 @@ - # Visualiser des données de localisation ![Un aperçu illustré de cette leçon](../../../../../translated_images/fr/lesson-13.a259db1485021be7d7c72e90842fbe0ab977529e8684c179b5fb1ea75e92b3ef.jpg) diff --git a/translations/fr/3-transport/lessons/3-visualize-location-data/assignment.md b/translations/fr/3-transport/lessons/3-visualize-location-data/assignment.md index 14cdd2e06..3e2f78312 100644 --- a/translations/fr/3-transport/lessons/3-visualize-location-data/assignment.md +++ b/translations/fr/3-transport/lessons/3-visualize-location-data/assignment.md @@ -1,12 +1,3 @@ - # Déployez votre application ## Instructions diff --git a/translations/fr/3-transport/lessons/4-geofences/README.md b/translations/fr/3-transport/lessons/4-geofences/README.md index 345f20092..d3ea60e6d 100644 --- a/translations/fr/3-transport/lessons/4-geofences/README.md +++ b/translations/fr/3-transport/lessons/4-geofences/README.md @@ -1,12 +1,3 @@ - # Clôtures géographiques ![Un aperçu illustré de cette leçon](../../../../../translated_images/fr/lesson-14.63980c5150ae3c153e770fb71d044c1845dce79248d86bed9fc525adf3ede73c.jpg) diff --git a/translations/fr/3-transport/lessons/4-geofences/assignment.md b/translations/fr/3-transport/lessons/4-geofences/assignment.md index 52849cfef..7f803ee61 100644 --- a/translations/fr/3-transport/lessons/4-geofences/assignment.md +++ b/translations/fr/3-transport/lessons/4-geofences/assignment.md @@ -1,12 +1,3 @@ - # Envoyer des notifications avec Twilio ## Instructions diff --git a/translations/fr/4-manufacturing/README.md b/translations/fr/4-manufacturing/README.md index 0244d16c1..8a90285b3 100644 --- a/translations/fr/4-manufacturing/README.md +++ b/translations/fr/4-manufacturing/README.md @@ -1,12 +1,3 @@ - # Fabrication et transformation - utiliser l'IoT pour améliorer le traitement des aliments Une fois que les aliments atteignent un centre de traitement ou une usine, ils ne sont pas toujours simplement expédiés aux supermarchés. Souvent, les aliments passent par plusieurs étapes de transformation, comme le tri par qualité. C'était un processus qui se faisait manuellement - cela commençait dans les champs où les cueilleurs ne ramassaient que les fruits mûrs, puis à l'usine, les fruits passaient sur un tapis roulant et les employés retiraient manuellement les fruits abîmés ou pourris. Ayant moi-même cueilli et trié des fraises comme job d'été pendant mes études, je peux témoigner que ce n'est pas un travail agréable. diff --git a/translations/fr/4-manufacturing/lessons/1-train-fruit-detector/README.md b/translations/fr/4-manufacturing/lessons/1-train-fruit-detector/README.md index 2fa42e3a2..7e1f84fc0 100644 --- a/translations/fr/4-manufacturing/lessons/1-train-fruit-detector/README.md +++ b/translations/fr/4-manufacturing/lessons/1-train-fruit-detector/README.md @@ -1,12 +1,3 @@ - # Former un détecteur de qualité des fruits ![Un aperçu illustré de cette leçon](../../../../../translated_images/fr/lesson-15.843d21afdc6fb2bba70cd9db7b7d2f91598859fafda2078b0bdc44954194b6c0.jpg) diff --git a/translations/fr/4-manufacturing/lessons/1-train-fruit-detector/assignment.md b/translations/fr/4-manufacturing/lessons/1-train-fruit-detector/assignment.md index 0361b3125..67ea71990 100644 --- a/translations/fr/4-manufacturing/lessons/1-train-fruit-detector/assignment.md +++ b/translations/fr/4-manufacturing/lessons/1-train-fruit-detector/assignment.md @@ -1,12 +1,3 @@ - # Entraînez votre classificateur pour plusieurs fruits et légumes ## Instructions diff --git a/translations/fr/4-manufacturing/lessons/2-check-fruit-from-device/README.md b/translations/fr/4-manufacturing/lessons/2-check-fruit-from-device/README.md index 2b2114aa7..f40b5c0f5 100644 --- a/translations/fr/4-manufacturing/lessons/2-check-fruit-from-device/README.md +++ b/translations/fr/4-manufacturing/lessons/2-check-fruit-from-device/README.md @@ -1,12 +1,3 @@ - # Vérifier la qualité des fruits avec un appareil IoT ![Un aperçu illustré de cette leçon](../../../../../translated_images/fr/lesson-16.215daf18b00631fbdfd64c6fc2dc6044dff5d544288825d8076f9fb83d964c23.jpg) diff --git a/translations/fr/4-manufacturing/lessons/2-check-fruit-from-device/assignment.md b/translations/fr/4-manufacturing/lessons/2-check-fruit-from-device/assignment.md index e7f2b57d0..b6d20f258 100644 --- a/translations/fr/4-manufacturing/lessons/2-check-fruit-from-device/assignment.md +++ b/translations/fr/4-manufacturing/lessons/2-check-fruit-from-device/assignment.md @@ -1,12 +1,3 @@ - # Répondre aux résultats de classification ## Instructions diff --git a/translations/fr/4-manufacturing/lessons/2-check-fruit-from-device/pi-camera.md b/translations/fr/4-manufacturing/lessons/2-check-fruit-from-device/pi-camera.md index 974b7ff91..413358057 100644 --- a/translations/fr/4-manufacturing/lessons/2-check-fruit-from-device/pi-camera.md +++ b/translations/fr/4-manufacturing/lessons/2-check-fruit-from-device/pi-camera.md @@ -1,12 +1,3 @@ - # Capturer une image - Raspberry Pi Dans cette partie de la leçon, vous allez ajouter un capteur de caméra à votre Raspberry Pi et lire des images à partir de celui-ci. diff --git a/translations/fr/4-manufacturing/lessons/2-check-fruit-from-device/single-board-computer-classify-image.md b/translations/fr/4-manufacturing/lessons/2-check-fruit-from-device/single-board-computer-classify-image.md index ba0e78df8..c4145b023 100644 --- a/translations/fr/4-manufacturing/lessons/2-check-fruit-from-device/single-board-computer-classify-image.md +++ b/translations/fr/4-manufacturing/lessons/2-check-fruit-from-device/single-board-computer-classify-image.md @@ -1,12 +1,3 @@ - # Classifier une image - Matériel IoT virtuel et Raspberry Pi Dans cette partie de la leçon, vous allez envoyer l'image capturée par la caméra au service Custom Vision pour la classifier. diff --git a/translations/fr/4-manufacturing/lessons/2-check-fruit-from-device/virtual-device-camera.md b/translations/fr/4-manufacturing/lessons/2-check-fruit-from-device/virtual-device-camera.md index 15a86d814..31e7fe64f 100644 --- a/translations/fr/4-manufacturing/lessons/2-check-fruit-from-device/virtual-device-camera.md +++ b/translations/fr/4-manufacturing/lessons/2-check-fruit-from-device/virtual-device-camera.md @@ -1,12 +1,3 @@ - # Capturer une image - Matériel IoT Virtuel Dans cette partie de la leçon, vous allez ajouter un capteur de caméra à votre appareil IoT virtuel et lire des images à partir de celui-ci. diff --git a/translations/fr/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-camera.md b/translations/fr/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-camera.md index 93c2ec581..a6e82d52d 100644 --- a/translations/fr/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-camera.md +++ b/translations/fr/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-camera.md @@ -1,12 +1,3 @@ - # Capturer une image - Wio Terminal Dans cette partie de la leçon, vous allez ajouter une caméra à votre Wio Terminal et capturer des images avec celle-ci. diff --git a/translations/fr/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-classify-image.md b/translations/fr/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-classify-image.md index 304c69aa0..a3d25c2b4 100644 --- a/translations/fr/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-classify-image.md +++ b/translations/fr/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-classify-image.md @@ -1,12 +1,3 @@ - # Classifier une image - Wio Terminal Dans cette partie de la leçon, vous allez envoyer l'image capturée par la caméra au service Custom Vision pour la classifier. diff --git a/translations/fr/4-manufacturing/lessons/3-run-fruit-detector-edge/README.md b/translations/fr/4-manufacturing/lessons/3-run-fruit-detector-edge/README.md index 55eed8786..31f693bf1 100644 --- a/translations/fr/4-manufacturing/lessons/3-run-fruit-detector-edge/README.md +++ b/translations/fr/4-manufacturing/lessons/3-run-fruit-detector-edge/README.md @@ -1,12 +1,3 @@ - # Exécutez votre détecteur de fruits en périphérie ![Un aperçu illustré de cette leçon](../../../../../translated_images/fr/lesson-17.bc333c3c35ba8e42cce666cfffa82b915f787f455bd94e006aea2b6f2722421a.jpg) diff --git a/translations/fr/4-manufacturing/lessons/3-run-fruit-detector-edge/assignment.md b/translations/fr/4-manufacturing/lessons/3-run-fruit-detector-edge/assignment.md index 2146fae41..ca086ff21 100644 --- a/translations/fr/4-manufacturing/lessons/3-run-fruit-detector-edge/assignment.md +++ b/translations/fr/4-manufacturing/lessons/3-run-fruit-detector-edge/assignment.md @@ -1,12 +1,3 @@ - # Exécuter d'autres services en périphérie ## Instructions diff --git a/translations/fr/4-manufacturing/lessons/3-run-fruit-detector-edge/single-board-computer.md b/translations/fr/4-manufacturing/lessons/3-run-fruit-detector-edge/single-board-computer.md index 002071990..2c6467af7 100644 --- a/translations/fr/4-manufacturing/lessons/3-run-fruit-detector-edge/single-board-computer.md +++ b/translations/fr/4-manufacturing/lessons/3-run-fruit-detector-edge/single-board-computer.md @@ -1,12 +1,3 @@ - # Classifier une image à l'aide d'un classificateur d'images basé sur IoT Edge - Matériel IoT virtuel et Raspberry Pi Dans cette partie de la leçon, vous allez utiliser le classificateur d'images fonctionnant sur l'appareil IoT Edge. diff --git a/translations/fr/4-manufacturing/lessons/3-run-fruit-detector-edge/vm-iotedge.md b/translations/fr/4-manufacturing/lessons/3-run-fruit-detector-edge/vm-iotedge.md index 411443686..66fe44d09 100644 --- a/translations/fr/4-manufacturing/lessons/3-run-fruit-detector-edge/vm-iotedge.md +++ b/translations/fr/4-manufacturing/lessons/3-run-fruit-detector-edge/vm-iotedge.md @@ -1,12 +1,3 @@ - # Créer une machine virtuelle exécutant IoT Edge Dans Azure, vous pouvez créer une machine virtuelle - un ordinateur dans le cloud que vous pouvez configurer comme vous le souhaitez et sur lequel vous pouvez exécuter vos propres logiciels. diff --git a/translations/fr/4-manufacturing/lessons/3-run-fruit-detector-edge/wio-terminal.md b/translations/fr/4-manufacturing/lessons/3-run-fruit-detector-edge/wio-terminal.md index e86fdab9e..b3ac40c27 100644 --- a/translations/fr/4-manufacturing/lessons/3-run-fruit-detector-edge/wio-terminal.md +++ b/translations/fr/4-manufacturing/lessons/3-run-fruit-detector-edge/wio-terminal.md @@ -1,12 +1,3 @@ - # Classifier une image à l'aide d'un classificateur d'images basé sur IoT Edge - Wio Terminal Dans cette partie de la leçon, vous utiliserez le classificateur d'images fonctionnant sur l'appareil IoT Edge. diff --git a/translations/fr/4-manufacturing/lessons/4-trigger-fruit-detector/README.md b/translations/fr/4-manufacturing/lessons/4-trigger-fruit-detector/README.md index 81984707d..c636f92df 100644 --- a/translations/fr/4-manufacturing/lessons/4-trigger-fruit-detector/README.md +++ b/translations/fr/4-manufacturing/lessons/4-trigger-fruit-detector/README.md @@ -1,12 +1,3 @@ - # Déclencher la détection de la qualité des fruits à partir d'un capteur ![Un aperçu en sketchnote de cette leçon](../../../../../translated_images/fr/lesson-18.92c32ed1d354caa5a54baa4032cf0b172d4655e8e326ad5d46c558a0def15365.jpg) diff --git a/translations/fr/4-manufacturing/lessons/4-trigger-fruit-detector/assignment.md b/translations/fr/4-manufacturing/lessons/4-trigger-fruit-detector/assignment.md index f80ed72ec..ef6c61309 100644 --- a/translations/fr/4-manufacturing/lessons/4-trigger-fruit-detector/assignment.md +++ b/translations/fr/4-manufacturing/lessons/4-trigger-fruit-detector/assignment.md @@ -1,12 +1,3 @@ - # Construire un détecteur de qualité des fruits ## Instructions diff --git a/translations/fr/4-manufacturing/lessons/4-trigger-fruit-detector/pi-proximity.md b/translations/fr/4-manufacturing/lessons/4-trigger-fruit-detector/pi-proximity.md index ca63a786b..4dbeeb0c3 100644 --- a/translations/fr/4-manufacturing/lessons/4-trigger-fruit-detector/pi-proximity.md +++ b/translations/fr/4-manufacturing/lessons/4-trigger-fruit-detector/pi-proximity.md @@ -1,12 +1,3 @@ - # Détecter la proximité - Raspberry Pi Dans cette partie de la leçon, vous allez ajouter un capteur de proximité à votre Raspberry Pi et lire les distances qu'il mesure. diff --git a/translations/fr/4-manufacturing/lessons/4-trigger-fruit-detector/virtual-device-proximity.md b/translations/fr/4-manufacturing/lessons/4-trigger-fruit-detector/virtual-device-proximity.md index 1e65377e7..1b212b07a 100644 --- a/translations/fr/4-manufacturing/lessons/4-trigger-fruit-detector/virtual-device-proximity.md +++ b/translations/fr/4-manufacturing/lessons/4-trigger-fruit-detector/virtual-device-proximity.md @@ -1,12 +1,3 @@ - # Détecter la proximité - Matériel IoT Virtuel Dans cette partie de la leçon, vous allez ajouter un capteur de proximité à votre appareil IoT virtuel et lire les distances qu'il mesure. diff --git a/translations/fr/4-manufacturing/lessons/4-trigger-fruit-detector/wio-terminal-proximity.md b/translations/fr/4-manufacturing/lessons/4-trigger-fruit-detector/wio-terminal-proximity.md index 759a8144e..ce25fd65e 100644 --- a/translations/fr/4-manufacturing/lessons/4-trigger-fruit-detector/wio-terminal-proximity.md +++ b/translations/fr/4-manufacturing/lessons/4-trigger-fruit-detector/wio-terminal-proximity.md @@ -1,12 +1,3 @@ - # Détecter la proximité - Wio Terminal Dans cette partie de la leçon, vous allez ajouter un capteur de proximité à votre Wio Terminal et lire les distances qu'il mesure. diff --git a/translations/fr/5-retail/README.md b/translations/fr/5-retail/README.md index a83ecfc98..374507bc5 100644 --- a/translations/fr/5-retail/README.md +++ b/translations/fr/5-retail/README.md @@ -1,12 +1,3 @@ - # Commerce de détail - utiliser l'IoT pour gérer les niveaux de stock La dernière étape avant que les produits n'atteignent les consommateurs est le commerce de détail : les marchés, primeurs, supermarchés et magasins qui vendent des produits aux consommateurs. Ces magasins souhaitent s'assurer qu'ils ont des produits en rayon pour que les clients puissent les voir et les acheter. diff --git a/translations/fr/5-retail/lessons/1-train-stock-detector/README.md b/translations/fr/5-retail/lessons/1-train-stock-detector/README.md index 78ef6a4be..9bfdde4e3 100644 --- a/translations/fr/5-retail/lessons/1-train-stock-detector/README.md +++ b/translations/fr/5-retail/lessons/1-train-stock-detector/README.md @@ -1,12 +1,3 @@ - # Entraîner un détecteur de stock ![Un aperçu illustré de cette leçon](../../../../../translated_images/fr/lesson-19.cf6973cecadf080c4b526310620dc4d6f5994c80fb0139c6f378cc9ca2d435cd.jpg) diff --git a/translations/fr/5-retail/lessons/1-train-stock-detector/assignment.md b/translations/fr/5-retail/lessons/1-train-stock-detector/assignment.md index 8017c700c..d2f89dc85 100644 --- a/translations/fr/5-retail/lessons/1-train-stock-detector/assignment.md +++ b/translations/fr/5-retail/lessons/1-train-stock-detector/assignment.md @@ -1,12 +1,3 @@ - # Comparer les domaines ## Instructions diff --git a/translations/fr/5-retail/lessons/2-check-stock-device/README.md b/translations/fr/5-retail/lessons/2-check-stock-device/README.md index a513fdcc9..005bf9054 100644 --- a/translations/fr/5-retail/lessons/2-check-stock-device/README.md +++ b/translations/fr/5-retail/lessons/2-check-stock-device/README.md @@ -1,12 +1,3 @@ - # Vérifier le stock depuis un appareil IoT ![Un aperçu illustré de cette leçon](../../../../../translated_images/fr/lesson-20.0211df9551a8abb300fc8fcf7dc2789468dea2eabe9202273ac077b0ba37f15e.jpg) diff --git a/translations/fr/5-retail/lessons/2-check-stock-device/assignment.md b/translations/fr/5-retail/lessons/2-check-stock-device/assignment.md index 1f2bc0628..f258f6d52 100644 --- a/translations/fr/5-retail/lessons/2-check-stock-device/assignment.md +++ b/translations/fr/5-retail/lessons/2-check-stock-device/assignment.md @@ -1,12 +1,3 @@ - # Utilisez votre détecteur d'objets en périphérie ## Instructions diff --git a/translations/fr/5-retail/lessons/2-check-stock-device/single-board-computer-count-stock.md b/translations/fr/5-retail/lessons/2-check-stock-device/single-board-computer-count-stock.md index e2f081f56..51bb78c96 100644 --- a/translations/fr/5-retail/lessons/2-check-stock-device/single-board-computer-count-stock.md +++ b/translations/fr/5-retail/lessons/2-check-stock-device/single-board-computer-count-stock.md @@ -1,12 +1,3 @@ - # Compter le stock depuis votre appareil IoT - Matériel IoT virtuel et Raspberry Pi Une combinaison des prédictions et de leurs boîtes englobantes peut être utilisée pour compter le stock dans une image. diff --git a/translations/fr/5-retail/lessons/2-check-stock-device/single-board-computer-object-detector.md b/translations/fr/5-retail/lessons/2-check-stock-device/single-board-computer-object-detector.md index 11e21ea2e..7f403c037 100644 --- a/translations/fr/5-retail/lessons/2-check-stock-device/single-board-computer-object-detector.md +++ b/translations/fr/5-retail/lessons/2-check-stock-device/single-board-computer-object-detector.md @@ -1,12 +1,3 @@ - # Appelez votre détecteur d'objets depuis votre appareil IoT - Matériel IoT virtuel et Raspberry Pi Une fois que votre détecteur d'objets a été publié, il peut être utilisé depuis votre appareil IoT. diff --git a/translations/fr/5-retail/lessons/2-check-stock-device/wio-terminal-count-stock.md b/translations/fr/5-retail/lessons/2-check-stock-device/wio-terminal-count-stock.md index 6a3b794d2..55f5f010e 100644 --- a/translations/fr/5-retail/lessons/2-check-stock-device/wio-terminal-count-stock.md +++ b/translations/fr/5-retail/lessons/2-check-stock-device/wio-terminal-count-stock.md @@ -1,12 +1,3 @@ - # Compter le stock depuis votre appareil IoT - Wio Terminal Une combinaison des prédictions et de leurs boîtes englobantes peut être utilisée pour compter le stock dans une image. diff --git a/translations/fr/5-retail/lessons/2-check-stock-device/wio-terminal-object-detector.md b/translations/fr/5-retail/lessons/2-check-stock-device/wio-terminal-object-detector.md index 506196a69..1f10304f7 100644 --- a/translations/fr/5-retail/lessons/2-check-stock-device/wio-terminal-object-detector.md +++ b/translations/fr/5-retail/lessons/2-check-stock-device/wio-terminal-object-detector.md @@ -1,12 +1,3 @@ - # Appelez votre détecteur d'objets depuis votre appareil IoT - Wio Terminal Une fois votre détecteur d'objets publié, vous pouvez l'utiliser depuis votre appareil IoT. diff --git a/translations/fr/6-consumer/README.md b/translations/fr/6-consumer/README.md index 1c60b0e97..bed91add1 100644 --- a/translations/fr/6-consumer/README.md +++ b/translations/fr/6-consumer/README.md @@ -1,12 +1,3 @@ - # IoT pour les consommateurs - créer un assistant vocal intelligent La nourriture a été cultivée, transportée vers une usine de transformation, triée pour sa qualité, vendue en magasin, et maintenant il est temps de cuisiner ! L'un des éléments essentiels de toute cuisine est un minuteur. À l'origine, ces minuteurs étaient des sabliers - votre plat était prêt lorsque tout le sable s'était écoulé dans le bulbe inférieur. Ensuite, ils sont devenus mécaniques, puis électriques. diff --git a/translations/fr/6-consumer/lessons/1-speech-recognition/README.md b/translations/fr/6-consumer/lessons/1-speech-recognition/README.md index 5d1d108d8..ed3115c67 100644 --- a/translations/fr/6-consumer/lessons/1-speech-recognition/README.md +++ b/translations/fr/6-consumer/lessons/1-speech-recognition/README.md @@ -1,12 +1,3 @@ - # Reconnaître la parole avec un appareil IoT ![Un aperçu illustré de cette leçon](../../../../../translated_images/fr/lesson-21.e34de51354d6606fb5ee08d8c89d0222eea0a2a7aaf744a8805ae847c4f69dc4.jpg) diff --git a/translations/fr/6-consumer/lessons/1-speech-recognition/assignment.md b/translations/fr/6-consumer/lessons/1-speech-recognition/assignment.md index b17349472..6d5147ba1 100644 --- a/translations/fr/6-consumer/lessons/1-speech-recognition/assignment.md +++ b/translations/fr/6-consumer/lessons/1-speech-recognition/assignment.md @@ -1,12 +1,3 @@ - ## Instructions ## Barème diff --git a/translations/fr/6-consumer/lessons/1-speech-recognition/pi-audio.md b/translations/fr/6-consumer/lessons/1-speech-recognition/pi-audio.md index 746c51879..1775e0e46 100644 --- a/translations/fr/6-consumer/lessons/1-speech-recognition/pi-audio.md +++ b/translations/fr/6-consumer/lessons/1-speech-recognition/pi-audio.md @@ -1,12 +1,3 @@ - # Capturer de l'audio - Raspberry Pi Dans cette partie de la leçon, vous allez écrire du code pour capturer de l'audio sur votre Raspberry Pi. La capture audio sera contrôlée par un bouton. diff --git a/translations/fr/6-consumer/lessons/1-speech-recognition/pi-microphone.md b/translations/fr/6-consumer/lessons/1-speech-recognition/pi-microphone.md index 010ab5137..39ec5bbfa 100644 --- a/translations/fr/6-consumer/lessons/1-speech-recognition/pi-microphone.md +++ b/translations/fr/6-consumer/lessons/1-speech-recognition/pi-microphone.md @@ -1,12 +1,3 @@ - # Configurez votre microphone et vos haut-parleurs - Raspberry Pi Dans cette partie de la leçon, vous allez ajouter un microphone et des haut-parleurs à votre Raspberry Pi. diff --git a/translations/fr/6-consumer/lessons/1-speech-recognition/pi-speech-to-text.md b/translations/fr/6-consumer/lessons/1-speech-recognition/pi-speech-to-text.md index 2a3256351..fd92e00ee 100644 --- a/translations/fr/6-consumer/lessons/1-speech-recognition/pi-speech-to-text.md +++ b/translations/fr/6-consumer/lessons/1-speech-recognition/pi-speech-to-text.md @@ -1,12 +1,3 @@ - # Conversion de la parole en texte - Raspberry Pi Dans cette partie de la leçon, vous allez écrire du code pour convertir la parole captée dans l'audio en texte en utilisant le service de reconnaissance vocale. diff --git a/translations/fr/6-consumer/lessons/1-speech-recognition/virtual-device-audio.md b/translations/fr/6-consumer/lessons/1-speech-recognition/virtual-device-audio.md index 67c9bd71c..73badb259 100644 --- a/translations/fr/6-consumer/lessons/1-speech-recognition/virtual-device-audio.md +++ b/translations/fr/6-consumer/lessons/1-speech-recognition/virtual-device-audio.md @@ -1,12 +1,3 @@ - # Capturer de l'audio - Appareil IoT virtuel Les bibliothèques Python que vous utiliserez plus tard dans cette leçon pour convertir la parole en texte disposent d'une capture audio intégrée sur Windows, macOS et Linux. Vous n'avez rien à faire ici. diff --git a/translations/fr/6-consumer/lessons/1-speech-recognition/virtual-device-microphone.md b/translations/fr/6-consumer/lessons/1-speech-recognition/virtual-device-microphone.md index 5259acf58..800e59e4c 100644 --- a/translations/fr/6-consumer/lessons/1-speech-recognition/virtual-device-microphone.md +++ b/translations/fr/6-consumer/lessons/1-speech-recognition/virtual-device-microphone.md @@ -1,12 +1,3 @@ - # Configurer votre microphone et vos haut-parleurs - Matériel IoT Virtuel Le matériel IoT virtuel utilisera un microphone et des haut-parleurs connectés à votre ordinateur. diff --git a/translations/fr/6-consumer/lessons/1-speech-recognition/virtual-device-speech-to-text.md b/translations/fr/6-consumer/lessons/1-speech-recognition/virtual-device-speech-to-text.md index 0a3d0e1a9..909868162 100644 --- a/translations/fr/6-consumer/lessons/1-speech-recognition/virtual-device-speech-to-text.md +++ b/translations/fr/6-consumer/lessons/1-speech-recognition/virtual-device-speech-to-text.md @@ -1,12 +1,3 @@ - # Conversion de la parole en texte - Appareil IoT virtuel Dans cette partie de la leçon, vous allez écrire du code pour convertir la parole captée par votre microphone en texte en utilisant le service de reconnaissance vocale. diff --git a/translations/fr/6-consumer/lessons/1-speech-recognition/wio-terminal-audio.md b/translations/fr/6-consumer/lessons/1-speech-recognition/wio-terminal-audio.md index ec96bd5bb..236713d5e 100644 --- a/translations/fr/6-consumer/lessons/1-speech-recognition/wio-terminal-audio.md +++ b/translations/fr/6-consumer/lessons/1-speech-recognition/wio-terminal-audio.md @@ -1,12 +1,3 @@ - # Capturer de l'audio - Wio Terminal Dans cette partie de la leçon, vous allez écrire du code pour capturer de l'audio sur votre Wio Terminal. La capture audio sera contrôlée par l'un des boutons situés sur le dessus du Wio Terminal. diff --git a/translations/fr/6-consumer/lessons/1-speech-recognition/wio-terminal-microphone.md b/translations/fr/6-consumer/lessons/1-speech-recognition/wio-terminal-microphone.md index 6dd241519..a7d64f816 100644 --- a/translations/fr/6-consumer/lessons/1-speech-recognition/wio-terminal-microphone.md +++ b/translations/fr/6-consumer/lessons/1-speech-recognition/wio-terminal-microphone.md @@ -1,12 +1,3 @@ - # Configurez votre microphone et vos haut-parleurs - Wio Terminal Dans cette partie de la leçon, vous allez ajouter des haut-parleurs à votre Wio Terminal. Le Wio Terminal dispose déjà d'un microphone intégré, qui peut être utilisé pour capturer la voix. diff --git a/translations/fr/6-consumer/lessons/1-speech-recognition/wio-terminal-speech-to-text.md b/translations/fr/6-consumer/lessons/1-speech-recognition/wio-terminal-speech-to-text.md index 925701373..fc191486a 100644 --- a/translations/fr/6-consumer/lessons/1-speech-recognition/wio-terminal-speech-to-text.md +++ b/translations/fr/6-consumer/lessons/1-speech-recognition/wio-terminal-speech-to-text.md @@ -1,12 +1,3 @@ - # Reconnaissance vocale - Wio Terminal Dans cette partie de la leçon, vous allez écrire du code pour convertir la parole captée dans l'audio en texte à l'aide du service de reconnaissance vocale. diff --git a/translations/fr/6-consumer/lessons/2-language-understanding/README.md b/translations/fr/6-consumer/lessons/2-language-understanding/README.md index 374fcbf7b..3ce181dfa 100644 --- a/translations/fr/6-consumer/lessons/2-language-understanding/README.md +++ b/translations/fr/6-consumer/lessons/2-language-understanding/README.md @@ -1,12 +1,3 @@ - # Comprendre le langage ![Un aperçu en sketchnote de cette leçon](../../../../../translated_images/fr/lesson-22.6148ea28500d9e00c396aaa2649935fb6641362c8f03d8e5e90a676977ab01dd.jpg) diff --git a/translations/fr/6-consumer/lessons/2-language-understanding/assignment.md b/translations/fr/6-consumer/lessons/2-language-understanding/assignment.md index c8fb4259b..7df6322fa 100644 --- a/translations/fr/6-consumer/lessons/2-language-understanding/assignment.md +++ b/translations/fr/6-consumer/lessons/2-language-understanding/assignment.md @@ -1,12 +1,3 @@ - # Annuler le minuteur ## Instructions diff --git a/translations/fr/6-consumer/lessons/3-spoken-feedback/README.md b/translations/fr/6-consumer/lessons/3-spoken-feedback/README.md index 58f0907ca..0f0238f3c 100644 --- a/translations/fr/6-consumer/lessons/3-spoken-feedback/README.md +++ b/translations/fr/6-consumer/lessons/3-spoken-feedback/README.md @@ -1,12 +1,3 @@ - # Régler un minuteur et fournir un retour vocal ![Un aperçu illustré de cette leçon](../../../../../translated_images/fr/lesson-23.f38483e1d4df4828990d3f02d60e46c978b075d384ae7cb4f7bab738e107c850.jpg) diff --git a/translations/fr/6-consumer/lessons/3-spoken-feedback/assignment.md b/translations/fr/6-consumer/lessons/3-spoken-feedback/assignment.md index 030ddd749..dbba72f91 100644 --- a/translations/fr/6-consumer/lessons/3-spoken-feedback/assignment.md +++ b/translations/fr/6-consumer/lessons/3-spoken-feedback/assignment.md @@ -1,12 +1,3 @@ - # Annuler le minuteur ## Instructions diff --git a/translations/fr/6-consumer/lessons/3-spoken-feedback/pi-text-to-speech.md b/translations/fr/6-consumer/lessons/3-spoken-feedback/pi-text-to-speech.md index daf6c3e6a..09796f6d3 100644 --- a/translations/fr/6-consumer/lessons/3-spoken-feedback/pi-text-to-speech.md +++ b/translations/fr/6-consumer/lessons/3-spoken-feedback/pi-text-to-speech.md @@ -1,12 +1,3 @@ - # Texte en parole - Raspberry Pi Dans cette partie de la leçon, vous allez écrire du code pour convertir du texte en parole en utilisant le service vocal. diff --git a/translations/fr/6-consumer/lessons/3-spoken-feedback/single-board-computer-set-timer.md b/translations/fr/6-consumer/lessons/3-spoken-feedback/single-board-computer-set-timer.md index e00094879..bd28d6a33 100644 --- a/translations/fr/6-consumer/lessons/3-spoken-feedback/single-board-computer-set-timer.md +++ b/translations/fr/6-consumer/lessons/3-spoken-feedback/single-board-computer-set-timer.md @@ -1,12 +1,3 @@ - # Configurer un minuteur - Matériel IoT virtuel et Raspberry Pi Dans cette partie de la leçon, vous allez appeler votre code sans serveur pour comprendre la parole et configurer un minuteur sur votre appareil IoT virtuel ou Raspberry Pi en fonction des résultats. diff --git a/translations/fr/6-consumer/lessons/3-spoken-feedback/virtual-device-text-to-speech.md b/translations/fr/6-consumer/lessons/3-spoken-feedback/virtual-device-text-to-speech.md index d44803be4..71580b96e 100644 --- a/translations/fr/6-consumer/lessons/3-spoken-feedback/virtual-device-text-to-speech.md +++ b/translations/fr/6-consumer/lessons/3-spoken-feedback/virtual-device-text-to-speech.md @@ -1,12 +1,3 @@ - # Texte en parole - Appareil IoT virtuel Dans cette partie de la leçon, vous allez écrire du code pour convertir du texte en parole en utilisant le service vocal. diff --git a/translations/fr/6-consumer/lessons/3-spoken-feedback/wio-terminal-set-timer.md b/translations/fr/6-consumer/lessons/3-spoken-feedback/wio-terminal-set-timer.md index d429fea18..43c4f7a73 100644 --- a/translations/fr/6-consumer/lessons/3-spoken-feedback/wio-terminal-set-timer.md +++ b/translations/fr/6-consumer/lessons/3-spoken-feedback/wio-terminal-set-timer.md @@ -1,12 +1,3 @@ - # Régler un minuteur - Wio Terminal Dans cette partie de la leçon, vous allez appeler votre code serverless pour comprendre la parole et régler un minuteur sur votre Wio Terminal en fonction des résultats. diff --git a/translations/fr/6-consumer/lessons/3-spoken-feedback/wio-terminal-text-to-speech.md b/translations/fr/6-consumer/lessons/3-spoken-feedback/wio-terminal-text-to-speech.md index b4a9a95a7..ac28f8d3f 100644 --- a/translations/fr/6-consumer/lessons/3-spoken-feedback/wio-terminal-text-to-speech.md +++ b/translations/fr/6-consumer/lessons/3-spoken-feedback/wio-terminal-text-to-speech.md @@ -1,12 +1,3 @@ - # Conversion de texte en parole - Wio Terminal Dans cette partie de la leçon, vous allez convertir du texte en parole pour fournir un retour vocal. diff --git a/translations/fr/6-consumer/lessons/4-multiple-language-support/README.md b/translations/fr/6-consumer/lessons/4-multiple-language-support/README.md index d59ac1c09..7604992f8 100644 --- a/translations/fr/6-consumer/lessons/4-multiple-language-support/README.md +++ b/translations/fr/6-consumer/lessons/4-multiple-language-support/README.md @@ -1,12 +1,3 @@ - # Prise en charge de plusieurs langues ![Un aperçu en sketchnote de cette leçon](../../../../../translated_images/fr/lesson-24.4246968ed058510ab275052e87ef9aa89c7b2f938915d103c605c04dc6cd5bb7.jpg) diff --git a/translations/fr/6-consumer/lessons/4-multiple-language-support/assignment.md b/translations/fr/6-consumer/lessons/4-multiple-language-support/assignment.md index 704935849..73983aa62 100644 --- a/translations/fr/6-consumer/lessons/4-multiple-language-support/assignment.md +++ b/translations/fr/6-consumer/lessons/4-multiple-language-support/assignment.md @@ -1,12 +1,3 @@ - # Construire un traducteur universel ## Instructions diff --git a/translations/fr/6-consumer/lessons/4-multiple-language-support/pi-translate-speech.md b/translations/fr/6-consumer/lessons/4-multiple-language-support/pi-translate-speech.md index 52d37be23..e35b49f1d 100644 --- a/translations/fr/6-consumer/lessons/4-multiple-language-support/pi-translate-speech.md +++ b/translations/fr/6-consumer/lessons/4-multiple-language-support/pi-translate-speech.md @@ -1,12 +1,3 @@ - # Traduire la parole - Raspberry Pi Dans cette partie de la leçon, vous allez écrire du code pour traduire du texte en utilisant le service de traduction. diff --git a/translations/fr/6-consumer/lessons/4-multiple-language-support/virtual-device-translate-speech.md b/translations/fr/6-consumer/lessons/4-multiple-language-support/virtual-device-translate-speech.md index 907d10e14..5ad95e9f0 100644 --- a/translations/fr/6-consumer/lessons/4-multiple-language-support/virtual-device-translate-speech.md +++ b/translations/fr/6-consumer/lessons/4-multiple-language-support/virtual-device-translate-speech.md @@ -1,12 +1,3 @@ - # Traduire la parole - Appareil IoT Virtuel Dans cette partie de la leçon, vous allez écrire du code pour traduire la parole en texte à l'aide du service de reconnaissance vocale, puis traduire le texte avec le service Translator avant de générer une réponse vocale. diff --git a/translations/fr/6-consumer/lessons/4-multiple-language-support/wio-terminal-translate-speech.md b/translations/fr/6-consumer/lessons/4-multiple-language-support/wio-terminal-translate-speech.md index 87a831053..c0502e084 100644 --- a/translations/fr/6-consumer/lessons/4-multiple-language-support/wio-terminal-translate-speech.md +++ b/translations/fr/6-consumer/lessons/4-multiple-language-support/wio-terminal-translate-speech.md @@ -1,12 +1,3 @@ - # Traduire le discours - Wio Terminal Dans cette partie de la leçon, vous allez écrire du code pour traduire du texte en utilisant le service de traduction. diff --git a/translations/fr/CODE_OF_CONDUCT.md b/translations/fr/CODE_OF_CONDUCT.md index efa052540..282a64747 100644 --- a/translations/fr/CODE_OF_CONDUCT.md +++ b/translations/fr/CODE_OF_CONDUCT.md @@ -1,12 +1,3 @@ - # Code de conduite Open Source de Microsoft Ce projet a adopté le [Code de conduite Open Source de Microsoft](https://opensource.microsoft.com/codeofconduct/). diff --git a/translations/fr/CONTRIBUTING.md b/translations/fr/CONTRIBUTING.md index 52afd1124..75b6fb7a4 100644 --- a/translations/fr/CONTRIBUTING.md +++ b/translations/fr/CONTRIBUTING.md @@ -1,12 +1,3 @@ - # Contribuer Ce projet accueille les contributions et suggestions. La plupart des contributions nécessitent que vous acceptiez un Accord de Licence de Contributeur (CLA) déclarant que vous avez le droit, et que vous accordez effectivement, les droits nécessaires pour utiliser votre contribution. Pour plus de détails, visitez https://cla.microsoft.com. diff --git a/translations/fr/README.md b/translations/fr/README.md index 6a729c74a..51898d6ca 100644 --- a/translations/fr/README.md +++ b/translations/fr/README.md @@ -1,15 +1,6 @@ - [![Licence GitHub](https://img.shields.io/github/license/microsoft/IoT-For-Beginners.svg)](https://github.com/microsoft/IoT-For-Beginners/blob/master/LICENSE) [![Contributeurs GitHub](https://img.shields.io/github/contributors/microsoft/IoT-For-Beginners.svg)](https://GitHub.com/microsoft/IoT-For-Beginners/graphs/contributors/) -[![Issues GitHub](https://img.shields.io/github/issues/microsoft/IoT-For-Beginners.svg)](https://GitHub.com/microsoft/IoT-For-Beginners/issues/) +[![Problèmes GitHub](https://img.shields.io/github/issues/microsoft/IoT-For-Beginners.svg)](https://GitHub.com/microsoft/IoT-For-Beginners/issues/) [![Pull requests GitHub](https://img.shields.io/github/issues-pr/microsoft/IoT-For-Beginners.svg)](https://GitHub.com/microsoft/IoT-For-Beginners/pulls/) [![PRs Bienvenus](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com) @@ -17,88 +8,88 @@ CO_OP_TRANSLATOR_METADATA: [![Forks GitHub](https://img.shields.io/github/forks/microsoft/IoT-For-Beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/IoT-For-Beginners/network/) [![Étoiles GitHub](https://img.shields.io/github/stars/microsoft/IoT-For-Beginners.svg?style=social&label=Star)](https://GitHub.com/microsoft/IoT-For-Beginners/stargazers/) -### Rejoignez la Communauté Azure AI Foundry +### Rejoignez la communauté Azure AI Foundry -Si vous êtes bloqué ou avez des questions sur la création d’applications IA. Rejoignez d’autres apprenants et développeurs expérimentés dans des discussions sur MCP. C’est une communauté de soutien où les questions sont les bienvenues et où les connaissances sont librement partagées. +Si vous êtes bloqué ou avez des questions sur la création d'applications IA. Rejoignez d'autres apprenants et des développeurs expérimentés dans les discussions sur MCP. C'est une communauté bienveillante où les questions sont les bienvenues et le savoir partagé librement. [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) -Si vous avez des retours produit ou des erreurs lors de la création, visitez : +Si vous avez des retours sur le produit ou des erreurs lors de la création, rendez-vous sur : -[![Forum développeur Microsoft Foundry](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum) +[![Forum développeurs Microsoft Foundry](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum) Suivez ces étapes pour commencer à utiliser ces ressources : -1. **Forkez le dépôt** : Cliquez sur [![Forks GitHub](https://img.shields.io/github/forks/microsoft/IoT-For-Beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/IoT-For-Beginners/fork) +1. **Créez un Fork du dépôt** : Cliquez [![Forks GitHub](https://img.shields.io/github/forks/microsoft/IoT-For-Beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/IoT-For-Beginners/fork) 2. **Clonez le dépôt** : `git clone https://github.com/microsoft/IoT-For-Beginners.git` -3. [**Rejoignez le Discord Microsoft Foundry et rencontrez des experts et autres développeurs**](https://discord.com/invite/ByRwuEEgH4) +3. [**Rejoignez le Discord Microsot Foundry et rencontrez des experts et d'autres développeurs**](https://discord.com/invite/ByRwuEEgH4) -### 🌐 Support Multilingue +### 🌐 Support multilingue -#### Supporté via GitHub Action (Automatisé & Toujours à jour) +#### Pris en charge via GitHub Action (Automatisé & toujours à jour) -[Arabe](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgare](../bg/README.md) | [Birman (Myanmar)](../my/README.md) | [Chinois (Simplifié)](../zh/README.md) | [Chinois (Traditionnel, Hong Kong)](../hk/README.md) | [Chinois (Traditionnel, Macao)](../mo/README.md) | [Chinois (Traditionnel, Taïwan)](../tw/README.md) | [Croate](../hr/README.md) | [Tchèque](../cs/README.md) | [Danois](../da/README.md) | [Néerlandais](../nl/README.md) | [Estonien](../et/README.md) | [Finnois](../fi/README.md) | [Français](./README.md) | [Allemand](../de/README.md) | [Grec](../el/README.md) | [Hébreu](../he/README.md) | [Hindi](../hi/README.md) | [Hongrois](../hu/README.md) | [Indonésien](../id/README.md) | [Italien](../it/README.md) | [Japonais](../ja/README.md) | [Kannada](../kn/README.md) | [Coréen](../ko/README.md) | [Lituanien](../lt/README.md) | [Malais](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Népalais](../ne/README.md) | [Pidgin nigérian](../pcm/README.md) | [Norvégien](../no/README.md) | [Persan (Farsi)](../fa/README.md) | [Polonais](../pl/README.md) | [Portugais (Brésil)](../br/README.md) | [Portugais (Portugal)](../pt/README.md) | [Pendjabi (Gurmukhî)](../pa/README.md) | [Roumain](../ro/README.md) | [Russe](../ru/README.md) | [Serbe (Cyrillique)](../sr/README.md) | [Slovaque](../sk/README.md) | [Slovène](../sl/README.md) | [Espagnol](../es/README.md) | [Swahili](../sw/README.md) | [Suédois](../sv/README.md) | [Tagalog (Philippin)](../tl/README.md) | [Tamoul](../ta/README.md) | [Télougou](../te/README.md) | [Thaï](../th/README.md) | [Turc](../tr/README.md) | [Ukrainien](../uk/README.md) | [Ourdou](../ur/README.md) | [Vietnamien](../vi/README.md) +[Arabe](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgare](../bg/README.md) | [Birman (Myanmar)](../my/README.md) | [Chinois (Simplifié)](../zh-CN/README.md) | [Chinois (Traditionnel, Hong Kong)](../zh-HK/README.md) | [Chinois (Traditionnel, Macao)](../zh-MO/README.md) | [Chinois (Traditionnel, Taïwan)](../zh-TW/README.md) | [Croate](../hr/README.md) | [Tchèque](../cs/README.md) | [Danois](../da/README.md) | [Néerlandais](../nl/README.md) | [Estonien](../et/README.md) | [Finnois](../fi/README.md) | [Français](./README.md) | [Allemand](../de/README.md) | [Grec](../el/README.md) | [Hébreu](../he/README.md) | [Hindi](../hi/README.md) | [Hongrois](../hu/README.md) | [Indonésien](../id/README.md) | [Italien](../it/README.md) | [Japonais](../ja/README.md) | [Kannada](../kn/README.md) | [Coréen](../ko/README.md) | [Lituanien](../lt/README.md) | [Malais](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Népalais](../ne/README.md) | [Pidgin nigérian](../pcm/README.md) | [Norvégien](../no/README.md) | [Persan (Farsi)](../fa/README.md) | [Polonais](../pl/README.md) | [Portugais (Brésil)](../pt-BR/README.md) | [Portugais (Portugal)](../pt-PT/README.md) | [Pendjabi (Gurmukhi)](../pa/README.md) | [Roumain](../ro/README.md) | [Russe](../ru/README.md) | [Serbe (cyrillique)](../sr/README.md) | [Slovaque](../sk/README.md) | [Slovène](../sl/README.md) | [Espagnol](../es/README.md) | [Swahili](../sw/README.md) | [Suédois](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamoul](../ta/README.md) | [Télougou](../te/README.md) | [Thaï](../th/README.md) | [Turc](../tr/README.md) | [Ukrainien](../uk/README.md) | [Ourdou](../ur/README.md) | [Vietnamien](../vi/README.md) > **Préférez cloner localement ?** -> Ce dépôt inclut plus de 50 traductions linguistiques ce qui augmente significativement la taille du téléchargement. Pour cloner sans les traductions, utilisez le checkout sparse : +> Ce dépôt comprend plus de 50 traductions, ce qui augmente considérablement la taille du téléchargement. Pour cloner sans les traductions, utilisez le sparse checkout : > ```bash > git clone --filter=blob:none --sparse https://github.com/microsoft/IoT-For-Beginners.git > cd IoT-For-Beginners > git sparse-checkout set --no-cone '/*' '!translations' '!translated_images' > ``` -> Cela vous fournit tout ce dont vous avez besoin pour compléter le cours avec un téléchargement bien plus rapide. +> Cela vous donne tout ce dont vous avez besoin pour compléter le cours avec un téléchargement beaucoup plus rapide. # IoT pour débutants - Un programme -Les Azure Cloud Advocates chez Microsoft ont le plaisir de proposer un programme de 12 semaines, 24 leçons entièrement dédié aux bases de l’IoT. Chaque leçon inclut des quiz avant et après la leçon, des instructions écrites pour compléter la leçon, une solution, un devoir et plus encore. Notre pédagogie basée sur des projets vous permet d’apprendre en construisant, une méthode prouvée pour assimiler de nouvelles compétences. +Les promoteurs cloud Azure chez Microsoft ont le plaisir de proposer un programme de 12 semaines, comprenant 24 leçons, consacrées aux bases de l'IoT. Chaque leçon inclut des quiz avant et après la leçon, des instructions écrites pour réaliser la leçon, une solution, un devoir et plus encore. Notre pédagogie basée sur des projets vous permet d'apprendre en construisant, une méthode éprouvée pour que les nouvelles compétences "collent". -Les projets couvrent le parcours de la nourriture de la ferme à la table. Cela inclut l’agriculture, la logistique, la fabrication, le commerce de détail et le consommateur – toutes des industries populaires pour les dispositifs IoT. +Les projets couvrent le parcours des aliments de la ferme à la table. Cela comprend l'agriculture, la logistique, la fabrication, la vente au détail et le consommateur - autant de domaines d'industrie populaires pour les appareils IoT. -![Une feuille de route du cours montrant 24 leçons couvrant introduction, agriculture, transport, transformation, commerce de détail et cuisine](../../translated_images/fr/Roadmap.bb1dec285dda0eda.webp) +![Une feuille de route du cours montrant 24 leçons couvrant introduction, agriculture, transport, transformation, vente au détail et cuisine](../../translated_images/fr/Roadmap.bb1dec285dda0eda.webp) -> Schéma réalisé par [Nitya Narasimhan](https://github.com/nitya). Cliquez sur l’image pour une version agrandie. +> Sketchnote par [Nitya Narasimhan](https://github.com/nitya). Cliquez sur l'image pour une version plus grande. -**Un grand merci à nos auteurs [Jen Fox](https://github.com/jenfoxbot), [Jen Looper](https://github.com/jlooper), [Jim Bennett](https://github.com/jimbobbennett), et à notre artiste sketchnote [Nitya Narasimhan](https://github.com/nitya).** +**Un grand merci à nos auteurs [Jen Fox](https://github.com/jenfoxbot), [Jen Looper](https://github.com/jlooper), [Jim Bennett](https://github.com/jimbobbennett), et notre artiste sketchnote [Nitya Narasimhan](https://github.com/nitya).** -**Merci également à notre équipe d’[Ambassadeurs Étudiants Microsoft Learn](https://studentambassadors.microsoft.com?WT.mc_id=academic-17441-jabenn) qui ont relu et traduit ce programme – [Aditya Garg](https://github.com/AdityaGarg00), [Anurag Sharma](https://github.com/Anurag-0-1-A), [Arpita Das](https://github.com/Arpiiitaaa), [Aryan Jain](https://www.linkedin.com/in/aryan-jain-47a4a1145/), [Bhavesh Suneja](https://github.com/EliteWarrior315), [Faith Hunja](https://faithhunja.github.io/), [Lateefah Bello](https://www.linkedin.com/in/lateefah-bello/), [Manvi Jha](https://github.com/Severus-Matthew), [Mireille Tan](https://www.linkedin.com/in/mireille-tan-a4834819a/), [Mohammad Iftekher (Iftu) Ebne Jalal](https://github.com/Iftu119), [Mohammad Zulfikar](https://github.com/mohzulfikar), [Priyanshu Srivastav](https://www.linkedin.com/in/priyanshu-srivastav-b067241ba), [Thanmai Gowducheruvu](https://github.com/innovation-platform), et [Zina Kamel](https://www.linkedin.com/in/zina-kamel/).** +**Merci également à notre équipe d’[ambassadeurs étudiants Microsoft Learn](https://studentambassadors.microsoft.com?WT.mc_id=academic-17441-jabenn) qui ont revu et traduit ce programme - [Aditya Garg](https://github.com/AdityaGarg00), [Anurag Sharma](https://github.com/Anurag-0-1-A), [Arpita Das](https://github.com/Arpiiitaaa), [Aryan Jain](https://www.linkedin.com/in/aryan-jain-47a4a1145/), [Bhavesh Suneja](https://github.com/EliteWarrior315), [Faith Hunja](https://faithhunja.github.io/), [Lateefah Bello](https://www.linkedin.com/in/lateefah-bello/), [Manvi Jha](https://github.com/Severus-Matthew), [Mireille Tan](https://www.linkedin.com/in/mireille-tan-a4834819a/), [Mohammad Iftekher (Iftu) Ebne Jalal](https://github.com/Iftu119), [Mohammad Zulfikar](https://github.com/mohzulfikar), [Priyanshu Srivastav](https://www.linkedin.com/in/priyanshu-srivastav-b067241ba), [Thanmai Gowducheruvu](https://github.com/innovation-platform), et [Zina Kamel](https://www.linkedin.com/in/zina-kamel/).** Rencontrez l’équipe ! -[![Vidéo promotionnelle](../../images/IOT.gif)](https://youtu.be/-wippUJRi5k) +[![Vidéo promo](../../images/IOT.gif)](https://youtu.be/-wippUJRi5k) **Gif par** [Mohit Jaisal](https://linkedin.com/in/mohitjaisal) -> 🎥 Cliquez sur l’image ci-dessus pour voir une vidéo à propos du projet ! +> 🎥 Cliquez sur l'image ci-dessus pour une vidéo sur le projet ! -> **Enseignants**, nous avons [inclus quelques suggestions](for-teachers.md) sur la façon d’utiliser ce programme. Si vous souhaitez créer vos propres leçons, nous avons aussi inclus un [modèle de leçon](lesson-template/README.md). +> **Professeurs**, nous avons [inclus quelques suggestions](for-teachers.md) sur la manière d’utiliser ce programme. Si vous souhaitez créer vos propres leçons, nous avons également inclus un [modèle de leçon](lesson-template/README.md). -> **[Étudiants](https://aka.ms/student-page)**, pour utiliser ce programme de manière autonome, forkez l’intégralité du dépôt et complétez les exercices par vous-mêmes, en commençant par un quiz avant le cours, puis en lisant la leçon et en accomplissant le reste des activités. Essayez de créer les projets en comprenant les leçons plutôt qu’en copiant le code solution ; cependant ce code est disponible dans les dossiers /solutions dans chaque leçon orientée projet. Une autre idée serait de former un groupe d’étude avec des amis et de parcourir le contenu ensemble. Pour une étude plus approfondie, nous recommandons [Microsoft Learn](https://docs.microsoft.com/users/jimbobbennett/collections/ke2ehd351jopwr?WT.mc_id=academic-17441-jabenn). +> **[Étudiants](https://aka.ms/student-page)**, pour utiliser ce programme par vous-même, faites un fork du dépôt complet et complétez les exercices par vous-même, en commençant par un quiz avant la leçon, puis en lisant la leçon et en réalisant le reste des activités. Essayez de créer les projets en comprenant les leçons plutôt qu’en copiant le code solution ; cependant, ce code est disponible dans les dossiers /solutions de chaque leçon orientée projet. Une autre idée serait de former un groupe d’étude avec des amis et de parcourir le contenu ensemble. Pour approfondir, nous recommandons [Microsoft Learn](https://docs.microsoft.com/users/jimbobbennett/collections/ke2ehd351jopwr?WT.mc_id=academic-17441-jabenn). Pour un aperçu vidéo de ce cours, regardez cette vidéo : -[![Vidéo promotionnelle](https://img.youtube.com/vi/bccEMm8gRuc/0.jpg)](https://youtube.com/watch?v=bccEMm8gRuc "Vidéo promotionnelle") +[![Vidéo promo](https://img.youtube.com/vi/bccEMm8gRuc/0.jpg)](https://youtube.com/watch?v=bccEMm8gRuc "Vidéo promo") -> 🎥 Cliquez sur l’image ci-dessus pour voir une vidéo à propos du projet ! +> 🎥 Cliquez sur l'image ci-dessus pour une vidéo sur le projet ! ## Pédagogie -Nous avons choisi deux principes pédagogiques lors de la création de ce programme : garantir qu’il soit basé sur des projets et qu’il inclue des quiz fréquents. À la fin de cette série, les étudiants auront construit un système de surveillance et d’arrosage de plante, un traceur de véhicule, une installation d’usine intelligente pour suivre et vérifier la nourriture, et un minuteur de cuisson contrôlé par la voix, et auront appris les bases de l’Internet des Objets incluant comment écrire du code pour dispositifs, se connecter au cloud, analyser la télémétrie et exécuter l’IA en périphérie. +Nous avons choisi deux principes pédagogiques lors de la création de ce programme : faire en sorte qu’il soit basé sur des projets et qu’il comprenne des quiz fréquents. À la fin de cette série, les étudiants auront construit un système de surveillance et d'arrosage des plantes, un traceur de véhicule, une installation d’usine intelligente pour suivre et vérifier l’alimentation, un minuteur de cuisine contrôlé par la voix, et auront appris les bases de l’Internet des Objets, y compris la rédaction du code des dispositifs, la connexion au cloud, l’analyse des télémétries et l’exécution de l’IA en périphérie. -En veillant à ce que le contenu soit aligné avec des projets, le processus devient plus engageant pour les étudiants et la rétention des concepts sera améliorée. +En veillant à ce que le contenu soit aligné avec des projets, le processus devient plus engageant pour les étudiants et la rétention des concepts est augmentée. -De plus, un quiz à faible enjeu avant un cours établit l’intention de l’étudiant envers l’apprentissage d’un sujet, tandis qu’un second quiz après le cours assure une meilleure rétention. Ce programme a été conçu pour être flexible et amusant et peut être suivi en totalité ou en partie. Les projets commencent petits et deviennent de plus en plus complexes d’ici la fin du cycle de 12 semaines. +De plus, un quiz à faible enjeu avant un cours oriente l’intention de l’étudiant vers l’apprentissage d’un sujet, tandis qu’un second quiz après le cours assure une retention supplémentaire. Ce programme a été conçu pour être flexible et ludique, et peut être suivi en totalité ou en partie. Les projets commencent petits et deviennent de plus en plus complexes à la fin du cycle de 12 semaines. -Chaque projet est basé autour de matériel réel disponible pour les étudiants et amateurs. Chaque projet examine le domaine spécifique du projet, fournissant les connaissances de base pertinentes. Pour être un développeur performant, il est utile de comprendre le domaine dans lequel vous résolvez des problèmes, fournir ces connaissances de base permet aux étudiants de réfléchir à leurs solutions IoT et à leurs apprentissages dans le contexte du type de problème réel qu’ils pourraient être amenés à résoudre en tant que développeur IoT. Les étudiants apprennent le « pourquoi » des solutions qu’ils construisent, et se familiarisent avec l’utilisateur final. +Chaque projet est basé sur du matériel réel disponible pour les étudiants et les passionnés. Chaque projet explore le domaine spécifique du projet, fournissant des connaissances de base pertinentes. Pour être un développeur réussi, il est utile de comprendre le domaine dans lequel vous résolvez des problèmes. Fournir ces connaissances de base permet aux étudiants de réfléchir à leurs solutions et apprentissages IoT dans le contexte du type de problème réel qu’ils pourraient être amenés à résoudre en tant que développeur IoT. Les étudiants apprennent le « pourquoi » des solutions qu’ils construisent, et développent une appréciation de l’utilisateur final. ## Matériel -Nous avons deux choix de matériel IoT à utiliser pour les projets selon les préférences personnelles, les connaissances ou préférences en langage de programmation, les objectifs d’apprentissage et la disponibilité. Nous avons également fourni une version de « matériel virtuel » pour ceux qui n’ont pas accès au matériel, ou qui veulent en apprendre plus avant de s’engager dans un achat. Vous pouvez en lire davantage et trouver une « liste de courses » sur la [page matériel](./hardware.md), incluant des liens pour acheter des kits complets auprès de nos amis de Seeed Studio. -> 💁 Retrouvez nos directives [Code de conduite](CODE_OF_CONDUCT.md), [Contribution](CONTRIBUTING.md) et [Traduction](TRANSLATIONS.md). Nous accueillons vos retours constructifs ! +Nous proposons deux choix de matériel IoT pour les projets selon la préférence personnelle, la connaissance ou préférence du langage de programmation, les objectifs d’apprentissage et la disponibilité. Nous avons également fourni une version « matériel virtuel » pour ceux qui n’ont pas accès au matériel ou qui souhaitent en apprendre davantage avant de s’engager dans un achat. Vous pouvez en lire plus et trouver une « liste de courses » sur la [page matériel](./hardware.md), incluant des liens pour acheter des kits complets auprès de nos amis de Seeed Studio. +> 💁 Retrouvez notre [Code de conduite](CODE_OF_CONDUCT.md), [Contribuer](CONTRIBUTING.md) et [Traduction](TRANSLATIONS.md) guides. Nous apprécions vos retours constructifs ! > -> 🔧 Vous rencontrez des problèmes ? Consultez notre [Guide de dépannage](TROUBLESHOOTING.md) pour des solutions aux problèmes courants. +> 🔧 Vous avez des problèmes ? Consultez notre [Guide de dépannage](TROUBLESHOOTING.md) pour des solutions aux problèmes courants. ## Chaque leçon comprend : @@ -106,87 +97,87 @@ Nous avons deux choix de matériel IoT à utiliser pour les projets selon les pr - vidéo complémentaire optionnelle - quiz d'échauffement avant la leçon - leçon écrite -- pour les leçons basées sur un projet, des guides étape par étape pour construire le projet -- tests de connaissances +- pour les leçons basées sur un projet, des guides étape par étape sur la façon de réaliser le projet +- contrôles de connaissances - un défi - lecture complémentaire - devoir - [quiz post-leçon](https://ff-quizzes.netlify.app/en/) -> **Une note à propos des quiz** : Tous les quiz sont contenus dans le dossier quiz-app, pour un total de 48 quiz avec trois questions chacun. Ils sont liés depuis les leçons mais l'application de quiz peut être exécutée localement ou déployée sur Azure ; suivez les instructions dans le dossier `quiz-app`. Ils sont progressivement localisés. +> **Une note sur les quiz** : Tous les quiz se trouvent dans le dossier quiz-app, pour un total de 48 quiz comprenant chacun trois questions. Ils sont liés depuis les leçons mais l’application de quiz peut être exécutée localement ou déployée sur Azure ; suivez les instructions dans le dossier `quiz-app`. Ils sont progressivement localisés. ## Leçons -| | Nom du projet | Concepts enseignés | Objectifs d'apprentissage | Leçon liée | -| :---: | :--------------------------------------: | :--------------------------------------------------------------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------: | -| 01 | [Premiers pas](./1-getting-started/README.md) | Introduction à l’IoT | Apprenez les principes de base de l’IoT et les éléments fondamentaux des solutions IoT tels que les capteurs et les services cloud tout en configurant votre premier appareil IoT | [Introduction à l’IoT](./1-getting-started/lessons/1-introduction-to-iot/README.md) | -| 02 | [Premiers pas](./1-getting-started/README.md) | Approfondissement de l’IoT | Apprenez davantage sur les composants d’un système IoT, ainsi que sur les microcontrôleurs et les ordinateurs monocartes | [Approfondissement de l’IoT](./1-getting-started/lessons/2-deeper-dive/README.md) | -| 03 | [Premiers pas](./1-getting-started/README.md) | Interaction avec le monde physique via capteurs et actionneurs | Apprenez à utiliser des capteurs pour recueillir des données du monde physique et des actionneurs pour envoyer des réactions, tout en construisant une veilleuse | [Interaction avec le monde physique via capteurs et actionneurs](./1-getting-started/lessons/3-sensors-and-actuators/README.md) | -| 04 | [Premiers pas](./1-getting-started/README.md) | Connectez votre appareil à Internet | Apprenez comment connecter un appareil IoT à Internet pour envoyer et recevoir des messages en connectant votre veilleuse à un courtier MQTT | [Connecter votre appareil à Internet](./1-getting-started/lessons/4-connect-internet/README.md) | -| 05 | [Ferme](./2-farm/README.md) | Prédire la croissance des plantes | Apprenez à prédire la croissance des plantes en utilisant les données de température capturées par un appareil IoT | [Prédire la croissance des plantes](./2-farm/lessons/1-predict-plant-growth/README.md) | -| 06 | [Ferme](./2-farm/README.md) | Détecter l’humidité du sol | Apprenez à détecter l’humidité du sol et à calibrer un capteur d’humidité du sol | [Détecter l’humidité du sol](./2-farm/lessons/2-detect-soil-moisture/README.md) | -| 07 | [Ferme](./2-farm/README.md) | Arrosage automatisé des plantes | Apprenez à automatiser et minuter l’arrosage en utilisant un relais et MQTT | [Arrosage automatisé des plantes](./2-farm/lessons/3-automated-plant-watering/README.md) | -| 08 | [Ferme](./2-farm/README.md) | Migrer votre plante vers le cloud | Découvrez le cloud et les services IoT hébergés dans le cloud et comment connecter votre plante à l’un d’eux au lieu d’un courtier MQTT public | [Migrer votre plante vers le cloud](./2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md) | -| 09 | [Ferme](./2-farm/README.md) | Migrer votre logique d’application vers le cloud | Apprenez comment écrire une logique d’application dans le cloud qui réagit aux messages IoT | [Migrer votre logique d’application vers le cloud](./2-farm/lessons/5-migrate-application-to-the-cloud/README.md) | -| 10 | [Ferme](./2-farm/README.md) | Sécuriser votre plante | Apprenez la sécurité en IoT et comment protéger votre plante avec des clés et des certificats | [Sécuriser votre plante](./2-farm/lessons/6-keep-your-plant-secure/README.md) | -| 11 | [Transport](./3-transport/README.md) | Suivi de localisation | Apprenez le suivi GPS de localisation pour les appareils IoT | [Suivi de localisation](./3-transport/lessons/1-location-tracking/README.md) | -| 12 | [Transport](./3-transport/README.md) | Stocker les données de localisation | Apprenez à stocker des données IoT pour les visualiser ou les analyser ultérieurement | [Stocker les données de localisation](./3-transport/lessons/2-store-location-data/README.md) | -| 13 | [Transport](./3-transport/README.md) | Visualiser les données de localisation | Découvrez comment visualiser les données de localisation sur une carte et comment les cartes représentent le monde réel en 3D dans 2 dimensions | [Visualiser les données de localisation](./3-transport/lessons/3-visualize-location-data/README.md) | -| 14 | [Transport](./3-transport/README.md) | Géorepérages | Découvrez les géorepérages et comment ils peuvent être utilisés pour alerter lorsque des véhicules dans la chaîne d’approvisionnement sont proches de leur destination | [Géorepérages](./3-transport/lessons/4-geofences/README.md) | -| 15 | [Fabrication](./4-manufacturing/README.md) | Former un détecteur de qualité de fruits | Apprenez à former un classificateur d'images dans le cloud pour détecter la qualité des fruits | [Former un détecteur de qualité de fruits](./4-manufacturing/lessons/1-train-fruit-detector/README.md) | -| 16 | [Fabrication](./4-manufacturing/README.md) | Vérifier la qualité des fruits depuis un appareil IoT | Découvrez comment utiliser votre détecteur de qualité des fruits depuis un appareil IoT | [Vérifier la qualité des fruits depuis un appareil IoT](./4-manufacturing/lessons/2-check-fruit-from-device/README.md) | -| 17 | [Fabrication](./4-manufacturing/README.md) | Exécuter votre détecteur de fruits en périphérie | Apprenez à exécuter votre détecteur de fruits sur un appareil IoT en périphérie | [Exécuter votre détecteur de fruits en périphérie](./4-manufacturing/lessons/3-run-fruit-detector-edge/README.md) | -| 18 | [Fabrication](./4-manufacturing/README.md) | Déclencher la détection de qualité des fruits via un capteur | Apprenez à déclencher la détection de qualité des fruits à partir d'un capteur | [Déclencher la détection de qualité des fruits via un capteur](./4-manufacturing/lessons/4-trigger-fruit-detector/README.md) | -| 19 | [Commerce](./5-retail/README.md) | Former un détecteur de stock | Apprenez à utiliser la détection d’objets pour former un détecteur de stock afin de compter le stock dans un magasin | [Former un détecteur de stock](./5-retail/lessons/1-train-stock-detector/README.md) | -| 20 | [Commerce](./5-retail/README.md) | Vérifier le stock depuis un appareil IoT | Apprenez à vérifier le stock depuis un appareil IoT en utilisant un modèle de détection d’objets | [Vérifier le stock depuis un appareil IoT](./5-retail/lessons/2-check-stock-device/README.md) | -| 21 | [Consommateur](./6-consumer/README.md) | Reconnaître la parole avec un appareil IoT | Apprenez à reconnaître la parole depuis un appareil IoT pour construire un minuteur intelligent | [Reconnaître la parole avec un appareil IoT](./6-consumer/lessons/1-speech-recognition/README.md) | -| 22 | [Consommateur](./6-consumer/README.md) | Comprendre la langue | Apprenez à comprendre des phrases parlées à un appareil IoT | [Comprendre la langue](./6-consumer/lessons/2-language-understanding/README.md) | -| 23 | [Consommateur](./6-consumer/README.md) | Régler un minuteur et fournir un retour vocal | Apprenez à régler un minuteur sur un appareil IoT et donner un retour vocal lorsque le minuteur est réglé et lorsqu’il se termine | [Régler un minuteur et fournir un retour vocal](./6-consumer/lessons/3-spoken-feedback/README.md) | -| 24 | [Consommateur](./6-consumer/README.md) | Supporter plusieurs langues | Apprenez à supporter plusieurs langues, aussi bien dans la compréhension que dans les réponses de votre minuteur intelligent | [Supporter plusieurs langues](./6-consumer/lessons/4-multiple-language-support/README.md) | +| | Nom du projet | Concepts enseignés | Objectifs d’apprentissage | Leçon liée | +| :---: | :------------------------------------: | :-------------------------------------------------------------: | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------: | +| 01 | [Prise en main](./1-getting-started/README.md) | Introduction à l’IoT | Apprenez les principes de base de l’IoT ainsi que les composants de base des solutions IoT telles que les capteurs et les services cloud en configurant votre premier appareil IoT | [Introduction à l’IoT](./1-getting-started/lessons/1-introduction-to-iot/README.md) | +| 02 | [Prise en main](./1-getting-started/README.md) | Approfondissement de l’IoT | Approfondissez votre connaissance des composants d’un système IoT, ainsi que des microcontrôleurs et des ordinateurs monocartes | [Approfondissement de l’IoT](./1-getting-started/lessons/2-deeper-dive/README.md) | +| 03 | [Prise en main](./1-getting-started/README.md) | Interactions avec le monde physique via capteurs et actionneurs | Découvrez les capteurs pour collecter des données du monde physique, et les actionneurs pour envoyer des retours, tout en construisant une veilleuse | [Interactions avec le monde physique via capteurs et actionneurs](./1-getting-started/lessons/3-sensors-and-actuators/README.md) | +| 04 | [Prise en main](./1-getting-started/README.md) | Connecter votre appareil à Internet | Apprenez comment connecter un appareil IoT à Internet pour envoyer et recevoir des messages en connectant votre veilleuse à un courtier MQTT | [Connecter votre appareil à Internet](./1-getting-started/lessons/4-connect-internet/README.md) | +| 05 | [Ferme](./2-farm/README.md) | Prédire la croissance des plantes | Apprenez à prédire la croissance des plantes à l’aide de données de température capturées par un appareil IoT | [Prédire la croissance des plantes](./2-farm/lessons/1-predict-plant-growth/README.md) | +| 06 | [Ferme](./2-farm/README.md) | Détecter l’humidité du sol | Apprenez à détecter l’humidité du sol et à calibrer un capteur d’humidité du sol | [Détecter l’humidité du sol](./2-farm/lessons/2-detect-soil-moisture/README.md) | +| 07 | [Ferme](./2-farm/README.md) | Arrosage automatique des plantes | Apprenez à automatiser et minuter l’arrosage en utilisant un relais et MQTT | [Arrosage automatique des plantes](./2-farm/lessons/3-automated-plant-watering/README.md) | +| 08 | [Ferme](./2-farm/README.md) | Migrer votre plante vers le cloud | Découvrez le cloud et les services IoT hébergés dans le cloud et comment connecter votre plante à l’un d’eux au lieu d’un courtier MQTT public | [Migrer votre plante vers le cloud](./2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md) | +| 09 | [Ferme](./2-farm/README.md) | Migrer votre logique applicative vers le cloud | Apprenez à écrire une logique applicative dans le cloud qui répond aux messages IoT | [Migrer votre logique applicative vers le cloud](./2-farm/lessons/5-migrate-application-to-the-cloud/README.md) | +| 10 | [Ferme](./2-farm/README.md) | Protéger votre plante | Apprenez la sécurité appliquée à l’IoT et comment sécuriser votre plante avec des clés et des certificats | [Protéger votre plante](./2-farm/lessons/6-keep-your-plant-secure/README.md) | +| 11 | [Transport](./3-transport/README.md) | Suivi de localisation | Découvrez le suivi de localisation GPS pour appareils IoT | [Suivi de localisation](./3-transport/lessons/1-location-tracking/README.md) | +| 12 | [Transport](./3-transport/README.md) | Stocker les données de localisation | Apprenez à stocker les données IoT pour qu’elles soient visualisées ou analysées ultérieurement | [Stocker les données de localisation](./3-transport/lessons/2-store-location-data/README.md) | +| 13 | [Transport](./3-transport/README.md) | Visualiser les données de localisation | Découvrez la visualisation des données de localisation sur une carte et comment les cartes représentent le monde réel 3D en 2 dimensions | [Visualiser les données de localisation](./3-transport/lessons/3-visualize-location-data/README.md) | +| 14 | [Transport](./3-transport/README.md) | Géorepérage | Découvrez les géorepérages et comment ils peuvent être utilisés pour alerter lorsque des véhicules dans la chaîne d’approvisionnement sont proches de leur destination | [Géorepérage](./3-transport/lessons/4-geofences/README.md) | +| 15 | [Fabrication](./4-manufacturing/README.md) | Entraîner un détecteur de qualité de fruit | Découvrez comment entraîner un classificateur d’images dans le cloud pour détecter la qualité des fruits | [Entraîner un détecteur de qualité de fruit](./4-manufacturing/lessons/1-train-fruit-detector/README.md) | +| 16 | [Fabrication](./4-manufacturing/README.md) | Vérifier la qualité des fruits avec un appareil IoT | Apprenez à utiliser votre détecteur de qualité des fruits à partir d’un appareil IoT | [Vérifier la qualité des fruits avec un appareil IoT](./4-manufacturing/lessons/2-check-fruit-from-device/README.md) | +| 17 | [Fabrication](./4-manufacturing/README.md) | Exécuter votre détecteur de fruits en périphérie | Découvrez l’exécution de votre détecteur de fruits sur un appareil IoT en périphérie | [Exécuter votre détecteur de fruits en périphérie](./4-manufacturing/lessons/3-run-fruit-detector-edge/README.md) | +| 18 | [Fabrication](./4-manufacturing/README.md) | Déclencher la détection de qualité des fruits par un capteur | Apprenez à déclencher la détection de qualité des fruits par un capteur | [Déclencher la détection de qualité des fruits par un capteur](./4-manufacturing/lessons/4-trigger-fruit-detector/README.md) | +| 19 | [Commerce](./5-retail/README.md) | Entraîner un détecteur de stock | Apprenez à utiliser la détection d’objets pour entraîner un détecteur de stock afin de compter le stock dans un magasin | [Entraîner un détecteur de stock](./5-retail/lessons/1-train-stock-detector/README.md) | +| 20 | [Commerce](./5-retail/README.md) | Vérifier le stock à partir d’un appareil IoT | Apprenez à vérifier le stock à partir d’un appareil IoT utilisant un modèle de détection d’objets | [Vérifier le stock à partir d’un appareil IoT](./5-retail/lessons/2-check-stock-device/README.md) | +| 21 | [Consommateur](./6-consumer/README.md) | Reconnaître la parole avec un appareil IoT | Apprenez à reconnaître la parole depuis un appareil IoT pour construire un minuteur intelligent | [Reconnaître la parole avec un appareil IoT](./6-consumer/lessons/1-speech-recognition/README.md) | +| 22 | [Consommateur](./6-consumer/README.md) | Comprendre le langage | Apprenez à comprendre des phrases adressées à un appareil IoT | [Comprendre le langage](./6-consumer/lessons/2-language-understanding/README.md) | +| 23 | [Consommateur](./6-consumer/README.md) | Régler un minuteur et fournir un retour vocal | Apprenez à régler un minuteur sur un appareil IoT et à fournir un retour vocal quand le minuteur est réglé et quand il se termine | [Régler un minuteur et fournir un retour vocal](./6-consumer/lessons/3-spoken-feedback/README.md) | +| 24 | [Consommateur](./6-consumer/README.md) | Supporter plusieurs langues | Apprenez à supporter plusieurs langues, tant pour les interactions vocales que pour les réponses de votre minuteur intelligent | [Supporter plusieurs langues](./6-consumer/lessons/4-multiple-language-support/README.md) | ## Accès hors ligne -Vous pouvez consulter cette documentation hors ligne en utilisant [Docsify](https://docsify.js.org/#/). Clonez ce dépôt, [installez Docsify](https://docsify.js.org/#/quickstart) sur votre machine locale, puis dans le dossier racine de ce dépôt, tapez `docsify serve`. Le site sera servi sur le port 3000 sur votre localhost : `localhost:3000`. +Vous pouvez exécuter cette documentation hors ligne en utilisant [Docsify](https://docsify.js.org/#/). Forkez ce repo, [installez Docsify](https://docsify.js.org/#/quickstart) sur votre machine locale, puis dans le dossier racine de ce repo, tapez `docsify serve`. Le site sera servi sur le port 3000 de votre localhost : `localhost:3000`. ## Quiz -Merci à la communauté d’héberger le quiz interactif qui teste vos connaissances sur chacun des chapitres. Testez vos connaissances [ici](https://ff-quizzes.netlify.app/en/) +Merci à la communauté pour l’hébergement du quiz interactif qui teste vos connaissances sur chacun des chapitres. Testez vos connaissances [ici](https://ff-quizzes.netlify.app/en/) ### PDF -Vous pouvez générer un PDF de ce contenu pour une consultation hors ligne si nécessaire. Pour cela, assurez-vous d’avoir [npm installé](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) et exécutez les commandes suivantes dans le dossier racine de ce dépôt : +Vous pouvez générer un PDF de ce contenu pour un accès hors ligne si nécessaire. Pour ce faire, assurez-vous d’avoir [npm installé](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) et exécutez les commandes suivantes dans le dossier racine de ce repo : ```sh npm i npm run convert ``` -### Diaporamas +### Diapositives -Il y a des diaporamas pour certaines leçons dans le dossier [slides](../../slides). +Il existe des diaporamas pour certaines leçons dans le dossier [slides](../../slides). ## Autres programmes -Notre équipe produit d’autres programmes ! Découvrez : +Notre équipe produit d’autres programmes ! Découvrez : ### LangChain -[![LangChain4j pour débutants](https://img.shields.io/badge/LangChain4j%20for%20Beginners-22C55E?style=for-the-badge&&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchain4j-for-beginners) -[![LangChain.js pour débutants](https://img.shields.io/badge/LangChain.js%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin) +[![LangChain4j for Beginners](https://img.shields.io/badge/LangChain4j%20for%20Beginners-22C55E?style=for-the-badge&&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchain4j-for-beginners) +[![LangChain.js for Beginners](https://img.shields.io/badge/LangChain.js%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin) --- ### Azure / Edge / MCP / Agents -[![AZD pour débutants](https://img.shields.io/badge/AZD%20for%20Beginners-0078D4?style=for-the-badge&labelColor=E5E7EB&color=0078D4)](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst) -[![Edge AI pour débutants](https://img.shields.io/badge/Edge%20AI%20for%20Beginners-00B8E4?style=for-the-badge&labelColor=E5E7EB&color=00B8E4)](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst) -[![MCP pour débutants](https://img.shields.io/badge/MCP%20for%20Beginners-009688?style=for-the-badge&labelColor=E5E7EB&color=009688)](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst) -[![Agents IA pour Débutants](https://img.shields.io/badge/AI%20Agents%20for%20Beginners-00C49A?style=for-the-badge&labelColor=E5E7EB&color=00C49A)](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst) +[![AZD for Beginners](https://img.shields.io/badge/AZD%20for%20Beginners-0078D4?style=for-the-badge&labelColor=E5E7EB&color=0078D4)](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst) +[![Edge AI for Beginners](https://img.shields.io/badge/Edge%20AI%20for%20Beginners-00B8E4?style=for-the-badge&labelColor=E5E7EB&color=00B8E4)](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst) +[![MCP for Beginners](https://img.shields.io/badge/MCP%20for%20Beginners-009688?style=for-the-badge&labelColor=E5E7EB&color=009688)](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst) +[![Agents IA pour débutants](https://img.shields.io/badge/AI%20Agents%20for%20Beginners-00C49A?style=for-the-badge&labelColor=E5E7EB&color=00C49A)](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst) --- ### Série IA Générative -[![IA Générative pour Débutants](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst) +[![IA Générative pour débutants](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst) [![IA Générative (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst) [![IA Générative (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst) [![IA Générative (JavaScript)](https://img.shields.io/badge/Generative%20AI%20(JavaScript)-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst) @@ -194,29 +185,29 @@ Notre équipe produit d’autres programmes ! Découvrez : --- ### Apprentissage Fondamental -[![ML pour Débutants](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst) -[![Science des Données pour Débutants](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst) -[![IA pour Débutants](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst) -[![Cybersécurité pour Débutants](https://img.shields.io/badge/Cybersecurity%20for%20Beginners-F97316?style=for-the-badge&labelColor=E5E7EB&color=F97316)](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung) -[![Développement Web pour Débutants](https://img.shields.io/badge/Web%20Dev%20for%20Beginners-EC4899?style=for-the-badge&labelColor=E5E7EB&color=EC4899)](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst) -[![IoT pour Débutants](https://img.shields.io/badge/IoT%20for%20Beginners-14B8A6?style=for-the-badge&labelColor=E5E7EB&color=14B8A6)](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst) -[![Développement XR pour Débutants](https://img.shields.io/badge/XR%20Development%20for%20Beginners-38BDF8?style=for-the-badge&labelColor=E5E7EB&color=38BDF8)](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst) +[![ML pour débutants](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst) +[![Science des données pour débutants](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst) +[![IA pour débutants](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst) +[![Cybersécurité pour débutants](https://img.shields.io/badge/Cybersecurity%20for%20Beginners-F97316?style=for-the-badge&labelColor=E5E7EB&color=F97316)](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung) +[![Développement Web pour débutants](https://img.shields.io/badge/Web%20Dev%20for%20Beginners-EC4899?style=for-the-badge&labelColor=E5E7EB&color=EC4899)](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst) +[![IoT pour débutants](https://img.shields.io/badge/IoT%20for%20Beginners-14B8A6?style=for-the-badge&labelColor=E5E7EB&color=14B8A6)](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst) +[![Développement XR pour débutants](https://img.shields.io/badge/XR%20Development%20for%20Beginners-38BDF8?style=for-the-badge&labelColor=E5E7EB&color=38BDF8)](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst) --- ### Série Copilot -[![Copilot pour Programmation en Paire IA](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst) +[![Copilot pour programmation assistée par IA](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst) [![Copilot pour C#/.NET](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst) [![Aventure Copilot](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst) -## Attributions d’images +## Attributions des images -Vous pouvez trouver toutes les attributions pour les images utilisées dans ce programme là où c’est nécessaire dans le fichier [Attributions](./attributions.md). +Vous pouvez trouver toutes les attributions pour les images utilisées dans ce programme lorsque nécessaire dans le fichier [Attributions](./attributions.md). --- **Avertissement** : -Ce document a été traduit à l’aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous fassions de notre mieux pour assurer l’exactitude, veuillez noter que les traductions automatiques peuvent comporter des erreurs ou des inexactitudes. Le document original dans sa langue d’origine doit être considéré comme la source faisant foi. Pour les informations critiques, il est recommandé de recourir à une traduction professionnelle réalisée par un humain. Nous déclinons toute responsabilité en cas de malentendus ou de mauvaises interprétations résultant de l’utilisation de cette traduction. +Ce document a été traduit à l’aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforçons d’assurer l’exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d’origine doit être considéré comme la source faisant foi. Pour des informations critiques, il est recommandé de recourir à une traduction professionnelle réalisée par un humain. Nous déclinons toute responsabilité en cas de malentendus ou de mauvaises interprétations résultant de l’utilisation de cette traduction. \ No newline at end of file diff --git a/translations/fr/SECURITY.md b/translations/fr/SECURITY.md index 9dc995585..de23d868c 100644 --- a/translations/fr/SECURITY.md +++ b/translations/fr/SECURITY.md @@ -1,12 +1,3 @@ - # Sécurité Microsoft prend très au sérieux la sécurité de ses produits logiciels et services, y compris tous les dépôts de code source gérés via nos organisations GitHub, qui incluent [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), et [nos organisations GitHub](https://opensource.microsoft.com/). diff --git a/translations/fr/SUPPORT.md b/translations/fr/SUPPORT.md index 8659bd006..b6bd438f9 100644 --- a/translations/fr/SUPPORT.md +++ b/translations/fr/SUPPORT.md @@ -1,12 +1,3 @@ - # Support ## Comment signaler des problèmes et obtenir de l'aide diff --git a/translations/fr/TROUBLESHOOTING.md b/translations/fr/TROUBLESHOOTING.md index a955cb8f5..35cec7d99 100644 --- a/translations/fr/TROUBLESHOOTING.md +++ b/translations/fr/TROUBLESHOOTING.md @@ -1,12 +1,3 @@ - # Guide de dépannage Ce guide vous aide à résoudre les problèmes courants rencontrés lors de l'utilisation du programme IoT for Beginners. Les problèmes sont organisés par catégorie pour une navigation facile. diff --git a/translations/fr/attributions.md b/translations/fr/attributions.md index 249f79933..e4f694b40 100644 --- a/translations/fr/attributions.md +++ b/translations/fr/attributions.md @@ -1,12 +1,3 @@ - # Attributions d'images * Bananes par abderraouf omara du [Noun Project](https://thenounproject.com) diff --git a/translations/fr/clean-up.md b/translations/fr/clean-up.md index 5b7c9c35f..264e02fc4 100644 --- a/translations/fr/clean-up.md +++ b/translations/fr/clean-up.md @@ -1,12 +1,3 @@ - # Nettoyez votre projet Une fois que vous avez terminé chaque projet, il est conseillé de supprimer vos ressources cloud. diff --git a/translations/fr/docs/_sidebar.md b/translations/fr/docs/_sidebar.md index 7308b30f3..652478749 100644 --- a/translations/fr/docs/_sidebar.md +++ b/translations/fr/docs/_sidebar.md @@ -1,12 +1,3 @@ - - Introduction - [1](../1-getting-started/lessons/1-introduction-to-iot/README.md) - [2](../1-getting-started/lessons/2-deeper-dive/README.md) diff --git a/translations/fr/docs/troubleshooting.md b/translations/fr/docs/troubleshooting.md index 7bef7a305..415f331a2 100644 --- a/translations/fr/docs/troubleshooting.md +++ b/translations/fr/docs/troubleshooting.md @@ -1,12 +1,3 @@ - # Guide de dépannage pour Raspberry Pi Ce guide fournit des solutions aux problèmes courants rencontrés lors de l'exécution de projets IoT sur des appareils Raspberry Pi. diff --git a/translations/fr/for-teachers.md b/translations/fr/for-teachers.md index 3df74b3e4..9048bd278 100644 --- a/translations/fr/for-teachers.md +++ b/translations/fr/for-teachers.md @@ -1,12 +1,3 @@ - # Pour les éducateurs Souhaitez-vous utiliser ce programme dans votre classe ? N'hésitez pas ! diff --git a/translations/fr/hardware.md b/translations/fr/hardware.md index 93201da53..ecb0b2556 100644 --- a/translations/fr/hardware.md +++ b/translations/fr/hardware.md @@ -1,12 +1,3 @@ - # Matériel Le **T** dans IoT signifie **Things** (Objets) et fait référence aux dispositifs qui interagissent avec le monde qui nous entoure. Chaque projet repose sur du matériel réel accessible aux étudiants et amateurs. Nous proposons deux choix de matériel IoT en fonction des préférences personnelles, des connaissances ou préférences en langage de programmation, des objectifs d'apprentissage et de la disponibilité. Une version de "matériel virtuel" est également disponible pour ceux qui n'ont pas accès au matériel ou qui souhaitent en apprendre davantage avant de s'engager dans un achat. diff --git a/translations/fr/images/README.md b/translations/fr/images/README.md index c6c52f198..5fd413a53 100644 --- a/translations/fr/images/README.md +++ b/translations/fr/images/README.md @@ -1,12 +1,3 @@ - # Images Les images dans le dossier [icons](../../../images/icons) proviennent de [Noun Project](https://thenounproject.com) et nécessitent une attribution. Chaque image indique l'attribution requise. Ces images doivent être utilisées pour tout diagramme qui en a besoin afin de maintenir une cohérence visuelle. diff --git a/translations/fr/lesson-template/README.md b/translations/fr/lesson-template/README.md index 34f4aeb13..e86b0deaa 100644 --- a/translations/fr/lesson-template/README.md +++ b/translations/fr/lesson-template/README.md @@ -1,12 +1,3 @@ - # [Sujet de la leçon] ![Intégrer une vidéo ici](../../../lesson-template/video-url) diff --git a/translations/fr/lesson-template/assignment.md b/translations/fr/lesson-template/assignment.md index 7fa0d6c19..a0d0d8389 100644 --- a/translations/fr/lesson-template/assignment.md +++ b/translations/fr/lesson-template/assignment.md @@ -1,12 +1,3 @@ - # [Nom de l'assignation] ## Instructions diff --git a/translations/fr/quiz-app/README.md b/translations/fr/quiz-app/README.md index d9e195de0..f2a7a9a75 100644 --- a/translations/fr/quiz-app/README.md +++ b/translations/fr/quiz-app/README.md @@ -1,12 +1,3 @@ - # Quiz Ces quiz sont les quiz pré- et post-cours pour le programme IoT for Beginners disponible à l'adresse https://aka.ms/iot-beginners diff --git a/translations/fr/recommended-learning-model.md b/translations/fr/recommended-learning-model.md index e8664de36..02f80ab5a 100644 --- a/translations/fr/recommended-learning-model.md +++ b/translations/fr/recommended-learning-model.md @@ -1,12 +1,3 @@ - # Modèle d'apprentissage recommandé Pour des résultats d'apprentissage optimaux, **nous recommandons une approche de type “Modèle Inversé”**, similaire aux laboratoires scientifiques : les étudiants travaillent sur des projets pendant les heures de classe, avec des opportunités de discussion, de questions-réponses et d'assistance sur les projets, et réalisent les éléments de cours sous forme de lectures préalables en dehors des heures de classe. diff --git a/translations/hk/1-getting-started/lessons/1-introduction-to-iot/README.md b/translations/hk/1-getting-started/lessons/1-introduction-to-iot/README.md index dfa4ec73a..1a3fd9346 100644 --- a/translations/hk/1-getting-started/lessons/1-introduction-to-iot/README.md +++ b/translations/hk/1-getting-started/lessons/1-introduction-to-iot/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 物聯網簡介 -![本課程的手繪筆記概覽](../../../../../translated_images/hk/lesson-1.2606670fa61ee904687da5d6fa4e726639d524d064c895117da1b95b9ff6251d.jpg) +![本課程的手繪筆記概覽](../../../../../translated_images/zh-HK/lesson-1.2606670fa61ee904687da5d6fa4e726639d524d064c895117da1b95b9ff6251d.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -79,7 +79,7 @@ CO_OP_TRANSLATOR_METADATA: 微控制器通常是低成本的計算設備,用於定制硬件的微控制器平均價格約為 0.50 美元,有些設備甚至低至 0.03 美元。開發套件的起價約為 4 美元,隨著功能的增加,成本也會上升。[Wio Terminal](https://www.seeedstudio.com/Wio-Terminal-p-4509.html) 是 [Seeed Studios](https://www.seeedstudio.com) 的一款微控制器開發套件,內置感應器、執行器、WiFi 和屏幕,價格約為 30 美元。 -![Wio Terminal](../../../../../translated_images/hk/wio-terminal.b8299ee16587db9a.webp) +![Wio Terminal](../../../../../translated_images/zh-HK/wio-terminal.b8299ee16587db9a.webp) > 💁 在網上搜索微控制器時,請注意搜索 **MCU** 這個術語,因為這可能會帶回大量與漫威電影宇宙(Marvel Cinematic Universe)相關的結果,而不是微控制器。 @@ -93,7 +93,7 @@ CO_OP_TRANSLATOR_METADATA: 單板電腦是一種小型計算設備,將完整計算機的所有元素包含在一塊小型電路板上。這些設備的規格接近桌面或筆記本電腦,運行完整的操作系統,但體積更小,功耗更低,價格也便宜得多。 -![Raspberry Pi 4](../../../../../translated_images/hk/raspberry-pi-4.fd4590d308c3d456.webp) +![Raspberry Pi 4](../../../../../translated_images/zh-HK/raspberry-pi-4.fd4590d308c3d456.webp) Raspberry Pi 是最受歡迎的單板電腦之一。 diff --git a/translations/hk/1-getting-started/lessons/1-introduction-to-iot/pi.md b/translations/hk/1-getting-started/lessons/1-introduction-to-iot/pi.md index 1e9ea93da..faabd4067 100644 --- a/translations/hk/1-getting-started/lessons/1-introduction-to-iot/pi.md +++ b/translations/hk/1-getting-started/lessons/1-introduction-to-iot/pi.md @@ -11,7 +11,7 @@ CO_OP_TRANSLATOR_METADATA: [樹莓派](https://raspberrypi.org) 是一款單板電腦。你可以使用各種設備和生態系統添加感應器和執行器,這些課程將使用一個名為 [Grove](https://www.seeedstudio.com/category/Grove-c-1003.html) 的硬件生態系統。你將使用 Python 為樹莓派編寫程式碼並訪問 Grove 感應器。 -![樹莓派 4](../../../../../translated_images/hk/raspberry-pi-4.fd4590d308c3d456.webp) +![樹莓派 4](../../../../../translated_images/zh-HK/raspberry-pi-4.fd4590d308c3d456.webp) ## 設置 @@ -112,7 +112,7 @@ CO_OP_TRANSLATOR_METADATA: 1. 在 Raspberry Pi Imager 中,選擇 **CHOOSE OS** 按鈕,然後選擇 *Raspberry Pi OS (Other)*,接著選擇 *Raspberry Pi OS Lite (32-bit)* - ![Raspberry Pi Imager 選擇 Raspberry Pi OS Lite](../../../../../translated_images/hk/raspberry-pi-imager.24aedeab9e233d84.webp) + ![Raspberry Pi Imager 選擇 Raspberry Pi OS Lite](../../../../../translated_images/zh-HK/raspberry-pi-imager.24aedeab9e233d84.webp) > 💁 Raspberry Pi OS Lite 是樹莓派操作系統的一個版本,沒有桌面 UI 或基於 UI 的工具。這些對於無頭樹莓派來說並不需要,並且使安裝更小,啟動時間更快。 @@ -251,7 +251,7 @@ CO_OP_TRANSLATOR_METADATA: 1. 在 VS Code 中開啟這個資料夾,選擇 *File -> Open...*,然後選擇 *nightlight* 資料夾,接著點擊 **OK**。 - ![VS Code 的開啟對話框顯示 nightlight 資料夾](../../../../../translated_images/hk/vscode-open-nightlight-remote.d3d2a4011e30d535.webp) + ![VS Code 的開啟對話框顯示 nightlight 資料夾](../../../../../translated_images/zh-HK/vscode-open-nightlight-remote.d3d2a4011e30d535.webp) 1. 從 VS Code 的檔案總管中開啟 `app.py` 檔案,並加入以下程式碼: diff --git a/translations/hk/1-getting-started/lessons/1-introduction-to-iot/virtual-device.md b/translations/hk/1-getting-started/lessons/1-introduction-to-iot/virtual-device.md index 50c7ea068..cafab06aa 100644 --- a/translations/hk/1-getting-started/lessons/1-introduction-to-iot/virtual-device.md +++ b/translations/hk/1-getting-started/lessons/1-introduction-to-iot/virtual-device.md @@ -154,11 +154,11 @@ Python 的一個強大功能是能夠安裝 [Pip 套件](https://pypi.org)—— 1. 當 VS Code 啟動時,它將激活 Python 虛擬環境。選定的虛擬環境將顯示在底部狀態欄中: - ![VS Code 顯示選定的虛擬環境](../../../../../translated_images/hk/vscode-virtual-env.8ba42e04c3d533cf.webp) + ![VS Code 顯示選定的虛擬環境](../../../../../translated_images/zh-HK/vscode-virtual-env.8ba42e04c3d533cf.webp) 1. 如果 VS Code Terminal 在啟動時已運行,它將不會激活虛擬環境。最簡單的方法是使用 **Kill the active terminal instance** 按鈕關閉終端: - ![VS Code Kill the active terminal instance 按鈕](../../../../../translated_images/hk/vscode-kill-terminal.1cc4de7c6f25ee08.webp) + ![VS Code Kill the active terminal instance 按鈕](../../../../../translated_images/zh-HK/vscode-kill-terminal.1cc4de7c6f25ee08.webp) 你可以通過終端提示的前綴來判斷終端是否激活了虛擬環境。例如,它可能是: @@ -212,7 +212,7 @@ Python 的一個強大功能是能夠安裝 [Pip 套件](https://pypi.org)—— 應用程式將開始運行並在你的網頁瀏覽器中打開: - ![Counter Fit 應用程式在瀏覽器中運行](../../../../../translated_images/hk/counterfit-first-run.433326358b669b31d0e99c3513cb01bfbb13724d162c99cdcc8f51ecf5f9c779.png) + ![Counter Fit 應用程式在瀏覽器中運行](../../../../../translated_images/zh-HK/counterfit-first-run.433326358b669b31d0e99c3513cb01bfbb13724d162c99cdcc8f51ecf5f9c779.png) 它將顯示為 *Disconnected*,右上角的 LED 是熄滅的。 @@ -229,11 +229,11 @@ Python 的一個強大功能是能夠安裝 [Pip 套件](https://pypi.org)—— 1. 你需要通過選擇 **Create a new integrated terminal** 按鈕啟動新的 VS Code 終端。這是因為 CounterFit 應用程式正在當前終端中運行。 - ![VS Code Create a new integrated terminal 按鈕](../../../../../translated_images/hk/vscode-new-terminal.77db8fc0f9cd3182.webp) + ![VS Code Create a new integrated terminal 按鈕](../../../../../translated_images/zh-HK/vscode-new-terminal.77db8fc0f9cd3182.webp) 1. 在這個新終端中,像之前一樣運行 `app.py` 文件。CounterFit 的狀態將變為 **Connected**,LED 會亮起。 - ![Counter Fit 顯示為已連接](../../../../../translated_images/hk/counterfit-connected.ed30b46d8f79b0921f3fc70be10366e596a89dca3f80c2224a9d9fc98fccf884.png) + ![Counter Fit 顯示為已連接](../../../../../translated_images/zh-HK/counterfit-connected.ed30b46d8f79b0921f3fc70be10366e596a89dca3f80c2224a9d9fc98fccf884.png) > 💁 你可以在 [code/virtual-device](../../../../../1-getting-started/lessons/1-introduction-to-iot/code/virtual-device) 資料夾中找到這段程式碼。 diff --git a/translations/hk/1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md b/translations/hk/1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md index 5cafda206..b749ba2e9 100644 --- a/translations/hk/1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md +++ b/translations/hk/1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md @@ -11,7 +11,7 @@ CO_OP_TRANSLATOR_METADATA: [Seeed Studios 的 Wio Terminal](https://www.seeedstudio.com/Wio-Terminal-p-4509.html) 是一款兼容 Arduino 的微控制器,內建 WiFi 以及一些感測器和執行器,並且可以透過名為 [Grove](https://www.seeedstudio.com/category/Grove-c-1003.html) 的硬體生態系統添加更多感測器和執行器。 -![Seeed Studios 的 Wio Terminal](../../../../../translated_images/hk/wio-terminal.b8299ee16587db9a.webp) +![Seeed Studios 的 Wio Terminal](../../../../../translated_images/zh-HK/wio-terminal.b8299ee16587db9a.webp) ## 設置 @@ -51,15 +51,15 @@ Wio Terminal 的 Hello World 應用程序將確保您已正確安裝 Visual Stud 1. PlatformIO 圖標將顯示在側邊菜單欄: - ![Platform IO 菜單選項](../../../../../translated_images/hk/vscode-platformio-menu.297be26b9733e5c4.webp) + ![Platform IO 菜單選項](../../../../../translated_images/zh-HK/vscode-platformio-menu.297be26b9733e5c4.webp) 選擇此菜單項,然後選擇 *PIO Home -> Open* - ![Platform IO 打開選項](../../../../../translated_images/hk/vscode-platformio-home-open.3f9a41bfd3f4da1c.webp) + ![Platform IO 打開選項](../../../../../translated_images/zh-HK/vscode-platformio-home-open.3f9a41bfd3f4da1c.webp) 1. 在歡迎屏幕中,選擇 **+ New Project** 按鈕 - ![新項目按鈕](../../../../../translated_images/hk/vscode-platformio-welcome-new-button.ba6fc8a4c7b78cc8.webp) + ![新項目按鈕](../../../../../translated_images/zh-HK/vscode-platformio-welcome-new-button.ba6fc8a4c7b78cc8.webp) 1. 在 *Project Wizard* 中配置項目: @@ -73,7 +73,7 @@ Wio Terminal 的 Hello World 應用程序將確保您已正確安裝 Visual Stud 1. 選擇 **Finish** 按鈕 - ![完成的項目向導](../../../../../translated_images/hk/vscode-platformio-nightlight-project-wizard.5c64db4da6037420.webp) + ![完成的項目向導](../../../../../translated_images/zh-HK/vscode-platformio-nightlight-project-wizard.5c64db4da6037420.webp) PlatformIO 會下載所需的組件以編譯 Wio Terminal 的代碼並創建您的項目。這可能需要幾分鐘。 @@ -179,7 +179,7 @@ VS Code 的資源管理器將顯示由 PlatformIO 向導創建的多個文件和 1. 輸入 `PlatformIO Upload` 搜索上傳選項,並選擇 *PlatformIO: Upload* - ![命令面板中的 PlatformIO 上傳選項](../../../../../translated_images/hk/vscode-platformio-upload-command-palette.9e0f49cf80d1f1c3.webp) + ![命令面板中的 PlatformIO 上傳選項](../../../../../translated_images/zh-HK/vscode-platformio-upload-command-palette.9e0f49cf80d1f1c3.webp) 如果需要,PlatformIO 會在上傳之前自動編譯代碼。 @@ -195,7 +195,7 @@ PlatformIO 有一個串口監視器,可以監視通過 USB 線纜從 Wio Termi 1. 輸入 `PlatformIO Serial` 搜索串口監視器選項,並選擇 *PlatformIO: Serial Monitor* - ![命令面板中的 PlatformIO 串口監視器選項](../../../../../translated_images/hk/vscode-platformio-serial-monitor-command-palette.b348ec841b8a1c14.webp) + ![命令面板中的 PlatformIO 串口監視器選項](../../../../../translated_images/zh-HK/vscode-platformio-serial-monitor-command-palette.b348ec841b8a1c14.webp) 一個新終端將打開,通過串口發送的數據將流入此終端: diff --git a/translations/hk/1-getting-started/lessons/2-deeper-dive/README.md b/translations/hk/1-getting-started/lessons/2-deeper-dive/README.md index 693311aa4..5d691ce19 100644 --- a/translations/hk/1-getting-started/lessons/2-deeper-dive/README.md +++ b/translations/hk/1-getting-started/lessons/2-deeper-dive/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 深入了解物聯網 -![本課程的手繪筆記概覽](../../../../../translated_images/hk/lesson-2.324b0580d620c25e0a24fb7fddfc0b29a846dd4b82c08e7a9466d580ee78ce51.jpg) +![本課程的手繪筆記概覽](../../../../../translated_images/zh-HK/lesson-2.324b0580d620c25e0a24fb7fddfc0b29a846dd4b82c08e7a9466d580ee78ce51.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -41,13 +41,13 @@ CO_OP_TRANSLATOR_METADATA: ### 物件 -![Raspberry Pi 4](../../../../../translated_images/hk/raspberry-pi-4.fd4590d308c3d456.webp) +![Raspberry Pi 4](../../../../../translated_images/zh-HK/raspberry-pi-4.fd4590d308c3d456.webp) 物聯網中的 **物件** 指的是能與物理世界互動的設備。這些設備通常是小型、價格低廉的電腦,運行速度較慢且耗電量低——例如,僅有幾千字節 RAM 的簡單微控制器(相比之下,PC 的 RAM 是幾 GB),運行速度僅為幾百 MHz(而 PC 是 GHz 級別),但耗電量極低,有時甚至可以用電池運行數週、數月甚至數年。 這些設備通過使用感測器從周圍環境收集數據,或通過控制輸出或執行器進行物理改變來與物理世界互動。典型的例子是一個智能恆溫器——一個具有溫度感測器、設置目標溫度的方式(如旋鈕或觸控螢幕),以及與加熱或冷卻系統連接的設備,當檢測到的溫度超出目標範圍時,系統會啟動。 -![一個圖示顯示溫度和旋鈕作為物聯網設備的輸入,並控制加熱器作為輸出](../../../../../translated_images/hk/basic-thermostat.a923217fd1f37e5a6f3390396a65c22a387419ea2dd17e518ec24315ba6ae9a8.png) +![一個圖示顯示溫度和旋鈕作為物聯網設備的輸入,並控制加熱器作為輸出](../../../../../translated_images/zh-HK/basic-thermostat.a923217fd1f37e5a6f3390396a65c22a387419ea2dd17e518ec24315ba6ae9a8.png) 可以作為物聯網設備的物件種類繁多,從專門感測某一項的硬體到通用設備,甚至包括你的智能手機!智能手機可以使用感測器檢測周圍環境,並使用執行器與世界互動——例如,使用 GPS 感測器檢測你的地點,並通過揚聲器提供導航指示。 @@ -63,11 +63,11 @@ CO_OP_TRANSLATOR_METADATA: 以智能恆溫器為例,恆溫器通過家庭 WiFi 連接到雲端服務,將溫度數據發送到該服務,然後數據會被寫入某種數據庫,讓房主可以通過手機應用查看當前和過去的溫度。雲端中的另一個服務會知道房主想要的溫度,並通過雲端服務向物聯網設備發送消息,告訴加熱系統開啟或關閉。 -![一個圖示顯示溫度和旋鈕作為物聯網設備的輸入,物聯網設備與雲端之間有雙向通信,雲端與手機之間也有雙向通信,並控制加熱器作為物聯網設備的輸出](../../../../../translated_images/hk/mobile-controlled-thermostat.4a994010473d8d6a52ba68c67e5f02dc8928c717e93ca4b9bc55525aa75bbb60.png) +![一個圖示顯示溫度和旋鈕作為物聯網設備的輸入,物聯網設備與雲端之間有雙向通信,雲端與手機之間也有雙向通信,並控制加熱器作為物聯網設備的輸出](../../../../../translated_images/zh-HK/mobile-controlled-thermostat.4a994010473d8d6a52ba68c67e5f02dc8928c717e93ca4b9bc55525aa75bbb60.png) 更智能的版本可以使用雲端的 AI,結合其他物聯網設備(如檢測房間使用情況的佔用感測器)的數據,以及天氣數據甚至你的日曆,來智能地設置溫度。例如,如果從日曆中讀取到你正在度假,它可以關閉加熱;或者根據你使用的房間逐一關閉加熱,並隨著數據的積累變得越來越準確。 -![一個圖示顯示多個溫度感測器和旋鈕作為物聯網設備的輸入,物聯網設備與雲端之間有雙向通信,雲端與手機、日曆和天氣服務之間也有雙向通信,並控制加熱器作為物聯網設備的輸出](../../../../../translated_images/hk/smarter-thermostat.a75855f15d2d9e63.webp) +![一個圖示顯示多個溫度感測器和旋鈕作為物聯網設備的輸入,物聯網設備與雲端之間有雙向通信,雲端與手機、日曆和天氣服務之間也有雙向通信,並控制加熱器作為物聯網設備的輸出](../../../../../translated_images/zh-HK/smarter-thermostat.a75855f15d2d9e63.webp) ✅ 還有哪些數據可以幫助讓一個連接網際網路的恆溫器變得更智能? @@ -103,7 +103,7 @@ CPU 依賴於時鐘每秒數百萬或數十億次的滴答聲。每次滴答聲 > 💁 CPU 使用 [取指-解碼-執行週期](https://wikipedia.org/wiki/Instruction_cycle) 執行程序。每次時鐘滴答,CPU 會從記憶體中取出下一條指令,解碼它,然後執行它,例如使用算術邏輯單元 (ALU) 來加兩個數字。一些執行可能需要多個滴答聲才能完成,因此下一個週期會在指令完成後的下一次滴答聲運行。 -![取指-解碼-執行週期,顯示從存儲在 RAM 中的程序中取指令,然後在 CPU 上解碼並執行](../../../../../translated_images/hk/fetch-decode-execute.2fd6f150f6280392807f4475382319abd0cee0b90058e1735444d6baa6f2078c.png) +![取指-解碼-執行週期,顯示從存儲在 RAM 中的程序中取指令,然後在 CPU 上解碼並執行](../../../../../translated_images/zh-HK/fetch-decode-execute.2fd6f150f6280392807f4475382319abd0cee0b90058e1735444d6baa6f2078c.png) 微控制器的時鐘速度遠低於桌面或筆記本電腦,甚至大多數智能手機。例如,Wio Terminal 的 CPU 運行速度為 120MHz,即每秒 120,000,000 次週期。 @@ -135,7 +135,7 @@ RAM 是程序運行時使用的記憶體,包含程序分配的變數和從外 下圖顯示了 192KB 和 8GB 之間的相對大小差異——中心的小點代表 192KB。 -![192KB 和 8GB 的比較 - 超過 40,000 倍的差距](../../../../../translated_images/hk/ram-comparison.6beb73541b42ac6f.webp) +![192KB 和 8GB 的比較 - 超過 40,000 倍的差距](../../../../../translated_images/zh-HK/ram-comparison.6beb73541b42ac6f.webp) 程式存儲空間也比 PC 小。一台典型的 PC 可能有 500GB 的硬碟用於程式存儲,而微控制器可能只有幾千字節或幾百萬字節(MB)的存儲空間(1MB 等於 1,000KB 或 1,000,000 字節)。Wio Terminal 擁有 4MB 的程式存儲空間。 @@ -191,7 +191,7 @@ Arduino 開發板使用 C 或 C++ 編程。使用 C/C++ 可以使程式碼編譯 你可以在 `setup` 函數中編寫初始化程式碼,例如連接 WiFi 和雲服務或初始化輸入和輸出引腳。而在 `loop` 函數中,你可以編寫處理程式碼,例如從感應器讀取數據並將其發送到雲端。通常你會在每次循環中加入延遲,例如,如果你只想每 10 秒發送一次感應器數據,你可以在循環結束時加入 10 秒的延遲,這樣微控制器可以進入休眠狀態以節省電力,然後在需要時 10 秒後再次運行循環。 -![Arduino sketch 首先運行 setup,然後不斷重複運行 loop](../../../../../translated_images/hk/arduino-sketch.79590cb837ff7a7c6a68d1afda6cab83fd53d3bb1bd9a8bf2eaf8d693a4d3ea6.png) +![Arduino sketch 首先運行 setup,然後不斷重複運行 loop](../../../../../translated_images/zh-HK/arduino-sketch.79590cb837ff7a7c6a68d1afda6cab83fd53d3bb1bd9a8bf2eaf8d693a4d3ea6.png) ✅ 這種程式架構被稱為 *事件循環* 或 *消息循環*。許多應用程式在底層使用這種架構,這也是大多數運行在 Windows、macOS 或 Linux 等操作系統上的桌面應用程式的標準。`loop` 會監聽來自用戶界面元件(如按鈕)或設備(如鍵盤)的消息,並對其作出響應。你可以在這篇 [事件循環的文章](https://wikipedia.org/wiki/Event_loop) 中閱讀更多內容。 @@ -211,17 +211,17 @@ Arduino 還有一個龐大的第三方庫生態系統,這些庫可以為你的 ### 樹莓派 -![樹莓派標誌](../../../../../translated_images/hk/raspberry-pi-logo.4efaa16605cee054.webp) +![樹莓派標誌](../../../../../translated_images/zh-HK/raspberry-pi-logo.4efaa16605cee054.webp) [樹莓派基金會](https://www.raspberrypi.org) 是一家來自英國的慈善機構,成立於 2009 年,旨在推廣計算機科學的學習,特別是在學校層面。作為這一使命的一部分,他們開發了一款單板電腦,稱為樹莓派。目前樹莓派有三種變體——全尺寸版本、較小的 Pi Zero,以及可以嵌入最終 IoT 設備中的計算模組。 -![樹莓派 4](../../../../../translated_images/hk/raspberry-pi-4.fd4590d308c3d456.webp) +![樹莓派 4](../../../../../translated_images/zh-HK/raspberry-pi-4.fd4590d308c3d456.webp) 最新的全尺寸樹莓派是樹莓派 4B。它擁有一個四核心(4 核)1.5GHz 的 CPU,2GB、4GB 或 8GB 的 RAM,千兆以太網,WiFi,2 個支持 4K 螢幕的 HDMI 埠,一個音頻和複合視頻輸出埠,USB 埠(2 個 USB 2.0 和 2 個 USB 3.0),40 個 GPIO 引腳,一個樹莓派相機模組的相機連接埠,以及一個 SD 卡插槽。所有這些都集成在一塊 88mm x 58mm x 19.5mm 的電路板上,並由 3A 的 USB-C 電源供電。這些起價為 35 美元,比 PC 或 Mac 便宜得多。 > 💁 還有一款 Pi400 一體機電腦,將 Pi4 集成到鍵盤中。 -![樹莓派 Zero](../../../../../translated_images/hk/raspberry-pi-zero.f7a4133e1e7d54bb.webp) +![樹莓派 Zero](../../../../../translated_images/zh-HK/raspberry-pi-zero.f7a4133e1e7d54bb.webp) Pi Zero 更小,功耗更低。它擁有一個單核心 1GHz 的 CPU,512MB 的 RAM,WiFi(在 Zero W 型號中),一個 HDMI 埠,一個 micro-USB 埠,40 個 GPIO 引腳,一個樹莓派相機模組的相機連接埠,以及一個 SD 卡插槽。它的尺寸為 65mm x 30mm x 5mm,功耗非常低。Zero 售價 5 美元,帶 WiFi 的 W 版本售價 10 美元。 diff --git a/translations/hk/1-getting-started/lessons/3-sensors-and-actuators/README.md b/translations/hk/1-getting-started/lessons/3-sensors-and-actuators/README.md index 378ee0680..8365a7d9b 100644 --- a/translations/hk/1-getting-started/lessons/3-sensors-and-actuators/README.md +++ b/translations/hk/1-getting-started/lessons/3-sensors-and-actuators/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 使用感應器和致動器與物理世界互動 -![本課程的手繪筆記概述](../../../../../translated_images/hk/lesson-3.cc3b7b4cd646de598698cce043c0393fd62ef42bac2eaf60e61272cd844250f4.jpg) +![本課程的手繪筆記概述](../../../../../translated_images/zh-HK/lesson-3.cc3b7b4cd646de598698cce043c0393fd62ef42bac2eaf60e61272cd844250f4.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -75,7 +75,7 @@ CO_OP_TRANSLATOR_METADATA: 一個例子是電位器。這是一個可以在兩個位置之間旋轉的旋鈕,感應器測量旋轉角度。 -![一個電位器設置在中間位置,接收 5 伏特並返回 3.8 伏特](../../../../../translated_images/hk/potentiometer.35a348b9ce22f6ec.webp) +![一個電位器設置在中間位置,接收 5 伏特並返回 3.8 伏特](../../../../../translated_images/zh-HK/potentiometer.35a348b9ce22f6ec.webp) IoT 設備會向電位器發送一個電信號,電壓例如 5 伏特(5V)。當電位器被調整時,它會改變從另一端輸出的電壓。想像一下,您有一個標記為 0 到 [11](https://wikipedia.org/wiki/Up_to_eleven) 的電位器,例如放大器上的音量旋鈕。當電位器處於完全關閉位置(0)時,輸出為 0V(0 伏特)。當它處於完全開啟位置(11)時,輸出為 5V(5 伏特)。 @@ -101,7 +101,7 @@ IoT 設備是數字化的——它們無法處理模擬值,只能處理 0 和 最簡單的數字感應器是一個按鈕或開關。這是一個只有兩種狀態的感應器,開或關。 -![一個按鈕接收 5 伏特。未按下時返回 0 伏特,按下時返回 5 伏特](../../../../../translated_images/hk/button.eadb560b77ac45e56f523d9d8876e40444f63b419e33eb820082d461fa79490b.png) +![一個按鈕接收 5 伏特。未按下時返回 0 伏特,按下時返回 5 伏特](../../../../../translated_images/zh-HK/button.eadb560b77ac45e56f523d9d8876e40444f63b419e33eb820082d461fa79490b.png) IoT 設備上的引腳(例如 GPIO 引腳)可以直接測量此信號作為 0 或 1。如果發送的電壓與返回的電壓相同,則讀取的值為 1,否則讀取的值為 0。無需轉換信號,它只能是 1 或 0。 @@ -112,7 +112,7 @@ IoT 設備上的引腳(例如 GPIO 引腳)可以直接測量此信號作為 更高級的數字感應器讀取模擬值,然後使用內置 ADC 將其轉換為數字信號。例如,數字溫度感應器仍然會像模擬感應器一樣使用熱電偶,並仍然測量由當前溫度下熱電偶的電阻引起的電壓變化。它不會返回模擬值,而是依靠設備或連接板將其轉換為數字信號,內置的 ADC 會將該值轉換為一系列 0 和 1,並將其發送到 IoT 設備。這些 0 和 1 的發送方式與按鈕的數字信號相同,其中 1 是全電壓,0 是 0V。 -![一個數字溫度感應器將模擬讀數轉換為二進制數據,其中 0 是 0 伏特,1 是 5 伏特,然後將其發送到 IoT 設備](../../../../../translated_images/hk/temperature-as-digital.85004491b977bae1.webp) +![一個數字溫度感應器將模擬讀數轉換為二進制數據,其中 0 是 0 伏特,1 是 5 伏特,然後將其發送到 IoT 設備](../../../../../translated_images/zh-HK/temperature-as-digital.85004491b977bae1.webp) 發送數字數據使感應器變得更加複雜,可以發送更詳細的數據,甚至是加密數據以用於安全感應器。一個例子是相機。這是一個捕捉圖像並以包含該圖像的數字數據形式發送的感應器,通常以壓縮格式(如 JPEG)發送到 IoT 設備。它甚至可以通過捕捉圖像並逐幀發送完整圖像或壓縮視頻流來進行視頻流式傳輸。 @@ -134,7 +134,7 @@ IoT 設備上的引腳(例如 GPIO 引腳)可以直接測量此信號作為 按照以下相關指南,為您的 IoT 設備添加致動器,並由感應器控制,以構建 IoT 夜燈。它將從光感應器收集光線強度,並使用 LED 作為致動器,在檢測到的光線強度過低時發出光。 -![任務的流程圖,顯示光線強度的讀取和檢查,以及 LED 的控制](../../../../../translated_images/hk/assignment-1-flow.7552a51acb1a5ec858dca6e855cdbb44206434006df8ba3799a25afcdab1665d.png) +![任務的流程圖,顯示光線強度的讀取和檢查,以及 LED 的控制](../../../../../translated_images/zh-HK/assignment-1-flow.7552a51acb1a5ec858dca6e855cdbb44206434006df8ba3799a25afcdab1665d.png) * [Arduino - Wio Terminal](wio-terminal-actuator.md) * [單板電腦 - Raspberry Pi](pi-actuator.md) @@ -149,7 +149,7 @@ IoT 設備上的引腳(例如 GPIO 引腳)可以直接測量此信號作為 模擬致動器接收模擬信號並將其轉換為某種交互,交互根據提供的電壓而改變。 一個例子是可調光燈,例如您家中的燈。提供給燈的電壓量決定了它的亮度。 -![在低電壓下光線較暗,在高電壓下光線較亮](../../../../../translated_images/hk/dimmable-light.9ceffeb195dec1a849da718b2d71b32c35171ff7dfea9c07bbf82646a67acf6b.png) +![在低電壓下光線較暗,在高電壓下光線較亮](../../../../../translated_images/zh-HK/dimmable-light.9ceffeb195dec1a849da718b2d71b32c35171ff7dfea9c07bbf82646a67acf6b.png) 就像感應器一樣,實際的物聯網裝置是基於數碼信號運作的,而不是模擬信號。這意味著,若要傳送模擬信號,物聯網裝置需要一個數碼轉模擬轉換器(DAC),這個轉換器可以直接內建於物聯網裝置中,或者安裝在連接板上。這樣可以將物聯網裝置的0和1轉換成致動器可以使用的模擬電壓。 @@ -164,7 +164,7 @@ IoT 設備上的引腳(例如 GPIO 引腳)可以直接測量此信號作為 假設你正在使用5V電源控制一個馬達。你向馬達傳送一個短脈衝,將電壓切換到高電平(5V)持續0.02秒。在這段時間內,馬達可以旋轉1/10圈,或36°。然後信號暫停0.02秒,傳送低電平信號(0V)。每個開啟和關閉的循環持續0.04秒,然後重複。 -![以150 RPM旋轉的馬達的脈衝寬度調變](../../../../../translated_images/hk/pwm-motor-150rpm.83347ac04ca38482.webp) +![以150 RPM旋轉的馬達的脈衝寬度調變](../../../../../translated_images/zh-HK/pwm-motor-150rpm.83347ac04ca38482.webp) 這意味著在一秒內,你有25個持續0.02秒的5V脈衝,每個脈衝之後是0.02秒的0V暫停。每個脈衝使馬達旋轉1/10圈,這意味著馬達每秒完成2.5圈旋轉。你使用數碼信號使馬達以每秒2.5圈或每分鐘150轉(RPM)的速度旋轉(RPM是一種非標準的旋轉速度測量單位)。 @@ -175,7 +175,7 @@ IoT 設備上的引腳(例如 GPIO 引腳)可以直接測量此信號作為 > 🎓 當PWM信號開啟時間和關閉時間各佔一半時,稱為[50%占空比](https://wikipedia.org/wiki/Duty_cycle)。占空比是信號處於開啟狀態的時間百分比與關閉狀態的時間百分比的比較。 -![以75 RPM旋轉的馬達的脈衝寬度調變](../../../../../translated_images/hk/pwm-motor-75rpm.a5e4c939934b6e14.webp) +![以75 RPM旋轉的馬達的脈衝寬度調變](../../../../../translated_images/zh-HK/pwm-motor-75rpm.a5e4c939934b6e14.webp) 你可以通過改變脈衝的大小來調整馬達的速度。例如,對於同一個馬達,你可以保持循環時間為0.04秒,但將開啟脈衝縮短一半至0.01秒,關閉脈衝延長至0.03秒。每秒的脈衝數量(25個)保持不變,但每個開啟脈衝的長度減半。一個減半的脈衝只會使馬達旋轉1/20圈,而每秒25個脈衝將完成1.25圈旋轉,即75 RPM。通過改變數碼信號的脈衝速度,你將模擬馬達的速度減半。 @@ -196,7 +196,7 @@ IoT 設備上的引腳(例如 GPIO 引腳)可以直接測量此信號作為 一個簡單的數碼致動器是LED。當裝置傳送數碼信號1時,會傳送高電壓以點亮LED。當傳送數碼信號0時,電壓降至0V,LED熄滅。 -![LED在0伏特時熄滅,在5伏特時點亮](../../../../../translated_images/hk/led.ec6d94f66676a174ad06d9fa9ea49c2ee89beb18b312d5c6476467c66375b07f.png) +![LED在0伏特時熄滅,在5伏特時點亮](../../../../../translated_images/zh-HK/led.ec6d94f66676a174ad06d9fa9ea49c2ee89beb18b312d5c6476467c66375b07f.png) ✅ 你能想到其他簡單的兩狀態致動器嗎?一個例子是電磁閥,它是一種電磁鐵,可以被激活來執行例如移動門閂以鎖定/解鎖門的操作。 diff --git a/translations/hk/1-getting-started/lessons/3-sensors-and-actuators/pi-actuator.md b/translations/hk/1-getting-started/lessons/3-sensors-and-actuators/pi-actuator.md index a534facbe..447ddd544 100644 --- a/translations/hk/1-getting-started/lessons/3-sensors-and-actuators/pi-actuator.md +++ b/translations/hk/1-getting-started/lessons/3-sensors-and-actuators/pi-actuator.md @@ -35,7 +35,7 @@ Grove LED 是一個模塊,包含多種顏色的 LED,讓你可以選擇喜歡 連接 LED。 -![一個 Grove LED](../../../../../translated_images/hk/grove-led.6c853be93f473cf2c439cfc74bb1064732b22251a83cedf66e62f783f9cc1a79.png) +![一個 Grove LED](../../../../../translated_images/zh-HK/grove-led.6c853be93f473cf2c439cfc74bb1064732b22251a83cedf66e62f783f9cc1a79.png) 1. 選擇你喜歡的 LED,並將 LED 的腳插入 LED 模塊上的兩個孔中。 @@ -49,7 +49,7 @@ Grove LED 是一個模塊,包含多種顏色的 LED,讓你可以選擇喜歡 1. 在 Raspberry Pi 關閉電源的情況下,將 Grove 電纜的另一端連接到 Grove Base hat 上標記為 **D5** 的數字插座。這個插座位於 GPIO 插針旁邊的一排插座中,從左數第二個。 -![Grove LED 連接到 D5 插座](../../../../../translated_images/hk/pi-led.97f1d474981dc35d1c7996c7b17de355d3d0a6bc9606d79fa5f89df933415122.png) +![Grove LED 連接到 D5 插座](../../../../../translated_images/zh-HK/pi-led.97f1d474981dc35d1c7996c7b17de355d3d0a6bc9606d79fa5f89df933415122.png) ## 編程夜燈 diff --git a/translations/hk/1-getting-started/lessons/3-sensors-and-actuators/pi-sensor.md b/translations/hk/1-getting-started/lessons/3-sensors-and-actuators/pi-sensor.md index 15eaee794..3bd7b47c3 100644 --- a/translations/hk/1-getting-started/lessons/3-sensors-and-actuators/pi-sensor.md +++ b/translations/hk/1-getting-started/lessons/3-sensors-and-actuators/pi-sensor.md @@ -25,13 +25,13 @@ CO_OP_TRANSLATOR_METADATA: 連接光線感測器 -![Grove 光線感測器](../../../../../translated_images/hk/grove-light-sensor.b8127b7c434e632d6bcdb57587a14e9ef69a268a22df95d08628f62b8fa5505c.png) +![Grove 光線感測器](../../../../../translated_images/zh-HK/grove-light-sensor.b8127b7c434e632d6bcdb57587a14e9ef69a268a22df95d08628f62b8fa5505c.png) 1. 將 Grove 電纜的一端插入光線感測器模組上的插座。它只能以一種方式插入。 1. 在 Raspberry Pi 關機的情況下,將 Grove 電纜的另一端連接到 Grove Base hat 上標記為 **A0** 的類比插座。此插座位於 GPIO 插針旁邊插座排的右數第二個。 -![Grove 光線感測器連接到 A0 插座](../../../../../translated_images/hk/pi-light-sensor.66cc1e31fa48cd7d5f23400d4b2119aa41508275cb7c778053a7923b4e972d7e.png) +![Grove 光線感測器連接到 A0 插座](../../../../../translated_images/zh-HK/pi-light-sensor.66cc1e31fa48cd7d5f23400d4b2119aa41508275cb7c778053a7923b4e972d7e.png) ## 程式設計光線感測器 diff --git a/translations/hk/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-actuator.md b/translations/hk/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-actuator.md index c732a026c..c866a6fe4 100644 --- a/translations/hk/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-actuator.md +++ b/translations/hk/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-actuator.md @@ -45,11 +45,11 @@ Otherwise 1. 選擇 **Add** 按鈕,在 Pin 5 上創建 LED。 - ![LED 設置](../../../../../translated_images/hk/counterfit-create-led.ba9db1c9b8c622a635d6dfae5cdc4e70c2b250635bd4f0601c6cf0bd22b7ba46.png) + ![LED 設置](../../../../../translated_images/zh-HK/counterfit-create-led.ba9db1c9b8c622a635d6dfae5cdc4e70c2b250635bd4f0601c6cf0bd22b7ba46.png) LED 將被創建並顯示在執行器列表中。 - ![已創建的 LED](../../../../../translated_images/hk/counterfit-led.c0ab02de6d256ad84d9bad4d67a7faa709f0ea83e410cfe9b5561ef0cef30b1c.png) + ![已創建的 LED](../../../../../translated_images/zh-HK/counterfit-led.c0ab02de6d256ad84d9bad4d67a7faa709f0ea83e410cfe9b5561ef0cef30b1c.png) LED 創建後,你可以使用 *Color* 選擇器更改顏色。選擇顏色後,點擊 **Set** 按鈕即可更改顏色。 diff --git a/translations/hk/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-sensor.md b/translations/hk/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-sensor.md index 735274807..efd0b2e5c 100644 --- a/translations/hk/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-sensor.md +++ b/translations/hk/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-sensor.md @@ -37,11 +37,11 @@ CO_OP_TRANSLATOR_METADATA: 1. 點擊 **Add** 按鈕,在 Pin 0 上創建光線感應器。 - ![光線感應器設置](../../../../../translated_images/hk/counterfit-create-light-sensor.9f36a5e0d4458d8d554d54b34d2c806d56093d6e49fddcda2d20f6fef7f5cce1.png) + ![光線感應器設置](../../../../../translated_images/zh-HK/counterfit-create-light-sensor.9f36a5e0d4458d8d554d54b34d2c806d56093d6e49fddcda2d20f6fef7f5cce1.png) 光線感應器將被創建並顯示在感應器列表中。 - ![已創建的光線感應器](../../../../../translated_images/hk/counterfit-light-sensor.5d0f5584df56b90f6b2561910d9cb20dfbd73eeff2177c238d38f4de54aefae1.png) + ![已創建的光線感應器](../../../../../translated_images/zh-HK/counterfit-light-sensor.5d0f5584df56b90f6b2561910d9cb20dfbd73eeff2177c238d38f4de54aefae1.png) ## 編程光線感應器 diff --git a/translations/hk/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-actuator.md b/translations/hk/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-actuator.md index 90150bcdf..c072efdb0 100644 --- a/translations/hk/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-actuator.md +++ b/translations/hk/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-actuator.md @@ -35,7 +35,7 @@ Grove LED 是一個模組,內含多種顏色的 LED,讓你可以選擇喜歡 連接 LED。 -![一個 Grove LED](../../../../../translated_images/hk/grove-led.6c853be93f473cf2c439cfc74bb1064732b22251a83cedf66e62f783f9cc1a79.png) +![一個 Grove LED](../../../../../translated_images/zh-HK/grove-led.6c853be93f473cf2c439cfc74bb1064732b22251a83cedf66e62f783f9cc1a79.png) 1. 選擇你喜歡的 LED,將其引腳插入 LED 模組上的兩個孔中。 @@ -51,7 +51,7 @@ Grove LED 是一個模組,內含多種顏色的 LED,讓你可以選擇喜歡 > 💁 右側的 Grove 插座可用於模擬或數字傳感器和執行器。左側插座僅用於 I2C 和數字傳感器及執行器。 -![Grove LED 連接到右側插座](../../../../../translated_images/hk/wio-led.265a1897e72d7f21.webp) +![Grove LED 連接到右側插座](../../../../../translated_images/zh-HK/wio-led.265a1897e72d7f21.webp) ## 編程夜燈 diff --git a/translations/hk/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-sensor.md b/translations/hk/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-sensor.md index f21065646..ad8bfaab0 100644 --- a/translations/hk/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-sensor.md +++ b/translations/hk/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-sensor.md @@ -17,7 +17,7 @@ CO_OP_TRANSLATOR_METADATA: 光感應器內建於 Wio Terminal 中,透過背面的透明塑膠窗口可以看到。 -![Wio Terminal 背面的光感應器](../../../../../translated_images/hk/wio-light-sensor.b1f529f3c95f5165.webp) +![Wio Terminal 背面的光感應器](../../../../../translated_images/zh-HK/wio-light-sensor.b1f529f3c95f5165.webp) ## 編程光感應器 diff --git a/translations/hk/1-getting-started/lessons/4-connect-internet/README.md b/translations/hk/1-getting-started/lessons/4-connect-internet/README.md index b7f2d0558..31a8b0cce 100644 --- a/translations/hk/1-getting-started/lessons/4-connect-internet/README.md +++ b/translations/hk/1-getting-started/lessons/4-connect-internet/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 將你的設備連接到互聯網 -![本課程的手繪筆記概述](../../../../../translated_images/hk/lesson-4.7344e074ea68fa545fd320b12dce36d72dd62d28c3b4596cb26cf315f434b98f.jpg) +![本課程的手繪筆記概述](../../../../../translated_images/zh-HK/lesson-4.7344e074ea68fa545fd320b12dce36d72dd62d28c3b4596cb26cf315f434b98f.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大的版本。 @@ -46,7 +46,7 @@ IoT 設備可以接收來自雲端的消息。這些消息通常包含命令— IoT 設備用於與互聯網通信的流行通信協議有很多。其中最流行的是基於某種代理的發布/訂閱消息傳遞。IoT 設備連接到代理並發布遙測數據,同時訂閱命令。雲端服務也連接到代理,訂閱所有遙測消息並發布命令,這些命令可以針對特定設備或設備組。 -![IoT 設備連接到代理並發布遙測數據,同時訂閱命令。雲端服務連接到代理,訂閱所有遙測數據並向特定設備發送命令。](../../../../../translated_images/hk/pub-sub.7c7ed43fe9fd15d4.webp) +![IoT 設備連接到代理並發布遙測數據,同時訂閱命令。雲端服務連接到代理,訂閱所有遙測數據並向特定設備發送命令。](../../../../../translated_images/zh-HK/pub-sub.7c7ed43fe9fd15d4.webp) MQTT 是 IoT 設備最流行的通信協議,本課程將介紹它。其他協議包括 AMQP 和 HTTP/HTTPS。 @@ -56,7 +56,7 @@ MQTT 是 IoT 設備最流行的通信協議,本課程將介紹它。其他協 MQTT 有一個單一代理和多個客戶端。所有客戶端都連接到代理,代理根據需要將消息路由到相關客戶端。消息是通過命名主題進行路由,而不是直接發送到個別客戶端。客戶端可以發布到某個主題,任何訂閱該主題的客戶端都會接收到消息。 -![IoT 設備在 /telemetry 主題上發布遙測數據,雲端服務訂閱該主題](../../../../../translated_images/hk/mqtt.cbf7f21d9adc3e17548b359444cc11bb4bf2010543e32ece9a47becf54438c23.png) +![IoT 設備在 /telemetry 主題上發布遙測數據,雲端服務訂閱該主題](../../../../../translated_images/zh-HK/mqtt.cbf7f21d9adc3e17548b359444cc11bb4bf2010543e32ece9a47becf54438c23.png) ✅ 做一些研究。如果你有大量 IoT 設備,如何確保你的 MQTT 代理能處理所有消息? @@ -78,7 +78,7 @@ MQTT 有一個單一代理和多個客戶端。所有客戶端都連接到代理 > 💁 該測試代理是公開且不安全的。任何人都可以監聽你發布的內容,因此不應用於需要保密的數據。 -![作業的流程圖,顯示光線水平被讀取和檢查,LED 被控制](../../../../../translated_images/hk/assignment-1-internet-flow.3256feab5f052fd273bf4e331157c574c2c3fa42e479836fc9c3586f41db35a5.png) +![作業的流程圖,顯示光線水平被讀取和檢查,LED 被控制](../../../../../translated_images/zh-HK/assignment-1-internet-flow.3256feab5f052fd273bf4e331157c574c2c3fa42e479836fc9c3586f41db35a5.png) 按照以下相關步驟將你的設備連接到 MQTT 代理: @@ -115,7 +115,7 @@ MQTT 連接可以是公開和開放的,也可以通過使用用戶名和密碼 讓我們回顧一下課程1中的智能溫控器示例。 -![使用多個房間傳感器的互聯網連接溫控器](../../../../../translated_images/hk/telemetry.21e5d8b97649d2eb.webp) +![使用多個房間傳感器的互聯網連接溫控器](../../../../../translated_images/zh-HK/telemetry.21e5d8b97649d2eb.webp) 溫控器具有溫度傳感器以收集遙測數據。它很可能內置一個溫度傳感器,並可能通過無線協議(例如 [藍牙低功耗](https://wikipedia.org/wiki/Bluetooth_Low_Energy) (BLE))連接到多個外部溫度傳感器。 @@ -267,11 +267,11 @@ Python 的一個強大功能是能夠安裝 [pip 套件](https://pypi.org)—— 1. 當 VS Code 啟動時,它會激活 Python 虛擬環境。這會顯示在底部狀態欄中: - ![VS Code 顯示選擇的虛擬環境](../../../../../translated_images/hk/vscode-virtual-env.8ba42e04c3d533cf.webp) + ![VS Code 顯示選擇的虛擬環境](../../../../../translated_images/zh-HK/vscode-virtual-env.8ba42e04c3d533cf.webp) 1. 如果 VS Code 啟動時終端已在運行,則該終端不會激活虛擬環境。最簡單的方法是使用 **Kill the active terminal instance** 按鈕關閉終端: - ![VS Code Kill the active terminal instance 按鈕](../../../../../translated_images/hk/vscode-kill-terminal.1cc4de7c6f25ee08.webp) + ![VS Code Kill the active terminal instance 按鈕](../../../../../translated_images/zh-HK/vscode-kill-terminal.1cc4de7c6f25ee08.webp) 1. 通過選擇 *Terminal -> New Terminal* 或按下 `` CTRL+` `` 啟動新的 VS Code 終端。新終端將加載虛擬環境,並在終端中顯示激活命令。虛擬環境的名稱(`.venv`)也會顯示在提示符中: @@ -359,7 +359,7 @@ Python 的一個強大功能是能夠安裝 [pip 套件](https://pypi.org)—— IoT 設備設計者還應考慮 IoT 設備在互聯網中斷或因位置導致信號丟失時是否仍能使用。一個智能溫控器應該能在無法向雲端發送遙測數據的情況下做出有限的決策來控制加熱。 -[![這輛法拉利因為有人在地下無信號的地方嘗試升級而被鎖死](../../../../../translated_images/hk/bricked-car.dc38f8efadc6c59d76211f981a521efb300939283dee468f79503aae3ec67615.png)](https://twitter.com/internetofshit/status/1315736960082808832) +[![這輛法拉利因為有人在地下無信號的地方嘗試升級而被鎖死](../../../../../translated_images/zh-HK/bricked-car.dc38f8efadc6c59d76211f981a521efb300939283dee468f79503aae3ec67615.png)](https://twitter.com/internetofshit/status/1315736960082808832) 為了讓 MQTT 處理連接中斷,設備和伺服器代碼需要負責確保消息的交付(如果需要),例如要求所有發送的消息都通過回覆主題上的額外消息進行回覆,如果沒有回覆則手動排隊以便稍後重播。 @@ -367,7 +367,7 @@ IoT 設備設計者還應考慮 IoT 設備在互聯網中斷或因位置導致 命令是由雲端發送到設備的消息,指示設備執行某些操作。大多數情況下,這涉及通過執行器輸出某些內容,但也可以是設備本身的指令,例如重啟或收集額外的遙測數據並將其作為命令的回應返回。 -![一個連接到互聯網的溫控器接收到開啟加熱的命令](../../../../../translated_images/hk/commands.d6c06bbbb3a02cce95f2831a1c331daf6dedd4e470c4aa2b0ae54f332016e504.png) +![一個連接到互聯網的溫控器接收到開啟加熱的命令](../../../../../translated_images/zh-HK/commands.d6c06bbbb3a02cce95f2831a1c331daf6dedd4e470c4aa2b0ae54f332016e504.png) 例如,溫控器可以接收到來自雲端的命令以開啟加熱。根據所有傳感器的遙測數據,如果雲服務決定加熱應該開啟,它就會發送相關命令。 diff --git a/translations/hk/1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md b/translations/hk/1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md index d44620180..8a823b21e 100644 --- a/translations/hk/1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md +++ b/translations/hk/1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md @@ -64,7 +64,7 @@ CO_OP_TRANSLATOR_METADATA: 1. 在 `src` 文件夾中創建一個名為 `config.h` 的新文件。你可以通過選擇 `src` 文件夾或其中的 `main.cpp` 文件,然後在資源管理器中選擇 **新文件** 按鈕來完成。當你的光標位於資源管理器上時,該按鈕才會出現。 - ![新文件按鈕](../../../../../translated_images/hk/vscode-new-file-button.182702340fe6723c.webp) + ![新文件按鈕](../../../../../translated_images/zh-HK/vscode-new-file-button.182702340fe6723c.webp) 1. 在該文件中添加以下代碼以定義 WiFi 憑據的常量: diff --git a/translations/hk/2-farm/lessons/1-predict-plant-growth/README.md b/translations/hk/2-farm/lessons/1-predict-plant-growth/README.md index 1030c826d..fb0888ce8 100644 --- a/translations/hk/2-farm/lessons/1-predict-plant-growth/README.md +++ b/translations/hk/2-farm/lessons/1-predict-plant-growth/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 使用物聯網預測植物生長 -![本課程概述的手繪筆記](../../../../../translated_images/hk/lesson-5.42b234299279d263143148b88ab4583861a32ddb03110c6c1120e41bb88b2592.jpg) +![本課程概述的手繪筆記](../../../../../translated_images/zh-HK/lesson-5.42b234299279d263143148b88ab4583861a32ddb03110c6c1120e41bb88b2592.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -65,7 +65,7 @@ CO_OP_TRANSLATOR_METADATA: ✅ 做一些研究。看看您花園、學校或當地公園中的植物,是否能找到它們的基礎溫度。 -![一個顯示植物生長率隨溫度升高而增加,然後在溫度過高時下降的圖表](../../../../../translated_images/hk/plant-growth-temp-graph.c6d69c9478e6ca83.webp) +![一個顯示植物生長率隨溫度升高而增加,然後在溫度過高時下降的圖表](../../../../../translated_images/zh-HK/plant-growth-temp-graph.c6d69c9478e6ca83.webp) 上圖顯示了一個生長率與溫度的示例圖表。在基礎溫度以下,植物不會生長。生長率在最佳溫度之前逐漸增加,然後在達到峰值後下降。在最高溫度時,生長停止。 @@ -99,7 +99,7 @@ CO_OP_TRANSLATOR_METADATA: 完整的 GDD 計算公式有點複雜,但通常使用簡化公式作為良好的近似值: -![GDD = T max + T min 除以 2,然後減去 T base](../../../../../translated_images/hk/gdd-calculation.79b3660f9c5757aa92dc2dd2cdde75344e2d2c1565c4b3151640f7887edc0275.png) +![GDD = T max + T min 除以 2,然後減去 T base](../../../../../translated_images/zh-HK/gdd-calculation.79b3660f9c5757aa92dc2dd2cdde75344e2d2c1565c4b3151640f7887edc0275.png) * **GDD** - 這是生長度日的數量 * **T max** - 這是每日最高溫度(攝氏度) @@ -127,7 +127,7 @@ CO_OP_TRANSLATOR_METADATA: 計算結果為: -![GDD = 16 + 12 除以 2,然後減去 10,結果為 4](../../../../../translated_images/hk/gdd-calculation-corn.64a58b7a7afcd0dfd46ff733996d939f17f4f3feac9f0d1c632be3523e51ebd9.png) +![GDD = 16 + 12 除以 2,然後減去 10,結果為 4](../../../../../translated_images/zh-HK/gdd-calculation-corn.64a58b7a7afcd0dfd46ff733996d939f17f4f3feac9f0d1c632be3523e51ebd9.png) 玉米在那一天獲得了 4 GDD。假設一種需要 800 GDD 才能成熟的玉米品種,它還需要 796 GDD 才能達到成熟。 @@ -141,7 +141,7 @@ CO_OP_TRANSLATOR_METADATA: 通過使用物聯網設備收集溫度數據,農民可以在植物接近成熟時自動收到通知。一個典型的架構是物聯網設備測量溫度,然後使用像 MQTT 這樣的技術通過互聯網發布這些遙測數據。服務器代碼會監聽這些數據並將其保存到某個地方,例如數據庫。這樣,數據可以稍後進行分析,例如每天晚上計算當天的 GDD,累計每種作物的 GDD,並在植物接近成熟時發出警報。 -![遙測數據被發送到服務器並保存到數據庫](../../../../../translated_images/hk/save-telemetry-database.ddc9c6bea0c5ba39.webp) +![遙測數據被發送到服務器並保存到數據庫](../../../../../translated_images/zh-HK/save-telemetry-database.ddc9c6bea0c5ba39.webp) 服務器代碼還可以增強數據,添加額外的信息。例如,物聯網設備可以發布一個標識符來指示是哪個設備,服務器代碼可以使用這個標識符查找設備的位置以及它正在監測的作物。它還可以添加基本數據,例如當前時間,因為某些物聯網設備沒有必要的硬件來準確跟蹤時間,或者需要額外的代碼通過互聯網讀取當前時間。 @@ -228,7 +228,7 @@ CSV 文件將有兩列——*日期* 和 *溫度*。*日期* 列設置為服務 > 💁 如果您使用的是虛擬 IoT 裝置,請勾選隨機選項並設定範圍,以避免每次返回的溫度值都相同。 - ![勾選隨機選項並設定範圍](../../../../../translated_images/hk/select-the-random-checkbox-and-set-a-range.32cf4bc7c12e797f.webp) + ![勾選隨機選項並設定範圍](../../../../../translated_images/zh-HK/select-the-random-checkbox-and-set-a-range.32cf4bc7c12e797f.webp) > 💁 如果您想執行一整天,請確保執行伺服器程式碼的電腦不會進入睡眠模式,可以透過更改電源設定,或執行類似 [這個保持系統活躍的 Python 腳本](https://github.com/jaqsparow/keep-system-active) 來實現。 @@ -248,7 +248,7 @@ CSV 文件將有兩列——*日期* 和 *溫度*。*日期* 列設置為服務 例如,如果當天的最高溫度是 25°C,最低溫度是 12°C: -![GDD = 25 + 12 除以 2,然後從結果中減去 10,得到 8.5](../../../../../translated_images/hk/gdd-calculation-strawberries.59f57db94b22adb8ff6efb951ace33af104a1c6ccca3ffb0f8169c14cb160c90.png) +![GDD = 25 + 12 除以 2,然後從結果中減去 10,得到 8.5](../../../../../translated_images/zh-HK/gdd-calculation-strawberries.59f57db94b22adb8ff6efb951ace33af104a1c6ccca3ffb0f8169c14cb160c90.png) * 25 + 12 = 37 * 37 / 2 = 18.5 diff --git a/translations/hk/2-farm/lessons/1-predict-plant-growth/assignment.md b/translations/hk/2-farm/lessons/1-predict-plant-growth/assignment.md index 8a18e5b97..faf6e56f5 100644 --- a/translations/hk/2-farm/lessons/1-predict-plant-growth/assignment.md +++ b/translations/hk/2-farm/lessons/1-predict-plant-growth/assignment.md @@ -42,7 +42,7 @@ CO_OP_TRANSLATOR_METADATA: Jupyter 會啟動並在你的瀏覽器中打開 Notebook。按照 Notebook 中的指引逐步操作,視覺化測量的溫度並計算生長度日。 - ![Jupyter Notebook](../../../../../translated_images/hk/gdd-jupyter-notebook.c5b52cf21094f158a61f47f455490fd95f1729777ff90861a4521820bf354cdc.png) + ![Jupyter Notebook](../../../../../translated_images/zh-HK/gdd-jupyter-notebook.c5b52cf21094f158a61f47f455490fd95f1729777ff90861a4521820bf354cdc.png) ## 評分標準 diff --git a/translations/hk/2-farm/lessons/1-predict-plant-growth/pi-temp.md b/translations/hk/2-farm/lessons/1-predict-plant-growth/pi-temp.md index 7a6f8db61..4b88a44e3 100644 --- a/translations/hk/2-farm/lessons/1-predict-plant-growth/pi-temp.md +++ b/translations/hk/2-farm/lessons/1-predict-plant-growth/pi-temp.md @@ -25,13 +25,13 @@ Grove 溫度感應器可以連接到 Raspberry Pi。 連接溫度感應器 -![Grove 溫度感應器](../../../../../translated_images/hk/grove-dht11.07f8eafceee170043efbb53e1d15722bd4e00fbaa9ff74290b57e9f66eb82c17.png) +![Grove 溫度感應器](../../../../../translated_images/zh-HK/grove-dht11.07f8eafceee170043efbb53e1d15722bd4e00fbaa9ff74290b57e9f66eb82c17.png) 1. 將 Grove 電纜的一端插入濕度和溫度感應器上的插座。它只能以一種方式插入。 1. 在 Raspberry Pi 關閉電源的情況下,將 Grove 電纜的另一端連接到 Pi 上 Grove Base hat 的數字插座 **D5**。此插座位於 GPIO 引腳旁邊的一排插座中,從左數第二個。 -![Grove 溫度感應器連接到插座 A0](../../../../../translated_images/hk/pi-temperature-sensor.3ff82fff672c8e565ef25a39d26d111de006b825a7e0867227ef4e7fbff8553c.png) +![Grove 溫度感應器連接到插座 A0](../../../../../translated_images/zh-HK/pi-temperature-sensor.3ff82fff672c8e565ef25a39d26d111de006b825a7e0867227ef4e7fbff8553c.png) ## 編程溫度感應器 diff --git a/translations/hk/2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md b/translations/hk/2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md index 083a411d9..9c7fdfbd3 100644 --- a/translations/hk/2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md +++ b/translations/hk/2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md @@ -47,11 +47,11 @@ CO_OP_TRANSLATOR_METADATA: 1. 點擊 **Add** 按鈕,在 Pin 5 上創建濕度感應器。 - ![濕度感應器設置](../../../../../translated_images/hk/counterfit-create-humidity-sensor.2750e27b6f30e09cf4e22101defd5252710717620816ab41ba688f91f757c49a.png) + ![濕度感應器設置](../../../../../translated_images/zh-HK/counterfit-create-humidity-sensor.2750e27b6f30e09cf4e22101defd5252710717620816ab41ba688f91f757c49a.png) 濕度感應器將被創建並顯示在感應器列表中。 - ![濕度感應器已創建](../../../../../translated_images/hk/counterfit-humidity-sensor.7b12f7f339e430cb26c8211d2dba4ef75261b353a01da0932698b5bebd693f27.png) + ![濕度感應器已創建](../../../../../translated_images/zh-HK/counterfit-humidity-sensor.7b12f7f339e430cb26c8211d2dba4ef75261b353a01da0932698b5bebd693f27.png) 1. 創建溫度感應器: @@ -63,11 +63,11 @@ CO_OP_TRANSLATOR_METADATA: 1. 點擊 **Add** 按鈕,在 Pin 6 上創建溫度感應器。 - ![溫度感應器設置](../../../../../translated_images/hk/counterfit-create-temperature-sensor.199350ed34f7343d79dccbe95eaf6c11d2121f03d1c35ab9613b330c23f39b29.png) + ![溫度感應器設置](../../../../../translated_images/zh-HK/counterfit-create-temperature-sensor.199350ed34f7343d79dccbe95eaf6c11d2121f03d1c35ab9613b330c23f39b29.png) 溫度感應器將被創建並顯示在感應器列表中。 - ![溫度感應器已創建](../../../../../translated_images/hk/counterfit-temperature-sensor.f0560236c96a9016bafce7f6f792476fe3367bc6941a1f7d5811d144d4bcbfff.png) + ![溫度感應器已創建](../../../../../translated_images/zh-HK/counterfit-temperature-sensor.f0560236c96a9016bafce7f6f792476fe3367bc6941a1f7d5811d144d4bcbfff.png) ## 編寫溫度感應器應用 diff --git a/translations/hk/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md b/translations/hk/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md index b084616d2..3864e48ca 100644 --- a/translations/hk/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md +++ b/translations/hk/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md @@ -27,13 +27,13 @@ Grove 溫度感應器可以連接到 Wio Terminal 的數字端口。 連接溫度感應器。 -![Grove 溫度感應器](../../../../../translated_images/hk/grove-dht11.07f8eafceee170043efbb53e1d15722bd4e00fbaa9ff74290b57e9f66eb82c17.png) +![Grove 溫度感應器](../../../../../translated_images/zh-HK/grove-dht11.07f8eafceee170043efbb53e1d15722bd4e00fbaa9ff74290b57e9f66eb82c17.png) 1. 將 Grove 電纜的一端插入濕度和溫度感應器上的插座。它只能以一種方式插入。 1. 在 Wio Terminal 未連接到電腦或其他電源的情況下,將 Grove 電纜的另一端連接到 Wio Terminal 屏幕右側的 Grove 插座。這是距離電源按鈕最遠的插座。 -![Grove 溫度感應器連接到右側插座](../../../../../translated_images/hk/wio-temperature-sensor.2934928f38c7f79a.webp) +![Grove 溫度感應器連接到右側插座](../../../../../translated_images/zh-HK/wio-temperature-sensor.2934928f38c7f79a.webp) ## 編程溫度感應器 diff --git a/translations/hk/2-farm/lessons/2-detect-soil-moisture/README.md b/translations/hk/2-farm/lessons/2-detect-soil-moisture/README.md index 821c8fe91..b65045163 100644 --- a/translations/hk/2-farm/lessons/2-detect-soil-moisture/README.md +++ b/translations/hk/2-farm/lessons/2-detect-soil-moisture/README.md @@ -20,7 +20,7 @@ UART 涉及物理電路,允許兩個設備進行通信。每個設備都有兩 * 設備 1 從其 Tx 引腳發送數據,設備 2 在其 Rx 引腳接收數據 * 設備 1 在其 Rx 引腳接收由設備 2 從其 Tx 引腳發送的數據 -![UART 的 Tx 引腳連接到另一個芯片的 Rx 引腳,反之亦然](../../../../../translated_images/hk/uart.d0dbd3fb9e3728c6.webp) +![UART 的 Tx 引腳連接到另一個芯片的 Rx 引腳,反之亦然](../../../../../translated_images/zh-HK/uart.d0dbd3fb9e3728c6.webp) 🎓 數據是一次發送一位,這被稱為*串行*通信。大多數操作系統和微控制器都有*串行端口*,即可以向你的代碼提供串行數據的連接。 @@ -49,7 +49,7 @@ SPI 控制器使用 3 根線,外加每個外設額外的一根線。外設使 | SCLK | 串行時鐘 | 這根線以控制器設置的速率發送時鐘信號。 | | CS | 芯片選擇 | 控制器有多根線,每個外設一根,每根線連接到相應外設的 CS 線。 | -![一個控制器和兩個外設的 SPI](../../../../../translated_images/hk/spi.297431d6f98b386b.webp) +![一個控制器和兩個外設的 SPI](../../../../../translated_images/zh-HK/spi.297431d6f98b386b.webp) CS 線用於一次激活一個外設,通過 COPI 和 CIPO 線進行通信。當控制器需要更換外設時,它會停用連接到當前激活外設的 CS 線,然後激活連接到下一個外設的線。 @@ -110,13 +110,13 @@ BLE 在高級傳感器中很受歡迎,例如用於手腕上的健身追蹤器 土壤濕度傳感器測量電阻或電容——這不僅因土壤濕度而異,還因土壤類型而異,因為土壤中的成分會改變其電氣特性。理想情況下,傳感器應進行校準——即從傳感器獲取讀數並與使用更科學方法獲得的測量值進行比較。例如,實驗室可以使用特定田地的樣本幾次一年計算重力土壤濕度,並使用這些數據校準傳感器,將傳感器讀數與重力土壤濕度匹配。 -![電壓與土壤濕度含量的圖表](../../../../../translated_images/hk/soil-moisture-to-voltage.df86d80cda158700.webp) +![電壓與土壤濕度含量的圖表](../../../../../translated_images/zh-HK/soil-moisture-to-voltage.df86d80cda158700.webp) 上圖顯示了如何校準傳感器。電壓是通過土壤樣本捕獲的,然後通過實驗室測量濕重與干重進行測量(通過測量濕重,然後在烤箱中烘干並測量干重)。一旦獲得了一些讀數,就可以將它們繪製在圖表上並擬合一條線。這條線可以用來將 IoT 設備的土壤濕度傳感器讀數轉換為實際的土壤濕度測量值。 💁 對於電阻式土壤濕度傳感器,隨著土壤濕度的增加,電壓會增加。對於電容式土壤濕度傳感器,隨著土壤濕度的增加,電壓會減少,因此這些圖表的斜率會向下而不是向上。 -![從圖表中插值的土壤濕度值](../../../../../translated_images/hk/soil-moisture-to-voltage-with-reading.681cb3e1f8b68caf.webp) +![從圖表中插值的土壤濕度值](../../../../../translated_images/zh-HK/soil-moisture-to-voltage-with-reading.681cb3e1f8b68caf.webp) 上圖顯示了土壤濕度傳感器的電壓讀數,通過將其追蹤到圖表上的線,可以計算出實際的土壤濕度。 diff --git a/translations/hk/2-farm/lessons/2-detect-soil-moisture/assignment.md b/translations/hk/2-farm/lessons/2-detect-soil-moisture/assignment.md index 9943540b5..2134fafbf 100644 --- a/translations/hk/2-farm/lessons/2-detect-soil-moisture/assignment.md +++ b/translations/hk/2-farm/lessons/2-detect-soil-moisture/assignment.md @@ -29,14 +29,14 @@ CO_OP_TRANSLATOR_METADATA: 重力土壤濕度的計算公式為: -![土壤濕度百分比等於濕土重量減去乾土重量,除以乾土重量,再乘以100](../../../../../translated_images/hk/gsm-calculation.6da38c6201eec14e7573bb2647aa18892883193553d23c9d77e5dc681522dfb2.png) +![土壤濕度百分比等於濕土重量減去乾土重量,除以乾土重量,再乘以100](../../../../../translated_images/zh-HK/gsm-calculation.6da38c6201eec14e7573bb2647aa18892883193553d23c9d77e5dc681522dfb2.png) * W - 濕土的重量 * W - 乾土的重量 例如,假設你有一份土壤樣本,濕重為212克,乾重為197克。 -![填入計算公式的例子](../../../../../translated_images/hk/gsm-calculation-example.99f9803b4f29e97668e7c15412136c0c399ab12dbba0b89596fdae9d8aedb6fb.png) +![填入計算公式的例子](../../../../../translated_images/zh-HK/gsm-calculation-example.99f9803b4f29e97668e7c15412136c0c399ab12dbba0b89596fdae9d8aedb6fb.png) * W = 212克 * W = 197克 diff --git a/translations/hk/2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md b/translations/hk/2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md index 19e6a5608..8ebe62b70 100644 --- a/translations/hk/2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md +++ b/translations/hk/2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md @@ -27,17 +27,17 @@ Grove 土壤濕度傳感器可以連接到 Raspberry Pi。 連接土壤濕度傳感器。 -![Grove 土壤濕度傳感器](../../../../../translated_images/hk/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.png) +![Grove 土壤濕度傳感器](../../../../../translated_images/zh-HK/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.png) 1. 將 Grove 電纜的一端插入土壤濕度傳感器上的插座。它只能以一種方式插入。 1. 在 Raspberry Pi 關機的情況下,將 Grove 電纜的另一端連接到 Pi 上 Grove Base Hat 的模擬插座 **A0**。該插座位於 GPIO 引腳旁邊的一排插座中,從右數第二個。 -![Grove 土壤濕度傳感器連接到 A0 插座](../../../../../translated_images/hk/pi-soil-moisture-sensor.fdd7eb2393792cf6739cacf1985d9f55beda16d372f30d0b5a51d586f978a870.png) +![Grove 土壤濕度傳感器連接到 A0 插座](../../../../../translated_images/zh-HK/pi-soil-moisture-sensor.fdd7eb2393792cf6739cacf1985d9f55beda16d372f30d0b5a51d586f978a870.png) 1. 將土壤濕度傳感器插入土壤中。傳感器上有一條“最高位置線”——一條白線。將傳感器插入土壤,直到但不超過這條線。 -![Grove 土壤濕度傳感器插入土壤中](../../../../../translated_images/hk/soil-moisture-sensor-in-soil.bfad91002bda5e96.webp) +![Grove 土壤濕度傳感器插入土壤中](../../../../../translated_images/zh-HK/soil-moisture-sensor-in-soil.bfad91002bda5e96.webp) ## 編程土壤濕度傳感器 diff --git a/translations/hk/2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md b/translations/hk/2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md index 7dd61d8eb..bb82bccf6 100644 --- a/translations/hk/2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md +++ b/translations/hk/2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md @@ -43,11 +43,11 @@ CO_OP_TRANSLATOR_METADATA: 1. 點擊 **Add** 按鈕,在 Pin 0 上創建 *Soil Moisture* 傳感器。 - ![土壤濕度傳感器設置](../../../../../translated_images/hk/counterfit-create-soil-moisture-sensor.35266135a5e0ae68b29a684d7db0d2933a8098b2307d197f7c71577b724603aa.png) + ![土壤濕度傳感器設置](../../../../../translated_images/zh-HK/counterfit-create-soil-moisture-sensor.35266135a5e0ae68b29a684d7db0d2933a8098b2307d197f7c71577b724603aa.png) 土壤濕度傳感器將被創建並顯示在傳感器列表中。 - ![已創建的土壤濕度傳感器](../../../../../translated_images/hk/counterfit-soil-moisture-sensor.81742b2de0e9de60a3b3b9a2ff8ecc686d428eb6d71820f27a693be26e5aceee.png) + ![已創建的土壤濕度傳感器](../../../../../translated_images/zh-HK/counterfit-soil-moisture-sensor.81742b2de0e9de60a3b3b9a2ff8ecc686d428eb6d71820f27a693be26e5aceee.png) ## 編程土壤濕度傳感器應用 diff --git a/translations/hk/2-farm/lessons/2-detect-soil-moisture/wio-terminal-soil-moisture.md b/translations/hk/2-farm/lessons/2-detect-soil-moisture/wio-terminal-soil-moisture.md index f3cbcd2f2..4ff390d0a 100644 --- a/translations/hk/2-farm/lessons/2-detect-soil-moisture/wio-terminal-soil-moisture.md +++ b/translations/hk/2-farm/lessons/2-detect-soil-moisture/wio-terminal-soil-moisture.md @@ -27,17 +27,17 @@ Grove 土壤濕度傳感器可以連接到 Wio Terminal 的可配置模擬/數 連接土壤濕度傳感器。 -![Grove 土壤濕度傳感器](../../../../../translated_images/hk/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.png) +![Grove 土壤濕度傳感器](../../../../../translated_images/zh-HK/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.png) 1. 將 Grove 電纜的一端插入土壤濕度傳感器的插座中。電纜只能以一種方式插入。 1. 在 Wio Terminal 未連接到電腦或其他電源的情況下,將 Grove 電纜的另一端連接到 Wio Terminal 屏幕右側的 Grove 插座。這是距離電源按鈕最遠的插座。 -![Grove 土壤濕度傳感器連接到右側插座](../../../../../translated_images/hk/wio-soil-moisture-sensor.46919b61c3f6cb74.webp) +![Grove 土壤濕度傳感器連接到右側插座](../../../../../translated_images/zh-HK/wio-soil-moisture-sensor.46919b61c3f6cb74.webp) 1. 將土壤濕度傳感器插入土壤中。傳感器上有一條“最高位置線”——一條白線。將傳感器插入到該線以下,但不要超過該線。 -![Grove 土壤濕度傳感器插入土壤中](../../../../../translated_images/hk/soil-moisture-sensor-in-soil.bfad91002bda5e96.webp) +![Grove 土壤濕度傳感器插入土壤中](../../../../../translated_images/zh-HK/soil-moisture-sensor-in-soil.bfad91002bda5e96.webp) 1. 現在可以將 Wio Terminal 連接到電腦。 diff --git a/translations/hk/2-farm/lessons/3-automated-plant-watering/README.md b/translations/hk/2-farm/lessons/3-automated-plant-watering/README.md index 8a425f89e..b068ebee7 100644 --- a/translations/hk/2-farm/lessons/3-automated-plant-watering/README.md +++ b/translations/hk/2-farm/lessons/3-automated-plant-watering/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 自動化植物灌溉 -![本課程的手繪筆記概覽](../../../../../translated_images/hk/lesson-7.30b5f577d3cb8e031238751475cb519c7d6dbaea261b5df4643d086ffb2a03bb.jpg) +![本課程的手繪筆記概覽](../../../../../translated_images/zh-HK/lesson-7.30b5f577d3cb8e031238751475cb519c7d6dbaea261b5df4643d086ffb2a03bb.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -41,7 +41,7 @@ IoT 設備使用低電壓。雖然這足以驅動感測器和像 LED 這樣的 解決方案是將水泵連接到外部電源,並使用執行器來開啟或關閉水泵,就像你用手指打開燈一樣。用手指翻動開關只需要很少的能量(來自你的身體),而這個動作會將燈連接到 110V/240V 的市電。 -![一個燈開關打開燈的電源](../../../../../translated_images/hk/light-switch.760317ad6ab8bd6d611da5352dfe9c73a94a0822ccec7df3c8bae35da18e1658.png) +![一個燈開關打開燈的電源](../../../../../translated_images/zh-HK/light-switch.760317ad6ab8bd6d611da5352dfe9c73a94a0822ccec7df3c8bae35da18e1658.png) > 🎓 [市電](https://wikipedia.org/wiki/Mains_electricity) 是指通過國家基礎設施輸送到家庭和企業的電力,在世界許多地方都很常見。 @@ -55,11 +55,11 @@ IoT 設備使用低電壓。雖然這足以驅動感測器和像 LED 這樣的 > 🎓 [電磁鐵](https://wikipedia.org/wiki/Electromagnet) 是通過電流流過線圈產生磁場的磁鐵。當電流通過時,線圈會被磁化;當電流關閉時,線圈失去磁性。 -![當電磁鐵通電時,產生磁場,打開輸出電路的開關](../../../../../translated_images/hk/relay-on.4db16a0fd6b66926.webp) +![當電磁鐵通電時,產生磁場,打開輸出電路的開關](../../../../../translated_images/zh-HK/relay-on.4db16a0fd6b66926.webp) 在繼電器中,控制電路為電磁鐵供電。當電磁鐵通電時,它會拉動一個槓桿,移動開關,閉合一對觸點,從而完成輸出電路。 -![當電磁鐵斷電時,磁場消失,關閉輸出電路的開關](../../../../../translated_images/hk/relay-off.c34a178a2960fecd.webp) +![當電磁鐵斷電時,磁場消失,關閉輸出電路的開關](../../../../../translated_images/zh-HK/relay-off.c34a178a2960fecd.webp) 當控制電路斷電時,電磁鐵關閉,釋放槓桿並打開觸點,從而關閉輸出電路。繼電器是一種數位執行器——高信號打開繼電器,低信號關閉繼電器。 @@ -81,11 +81,11 @@ IoT 設備使用低電壓。雖然這足以驅動感測器和像 LED 這樣的 電磁鐵啟動並拉動槓桿所需的功率很小,可以使用 IoT 開發板的 3.3V 或 5V 輸出來控制。輸出電路則可以承載更多的功率,具體取決於繼電器,包括市電電壓甚至更高的工業用電壓。這樣,IoT 開發板可以控制灌溉系統,從單株植物的小型水泵到整個商業農場的大型工業系統。 -![一個 Grove 繼電器,標註了控制電路、輸出電路和繼電器](../../../../../translated_images/hk/grove-relay-labelled.293e068f5c3c2a199bd7892f2661fdc9e10c920b535cfed317fbd6d1d4ae1168.png) +![一個 Grove 繼電器,標註了控制電路、輸出電路和繼電器](../../../../../translated_images/zh-HK/grove-relay-labelled.293e068f5c3c2a199bd7892f2661fdc9e10c920b535cfed317fbd6d1d4ae1168.png) 上圖顯示了一個 Grove 繼電器。控制電路連接到 IoT 設備,使用 3.3V 或 5V 打開或關閉繼電器。輸出電路有兩個端子,任一端都可以是電源或接地。輸出電路可以處理高達 250V、10A 的電流,足以驅動一系列市電設備。你還可以找到能處理更高功率的繼電器。 -![通過繼電器連接的水泵](../../../../../translated_images/hk/pump-wired-to-relay.66c5cfc0d8918990.webp) +![通過繼電器連接的水泵](../../../../../translated_images/zh-HK/pump-wired-to-relay.66c5cfc0d8918990.webp) 在上圖中,水泵通過繼電器供電。一條紅線將 USB 電源的 +5V 端子連接到繼電器的輸出電路的一個端子,另一條紅線將輸出電路的另一個端子連接到水泵。一條黑線將水泵連接到 USB 電源的接地端子。當繼電器打開時,它完成了電路,將 5V 電壓送到水泵,啟動水泵。 @@ -135,7 +135,7 @@ IoT 設備使用低電壓。雖然這足以驅動感測器和像 LED 這樣的 如果你在上一課中使用了實體感測器來測量土壤濕度,你可能會注意到,在你給植物澆水後,土壤濕度讀數需要幾秒鐘才會下降。這並不是因為感測器反應慢,而是因為水滲透到土壤中需要時間。 💁 如果你在感應器附近澆水過多,你可能會看到讀數迅速下降,然後又回升——這是因為感應器附近的水分向周圍土壤擴散,導致感應器附近的土壤濕度降低所引起的。 -![土壤濕度測量值為 658,在澆水時並未立即改變,只有在水滲透到土壤後才下降至 320](../../../../../translated_images/hk/soil-moisture-travel.a0e31af222cf1438.webp) +![土壤濕度測量值為 658,在澆水時並未立即改變,只有在水滲透到土壤後才下降至 320](../../../../../translated_images/zh-HK/soil-moisture-travel.a0e31af222cf1438.webp) 在上圖中,土壤濕度讀數顯示為 658。植物被澆水,但這個讀數並未立即改變,因為水尚未到達感測器。甚至在水到達感測器之前,澆水可能已經完成,然後讀數才會下降以反映新的濕度水平。 @@ -157,11 +157,11 @@ IoT 設備使用低電壓。雖然這足以驅動感測器和像 LED 這樣的 > 💁 這種時間控制非常特定於你正在建造的 IoT 裝置、測量的屬性以及使用的感測器和執行器。 -![一株草莓植物通過水泵連接到水源,水泵通過繼電器控制。繼電器和植物中的土壤濕度感測器都連接到 Raspberry Pi](../../../../../translated_images/hk/strawberry-with-pump.b410fc72ac6aabad.webp) +![一株草莓植物通過水泵連接到水源,水泵通過繼電器控制。繼電器和植物中的土壤濕度感測器都連接到 Raspberry Pi](../../../../../translated_images/zh-HK/strawberry-with-pump.b410fc72ac6aabad.webp) 例如,我有一株草莓植物,配備了一個土壤濕度感測器和一個由繼電器控制的水泵。我觀察到當我添加水時,土壤濕度讀數需要大約 20 秒才能穩定。這意味著我需要關閉繼電器並等待 20 秒再檢查濕度水平。我寧願水少一點也不願水太多——我可以隨時再次開啟水泵,但無法從植物中移除水。 -![步驟 1,測量濕度。步驟 2,添加水。步驟 3,等待水滲透到土壤。步驟 4,重新測量濕度](../../../../../translated_images/hk/soil-moisture-delay.865f3fae206db01d.webp) +![步驟 1,測量濕度。步驟 2,添加水。步驟 3,等待水滲透到土壤。步驟 4,重新測量濕度](../../../../../translated_images/zh-HK/soil-moisture-delay.865f3fae206db01d.webp) 這意味著最佳的澆水流程可能如下: diff --git a/translations/hk/2-farm/lessons/3-automated-plant-watering/pi-relay.md b/translations/hk/2-farm/lessons/3-automated-plant-watering/pi-relay.md index 44156c03e..48f6cb0c6 100644 --- a/translations/hk/2-farm/lessons/3-automated-plant-watering/pi-relay.md +++ b/translations/hk/2-farm/lessons/3-automated-plant-watering/pi-relay.md @@ -27,13 +27,13 @@ Grove 繼電器可以連接到 Raspberry Pi。 連接繼電器。 -![Grove 繼電器](../../../../../translated_images/hk/grove-relay.d426958ca210fbd0fb7983d7edc069d46c73a8b0a099d94797bd756f7b6bb6be.png) +![Grove 繼電器](../../../../../translated_images/zh-HK/grove-relay.d426958ca210fbd0fb7983d7edc069d46c73a8b0a099d94797bd756f7b6bb6be.png) 1. 將 Grove 電纜的一端插入繼電器上的插座。它只能以一種方式插入。 1. 在 Raspberry Pi 關機的情況下,將 Grove 電纜的另一端連接到 Pi 上 Grove Base Hat 的數字插座 **D5**。此插座位於 GPIO 插腳旁邊插座行的第二個位置。保持土壤濕度感測器連接到 **A0** 插座。 -![Grove 繼電器連接到 D5 插座,土壤濕度感測器連接到 A0 插座](../../../../../translated_images/hk/pi-relay-and-soil-moisture-sensor.02f3198975b8c53e69ec716cd2719ce117700bd1fc933eaf93476c103c57939b.png) +![Grove 繼電器連接到 D5 插座,土壤濕度感測器連接到 A0 插座](../../../../../translated_images/zh-HK/pi-relay-and-soil-moisture-sensor.02f3198975b8c53e69ec716cd2719ce117700bd1fc933eaf93476c103c57939b.png) 1. 如果土壤濕度感測器尚未插入土壤,請將其插入土壤中(從上一課程中)。 diff --git a/translations/hk/2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md b/translations/hk/2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md index c81446b29..e8fd25a49 100644 --- a/translations/hk/2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md +++ b/translations/hk/2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md @@ -37,11 +37,11 @@ CO_OP_TRANSLATOR_METADATA: 1. 點擊 **Add** 按鈕,在 Pin 5 上創建繼電器。 - ![繼電器設置](../../../../../translated_images/hk/counterfit-create-relay.fa7c40fd0f2f6afc33b35ea94fcb235085be4861e14e3fe6b9b7bcfc82d1c888.png) + ![繼電器設置](../../../../../translated_images/zh-HK/counterfit-create-relay.fa7c40fd0f2f6afc33b35ea94fcb235085be4861e14e3fe6b9b7bcfc82d1c888.png) 繼電器將被創建並顯示在 Actuators 列表中。 - ![已創建的繼電器](../../../../../translated_images/hk/counterfit-relay.bbf74c1dbdc8b9acd983367fcbd06703a402aefef6af54ddb28e11307ba8a12c.png) + ![已創建的繼電器](../../../../../translated_images/zh-HK/counterfit-relay.bbf74c1dbdc8b9acd983367fcbd06703a402aefef6af54ddb28e11307ba8a12c.png) ## 編程繼電器 diff --git a/translations/hk/2-farm/lessons/3-automated-plant-watering/wio-terminal-relay.md b/translations/hk/2-farm/lessons/3-automated-plant-watering/wio-terminal-relay.md index 48ec74051..ad16d4480 100644 --- a/translations/hk/2-farm/lessons/3-automated-plant-watering/wio-terminal-relay.md +++ b/translations/hk/2-farm/lessons/3-automated-plant-watering/wio-terminal-relay.md @@ -27,13 +27,13 @@ Grove 繼電器可以連接到 Wio Terminal 的數字端口。 連接繼電器。 -![Grove 繼電器](../../../../../translated_images/hk/grove-relay.d426958ca210fbd0fb7983d7edc069d46c73a8b0a099d94797bd756f7b6bb6be.png) +![Grove 繼電器](../../../../../translated_images/zh-HK/grove-relay.d426958ca210fbd0fb7983d7edc069d46c73a8b0a099d94797bd756f7b6bb6be.png) 1. 將 Grove 電纜的一端插入繼電器上的插座。它只能以一種方式插入。 1. 在 Wio Terminal 未連接到電腦或其他電源的情況下,將 Grove 電纜的另一端連接到 Wio Terminal 屏幕左側的 Grove 插座。保持土壤濕度傳感器連接到右側插座。 -![Grove 繼電器連接到左側插座,土壤濕度傳感器連接到右側插座](../../../../../translated_images/hk/wio-relay-and-soil-moisture-sensor.ed722202d42babe0.webp) +![Grove 繼電器連接到左側插座,土壤濕度傳感器連接到右側插座](../../../../../translated_images/zh-HK/wio-relay-and-soil-moisture-sensor.ed722202d42babe0.webp) 1. 如果土壤濕度傳感器尚未插入土壤,請將其插入。 diff --git a/translations/hk/2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md b/translations/hk/2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md index dd85d7ab5..ad7d857c0 100644 --- a/translations/hk/2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md +++ b/translations/hk/2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 將你的植物遷移到雲端 -![本課程的手繪筆記概覽](../../../../../translated_images/hk/lesson-8.3f21f3c11159e6a0a376351973ea5724d5de68fa23b4288853a174bed9ac48c3.jpg) +![本課程的手繪筆記概覽](../../../../../translated_images/zh-HK/lesson-8.3f21f3c11159e6a0a376351973ea5724d5de68fa23b4288853a174bed9ac48c3.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -55,8 +55,8 @@ IoT 設備通過公共 MQTT broker 進行通信,這是一種展示原理的方 雲端經常被戲稱為「別人的電腦」。最初的想法很簡單——與其購買電腦,不如租用別人的電腦。雲計算提供商會管理大型數據中心,負責購買和安裝硬件,管理電力和冷卻、網絡連接、建築安全、硬件和軟件更新等所有事情。作為客戶,你只需租用所需的電腦,需求增加時租用更多,需求減少時減少租用數量。這些雲端數據中心遍布全球。 -![一個 Microsoft 雲端數據中心](../../../../../translated_images/hk/azure-region-existing.73f704604f2aa6cb9b5a49ed40e93d4fd81ae3f4e6af4a8ca504023902832f56.png) -![一個 Microsoft 雲端數據中心的擴建計劃](../../../../../translated_images/hk/azure-region-planned-expansion.a5074a1e8af74f156a73552d502429e5b126ea5019274d767ecb4b9afdad442b.png) +![一個 Microsoft 雲端數據中心](../../../../../translated_images/zh-HK/azure-region-existing.73f704604f2aa6cb9b5a49ed40e93d4fd81ae3f4e6af4a8ca504023902832f56.png) +![一個 Microsoft 雲端數據中心的擴建計劃](../../../../../translated_images/zh-HK/azure-region-planned-expansion.a5074a1e8af74f156a73552d502429e5b126ea5019274d767ecb4b9afdad442b.png) 這些數據中心的面積可以達到數平方公里。上圖是幾年前拍攝的 Microsoft 雲端數據中心,展示了初始規模以及擴建計劃。擴建所清理的區域超過 5 平方公里。 @@ -72,7 +72,7 @@ IoT 設備通過公共 MQTT broker 進行通信,這是一種展示原理的方 Azure 是 Microsoft 的開發者雲端,這是你在本課中將使用的雲端。以下視頻簡要介紹了 Azure: -[![Azure 概覽視頻](../../../../../translated_images/hk/what-is-azure-video-thumbnail.20174db09e03bbb8.webp)](https://www.microsoft.com/videoplayer/embed/RE4Ibng?WT.mc_id=academic-17441-jabenn) +[![Azure 概覽視頻](../../../../../translated_images/zh-HK/what-is-azure-video-thumbnail.20174db09e03bbb8.webp)](https://www.microsoft.com/videoplayer/embed/RE4Ibng?WT.mc_id=academic-17441-jabenn) ## 創建雲端訂閱 @@ -117,11 +117,11 @@ Azure 提供兩種類型的免費訂閱: IoT 設備可以通過設備 SDK(提供與服務功能交互的代碼庫)或直接使用通信協議(如 MQTT 或 HTTP)連接到雲服務。設備 SDK 通常是最簡單的路徑,因為它處理了所有細節,例如知道要發布或訂閱的主題,以及如何處理安全性。 -![設備通過設備 SDK 連接到服務。伺服器代碼也通過 SDK 連接到服務](../../../../../translated_images/hk/iot-service-connectivity.7e873847921a5d6fd60d0ba3a943210194518cee0d4e362476624316443275c3.png) +![設備通過設備 SDK 連接到服務。伺服器代碼也通過 SDK 連接到服務](../../../../../translated_images/zh-HK/iot-service-connectivity.7e873847921a5d6fd60d0ba3a943210194518cee0d4e362476624316443275c3.png) 你的設備然後通過該服務與應用程序的其他部分通信——類似於你之前通過 MQTT 發送遙測數據和接收命令的方式。這通常使用服務 SDK 或類似的庫。消息從設備發送到服務,應用程序的其他組件可以讀取這些消息,並將消息發送回設備。 -![沒有有效密鑰的設備無法連接到 IoT 服務](../../../../../translated_images/hk/iot-service-allowed-denied-connection.818b0063ac213fb84204a7229303764d9b467ca430fb822b4ac2fca267d56726.png) +![沒有有效密鑰的設備無法連接到 IoT 服務](../../../../../translated_images/zh-HK/iot-service-allowed-denied-connection.818b0063ac213fb84204a7229303764d9b467ca430fb822b4ac2fca267d56726.png) 這些服務通過了解所有可以連接並發送數據的設備來實現安全性,這可以通過預先註冊設備或為設備提供密鑰或證書來完成,設備在首次連接時使用這些密鑰或證書進行註冊。未知設備無法連接,如果嘗試連接,服務會拒絕並忽略其發送的消息。 @@ -133,7 +133,7 @@ IoT 設備可以通過設備 SDK(提供與服務功能交互的代碼庫)或 現在你已擁有 Azure 訂閱,可以註冊一個 IoT 服務。Microsoft 的 IoT 服務叫做 Azure IoT Hub。 -![Azure IoT Hub 標誌](../../../../../translated_images/hk/azure-iot-hub-logo.28a19de76d0a1932464d858f7558712bcdace3e5ec69c434d482ed7ce41c3a26.png) +![Azure IoT Hub 標誌](../../../../../translated_images/zh-HK/azure-iot-hub-logo.28a19de76d0a1932464d858f7558712bcdace3e5ec69c434d482ed7ce41c3a26.png) 以下影片簡要介紹了 Azure IoT Hub: diff --git a/translations/hk/2-farm/lessons/5-migrate-application-to-the-cloud/README.md b/translations/hk/2-farm/lessons/5-migrate-application-to-the-cloud/README.md index 32a170445..e0a2b7e05 100644 --- a/translations/hk/2-farm/lessons/5-migrate-application-to-the-cloud/README.md +++ b/translations/hk/2-farm/lessons/5-migrate-application-to-the-cloud/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 將應用程式邏輯遷移到雲端 -![本課程的手繪筆記概覽](../../../../../translated_images/hk/lesson-9.dfe99c8e891f48e179724520da9f5794392cf9a625079281ccdcbf09bd85e1b6.jpg) +![本課程的手繪筆記概覽](../../../../../translated_images/zh-HK/lesson-9.dfe99c8e891f48e179724520da9f5794392cf9a625079281ccdcbf09bd85e1b6.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -37,11 +37,11 @@ CO_OP_TRANSLATOR_METADATA: 無伺服器(或無伺服器計算)是指創建小型代碼塊,這些代碼塊會在雲端中根據不同類型的事件執行。當事件發生時,您的代碼會被執行,並接收有關該事件的數據。這些事件可以來自多種來源,包括網頁請求、放入佇列的消息、數據庫中數據的更改,或者 IoT 裝置發送到 IoT 服務的消息。 -![事件從 IoT 服務發送到無伺服器服務,所有事件同時由多個函數處理](../../../../../translated_images/hk/iot-messages-to-serverless.0194da1cc0732bb7d0f823aed3fce54735c6b1ad3bf36089804d8aaefc0a774f.png) +![事件從 IoT 服務發送到無伺服器服務,所有事件同時由多個函數處理](../../../../../translated_images/zh-HK/iot-messages-to-serverless.0194da1cc0732bb7d0f823aed3fce54735c6b1ad3bf36089804d8aaefc0a774f.png) > 💁 如果您之前使用過數據庫觸發器,可以將其視為類似的概念,即代碼因事件(如插入一行)而觸發。 -![當許多事件同時發生時,無伺服器服務會擴展以同時處理所有事件](../../../../../translated_images/hk/serverless-scaling.f8c769adf0413fd1.webp) +![當許多事件同時發生時,無伺服器服務會擴展以同時處理所有事件](../../../../../translated_images/zh-HK/serverless-scaling.f8c769adf0413fd1.webp) 您的代碼僅在事件發生時執行,其他時間並不會保持活躍。事件發生時,您的代碼會被加載並執行。這使得無伺服器具有很高的可擴展性——如果許多事件同時發生,雲端提供商可以根據需要同時運行多個函數,利用其可用的伺服器資源。這種模式的缺點是,如果需要在事件之間共享信息,則需要將其存儲在數據庫等地方,而不是存儲在記憶體中。 @@ -63,7 +63,7 @@ CO_OP_TRANSLATOR_METADATA: Microsoft 的無伺服器計算服務稱為 Azure Functions。 -![Azure Functions 標誌](../../../../../translated_images/hk/azure-functions-logo.1cfc8e3204c9c44aaf80fcf406fc8544d80d7f00f8d3e8ed6fed764563e17564.png) +![Azure Functions 標誌](../../../../../translated_images/zh-HK/azure-functions-logo.1cfc8e3204c9c44aaf80fcf406fc8544d80d7f00f8d3e8ed6fed764563e17564.png) 以下的短視頻提供了 Azure Functions 的概覽: @@ -244,7 +244,7 @@ Azure Functions CLI 可用於創建新的 Functions 應用程式。 VS Code. Initialize for optimal use with VS Code? ``` - ![通知](../../../../../translated_images/hk/vscode-azure-functions-init-notification.bd19b49229963edb.webp) + ![通知](../../../../../translated_images/zh-HK/vscode-azure-functions-init-notification.bd19b49229963edb.webp) 在通知中選擇 **Yes**。 diff --git a/translations/hk/2-farm/lessons/6-keep-your-plant-secure/README.md b/translations/hk/2-farm/lessons/6-keep-your-plant-secure/README.md index 68e935a3d..b6e483e55 100644 --- a/translations/hk/2-farm/lessons/6-keep-your-plant-secure/README.md +++ b/translations/hk/2-farm/lessons/6-keep-your-plant-secure/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 保護你的植物安全 -![本課程的手繪筆記概述](../../../../../translated_images/hk/lesson-10.829c86b80b9403bb770929ee553a1d293afe50dc23121aaf9be144673ae012cc.jpg) +![本課程的手繪筆記概述](../../../../../translated_images/zh-HK/lesson-10.829c86b80b9403bb770929ee553a1d293afe50dc23121aaf9be144673ae012cc.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大的版本。 @@ -61,11 +61,11 @@ CO_OP_TRANSLATOR_METADATA: 當設備連接到物聯網服務時,它會使用一個ID來識別自己。問題是這個ID可能會被克隆——黑客可以設置一個惡意設備,使用與真實設備相同的ID,但發送虛假數據。 -![有效設備和惡意設備可能使用相同的ID發送遙測數據](../../../../../translated_images/hk/iot-device-and-hacked-device-connecting.e0671675df74d6d99eb1dedb5a670e606f698efa6202b1ad4c8ae548db299cc6.png) +![有效設備和惡意設備可能使用相同的ID發送遙測數據](../../../../../translated_images/zh-HK/iot-device-and-hacked-device-connecting.e0671675df74d6d99eb1dedb5a670e606f698efa6202b1ad4c8ae548db299cc6.png) 解決方法是將發送的數據轉換為一種加密格式,使用設備和雲端都知道的一個值來加密數據。這個過程稱為*加密*,用於加密數據的值稱為*加密密鑰*。 -![如果使用加密,則只有加密的消息會被接受,其他消息會被拒絕](../../../../../translated_images/hk/iot-device-and-hacked-device-connecting-encryption.5941aff601fc978f979e46f2849b573564eeb4a4dc5b52f669f62745397492fb.png) +![如果使用加密,則只有加密的消息會被接受,其他消息會被拒絕](../../../../../translated_images/zh-HK/iot-device-and-hacked-device-connecting-encryption.5941aff601fc978f979e46f2849b573564eeb4a4dc5b52f669f62745397492fb.png) 雲端服務可以使用一個過程將數據轉換回可讀格式,這個過程稱為*解密*,使用相同的加密密鑰或一個*解密密鑰*。如果加密的消息無法通過密鑰解密,則表明設備已被攻擊,消息會被拒絕。 @@ -97,15 +97,15 @@ CO_OP_TRANSLATOR_METADATA: **對稱**加密使用相同的密鑰來加密和解密數據。發送者和接收者都需要知道相同的密鑰。這是最不安全的類型,因為密鑰需要以某種方式共享。為了讓發送者向接收者發送加密消息,發送者可能首先需要向接收者發送密鑰。 -![對稱密鑰加密使用相同的密鑰加密和解密消息](../../../../../translated_images/hk/send-message-symmetric-key.a2e8ad0d495896ff.webp) +![對稱密鑰加密使用相同的密鑰加密和解密消息](../../../../../translated_images/zh-HK/send-message-symmetric-key.a2e8ad0d495896ff.webp) 如果密鑰在傳輸過程中被竊取,或者發送者或接收者被黑客攻擊並且密鑰被找到,加密就可能被破解。 -![對稱密鑰加密只有在黑客未獲得密鑰的情況下才安全——如果密鑰被竊取,他們可以攔截並解密消息](../../../../../translated_images/hk/send-message-symmetric-key-hacker.e7cb53db1707adfb.webp) +![對稱密鑰加密只有在黑客未獲得密鑰的情況下才安全——如果密鑰被竊取,他們可以攔截並解密消息](../../../../../translated_images/zh-HK/send-message-symmetric-key-hacker.e7cb53db1707adfb.webp) **非對稱**加密使用兩個密鑰——加密密鑰和解密密鑰,稱為公鑰/私鑰對。公鑰用於加密消息,但不能用於解密;私鑰用於解密消息,但不能用於加密。 -![非對稱加密使用不同的密鑰加密和解密。加密密鑰會發送給任何消息發送者,以便他們在向擁有密鑰的接收者發送消息之前加密消息](../../../../../translated_images/hk/send-message-asymmetric.7abe327c62615b8c.webp) +![非對稱加密使用不同的密鑰加密和解密。加密密鑰會發送給任何消息發送者,以便他們在向擁有密鑰的接收者發送消息之前加密消息](../../../../../translated_images/zh-HK/send-message-asymmetric.7abe327c62615b8c.webp) 接收者分享他們的公鑰,發送者使用這個公鑰加密消息。一旦消息被發送,接收者使用他們的私鑰解密消息。非對稱加密更安全,因為私鑰由接收者保密,從不共享。任何人都可以擁有公鑰,因為它只能用於加密消息。 @@ -165,7 +165,7 @@ X.509 證書是包含公鑰部分的數字文件。它們通常由一些被稱 使用 X.509 證書時,發送方和接收方都會擁有自己的公鑰和私鑰,以及包含公鑰的 X.509 證書。然後他們以某種方式交換 X.509 證書,使用彼此的公鑰加密發送的數據,並使用自己的私鑰解密接收到的數據。 -![與其共享公鑰,你可以共享證書。證書的使用者可以通過檢查簽署證書的授權機構來驗證它是否來自你。](../../../../../translated_images/hk/send-message-certificate.9cc576ac1e46b76e.webp) +![與其共享公鑰,你可以共享證書。證書的使用者可以通過檢查簽署證書的授權機構來驗證它是否來自你。](../../../../../translated_images/zh-HK/send-message-certificate.9cc576ac1e46b76e.webp) 使用 X.509 證書的一大優勢是它們可以在設備之間共享。你可以創建一個證書,將其上傳到 IoT Hub,並將其用於所有設備。每個設備只需要知道私鑰即可解密從 IoT Hub 接收到的消息。 diff --git a/translations/hk/3-transport/lessons/1-location-tracking/README.md b/translations/hk/3-transport/lessons/1-location-tracking/README.md index 47eaa3646..f0bbeb76b 100644 --- a/translations/hk/3-transport/lessons/1-location-tracking/README.md +++ b/translations/hk/3-transport/lessons/1-location-tracking/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 位置追蹤 -![本課程的手繪筆記概覽](../../../../../translated_images/hk/lesson-11.9fddbac4b664c6d50ab7ac9bb32f1fc3f945f03760e72f7f43938073762fb017.jpg) +![本課程的手繪筆記概覽](../../../../../translated_images/zh-HK/lesson-11.9fddbac4b664c6d50ab7ac9bb32f1fc3f945f03760e72f7f43938073762fb017.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -72,13 +72,13 @@ CO_OP_TRANSLATOR_METADATA: > 💁 沒有人真正知道為什麼圓被分為 360 度。[維基百科上的角度頁面](https://wikipedia.org/wiki/Degree_(angle))介紹了一些可能的原因。 -![緯度線從北極的 90°,到赤道的 0°,再到南極的 -90°](../../../../../translated_images/hk/latitude-lines.11d8d91dfb2014a57437272d7db7fd6607243098e8685f06e0c5f1ec984cb7eb.png) +![緯度線從北極的 90°,到赤道的 0°,再到南極的 -90°](../../../../../translated_images/zh-HK/latitude-lines.11d8d91dfb2014a57437272d7db7fd6607243098e8685f06e0c5f1ec984cb7eb.png) 緯度是通過圍繞地球並與赤道平行的線來測量的,將北半球和南半球分為各 90°。赤道為 0°,北極為 90°,也稱為北緯 90°,南極為 -90°,或南緯 90°。 經度是測量東西方向的度數。經度的 0° 起點稱為*本初子午線*,於 1884 年被定義為一條從北極到南極的線,通過[英國格林威治皇家天文台](https://wikipedia.org/wiki/Royal_Observatory,_Greenwich)。 -![經度線從本初子午線以西的 -180°,到本初子午線的 0°,再到以東的 180°](../../../../../translated_images/hk/longitude-meridians.ab4ef1c91c064586b0185a3c8d39e585903696c6a7d28c098a93a629cddb5d20.png) +![經度線從本初子午線以西的 -180°,到本初子午線的 0°,再到以東的 180°](../../../../../translated_images/zh-HK/longitude-meridians.ab4ef1c91c064586b0185a3c8d39e585903696c6a7d28c098a93a629cddb5d20.png) > 🎓 子午線是一條從北極到南極的假想直線,形成一個半圓。 @@ -109,7 +109,7 @@ CO_OP_TRANSLATOR_METADATA: * 緯度為 47.6423109(赤道以北 47.6423109 度) * 經度為 -122.1390293(本初子午線以西 122.1390293 度)。 -![微軟總部位於 47.6423109,-122.117198](../../../../../translated_images/hk/microsoft-gps-location-world.a321d481b010f6adfcca139b2ba0adc53b79f58a540495b8e2ce7f779ea64bfe.png) +![微軟總部位於 47.6423109,-122.117198](../../../../../translated_images/zh-HK/microsoft-gps-location-world.a321d481b010f6adfcca139b2ba0adc53b79f58a540495b8e2ce7f779ea64bfe.png) ## 全球定位系統(GPS) @@ -121,7 +121,7 @@ GPS 系統的工作原理是多顆衛星發送信號,包含每顆衛星的當 > 💁 GPS 感應器需要天線來檢測無線電波。內建於卡車和汽車的 GPS 天線通常安裝在擋風玻璃或車頂,以獲得良好的信號。如果您使用的是單獨的 GPS 系統,例如智能手機或物聯網設備,則需要確保內建於 GPS 系統或手機中的天線能夠清晰地看到天空,例如安裝在擋風玻璃上。 -![通過知道感應器與多顆衛星的距離,可以計算出位置](../../../../../translated_images/hk/gps-satellites.04acf1148fe25fbf1586bc2e8ba698e8d79b79a50c36824b38417dd13372b90f.png) +![通過知道感應器與多顆衛星的距離,可以計算出位置](../../../../../translated_images/zh-HK/gps-satellites.04acf1148fe25fbf1586bc2e8ba698e8d79b79a50c36824b38417dd13372b90f.png) GPS 衛星環繞地球運行,並非固定在感應器上方,因此位置數據包括海拔高度(相對於海平面)以及緯度和經度。 diff --git a/translations/hk/3-transport/lessons/1-location-tracking/pi-gps-sensor.md b/translations/hk/3-transport/lessons/1-location-tracking/pi-gps-sensor.md index 72a3fe4a4..29c237f87 100644 --- a/translations/hk/3-transport/lessons/1-location-tracking/pi-gps-sensor.md +++ b/translations/hk/3-transport/lessons/1-location-tracking/pi-gps-sensor.md @@ -27,13 +27,13 @@ Grove GPS 感測器可以連接到 Raspberry Pi。 連接 GPS 感測器。 -![Grove GPS 感測器](../../../../../translated_images/hk/grove-gps-sensor.247943bf69b03f0d1820ef6ed10c587f9b650e8db55b936851c92412180bd3e2.png) +![Grove GPS 感測器](../../../../../translated_images/zh-HK/grove-gps-sensor.247943bf69b03f0d1820ef6ed10c587f9b650e8db55b936851c92412180bd3e2.png) 1. 將 Grove 電纜的一端插入 GPS 感測器上的插座。它只能以一種方向插入。 1. 在 Raspberry Pi 關機的情況下,將 Grove 電纜的另一端連接到 Pi 上的 Grove Base Hat 的 UART 插座,該插座標記為 **UART**。此插座位於中間排,靠近 SD 卡插槽的一側,遠離 USB 端口和以太網插座。 - ![Grove GPS 感測器連接到 UART 插座](../../../../../translated_images/hk/pi-gps-sensor.1f99ee2b2f6528915047ec78967bd362e0e4ee0ed594368a3837b9cf9cdaca64.png) + ![Grove GPS 感測器連接到 UART 插座](../../../../../translated_images/zh-HK/pi-gps-sensor.1f99ee2b2f6528915047ec78967bd362e0e4ee0ed594368a3837b9cf9cdaca64.png) 1. 將 GPS 感測器放置在天線能夠看到天空的位置——理想情況下靠近窗戶或室外。天線周圍沒有障礙物時,信號會更清晰。 diff --git a/translations/hk/3-transport/lessons/1-location-tracking/virtual-device-gps-sensor.md b/translations/hk/3-transport/lessons/1-location-tracking/virtual-device-gps-sensor.md index 37f021623..d6e558603 100644 --- a/translations/hk/3-transport/lessons/1-location-tracking/virtual-device-gps-sensor.md +++ b/translations/hk/3-transport/lessons/1-location-tracking/virtual-device-gps-sensor.md @@ -47,11 +47,11 @@ CO_OP_TRANSLATOR_METADATA: 1. 點擊 **Add** 按鈕,在 `/dev/ttyAMA0` 端口上創建 GPS 感測器。 - ![GPS 感測器設置](../../../../../translated_images/hk/counterfit-create-gps-sensor.6385dc9357d85ad1d47b4abb2525e7651fd498917d25eefc5a72feab09eedc70.png) + ![GPS 感測器設置](../../../../../translated_images/zh-HK/counterfit-create-gps-sensor.6385dc9357d85ad1d47b4abb2525e7651fd498917d25eefc5a72feab09eedc70.png) GPS 感測器將被創建並顯示在感測器列表中。 - ![已創建的 GPS 感測器](../../../../../translated_images/hk/counterfit-gps-sensor.3fbb15af0a5367566f2f11324ef5a6f30861cdf2b497071a5e002b7aa473550e.png) + ![已創建的 GPS 感測器](../../../../../translated_images/zh-HK/counterfit-gps-sensor.3fbb15af0a5367566f2f11324ef5a6f30861cdf2b497071a5e002b7aa473550e.png) ## 編程 GPS 感測器 @@ -111,17 +111,17 @@ CO_OP_TRANSLATOR_METADATA: * 將 **Source** 設置為 `Lat/Lon`,並設置明確的緯度、經度以及用於獲取 GPS 定位的衛星數量。此值僅會發送一次,因此勾選 **Repeat** 框以使數據每秒重複發送。 - ![選擇緯度和經度的 GPS 感測器](../../../../../translated_images/hk/counterfit-gps-sensor-latlon.008c867d75464fbe7f84107cc57040df565ac07cb57d2f21db37d087d470197d.png) + ![選擇緯度和經度的 GPS 感測器](../../../../../translated_images/zh-HK/counterfit-gps-sensor-latlon.008c867d75464fbe7f84107cc57040df565ac07cb57d2f21db37d087d470197d.png) * 將 **Source** 設置為 `NMEA`,並在文本框中添加一些 NMEA 句子。所有這些值都會被發送,每個新的 GGA(位置修正)句子可以在 1 秒延遲後被讀取。 - ![設置 NMEA 句子的 GPS 感測器](../../../../../translated_images/hk/counterfit-gps-sensor-nmea.c62eea442171e17e19528b051b104cfcecdc9cd18db7bc72920f29821ae63f73.png) + ![設置 NMEA 句子的 GPS 感測器](../../../../../translated_images/zh-HK/counterfit-gps-sensor-nmea.c62eea442171e17e19528b051b104cfcecdc9cd18db7bc72920f29821ae63f73.png) 你可以使用像 [nmeagen.org](https://www.nmeagen.org) 這樣的工具通過在地圖上繪製來生成這些句子。這些值僅會發送一次,因此勾選 **Repeat** 框以使數據在全部發送後每秒重複一次。 * 將 **Source** 設置為 GPX 文件,並上傳一個包含軌跡位置的 GPX 文件。你可以從一些流行的地圖和徒步網站(如 [AllTrails](https://www.alltrails.com/))下載 GPX 文件。這些文件包含多個 GPS 位置作為軌跡,GPS 感測器將以 1 秒間隔返回每個新位置。 - ![設置 GPX 文件的 GPS 感測器](../../../../../translated_images/hk/counterfit-gps-sensor-gpxfile.8310b063ce8a425ccc8ebeec8306aeac5e8e55207f007d52c6e1194432a70cd9.png) + ![設置 GPX 文件的 GPS 感測器](../../../../../translated_images/zh-HK/counterfit-gps-sensor-gpxfile.8310b063ce8a425ccc8ebeec8306aeac5e8e55207f007d52c6e1194432a70cd9.png) 這些值僅會發送一次,因此勾選 **Repeat** 框以使數據在全部發送後每秒重複一次。 diff --git a/translations/hk/3-transport/lessons/1-location-tracking/wio-terminal-gps-sensor.md b/translations/hk/3-transport/lessons/1-location-tracking/wio-terminal-gps-sensor.md index 9844ae66d..fb5978fd9 100644 --- a/translations/hk/3-transport/lessons/1-location-tracking/wio-terminal-gps-sensor.md +++ b/translations/hk/3-transport/lessons/1-location-tracking/wio-terminal-gps-sensor.md @@ -27,13 +27,13 @@ Grove GPS 感測器可以連接到 Wio Terminal。 連接 GPS 感測器。 -![Grove GPS 感測器](../../../../../translated_images/hk/grove-gps-sensor.247943bf69b03f0d1820ef6ed10c587f9b650e8db55b936851c92412180bd3e2.png) +![Grove GPS 感測器](../../../../../translated_images/zh-HK/grove-gps-sensor.247943bf69b03f0d1820ef6ed10c587f9b650e8db55b936851c92412180bd3e2.png) 1. 將 Grove 線纜的一端插入 GPS 感測器的插槽。它只能以一種方式插入。 1. 確保 Wio Terminal 未連接到電腦或其他電源,然後將 Grove 線纜的另一端連接到 Wio Terminal 左側的 Grove 插槽(面向螢幕時)。這是靠近電源按鈕的插槽。 - ![Grove GPS 感測器連接到左側插槽](../../../../../translated_images/hk/wio-gps-sensor.19fd52b81ce58095.webp) + ![Grove GPS 感測器連接到左側插槽](../../../../../translated_images/zh-HK/wio-gps-sensor.19fd52b81ce58095.webp) 1. 將 GPS 感測器放置在天線可以看到天空的位置——理想情況下靠近窗戶或在室外。天線周圍沒有障礙物時,信號會更清晰。 diff --git a/translations/hk/3-transport/lessons/2-store-location-data/README.md b/translations/hk/3-transport/lessons/2-store-location-data/README.md index 80f8b398a..69dbb647a 100644 --- a/translations/hk/3-transport/lessons/2-store-location-data/README.md +++ b/translations/hk/3-transport/lessons/2-store-location-data/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 儲存位置數據 -![本課程的手繪筆記概述](../../../../../translated_images/hk/lesson-12.ca7f53039712a3ec14ad6474d8445361c84adab643edc53fa6269b77895606bb.jpg) +![本課程的手繪筆記概述](../../../../../translated_images/zh-HK/lesson-12.ca7f53039712a3ec14ad6474d8445361c84adab643edc53fa6269b77895606bb.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -66,7 +66,7 @@ IoT 數據通常被認為是非結構化數據。 最早的數據庫是關係型數據庫管理系統 (RDBMS),或稱為關係型數據庫。它們也被稱為 SQL 數據庫,因為它們使用結構化查詢語言 (SQL) 與數據庫交互以添加、刪除、更新或查詢數據。這些數據庫由一個模式組成——一組明確定義的數據表,類似於電子表格。每個表有多個命名列。插入數據時,你向表中添加一行,並將值放入每個列中。這使得數據保持非常固定的結構——儘管你可以留空列,但如果你想添加新列,必須在數據庫中進行操作,並為現有行填充值。這些數據庫是關係型的——即一個表可以與另一個表有關聯。 -![一個關係型數據庫,其中用戶表的 ID 與購買表的用戶 ID 列相關,產品表的 ID 與購買表的產品 ID 列相關](../../../../../translated_images/hk/sql-database.be160f12bfccefd3.webp) +![一個關係型數據庫,其中用戶表的 ID 與購買表的用戶 ID 列相關,產品表的 ID 與購買表的產品 ID 列相關](../../../../../translated_images/zh-HK/sql-database.be160f12bfccefd3.webp) 例如,如果你在一個表中存儲用戶的個人詳細信息,你會為每個用戶設置某種內部唯一 ID,該 ID 用於存儲用戶的姓名和地址。如果你想在另一個表中存儲該用戶的其他詳細信息,例如購買記錄,你會在新表中設置一列來存儲該用戶的 ID。當你查詢用戶時,可以使用其 ID 從一個表中獲取個人詳細信息,並從另一個表中獲取購買記錄。 @@ -84,7 +84,7 @@ NoSQL 數據庫之所以被稱為 NoSQL,是因為它們沒有 SQL 數據庫的 > 💁 儘管名稱如此,一些 NoSQL 數據庫允許使用 SQL 查詢數據。 -![NoSQL 數據庫中的文件夾中的文檔](../../../../../translated_images/hk/noqsl-database.62d24ccf5b73f60d35c245a8533f1c7147c0928e955b82cb290b2e184bb434df.png) +![NoSQL 數據庫中的文件夾中的文檔](../../../../../translated_images/zh-HK/noqsl-database.62d24ccf5b73f60d35c245a8533f1c7147c0928e955b82cb290b2e184bb434df.png) NoSQL 數據庫沒有預定義的模式來限制數據存儲方式,你可以插入任何非結構化數據,通常使用 JSON 文檔。這些文檔可以像電腦上的文件一樣組織到文件夾中。每個文檔可以與其他文檔有不同的字段——例如,如果你存儲農場車輛的 IoT 數據,有些可能有加速度計和速度數據字段,其他可能有拖車內部溫度字段。如果你添加了一種新型卡車,例如內置秤來跟蹤運載的農產品重量,那麼你的 IoT 設備可以添加這個新字段,並且可以在不更改數據庫的情況下存儲。 @@ -98,7 +98,7 @@ NoSQL 數據庫沒有預定義的模式來限制數據存儲方式,你可以 在上一課中,你從連接到 IoT 設備的 GPS 感應器捕捉了 GPS 數據。要在雲端存儲這些 IoT 數據,你需要將其發送到 IoT 服務。你將再次使用 Azure IoT Hub,這是你在上一個項目中使用的同一個 IoT 雲服務。 -![將 GPS 遙測數據從 IoT 設備發送到 IoT Hub](../../../../../translated_images/hk/gps-telemetry-iot-hub.8115335d51cd2c1285d20e9d1b18cf685e59a8e093e7797291ef173445af6f3d.png) +![將 GPS 遙測數據從 IoT 設備發送到 IoT Hub](../../../../../translated_images/zh-HK/gps-telemetry-iot-hub.8115335d51cd2c1285d20e9d1b18cf685e59a8e093e7797291ef173445af6f3d.png) ### 任務 - 將 GPS 數據發送到 IoT Hub @@ -180,7 +180,7 @@ message = Message(json.dumps(message_json)) 一旦數據流入你的 IoT Hub,你可以編寫一些無伺服器代碼來監聽發佈到 Event-Hub 兼容端點的事件。這是暖路徑——這些數據將被存儲並在下一課中用於報告行程。 -![將 GPS 遙測數據從 IoT 設備發送到 IoT Hub,然後通過事件中心觸發器發送到 Azure Functions](../../../../../translated_images/hk/gps-telemetry-iot-hub-functions.24d3fa5592455e9f4e2fe73856b40c3915a292b90263c31d652acfd976cfedd8.png) +![將 GPS 遙測數據從 IoT 設備發送到 IoT Hub,然後通過事件中心觸發器發送到 Azure Functions](../../../../../translated_images/zh-HK/gps-telemetry-iot-hub-functions.24d3fa5592455e9f4e2fe73856b40c3915a292b90263c31d652acfd976cfedd8.png) ### 任務 - 使用無伺服器代碼處理 GPS 事件 @@ -202,7 +202,7 @@ message = Message(json.dumps(message_json)) ## Azure 存儲帳戶 -![Azure Storage 標誌](../../../../../translated_images/hk/azure-storage-logo.605c0f602c640d482a80f1b35a2629a32d595711b7ab1d7ceea843250615ff32.png) +![Azure Storage 標誌](../../../../../translated_images/zh-HK/azure-storage-logo.605c0f602c640d482a80f1b35a2629a32d595711b7ab1d7ceea843250615ff32.png) Azure 存儲帳戶是一種通用存儲服務,可以以多種方式存儲數據。你可以存儲數據為 Blob、隊列、表或文件,並且可以同時使用這些方式。 @@ -241,7 +241,7 @@ Azure 存儲帳戶是一種通用存儲服務,可以以多種方式存儲數 在本課中,你將使用 Python SDK 來了解如何與 Blob 存儲交互。 -![將 GPS 遙測數據從 IoT 設備發送到 IoT Hub,然後通過事件觸發器發送到 Azure Functions,最後保存到 Blob 存儲](../../../../../translated_images/hk/save-telemetry-to-storage-from-functions.ed3b1820980097f1.webp) +![將 GPS 遙測數據從 IoT 設備發送到 IoT Hub,然後通過事件觸發器發送到 Azure Functions,最後保存到 Blob 存儲](../../../../../translated_images/zh-HK/save-telemetry-to-storage-from-functions.ed3b1820980097f1.webp) 數據將保存為以下格式的 JSON Blob: diff --git a/translations/hk/3-transport/lessons/3-visualize-location-data/README.md b/translations/hk/3-transport/lessons/3-visualize-location-data/README.md index 141bebbae..c1d8dc465 100644 --- a/translations/hk/3-transport/lessons/3-visualize-location-data/README.md +++ b/translations/hk/3-transport/lessons/3-visualize-location-data/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 可視化位置數據 -![本課程的手繪筆記概述](../../../../../translated_images/hk/lesson-13.a259db1485021be7d7c72e90842fbe0ab977529e8684c179b5fb1ea75e92b3ef.jpg) +![本課程的手繪筆記概述](../../../../../translated_images/zh-HK/lesson-13.a259db1485021be7d7c72e90842fbe0ab977529e8684c179b5fb1ea75e92b3ef.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -73,11 +73,11 @@ CO_OP_TRANSLATOR_METADATA: 對人類來說,理解這些數據可能很困難。這是一堆沒有意義的數字。作為可視化這些數據的第一步,可以將其繪製成折線圖: -![上述數據的折線圖](../../../../../translated_images/hk/chart-soil-moisture.fd6d9d0cdc0b5f75e78038ecb8945dfc84b38851359de99d84b16e3336d6d7c2.png) +![上述數據的折線圖](../../../../../translated_images/zh-HK/chart-soil-moisture.fd6d9d0cdc0b5f75e78038ecb8945dfc84b38851359de99d84b16e3336d6d7c2.png) 這可以進一步改進,添加一條線來指示自動灌溉系統在土壤濕度讀數達到 450 時啟動的情況: -![土壤濕度折線圖,顯示 450 的啟動線](../../../../../translated_images/hk/chart-soil-moisture-relay.fbb391236d34a64d0abf1df396e9197e0a24df14150620b9cc820a64a55c9326.png) +![土壤濕度折線圖,顯示 450 的啟動線](../../../../../translated_images/zh-HK/chart-soil-moisture-relay.fbb391236d34a64d0abf1df396e9197e0a24df14150620b9cc820a64a55c9326.png) 這張圖表可以非常快速地顯示土壤濕度水平以及灌溉系統啟動的時間點。 @@ -93,7 +93,7 @@ CO_OP_TRANSLATOR_METADATA: 使用地圖是一項有趣的練習,有很多選擇,例如 Bing Maps、Leaflet、Open Street Maps 和 Google Maps。在本課程中,你將學習 [Azure Maps](https://azure.microsoft.com/services/azure-maps/?WT.mc_id=academic-17441-jabenn) 以及如何使用它來顯示你的 GPS 數據。 -![Azure Maps 標誌](../../../../../translated_images/hk/azure-maps-logo.35d01dcfbd81fe6140e94257aaa1538f785a58c91576d14e0ebe7a2f6c694b99.png) +![Azure Maps 標誌](../../../../../translated_images/zh-HK/azure-maps-logo.35d01dcfbd81fe6140e94257aaa1538f785a58c91576d14e0ebe7a2f6c694b99.png) Azure Maps 是“一系列地理空間服務和 SDK,使用最新的地圖數據為網頁和移動應用提供地理背景。”開發者可以使用這些工具創建美觀、互動的地圖,並實現例如推薦交通路線、提供交通事故信息、室內導航、搜索功能、海拔信息、天氣服務等功能。 @@ -194,7 +194,7 @@ Azure Maps 是“一系列地理空間服務和 SDK,使用最新的地圖數 如果你在網頁瀏覽器中打開你的 `index.html` 文件,你應該會看到一張地圖加載並聚焦在西雅圖地區。 - ![顯示西雅圖(美國華盛頓州的一個城市)的地圖](../../../../../translated_images/hk/map-image.8fb2c53eb23ef39c1c0a4410a5282e879b3b452b707eb066ff04c5488d3d72b7.png) + ![顯示西雅圖(美國華盛頓州的一個城市)的地圖](../../../../../translated_images/zh-HK/map-image.8fb2c53eb23ef39c1c0a4410a5282e879b3b452b707eb066ff04c5488d3d72b7.png) ✅ 嘗試調整縮放和中心參數以更改地圖顯示。你可以添加對應於數據緯度和經度的不同坐標來重新定位地圖。 @@ -328,7 +328,7 @@ Azure Maps 是“一系列地理空間服務和 SDK,使用最新的地圖數 1. 在瀏覽器中加載 HTML 頁面。地圖將加載,然後從儲存體中加載所有 GPS 數據並將其繪製在地圖上。 - ![一張顯示西雅圖附近 Saint Edward 州立公園地圖的圖片,地圖邊緣顯示了一條路徑上的圓形標記](../../../../../translated_images/hk/map-path.896832e72dc696ffe20650e4051027d4855442d955f93fdbb80bb417ca8a406f.png) + ![一張顯示西雅圖附近 Saint Edward 州立公園地圖的圖片,地圖邊緣顯示了一條路徑上的圓形標記](../../../../../translated_images/zh-HK/map-path.896832e72dc696ffe20650e4051027d4855442d955f93fdbb80bb417ca8a406f.png) > 💁 您可以在 [code](../../../../../3-transport/lessons/3-visualize-location-data/code) 文件夾中找到這段代碼。 diff --git a/translations/hk/3-transport/lessons/4-geofences/README.md b/translations/hk/3-transport/lessons/4-geofences/README.md index 0c68a0de4..081c6d440 100644 --- a/translations/hk/3-transport/lessons/4-geofences/README.md +++ b/translations/hk/3-transport/lessons/4-geofences/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 地理圍欄 -![本課程的手繪筆記概述](../../../../../translated_images/hk/lesson-14.63980c5150ae3c153e770fb71d044c1845dce79248d86bed9fc525adf3ede73c.jpg) +![本課程的手繪筆記概述](../../../../../translated_images/zh-HK/lesson-14.63980c5150ae3c153e770fb71d044c1845dce79248d86bed9fc525adf3ede73c.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -44,7 +44,7 @@ CO_OP_TRANSLATOR_METADATA: 地理圍欄是一個虛擬的邊界,用於真實世界的地理區域。地理圍欄可以是圓形的,定義為一個點和半徑(例如建築物周圍 100 米的圓形),或者是覆蓋某個區域的多邊形,例如學校區域、城市邊界或大學或辦公園區。 -![一些地理圍欄示例,顯示 Microsoft 公司商店周圍的圓形地理圍欄,以及 Microsoft 西園區周圍的多邊形地理圍欄](../../../../../translated_images/hk/geofence-examples.172fbc534665769f6e1a1ddcf75e3b25183cd10354c80cc603ba44b635390e1a.png) +![一些地理圍欄示例,顯示 Microsoft 公司商店周圍的圓形地理圍欄,以及 Microsoft 西園區周圍的多邊形地理圍欄](../../../../../translated_images/zh-HK/geofence-examples.172fbc534665769f6e1a1ddcf75e3b25183cd10354c80cc603ba44b635390e1a.png) > 💁 你可能已經在不知情的情況下使用過地理圍欄。如果你曾使用 iOS 提醒應用或 Google Keep 根據位置設置提醒,那麼你就使用過地理圍欄。這些應用會根據提供的位置設置地理圍欄,並在你的手機進入地理圍欄時提醒你。 @@ -110,7 +110,7 @@ Azure Maps(你在上一課中用來可視化 GPS 數據的服務)允許你 多邊形的坐標數組總是比多邊形的點數多一個,最後一個條目與第一個條目相同,用於閉合多邊形。例如,對於矩形,會有 5 個點。 -![一個矩形及其坐標](../../../../../translated_images/hk/polygon-points.302193da381cb415.webp) +![一個矩形及其坐標](../../../../../translated_images/zh-HK/polygon-points.302193da381cb415.webp) 在上圖中,有一個矩形。多邊形坐標從左上角的 47,-122 開始,然後向右移動到 47,-121,再向下移動到 46,-121,然後向左移動到 46,-122,最後回到起始點 47,-122。這樣多邊形就有 5 個點——左上角、右上角、右下角、左下角,然後是左上角以閉合多邊形。 @@ -208,7 +208,7 @@ Azure Maps(你在上一課中用來可視化 GPS 數據的服務)允許你 當 API 調用返回結果時,結果的一部分是測量到地理圍欄邊緣最近點的 `distance`,如果點在地理圍欄外則為正值,若在地理圍欄內則為負值。如果此距離小於搜索緩衝區,則返回實際距離(以米為單位),否則值為 999 或 -999。999 表示點距地理圍欄超過搜索緩衝區,-999 表示點距地理圍欄內超過搜索緩衝區。 -![地理圍欄及其周圍 50 米的搜索緩衝區](../../../../../translated_images/hk/search-buffer-and-distance.e6a79af3898183c7.webp) +![地理圍欄及其周圍 50 米的搜索緩衝區](../../../../../translated_images/zh-HK/search-buffer-and-distance.e6a79af3898183c7.webp) 在上圖中,地理圍欄有一個 50 米的搜索緩衝區。 @@ -221,7 +221,7 @@ Azure Maps(你在上一課中用來可視化 GPS 數據的服務)允許你 例如,假設 GPS 讀數顯示車輛沿著一條道路行駛,該道路最終與地理圍欄相鄰。如果單個 GPS 值不準確,將車輛定位在地理圍欄內,儘管沒有車輛通行的可能性,那麼可以忽略該值。 -![GPS 路徑顯示車輛沿著 520 公路經過 Microsoft 園區,GPS 讀數沿著道路分佈,除了其中一個在園區內,位於地理圍欄內](../../../../../translated_images/hk/geofence-crossing-inaccurate-gps.6a3ed911202ad9cabb66d3964888cec03a42c61d5b8f536ad5bdc99716b370f5.png) +![GPS 路徑顯示車輛沿著 520 公路經過 Microsoft 園區,GPS 讀數沿著道路分佈,除了其中一個在園區內,位於地理圍欄內](../../../../../translated_images/zh-HK/geofence-crossing-inaccurate-gps.6a3ed911202ad9cabb66d3964888cec03a42c61d5b8f536ad5bdc99716b370f5.png) 在上圖中,微軟園區的一部分設置了地理圍欄。紅線顯示卡車沿著520行駛,圓圈表示GPS讀數。大部分讀數是準確的並沿著520,但有一個不準確的讀數位於地理圍欄內。這個讀數不可能是正確的——卡車不可能突然從520轉入園區,然後再回到520。檢查地理圍欄的程式碼需要在執行地理圍欄測試結果之前考慮之前的讀數。 ✅ 你需要哪些額外的數據來檢查GPS讀數是否可以被認為是正確的? @@ -293,7 +293,7 @@ Azure Maps(你在上一課中用來可視化 GPS 數據的服務)允許你 答案是它無法知道!相反,你可以定義多個獨立的連接來讀取事件,每個連接都可以管理未讀消息的重播。這些被稱為*消費者群組*。當你連接到端點時,你可以指定你想要連接的消費者群組。應用程式的每個組件將連接到不同的消費者群組。 -![一個IoT Hub有3個消費者群組,將相同的消息分發到3個不同的Functions應用程式](../../../../../translated_images/hk/consumer-groups.a3262e26fc27ba2092863678ad57af15c7223416e388a23f330c058cf4358630.png) +![一個IoT Hub有3個消費者群組,將相同的消息分發到3個不同的Functions應用程式](../../../../../translated_images/zh-HK/consumer-groups.a3262e26fc27ba2092863678ad57af15c7223416e388a23f330c058cf4358630.png) 理論上,每個消費者群組最多可以連接5個應用程式,並且它們都會在消息到達時接收消息。最佳實踐是每個消費者群組僅由一個應用程式訪問,以避免重複消息處理,並確保在重新啟動時所有排隊消息都能正確處理。例如,如果你在本地啟動了Functions應用程式並且在雲端運行,它們都會處理消息,導致存儲帳戶中存儲的Blob重複。 diff --git a/translations/hk/4-manufacturing/lessons/1-train-fruit-detector/README.md b/translations/hk/4-manufacturing/lessons/1-train-fruit-detector/README.md index 48d2a4960..babdaff13 100644 --- a/translations/hk/4-manufacturing/lessons/1-train-fruit-detector/README.md +++ b/translations/hk/4-manufacturing/lessons/1-train-fruit-detector/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 訓練水果品質檢測器 -![本課程概述的手繪筆記](../../../../../translated_images/hk/lesson-15.843d21afdc6fb2bba70cd9db7b7d2f91598859fafda2078b0bdc44954194b6c0.jpg) +![本課程概述的手繪筆記](../../../../../translated_images/zh-HK/lesson-15.843d21afdc6fb2bba70cd9db7b7d2f91598859fafda2078b0bdc44954194b6c0.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -47,7 +47,7 @@ CO_OP_TRANSLATOR_METADATA: 自動化收割的興起將食品分類從收割階段移到了工廠。食品會在長長的輸送帶上運輸,人工團隊挑選出不符合品質標準的食品。儘管使用機械收割降低了成本,但人工分類食品仍然需要一定的費用。 -![如果檢測到紅色番茄,它會繼續不受干擾地前進。如果檢測到綠色番茄,則會被槓桿彈入廢料箱](../../../../../translated_images/hk/optical-tomato-sorting.61aa134bdda4e5b1bfb16a212c1e35a6ef0c426cbb8b1c975f79d7bfbf48d068.png) +![如果檢測到紅色番茄,它會繼續不受干擾地前進。如果檢測到綠色番茄,則會被槓桿彈入廢料箱](../../../../../translated_images/zh-HK/optical-tomato-sorting.61aa134bdda4e5b1bfb16a212c1e35a6ef0c426cbb8b1c975f79d7bfbf48d068.png) 下一步的演進是使用機器進行分類,這些機器可以內置於收割機中或安裝在加工廠中。第一代這些機器使用光學傳感器檢測顏色,並控制執行器將綠色番茄推入廢料箱,使用槓桿或氣流,讓紅色番茄繼續在輸送帶網絡上前進。 @@ -61,7 +61,7 @@ CO_OP_TRANSLATOR_METADATA: 傳統編程是將數據輸入,應用算法,然後獲得輸出。例如,在上一個項目中,您輸入了 GPS 坐標和地理圍欄,應用了 Azure Maps 提供的算法,並獲得了該點是否在地理圍欄內或外的結果。輸入更多數據,您就能獲得更多輸出。 -![傳統開發是輸入數據和算法,然後獲得輸出。機器學習則是使用輸入和輸出數據來訓練模型,該模型可以使用新輸入數據生成新輸出](../../../../../translated_images/hk/traditional-vs-ml.5c20c169621fa539.webp) +![傳統開發是輸入數據和算法,然後獲得輸出。機器學習則是使用輸入和輸出數據來訓練模型,該模型可以使用新輸入數據生成新輸出](../../../../../translated_images/zh-HK/traditional-vs-ml.5c20c169621fa539.webp) 機器學習則顛覆了這一過程——您從數據和已知輸出開始,機器學習算法從數據中學習。然後,您可以使用這個訓練過的算法(稱為 *機器學習模型* 或 *模型*),輸入新數據並獲得新輸出。 @@ -71,7 +71,7 @@ CO_OP_TRANSLATOR_METADATA: > 🎓 ML 模型的結果稱為 *預測* -![兩根香蕉,一根成熟的香蕉預測為 99.7% 成熟,0.3% 未成熟;另一根未成熟的香蕉預測為 1.4% 成熟,98.6% 未成熟](../../../../../translated_images/hk/bananas-ripe-vs-unripe-predictions.8d0e2034014aa50ece4e4589e724b142da0681f35470fe3db3f7d51240f69c85.png) +![兩根香蕉,一根成熟的香蕉預測為 99.7% 成熟,0.3% 未成熟;另一根未成熟的香蕉預測為 1.4% 成熟,98.6% 未成熟](../../../../../translated_images/zh-HK/bananas-ripe-vs-unripe-predictions.8d0e2034014aa50ece4e4589e724b142da0681f35470fe3db3f7d51240f69c85.png) ML 模型不會給出二元答案,而是提供概率。例如,模型可能會給出一張香蕉的圖片,預測 `成熟` 為 99.7%,`未成熟` 為 0.3%。您的代碼會選擇最佳預測並判斷該香蕉是成熟的。 @@ -87,7 +87,7 @@ ML 模型不會給出二元答案,而是提供概率。例如,模型可能 一旦圖像分類器已經針對各種圖片進行了訓練,它的內部就能很好地識別形狀、顏色和模式。遷移學習允許模型利用它已經學會的識別圖像部分的能力,來識別新圖像。 -![一旦能識別形狀,它們可以被組合成不同的配置來形成船或貓](../../../../../translated_images/hk/shapes-to-images.1a309f0ea88dd66f.webp) +![一旦能識別形狀,它們可以被組合成不同的配置來形成船或貓](../../../../../translated_images/zh-HK/shapes-to-images.1a309f0ea88dd66f.webp) 您可以將其想像成兒童的形狀書籍,一旦您能識別半圓形、矩形和三角形,您就能根據這些形狀的配置識別出帆船或貓——或者成熟的香蕉。 @@ -99,7 +99,7 @@ ML 模型不會給出二元答案,而是提供概率。例如,模型可能 Custom Vision 是一個基於雲的工具,用於訓練圖像分類器。它允許您僅使用少量圖片訓練分類器。您可以通過 Web 入口、Web API 或 SDK 上傳圖片,並為每張圖片提供一個 *標籤*,該標籤表示該圖片的分類。然後,您可以訓練模型並測試其性能。一旦您對模型感到滿意,您可以發布版本,通過 Web API 或 SDK 訪問。 -![Azure Custom Vision 標誌](../../../../../translated_images/hk/custom-vision-logo.d3d4e7c8a87ec9daf825e72e210576c3cbf60312577be7a139e22dd97ab7f1e6.png) +![Azure Custom Vision 標誌](../../../../../translated_images/zh-HK/custom-vision-logo.d3d4e7c8a87ec9daf825e72e210576c3cbf60312577be7a139e22dd97ab7f1e6.png) > 💁 您可以使用每個分類僅 5 張圖片訓練 Custom Vision 模型,但更多圖片效果更好。至少 30 張圖片可以獲得更好的結果。 @@ -155,7 +155,7 @@ Custom Vision 是 Microsoft 提供的一系列 AI 工具的一部分,稱為 Co 創建項目時,請確保使用您之前創建的 `fruit-quality-detector-training` 資源。使用 *分類* 項目類型、*多類* 分類類型和 *食品* 領域。 - ![Custom Vision 項目的設置,名稱設為 fruit-quality-detector,無描述,資源設為 fruit-quality-detector-training,項目類型設為分類,分類類型設為多類,領域設為食品](../../../../../translated_images/hk/custom-vision-create-project.cf46325b92d8b131089f6647cf5e07b664cb77850e106d66e3c057b6b69756c6.png) + ![Custom Vision 項目的設置,名稱設為 fruit-quality-detector,無描述,資源設為 fruit-quality-detector-training,項目類型設為分類,分類類型設為多類,領域設為食品](../../../../../translated_images/zh-HK/custom-vision-create-project.cf46325b92d8b131089f6647cf5e07b664cb77850e106d66e3c057b6b69756c6.png) ✅ 花些時間探索您的圖像分類器的 Custom Vision UI。 @@ -173,7 +173,7 @@ Custom Vision 是 Microsoft 提供的一系列 AI 工具的一部分,稱為 Co * 使用2根成熟的香蕉,從不同角度拍攝每根香蕉的幾張圖片,至少拍攝7張(5張用於訓練,2張用於測試),但理想情況下更多。 - ![2根不同香蕉的照片](../../../../../translated_images/hk/banana-training-images.530eb203346d73bc23b8b990fb4609470bf4ff7c942ccc13d4cfffeed9be1ad4.png) + ![2根不同香蕉的照片](../../../../../translated_images/zh-HK/banana-training-images.530eb203346d73bc23b8b990fb4609470bf4ff7c942ccc13d4cfffeed9be1ad4.png) * 使用2根未成熟的香蕉重複相同的過程。 @@ -183,7 +183,7 @@ Custom Vision 是 Microsoft 提供的一系列 AI 工具的一部分,稱為 Co 1. 按照[Microsoft文檔中建立分類器快速入門的上傳和標記圖片部分](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/getting-started-build-a-classifier?WT.mc_id=academic-17441-jabenn#upload-and-tag-images)的指引上傳您的訓練圖片。將成熟的水果標記為`ripe`,未成熟的水果標記為`unripe`。 - ![上傳成熟和未成熟香蕉圖片的對話框](../../../../../translated_images/hk/image-upload-bananas.0751639f3815e0ec42bdbc6254d1e4357a185834d1ae10c9948a0e7d6d336695.png) + ![上傳成熟和未成熟香蕉圖片的對話框](../../../../../translated_images/zh-HK/image-upload-bananas.0751639f3815e0ec42bdbc6254d1e4357a185834d1ae10c9948a0e7d6d336695.png) 1. 按照[Microsoft文檔中建立分類器快速入門的訓練分類器部分](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/getting-started-build-a-classifier?WT.mc_id=academic-17441-jabenn#train-the-classifier)的指引,使用您上傳的圖片訓練圖片分類器。 @@ -201,7 +201,7 @@ Custom Vision 是 Microsoft 提供的一系列 AI 工具的一部分,稱為 Co 1. 按照[Microsoft文檔中測試模型的指引](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/test-your-model?WT.mc_id=academic-17441-jabenn#test-your-model)測試您的圖片分類器。使用您之前創建的測試圖片,而不是任何用於訓練的圖片。 - ![一根未成熟香蕉被預測為未成熟,概率為98.9%,成熟概率為1.1%](../../../../../translated_images/hk/banana-unripe-quick-test-prediction.dae9b5e1c4ef7c64886422438850ea14f0be6ac918c217ea3b255c685abfabe7.png) + ![一根未成熟香蕉被預測為未成熟,概率為98.9%,成熟概率為1.1%](../../../../../translated_images/zh-HK/banana-unripe-quick-test-prediction.dae9b5e1c4ef7c64886422438850ea14f0be6ac918c217ea3b255c685abfabe7.png) 1. 嘗試使用您所有的測試圖片並觀察概率。 diff --git a/translations/hk/4-manufacturing/lessons/2-check-fruit-from-device/README.md b/translations/hk/4-manufacturing/lessons/2-check-fruit-from-device/README.md index a7f1dad95..d1a5e511e 100644 --- a/translations/hk/4-manufacturing/lessons/2-check-fruit-from-device/README.md +++ b/translations/hk/4-manufacturing/lessons/2-check-fruit-from-device/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 從 IoT 裝置檢查水果品質 -![本課程的手繪筆記概覽](../../../../../translated_images/hk/lesson-16.215daf18b00631fbdfd64c6fc2dc6044dff5d544288825d8076f9fb83d964c23.jpg) +![本課程的手繪筆記概覽](../../../../../translated_images/zh-HK/lesson-16.215daf18b00631fbdfd64c6fc2dc6044dff5d544288825d8076f9fb83d964c23.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片以查看更大版本。 @@ -35,7 +35,7 @@ CO_OP_TRANSLATOR_METADATA: 顧名思義,攝影機感測器是可以連接到 IoT 裝置的攝影機。它們可以拍攝靜態影像或錄製串流影片。有些會返回原始影像數據,而另一些則會將影像數據壓縮成 JPEG 或 PNG 等影像檔案。通常,與 IoT 裝置配合使用的攝影機比你習慣使用的攝影機要小得多,解析度也較低,但你也可以找到解析度高到可以媲美高端手機的攝影機。你還可以選擇各種可更換鏡頭、多攝影機配置、紅外線熱成像攝影機或紫外線攝影機。 -![場景中的光線通過鏡頭並聚焦在 CMOS 感測器上](../../../../../translated_images/hk/cmos-sensor.75f9cd74decb137149a4c9ea825251a4549497d67c0ae2776159e6102bb53aa9.png) +![場景中的光線通過鏡頭並聚焦在 CMOS 感測器上](../../../../../translated_images/zh-HK/cmos-sensor.75f9cd74decb137149a4c9ea825251a4549497d67c0ae2776159e6102bb53aa9.png) 大多數攝影機感測器使用影像感測器,其中每個像素都是一個光電二極管。鏡頭將影像聚焦到影像感測器上,數千或數百萬個光電二極管檢測落在每個二極管上的光線,並將其記錄為像素數據。 @@ -83,7 +83,7 @@ CO_OP_TRANSLATOR_METADATA: 1. 選擇該迭代版本的 **Publish** 按鈕。 - ![發佈按鈕](../../../../../translated_images/hk/custom-vision-publish-button.b7174e1977b0c33b8b72d4e5b1326c779e0af196f3849d09985ee2d7d5493a39.png) + ![發佈按鈕](../../../../../translated_images/zh-HK/custom-vision-publish-button.b7174e1977b0c33b8b72d4e5b1326c779e0af196f3849d09985ee2d7d5493a39.png) 1. 在 *Publish Model* 對話框中,將 *Prediction resource* 設置為你在上一課中創建的 `fruit-quality-detector-prediction` 資源。將名稱保留為 `Iteration2`,然後選擇 **Publish** 按鈕。 @@ -97,7 +97,7 @@ CO_OP_TRANSLATOR_METADATA: 同時複製 *Prediction-Key* 值。這是一個安全密鑰,當你呼叫模型時必須傳遞該密鑰。只有傳遞此密鑰的應用程式才能使用該模型,其他應用程式將被拒絕。 - ![預測 API 對話框顯示 URL 和密鑰](../../../../../translated_images/hk/custom-vision-prediction-key-endpoint.30c569ffd0338864f319911f052d5e9b8c5066cb0800a26dd6f7ff5713130ad8.png) + ![預測 API 對話框顯示 URL 和密鑰](../../../../../translated_images/zh-HK/custom-vision-prediction-key-endpoint.30c569ffd0338864f319911f052d5e9b8c5066cb0800a26dd6f7ff5713130ad8.png) ✅ 當發佈一個新迭代版本時,它會有一個不同的名稱。你認為應該如何更改 IoT 裝置使用的迭代版本? @@ -118,7 +118,7 @@ CO_OP_TRANSLATOR_METADATA: 為了讓影像分類器獲得最佳結果,你需要使用與預測影像盡可能相似的影像來訓練模型。例如,如果你使用手機攝影機捕捉影像進行訓練,那麼影像的質量、清晰度和顏色將與連接到 IoT 裝置的攝影機不同。 -![兩張香蕉圖片,一張是 IoT 裝置拍攝的低解析度影像,另一張是手機拍攝的高解析度影像](../../../../../translated_images/hk/banana-picture-compare.174df164dc326a42cf7fb051a7497e6113c620e91552d92ca914220305d47d9a.png) +![兩張香蕉圖片,一張是 IoT 裝置拍攝的低解析度影像,另一張是手機拍攝的高解析度影像](../../../../../translated_images/zh-HK/banana-picture-compare.174df164dc326a42cf7fb051a7497e6113c620e91552d92ca914220305d47d9a.png) 在上圖中,左側的香蕉圖片是使用 Raspberry Pi 攝影機拍攝的,右側的圖片是使用 iPhone 在相同位置拍攝的同一根香蕉。兩者的質量有明顯差異——iPhone 的圖片更清晰,顏色更鮮豔,對比度更高。 diff --git a/translations/hk/4-manufacturing/lessons/2-check-fruit-from-device/pi-camera.md b/translations/hk/4-manufacturing/lessons/2-check-fruit-from-device/pi-camera.md index 721d51895..e133f0742 100644 --- a/translations/hk/4-manufacturing/lessons/2-check-fruit-from-device/pi-camera.md +++ b/translations/hk/4-manufacturing/lessons/2-check-fruit-from-device/pi-camera.md @@ -25,7 +25,7 @@ Raspberry Pi 需要一個相機。 ### 任務 - 連接相機 -![Raspberry Pi 相機](../../../../../translated_images/hk/pi-camera-module.4278753c31bd6e757aa2b858be97d72049f71616278cefe4fb5abb485b40a078.png) +![Raspberry Pi 相機](../../../../../translated_images/zh-HK/pi-camera-module.4278753c31bd6e757aa2b858be97d72049f71616278cefe4fb5abb485b40a078.png) 1. 關閉 Raspberry Pi 的電源。 @@ -33,17 +33,17 @@ Raspberry Pi 需要一個相機。 你可以在 [Raspberry Pi 相機模組入門文檔](https://projects.raspberrypi.org/en/projects/getting-started-with-picamera/2) 中找到如何打開夾子並插入排線的動畫。 - ![扁平排線插入相機模組](../../../../../translated_images/hk/pi-camera-ribbon-cable.0bf82acd251611c21ac616f082849413e2b322a261d0e4f8fec344248083b07e.png) + ![扁平排線插入相機模組](../../../../../translated_images/zh-HK/pi-camera-ribbon-cable.0bf82acd251611c21ac616f082849413e2b322a261d0e4f8fec344248083b07e.png) 1. 從 Raspberry Pi 上移除 Grove Base Hat。 1. 將扁平排線穿過 Grove Base Hat 上的相機插槽。確保排線的藍色面朝向標有 **A0**、**A1** 等的模擬端口。 - ![扁平排線穿過 Grove Base Hat](../../../../../translated_images/hk/grove-base-hat-ribbon-cable.501fed202fcf73b11b2b68f6d246189f7d15d3e4423c572ddee79d77b4632b47.png) + ![扁平排線穿過 Grove Base Hat](../../../../../translated_images/zh-HK/grove-base-hat-ribbon-cable.501fed202fcf73b11b2b68f6d246189f7d15d3e4423c572ddee79d77b4632b47.png) 1. 將扁平排線插入 Raspberry Pi 上的相機端口。同樣,拉起黑色塑料夾,插入排線,然後推回夾子。排線的藍色面應朝向 USB 和以太網端口。 - ![扁平排線連接到 Raspberry Pi 的相機插座](../../../../../translated_images/hk/pi-camera-socket-ribbon-cable.a18309920b11800911082ed7aa6fb28e6d9be3a022e4079ff990016cae3fca10.png) + ![扁平排線連接到 Raspberry Pi 的相機插座](../../../../../translated_images/zh-HK/pi-camera-socket-ribbon-cable.a18309920b11800911082ed7aa6fb28e6d9be3a022e4079ff990016cae3fca10.png) 1. 重新安裝 Grove Base Hat。 @@ -110,7 +110,7 @@ Raspberry Pi 需要一個相機。 `camera.rotation = 0` 行設置影像的旋轉角度。扁平排線從相機底部進入,但如果你的相機旋轉過以便更容易指向你想要分類的物品,則可以將此行更改為旋轉的角度。 - ![相機懸掛在飲料罐上方](../../../../../translated_images/hk/pi-camera-upside-down.5376961ba31459883362124152ad6b823d5ac5fc14e85f317e22903bd681c2b6.png) + ![相機懸掛在飲料罐上方](../../../../../translated_images/zh-HK/pi-camera-upside-down.5376961ba31459883362124152ad6b823d5ac5fc14e85f317e22903bd681c2b6.png) 例如,如果你將扁平排線懸掛在某物上,使其位於相機的頂部,則將旋轉設置為 180: diff --git a/translations/hk/4-manufacturing/lessons/2-check-fruit-from-device/single-board-computer-classify-image.md b/translations/hk/4-manufacturing/lessons/2-check-fruit-from-device/single-board-computer-classify-image.md index 270038060..6127cb8fe 100644 --- a/translations/hk/4-manufacturing/lessons/2-check-fruit-from-device/single-board-computer-classify-image.md +++ b/translations/hk/4-manufacturing/lessons/2-check-fruit-from-device/single-board-computer-classify-image.md @@ -93,7 +93,7 @@ Custom Vision 服務提供了一個 Python SDK,可用於分類圖片。 你將能看到拍攝的圖片,以及這些值在 Custom Vision 的 **Predictions** 標籤中。 - ![一根香蕉在 Custom Vision 中被預測為成熟的概率為 56.8%,未成熟的概率為 43.1%](../../../../../translated_images/hk/custom-vision-banana-prediction.30cdff4e1d72db5d9a0be0193790a47c2b387da034e12dc1314dd57ca2131b59.png) + ![一根香蕉在 Custom Vision 中被預測為成熟的概率為 56.8%,未成熟的概率為 43.1%](../../../../../translated_images/zh-HK/custom-vision-banana-prediction.30cdff4e1d72db5d9a0be0193790a47c2b387da034e12dc1314dd57ca2131b59.png) > 💁 你可以在 [code-classify/pi](../../../../../4-manufacturing/lessons/2-check-fruit-from-device/code-classify/pi) 或 [code-classify/virtual-iot-device](../../../../../4-manufacturing/lessons/2-check-fruit-from-device/code-classify/virtual-iot-device) 文件夾中找到這段代碼。 diff --git a/translations/hk/4-manufacturing/lessons/2-check-fruit-from-device/virtual-device-camera.md b/translations/hk/4-manufacturing/lessons/2-check-fruit-from-device/virtual-device-camera.md index ef333a878..5eea527da 100644 --- a/translations/hk/4-manufacturing/lessons/2-check-fruit-from-device/virtual-device-camera.md +++ b/translations/hk/4-manufacturing/lessons/2-check-fruit-from-device/virtual-device-camera.md @@ -43,11 +43,11 @@ CO_OP_TRANSLATOR_METADATA: 1. 選擇 **Add** 按鈕以創建相機。 - ![相機設置](../../../../../translated_images/hk/counterfit-create-camera.a5de97f59c0bd3cbe0416d7e89a3cfe86d19fbae05c641c53a91286412af0a34.png) + ![相機設置](../../../../../translated_images/zh-HK/counterfit-create-camera.a5de97f59c0bd3cbe0416d7e89a3cfe86d19fbae05c641c53a91286412af0a34.png) 相機將被創建並顯示在感應器列表中。 - ![創建的相機](../../../../../translated_images/hk/counterfit-camera.001ec52194c8ee5d3f617173da2c79e1df903d10882adc625cbfc493525125d4.png) + ![創建的相機](../../../../../translated_images/zh-HK/counterfit-camera.001ec52194c8ee5d3f617173da2c79e1df903d10882adc625cbfc493525125d4.png) ## 編程相機 @@ -112,7 +112,7 @@ CO_OP_TRANSLATOR_METADATA: 1. 配置 CounterFit 中相機將捕捉的影像。你可以將 *Source* 設置為 *File*,然後上傳一個影像文件,或者將 *Source* 設置為 *WebCam*,影像將從你的網絡攝像頭捕捉。確保在選擇圖片或網絡攝像頭後選擇 **Set** 按鈕。 - ![CounterFit 中設置文件為影像來源,以及網絡攝像頭顯示一個人拿著香蕉的預覽](../../../../../translated_images/hk/counterfit-camera-options.eb3bd5150a8e7dffbf24bc5bcaba0cf2cdef95fbe6bbe393695d173817d6b8df.png) + ![CounterFit 中設置文件為影像來源,以及網絡攝像頭顯示一個人拿著香蕉的預覽](../../../../../translated_images/zh-HK/counterfit-camera-options.eb3bd5150a8e7dffbf24bc5bcaba0cf2cdef95fbe6bbe393695d173817d6b8df.png) 1. 一個影像將被捕捉並保存為 `image.jpg`,位於當前文件夾中。你將在 VS Code 的資源管理器中看到此文件。選擇該文件以查看影像。如果需要旋轉,根據需要更新 `camera.rotation = 0` 行並重新拍攝影像。 diff --git a/translations/hk/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-camera.md b/translations/hk/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-camera.md index dce2e38fe..530587a0a 100644 --- a/translations/hk/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-camera.md +++ b/translations/hk/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-camera.md @@ -25,11 +25,11 @@ ArduCam 沒有 Grove 插槽,而是通過 Wio Terminal 的 GPIO 引腳連接到 連接相機。 -![ArduCam 傳感器](../../../../../translated_images/hk/arducam.20e4e4cbb268296570b5914e20d6c349fc42ddac9ed4e1b9deba2188204eebae.png) +![ArduCam 傳感器](../../../../../translated_images/zh-HK/arducam.20e4e4cbb268296570b5914e20d6c349fc42ddac9ed4e1b9deba2188204eebae.png) 1. ArduCam 底部的引腳需要連接到 Wio Terminal 的 GPIO 引腳。為了更容易找到正確的引腳,將隨 Wio Terminal 附帶的 GPIO 引腳貼紙貼在引腳周圍: - ![帶有 GPIO 引腳貼紙的 Wio Terminal](../../../../../translated_images/hk/wio-terminal-pin-sticker.b90b1535937b84bd.webp) + ![帶有 GPIO 引腳貼紙的 Wio Terminal](../../../../../translated_images/zh-HK/wio-terminal-pin-sticker.b90b1535937b84bd.webp) 1. 使用跳線進行以下連接: @@ -44,7 +44,7 @@ ArduCam 沒有 Grove 插槽,而是通過 Wio Terminal 的 GPIO 引腳連接到 | SDA | 3 (I2C1_SDA) | I²C 串行數據 | | SCL | 5 (I2C1_SCL) | I²C 串行時鐘 | - ![用跳線連接到 ArduCam 的 Wio Terminal](../../../../../translated_images/hk/arducam-wio-terminal-connections.a4d5a4049bdb5ab800a2877389fc6ecf5e4ff307e6451ff56c517e6786467d0a.png) + ![用跳線連接到 ArduCam 的 Wio Terminal](../../../../../translated_images/zh-HK/arducam-wio-terminal-connections.a4d5a4049bdb5ab800a2877389fc6ecf5e4ff307e6451ff56c517e6786467d0a.png) GND 和 VCC 連接為 ArduCam 提供 5V 電源。它以 5V 運行,不同於以 3V 運行的 Grove 傳感器。這個電源直接來自為設備供電的 USB-C 連接。 @@ -297,7 +297,7 @@ ArduCam 沒有 Grove 插槽,而是通過 Wio Terminal 的 GPIO 引腳連接到 1. 微控制器會不斷運行你的代碼,因此如果不響應傳感器,觸發拍照並不容易。Wio Terminal 有按鈕,因此可以設置相機由其中一個按鈕觸發。將以下代碼添加到 `setup` 函數的末尾,以配置 C 按鈕(頂部的三個按鈕之一,最靠近電源開關的那個)。 - ![最靠近電源開關的 C 按鈕](../../../../../translated_images/hk/wio-terminal-c-button.73df3cb1c1445ea0.webp) + ![最靠近電源開關的 C 按鈕](../../../../../translated_images/zh-HK/wio-terminal-c-button.73df3cb1c1445ea0.webp) ```cpp pinMode(WIO_KEY_C, INPUT_PULLUP); @@ -465,7 +465,7 @@ Wio Terminal 僅支持最大 16GB 的 microSD 卡。如果你的 SD 卡更大, 1. 關閉 microSD 卡電源,稍微推入並釋放以彈出卡片,你可能需要使用細小工具完成此操作。將 microSD 卡插入電腦以查看影像。 - ![使用 ArduCam 捕捉的香蕉照片](../../../../../translated_images/hk/banana-arducam.be1b32d4267a8194b0fd042362e56faa431da9cd4af172051b37243ea9be0256.jpg) + ![使用 ArduCam 捕捉的香蕉照片](../../../../../translated_images/zh-HK/banana-arducam.be1b32d4267a8194b0fd042362e56faa431da9cd4af172051b37243ea9be0256.jpg) 💁 相機的白平衡可能需要幾張圖片才能自我調整。您會根據拍攝的圖片顏色注意到這一點,前幾張可能顏色看起來不太對。您可以通過修改程式碼,在 `setup` 函數中拍攝幾張被忽略的圖片來解決這個問題。 diff --git a/translations/hk/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-classify-image.md b/translations/hk/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-classify-image.md index 3b0044033..dfa90a8ea 100644 --- a/translations/hk/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-classify-image.md +++ b/translations/hk/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-classify-image.md @@ -217,7 +217,7 @@ Custom Vision 服務提供了一個 REST API,Wio Terminal 可以使用它來 你將能夠看到拍攝的影像,並在 Custom Vision 的 **Predictions** 標籤中看到這些值。 - ![Custom Vision 中的一根香蕉,預測為成熟的概率為 56.8%,未成熟的概率為 43.1%](../../../../../translated_images/hk/custom-vision-banana-prediction.30cdff4e1d72db5d9a0be0193790a47c2b387da034e12dc1314dd57ca2131b59.png) + ![Custom Vision 中的一根香蕉,預測為成熟的概率為 56.8%,未成熟的概率為 43.1%](../../../../../translated_images/zh-HK/custom-vision-banana-prediction.30cdff4e1d72db5d9a0be0193790a47c2b387da034e12dc1314dd57ca2131b59.png) > 💁 你可以在 [code-classify/wio-terminal](../../../../../4-manufacturing/lessons/2-check-fruit-from-device/code-classify/wio-terminal) 資料夾中找到這段程式碼。 diff --git a/translations/hk/4-manufacturing/lessons/3-run-fruit-detector-edge/README.md b/translations/hk/4-manufacturing/lessons/3-run-fruit-detector-edge/README.md index 73d44b12d..39ccddcb0 100644 --- a/translations/hk/4-manufacturing/lessons/3-run-fruit-detector-edge/README.md +++ b/translations/hk/4-manufacturing/lessons/3-run-fruit-detector-edge/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 在邊緣設備上運行水果檢測器 -![本課程概述的手繪筆記](../../../../../translated_images/hk/lesson-17.bc333c3c35ba8e42cce666cfffa82b915f787f455bd94e006aea2b6f2722421a.jpg) +![本課程概述的手繪筆記](../../../../../translated_images/zh-HK/lesson-17.bc333c3c35ba8e42cce666cfffa82b915f787f455bd94e006aea2b6f2722421a.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -42,11 +42,11 @@ CO_OP_TRANSLATOR_METADATA: 邊緣計算指的是將處理物聯網數據的計算機儘可能靠近數據生成的地方。與其在雲端進行處理,邊緣計算將處理移至雲端的邊緣——你的內部網絡。 -![一個架構圖顯示雲端的互聯網服務和本地網絡上的物聯網設備](../../../../../translated_images/hk/cloud-without-edge.b4da641f6022c95ed6b91fde8b5323abd2f94e0d52073ad54172ae8f5dac90e9.png) +![一個架構圖顯示雲端的互聯網服務和本地網絡上的物聯網設備](../../../../../translated_images/zh-HK/cloud-without-edge.b4da641f6022c95ed6b91fde8b5323abd2f94e0d52073ad54172ae8f5dac90e9.png) 在之前的課程中,你的設備收集數據並將數據發送到雲端進行分析,運行無伺服器函數或AI模型。 -![一個架構圖顯示本地網絡上的物聯網設備連接到邊緣設備,邊緣設備再連接到雲端](../../../../../translated_images/hk/cloud-with-edge.1e26462c62c126fe150bd15a5714ddf0be599f09bacbad08b85be02b76ea1ae1.png) +![一個架構圖顯示本地網絡上的物聯網設備連接到邊緣設備,邊緣設備再連接到雲端](../../../../../translated_images/zh-HK/cloud-with-edge.1e26462c62c126fe150bd15a5714ddf0be599f09bacbad08b85be02b76ea1ae1.png) 邊緣計算將部分雲端服務移至與物聯網設備同一網絡上的計算機,僅在需要時與雲端通信。例如,你可以在邊緣設備上運行AI模型來分析水果的成熟度,僅將分析結果(如成熟水果與未成熟水果的數量)發送回雲端。 @@ -94,7 +94,7 @@ CO_OP_TRANSLATOR_METADATA: ## Azure IoT Edge -![Azure IoT Edge標誌](../../../../../translated_images/hk/azure-iot-edge-logo.c1c076749b5cba2e8755262fadc2f19ca1146b948d76990b1229199ac2292d79.png) +![Azure IoT Edge標誌](../../../../../translated_images/zh-HK/azure-iot-edge-logo.c1c076749b5cba2e8755262fadc2f19ca1146b948d76990b1229199ac2292d79.png) Azure IoT Edge 是一項服務,可以幫助你將工作負載從雲端移至邊緣。你可以將設備設置為邊緣設備,並從雲端向該邊緣設備部署代碼。這使得你可以混合使用雲端和邊緣的功能。 @@ -108,7 +108,7 @@ IoT Edge 集成在 IoT Hub 中,因此你可以使用管理物聯網設備的 IoT Edge 從 *容器* 中運行代碼——容器是獨立運行的應用程序,與計算機上的其他應用程序隔離。當你運行容器時,它就像在你的計算機內部運行的獨立計算機,擁有自己的軟件、服務和應用程序。大多數情況下,容器無法訪問計算機上的任何內容,除非你選擇與容器共享某些內容,例如文件夾。容器通過開放端口暴露服務,你可以連接到該端口或將其暴露到網絡。 -![一個網頁請求被重定向到容器](../../../../../translated_images/hk/container-web-browser.4ee81dd4f0d8838ce622b2a0d600b6a4322b5d4fe43159facd87b7b34f84d66a.png) +![一個網頁請求被重定向到容器](../../../../../translated_images/zh-HK/container-web-browser.4ee81dd4f0d8838ce622b2a0d600b6a4322b5d4fe43159facd87b7b34f84d66a.png) 例如,你可以有一個容器在端口80上運行網站,這是默認的HTTP端口,然後你可以將其暴露在你的計算機上,也是在端口80。 @@ -204,11 +204,11 @@ IoT Edge 從 *容器* 中運行代碼——容器是獨立運行的應用程序 ## 為部署準備容器 -![容器被建置後推送到容器註冊表,然後從容器註冊表部署到邊緣設備](../../../../../translated_images/hk/container-edge-flow.c246050dd60ceefdb6ace026a4ce5c6aa4112bb5898ae23fbb2ab4be29ae3e1b.png) +![容器被建置後推送到容器註冊表,然後從容器註冊表部署到邊緣設備](../../../../../translated_images/zh-HK/container-edge-flow.c246050dd60ceefdb6ace026a4ce5c6aa4112bb5898ae23fbb2ab4be29ae3e1b.png) 下載模型後,需要將其建置為容器,然後推送到容器註冊表——一個可以儲存容器的線上位置。IoT Edge 可以從註冊表下載容器並推送到你的設備。 -![Azure 容器註冊表標誌](../../../../../translated_images/hk/azure-container-registry-logo.09494206991d4b295025ebff7d4e2900325e527a59184ffbc8464b6ab59654be.png) +![Azure 容器註冊表標誌](../../../../../translated_images/zh-HK/azure-container-registry-logo.09494206991d4b295025ebff7d4e2900325e527a59184ffbc8464b6ab59654be.png) 本課程中使用的容器註冊表是 Azure 容器註冊表。這不是免費服務,因此完成後請務必[清理你的專案](../../../clean-up.md)以節省費用。 diff --git a/translations/hk/4-manufacturing/lessons/4-trigger-fruit-detector/README.md b/translations/hk/4-manufacturing/lessons/4-trigger-fruit-detector/README.md index 688bbd79c..41b29dc81 100644 --- a/translations/hk/4-manufacturing/lessons/4-trigger-fruit-detector/README.md +++ b/translations/hk/4-manufacturing/lessons/4-trigger-fruit-detector/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 從感應器觸發水果質量檢測 -![本課程的手繪筆記概覽](../../../../../translated_images/hk/lesson-18.92c32ed1d354caa5a54baa4032cf0b172d4655e8e326ad5d46c558a0def15365.jpg) +![本課程的手繪筆記概覽](../../../../../translated_images/zh-HK/lesson-18.92c32ed1d354caa5a54baa4032cf0b172d4655e8e326ad5d46c558a0def15365.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -48,7 +48,7 @@ CO_OP_TRANSLATOR_METADATA: ### 參考物聯網架構 -![參考物聯網架構](../../../../../translated_images/hk/iot-reference-architecture.2278b98b55c6d4e89bde18eada3688d893861d43507641804dd2f9d3079cfaa0.png) +![參考物聯網架構](../../../../../translated_images/zh-HK/iot-reference-architecture.2278b98b55c6d4e89bde18eada3688d893861d43507641804dd2f9d3079cfaa0.png) 上圖展示了一個參考物聯網架構。 @@ -58,7 +58,7 @@ CO_OP_TRANSLATOR_METADATA: * **洞察**來自無伺服器應用程式,或來自對存儲數據的分析。 * **行動**可以是發送給設備的命令,或是數據的可視化,讓人類做出決策。 -![參考物聯網架構](../../../../../translated_images/hk/iot-reference-architecture-azure.0b8d2161af924cb18ae48a8558a19541cca47f27264851b5b7e56d7b8bb372ac.png) +![參考物聯網架構](../../../../../translated_images/zh-HK/iot-reference-architecture-azure.0b8d2161af924cb18ae48a8558a19541cca47f27264851b5b7e56d7b8bb372ac.png) 上圖展示了在這些課程中涵蓋的一些組件和服務,以及它們如何在參考物聯網架構中相互連接。 @@ -98,7 +98,7 @@ CO_OP_TRANSLATOR_METADATA: ### 應用程式原型設計 -![水果質量檢測的參考物聯網架構](../../../../../translated_images/hk/iot-reference-architecture-fruit-quality.cc705f121c3b6fa71c800d9630935ac34bc08223a04601e35f41d5e9b5dd5207.png) +![水果質量檢測的參考物聯網架構](../../../../../translated_images/zh-HK/iot-reference-architecture-fruit-quality.cc705f121c3b6fa71c800d9630935ac34bc08223a04601e35f41d5e9b5dd5207.png) 上圖展示了該原型應用程式的參考架構。 @@ -115,7 +115,7 @@ CO_OP_TRANSLATOR_METADATA: 物聯網設備需要某種觸發器來指示水果何時準備好進行分類。一種觸發方式是通過測量傳送帶上水果與感應器的距離,確定水果是否處於正確位置。 -![接近感應器發送激光束到物體(如香蕉),並計算光束反射回來的時間](../../../../../translated_images/hk/proximity-sensor.f5cd752c77fb62fe.webp) +![接近感應器發送激光束到物體(如香蕉),並計算光束反射回來的時間](../../../../../translated_images/zh-HK/proximity-sensor.f5cd752c77fb62fe.webp) 接近感應器可以用來測量感應器與物體之間的距離。它們通常發射一束電磁輻射(如激光束或紅外光),然後檢測反射回來的輻射。從激光束發射到信號反射回來的時間可以用來計算與感應器的距離。 @@ -133,7 +133,7 @@ CO_OP_TRANSLATOR_METADATA: 原型水果檢測器包含多個相互通信的組件。 -![各組件之間的通信](../../../../../translated_images/hk/fruit-quality-detector-message-flow.adf2a65da8fd8741ac7af11361574de89adc126785d67606bb4d2ec00467e380.png) +![各組件之間的通信](../../../../../translated_images/zh-HK/fruit-quality-detector-message-flow.adf2a65da8fd8741ac7af11361574de89adc126785d67606bb4d2ec00467e380.png) * 一個接近感應器測量與水果的距離,並將數據發送到 IoT Hub * 控制相機的命令從 IoT Hub 發送到相機設備 diff --git a/translations/hk/4-manufacturing/lessons/4-trigger-fruit-detector/pi-proximity.md b/translations/hk/4-manufacturing/lessons/4-trigger-fruit-detector/pi-proximity.md index b0545a786..da79d202f 100644 --- a/translations/hk/4-manufacturing/lessons/4-trigger-fruit-detector/pi-proximity.md +++ b/translations/hk/4-manufacturing/lessons/4-trigger-fruit-detector/pi-proximity.md @@ -29,13 +29,13 @@ Grove 飛行時間感應器可以連接到 Raspberry Pi。 連接飛行時間感應器。 -![Grove 飛行時間感應器](../../../../../translated_images/hk/grove-time-of-flight-sensor.d82ff2165bfded9f485de54d8d07195a6270a602696825fca19f629ddfe94e86.png) +![Grove 飛行時間感應器](../../../../../translated_images/zh-HK/grove-time-of-flight-sensor.d82ff2165bfded9f485de54d8d07195a6270a602696825fca19f629ddfe94e86.png) 1. 將 Grove 電纜的一端插入飛行時間感應器上的插座。它只能以一種方式插入。 1. 在 Raspberry Pi 關閉電源的情況下,將 Grove 電纜的另一端連接到 Grove Base Hat 上標記為 **I²C** 的插座之一。這些插座位於底部排,靠近攝像頭電纜插槽,與 GPIO 引腳的另一端相對。 -![Grove 飛行時間感應器連接到 I²C 插座](../../../../../translated_images/hk/pi-time-of-flight-sensor.58c8dc04eb3bfb57.webp) +![Grove 飛行時間感應器連接到 I²C 插座](../../../../../translated_images/zh-HK/pi-time-of-flight-sensor.58c8dc04eb3bfb57.webp) ## 編程飛行時間感應器 @@ -106,7 +106,7 @@ Grove 飛行時間感應器可以連接到 Raspberry Pi。 測距儀位於感應器的背面,因此在測量距離時請確保使用正確的一側。 - ![飛行時間感應器背面的測距儀指向一根香蕉](../../../../../translated_images/hk/time-of-flight-banana.079921ad8b1496e4.webp) + ![飛行時間感應器背面的測距儀指向一根香蕉](../../../../../translated_images/zh-HK/time-of-flight-banana.079921ad8b1496e4.webp) > 💁 您可以在 [code-proximity/pi](../../../../../4-manufacturing/lessons/4-trigger-fruit-detector/code-proximity/pi) 文件夾中找到此代碼。 diff --git a/translations/hk/4-manufacturing/lessons/4-trigger-fruit-detector/virtual-device-proximity.md b/translations/hk/4-manufacturing/lessons/4-trigger-fruit-detector/virtual-device-proximity.md index 8bf2e07b5..1ca155cbd 100644 --- a/translations/hk/4-manufacturing/lessons/4-trigger-fruit-detector/virtual-device-proximity.md +++ b/translations/hk/4-manufacturing/lessons/4-trigger-fruit-detector/virtual-device-proximity.md @@ -45,11 +45,11 @@ CO_OP_TRANSLATOR_METADATA: 1. 點擊 **Add** 按鈕以創建距離傳感器。 - ![距離傳感器設置](../../../../../translated_images/hk/counterfit-create-distance-sensor.967c9fb98f27888d95920c9784d004c972490eb71f70397fe13bd70a79a879a3.png) + ![距離傳感器設置](../../../../../translated_images/zh-HK/counterfit-create-distance-sensor.967c9fb98f27888d95920c9784d004c972490eb71f70397fe13bd70a79a879a3.png) 距離傳感器將被創建並顯示在傳感器列表中。 - ![已創建的距離傳感器](../../../../../translated_images/hk/counterfit-distance-sensor.079eefeeea0b68afc36431ce8fcbe2f09a7e4916ed1cd5cb30e696db53bc18fa.png) + ![已創建的距離傳感器](../../../../../translated_images/zh-HK/counterfit-distance-sensor.079eefeeea0b68afc36431ce8fcbe2f09a7e4916ed1cd5cb30e696db53bc18fa.png) ## 編程距離傳感器 diff --git a/translations/hk/4-manufacturing/lessons/4-trigger-fruit-detector/wio-terminal-proximity.md b/translations/hk/4-manufacturing/lessons/4-trigger-fruit-detector/wio-terminal-proximity.md index 8a6ae018f..7e400826b 100644 --- a/translations/hk/4-manufacturing/lessons/4-trigger-fruit-detector/wio-terminal-proximity.md +++ b/translations/hk/4-manufacturing/lessons/4-trigger-fruit-detector/wio-terminal-proximity.md @@ -29,13 +29,13 @@ Grove 飛行時間感測器可以連接到 Wio Terminal。 連接飛行時間感測器。 -![一個 Grove 飛行時間感測器](../../../../../translated_images/hk/grove-time-of-flight-sensor.d82ff2165bfded9f485de54d8d07195a6270a602696825fca19f629ddfe94e86.png) +![一個 Grove 飛行時間感測器](../../../../../translated_images/zh-HK/grove-time-of-flight-sensor.d82ff2165bfded9f485de54d8d07195a6270a602696825fca19f629ddfe94e86.png) 1. 將 Grove 線纜的一端插入飛行時間感測器上的插槽。它只能以一種方式插入。 1. 在 Wio Terminal 未連接到電腦或其他電源的情況下,將 Grove 線纜的另一端連接到 Wio Terminal 左側的 Grove 插槽(面向螢幕時)。這是靠近電源按鈕的插槽,這是一個數位和 I²C 的組合插槽。 -![Grove 飛行時間感測器連接到左側插槽](../../../../../translated_images/hk/wio-time-of-flight-sensor.c4c182131d2ea73d.webp) +![Grove 飛行時間感測器連接到左側插槽](../../../../../translated_images/zh-HK/wio-time-of-flight-sensor.c4c182131d2ea73d.webp) 1. 現在可以將 Wio Terminal 連接到你的電腦。 @@ -101,7 +101,7 @@ Grove 飛行時間感測器可以連接到 Wio Terminal。 測距儀位於感測器的背面,因此在測量距離時請確保使用正確的一側。 - ![飛行時間感測器背面的測距儀對準一根香蕉](../../../../../translated_images/hk/time-of-flight-banana.079921ad8b1496e4.webp) + ![飛行時間感測器背面的測距儀對準一根香蕉](../../../../../translated_images/zh-HK/time-of-flight-banana.079921ad8b1496e4.webp) > 💁 你可以在 [code-proximity/wio-terminal](../../../../../4-manufacturing/lessons/4-trigger-fruit-detector/code-proximity/wio-terminal) 資料夾中找到此程式碼。 diff --git a/translations/hk/5-retail/lessons/1-train-stock-detector/README.md b/translations/hk/5-retail/lessons/1-train-stock-detector/README.md index 44a9322fc..962a264ea 100644 --- a/translations/hk/5-retail/lessons/1-train-stock-detector/README.md +++ b/translations/hk/5-retail/lessons/1-train-stock-detector/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 訓練一個庫存檢測器 -![本課程的手繪筆記概述](../../../../../translated_images/hk/lesson-19.cf6973cecadf080c4b526310620dc4d6f5994c80fb0139c6f378cc9ca2d435cd.jpg) +![本課程的手繪筆記概述](../../../../../translated_images/zh-HK/lesson-19.cf6973cecadf080c4b526310620dc4d6f5994c80fb0139c6f378cc9ca2d435cd.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -45,7 +45,7 @@ CO_OP_TRANSLATOR_METADATA: 影像分類是針對整個影像進行分類——判斷整個影像符合每個標籤的概率。你會得到模型訓練時使用的每個標籤的概率。 -![腰果和番茄醬的影像分類](../../../../../translated_images/hk/image-classifier-cashews-tomato.bc2e16ab8f05cf9ac0f59f73e32efc4227f9a5b601b90b2c60f436694547a965.png) +![腰果和番茄醬的影像分類](../../../../../translated_images/zh-HK/image-classifier-cashews-tomato.bc2e16ab8f05cf9ac0f59f73e32efc4227f9a5b601b90b2c60f436694547a965.png) 在上面的例子中,兩張影像使用了一個訓練來分類腰果罐或番茄醬罐的模型進行分類。第一張影像是一罐腰果,影像分類器的結果如下: @@ -69,7 +69,7 @@ CO_OP_TRANSLATOR_METADATA: > 🎓 *邊界框* 是物件周圍的框。 -![腰果和番茄醬的物件檢測](../../../../../translated_images/hk/object-detector-cashews-tomato.1af7c26686b4db0e709754aeb196f4e73271f54e2085db3bcccb70d4a0d84d97.png) +![腰果和番茄醬的物件檢測](../../../../../translated_images/zh-HK/object-detector-cashews-tomato.1af7c26686b4db0e709754aeb196f4e73271f54e2085db3bcccb70d4a0d84d97.png) 上面的影像包含一罐腰果和三罐番茄醬。物件檢測器檢測到了腰果,返回了包含腰果的邊界框以及該邊界框包含物件的概率,在此例中為 97.6%。物件檢測器還檢測到了三罐番茄醬,並提供了三個單獨的邊界框,每個檢測到的罐子都有一個邊界框以及該邊界框包含番茄醬罐的概率。 @@ -120,7 +120,7 @@ CO_OP_TRANSLATOR_METADATA: 創建項目時,請確保使用你之前創建的 `stock-detector-training` 資源。使用 *Object Detection* 項目類型和 *Products on Shelves* 域。 - ![Custom Vision 項目設置,名稱設置為 fruit-quality-detector,無描述,資源設置為 fruit-quality-detector-training,項目類型設置為 classification,分類類型設置為 multi class,域設置為 food](../../../../../translated_images/hk/custom-vision-create-object-detector-project.32d4fb9aa8e7e7375f8a799bfce517aca970f2cb65e42d4245c5e635c734ab29.png) + ![Custom Vision 項目設置,名稱設置為 fruit-quality-detector,無描述,資源設置為 fruit-quality-detector-training,項目類型設置為 classification,分類類型設置為 multi class,域設置為 food](../../../../../translated_images/zh-HK/custom-vision-create-object-detector-project.32d4fb9aa8e7e7375f8a799bfce517aca970f2cb65e42d4245c5e635c734ab29.png) ✅ *Products on Shelves* 域專門用於檢測貨架上的庫存。閱讀更多有關不同域的信息,請參考 [Microsoft Docs 上的 Select a domain 文檔](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/select-domain?WT.mc_id=academic-17441-jabenn#object-detection)。 @@ -142,11 +142,11 @@ CO_OP_TRANSLATOR_METADATA: 1. 按照 Microsoft Docs 上 [Build an object detector quickstart 的 Upload and tag images 部分](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/get-started-build-detector?WT.mc_id=academic-17441-jabenn#upload-and-tag-images) 上傳你的訓練影像。根據你想檢測的物件類型創建相關標籤。 - ![上傳對話框顯示上傳成熟和未成熟香蕉的圖片](../../../../../translated_images/hk/image-upload-object-detector.77c7892c3093cb59b79018edecd678749a75d71a099bc8a2d2f2f76320f88a5b.png) + ![上傳對話框顯示上傳成熟和未成熟香蕉的圖片](../../../../../translated_images/zh-HK/image-upload-object-detector.77c7892c3093cb59b79018edecd678749a75d71a099bc8a2d2f2f76320f88a5b.png) 畫物件的邊界框時,保持框緊貼物件。標記所有影像可能需要一些時間,但工具會檢測它認為是邊界框的部分,從而加快速度。 - ![標記一些番茄醬](../../../../../translated_images/hk/object-detector-tag-tomato-paste.f47c362fb0f0eb582f3bc68cf3855fb43a805106395358d41896a269c210b7b4.png) + ![標記一些番茄醬](../../../../../translated_images/zh-HK/object-detector-tag-tomato-paste.f47c362fb0f0eb582f3bc68cf3855fb43a805106395358d41896a269c210b7b4.png) > 💁 如果你有超過 15 張影像的每個物件,你可以在 15 張影像後進行訓練,然後使用 **Suggested tags** 功能。這將使用訓練的模型檢測未標記影像中的物件。你可以確認檢測到的物件,或者拒絕並重新畫邊界框。這可以節省大量時間。 @@ -164,7 +164,7 @@ CO_OP_TRANSLATOR_METADATA: 1. 使用 **Quick Test** 按鈕上傳測試影像並驗證物件是否被檢測到。使用你之前創建的測試影像,而不是任何用於訓練的影像。 - ![檢測到 3 罐番茄醬,概率分別為 38%、35.5% 和 34.6%](../../../../../translated_images/hk/object-detector-detected-tomato-paste.52656fe87af4c37b4ee540526d63e73ed075da2e54a9a060aa528e0c562fb1b6.png) + ![檢測到 3 罐番茄醬,概率分別為 38%、35.5% 和 34.6%](../../../../../translated_images/zh-HK/object-detector-detected-tomato-paste.52656fe87af4c37b4ee540526d63e73ed075da2e54a9a060aa528e0c562fb1b6.png) 1. 嘗試所有你擁有的測試影像並觀察概率。 diff --git a/translations/hk/5-retail/lessons/2-check-stock-device/README.md b/translations/hk/5-retail/lessons/2-check-stock-device/README.md index 4bac97d6a..ce36884c9 100644 --- a/translations/hk/5-retail/lessons/2-check-stock-device/README.md +++ b/translations/hk/5-retail/lessons/2-check-stock-device/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 從物聯網設備檢查庫存 -![本課程的手繪筆記概覽](../../../../../translated_images/hk/lesson-20.0211df9551a8abb300fc8fcf7dc2789468dea2eabe9202273ac077b0ba37f15e.jpg) +![本課程的手繪筆記概覽](../../../../../translated_images/zh-HK/lesson-20.0211df9551a8abb300fc8fcf7dc2789468dea2eabe9202273ac077b0ba37f15e.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -39,7 +39,7 @@ CO_OP_TRANSLATOR_METADATA: 例如,如果一台攝像頭對準一組可以容納8罐番茄醬的貨架,而物件偵測器只偵測到7罐,那麼就缺少了一罐,需要補貨。 -![貨架上有7罐番茄醬,頂層4罐,下層3罐](../../../../../translated_images/hk/stock-7-cans-tomato-paste.f86059cc573d7bec.webp) +![貨架上有7罐番茄醬,頂層4罐,下層3罐](../../../../../translated_images/zh-HK/stock-7-cans-tomato-paste.f86059cc573d7bec.webp) 在上圖中,物件偵測器偵測到貨架上有7罐番茄醬,而該貨架可以容納8罐。不僅物聯網設備可以發送補貨通知,它甚至可以提供缺失物品的位置資訊,這對於使用機器人補貨的情況尤為重要。 @@ -51,7 +51,7 @@ CO_OP_TRANSLATOR_METADATA: 物件偵測可以用來偵測意外的物品,並通知人員或機器人盡快將物品歸位。 -![番茄醬貨架上的一罐玉米罐頭](../../../../../translated_images/hk/stock-rogue-corn.be1f3ada8c457854.webp) +![番茄醬貨架上的一罐玉米罐頭](../../../../../translated_images/zh-HK/stock-rogue-corn.be1f3ada8c457854.webp) 在上圖中,一罐玉米罐頭被放在了番茄醬貨架上。物件偵測器偵測到了這一情況,使物聯網設備能夠通知人員或機器人將罐頭放回正確的位置。 @@ -71,7 +71,7 @@ CO_OP_TRANSLATOR_METADATA: 1. 為該迭代版本選擇 **Publish** 按鈕。 - ![發佈按鈕](../../../../../translated_images/hk/custom-vision-object-detector-publish-button.34ee379fc650ccb9856c3868d0003f413b9529f102fc73c37168c98d721cc293.png) + ![發佈按鈕](../../../../../translated_images/zh-HK/custom-vision-object-detector-publish-button.34ee379fc650ccb9856c3868d0003f413b9529f102fc73c37168c98d721cc293.png) 1. 在 *Publish Model* 對話框中,將 *Prediction resource* 設置為你在上一課中創建的 `stock-detector-prediction` 資源。名稱保持為 `Iteration2`,然後選擇 **Publish** 按鈕。 @@ -85,7 +85,7 @@ CO_OP_TRANSLATOR_METADATA: 同時複製 *Prediction-Key* 值。這是一個安全密鑰,調用模型時必須傳遞該密鑰。只有傳遞該密鑰的應用程式才能使用模型,其他應用程式將被拒絕。 - ![顯示 URL 和密鑰的預測 API 對話框](../../../../../translated_images/hk/custom-vision-prediction-key-endpoint.30c569ffd0338864f319911f052d5e9b8c5066cb0800a26dd6f7ff5713130ad8.png) + ![顯示 URL 和密鑰的預測 API 對話框](../../../../../translated_images/zh-HK/custom-vision-prediction-key-endpoint.30c569ffd0338864f319911f052d5e9b8c5066cb0800a26dd6f7ff5713130ad8.png) ✅ 當發佈新迭代版本時,它將有不同的名稱。你認為應該如何更改物聯網設備使用的迭代版本? @@ -104,7 +104,7 @@ CO_OP_TRANSLATOR_METADATA: 在 Custom Vision 的 **Predictions** 標籤中,預測結果會在發送進行預測的圖像上繪製邊界框。 -![貨架上4罐番茄醬的預測結果,分別為35.8%、33.5%、25.7% 和 16.6%](../../../../../translated_images/hk/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.png) +![貨架上4罐番茄醬的預測結果,分別為35.8%、33.5%、25.7% 和 16.6%](../../../../../translated_images/zh-HK/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.png) 在上圖中,偵測到4罐番茄醬。在結果中,每個被偵測物件的圖像上都疊加了一個紅色方框,表示該物件的邊界框。 @@ -112,7 +112,7 @@ CO_OP_TRANSLATOR_METADATA: 邊界框由4個值定義——上邊距(top)、左邊距(left)、高度(height)和寬度(width)。這些值的範圍是0到1,表示相對於圖像大小的百分比位置。原點(0,0)是圖像的左上角,因此上邊距是從頂部的距離,而邊界框的底部是上邊距加上高度。 -![番茄醬罐頭周圍的邊界框](../../../../../translated_images/hk/bounding-box.1420a7ea0d3d15f71e1ffb5cf4b2271d184fac051f990abc541975168d163684.png) +![番茄醬罐頭周圍的邊界框](../../../../../translated_images/zh-HK/bounding-box.1420a7ea0d3d15f71e1ffb5cf4b2271d184fac051f990abc541975168d163684.png) 上圖的寬度為600像素,高度為800像素。邊界框從320像素處開始,給出上邊距值為0.4(800 x 0.4 = 320)。從左側開始,邊界框從240像素處開始,給出左邊距值為0.4(600 x 0.4 = 240)。邊界框的高度為240像素,給出高度值為0.3(800 x 0.3 = 240)。邊界框的寬度為120像素,給出寬度值為0.2(600 x 0.2 = 120)。 @@ -127,7 +127,7 @@ CO_OP_TRANSLATOR_METADATA: 你可以結合邊界框和概率來評估偵測的準確性。例如,物件偵測器可能會偵測到多個重疊的物件,例如一個罐頭在另一個罐頭內。你的程式碼可以檢查邊界框,理解這是不可能的,並忽略任何與其他物件有顯著重疊的物件。 -![兩個重疊的邊界框圍繞一罐番茄醬](../../../../../translated_images/hk/overlap-object-detection.d431e03cae75072a2760430eca7f2c5fdd43045bfd72dadcbf12711f7cd6c2ae.png) +![兩個重疊的邊界框圍繞一罐番茄醬](../../../../../translated_images/zh-HK/overlap-object-detection.d431e03cae75072a2760430eca7f2c5fdd43045bfd72dadcbf12711f7cd6c2ae.png) 在上圖中,一個邊界框顯示了一個78.3%概率的番茄醬罐頭預測。另一個邊界框稍小,位於第一個邊界框內,概率為64.3%。你的程式碼可以檢查邊界框,發現它們完全重疊,並忽略較低概率的預測,因為不可能一個罐頭在另一個罐頭內。 diff --git a/translations/hk/5-retail/lessons/2-check-stock-device/single-board-computer-count-stock.md b/translations/hk/5-retail/lessons/2-check-stock-device/single-board-computer-count-stock.md index 50d02944c..f0014f349 100644 --- a/translations/hk/5-retail/lessons/2-check-stock-device/single-board-computer-count-stock.md +++ b/translations/hk/5-retail/lessons/2-check-stock-device/single-board-computer-count-stock.md @@ -81,7 +81,7 @@ CO_OP_TRANSLATOR_METADATA: 1. 將相機對準架子上的一些庫存運行應用程式。您將在 VS Code 的檔案瀏覽器中看到 `image.jpg` 文件,並可以選擇它來查看邊界框。 - ![4 罐番茄醬,每罐周圍都有邊界框](../../../../../translated_images/hk/rpi-stock-with-bounding-boxes.b5540e2ecb7cd49f.webp) + ![4 罐番茄醬,每罐周圍都有邊界框](../../../../../translated_images/zh-HK/rpi-stock-with-bounding-boxes.b5540e2ecb7cd49f.webp) ## 計算庫存 diff --git a/translations/hk/5-retail/lessons/2-check-stock-device/single-board-computer-object-detector.md b/translations/hk/5-retail/lessons/2-check-stock-device/single-board-computer-object-detector.md index f9ad3472b..31f581832 100644 --- a/translations/hk/5-retail/lessons/2-check-stock-device/single-board-computer-object-detector.md +++ b/translations/hk/5-retail/lessons/2-check-stock-device/single-board-computer-object-detector.md @@ -76,7 +76,7 @@ CO_OP_TRANSLATOR_METADATA: 你將能夠在 Custom Vision 的 **Predictions**(預測)標籤中看到拍攝的影像和這些值。 - ![架子上有 4 罐番茄醬,預測結果分別為 35.8%、33.5%、25.7% 和 16.6%](../../../../../translated_images/hk/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.png) + ![架子上有 4 罐番茄醬,預測結果分別為 35.8%、33.5%、25.7% 和 16.6%](../../../../../translated_images/zh-HK/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.png) > 💁 你可以在 [code-detect/pi](../../../../../5-retail/lessons/2-check-stock-device/code-detect/pi) 或 [code-detect/virtual-iot-device](../../../../../5-retail/lessons/2-check-stock-device/code-detect/virtual-iot-device) 資料夾中找到此代碼。 diff --git a/translations/hk/5-retail/lessons/2-check-stock-device/wio-terminal-count-stock.md b/translations/hk/5-retail/lessons/2-check-stock-device/wio-terminal-count-stock.md index c42ad6fde..d0cf0ed3c 100644 --- a/translations/hk/5-retail/lessons/2-check-stock-device/wio-terminal-count-stock.md +++ b/translations/hk/5-retail/lessons/2-check-stock-device/wio-terminal-count-stock.md @@ -13,7 +13,7 @@ CO_OP_TRANSLATOR_METADATA: ## 計算庫存 -![4罐番茄醬,每罐周圍都有邊界框](../../../../../translated_images/hk/rpi-stock-with-bounding-boxes.b5540e2ecb7cd49f.webp) +![4罐番茄醬,每罐周圍都有邊界框](../../../../../translated_images/zh-HK/rpi-stock-with-bounding-boxes.b5540e2ecb7cd49f.webp) 在上圖中,邊界框有些許重疊。如果重疊範圍更大,邊界框可能會指向同一個物件。為了正確計算物件數量,您需要忽略重疊範圍較大的框。 diff --git a/translations/hk/5-retail/lessons/2-check-stock-device/wio-terminal-object-detector.md b/translations/hk/5-retail/lessons/2-check-stock-device/wio-terminal-object-detector.md index 99a567359..92120ffbc 100644 --- a/translations/hk/5-retail/lessons/2-check-stock-device/wio-terminal-object-detector.md +++ b/translations/hk/5-retail/lessons/2-check-stock-device/wio-terminal-object-detector.md @@ -104,7 +104,7 @@ CO_OP_TRANSLATOR_METADATA: 你將能夠看到拍攝的影像,並在 Custom Vision 的 **Predictions** 標籤中看到這些值。 - ![架子上有 4 罐番茄醬,檢測結果分別為 35.8%、33.5%、25.7% 和 16.6%](../../../../../translated_images/hk/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.png) + ![架子上有 4 罐番茄醬,檢測結果分別為 35.8%、33.5%、25.7% 和 16.6%](../../../../../translated_images/zh-HK/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.png) > 💁 你可以在 [code-detect/wio-terminal](../../../../../5-retail/lessons/2-check-stock-device/code-detect/wio-terminal) 資料夾中找到這段程式碼。 diff --git a/translations/hk/6-consumer/lessons/1-speech-recognition/README.md b/translations/hk/6-consumer/lessons/1-speech-recognition/README.md index 9c1ad5001..972a1d042 100644 --- a/translations/hk/6-consumer/lessons/1-speech-recognition/README.md +++ b/translations/hk/6-consumer/lessons/1-speech-recognition/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 使用物聯網設備進行語音識別 -![本課程概述的手繪筆記](../../../../../translated_images/hk/lesson-21.e34de51354d6606fb5ee08d8c89d0222eea0a2a7aaf744a8805ae847c4f69dc4.jpg) +![本課程概述的手繪筆記](../../../../../translated_images/zh-HK/lesson-21.e34de51354d6606fb5ee08d8c89d0222eea0a2a7aaf744a8805ae847c4f69dc4.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -60,19 +60,19 @@ CO_OP_TRANSLATOR_METADATA: 動圈式麥克風不需要電源,電信號完全由麥克風產生。 - ![Patti Smith 使用 Shure SM58(動圈心型)麥克風演唱](../../../../../translated_images/hk/dynamic-mic.8babac890a2d80dfb0874b5bf37d4b851fe2aeb9da6fd72945746176978bf3bb.jpg) + ![Patti Smith 使用 Shure SM58(動圈心型)麥克風演唱](../../../../../translated_images/zh-HK/dynamic-mic.8babac890a2d80dfb0874b5bf37d4b851fe2aeb9da6fd72945746176978bf3bb.jpg) * 緞帶式 - 緞帶式麥克風與動圈式麥克風類似,但它使用金屬緞帶代替振膜。該緞帶在磁場中移動時會產生電流。與動圈式麥克風一樣,緞帶式麥克風不需要電源。 - ![美國演員 Edmund Lowe 站在標有 (NBC) Blue Network 的廣播麥克風前,手持劇本,1942年](../../../../../translated_images/hk/ribbon-mic.eacc8e092c7441ca.webp) + ![美國演員 Edmund Lowe 站在標有 (NBC) Blue Network 的廣播麥克風前,手持劇本,1942年](../../../../../translated_images/zh-HK/ribbon-mic.eacc8e092c7441ca.webp) * 電容式 - 電容式麥克風有一個薄金屬振膜和一個固定的金屬背板。電流被施加到這兩者上,當振膜振動時,板之間的靜電荷發生變化,產生信號。電容式麥克風需要電源才能工作,稱為 *幻象電源*。 - ![AKG Acoustics 的 C451B 小振膜電容式麥克風](../../../../../translated_images/hk/condenser-mic.6f6ed5b76ca19e0ec3fd0c544601542d4479a6cb7565db336de49fbbf69f623e.jpg) + ![AKG Acoustics 的 C451B 小振膜電容式麥克風](../../../../../translated_images/zh-HK/condenser-mic.6f6ed5b76ca19e0ec3fd0c544601542d4479a6cb7565db336de49fbbf69f623e.jpg) * MEMS - 微機電系統麥克風,或 MEMS,是芯片上的麥克風。它們在硅芯片上刻有壓力敏感振膜,工作原理類似於電容式麥克風。這些麥克風可以非常小,並集成到電路中。 - ![電路板上的 MEMS 麥克風](../../../../../translated_images/hk/mems-microphone.80574019e1f5e4d9ee72fed720ecd25a39fc2969c91355d17ebb24ba4159e4c4.png) + ![電路板上的 MEMS 麥克風](../../../../../translated_images/zh-HK/mems-microphone.80574019e1f5e4d9ee72fed720ecd25a39fc2969c91355d17ebb24ba4159e4c4.png) 在上圖中,標記為 **LEFT** 的芯片是一個 MEMS 麥克風,其振膜寬度不到一毫米。 @@ -84,7 +84,7 @@ CO_OP_TRANSLATOR_METADATA: > 🎓 採樣是將音頻信號轉換為代表該時刻信號的數字值。 -![顯示信號的折線圖,具有固定間隔的離散點](../../../../../translated_images/hk/sampling.6f4fadb3f2d9dfe7.webp) +![顯示信號的折線圖,具有固定間隔的離散點](../../../../../translated_images/zh-HK/sampling.6f4fadb3f2d9dfe7.webp) 數字音頻使用脈衝編碼調製(Pulse Code Modulation,PCM)進行採樣。PCM 涉及讀取信號的電壓,並使用定義的大小選擇最接近該電壓的離散值。 @@ -168,7 +168,7 @@ CO_OP_TRANSLATOR_METADATA: ## 語音轉文字 -![語音服務標誌](../../../../../translated_images/hk/azure-speech-logo.a1f08c4befb0159f2cb5d692d3baf5b599e7b44759d316da907bda1508f46a4a.png) +![語音服務標誌](../../../../../translated_images/zh-HK/azure-speech-logo.a1f08c4befb0159f2cb5d692d3baf5b599e7b44759d316da907bda1508f46a4a.png) 就像之前項目中的圖像分類一樣,有一些預建的人工智能服務可以將音頻文件中的語音轉換為文字。其中一項服務是語音服務,它是認知服務的一部分,這些預建的人工智能服務可以在你的應用中使用。 diff --git a/translations/hk/6-consumer/lessons/1-speech-recognition/pi-audio.md b/translations/hk/6-consumer/lessons/1-speech-recognition/pi-audio.md index 2393decaa..ba0ad1f60 100644 --- a/translations/hk/6-consumer/lessons/1-speech-recognition/pi-audio.md +++ b/translations/hk/6-consumer/lessons/1-speech-recognition/pi-audio.md @@ -25,13 +25,13 @@ Raspberry Pi 需要一個按鈕來控制音訊捕捉。 #### 任務 - 連接按鈕 -![Grove 按鈕](../../../../../translated_images/hk/grove-button.a70cfbb809a8563681003250cf5b06d68cdcc68624f9e2f493d5a534ae2da1e5.png) +![Grove 按鈕](../../../../../translated_images/zh-HK/grove-button.a70cfbb809a8563681003250cf5b06d68cdcc68624f9e2f493d5a534ae2da1e5.png) 1. 將 Grove 電纜的一端插入按鈕模組上的插座。它只能以一種方式插入。 1. 在 Raspberry Pi 關機的情況下,將 Grove 電纜的另一端連接到 Grove 基座 HAT 上標記為 **D5** 的數字插座。這個插座位於 GPIO 引腳旁邊的一排插座中,從左數第二個。 -![Grove 按鈕連接到 D5 插座](../../../../../translated_images/hk/pi-button.c7a1a4f55943341ce1baf1057658e9a205804d4131d258e820c93f951df0abf3.png) +![Grove 按鈕連接到 D5 插座](../../../../../translated_images/zh-HK/pi-button.c7a1a4f55943341ce1baf1057658e9a205804d4131d258e820c93f951df0abf3.png) ## 捕捉音訊 diff --git a/translations/hk/6-consumer/lessons/1-speech-recognition/pi-microphone.md b/translations/hk/6-consumer/lessons/1-speech-recognition/pi-microphone.md index 0ea0d3c1a..9f8d82c94 100644 --- a/translations/hk/6-consumer/lessons/1-speech-recognition/pi-microphone.md +++ b/translations/hk/6-consumer/lessons/1-speech-recognition/pi-microphone.md @@ -43,7 +43,7 @@ Raspberry Pi 配備了一個 3.5mm 耳機插孔。你可以使用它來連接耳 1. 如果你使用的是 ReSpeaker 2-Mics Pi HAT,可以移除 Grove 基座帽,然後將 ReSpeaker 帽安裝到其位置。 - ![一個安裝了 ReSpeaker 帽的 Raspberry Pi](../../../../../translated_images/hk/pi-respeaker-hat.f00fabe7dd039a93e2e0aa0fc946c9af0c6a9eb17c32fa1ca097fb4e384f69f0.png) + ![一個安裝了 ReSpeaker 帽的 Raspberry Pi](../../../../../translated_images/zh-HK/pi-respeaker-hat.f00fabe7dd039a93e2e0aa0fc946c9af0c6a9eb17c32fa1ca097fb4e384f69f0.png) 在本課程的後續部分,你將需要一個 Grove 按鈕,但此帽子內建了一個按鈕,因此不需要 Grove 基座帽。 diff --git a/translations/hk/6-consumer/lessons/1-speech-recognition/wio-terminal-audio.md b/translations/hk/6-consumer/lessons/1-speech-recognition/wio-terminal-audio.md index bb1570d62..e4f65c5fa 100644 --- a/translations/hk/6-consumer/lessons/1-speech-recognition/wio-terminal-audio.md +++ b/translations/hk/6-consumer/lessons/1-speech-recognition/wio-terminal-audio.md @@ -19,7 +19,7 @@ CO_OP_TRANSLATOR_METADATA: ✅ 在 [維基百科的直接記憶體存取頁面](https://wikipedia.org/wiki/Direct_memory_access) 上了解更多關於 DMA 的資訊。 -![音頻從麥克風進入 ADC,然後進入 DMAC。這會寫入一個緩衝區。當這個緩衝區滿了之後,它會被處理,DMAC 會寫入第二個緩衝區](../../../../../translated_images/hk/dmac-adc-buffers.4509aee49145c90bc2e1be472b8ed2ddfcb2b6a81ad3e559114aca55f5fff759.png) +![音頻從麥克風進入 ADC,然後進入 DMAC。這會寫入一個緩衝區。當這個緩衝區滿了之後,它會被處理,DMAC 會寫入第二個緩衝區](../../../../../translated_images/zh-HK/dmac-adc-buffers.4509aee49145c90bc2e1be472b8ed2ddfcb2b6a81ad3e559114aca55f5fff759.png) DMAC 可以以固定的間隔從 ADC 捕捉音頻,例如每秒 16,000 次以捕捉 16KHz 的音頻。它可以將捕捉到的數據寫入預先分配的記憶體緩衝區,當緩衝區滿了之後,將其提供給程式碼進行處理。使用這些記憶體可能會延遲音頻捕捉,但你可以設置多個緩衝區。DMAC 會先寫入緩衝區 1,當緩衝區 1 滿了之後,通知程式碼處理緩衝區 1,然後 DMAC 會寫入緩衝區 2。當緩衝區 2 滿了之後,它會通知程式碼,然後回到寫入緩衝區 1。這樣,只要你在填滿一個緩衝區的時間內處理完數據,就不會丟失任何數據。 diff --git a/translations/hk/6-consumer/lessons/1-speech-recognition/wio-terminal-microphone.md b/translations/hk/6-consumer/lessons/1-speech-recognition/wio-terminal-microphone.md index dce6e0662..6a177549a 100644 --- a/translations/hk/6-consumer/lessons/1-speech-recognition/wio-terminal-microphone.md +++ b/translations/hk/6-consumer/lessons/1-speech-recognition/wio-terminal-microphone.md @@ -15,11 +15,11 @@ CO_OP_TRANSLATOR_METADATA: Wio Terminal 已內建麥克風,可用於捕捉音頻進行語音識別。 -![Wio Terminal 上的麥克風](../../../../../translated_images/hk/wio-mic.3f8c843dbe8ad917.webp) +![Wio Terminal 上的麥克風](../../../../../translated_images/zh-HK/wio-mic.3f8c843dbe8ad917.webp) 若要添加揚聲器,你可以使用 [ReSpeaker 2-Mics Pi Hat](https://www.seeedstudio.com/ReSpeaker-2-Mics-Pi-HAT.html)。這是一塊外部擴展板,包含兩個 MEMS 麥克風,以及一個揚聲器連接器和耳機插孔。 -![ReSpeaker 2-Mics Pi Hat](../../../../../translated_images/hk/respeaker.f5d19d1c6b14ab16.webp) +![ReSpeaker 2-Mics Pi Hat](../../../../../translated_images/zh-HK/respeaker.f5d19d1c6b14ab16.webp) 你需要添加耳機、一個帶 3.5mm 插頭的揚聲器,或者一個帶 JST 接口的揚聲器,例如 [Mono Enclosed Speaker - 2W 6 Ohm](https://www.seeedstudio.com/Mono-Enclosed-Speaker-2W-6-Ohm-p-2832.html)。 @@ -35,7 +35,7 @@ Wio Terminal 已內建麥克風,可用於捕捉音頻進行語音識別。 需要按照以下方式連接引腳: - ![引腳示意圖](../../../../../translated_images/hk/wio-respeaker-wiring-0.767f80aa65081038.webp) + ![引腳示意圖](../../../../../translated_images/zh-HK/wio-respeaker-wiring-0.767f80aa65081038.webp) 1. 將 ReSpeaker 和 Wio Terminal 擺放好,讓 GPIO 插座面向上,並位於左側。 @@ -43,33 +43,33 @@ Wio Terminal 已內建麥克風,可用於捕捉音頻進行語音識別。 1. 按此方式依次連接左側 GPIO 插座的所有插孔。確保引腳牢固插入。 - ![ReSpeaker 左側引腳連接到 Wio Terminal 左側引腳](../../../../../translated_images/hk/wio-respeaker-wiring-1.8d894727f2ba2400.webp) + ![ReSpeaker 左側引腳連接到 Wio Terminal 左側引腳](../../../../../translated_images/zh-HK/wio-respeaker-wiring-1.8d894727f2ba2400.webp) - ![ReSpeaker 左側引腳連接到 Wio Terminal 左側引腳](../../../../../translated_images/hk/wio-respeaker-wiring-2.329e1cbd306e754f.webp) + ![ReSpeaker 左側引腳連接到 Wio Terminal 左側引腳](../../../../../translated_images/zh-HK/wio-respeaker-wiring-2.329e1cbd306e754f.webp) > 💁 如果你的跳線是連成一條排線,保持它們整齊排列——這樣可以更容易確保所有線都按順序連接。 1. 使用 ReSpeaker 和 Wio Terminal 的右側 GPIO 插座重複上述過程。這些線需要繞過已連接的線。 - ![ReSpeaker 右側引腳連接到 Wio Terminal 右側引腳](../../../../../translated_images/hk/wio-respeaker-wiring-3.75b0be447e2fa930.webp) + ![ReSpeaker 右側引腳連接到 Wio Terminal 右側引腳](../../../../../translated_images/zh-HK/wio-respeaker-wiring-3.75b0be447e2fa930.webp) - ![ReSpeaker 右側引腳連接到 Wio Terminal 右側引腳](../../../../../translated_images/hk/wio-respeaker-wiring-4.aa9cd434d8779437.webp) + ![ReSpeaker 右側引腳連接到 Wio Terminal 右側引腳](../../../../../translated_images/zh-HK/wio-respeaker-wiring-4.aa9cd434d8779437.webp) > 💁 如果你的跳線是連成一條排線,將它們分成兩條排線。分別從已連接的線的兩側穿過。 > 💁 你可以使用膠帶將引腳固定成一個塊,以防止在連接過程中有引腳脫落。 > - > ![用膠帶固定的引腳](../../../../../translated_images/hk/wio-respeaker-wiring-5.af117c20acf622f3.webp) + > ![用膠帶固定的引腳](../../../../../translated_images/zh-HK/wio-respeaker-wiring-5.af117c20acf622f3.webp) 1. 你需要添加一個揚聲器。 * 如果你使用的是帶 JST 線的揚聲器,將其連接到 ReSpeaker 的 JST 接口。 - ![使用 JST 線連接到 ReSpeaker 的揚聲器](../../../../../translated_images/hk/respeaker-jst-speaker.a441d177809df945.webp) + ![使用 JST 線連接到 ReSpeaker 的揚聲器](../../../../../translated_images/zh-HK/respeaker-jst-speaker.a441d177809df945.webp) * 如果你使用的是帶 3.5mm 插頭的揚聲器或耳機,將其插入 3.5mm 插孔。 - ![使用 3.5mm 插孔連接到 ReSpeaker 的揚聲器](../../../../../translated_images/hk/respeaker-35mm-speaker.ad79ef4f128c7751.webp) + ![使用 3.5mm 插孔連接到 ReSpeaker 的揚聲器](../../../../../translated_images/zh-HK/respeaker-35mm-speaker.ad79ef4f128c7751.webp) ### 任務 - 設置 SD 卡 @@ -79,7 +79,7 @@ Wio Terminal 已內建麥克風,可用於捕捉音頻進行語音識別。 1. 將 SD 卡插入 Wio Terminal 左側的 SD 卡插槽,插槽位於電源按鈕下方。確保卡完全插入並卡住——你可能需要使用細小工具或另一張 SD 卡幫助將其完全推入。 - ![將 SD 卡插入電源開關下方的 SD 卡插槽](../../../../../translated_images/hk/wio-sd-card.acdcbe322fa4ee7f.webp) + ![將 SD 卡插入電源開關下方的 SD 卡插槽](../../../../../translated_images/zh-HK/wio-sd-card.acdcbe322fa4ee7f.webp) > 💁 若要取出 SD 卡,你需要稍微推入卡片,它會彈出。你需要使用細小工具,例如平頭螺絲刀或另一張 SD 卡來完成此操作。 diff --git a/translations/hk/6-consumer/lessons/2-language-understanding/README.md b/translations/hk/6-consumer/lessons/2-language-understanding/README.md index 5756d583c..2c7565fb1 100644 --- a/translations/hk/6-consumer/lessons/2-language-understanding/README.md +++ b/translations/hk/6-consumer/lessons/2-language-understanding/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 理解語言 -![本課程的手繪筆記概覽](../../../../../translated_images/hk/lesson-22.6148ea28500d9e00c396aaa2649935fb6641362c8f03d8e5e90a676977ab01dd.jpg) +![本課程的手繪筆記概覽](../../../../../translated_images/zh-HK/lesson-22.6148ea28500d9e00c396aaa2649935fb6641362c8f03d8e5e90a676977ab01dd.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -55,7 +55,7 @@ CO_OP_TRANSLATOR_METADATA: ## 創建語言理解模型 -![LUIS 標誌](../../../../../translated_images/hk/luis-logo.5cb4f3e88c020ee6df4f614e8831f4a4b6809a7247bf52085fb48d629ef9be52.png) +![LUIS 標誌](../../../../../translated_images/zh-HK/luis-logo.5cb4f3e88c020ee6df4f614e8831f4a4b6809a7247bf52085fb48d629ef9be52.png) 你可以使用 LUIS(Language Understanding Intelligent Service),一個來自 Microsoft 的語言理解服務,來創建語言理解模型。LUIS 是認知服務的一部分。 @@ -126,7 +126,7 @@ CO_OP_TRANSLATOR_METADATA: 然後,你需要告訴 LUIS 這些句子中的哪些部分對應於實體: -![句子「設置一個計時器為1分鐘12秒」分解為實體](../../../../../translated_images/hk/sentence-as-intent-entities.301401696f992259.webp) +![句子「設置一個計時器為1分鐘12秒」分解為實體](../../../../../translated_images/zh-HK/sentence-as-intent-entities.301401696f992259.webp) 句子 `設置一個計時器為1分鐘12秒` 的意圖是 `設置計時器`。它還有兩個實體,每個實體有兩個值: @@ -178,7 +178,7 @@ CO_OP_TRANSLATOR_METADATA: 1. 當你輸入每個示例時,LUIS 會開始檢測實體,並將檢測到的實體用下劃線標記並標籤。 - ![示例中數字和時間單位被 LUIS 用下劃線標記](../../../../../translated_images/hk/luis-intent-examples.25716580b2d2723cf1bafdf277d015c7f046d8cfa20f27bddf3a0873ec45fab7.png) + ![示例中數字和時間單位被 LUIS 用下劃線標記](../../../../../translated_images/zh-HK/luis-intent-examples.25716580b2d2723cf1bafdf277d015c7f046d8cfa20f27bddf3a0873ec45fab7.png) ### 任務 - 訓練和測試模型 diff --git a/translations/hk/6-consumer/lessons/3-spoken-feedback/README.md b/translations/hk/6-consumer/lessons/3-spoken-feedback/README.md index 7bccacf78..abe02444b 100644 --- a/translations/hk/6-consumer/lessons/3-spoken-feedback/README.md +++ b/translations/hk/6-consumer/lessons/3-spoken-feedback/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 設定計時器並提供語音回饋 -![本課程的手繪筆記概覽](../../../../../translated_images/hk/lesson-23.f38483e1d4df4828990d3f02d60e46c978b075d384ae7cb4f7bab738e107c850.jpg) +![本課程的手繪筆記概覽](../../../../../translated_images/zh-HK/lesson-23.f38483e1d4df4828990d3f02d60e46c978b075d384ae7cb4f7bab738e107c850.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -37,7 +37,7 @@ CO_OP_TRANSLATOR_METADATA: 顧名思義,文字轉語音是將文字轉換為包含語音的音頻的過程。其基本原理是將文字中的單詞分解為其組成的聲音(稱為音素),然後將這些聲音的音頻拼接在一起,這些音頻可以是預錄的,也可以是由人工智慧模型生成的。 -![典型文字轉語音系統的三個階段](../../../../../translated_images/hk/tts-overview.193843cf3f5ee09f.webp) +![典型文字轉語音系統的三個階段](../../../../../translated_images/zh-HK/tts-overview.193843cf3f5ee09f.webp) 文字轉語音系統通常有三個階段: diff --git a/translations/hk/6-consumer/lessons/4-multiple-language-support/README.md b/translations/hk/6-consumer/lessons/4-multiple-language-support/README.md index dc3f7e87c..14a3bb4c5 100644 --- a/translations/hk/6-consumer/lessons/4-multiple-language-support/README.md +++ b/translations/hk/6-consumer/lessons/4-multiple-language-support/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 支援多語言 -![本課程的手繪筆記概覽](../../../../../translated_images/hk/lesson-24.4246968ed058510ab275052e87ef9aa89c7b2f938915d103c605c04dc6cd5bb7.jpg) +![本課程的手繪筆記概覽](../../../../../translated_images/zh-HK/lesson-24.4246968ed058510ab275052e87ef9aa89c7b2f938915d103c605c04dc6cd5bb7.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -83,7 +83,7 @@ CO_OP_TRANSLATOR_METADATA: ### 認知服務語音服務 -![語音服務標誌](../../../../../translated_images/hk/azure-speech-logo.a1f08c4befb0159f2cb5d692d3baf5b599e7b44759d316da907bda1508f46a4a.png) +![語音服務標誌](../../../../../translated_images/zh-HK/azure-speech-logo.a1f08c4befb0159f2cb5d692d3baf5b599e7b44759d316da907bda1508f46a4a.png) 你在過去幾課中使用的語音服務具有語音識別的翻譯功能。當你進行語音識別時,可以請求不僅獲取相同語言的文字,還可以獲取其他語言的翻譯文字。 @@ -91,7 +91,7 @@ CO_OP_TRANSLATOR_METADATA: ### 認知服務翻譯服務 -![翻譯服務標誌](../../../../../translated_images/hk/azure-translator-logo.c6ed3a4a433edfd2f11577eca105412c50b8396b194cbbd730723dd1d0793bcd.png) +![翻譯服務標誌](../../../../../translated_images/zh-HK/azure-translator-logo.c6ed3a4a433edfd2f11577eca105412c50b8396b194cbbd730723dd1d0793bcd.png) 翻譯服務是一個專門的翻譯服務,可以將文字從一種語言翻譯成一種或多種目標語言。除了翻譯,它還支援許多額外功能,例如屏蔽不雅詞語。它還允許你為特定單詞或句子提供特定翻譯,以處理不希望翻譯的術語或具有特定知名翻譯的術語。 @@ -130,7 +130,7 @@ CO_OP_TRANSLATOR_METADATA: 在理想情況下,你的整個應用程式應該能理解盡可能多的語言,從語音識別到語言理解,再到語音回應。這需要大量工作,而翻譯服務可以加速應用程式的交付時間。 -![智慧計時器架構:將日語翻譯成英語,處理後再翻譯回日語](../../../../../translated_images/hk/translated-smart-timer.08ac20057fdc5c37.webp) +![智慧計時器架構:將日語翻譯成英語,處理後再翻譯回日語](../../../../../translated_images/zh-HK/translated-smart-timer.08ac20057fdc5c37.webp) 假設你正在構建一個智慧計時器,該計時器從頭到尾使用英語,理解英語語音並將其轉換為文字,用英語進行語言理解,生成英語回應,並以英語語音回應。如果你想添加日語支援,可以先將日語語音翻譯成英語文字,然後保持應用程式的核心部分不變,最後將回應文字翻譯成日語,並以日語語音回應。這樣可以快速添加日語支援,並在以後擴展到提供完整的日語端到端支援。 diff --git a/translations/hk/6-consumer/lessons/4-multiple-language-support/pi-translate-speech.md b/translations/hk/6-consumer/lessons/4-multiple-language-support/pi-translate-speech.md index 5ac420b22..f50e565f8 100644 --- a/translations/hk/6-consumer/lessons/4-multiple-language-support/pi-translate-speech.md +++ b/translations/hk/6-consumer/lessons/4-multiple-language-support/pi-translate-speech.md @@ -34,7 +34,7 @@ CO_OP_TRANSLATOR_METADATA: > > 例如,如果你用英文訓練 LUIS,但希望使用法語作為使用者語言,你可以使用 Bing 翻譯將「設置一個 2 分 27 秒的計時器」這樣的句子從英文翻譯成法語,然後使用 **聆聽翻譯** 按鈕,將翻譯後的內容說入麥克風。 > - > ![Bing 翻譯上的聆聽翻譯按鈕](../../../../../translated_images/hk/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.png) + > ![Bing 翻譯上的聆聽翻譯按鈕](../../../../../translated_images/zh-HK/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.png) 1. 在 `speech_api_key` 下方新增翻譯 API 金鑰: diff --git a/translations/hk/6-consumer/lessons/4-multiple-language-support/virtual-device-translate-speech.md b/translations/hk/6-consumer/lessons/4-multiple-language-support/virtual-device-translate-speech.md index 8b84f6f0d..c68384220 100644 --- a/translations/hk/6-consumer/lessons/4-multiple-language-support/virtual-device-translate-speech.md +++ b/translations/hk/6-consumer/lessons/4-multiple-language-support/virtual-device-translate-speech.md @@ -46,7 +46,7 @@ CO_OP_TRANSLATOR_METADATA: > > 例如,如果你用英語訓練 LUIS,但希望使用法語作為使用者語言,你可以使用 Bing 翻譯將像 "設置一個 2 分 27 秒的計時器" 這樣的句子從英語翻譯成法語,然後使用 **聆聽翻譯** 按鈕將翻譯語音說入你的麥克風。 > - > ![Bing 翻譯中的聆聽翻譯按鈕](../../../../../translated_images/hk/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.png) + > ![Bing 翻譯中的聆聽翻譯按鈕](../../../../../translated_images/zh-HK/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.png) 1. 替換 `recognizer_config` 和 `recognizer` 的聲明為以下內容: diff --git a/translations/hk/6-consumer/lessons/4-multiple-language-support/wio-terminal-translate-speech.md b/translations/hk/6-consumer/lessons/4-multiple-language-support/wio-terminal-translate-speech.md index f66a9e1cd..fddbe5cfd 100644 --- a/translations/hk/6-consumer/lessons/4-multiple-language-support/wio-terminal-translate-speech.md +++ b/translations/hk/6-consumer/lessons/4-multiple-language-support/wio-terminal-translate-speech.md @@ -114,7 +114,7 @@ CO_OP_TRANSLATOR_METADATA: > > 例如,如果你用英語訓練 LUIS,但希望使用法語作為使用者語言,你可以使用 Bing 翻譯將 "set a 2 minute and 27 second timer" 從英語翻譯成法語,然後使用 **聆聽翻譯** 按鈕將翻譯語音說入麥克風。 > - > ![Bing 翻譯上的聆聽翻譯按鈕](../../../../../translated_images/hk/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.png) + > ![Bing 翻譯上的聆聽翻譯按鈕](../../../../../translated_images/zh-HK/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.png) 1. 在 `SPEECH_LOCATION` 下方新增翻譯 API 金鑰和位置: diff --git a/translations/hk/README.md b/translations/hk/README.md index 02ed90b62..4cd7df99e 100644 --- a/translations/hk/README.md +++ b/translations/hk/README.md @@ -57,7 +57,7 @@ CO_OP_TRANSLATOR_METADATA: 這些專案涵蓋食品從農場到餐桌的整個過程,包含農業、物流、製造、零售和消費者──這些都是物聯網裝置非常熱門的產業領域。 -![課程路線圖,顯示 24 節課涵蓋入門、農業、運輸、加工、零售與烹飪](../../translated_images/hk/Roadmap.bb1dec285dda0eda.webp) +![課程路線圖,顯示 24 節課涵蓋入門、農業、運輸、加工、零售與烹飪](../../translated_images/zh-HK/Roadmap.bb1dec285dda0eda.webp) > 手繪記錄由 [Nitya Narasimhan](https://github.com/nitya) 製作。點擊圖片可觀看大圖。 diff --git a/translations/hk/hardware.md b/translations/hk/hardware.md index 5843deeb2..962cb700d 100644 --- a/translations/hk/hardware.md +++ b/translations/hk/hardware.md @@ -21,7 +21,7 @@ CO_OP_TRANSLATOR_METADATA: ## 購買套件 -![Seeed Studios 標誌](../../translated_images/hk/seeed-logo.74732b6b482b6e8e.webp) +![Seeed Studios 標誌](../../translated_images/zh-HK/seeed-logo.74732b6b482b6e8e.webp) Seeed Studios 非常友善地將所有硬件製作成易於購買的套件: @@ -29,13 +29,13 @@ Seeed Studios 非常友善地將所有硬件製作成易於購買的套件: **[Seeed 和 Microsoft 的物聯網入門 - Wio Terminal 初學者套件](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Wio-Terminal-Starter-Kit-p-5006.html)** -[![Wio Terminal 硬件套件](../../translated_images/hk/wio-hardware-kit.4c70c48b85e4283a.webp)](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Wio-Terminal-Starter-Kit-p-5006.html) +[![Wio Terminal 硬件套件](../../translated_images/zh-HK/wio-hardware-kit.4c70c48b85e4283a.webp)](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Wio-Terminal-Starter-Kit-p-5006.html) ### Raspberry Pi **[Seeed 和 Microsoft 的物聯網入門 - Raspberry Pi 4 初學者套件](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Raspberry-Pi-Starter-Kit-p-5004.html)** -[![Raspberry Pi 硬件套件](../../translated_images/hk/pi-hardware-kit.26dbadaedb7dd44c73b0131d5d68ea29472ed0a9744f90d5866c6d82f2d16380.png)](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Raspberry-Pi-Starter-Kit-p-5004.html) +[![Raspberry Pi 硬件套件](../../translated_images/zh-HK/pi-hardware-kit.26dbadaedb7dd44c73b0131d5d68ea29472ed0a9744f90d5866c6d82f2d16380.png)](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Raspberry-Pi-Starter-Kit-p-5004.html) ## Arduino diff --git a/translations/mo/1-getting-started/lessons/1-introduction-to-iot/README.md b/translations/mo/1-getting-started/lessons/1-introduction-to-iot/README.md index 53ae8665c..404dc11fd 100644 --- a/translations/mo/1-getting-started/lessons/1-introduction-to-iot/README.md +++ b/translations/mo/1-getting-started/lessons/1-introduction-to-iot/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 物聯網簡介 -![本課程的手繪筆記概覽](../../../../../translated_images/mo/lesson-1.2606670fa61ee904687da5d6fa4e726639d524d064c895117da1b95b9ff6251d.jpg) +![本課程的手繪筆記概覽](../../../../../translated_images/zh-MO/lesson-1.2606670fa61ee904687da5d6fa4e726639d524d064c895117da1b95b9ff6251d.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -79,7 +79,7 @@ CO_OP_TRANSLATOR_METADATA: 微控制器通常是低成本的計算設備,用於定制硬體的微控制器平均價格降至約 0.50 美元,有些設備甚至低至 0.03 美元。開發套件的起價約為 4 美元,隨著功能的增加,成本也會上升。[Wio Terminal](https://www.seeedstudio.com/Wio-Terminal-p-4509.html) 是 [Seeed studios](https://www.seeedstudio.com) 的一款微控制器開發套件,內置感測器、致動器、WiFi 和螢幕,價格約為 30 美元。 -![Wio Terminal](../../../../../translated_images/mo/wio-terminal.b8299ee16587db9a.webp) +![Wio Terminal](../../../../../translated_images/zh-MO/wio-terminal.b8299ee16587db9a.webp) > 💁 在網上搜索微控制器時,請注意搜索術語 **MCU**,因為這可能會返回大量與漫威電影宇宙(Marvel Cinematic Universe)相關的結果,而不是微控制器。 @@ -93,7 +93,7 @@ CO_OP_TRANSLATOR_METADATA: 單板電腦是一種小型計算設備,將完整計算機的所有元素包含在一塊小型電路板上。這些設備的規格接近桌面或筆記本電腦,運行完整的操作系統,但體積更小,功耗更低,價格也便宜得多。 -![Raspberry Pi 4](../../../../../translated_images/mo/raspberry-pi-4.fd4590d308c3d456.webp) +![Raspberry Pi 4](../../../../../translated_images/zh-MO/raspberry-pi-4.fd4590d308c3d456.webp) Raspberry Pi 是最受歡迎的單板電腦之一。 diff --git a/translations/mo/1-getting-started/lessons/1-introduction-to-iot/pi.md b/translations/mo/1-getting-started/lessons/1-introduction-to-iot/pi.md index 32f7a5f80..755960e04 100644 --- a/translations/mo/1-getting-started/lessons/1-introduction-to-iot/pi.md +++ b/translations/mo/1-getting-started/lessons/1-introduction-to-iot/pi.md @@ -11,7 +11,7 @@ CO_OP_TRANSLATOR_METADATA: [樹莓派](https://raspberrypi.org) 是一款單板電腦。你可以使用各種設備和生態系統添加感測器和致動器,這些課程中將使用一種名為 [Grove](https://www.seeedstudio.com/category/Grove-c-1003.html) 的硬體生態系統。你將使用 Python 為樹莓派編寫程式並存取 Grove 感測器。 -![樹莓派 4](../../../../../translated_images/mo/raspberry-pi-4.fd4590d308c3d456.webp) +![樹莓派 4](../../../../../translated_images/zh-MO/raspberry-pi-4.fd4590d308c3d456.webp) ## 設置 @@ -112,7 +112,7 @@ CO_OP_TRANSLATOR_METADATA: 1. 在 Raspberry Pi Imager 中,選擇 **CHOOSE OS** 按鈕,然後選擇 *Raspberry Pi OS (Other)*,接著選擇 *Raspberry Pi OS Lite (32-bit)*。 - ![Raspberry Pi Imager 中選擇 Raspberry Pi OS Lite](../../../../../translated_images/mo/raspberry-pi-imager.24aedeab9e233d84.webp) + ![Raspberry Pi Imager 中選擇 Raspberry Pi OS Lite](../../../../../translated_images/zh-MO/raspberry-pi-imager.24aedeab9e233d84.webp) > 💁 Raspberry Pi OS Lite 是樹莓派 OS 的一個版本,沒有桌面 UI 或基於 UI 的工具。這些對無頭模式的樹莓派來說並不需要,並且使安裝更小,啟動時間更快。 @@ -251,7 +251,7 @@ OS 會被寫入 SD 卡,完成後系統會彈出該卡,並通知你。從電 1. 在 VS Code 中開啟此資料夾,選擇 *File -> Open...*,然後選擇 *nightlight* 資料夾,接著選擇 **OK**。 - ![VS Code 開啟對話框顯示 nightlight 資料夾](../../../../../translated_images/mo/vscode-open-nightlight-remote.d3d2a4011e30d535.webp) + ![VS Code 開啟對話框顯示 nightlight 資料夾](../../../../../translated_images/zh-MO/vscode-open-nightlight-remote.d3d2a4011e30d535.webp) 1. 從 VS Code 的檔案瀏覽器中開啟 `app.py` 檔案,並加入以下程式碼: diff --git a/translations/mo/1-getting-started/lessons/1-introduction-to-iot/virtual-device.md b/translations/mo/1-getting-started/lessons/1-introduction-to-iot/virtual-device.md index 45dcc5d99..37069a27d 100644 --- a/translations/mo/1-getting-started/lessons/1-introduction-to-iot/virtual-device.md +++ b/translations/mo/1-getting-started/lessons/1-introduction-to-iot/virtual-device.md @@ -154,11 +154,11 @@ Python 的一個強大功能是能夠安裝 [Pip 套件](https://pypi.org)—— 1. 當 VS Code 啟動時,它將啟動 Python 虛擬環境。選定的虛擬環境將顯示在底部狀態欄中: - ![VS Code 顯示選定的虛擬環境](../../../../../translated_images/mo/vscode-virtual-env.8ba42e04c3d533cf.webp) + ![VS Code 顯示選定的虛擬環境](../../../../../translated_images/zh-MO/vscode-virtual-env.8ba42e04c3d533cf.webp) 1. 如果 VS Code Terminal 在啟動時已運行,則它不會啟動虛擬環境。最簡單的方法是使用 **Kill the active terminal instance** 按鈕關閉終端: - ![VS Code Kill the active terminal instance 按鈕](../../../../../translated_images/mo/vscode-kill-terminal.1cc4de7c6f25ee08.webp) + ![VS Code Kill the active terminal instance 按鈕](../../../../../translated_images/zh-MO/vscode-kill-terminal.1cc4de7c6f25ee08.webp) 你可以通過終端提示符上的虛擬環境名稱來判斷終端是否啟動了虛擬環境。例如,它可能是: @@ -212,7 +212,7 @@ Python 的一個強大功能是能夠安裝 [Pip 套件](https://pypi.org)—— 該應用將開始運行並在瀏覽器中打開: - ![在瀏覽器中運行的 Counter Fit 應用](../../../../../translated_images/mo/counterfit-first-run.433326358b669b31d0e99c3513cb01bfbb13724d162c99cdcc8f51ecf5f9c779.png) + ![在瀏覽器中運行的 Counter Fit 應用](../../../../../translated_images/zh-MO/counterfit-first-run.433326358b669b31d0e99c3513cb01bfbb13724d162c99cdcc8f51ecf5f9c779.png) 它將顯示為 *Disconnected*,右上角的 LED 為關閉狀態。 @@ -229,11 +229,11 @@ Python 的一個強大功能是能夠安裝 [Pip 套件](https://pypi.org)—— 1. 你需要通過選擇 **Create a new integrated terminal** 按鈕啟動新的 VS Code 終端。這是因為 CounterFit 應用正在當前終端中運行。 - ![VS Code Create a new integrated terminal 按鈕](../../../../../translated_images/mo/vscode-new-terminal.77db8fc0f9cd3182.webp) + ![VS Code Create a new integrated terminal 按鈕](../../../../../translated_images/zh-MO/vscode-new-terminal.77db8fc0f9cd3182.webp) 1. 在這個新終端中,像之前一樣運行 `app.py` 文件。CounterFit 的狀態將變為 **Connected**,LED 會亮起。 - ![Counter Fit 顯示為已連接](../../../../../translated_images/mo/counterfit-connected.ed30b46d8f79b0921f3fc70be10366e596a89dca3f80c2224a9d9fc98fccf884.png) + ![Counter Fit 顯示為已連接](../../../../../translated_images/zh-MO/counterfit-connected.ed30b46d8f79b0921f3fc70be10366e596a89dca3f80c2224a9d9fc98fccf884.png) > 💁 你可以在 [code/virtual-device](../../../../../1-getting-started/lessons/1-introduction-to-iot/code/virtual-device) 資料夾中找到這段程式碼。 diff --git a/translations/mo/1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md b/translations/mo/1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md index 731a205eb..d261e1e4c 100644 --- a/translations/mo/1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md +++ b/translations/mo/1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md @@ -11,7 +11,7 @@ CO_OP_TRANSLATOR_METADATA: [Seeed Studios 的 Wio Terminal](https://www.seeedstudio.com/Wio-Terminal-p-4509.html) 是一款兼容 Arduino 的微控制器,內建 WiFi 以及一些感測器和執行器,並且可以透過名為 [Grove](https://www.seeedstudio.com/category/Grove-c-1003.html) 的硬體生態系統擴展更多感測器和執行器。 -![Seeed Studios 的 Wio Terminal](../../../../../translated_images/mo/wio-terminal.b8299ee16587db9a.webp) +![Seeed Studios 的 Wio Terminal](../../../../../translated_images/zh-MO/wio-terminal.b8299ee16587db9a.webp) ## 設置 @@ -51,15 +51,15 @@ Wio Terminal 的 Hello World 應用程式將確保您已正確安裝 Visual Stud 1. 在側邊選單中找到 PlatformIO 圖標: - ![Platform IO 選單選項](../../../../../translated_images/mo/vscode-platformio-menu.297be26b9733e5c4.webp) + ![Platform IO 選單選項](../../../../../translated_images/zh-MO/vscode-platformio-menu.297be26b9733e5c4.webp) 選擇此選單項,然後選擇 *PIO Home -> Open* - ![Platform IO 開啟選項](../../../../../translated_images/mo/vscode-platformio-home-open.3f9a41bfd3f4da1c.webp) + ![Platform IO 開啟選項](../../../../../translated_images/zh-MO/vscode-platformio-home-open.3f9a41bfd3f4da1c.webp) 1. 在歡迎畫面中,選擇 **+ New Project** 按鈕 - ![新專案按鈕](../../../../../translated_images/mo/vscode-platformio-welcome-new-button.ba6fc8a4c7b78cc8.webp) + ![新專案按鈕](../../../../../translated_images/zh-MO/vscode-platformio-welcome-new-button.ba6fc8a4c7b78cc8.webp) 1. 在 *Project Wizard* 中配置專案: @@ -73,7 +73,7 @@ Wio Terminal 的 Hello World 應用程式將確保您已正確安裝 Visual Stud 1. 選擇 **Finish** 按鈕 - ![完成的專案向導](../../../../../translated_images/mo/vscode-platformio-nightlight-project-wizard.5c64db4da6037420.webp) + ![完成的專案向導](../../../../../translated_images/zh-MO/vscode-platformio-nightlight-project-wizard.5c64db4da6037420.webp) PlatformIO 將下載編譯 Wio Terminal 程式碼所需的組件並建立您的專案。這可能需要幾分鐘。 @@ -179,7 +179,7 @@ VS Code 的檔案總管將顯示由 PlatformIO 向導建立的多個檔案和資 1. 輸入 `PlatformIO Upload` 搜索上傳選項,並選擇 *PlatformIO: Upload* - ![命令面板中的 PlatformIO 上傳選項](../../../../../translated_images/mo/vscode-platformio-upload-command-palette.9e0f49cf80d1f1c3.webp) + ![命令面板中的 PlatformIO 上傳選項](../../../../../translated_images/zh-MO/vscode-platformio-upload-command-palette.9e0f49cf80d1f1c3.webp) 如果需要,PlatformIO 將自動編譯程式碼,然後上傳。 @@ -195,7 +195,7 @@ PlatformIO 提供了一個串口監視器,可以監控通過 USB 線纜從 Wio 1. 輸入 `PlatformIO Serial` 搜索串口監視器選項,並選擇 *PlatformIO: Serial Monitor* - ![命令面板中的 PlatformIO 串口監視器選項](../../../../../translated_images/mo/vscode-platformio-serial-monitor-command-palette.b348ec841b8a1c14.webp) + ![命令面板中的 PlatformIO 串口監視器選項](../../../../../translated_images/zh-MO/vscode-platformio-serial-monitor-command-palette.b348ec841b8a1c14.webp) 一個新終端將打開,串口發送的數據將流入此終端: diff --git a/translations/mo/1-getting-started/lessons/2-deeper-dive/README.md b/translations/mo/1-getting-started/lessons/2-deeper-dive/README.md index d8f4c8b6a..1878c29bd 100644 --- a/translations/mo/1-getting-started/lessons/2-deeper-dive/README.md +++ b/translations/mo/1-getting-started/lessons/2-deeper-dive/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 深入探討物聯網 (IoT) -![本課程的手繪筆記概述](../../../../../translated_images/mo/lesson-2.324b0580d620c25e0a24fb7fddfc0b29a846dd4b82c08e7a9466d580ee78ce51.jpg) +![本課程的手繪筆記概述](../../../../../translated_images/zh-MO/lesson-2.324b0580d620c25e0a24fb7fddfc0b29a846dd4b82c08e7a9466d580ee78ce51.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -41,13 +41,13 @@ CO_OP_TRANSLATOR_METADATA: ### 物件 -![Raspberry Pi 4](../../../../../translated_images/mo/raspberry-pi-4.fd4590d308c3d456.webp) +![Raspberry Pi 4](../../../../../translated_images/zh-MO/raspberry-pi-4.fd4590d308c3d456.webp) 物聯網中的 **物件** 指的是能與物理世界互動的設備。這些設備通常是小型、低成本的電腦,運行速度較低且功耗低。例如,簡單的微控制器僅有幾千字節的 RAM(而非 PC 的幾 GB),運行速度僅有幾百 MHz(而非 PC 的 GHz),但功耗極低,有時甚至可以用電池運行數週、數月甚至數年。 這些設備通過使用感測器來收集周圍環境的數據,或者通過控制輸出或執行器來進行物理改變。典型的例子是智能恆溫器——一種具有溫度感測器、可設置所需溫度的方式(如旋鈕或觸控屏),以及連接到加熱或冷卻系統的設備,當檢測到的溫度超出所需範圍時,系統會啟動。溫度感測器檢測到房間太冷,執行器則啟動加熱系統。 -![顯示溫度和旋鈕作為物聯網設備輸入,以及加熱器控制作為輸出的圖示](../../../../../translated_images/mo/basic-thermostat.a923217fd1f37e5a6f3390396a65c22a387419ea2dd17e518ec24315ba6ae9a8.png) +![顯示溫度和旋鈕作為物聯網設備輸入,以及加熱器控制作為輸出的圖示](../../../../../translated_images/zh-MO/basic-thermostat.a923217fd1f37e5a6f3390396a65c22a387419ea2dd17e518ec24315ba6ae9a8.png) 物聯網設備的種類繁多,從專用硬體到一般用途設備,甚至包括您的智能手機!智能手機可以使用感測器檢測周圍環境,並使用執行器與世界互動——例如使用 GPS 感測器檢測您的位置,並使用揚聲器提供導航指示。 @@ -63,11 +63,11 @@ CO_OP_TRANSLATOR_METADATA: 以智能恆溫器為例,恆溫器通過家庭 WiFi 連接到雲端服務,並將溫度數據發送到該服務。雲端服務將數據寫入某種數據庫,讓房主可以通過手機應用查看當前和過去的溫度。雲端中的另一個服務知道房主想要的溫度,並通過雲端服務向物聯網設備發送消息,告訴加熱系統開啟或關閉。 -![顯示溫度和旋鈕作為物聯網設備輸入,物聯網設備與雲端的雙向通信,雲端與手機的雙向通信,以及加熱器控制作為物聯網設備輸出的圖示](../../../../../translated_images/mo/mobile-controlled-thermostat.4a994010473d8d6a52ba68c67e5f02dc8928c717e93ca4b9bc55525aa75bbb60.png) +![顯示溫度和旋鈕作為物聯網設備輸入,物聯網設備與雲端的雙向通信,雲端與手機的雙向通信,以及加熱器控制作為物聯網設備輸出的圖示](../../../../../translated_images/zh-MO/mobile-controlled-thermostat.4a994010473d8d6a52ba68c67e5f02dc8928c717e93ca4b9bc55525aa75bbb60.png) 更智能的版本可以使用雲端中的 AI,結合其他物聯網設備(如佔用感測器)連接的其他感測器數據,以及天氣和您的日曆等數據,智能地設置溫度。例如,如果日曆顯示您正在度假,它可以關閉加熱;或者根據您使用的房間逐一關閉加熱,並從數據中學習以越來越準確。 -![顯示多個溫度感測器和旋鈕作為物聯網設備輸入,物聯網設備與雲端的雙向通信,雲端與手機、日曆和天氣服務的雙向通信,以及加熱器控制作為物聯網設備輸出的圖示](../../../../../translated_images/mo/smarter-thermostat.a75855f15d2d9e63.webp) +![顯示多個溫度感測器和旋鈕作為物聯網設備輸入,物聯網設備與雲端的雙向通信,雲端與手機、日曆和天氣服務的雙向通信,以及加熱器控制作為物聯網設備輸出的圖示](../../../../../translated_images/zh-MO/smarter-thermostat.a75855f15d2d9e63.webp) ✅ 還有哪些數據可以幫助使網際網路連接的恆溫器更智能? @@ -103,7 +103,7 @@ CPU 依賴於時鐘,每秒鐘滴答數百萬或數十億次。每次滴答或 > 💁 CPU 使用 [取指-解碼-執行週期](https://wikipedia.org/wiki/Instruction_cycle) 執行程序。每次時鐘滴答,CPU 從記憶體中取指令,解碼,然後執行,例如使用算術邏輯單元 (ALU) 加法兩個數字。一些執行可能需要多個滴答才能完成,因此下一個週期將在指令完成後的下一次滴答運行。 -![取指-解碼-執行週期顯示取指令從存儲在 RAM 中的程序中取指令,然後在 CPU 上解碼並執行](../../../../../translated_images/mo/fetch-decode-execute.2fd6f150f6280392807f4475382319abd0cee0b90058e1735444d6baa6f2078c.png) +![取指-解碼-執行週期顯示取指令從存儲在 RAM 中的程序中取指令,然後在 CPU 上解碼並執行](../../../../../translated_images/zh-MO/fetch-decode-execute.2fd6f150f6280392807f4475382319abd0cee0b90058e1735444d6baa6f2078c.png) 微控制器的時鐘速度遠低於桌上型或筆記型電腦,甚至大多數智能手機。比如 Wio Terminal 的 CPU 運行速度為 120MHz,即每秒 120,000,000 次週期。 @@ -135,7 +135,7 @@ RAM 是程序運行時使用的記憶體,包含程序分配的變數以及從 下圖顯示了 192KB 和 8GB 的相對大小差異——中心的小點代表 192KB。 -![192KB 和 8GB 的比較 - 超過 40,000 倍的差距](../../../../../translated_images/mo/ram-comparison.6beb73541b42ac6f.webp) +![192KB 和 8GB 的比較 - 超過 40,000 倍的差距](../../../../../translated_images/zh-MO/ram-comparison.6beb73541b42ac6f.webp) 程式存儲空間也比 PC 小。一台典型的 PC 可能有 500GB 的硬碟用於程式存儲,而微控制器可能只有幾千字節或幾百萬字節 (MB) 的存儲空間 (1MB 等於 1,000KB 或 1,000,000 字節)。Wio Terminal 擁有 4MB 的程式存儲空間。 @@ -191,7 +191,7 @@ Arduino 開發板使用 C 或 C++ 進行程式設計。使用 C/C++ 可以使程 你可以在 `setup` 函式中撰寫初始化程式碼,例如連接 WiFi 和雲端服務或初始化輸入和輸出接腳。在 `loop` 函式中撰寫處理程式碼,例如從感測器讀取數據並將其發送到雲端。通常你會在每次迴圈中加入延遲,例如,如果你只希望每 10 秒發送一次感測器數據,你可以在迴圈結尾加入 10 秒的延遲,讓微控制器進入睡眠模式以節省電力,然後在需要時 10 秒後再次運行迴圈。 -![Arduino sketch 首先運行 setup,然後不斷重複運行 loop](../../../../../translated_images/mo/arduino-sketch.79590cb837ff7a7c6a68d1afda6cab83fd53d3bb1bd9a8bf2eaf8d693a4d3ea6.png) +![Arduino sketch 首先運行 setup,然後不斷重複運行 loop](../../../../../translated_images/zh-MO/arduino-sketch.79590cb837ff7a7c6a68d1afda6cab83fd53d3bb1bd9a8bf2eaf8d693a4d3ea6.png) ✅ 這種程式架構被稱為 *事件迴圈* 或 *訊息迴圈*。許多應用程式在底層使用這種架構,並且是大多數運行在 Windows、macOS 或 Linux 等作業系統上的桌面應用程式的標準。`loop` 會監聽來自使用者介面元件(例如按鈕)或裝置(例如鍵盤)的訊息,並對其作出回應。你可以在這篇 [事件迴圈文章](https://wikipedia.org/wiki/Event_loop) 中閱讀更多內容。 @@ -211,17 +211,17 @@ Arduino 還有一個龐大的第三方函式庫生態系統,允許你為 Ardui ### Raspberry Pi -![Raspberry Pi 標誌](../../../../../translated_images/mo/raspberry-pi-logo.4efaa16605cee054.webp) +![Raspberry Pi 標誌](../../../../../translated_images/zh-MO/raspberry-pi-logo.4efaa16605cee054.webp) [Raspberry Pi 基金會](https://www.raspberrypi.org) 是一家來自英國的慈善機構,成立於 2009 年,旨在促進計算機科學的學習,特別是在學校層面。作為這一使命的一部分,他們開發了一款單板電腦,名為 Raspberry Pi。目前 Raspberry Pi 有三種版本——全尺寸版本、較小的 Pi Zero,以及可以嵌入最終 IoT 裝置中的計算模組。 -![Raspberry Pi 4](../../../../../translated_images/mo/raspberry-pi-4.fd4590d308c3d456.webp) +![Raspberry Pi 4](../../../../../translated_images/zh-MO/raspberry-pi-4.fd4590d308c3d456.webp) 最新的全尺寸 Raspberry Pi 是 Raspberry Pi 4B。它擁有一個四核心 (4 核心) CPU,運行速度為 1.5GHz,2GB、4GB 或 8GB 的 RAM,千兆乙太網、WiFi、2 個支援 4k 螢幕的 HDMI 接口、一個音頻和複合視頻輸出接口、USB 接口 (2 個 USB 2.0 和 2 個 USB 3.0)、40 個 GPIO 接腳、一個 Raspberry Pi 相機模組的相機接口,以及一個 SD 卡插槽。所有這些都集成在一塊 88mm x 58mm x 19.5mm 的電路板上,並由 3A USB-C 電源供電。這些起價為 35 美元,比 PC 或 Mac 便宜得多。 > 💁 還有一款 Pi400 一體式電腦,將 Pi4 集成到鍵盤中。 -![Raspberry Pi Zero](../../../../../translated_images/mo/raspberry-pi-zero.f7a4133e1e7d54bb.webp) +![Raspberry Pi Zero](../../../../../translated_images/zh-MO/raspberry-pi-zero.f7a4133e1e7d54bb.webp) Pi Zero 更小,功耗更低。它擁有一個單核心 1GHz CPU,512MB 的 RAM,WiFi (在 Zero W 型號中),一個 HDMI 接口、一個 micro-USB 接口、40 個 GPIO 接腳、一個 Raspberry Pi 相機模組的相機接口,以及一個 SD 卡插槽。它的尺寸為 65mm x 30mm x 5mm,功耗非常低。Zero 售價 5 美元,帶 WiFi 的 W 型號售價 10 美元。 diff --git a/translations/mo/1-getting-started/lessons/3-sensors-and-actuators/README.md b/translations/mo/1-getting-started/lessons/3-sensors-and-actuators/README.md index 7b7c54137..70caa8bfd 100644 --- a/translations/mo/1-getting-started/lessons/3-sensors-and-actuators/README.md +++ b/translations/mo/1-getting-started/lessons/3-sensors-and-actuators/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 使用感測器和致動器與物理世界互動 -![本課程的手繪筆記概述](../../../../../translated_images/mo/lesson-3.cc3b7b4cd646de598698cce043c0393fd62ef42bac2eaf60e61272cd844250f4.jpg) +![本課程的手繪筆記概述](../../../../../translated_images/zh-MO/lesson-3.cc3b7b4cd646de598698cce043c0393fd62ef42bac2eaf60e61272cd844250f4.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -75,7 +75,7 @@ CO_OP_TRANSLATOR_METADATA: 一個例子是電位器。這是一個可以在兩個位置之間旋轉的旋鈕,感測器測量旋轉角度。 -![一個電位器設置在中間位置,接收 5 伏特並返回 3.8 伏特](../../../../../translated_images/mo/potentiometer.35a348b9ce22f6ec.webp) +![一個電位器設置在中間位置,接收 5 伏特並返回 3.8 伏特](../../../../../translated_images/zh-MO/potentiometer.35a348b9ce22f6ec.webp) IoT 裝置會向電位器發送一個電信號,電壓例如 5 伏特(5V)。當調整電位器時,它會改變從另一端輸出的電壓。假設您有一個標有 0 到 [11](https://wikipedia.org/wiki/Up_to_eleven) 的電位器,例如放大器上的音量旋鈕。當電位器處於完全關閉位置(0)時,輸出為 0V(0 伏特)。當它處於完全開啟位置(11)時,輸出為 5V(5 伏特)。 @@ -101,7 +101,7 @@ IoT 裝置是數位的——它們無法處理類比值,只能處理 0 和 1 最簡單的數位感測器是按鈕或開關。這是一個具有兩種狀態的感測器,開或關。 -![一個按鈕接收 5 伏特。未按下時返回 0 伏特,按下時返回 5 伏特](../../../../../translated_images/mo/button.eadb560b77ac45e56f523d9d8876e40444f63b419e33eb820082d461fa79490b.png) +![一個按鈕接收 5 伏特。未按下時返回 0 伏特,按下時返回 5 伏特](../../../../../translated_images/zh-MO/button.eadb560b77ac45e56f523d9d8876e40444f63b419e33eb820082d461fa79490b.png) IoT 裝置上的引腳(例如 GPIO 引腳)可以直接測量此信號作為 0 或 1。如果發送的電壓與返回的電壓相同,則讀取值為 1,否則讀取值為 0。無需轉換信號,它只能是 1 或 0。 @@ -112,7 +112,7 @@ IoT 裝置上的引腳(例如 GPIO 引腳)可以直接測量此信號作為 更高級的數位感測器讀取類比值,然後使用內置 ADC 將其轉換為數位信號。例如,數位溫度感測器仍然會以類比感測器相同的方式使用熱電偶,並仍然測量由熱電偶在當前溫度下的電阻引起的電壓變化。它不會返回類比值,而是依賴於裝置或連接板進行轉換,而是由內置的 ADC 將值轉換為一系列 0 和 1,並將其發送到 IoT 裝置。這些 0 和 1 的發送方式與按鈕的數位信號相同,其中 1 表示全電壓,0 表示 0V。 -![一個數位溫度感測器將類比讀數轉換為二進制數據,0 表示 0 伏特,1 表示 5 伏特,然後將其發送到 IoT 裝置](../../../../../translated_images/mo/temperature-as-digital.85004491b977bae1.webp) +![一個數位溫度感測器將類比讀數轉換為二進制數據,0 表示 0 伏特,1 表示 5 伏特,然後將其發送到 IoT 裝置](../../../../../translated_images/zh-MO/temperature-as-digital.85004491b977bae1.webp) 發送數位數據使感測器能夠變得更加複雜,並發送更詳細的數據,甚至是加密數據以用於安全感測器。一個例子是攝像頭。這是一個捕捉圖像並以包含該圖像的數位數據形式發送的感測器,通常以壓縮格式(如 JPEG)發送到 IoT 裝置。它甚至可以通過捕捉圖像並逐幀發送完整圖像或壓縮視頻流來進行視頻流。 @@ -134,7 +134,7 @@ IoT 裝置上的引腳(例如 GPIO 引腳)可以直接測量此信號作為 按照以下相關指南,將致動器添加到您的 IoT 裝置,並由感測器控制,以構建 IoT 夜燈。它將從光感測器收集光線強度,並使用 LED 作為致動器,在檢測到光線強度過低時發出光。 -![作業的流程圖,顯示光線強度被讀取和檢查,並控制 LED](../../../../../translated_images/mo/assignment-1-flow.7552a51acb1a5ec858dca6e855cdbb44206434006df8ba3799a25afcdab1665d.png) +![作業的流程圖,顯示光線強度被讀取和檢查,並控制 LED](../../../../../translated_images/zh-MO/assignment-1-flow.7552a51acb1a5ec858dca6e855cdbb44206434006df8ba3799a25afcdab1665d.png) * [Arduino - Wio Terminal](wio-terminal-actuator.md) * [單板電腦 - Raspberry Pi](pi-actuator.md) @@ -149,7 +149,7 @@ IoT 裝置上的引腳(例如 GPIO 引腳)可以直接測量此信號作為 類比致動器接收類比信號並將其轉換為某種交互,交互根據提供的電壓而改變。 一個例子是可調光燈,例如您家中的燈。提供給燈的電壓量決定了燈的亮度。 -![低電壓下的燈光暗淡,高電壓下的燈光明亮](../../../../../translated_images/mo/dimmable-light.9ceffeb195dec1a849da718b2d71b32c35171ff7dfea9c07bbf82646a67acf6b.png) +![低電壓下的燈光暗淡,高電壓下的燈光明亮](../../../../../translated_images/zh-MO/dimmable-light.9ceffeb195dec1a849da718b2d71b32c35171ff7dfea9c07bbf82646a67acf6b.png) 就像感測器一樣,實際的物聯網設備使用的是數位信號,而非類比信號。這意味著要傳送類比信號,物聯網設備需要一個數位到類比轉換器(DAC),可以直接內建在物聯網設備中,也可以在連接板上。這個轉換器會將物聯網設備的0和1轉換成致動器可以使用的類比電壓。 @@ -164,7 +164,7 @@ IoT 裝置上的引腳(例如 GPIO 引腳)可以直接測量此信號作為 假設你正在用5V電源控制一個馬達。你向馬達傳送一個短脈衝,將電壓切換到高電壓(5V)持續0.02秒。在這段時間內,馬達可以旋轉十分之一圈,或36°。信號接著暫停0.02秒,傳送低電壓信號(0V)。每次開啟和關閉的循環持續0.04秒,然後重複。 -![馬達以150 RPM進行脈衝寬度調變旋轉](../../../../../translated_images/mo/pwm-motor-150rpm.83347ac04ca38482.webp) +![馬達以150 RPM進行脈衝寬度調變旋轉](../../../../../translated_images/zh-MO/pwm-motor-150rpm.83347ac04ca38482.webp) 這意味著在一秒內,你有25次0.02秒的5V脈衝使馬達旋轉,每次脈衝後有0.02秒的0V暫停,馬達不旋轉。每次脈衝使馬達旋轉十分之一圈,這意味著馬達每秒完成2.5圈旋轉。你使用數位信號使馬達以每秒2.5圈或150 [每分鐘轉速](https://wikipedia.org/wiki/Revolutions_per_minute)(一種非標準的旋轉速度測量方式)旋轉。 @@ -175,7 +175,7 @@ IoT 裝置上的引腳(例如 GPIO 引腳)可以直接測量此信號作為 > 🎓 當PWM信號開啟一半時間,關閉另一半時間時,稱為[50%占空比](https://wikipedia.org/wiki/Duty_cycle)。占空比是信號處於開啟狀態相對於關閉狀態的百分比。 -![馬達以75 RPM進行脈衝寬度調變旋轉](../../../../../translated_images/mo/pwm-motor-75rpm.a5e4c939934b6e14.webp) +![馬達以75 RPM進行脈衝寬度調變旋轉](../../../../../translated_images/zh-MO/pwm-motor-75rpm.a5e4c939934b6e14.webp) 你可以透過改變脈衝的大小來改變馬達的速度。例如,使用相同的馬達,你可以保持相同的循環時間0.04秒,將開啟脈衝縮短一半至0.01秒,關閉脈衝延長至0.03秒。每秒的脈衝數量(25次)保持不變,但每次開啟脈衝的時間縮短了一半。縮短一半的脈衝只使馬達旋轉二十分之一圈,而每秒25次脈衝將完成1.25圈旋轉或75rpm。透過改變數位信號的脈衝速度,你將類比馬達的速度減半。 @@ -196,7 +196,7 @@ IoT 裝置上的引腳(例如 GPIO 引腳)可以直接測量此信號作為 一個簡單的數位致動器是LED。當設備傳送數位信號1時,會傳送高電壓使LED亮起。當傳送數位信號0時,電壓降至0V,LED熄滅。 -![LED在0伏特時熄滅,在5伏特時亮起](../../../../../translated_images/mo/led.ec6d94f66676a174ad06d9fa9ea49c2ee89beb18b312d5c6476467c66375b07f.png) +![LED在0伏特時熄滅,在5伏特時亮起](../../../../../translated_images/zh-MO/led.ec6d94f66676a174ad06d9fa9ea49c2ee89beb18b312d5c6476467c66375b07f.png) ✅ 你能想到其他簡單的兩狀態致動器嗎?一個例子是電磁閥,它是一種電磁鐵,可以被激活來執行例如移動門栓鎖定/解鎖門的操作。 diff --git a/translations/mo/1-getting-started/lessons/3-sensors-and-actuators/pi-actuator.md b/translations/mo/1-getting-started/lessons/3-sensors-and-actuators/pi-actuator.md index 3bfc1aa23..dec345dc7 100644 --- a/translations/mo/1-getting-started/lessons/3-sensors-and-actuators/pi-actuator.md +++ b/translations/mo/1-getting-started/lessons/3-sensors-and-actuators/pi-actuator.md @@ -35,7 +35,7 @@ Grove LED 是一個模組,包含多種 LED,您可以選擇喜歡的顏色。 連接 LED。 -![Grove LED](../../../../../translated_images/mo/grove-led.6c853be93f473cf2c439cfc74bb1064732b22251a83cedf66e62f783f9cc1a79.png) +![Grove LED](../../../../../translated_images/zh-MO/grove-led.6c853be93f473cf2c439cfc74bb1064732b22251a83cedf66e62f783f9cc1a79.png) 1. 選擇您喜歡的 LED,並將其腳插入 LED 模組上的兩個孔中。 @@ -49,7 +49,7 @@ Grove LED 是一個模組,包含多種 LED,您可以選擇喜歡的顏色。 1. 在 Raspberry Pi 關閉電源的情況下,將 Grove 電纜的另一端連接到 Grove Base hat 上標記為 **D5** 的數位插座。此插座位於 GPIO 引腳旁邊的一排插座中,從左數第二個。 -![Grove LED 連接到 D5 插座](../../../../../translated_images/mo/pi-led.97f1d474981dc35d1c7996c7b17de355d3d0a6bc9606d79fa5f89df933415122.png) +![Grove LED 連接到 D5 插座](../../../../../translated_images/zh-MO/pi-led.97f1d474981dc35d1c7996c7b17de355d3d0a6bc9606d79fa5f89df933415122.png) ## 程式設計夜燈 diff --git a/translations/mo/1-getting-started/lessons/3-sensors-and-actuators/pi-sensor.md b/translations/mo/1-getting-started/lessons/3-sensors-and-actuators/pi-sensor.md index 2e75ba8cd..a9286534b 100644 --- a/translations/mo/1-getting-started/lessons/3-sensors-and-actuators/pi-sensor.md +++ b/translations/mo/1-getting-started/lessons/3-sensors-and-actuators/pi-sensor.md @@ -25,13 +25,13 @@ CO_OP_TRANSLATOR_METADATA: 連接光線感測器 -![Grove 光線感測器](../../../../../translated_images/mo/grove-light-sensor.b8127b7c434e632d6bcdb57587a14e9ef69a268a22df95d08628f62b8fa5505c.png) +![Grove 光線感測器](../../../../../translated_images/zh-MO/grove-light-sensor.b8127b7c434e632d6bcdb57587a14e9ef69a268a22df95d08628f62b8fa5505c.png) 1. 將 Grove 電纜的一端插入光線感測器模組上的插座。電纜只能以一種方向插入。 1. 在 Raspberry Pi 關閉電源的情況下,將 Grove 電纜的另一端連接到 Grove Base hat 上標記為 **A0** 的類比插座。此插座位於 GPIO 引腳旁邊的一排插座中,從右數第二個。 -![Grove 光線感測器連接到 A0 插座](../../../../../translated_images/mo/pi-light-sensor.66cc1e31fa48cd7d5f23400d4b2119aa41508275cb7c778053a7923b4e972d7e.png) +![Grove 光線感測器連接到 A0 插座](../../../../../translated_images/zh-MO/pi-light-sensor.66cc1e31fa48cd7d5f23400d4b2119aa41508275cb7c778053a7923b4e972d7e.png) ## 程式設計光線感測器 diff --git a/translations/mo/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-actuator.md b/translations/mo/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-actuator.md index 1961b0eb2..e0ea210a0 100644 --- a/translations/mo/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-actuator.md +++ b/translations/mo/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-actuator.md @@ -45,11 +45,11 @@ Otherwise 1. 選擇 **Add** 按鈕,在 Pin 5 上創建 LED。 - ![LED 設置](../../../../../translated_images/mo/counterfit-create-led.ba9db1c9b8c622a635d6dfae5cdc4e70c2b250635bd4f0601c6cf0bd22b7ba46.png) + ![LED 設置](../../../../../translated_images/zh-MO/counterfit-create-led.ba9db1c9b8c622a635d6dfae5cdc4e70c2b250635bd4f0601c6cf0bd22b7ba46.png) LED 將被創建並顯示在執行器列表中。 - ![已創建的 LED](../../../../../translated_images/mo/counterfit-led.c0ab02de6d256ad84d9bad4d67a7faa709f0ea83e410cfe9b5561ef0cef30b1c.png) + ![已創建的 LED](../../../../../translated_images/zh-MO/counterfit-led.c0ab02de6d256ad84d9bad4d67a7faa709f0ea83e410cfe9b5561ef0cef30b1c.png) LED 創建後,你可以使用 *Color* 選擇器更改顏色。選擇顏色後,點擊 **Set** 按鈕即可更改顏色。 diff --git a/translations/mo/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-sensor.md b/translations/mo/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-sensor.md index c52aebeeb..000ab9602 100644 --- a/translations/mo/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-sensor.md +++ b/translations/mo/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-sensor.md @@ -37,11 +37,11 @@ CO_OP_TRANSLATOR_METADATA: 1. 點擊 **Add** 按鈕,在 Pin 0 上創建光線感測器。 - ![光線感測器設置](../../../../../translated_images/mo/counterfit-create-light-sensor.9f36a5e0d4458d8d554d54b34d2c806d56093d6e49fddcda2d20f6fef7f5cce1.png) + ![光線感測器設置](../../../../../translated_images/zh-MO/counterfit-create-light-sensor.9f36a5e0d4458d8d554d54b34d2c806d56093d6e49fddcda2d20f6fef7f5cce1.png) 光線感測器將被創建並顯示在感測器列表中。 - ![已創建的光線感測器](../../../../../translated_images/mo/counterfit-light-sensor.5d0f5584df56b90f6b2561910d9cb20dfbd73eeff2177c238d38f4de54aefae1.png) + ![已創建的光線感測器](../../../../../translated_images/zh-MO/counterfit-light-sensor.5d0f5584df56b90f6b2561910d9cb20dfbd73eeff2177c238d38f4de54aefae1.png) ## 編寫光線感測器程式 diff --git a/translations/mo/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-actuator.md b/translations/mo/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-actuator.md index 8ebe75997..2458da528 100644 --- a/translations/mo/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-actuator.md +++ b/translations/mo/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-actuator.md @@ -35,7 +35,7 @@ Grove LED 是一個模組,包含多種 LED,允許你選擇顏色。 連接 LED。 -![一個 Grove LED](../../../../../translated_images/mo/grove-led.6c853be93f473cf2c439cfc74bb1064732b22251a83cedf66e62f783f9cc1a79.png) +![一個 Grove LED](../../../../../translated_images/zh-MO/grove-led.6c853be93f473cf2c439cfc74bb1064732b22251a83cedf66e62f783f9cc1a79.png) 1. 選擇你喜歡的 LED,並將 LED 的腳插入 LED 模組上的兩個孔中。 @@ -51,7 +51,7 @@ Grove LED 是一個模組,包含多種 LED,允許你選擇顏色。 > 💁 右側的 Grove 插座可用於類比或數位感測器和致動器。左側插座僅用於 I2C 和數位感測器及致動器。 -![Grove LED 連接到右側插座](../../../../../translated_images/mo/wio-led.265a1897e72d7f21.webp) +![Grove LED 連接到右側插座](../../../../../translated_images/zh-MO/wio-led.265a1897e72d7f21.webp) ## 程式設計夜燈 diff --git a/translations/mo/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-sensor.md b/translations/mo/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-sensor.md index 3c6bd8d64..8f59c45e9 100644 --- a/translations/mo/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-sensor.md +++ b/translations/mo/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-sensor.md @@ -17,7 +17,7 @@ CO_OP_TRANSLATOR_METADATA: 光感測器內建於 Wio Terminal 中,可以透過背面的透明塑膠窗看到。 -![Wio Terminal 背面的光感測器](../../../../../translated_images/mo/wio-light-sensor.b1f529f3c95f5165.webp) +![Wio Terminal 背面的光感測器](../../../../../translated_images/zh-MO/wio-light-sensor.b1f529f3c95f5165.webp) ## 程式設計光感測器 diff --git a/translations/mo/1-getting-started/lessons/4-connect-internet/README.md b/translations/mo/1-getting-started/lessons/4-connect-internet/README.md index 0a60b8328..c291339f5 100644 --- a/translations/mo/1-getting-started/lessons/4-connect-internet/README.md +++ b/translations/mo/1-getting-started/lessons/4-connect-internet/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 將您的設備連接到互聯網 -![本課程的手繪筆記概述](../../../../../translated_images/mo/lesson-4.7344e074ea68fa545fd320b12dce36d72dd62d28c3b4596cb26cf315f434b98f.jpg) +![本課程的手繪筆記概述](../../../../../translated_images/zh-MO/lesson-4.7344e074ea68fa545fd320b12dce36d72dd62d28c3b4596cb26cf315f434b98f.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -46,7 +46,7 @@ IoT 設備可以接收來自雲端的消息。這些消息通常包含命令— IoT 設備用於與互聯網通信的流行通信協議有很多。其中最流行的是基於某種代理的發布/訂閱消息。IoT 設備連接到代理並發布遙測數據,同時訂閱命令。雲端服務也連接到代理,訂閱所有遙測消息並發布命令,這些命令可以針對特定設備或設備組。 -![IoT 設備連接到代理並發布遙測數據,同時訂閱命令。雲端服務連接到代理,訂閱所有遙測數據並向特定設備發送命令。](../../../../../translated_images/mo/pub-sub.7c7ed43fe9fd15d4.webp) +![IoT 設備連接到代理並發布遙測數據,同時訂閱命令。雲端服務連接到代理,訂閱所有遙測數據並向特定設備發送命令。](../../../../../translated_images/zh-MO/pub-sub.7c7ed43fe9fd15d4.webp) MQTT 是 IoT 設備最流行的通信協議,本課程將介紹它。其他協議包括 AMQP 和 HTTP/HTTPS。 @@ -56,7 +56,7 @@ MQTT 是 IoT 設備最流行的通信協議,本課程將介紹它。其他協 MQTT 有一個單一的代理和多個客戶端。所有客戶端都連接到代理,代理根據需要將消息路由到相關客戶端。消息通過命名主題進行路由,而不是直接發送到個別客戶端。客戶端可以發布到某個主題,任何訂閱該主題的客戶端都會收到消息。 -![IoT 設備在 /telemetry 主題上發布遙測數據,雲端服務訂閱該主題](../../../../../translated_images/mo/mqtt.cbf7f21d9adc3e17548b359444cc11bb4bf2010543e32ece9a47becf54438c23.png) +![IoT 設備在 /telemetry 主題上發布遙測數據,雲端服務訂閱該主題](../../../../../translated_images/zh-MO/mqtt.cbf7f21d9adc3e17548b359444cc11bb4bf2010543e32ece9a47becf54438c23.png) ✅ 做些研究。如果您有大量 IoT 設備,如何確保您的 MQTT 代理能夠處理所有消息? @@ -78,7 +78,7 @@ MQTT 有一個單一的代理和多個客戶端。所有客戶端都連接到代 > 💁 此測試代理是公開且不安全的。任何人都可以監聽您發布的內容,因此不應用於需要保密的數據。 -![作業的流程圖,顯示光線水平的讀取和檢查,以及 LED 的控制](../../../../../translated_images/mo/assignment-1-internet-flow.3256feab5f052fd273bf4e331157c574c2c3fa42e479836fc9c3586f41db35a5.png) +![作業的流程圖,顯示光線水平的讀取和檢查,以及 LED 的控制](../../../../../translated_images/zh-MO/assignment-1-internet-flow.3256feab5f052fd273bf4e331157c574c2c3fa42e479836fc9c3586f41db35a5.png) 按照以下相關步驟將您的設備連接到 MQTT 代理: @@ -115,7 +115,7 @@ MQTT 連接可以是公開和開放的,也可以通過用戶名和密碼或證 讓我們回顧一下課程1中的智能溫控器示例。 -![一個使用多個房間傳感器的互聯網連接溫控器](../../../../../translated_images/mo/telemetry.21e5d8b97649d2eb.webp) +![一個使用多個房間傳感器的互聯網連接溫控器](../../../../../translated_images/zh-MO/telemetry.21e5d8b97649d2eb.webp) 溫控器具有溫度傳感器以收集遙測數據。它很可能內置一個溫度傳感器,並可能通過無線協議(例如 [Bluetooth Low Energy](https://wikipedia.org/wiki/Bluetooth_Low_Energy))連接到多個外部溫度傳感器。 @@ -267,11 +267,11 @@ Python 的一個強大功能是能夠安裝 [pip 套件](https://pypi.org)—— 1. 當 VS Code 啟動時,它會啟動 Python 虛擬環境。這會顯示在底部狀態列中: - ![VS Code 顯示選擇的虛擬環境](../../../../../translated_images/mo/vscode-virtual-env.8ba42e04c3d533cf.webp) + ![VS Code 顯示選擇的虛擬環境](../../../../../translated_images/zh-MO/vscode-virtual-env.8ba42e04c3d533cf.webp) 1. 如果 VS Code 的終端在啟動時已經在執行,它可能不會啟動虛擬環境。最簡單的解決方法是使用 **終止活動終端實例** 按鈕終止終端: - ![VS Code 終止活動終端實例按鈕](../../../../../translated_images/mo/vscode-kill-terminal.1cc4de7c6f25ee08.webp) + ![VS Code 終止活動終端實例按鈕](../../../../../translated_images/zh-MO/vscode-kill-terminal.1cc4de7c6f25ee08.webp) 1. 透過選擇 *終端 -> 新終端* 或按下 `` CTRL+` `` 啟動新的 VS Code 終端。新的終端會載入虛擬環境,並在終端中顯示啟動指令。虛擬環境的名稱(`.venv`)也會顯示在提示符中: @@ -359,7 +359,7 @@ Python 的一個強大功能是能夠安裝 [pip 套件](https://pypi.org)—— IoT 裝置設計者還應考慮 IoT 裝置在網路中斷或因位置導致信號丟失時是否仍能使用。一個智能溫控器應該能在無法將 telemetry 發送到雲端的情況下做出有限的決策來控制加熱。 -[![這輛法拉利因為有人在地下室嘗試升級而變磚,因為沒有手機信號](../../../../../translated_images/mo/bricked-car.dc38f8efadc6c59d76211f981a521efb300939283dee468f79503aae3ec67615.png)](https://twitter.com/internetofshit/status/1315736960082808832) +[![這輛法拉利因為有人在地下室嘗試升級而變磚,因為沒有手機信號](../../../../../translated_images/zh-MO/bricked-car.dc38f8efadc6c59d76211f981a521efb300939283dee468f79503aae3ec67615.png)](https://twitter.com/internetofshit/status/1315736960082808832) 為了讓 MQTT 處理連線中斷,裝置和伺服器程式碼需要負責確保訊息的傳遞,例如要求所有發送的訊息都需要在回覆主題上收到回覆訊息,如果沒有收到回覆,則手動排隊以便稍後重播。 @@ -367,7 +367,7 @@ IoT 裝置設計者還應考慮 IoT 裝置在網路中斷或因位置導致信 指令是由雲端發送到裝置的訊息,用於指示裝置執行某些操作。大多數情況下,這涉及通過致動器輸出某些內容,但也可能是對裝置本身的指令,例如重新啟動或收集額外的 telemetry 並將其作為指令的回應返回。 -![一個連接到網路的溫控器接收到開啟加熱的指令](../../../../../translated_images/mo/commands.d6c06bbbb3a02cce95f2831a1c331daf6dedd4e470c4aa2b0ae54f332016e504.png) +![一個連接到網路的溫控器接收到開啟加熱的指令](../../../../../translated_images/zh-MO/commands.d6c06bbbb3a02cce95f2831a1c331daf6dedd4e470c4aa2b0ae54f332016e504.png) 例如,溫控器可能會接收到來自雲端的指令以開啟加熱。根據所有感測器的 telemetry 數據,如果雲端服務決定應該開啟加熱,它就會發送相關指令。 diff --git a/translations/mo/1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md b/translations/mo/1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md index 24b652ccc..527dad3d7 100644 --- a/translations/mo/1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md +++ b/translations/mo/1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md @@ -64,7 +64,7 @@ CO_OP_TRANSLATOR_METADATA: 1. 在 `src` 資料夾中建立一個名為 `config.h` 的新文件。你可以通過選擇 `src` 資料夾或其中的 `main.cpp` 文件,然後在資源管理器中選擇 **新文件** 按鈕來完成。當你的游標位於資源管理器上時,該按鈕才會出現。 - ![新文件按鈕](../../../../../translated_images/mo/vscode-new-file-button.182702340fe6723c.webp) + ![新文件按鈕](../../../../../translated_images/zh-MO/vscode-new-file-button.182702340fe6723c.webp) 1. 在此文件中添加以下程式碼以定義 WiFi 憑據的常數: diff --git a/translations/mo/2-farm/lessons/1-predict-plant-growth/README.md b/translations/mo/2-farm/lessons/1-predict-plant-growth/README.md index 0298b51b6..9dde1ca5a 100644 --- a/translations/mo/2-farm/lessons/1-predict-plant-growth/README.md +++ b/translations/mo/2-farm/lessons/1-predict-plant-growth/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> ## 使用物聯網預測植物生長 -![本課程概述的手繪筆記](../../../../../translated_images/mo/lesson-5.42b234299279d263143148b88ab4583861a32ddb03110c6c1120e41bb88b2592.jpg) +![本課程概述的手繪筆記](../../../../../translated_images/zh-MO/lesson-5.42b234299279d263143148b88ab4583861a32ddb03110c6c1120e41bb88b2592.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -65,7 +65,7 @@ CO_OP_TRANSLATOR_METADATA: ✅ 做一些研究。看看您花園、學校或當地公園中的植物,是否能找到它們的基礎溫度。 -![一個顯示溫度與生長率關係的圖表,溫度升高時生長率上升,溫度過高時生長率下降](../../../../../translated_images/mo/plant-growth-temp-graph.c6d69c9478e6ca83.webp) +![一個顯示溫度與生長率關係的圖表,溫度升高時生長率上升,溫度過高時生長率下降](../../../../../translated_images/zh-MO/plant-growth-temp-graph.c6d69c9478e6ca83.webp) 上圖顯示了一個生長率與溫度的關係示例圖表。在基礎溫度以下,植物不會生長。生長率在最佳溫度時達到峰值,然後在超過此溫度後下降。在最高溫度時,生長停止。 @@ -99,7 +99,7 @@ CO_OP_TRANSLATOR_METADATA: 完整的 GDD 計算公式稍微複雜,但通常使用簡化公式作為良好的近似值: -![GDD = T max + T min 除以 2,減去 T base](../../../../../translated_images/mo/gdd-calculation.79b3660f9c5757aa92dc2dd2cdde75344e2d2c1565c4b3151640f7887edc0275.png) +![GDD = T max + T min 除以 2,減去 T base](../../../../../translated_images/zh-MO/gdd-calculation.79b3660f9c5757aa92dc2dd2cdde75344e2d2c1565c4b3151640f7887edc0275.png) * **GDD** - 生長度日的數量 * **T max** - 每日最高溫度(攝氏度) @@ -127,7 +127,7 @@ CO_OP_TRANSLATOR_METADATA: 計算結果為: -![GDD = 16 + 12 除以 2,減去 10,結果為 4](../../../../../translated_images/mo/gdd-calculation-corn.64a58b7a7afcd0dfd46ff733996d939f17f4f3feac9f0d1c632be3523e51ebd9.png) +![GDD = 16 + 12 除以 2,減去 10,結果為 4](../../../../../translated_images/zh-MO/gdd-calculation-corn.64a58b7a7afcd0dfd46ff733996d939f17f4f3feac9f0d1c632be3523e51ebd9.png) 玉米在那一天獲得了 4 GDD。假設一種需要 800 GDD 才能成熟的玉米品種,它還需要 796 GDD 才能達到成熟。 @@ -141,7 +141,7 @@ CO_OP_TRANSLATOR_METADATA: 通過使用物聯網設備收集溫度數據,農民可以在植物接近成熟時自動收到通知。典型的架構是物聯網設備測量溫度,然後使用類似 MQTT 的技術通過互聯網發布這些遙測數據。服務器代碼會監聽這些數據並將其保存到某個地方,例如數據庫。這樣,數據可以稍後進行分析,例如每天晚上計算當天的 GDD,累計每種作物的 GDD,並在植物接近成熟時發出警報。 -![遙測數據被發送到服務器並保存到數據庫](../../../../../translated_images/mo/save-telemetry-database.ddc9c6bea0c5ba39.webp) +![遙測數據被發送到服務器並保存到數據庫](../../../../../translated_images/zh-MO/save-telemetry-database.ddc9c6bea0c5ba39.webp) 服務器代碼還可以增強數據,添加額外的信息。例如,物聯網設備可以發布一個標識符來指示是哪個設備,服務器代碼可以使用此標識符查找設備的位置以及它正在監測的作物。它還可以添加基本數據,例如當前時間,因為某些物聯網設備沒有必要的硬件來準確跟蹤時間,或者需要額外的代碼通過互聯網讀取當前時間。 @@ -228,7 +228,7 @@ CSV 文件將有兩列——*日期* 和 *溫度*。*日期* 列設置為服務 > 💁 如果你使用的是虛擬 IoT 裝置,請勾選隨機選項並設定一個範圍,以避免每次返回的溫度值都相同。 - ![勾選隨機選項並設定範圍](../../../../../translated_images/mo/select-the-random-checkbox-and-set-a-range.32cf4bc7c12e797f.webp) + ![勾選隨機選項並設定範圍](../../../../../translated_images/zh-MO/select-the-random-checkbox-and-set-a-range.32cf4bc7c12e797f.webp) > 💁 如果你想執行一整天,請確保執行伺服器程式的電腦不會進入睡眠模式,可以透過更改電源設定,或者執行類似 [這個保持系統活躍的 Python 腳本](https://github.com/jaqsparow/keep-system-active) 來實現。 @@ -248,7 +248,7 @@ CSV 文件將有兩列——*日期* 和 *溫度*。*日期* 列設置為服務 例如,如果當天的最高溫度是 25°C,最低溫度是 12°C: -![GDD = 25 + 12 除以 2,然後從結果中減去 10,得到 8.5](../../../../../translated_images/mo/gdd-calculation-strawberries.59f57db94b22adb8ff6efb951ace33af104a1c6ccca3ffb0f8169c14cb160c90.png) +![GDD = 25 + 12 除以 2,然後從結果中減去 10,得到 8.5](../../../../../translated_images/zh-MO/gdd-calculation-strawberries.59f57db94b22adb8ff6efb951ace33af104a1c6ccca3ffb0f8169c14cb160c90.png) * 25 + 12 = 37 * 37 / 2 = 18.5 diff --git a/translations/mo/2-farm/lessons/1-predict-plant-growth/assignment.md b/translations/mo/2-farm/lessons/1-predict-plant-growth/assignment.md index bbd64b62d..678186700 100644 --- a/translations/mo/2-farm/lessons/1-predict-plant-growth/assignment.md +++ b/translations/mo/2-farm/lessons/1-predict-plant-growth/assignment.md @@ -42,7 +42,7 @@ CO_OP_TRANSLATOR_METADATA: Jupyter 會啟動並在瀏覽器中打開 Notebook。按照 Notebook 中的說明逐步操作,視覺化測量的溫度並計算生長度日。 - ![Jupyter Notebook](../../../../../translated_images/mo/gdd-jupyter-notebook.c5b52cf21094f158a61f47f455490fd95f1729777ff90861a4521820bf354cdc.png) + ![Jupyter Notebook](../../../../../translated_images/zh-MO/gdd-jupyter-notebook.c5b52cf21094f158a61f47f455490fd95f1729777ff90861a4521820bf354cdc.png) ## 評分標準 diff --git a/translations/mo/2-farm/lessons/1-predict-plant-growth/pi-temp.md b/translations/mo/2-farm/lessons/1-predict-plant-growth/pi-temp.md index 452019dd4..dd22e060c 100644 --- a/translations/mo/2-farm/lessons/1-predict-plant-growth/pi-temp.md +++ b/translations/mo/2-farm/lessons/1-predict-plant-growth/pi-temp.md @@ -25,13 +25,13 @@ Grove 溫度感測器可以連接到 Raspberry Pi。 連接溫度感測器 -![Grove 溫度感測器](../../../../../translated_images/mo/grove-dht11.07f8eafceee170043efbb53e1d15722bd4e00fbaa9ff74290b57e9f66eb82c17.png) +![Grove 溫度感測器](../../../../../translated_images/zh-MO/grove-dht11.07f8eafceee170043efbb53e1d15722bd4e00fbaa9ff74290b57e9f66eb82c17.png) 1. 將 Grove 線纜的一端插入濕度與溫度感測器的插座。它只能以一種方式插入。 1. 在 Raspberry Pi 關機的情況下,將 Grove 線纜的另一端連接到 Pi 上 Grove Base Hat 的數位插座 **D5**。這個插座位於 GPIO 引腳旁邊的一排插座中,從左數第二個。 -![Grove 溫度感測器連接到插座 A0](../../../../../translated_images/mo/pi-temperature-sensor.3ff82fff672c8e56.webp) +![Grove 溫度感測器連接到插座 A0](../../../../../translated_images/zh-MO/pi-temperature-sensor.3ff82fff672c8e56.webp) ## 編寫溫度感測器程式 diff --git a/translations/mo/2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md b/translations/mo/2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md index 40c415c7b..9bee49b94 100644 --- a/translations/mo/2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md +++ b/translations/mo/2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md @@ -47,11 +47,11 @@ CO_OP_TRANSLATOR_METADATA: 1. 點擊 **Add** 按鈕,在 Pin 5 上創建濕度感測器。 - ![濕度感測器設置](../../../../../translated_images/mo/counterfit-create-humidity-sensor.2750e27b6f30e09cf4e22101defd5252710717620816ab41ba688f91f757c49a.png) + ![濕度感測器設置](../../../../../translated_images/zh-MO/counterfit-create-humidity-sensor.2750e27b6f30e09cf4e22101defd5252710717620816ab41ba688f91f757c49a.png) 濕度感測器將被創建並顯示在感測器列表中。 - ![已創建的濕度感測器](../../../../../translated_images/mo/counterfit-humidity-sensor.7b12f7f339e430cb26c8211d2dba4ef75261b353a01da0932698b5bebd693f27.png) + ![已創建的濕度感測器](../../../../../translated_images/zh-MO/counterfit-humidity-sensor.7b12f7f339e430cb26c8211d2dba4ef75261b353a01da0932698b5bebd693f27.png) 1. 創建一個溫度感測器: @@ -63,11 +63,11 @@ CO_OP_TRANSLATOR_METADATA: 1. 點擊 **Add** 按鈕,在 Pin 6 上創建溫度感測器。 - ![溫度感測器設置](../../../../../translated_images/mo/counterfit-create-temperature-sensor.199350ed34f7343d79dccbe95eaf6c11d2121f03d1c35ab9613b330c23f39b29.png) + ![溫度感測器設置](../../../../../translated_images/zh-MO/counterfit-create-temperature-sensor.199350ed34f7343d79dccbe95eaf6c11d2121f03d1c35ab9613b330c23f39b29.png) 溫度感測器將被創建並顯示在感測器列表中。 - ![已創建的溫度感測器](../../../../../translated_images/mo/counterfit-temperature-sensor.f0560236c96a9016bafce7f6f792476fe3367bc6941a1f7d5811d144d4bcbfff.png) + ![已創建的溫度感測器](../../../../../translated_images/zh-MO/counterfit-temperature-sensor.f0560236c96a9016bafce7f6f792476fe3367bc6941a1f7d5811d144d4bcbfff.png) ## 編寫溫度感測器應用程式 diff --git a/translations/mo/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md b/translations/mo/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md index e0a17e06a..9a4c55abb 100644 --- a/translations/mo/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md +++ b/translations/mo/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md @@ -27,13 +27,13 @@ Grove 溫度感測器可以連接到 Wio Terminal 的數位端口。 連接溫度感測器。 -![Grove 溫度感測器](../../../../../translated_images/mo/grove-dht11.07f8eafceee170043efbb53e1d15722bd4e00fbaa9ff74290b57e9f66eb82c17.png) +![Grove 溫度感測器](../../../../../translated_images/zh-MO/grove-dht11.07f8eafceee170043efbb53e1d15722bd4e00fbaa9ff74290b57e9f66eb82c17.png) 1. 將 Grove 電纜的一端插入濕度和溫度感測器上的插座。它只能以一種方式插入。 1. 在 Wio Terminal 未連接到您的電腦或其他電源的情況下,將 Grove 電纜的另一端連接到 Wio Terminal 螢幕右側的 Grove 插座。這是距離電源按鈕最遠的插座。 -![Grove 溫度感測器連接到右側插座](../../../../../translated_images/mo/wio-temperature-sensor.2934928f38c7f79a.webp) +![Grove 溫度感測器連接到右側插座](../../../../../translated_images/zh-MO/wio-temperature-sensor.2934928f38c7f79a.webp) ## 程式設計溫度感測器 diff --git a/translations/mo/2-farm/lessons/2-detect-soil-moisture/README.md b/translations/mo/2-farm/lessons/2-detect-soil-moisture/README.md index 503d89e4d..b0d7543fe 100644 --- a/translations/mo/2-farm/lessons/2-detect-soil-moisture/README.md +++ b/translations/mo/2-farm/lessons/2-detect-soil-moisture/README.md @@ -22,7 +22,7 @@ I²C 線路由 2 條主要的數據線以及 2 條電源線組成: | VCC | 電壓公共集電極(Voltage Common Collector) | 為設備提供電源。這條線通過上拉電阻連接到 SDA 和 SCL 線,當沒有設備作為控制器時,該電阻會將信號切換為關閉狀態。 | | GND | 接地(Ground) | 為電路提供公共接地。 | -![I2C 線路,3 個設備連接到 SDA 和 SCL 線,共享一條接地線](../../../../../translated_images/mo/i2c.83da845dde02256bdd462dbe0d5145461416b74930571b89d1ae142841eeb584.png) +![I2C 線路,3 個設備連接到 SDA 和 SCL 線,共享一條接地線](../../../../../translated_images/zh-MO/i2c.83da845dde02256bdd462dbe0d5145461416b74930571b89d1ae142841eeb584.png) 在傳輸數據時,一個設備會發出啟動條件(start condition),表示它準備好傳輸數據。此時它將成為控制器。控制器接著發送目標設備的地址,以及它是要讀取還是寫入數據。在數據傳輸完成後,控制器會發送停止條件(stop condition),表示它已完成。之後,另一個設備可以成為控制器,進行數據的發送或接收。 @@ -37,7 +37,7 @@ UART 涉及允許兩個設備通信的物理電路。每個設備都有兩個通 * 設備 1 從其 Tx 引腳發送數據,設備 2 在其 Rx 引腳接收數據 * 設備 1 在其 Rx 引腳接收由設備 2 從其 Tx 引腳發送的數據 -![UART 的 Tx 引腳連接到另一個芯片的 Rx 引腳,反之亦然](../../../../../translated_images/mo/uart.d0dbd3fb9e3728c6.webp) +![UART 的 Tx 引腳連接到另一個芯片的 Rx 引腳,反之亦然](../../../../../translated_images/zh-MO/uart.d0dbd3fb9e3728c6.webp) > 🎓 數據一次傳輸一位,這被稱為 *串行* 通信。大多數操作系統和微控制器都有 *串行端口*,即可以發送和接收串行數據的連接,這些連接可供您的代碼使用。 @@ -66,7 +66,7 @@ SPI 控制器使用 3 條線,外加每個外設 1 條額外的線。外設使 | SCLK | 串行時鐘 | 這條線以控制器設置的速率發送時鐘信號。 | | CS | 芯片選擇 | 控制器有多條線,每條線連接到相應外設的 CS 線。 | -![SPI 與一個控制器和兩個外設](../../../../../translated_images/mo/spi.297431d6f98b386b.webp) +![SPI 與一個控制器和兩個外設](../../../../../translated_images/zh-MO/spi.297431d6f98b386b.webp) CS 線用於一次激活一個外設,通過 COPI 和 CIPO 線通信。當控制器需要更換外設時,它會停用連接到當前活動外設的 CS 線,然後激活連接到下一個外設的 CS 線。 @@ -127,13 +127,13 @@ BLE 在高級感測器中很受歡迎,例如戴在手腕上的健身追蹤器 土壤濕度感測器測量電阻或電容——這不僅隨土壤濕度而變化,還隨土壤類型變化,因為土壤中的成分會改變其電氣特性。理想情況下,感測器應該進行校準——即從感測器獲取讀數並與使用更科學方法獲得的測量值進行比較。例如,實驗室可以通過對特定田地的樣本進行幾次測量來計算重力土壤濕度,然後使用這些數據校準感測器,將感測器讀數與重力土壤濕度匹配。 -![電壓與土壤濕度含量的圖表](../../../../../translated_images/mo/soil-moisture-to-voltage.df86d80cda158700.webp) +![電壓與土壤濕度含量的圖表](../../../../../translated_images/zh-MO/soil-moisture-to-voltage.df86d80cda158700.webp) 上圖顯示了如何校準感測器。對土壤樣本捕獲電壓,然後通過比較濕重與乾重(測量濕重,然後在烤箱中烘乾並測量乾重)在實驗室中測量。獲取幾個讀數後,可以將其繪製在圖表上並擬合一條線。這條線可以用來將物聯網設備的土壤濕度感測器讀數轉換為實際的土壤濕度測量值。 💁 對於電阻式土壤濕度感測器,電壓隨土壤濕度增加而增加。對於電容式土壤濕度感測器,電壓隨土壤濕度增加而減少,因此這些圖表的斜率會向下,而不是向上。 -![從圖表中插值的土壤濕度值](../../../../../translated_images/mo/soil-moisture-to-voltage-with-reading.681cb3e1f8b68caf.webp) +![從圖表中插值的土壤濕度值](../../../../../translated_images/zh-MO/soil-moisture-to-voltage-with-reading.681cb3e1f8b68caf.webp) 上圖顯示了土壤濕度感測器的電壓讀數,通過將其對應到圖表上的線,可以計算出實際的土壤濕度。 diff --git a/translations/mo/2-farm/lessons/2-detect-soil-moisture/assignment.md b/translations/mo/2-farm/lessons/2-detect-soil-moisture/assignment.md index a1a1a95a7..bad19602d 100644 --- a/translations/mo/2-farm/lessons/2-detect-soil-moisture/assignment.md +++ b/translations/mo/2-farm/lessons/2-detect-soil-moisture/assignment.md @@ -29,14 +29,14 @@ CO_OP_TRANSLATOR_METADATA: 重力土壤濕度的計算公式如下: -![土壤濕度百分比公式:濕土重量減去乾土重量,除以乾土重量,再乘以100](../../../../../translated_images/mo/gsm-calculation.6da38c6201eec14e7573bb2647aa18892883193553d23c9d77e5dc681522dfb2.png) +![土壤濕度百分比公式:濕土重量減去乾土重量,除以乾土重量,再乘以100](../../../../../translated_images/zh-MO/gsm-calculation.6da38c6201eec14e7573bb2647aa18892883193553d23c9d77e5dc681522dfb2.png) * W - 濕土的重量 * W - 乾土的重量 例如,假設您有一份土壤樣本,濕重為212克,乾重為197克。 -![填入計算公式的範例](../../../../../translated_images/mo/gsm-calculation-example.99f9803b4f29e97668e7c15412136c0c399ab12dbba0b89596fdae9d8aedb6fb.png) +![填入計算公式的範例](../../../../../translated_images/zh-MO/gsm-calculation-example.99f9803b4f29e97668e7c15412136c0c399ab12dbba0b89596fdae9d8aedb6fb.png) * W = 212克 * W = 197克 diff --git a/translations/mo/2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md b/translations/mo/2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md index 681f8e398..58e6b7db9 100644 --- a/translations/mo/2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md +++ b/translations/mo/2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md @@ -27,17 +27,17 @@ Grove 土壤濕度傳感器可以連接到 Raspberry Pi。 連接土壤濕度傳感器。 -![Grove 土壤濕度傳感器](../../../../../translated_images/mo/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.png) +![Grove 土壤濕度傳感器](../../../../../translated_images/zh-MO/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.png) 1. 將 Grove 電纜的一端插入土壤濕度傳感器上的插座。它只能以一種方式插入。 1. 在 Raspberry Pi 關機的情況下,將 Grove 電纜的另一端連接到 Pi 上 Grove Base Hat 的類比插座 **A0**。這個插座位於 GPIO 引腳旁邊的一排插座中,從右數第二個。 -![Grove 土壤濕度傳感器連接到 A0 插座](../../../../../translated_images/mo/pi-soil-moisture-sensor.fdd7eb2393792cf6739cacf1985d9f55beda16d372f30d0b5a51d586f978a870.png) +![Grove 土壤濕度傳感器連接到 A0 插座](../../../../../translated_images/zh-MO/pi-soil-moisture-sensor.fdd7eb2393792cf6739cacf1985d9f55beda16d372f30d0b5a51d586f978a870.png) 1. 將土壤濕度傳感器插入土壤中。傳感器上有一條“最高位置線”——一條白線。將傳感器插入到該線以下但不要超過該線。 -![Grove 土壤濕度傳感器插入土壤中](../../../../../translated_images/mo/soil-moisture-sensor-in-soil.bfad91002bda5e96.webp) +![Grove 土壤濕度傳感器插入土壤中](../../../../../translated_images/zh-MO/soil-moisture-sensor-in-soil.bfad91002bda5e96.webp) ## 編程土壤濕度傳感器 diff --git a/translations/mo/2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md b/translations/mo/2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md index e2de4c336..35a45a0f0 100644 --- a/translations/mo/2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md +++ b/translations/mo/2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md @@ -43,11 +43,11 @@ CO_OP_TRANSLATOR_METADATA: 1. 點擊 **Add** 按鈕,在 Pin 0 上創建 *Soil Moisture* 傳感器。 - ![土壤濕度傳感器設置](../../../../../translated_images/mo/counterfit-create-soil-moisture-sensor.35266135a5e0ae68b29a684d7db0d2933a8098b2307d197f7c71577b724603aa.png) + ![土壤濕度傳感器設置](../../../../../translated_images/zh-MO/counterfit-create-soil-moisture-sensor.35266135a5e0ae68b29a684d7db0d2933a8098b2307d197f7c71577b724603aa.png) 土壤濕度傳感器將被創建並顯示在傳感器列表中。 - ![已創建的土壤濕度傳感器](../../../../../translated_images/mo/counterfit-soil-moisture-sensor.81742b2de0e9de60a3b3b9a2ff8ecc686d428eb6d71820f27a693be26e5aceee.png) + ![已創建的土壤濕度傳感器](../../../../../translated_images/zh-MO/counterfit-soil-moisture-sensor.81742b2de0e9de60a3b3b9a2ff8ecc686d428eb6d71820f27a693be26e5aceee.png) ## 編寫土壤濕度傳感器應用程式 diff --git a/translations/mo/2-farm/lessons/2-detect-soil-moisture/wio-terminal-soil-moisture.md b/translations/mo/2-farm/lessons/2-detect-soil-moisture/wio-terminal-soil-moisture.md index 7e9e780d5..8004a35f1 100644 --- a/translations/mo/2-farm/lessons/2-detect-soil-moisture/wio-terminal-soil-moisture.md +++ b/translations/mo/2-farm/lessons/2-detect-soil-moisture/wio-terminal-soil-moisture.md @@ -27,17 +27,17 @@ Grove 土壤濕度傳感器可以連接到 Wio Terminal 的可配置類比/數 連接土壤濕度傳感器。 -![Grove 土壤濕度傳感器](../../../../../translated_images/mo/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.png) +![Grove 土壤濕度傳感器](../../../../../translated_images/zh-MO/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.png) 1. 將 Grove 電纜的一端插入土壤濕度傳感器上的插座。電纜只能以一種方式插入。 1. 在 Wio Terminal 未連接到電腦或其他電源的情況下,將 Grove 電纜的另一端插入 Wio Terminal 屏幕右側的 Grove 插座。這是距離電源按鈕最遠的插座。 -![Grove 土壤濕度傳感器連接到右側插座](../../../../../translated_images/mo/wio-soil-moisture-sensor.46919b61c3f6cb74.webp) +![Grove 土壤濕度傳感器連接到右側插座](../../../../../translated_images/zh-MO/wio-soil-moisture-sensor.46919b61c3f6cb74.webp) 1. 將土壤濕度傳感器插入土壤中。傳感器上有一條“最高位置線”——一條白色線條。將傳感器插入土壤,直到白色線條,但不要超過該線條。 -![土壤中的 Grove 土壤濕度傳感器](../../../../../translated_images/mo/soil-moisture-sensor-in-soil.bfad91002bda5e96.webp) +![土壤中的 Grove 土壤濕度傳感器](../../../../../translated_images/zh-MO/soil-moisture-sensor-in-soil.bfad91002bda5e96.webp) 1. 現在可以將 Wio Terminal 連接到您的電腦。 diff --git a/translations/mo/2-farm/lessons/3-automated-plant-watering/README.md b/translations/mo/2-farm/lessons/3-automated-plant-watering/README.md index 940ab435b..fcce07c7e 100644 --- a/translations/mo/2-farm/lessons/3-automated-plant-watering/README.md +++ b/translations/mo/2-farm/lessons/3-automated-plant-watering/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 自動植物澆水系統 -![本課程的手繪筆記概述](../../../../../translated_images/mo/lesson-7.30b5f577d3cb8e031238751475cb519c7d6dbaea261b5df4643d086ffb2a03bb.jpg) +![本課程的手繪筆記概述](../../../../../translated_images/zh-MO/lesson-7.30b5f577d3cb8e031238751475cb519c7d6dbaea261b5df4643d086ffb2a03bb.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -41,7 +41,7 @@ IoT 設備使用低電壓。雖然這足以驅動傳感器和低功率執行器 解決方案是將水泵連接到外部電源,並使用執行器來開關水泵,就像你用手指開關燈一樣。用手指翻動開關所需的能量非常少,但這能將燈連接到 110v/240v 的市電。 -![燈開關將電力接通燈泡](../../../../../translated_images/mo/light-switch.760317ad6ab8bd6d611da5352dfe9c73a94a0822ccec7df3c8bae35da18e1658.png) +![燈開關將電力接通燈泡](../../../../../translated_images/zh-MO/light-switch.760317ad6ab8bd6d611da5352dfe9c73a94a0822ccec7df3c8bae35da18e1658.png) > 🎓 [市電](https://wikipedia.org/wiki/Mains_electricity) 是指通過國家基礎設施向家庭和企業提供的電力。 @@ -55,11 +55,11 @@ IoT 設備使用低電壓。雖然這足以驅動傳感器和低功率執行器 > 🎓 [電磁鐵](https://wikipedia.org/wiki/Electromagnet) 是通過電流流過線圈而產生的磁鐵。當電流接通時,線圈被磁化;當電流斷開時,線圈失去磁性。 -![當接通時,電磁鐵產生磁場,打開輸出電路的開關](../../../../../translated_images/mo/relay-on.4db16a0fd6b66926.webp) +![當接通時,電磁鐵產生磁場,打開輸出電路的開關](../../../../../translated_images/zh-MO/relay-on.4db16a0fd6b66926.webp) 在繼電器中,控制電路為電磁鐵供電。當電磁鐵接通時,它拉動一個杠杆,移動開關,閉合一對觸點並完成輸出電路。 -![當斷開時,電磁鐵不產生磁場,關閉輸出電路的開關](../../../../../translated_images/mo/relay-off.c34a178a2960fecd.webp) +![當斷開時,電磁鐵不產生磁場,關閉輸出電路的開關](../../../../../translated_images/zh-MO/relay-off.c34a178a2960fecd.webp) 當控制電路斷開時,電磁鐵關閉,釋放杠杆並打開觸點,關閉輸出電路。繼電器是一種數字執行器——高信號打開繼電器,低信號關閉繼電器。 @@ -81,11 +81,11 @@ IoT 設備使用低電壓。雖然這足以驅動傳感器和低功率執行器 電磁鐵啟動並拉動杠杆所需的功率不大,可以使用 IoT 開發板的 3.3V 或 5V 輸出進行控制。輸出電路可以承載更多功率,取決於繼電器,包括市電電壓甚至更高的工業用電功率。這樣,IoT 開發板可以控制灌溉系統,從單個植物的小型水泵到整個商業農場的大型工業系統。 -![一個 Grove 繼電器,標註了控制電路、輸出電路和繼電器](../../../../../translated_images/mo/grove-relay-labelled.293e068f5c3c2a199bd7892f2661fdc9e10c920b535cfed317fbd6d1d4ae1168.png) +![一個 Grove 繼電器,標註了控制電路、輸出電路和繼電器](../../../../../translated_images/zh-MO/grove-relay-labelled.293e068f5c3c2a199bd7892f2661fdc9e10c920b535cfed317fbd6d1d4ae1168.png) 上圖顯示了一個 Grove 繼電器。控制電路連接到 IoT 設備,使用 3.3V 或 5V 打開或關閉繼電器。輸出電路有兩個端子,任一端子可以是電源或接地。輸出電路可以處理高達 250V、10A 的電力,足以驅動一系列市電設備。你還可以找到能處理更高功率的繼電器。 -![通過繼電器連接的水泵](../../../../../translated_images/mo/pump-wired-to-relay.66c5cfc0d8918990.webp) +![通過繼電器連接的水泵](../../../../../translated_images/zh-MO/pump-wired-to-relay.66c5cfc0d8918990.webp) 在上圖中,通過繼電器為水泵供電。一根紅色電線將 USB 電源的 +5V 端子連接到繼電器的輸出電路的一個端子,另一根紅色電線將輸出電路的另一端子連接到水泵。一根黑色電線將水泵連接到 USB 電源的接地端子。當繼電器打開時,它完成電路,向水泵提供 5V 電壓,啟動水泵。 @@ -135,7 +135,7 @@ IoT 設備使用低電壓。雖然這足以驅動傳感器和低功率執行器 如果你在上一課中使用了物理傳感器測量土壤濕度,你可能會注意到在澆水後,土壤濕度讀數需要幾秒鐘才會下降。這並不是因為傳感器速度慢,而是因為水需要時間滲透到土壤中。 💁 如果你在感測器附近澆水,可能會看到讀數迅速下降,然後又回升——這是因為感測器附近的水分擴散到土壤其他部分,導致感測器周圍的土壤濕度降低。 -![土壤濕度測量值為658,在澆水過程中不會改變,只有在水滲透到土壤後才會降至320](../../../../../translated_images/mo/soil-moisture-travel.a0e31af222cf1438.webp) +![土壤濕度測量值為658,在澆水過程中不會改變,只有在水滲透到土壤後才會降至320](../../../../../translated_images/zh-MO/soil-moisture-travel.a0e31af222cf1438.webp) 在上圖中,土壤濕度讀數顯示為658。植物被澆水,但這個讀數並不會立即改變,因為水尚未到達感測器。甚至在水到達感測器之前澆水可能已經完成,然後讀數才會下降以反映新的濕度水平。 @@ -157,11 +157,11 @@ IoT 設備使用低電壓。雖然這足以驅動傳感器和低功率執行器 > 💁 這種時間控制非常特定於你正在建造的物聯網設備、測量的屬性以及使用的感測器和執行器。 -![一株草莓植物通過水泵連接到水源,水泵通過繼電器控制。繼電器和植物中的土壤濕度感測器都連接到樹莓派](../../../../../translated_images/mo/strawberry-with-pump.b410fc72ac6aabad.webp) +![一株草莓植物通過水泵連接到水源,水泵通過繼電器控制。繼電器和植物中的土壤濕度感測器都連接到樹莓派](../../../../../translated_images/zh-MO/strawberry-with-pump.b410fc72ac6aabad.webp) 例如,我有一株草莓植物,配有土壤濕度感測器和通過繼電器控制的水泵。我觀察到當我添加水時,大約需要20秒才能使土壤濕度讀數穩定。這意味著我需要關閉繼電器並等待20秒再檢查濕度水平。我寧願水少一些也不願水過多——我可以隨時再次啟動水泵,但我無法從植物中移除水。 -![步驟1,測量濕度。步驟2,添加水。步驟3,等待水滲透到土壤。步驟4,重新測量濕度](../../../../../translated_images/mo/soil-moisture-delay.865f3fae206db01d.webp) +![步驟1,測量濕度。步驟2,添加水。步驟3,等待水滲透到土壤。步驟4,重新測量濕度](../../../../../translated_images/zh-MO/soil-moisture-delay.865f3fae206db01d.webp) 這意味著最佳的澆水流程可能如下: diff --git a/translations/mo/2-farm/lessons/3-automated-plant-watering/pi-relay.md b/translations/mo/2-farm/lessons/3-automated-plant-watering/pi-relay.md index edb5c8130..723cf8b01 100644 --- a/translations/mo/2-farm/lessons/3-automated-plant-watering/pi-relay.md +++ b/translations/mo/2-farm/lessons/3-automated-plant-watering/pi-relay.md @@ -27,13 +27,13 @@ Grove 繼電器可以連接到 Raspberry Pi。 連接繼電器。 -![一個 Grove 繼電器](../../../../../translated_images/mo/grove-relay.d426958ca210fbd0fb7983d7edc069d46c73a8b0a099d94797bd756f7b6bb6be.png) +![一個 Grove 繼電器](../../../../../translated_images/zh-MO/grove-relay.d426958ca210fbd0fb7983d7edc069d46c73a8b0a099d94797bd756f7b6bb6be.png) 1. 將 Grove 電纜的一端插入繼電器上的插座。它只能以一種方式插入。 1. 在 Raspberry Pi 關機的情況下,將 Grove 電纜的另一端連接到 Pi 上 Grove Base Hat 上標記為 **D5** 的數位插座。這個插座位於 GPIO 引腳旁邊那排插座的第二個位置。保持土壤濕度傳感器連接到 **A0** 插座。 -![Grove 繼電器連接到 D5 插座,土壤濕度傳感器連接到 A0 插座](../../../../../translated_images/mo/pi-relay-and-soil-moisture-sensor.02f3198975b8c53e69ec716cd2719ce117700bd1fc933eaf93476c103c57939b.png) +![Grove 繼電器連接到 D5 插座,土壤濕度傳感器連接到 A0 插座](../../../../../translated_images/zh-MO/pi-relay-and-soil-moisture-sensor.02f3198975b8c53e69ec716cd2719ce117700bd1fc933eaf93476c103c57939b.png) 1. 如果土壤濕度傳感器還沒有插入土壤,請將其插入土壤中(如果是從上一課程中留下的,則可能已經插入)。 diff --git a/translations/mo/2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md b/translations/mo/2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md index 980dc4ddc..a7e37ff3e 100644 --- a/translations/mo/2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md +++ b/translations/mo/2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md @@ -37,11 +37,11 @@ CO_OP_TRANSLATOR_METADATA: 1. 選擇 **Add** 按鈕以在 Pin 5 上創建繼電器。 - ![繼電器設置](../../../../../translated_images/mo/counterfit-create-relay.fa7c40fd0f2f6afc33b35ea94fcb235085be4861e14e3fe6b9b7bcfc82d1c888.png) + ![繼電器設置](../../../../../translated_images/zh-MO/counterfit-create-relay.fa7c40fd0f2f6afc33b35ea94fcb235085be4861e14e3fe6b9b7bcfc82d1c888.png) 繼電器將被創建並顯示在致動器列表中。 - ![已創建的繼電器](../../../../../translated_images/mo/counterfit-relay.bbf74c1dbdc8b9acd983367fcbd06703a402aefef6af54ddb28e11307ba8a12c.png) + ![已創建的繼電器](../../../../../translated_images/zh-MO/counterfit-relay.bbf74c1dbdc8b9acd983367fcbd06703a402aefef6af54ddb28e11307ba8a12c.png) ## 編程繼電器 diff --git a/translations/mo/2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md b/translations/mo/2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md index 801a45ead..0667ae0bd 100644 --- a/translations/mo/2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md +++ b/translations/mo/2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 將植物遷移到雲端 -![本課程的手繪筆記概述](../../../../../translated_images/mo/lesson-8.3f21f3c11159e6a0a376351973ea5724d5de68fa23b4288853a174bed9ac48c3.jpg) +![本課程的手繪筆記概述](../../../../../translated_images/zh-MO/lesson-8.3f21f3c11159e6a0a376351973ea5724d5de68fa23b4288853a174bed9ac48c3.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -55,8 +55,8 @@ IoT 設備通過公共 MQTT broker 進行通信,這是一種演示原理的方 雲端常被戲稱為「別人的計算機」。最初的想法很簡單——與其購買計算機,不如租用別人的計算機。雲計算提供商會管理巨大的數據中心。他們負責購買和安裝硬件、管理電力和冷卻、網絡、建築安全、硬件和軟件更新等所有事情。作為客戶,你只需租用所需的計算機,需求增加時租用更多,需求減少時減少租用。這些雲端數據中心分布在世界各地。 -![Microsoft 雲端數據中心](../../../../../translated_images/mo/azure-region-existing.73f704604f2aa6cb9b5a49ed40e93d4fd81ae3f4e6af4a8ca504023902832f56.png) -![Microsoft 雲端數據中心擴展計劃](../../../../../translated_images/mo/azure-region-planned-expansion.a5074a1e8af74f156a73552d502429e5b126ea5019274d767ecb4b9afdad442b.png) +![Microsoft 雲端數據中心](../../../../../translated_images/zh-MO/azure-region-existing.73f704604f2aa6cb9b5a49ed40e93d4fd81ae3f4e6af4a8ca504023902832f56.png) +![Microsoft 雲端數據中心擴展計劃](../../../../../translated_images/zh-MO/azure-region-planned-expansion.a5074a1e8af74f156a73552d502429e5b126ea5019274d767ecb4b9afdad442b.png) 這些數據中心的面積可以達到數平方公里。上面的圖片拍攝於幾年前的 Microsoft 雲端數據中心,展示了初始規模以及擴展計劃。擴展清理出的區域超過 5 平方公里。 @@ -72,7 +72,7 @@ IoT 設備通過公共 MQTT broker 進行通信,這是一種演示原理的方 Azure 是 Microsoft 的開發者雲端,也是你在這些課程中將使用的雲端。以下視頻提供了 Azure 的簡短概述: -[![Azure 概述視頻](../../../../../translated_images/mo/what-is-azure-video-thumbnail.20174db09e03bbb8.webp)](https://www.microsoft.com/videoplayer/embed/RE4Ibng?WT.mc_id=academic-17441-jabenn) +[![Azure 概述視頻](../../../../../translated_images/zh-MO/what-is-azure-video-thumbnail.20174db09e03bbb8.webp)](https://www.microsoft.com/videoplayer/embed/RE4Ibng?WT.mc_id=academic-17441-jabenn) ## 創建雲端訂閱 @@ -117,11 +117,11 @@ Azure 是 Microsoft 的開發者雲端,也是你在這些課程中將使用的 IoT 設備可以通過設備 SDK(提供與服務功能交互的代碼庫)或直接通過通信協議(如 MQTT 或 HTTP)連接到雲端服務。設備 SDK 通常是最簡單的路徑,因為它處理所有事情,例如知道要發布或訂閱哪些主題,以及如何處理安全性。 -![設備通過設備 SDK 連接到服務。伺服器代碼也通過 SDK 連接到服務](../../../../../translated_images/mo/iot-service-connectivity.7e873847921a5d6fd60d0ba3a943210194518cee0d4e362476624316443275c3.png) +![設備通過設備 SDK 連接到服務。伺服器代碼也通過 SDK 連接到服務](../../../../../translated_images/zh-MO/iot-service-connectivity.7e873847921a5d6fd60d0ba3a943210194518cee0d4e362476624316443275c3.png) 你的設備然後通過該服務與應用程序的其他部分通信——類似於你通過 MQTT 發送遙測數據和接收命令。這通常使用服務 SDK 或類似的庫。消息從設備發送到服務,應用程序的其他部分可以讀取這些消息,並將消息發送回設備。 -![沒有有效密鑰的設備無法連接到 IoT 服務](../../../../../translated_images/mo/iot-service-allowed-denied-connection.818b0063ac213fb84204a7229303764d9b467ca430fb822b4ac2fca267d56726.png) +![沒有有效密鑰的設備無法連接到 IoT 服務](../../../../../translated_images/zh-MO/iot-service-allowed-denied-connection.818b0063ac213fb84204a7229303764d9b467ca430fb822b4ac2fca267d56726.png) 這些服務通過了解所有可以連接並發送數據的設備來實現安全性,這可以通過預先註冊設備或提供設備密鑰或證書來完成,設備可以在首次連接時使用這些密鑰或證書向服務註冊。未知設備無法連接,如果嘗試,服務會拒絕連接並忽略它們發送的消息。 @@ -133,7 +133,7 @@ IoT 設備可以通過設備 SDK(提供與服務功能交互的代碼庫)或 現在您已擁有 Azure 訂閱,您可以註冊一個 IoT 服務。Microsoft 的 IoT 服務稱為 Azure IoT Hub。 -![Azure IoT Hub 標誌](../../../../../translated_images/mo/azure-iot-hub-logo.28a19de76d0a1932464d858f7558712bcdace3e5ec69c434d482ed7ce41c3a26.png) +![Azure IoT Hub 標誌](../../../../../translated_images/zh-MO/azure-iot-hub-logo.28a19de76d0a1932464d858f7558712bcdace3e5ec69c434d482ed7ce41c3a26.png) 以下影片提供了 Azure IoT Hub 的簡短概述: diff --git a/translations/mo/2-farm/lessons/5-migrate-application-to-the-cloud/README.md b/translations/mo/2-farm/lessons/5-migrate-application-to-the-cloud/README.md index d887dbbf3..9e3bee00a 100644 --- a/translations/mo/2-farm/lessons/5-migrate-application-to-the-cloud/README.md +++ b/translations/mo/2-farm/lessons/5-migrate-application-to-the-cloud/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 將您的應用程式邏輯遷移到雲端 -![本課程的手繪筆記概覽](../../../../../translated_images/mo/lesson-9.dfe99c8e891f48e179724520da9f5794392cf9a625079281ccdcbf09bd85e1b6.jpg) +![本課程的手繪筆記概覽](../../../../../translated_images/zh-MO/lesson-9.dfe99c8e891f48e179724520da9f5794392cf9a625079281ccdcbf09bd85e1b6.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -37,11 +37,11 @@ CO_OP_TRANSLATOR_METADATA: 無伺服器,或稱無伺服器運算,是指建立小型程式碼塊,這些程式碼會在雲端中根據不同類型的事件執行。當事件發生時,您的程式碼會被執行,並接收有關該事件的數據。這些事件可以來自多種來源,包括網頁請求、放入佇列的訊息、資料庫中數據的變更,或 IoT 裝置發送到 IoT 服務的訊息。 -![事件從 IoT 服務發送到無伺服器服務,並由多個同時執行的函數處理](../../../../../translated_images/mo/iot-messages-to-serverless.0194da1cc0732bb7d0f823aed3fce54735c6b1ad3bf36089804d8aaefc0a774f.png) +![事件從 IoT 服務發送到無伺服器服務,並由多個同時執行的函數處理](../../../../../translated_images/zh-MO/iot-messages-to-serverless.0194da1cc0732bb7d0f823aed3fce54735c6b1ad3bf36089804d8aaefc0a774f.png) > 💁 如果您之前使用過資料庫觸發器,可以將其視為類似的概念,即程式碼因事件(如插入一行)而觸發。 -![當多個事件同時發生時,無伺服器服務會擴展以同時執行所有事件](../../../../../translated_images/mo/serverless-scaling.f8c769adf0413fd1.webp) +![當多個事件同時發生時,無伺服器服務會擴展以同時執行所有事件](../../../../../translated_images/zh-MO/serverless-scaling.f8c769adf0413fd1.webp) 您的程式碼僅在事件發生時執行,其他時間不會保持活躍。事件發生時,程式碼會被載入並執行。這使得無伺服器具有很高的可擴展性——如果多個事件同時發生,雲端提供商可以根據需要同時執行多個函數,分配到可用的伺服器上。不過,這也意味著如果需要在事件之間共享資訊,您需要將其儲存在資料庫等地方,而不是記憶體中。 @@ -63,7 +63,7 @@ CO_OP_TRANSLATOR_METADATA: Microsoft 的無伺服器運算服務稱為 Azure Functions。 -![Azure Functions 標誌](../../../../../translated_images/mo/azure-functions-logo.1cfc8e3204c9c44aaf80fcf406fc8544d80d7f00f8d3e8ed6fed764563e17564.png) +![Azure Functions 標誌](../../../../../translated_images/zh-MO/azure-functions-logo.1cfc8e3204c9c44aaf80fcf406fc8544d80d7f00f8d3e8ed6fed764563e17564.png) 以下的短影片提供了 Azure Functions 的概覽: @@ -244,7 +244,7 @@ Azure Functions CLI 可用於建立新的 Functions 應用程式。 VS Code. Initialize for optimal use with VS Code? ``` - ![通知](../../../../../translated_images/mo/vscode-azure-functions-init-notification.bd19b49229963edb.webp) + ![通知](../../../../../translated_images/zh-MO/vscode-azure-functions-init-notification.bd19b49229963edb.webp) 從通知中選擇 **Yes**。 diff --git a/translations/mo/2-farm/lessons/6-keep-your-plant-secure/README.md b/translations/mo/2-farm/lessons/6-keep-your-plant-secure/README.md index adc7d314b..74a01c651 100644 --- a/translations/mo/2-farm/lessons/6-keep-your-plant-secure/README.md +++ b/translations/mo/2-farm/lessons/6-keep-your-plant-secure/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 保護您的植物安全 -![本課程的手繪筆記概述](../../../../../translated_images/mo/lesson-10.829c86b80b9403bb770929ee553a1d293afe50dc23121aaf9be144673ae012cc.jpg) +![本課程的手繪筆記概述](../../../../../translated_images/zh-MO/lesson-10.829c86b80b9403bb770929ee553a1d293afe50dc23121aaf9be144673ae012cc.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -61,11 +61,11 @@ CO_OP_TRANSLATOR_METADATA: 當設備連接到物聯網服務時,它會使用一個 ID 來識別自己。問題是這個 ID 可以被複製——駭客可以設置一個惡意設備,使用與真實設備相同的 ID,但發送虛假數據。 -![真實設備和惡意設備可能使用相同的 ID 發送遙測數據](../../../../../translated_images/mo/iot-device-and-hacked-device-connecting.e0671675df74d6d99eb1dedb5a670e606f698efa6202b1ad4c8ae548db299cc6.png) +![真實設備和惡意設備可能使用相同的 ID 發送遙測數據](../../../../../translated_images/zh-MO/iot-device-and-hacked-device-connecting.e0671675df74d6d99eb1dedb5a670e606f698efa6202b1ad4c8ae548db299cc6.png) 解決方法是將發送的數據轉換為一種加密格式,使用設備和雲端都知道的某種值來加密數據。這個過程稱為*加密*,用於加密數據的值稱為*加密密鑰*。 -![如果使用加密,只有加密的消息會被接受,其他消息會被拒絕](../../../../../translated_images/mo/iot-device-and-hacked-device-connecting-encryption.5941aff601fc978f979e46f2849b573564eeb4a4dc5b52f669f62745397492fb.png) +![如果使用加密,只有加密的消息會被接受,其他消息會被拒絕](../../../../../translated_images/zh-MO/iot-device-and-hacked-device-connecting-encryption.5941aff601fc978f979e46f2849b573564eeb4a4dc5b52f669f62745397492fb.png) 雲端服務可以使用一個過程稱為*解密*將數據轉換回可讀格式,使用相同的加密密鑰或一個*解密密鑰*。如果加密的消息無法通過密鑰解密,則表明設備已被駭客入侵,消息會被拒絕。 @@ -97,15 +97,15 @@ CO_OP_TRANSLATOR_METADATA: **對稱**加密使用相同的密鑰加密和解密數據。發送者和接收者都需要知道相同的密鑰。這是最不安全的類型,因為密鑰需要以某種方式共享。為了讓發送者向接收者發送加密消息,發送者可能首先需要向接收者發送密鑰。 -![對稱密鑰加密使用相同的密鑰加密和解密消息](../../../../../translated_images/mo/send-message-symmetric-key.a2e8ad0d495896ff.webp) +![對稱密鑰加密使用相同的密鑰加密和解密消息](../../../../../translated_images/zh-MO/send-message-symmetric-key.a2e8ad0d495896ff.webp) 如果密鑰在傳輸過程中被竊取,或者發送者或接收者被駭客入侵並找到密鑰,加密就可能被破解。 -![對稱密鑰加密只有在駭客未獲得密鑰的情況下才安全——如果密鑰被竊取,駭客可以攔截並解密消息](../../../../../translated_images/mo/send-message-symmetric-key-hacker.e7cb53db1707adfb.webp) +![對稱密鑰加密只有在駭客未獲得密鑰的情況下才安全——如果密鑰被竊取,駭客可以攔截並解密消息](../../../../../translated_images/zh-MO/send-message-symmetric-key-hacker.e7cb53db1707adfb.webp) **非對稱**加密使用兩個密鑰——加密密鑰和解密密鑰,稱為公鑰/私鑰對。公鑰用於加密消息,但不能用於解密;私鑰用於解密消息,但不能用於加密。 -![非對稱加密使用不同的密鑰加密和解密。加密密鑰會發送給任何消息發送者,以便他們在向擁有密鑰的接收者發送消息之前加密消息](../../../../../translated_images/mo/send-message-asymmetric.7abe327c62615b8c.webp) +![非對稱加密使用不同的密鑰加密和解密。加密密鑰會發送給任何消息發送者,以便他們在向擁有密鑰的接收者發送消息之前加密消息](../../../../../translated_images/zh-MO/send-message-asymmetric.7abe327c62615b8c.webp) 接收者共享其公鑰,發送者使用此公鑰加密消息。一旦消息被發送,接收者使用其私鑰解密消息。非對稱加密更安全,因為私鑰由接收者保密,從不共享。任何人都可以擁有公鑰,因為它只能用於加密消息。 @@ -165,7 +165,7 @@ X.509 證書是包含公鑰部分的數字文件。它們通常由一系列被 使用 X.509 證書時,發送者和接收者都擁有自己的公鑰和私鑰,以及包含公鑰的 X.509 證書。他們會交換 X.509 證書,使用彼此的公鑰加密發送的數據,並使用自己的私鑰解密接收到的數據。 -![與其共享公鑰,您可以共享證書。證書的使用者可以通過檢查簽署它的證書授權機構來驗證它是否來自您。](../../../../../translated_images/mo/send-message-certificate.9cc576ac1e46b76e.webp) +![與其共享公鑰,您可以共享證書。證書的使用者可以通過檢查簽署它的證書授權機構來驗證它是否來自您。](../../../../../translated_images/zh-MO/send-message-certificate.9cc576ac1e46b76e.webp) 使用 X.509 證書的一大優勢是它們可以在設備之間共享。您可以創建一個證書,將其上傳到 IoT Hub,並用於所有設備。每個設備只需要知道私鑰即可解密從 IoT Hub 接收到的消息。 diff --git a/translations/mo/3-transport/lessons/1-location-tracking/README.md b/translations/mo/3-transport/lessons/1-location-tracking/README.md index a8fdffccb..351d0d53b 100644 --- a/translations/mo/3-transport/lessons/1-location-tracking/README.md +++ b/translations/mo/3-transport/lessons/1-location-tracking/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 位置追蹤 -![本課程的手繪筆記概覽](../../../../../translated_images/mo/lesson-11.9fddbac4b664c6d50ab7ac9bb32f1fc3f945f03760e72f7f43938073762fb017.jpg) +![本課程的手繪筆記概覽](../../../../../translated_images/zh-MO/lesson-11.9fddbac4b664c6d50ab7ac9bb32f1fc3f945f03760e72f7f43938073762fb017.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -71,13 +71,13 @@ CO_OP_TRANSLATOR_METADATA: > 💁 沒有人真正知道為什麼圓被分為 360 度的最初原因。[維基百科上的角度(度)頁面](https://wikipedia.org/wiki/Degree_(angle))介紹了一些可能的原因。 -![緯線從北極的 90°,到赤道的 0°,再到南極的 -90°](../../../../../translated_images/mo/latitude-lines.11d8d91dfb2014a57437272d7db7fd6607243098e8685f06e0c5f1ec984cb7eb.png) +![緯線從北極的 90°,到赤道的 0°,再到南極的 -90°](../../../../../translated_images/zh-MO/latitude-lines.11d8d91dfb2014a57437272d7db7fd6607243098e8685f06e0c5f1ec984cb7eb.png) 緯度是通過圍繞地球並與赤道平行的線來測量的,將北半球和南半球各分為 90°。赤道是 0°,北極是 90°,也稱為北緯 90°,南極是 -90°,或南緯 90°。 經度是測量東西方向的度數。經度的 0° 起點稱為*本初子午線*,於 1884 年被定義為一條從北極到南極穿過[英國格林威治皇家天文台](https://wikipedia.org/wiki/Royal_Observatory,_Greenwich)的線。 -![經線從本初子午線的 0°,到西經 -180°,再到東經 180°](../../../../../translated_images/mo/longitude-meridians.ab4ef1c91c064586b0185a3c8d39e585903696c6a7d28c098a93a629cddb5d20.png) +![經線從本初子午線的 0°,到西經 -180°,再到東經 180°](../../../../../translated_images/zh-MO/longitude-meridians.ab4ef1c91c064586b0185a3c8d39e585903696c6a7d28c098a93a629cddb5d20.png) > 🎓 子午線是一條從北極到南極的假想直線,形成一個半圓。 @@ -108,7 +108,7 @@ CO_OP_TRANSLATOR_METADATA: * 緯度為 47.6423109(赤道以北 47.6423109 度) * 經度為 -122.1390293(本初子午線以西 122.1390293 度)。 -![微軟園區位於 47.6423109,-122.117198](../../../../../translated_images/mo/microsoft-gps-location-world.a321d481b010f6adfcca139b2ba0adc53b79f58a540495b8e2ce7f779ea64bfe.png) +![微軟園區位於 47.6423109,-122.117198](../../../../../translated_images/zh-MO/microsoft-gps-location-world.a321d481b010f6adfcca139b2ba0adc53b79f58a540495b8e2ce7f779ea64bfe.png) ## 全球定位系統(GPS) @@ -120,7 +120,7 @@ GPS 系統的工作原理是多顆衛星發送信號,信號中包含每顆衛 > 💁 GPS 感測器需要天線來檢測無線電波。內建 GPS 的卡車和汽車通常將天線安裝在擋風玻璃或車頂,以獲得良好的信號。如果您使用的是單獨的 GPS 系統,例如智能手機或物聯網設備,則需要確保 GPS 系統或手機內建的天線能夠清楚地看到天空,例如安裝在擋風玻璃上。 -![通過知道感測器與多顆衛星的距離,可以計算出位置](../../../../../translated_images/mo/gps-satellites.04acf1148fe25fbf1586bc2e8ba698e8d79b79a50c36824b38417dd13372b90f.png) +![通過知道感測器與多顆衛星的距離,可以計算出位置](../../../../../translated_images/zh-MO/gps-satellites.04acf1148fe25fbf1586bc2e8ba698e8d79b79a50c36824b38417dd13372b90f.png) GPS 衛星繞地球運行,並非固定在感測器上方,因此位置數據包括海拔高度(相對於海平面)以及緯度和經度。 diff --git a/translations/mo/3-transport/lessons/1-location-tracking/pi-gps-sensor.md b/translations/mo/3-transport/lessons/1-location-tracking/pi-gps-sensor.md index b483c145e..3d758c1da 100644 --- a/translations/mo/3-transport/lessons/1-location-tracking/pi-gps-sensor.md +++ b/translations/mo/3-transport/lessons/1-location-tracking/pi-gps-sensor.md @@ -27,13 +27,13 @@ Grove GPS 感測器可以連接到 Raspberry Pi。 連接 GPS 感測器。 -![Grove GPS 感測器](../../../../../translated_images/mo/grove-gps-sensor.247943bf69b03f0d1820ef6ed10c587f9b650e8db55b936851c92412180bd3e2.png) +![Grove GPS 感測器](../../../../../translated_images/zh-MO/grove-gps-sensor.247943bf69b03f0d1820ef6ed10c587f9b650e8db55b936851c92412180bd3e2.png) 1. 將 Grove 電纜的一端插入 GPS 感測器上的插槽。它只能以一種方式插入。 1. 在 Raspberry Pi 關機的情況下,將 Grove 電纜的另一端連接到安裝在 Pi 上的 Grove Base Hat 上標有 **UART** 的 UART 插槽。該插槽位於中間排,靠近 SD 卡插槽的一側,與 USB 埠和乙太網插槽相對的一端。 - ![Grove GPS 感測器連接到 UART 插槽](../../../../../translated_images/mo/pi-gps-sensor.1f99ee2b2f6528915047ec78967bd362e0e4ee0ed594368a3837b9cf9cdaca64.png) + ![Grove GPS 感測器連接到 UART 插槽](../../../../../translated_images/zh-MO/pi-gps-sensor.1f99ee2b2f6528915047ec78967bd362e0e4ee0ed594368a3837b9cf9cdaca64.png) 1. 將 GPS 感測器放置在附加天線可以看到天空的位置——理想情況下靠近窗戶或在戶外。天線周圍沒有障礙物時,信號會更清晰。 diff --git a/translations/mo/3-transport/lessons/1-location-tracking/virtual-device-gps-sensor.md b/translations/mo/3-transport/lessons/1-location-tracking/virtual-device-gps-sensor.md index 2f88c0ad4..23112e8ef 100644 --- a/translations/mo/3-transport/lessons/1-location-tracking/virtual-device-gps-sensor.md +++ b/translations/mo/3-transport/lessons/1-location-tracking/virtual-device-gps-sensor.md @@ -47,11 +47,11 @@ CO_OP_TRANSLATOR_METADATA: 1. 點擊 **Add** 按鈕,在端口 `/dev/ttyAMA0` 上創建 GPS 傳感器。 - ![GPS 傳感器設置](../../../../../translated_images/mo/counterfit-create-gps-sensor.6385dc9357d85ad1d47b4abb2525e7651fd498917d25eefc5a72feab09eedc70.png) + ![GPS 傳感器設置](../../../../../translated_images/zh-MO/counterfit-create-gps-sensor.6385dc9357d85ad1d47b4abb2525e7651fd498917d25eefc5a72feab09eedc70.png) GPS 傳感器將被創建並顯示在傳感器列表中。 - ![已創建的 GPS 傳感器](../../../../../translated_images/mo/counterfit-gps-sensor.3fbb15af0a5367566f2f11324ef5a6f30861cdf2b497071a5e002b7aa473550e.png) + ![已創建的 GPS 傳感器](../../../../../translated_images/zh-MO/counterfit-gps-sensor.3fbb15af0a5367566f2f11324ef5a6f30861cdf2b497071a5e002b7aa473550e.png) ## 編程 GPS 傳感器 @@ -111,17 +111,17 @@ CO_OP_TRANSLATOR_METADATA: * 將 **Source** 設置為 `Lat/Lon`,並設置明確的緯度、經度以及用於獲取 GPS 定位的衛星數量。此值僅會發送一次,因此勾選 **Repeat** 框以使數據每秒重複發送。 - ![選擇緯度和經度的 GPS 傳感器](../../../../../translated_images/mo/counterfit-gps-sensor-latlon.008c867d75464fbe7f84107cc57040df565ac07cb57d2f21db37d087d470197d.png) + ![選擇緯度和經度的 GPS 傳感器](../../../../../translated_images/zh-MO/counterfit-gps-sensor-latlon.008c867d75464fbe7f84107cc57040df565ac07cb57d2f21db37d087d470197d.png) * 將 **Source** 設置為 `NMEA`,並在文本框中添加一些 NMEA 語句。所有這些值都會被發送,每次新的 GGA(位置修正)語句可讀取前會有 1 秒的延遲。 - ![設置 NMEA 語句的 GPS 傳感器](../../../../../translated_images/mo/counterfit-gps-sensor-nmea.c62eea442171e17e19528b051b104cfcecdc9cd18db7bc72920f29821ae63f73.png) + ![設置 NMEA 語句的 GPS 傳感器](../../../../../translated_images/zh-MO/counterfit-gps-sensor-nmea.c62eea442171e17e19528b051b104cfcecdc9cd18db7bc72920f29821ae63f73.png) 您可以使用像 [nmeagen.org](https://www.nmeagen.org) 這樣的工具通過在地圖上繪製來生成這些語句。這些值僅會發送一次,因此勾選 **Repeat** 框以使數據在全部發送後每秒重複一次。 * 將 **Source** 設置為 GPX 文件,並上傳包含軌跡位置的 GPX 文件。您可以從一些流行的地圖和徒步網站(如 [AllTrails](https://www.alltrails.com/))下載 GPX 文件。這些文件包含多個 GPS 位置作為軌跡,GPS 傳感器將以 1 秒間隔返回每個新位置。 - ![設置 GPX 文件的 GPS 傳感器](../../../../../translated_images/mo/counterfit-gps-sensor-gpxfile.8310b063ce8a425ccc8ebeec8306aeac5e8e55207f007d52c6e1194432a70cd9.png) + ![設置 GPX 文件的 GPS 傳感器](../../../../../translated_images/zh-MO/counterfit-gps-sensor-gpxfile.8310b063ce8a425ccc8ebeec8306aeac5e8e55207f007d52c6e1194432a70cd9.png) 這些值僅會發送一次,因此勾選 **Repeat** 框以使數據在全部發送後每秒重複一次。 diff --git a/translations/mo/3-transport/lessons/1-location-tracking/wio-terminal-gps-sensor.md b/translations/mo/3-transport/lessons/1-location-tracking/wio-terminal-gps-sensor.md index 178d2b9ad..33bcbb57e 100644 --- a/translations/mo/3-transport/lessons/1-location-tracking/wio-terminal-gps-sensor.md +++ b/translations/mo/3-transport/lessons/1-location-tracking/wio-terminal-gps-sensor.md @@ -27,13 +27,13 @@ Grove GPS 感測器可以連接到 Wio Terminal。 連接 GPS 感測器。 -![Grove GPS 感測器](../../../../../translated_images/mo/grove-gps-sensor.247943bf69b03f0d1820ef6ed10c587f9b650e8db55b936851c92412180bd3e2.png) +![Grove GPS 感測器](../../../../../translated_images/zh-MO/grove-gps-sensor.247943bf69b03f0d1820ef6ed10c587f9b650e8db55b936851c92412180bd3e2.png) 1. 將 Grove 線纜的一端插入 GPS 感測器上的插槽。它只能以一種方式插入。 1. 在 Wio Terminal 未連接到電腦或其他電源的情況下,將 Grove 線纜的另一端連接到 Wio Terminal 左側的 Grove 插槽(面向螢幕時)。這是靠近電源按鈕的插槽。 - ![Grove GPS 感測器連接到左側插槽](../../../../../translated_images/mo/wio-gps-sensor.19fd52b81ce58095.webp) + ![Grove GPS 感測器連接到左側插槽](../../../../../translated_images/zh-MO/wio-gps-sensor.19fd52b81ce58095.webp) 1. 將 GPS 感測器放置在附帶天線可以看到天空的位置——理想情況下靠近窗戶或在戶外。天線周圍沒有障礙物時,信號會更清晰。 diff --git a/translations/mo/3-transport/lessons/2-store-location-data/README.md b/translations/mo/3-transport/lessons/2-store-location-data/README.md index 20b1685cb..37136cf96 100644 --- a/translations/mo/3-transport/lessons/2-store-location-data/README.md +++ b/translations/mo/3-transport/lessons/2-store-location-data/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 儲存位置數據 -![本課的手繪筆記概覽](../../../../../translated_images/mo/lesson-12.ca7f53039712a3ec14ad6474d8445361c84adab643edc53fa6269b77895606bb.jpg) +![本課的手繪筆記概覽](../../../../../translated_images/zh-MO/lesson-12.ca7f53039712a3ec14ad6474d8445361c84adab643edc53fa6269b77895606bb.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -66,7 +66,7 @@ IoT 數據通常被認為是非結構化數據。 最早的資料庫是關聯式資料庫管理系統(RDBMS),也稱為關聯式資料庫。這些資料庫也被稱為 SQL 資料庫,因為它們使用結構化查詢語言(SQL)來添加、刪除、更新或查詢數據。這些資料庫由一個模式(schema)組成——一組明確定義的數據表,類似於試算表。每個表都有多個命名的欄位。當你插入數據時,你會向表中添加一行,並將值放入每個欄位中。這使得數據具有非常固定的結構——儘管你可以留空欄位,但如果你想添加一個新欄位,則必須在資料庫中執行此操作,並為現有行填充值。這些資料庫是關聯式的——即一個表可以與另一個表有關聯。 -![一個關聯式資料庫,其中用戶表的 ID 與購買表的用戶 ID 欄位相關聯,產品表的 ID 與購買表的產品 ID 欄位相關聯](../../../../../translated_images/mo/sql-database.be160f12bfccefd3.webp) +![一個關聯式資料庫,其中用戶表的 ID 與購買表的用戶 ID 欄位相關聯,產品表的 ID 與購買表的產品 ID 欄位相關聯](../../../../../translated_images/zh-MO/sql-database.be160f12bfccefd3.webp) 例如,如果你將用戶的個人詳細資料儲存在一個表中,你會為每個用戶分配一個內部唯一 ID,該 ID 用於包含用戶姓名和地址的表中的一行。如果你想在另一個表中儲存該用戶的其他詳細資料,例如購買記錄,你會在新表中為該用戶的 ID 添加一個欄位。當你查詢用戶時,可以使用他們的 ID 從一個表中獲取個人詳細資料,並從另一個表中獲取購買記錄。 @@ -84,7 +84,7 @@ NoSQL 資料庫之所以被稱為 NoSQL,是因為它們沒有 SQL 資料庫的 > 💁 儘管名稱如此,一些 NoSQL 資料庫允許你使用 SQL 查詢數據。 -![NoSQL 資料庫中的文件夾和文件](../../../../../translated_images/mo/noqsl-database.62d24ccf5b73f60d35c245a8533f1c7147c0928e955b82cb290b2e184bb434df.png) +![NoSQL 資料庫中的文件夾和文件](../../../../../translated_images/zh-MO/noqsl-database.62d24ccf5b73f60d35c245a8533f1c7147c0928e955b82cb290b2e184bb434df.png) NoSQL 資料庫沒有預定義的模式來限制數據的儲存方式,你可以插入任何非結構化數據,通常使用 JSON 文件。這些文件可以組織成文件夾,類似於電腦上的檔案。每個文件可以與其他文件具有不同的欄位——例如,如果你正在儲存農場車輛的 IoT 數據,有些可能有加速度計和速度數據欄位,其他可能有拖車內部溫度的欄位。如果你要添加一種新型卡車,例如內建秤來追蹤運輸的貨物重量,那麼你的 IoT 設備可以添加這個新欄位,並且可以在不更改資料庫的情況下儲存。 @@ -98,7 +98,7 @@ NoSQL 資料庫沒有預定義的模式來限制數據的儲存方式,你可 在上一課中,你從連接到 IoT 設備的 GPS 感測器捕捉了 GPS 數據。若要將這些 IoT 數據儲存在雲端,你需要將其發送到 IoT 服務。你將再次使用 Azure IoT Hub,這是你在上一個專案中使用的相同 IoT 雲服務。 -![從 IoT 設備向 IoT Hub 發送 GPS 遙測數據](../../../../../translated_images/mo/gps-telemetry-iot-hub.8115335d51cd2c1285d20e9d1b18cf685e59a8e093e7797291ef173445af6f3d.png) +![從 IoT 設備向 IoT Hub 發送 GPS 遙測數據](../../../../../translated_images/zh-MO/gps-telemetry-iot-hub.8115335d51cd2c1285d20e9d1b18cf685e59a8e093e7797291ef173445af6f3d.png) ### 任務 - 將 GPS 數據發送到 IoT Hub @@ -180,7 +180,7 @@ message = Message(json.dumps(message_json)) 一旦數據流入你的 IoT Hub,你可以編寫一些無伺服器程式碼來監聽發佈到 Event-Hub 相容端點的事件。這是溫路徑——這些數據將被儲存,並在下一課中用於行程報告。 -![從 IoT 設備向 IoT Hub 發送 GPS 遙測數據,然後通過事件中心觸發器發送到 Azure Functions](../../../../../translated_images/mo/gps-telemetry-iot-hub-functions.24d3fa5592455e9f4e2fe73856b40c3915a292b90263c31d652acfd976cfedd8.png) +![從 IoT 設備向 IoT Hub 發送 GPS 遙測數據,然後通過事件中心觸發器發送到 Azure Functions](../../../../../translated_images/zh-MO/gps-telemetry-iot-hub-functions.24d3fa5592455e9f4e2fe73856b40c3915a292b90263c31d652acfd976cfedd8.png) ### 任務 - 使用無伺服器程式碼處理 GPS 事件 @@ -202,7 +202,7 @@ message = Message(json.dumps(message_json)) ## Azure 儲存帳戶 -![Azure 儲存服務標誌](../../../../../translated_images/mo/azure-storage-logo.605c0f602c640d482a80f1b35a2629a32d595711b7ab1d7ceea843250615ff32.png) +![Azure 儲存服務標誌](../../../../../translated_images/zh-MO/azure-storage-logo.605c0f602c640d482a80f1b35a2629a32d595711b7ab1d7ceea843250615ff32.png) Azure 儲存帳戶是一種通用的儲存服務,可以以多種方式儲存資料。你可以將資料儲存為 Blob、佇列、表格或檔案,並且可以同時使用這些方式。 @@ -241,7 +241,7 @@ Azure 儲存帳戶是一種通用的儲存服務,可以以多種方式儲存 在本課程中,你將使用 Python SDK 來學習如何與 Blob 儲存互動。 -![從 IoT 裝置傳送 GPS 遙測數據到 IoT Hub,然後通過事件觸發器傳送到 Azure Functions,最後儲存到 Blob 儲存](../../../../../translated_images/mo/save-telemetry-to-storage-from-functions.ed3b1820980097f1.webp) +![從 IoT 裝置傳送 GPS 遙測數據到 IoT Hub,然後通過事件觸發器傳送到 Azure Functions,最後儲存到 Blob 儲存](../../../../../translated_images/zh-MO/save-telemetry-to-storage-from-functions.ed3b1820980097f1.webp) 資料將以以下格式儲存為 JSON Blob: diff --git a/translations/mo/3-transport/lessons/3-visualize-location-data/README.md b/translations/mo/3-transport/lessons/3-visualize-location-data/README.md index 94a3f48f7..ae3604ffc 100644 --- a/translations/mo/3-transport/lessons/3-visualize-location-data/README.md +++ b/translations/mo/3-transport/lessons/3-visualize-location-data/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 視覺化位置數據 -![本課程的手繪筆記概述](../../../../../translated_images/mo/lesson-13.a259db1485021be7d7c72e90842fbe0ab977529e8684c179b5fb1ea75e92b3ef.jpg) +![本課程的手繪筆記概述](../../../../../translated_images/zh-MO/lesson-13.a259db1485021be7d7c72e90842fbe0ab977529e8684c179b5fb1ea75e92b3ef.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -73,11 +73,11 @@ CO_OP_TRANSLATOR_METADATA: 對於人類來說,理解這些數據可能很困難。這是一堵沒有意義的數字牆。作為視覺化這些數據的第一步,可以將其繪製成折線圖: -![上述數據的折線圖](../../../../../translated_images/mo/chart-soil-moisture.fd6d9d0cdc0b5f75e78038ecb8945dfc84b38851359de99d84b16e3336d6d7c2.png) +![上述數據的折線圖](../../../../../translated_images/zh-MO/chart-soil-moisture.fd6d9d0cdc0b5f75e78038ecb8945dfc84b38851359de99d84b16e3336d6d7c2.png) 這可以進一步改進,添加一條線來指示自動灌溉系統在土壤濕度讀數達到 450 時啟動的時間: -![土壤濕度折線圖,顯示 450 的一條線](../../../../../translated_images/mo/chart-soil-moisture-relay.fbb391236d34a64d0abf1df396e9197e0a24df14150620b9cc820a64a55c9326.png) +![土壤濕度折線圖,顯示 450 的一條線](../../../../../translated_images/zh-MO/chart-soil-moisture-relay.fbb391236d34a64d0abf1df396e9197e0a24df14150620b9cc820a64a55c9326.png) 這張圖表不僅快速顯示了土壤濕度水平,還顯示了灌溉系統啟動的點。 @@ -93,7 +93,7 @@ CO_OP_TRANSLATOR_METADATA: 使用地圖是一項有趣的練習,有許多選擇,例如 Bing Maps、Leaflet、Open Street Maps 和 Google Maps。在本課程中,您將了解 [Azure Maps](https://azure.microsoft.com/services/azure-maps/?WT.mc_id=academic-17441-jabenn) 以及如何使用它們顯示您的 GPS 數據。 -![Azure Maps 標誌](../../../../../translated_images/mo/azure-maps-logo.35d01dcfbd81fe6140e94257aaa1538f785a58c91576d14e0ebe7a2f6c694b99.png) +![Azure Maps 標誌](../../../../../translated_images/zh-MO/azure-maps-logo.35d01dcfbd81fe6140e94257aaa1538f785a58c91576d14e0ebe7a2f6c694b99.png) Azure Maps 是“一組地理空間服務和 SDK,使用最新的地圖數據為網頁和移動應用提供地理背景。”開發者可以使用工具創建美觀的互動地圖,這些地圖可以提供推薦的交通路線、交通事故信息、室內導航、搜索功能、海拔信息、天氣服務等。 @@ -194,7 +194,7 @@ Azure Maps 是“一組地理空間服務和 SDK,使用最新的地圖數據 如果您在網頁瀏覽器中打開 `index.html` 文件,您應該會看到一張地圖加載並聚焦在西雅圖地區。 - ![顯示西雅圖(美國華盛頓州的一個城市)的地圖](../../../../../translated_images/mo/map-image.8fb2c53eb23ef39c1c0a4410a5282e879b3b452b707eb066ff04c5488d3d72b7.png) + ![顯示西雅圖(美國華盛頓州的一個城市)的地圖](../../../../../translated_images/zh-MO/map-image.8fb2c53eb23ef39c1c0a4410a5282e879b3b452b707eb066ff04c5488d3d72b7.png) ✅ 嘗試調整縮放和中心參數以更改地圖顯示。您可以添加與數據的緯度和經度相對應的不同坐標來重新定位地圖。 @@ -328,7 +328,7 @@ Azure Maps 是“一組地理空間服務和 SDK,使用最新的地圖數據 1. 在瀏覽器中加載 HTML 頁面。它將加載地圖,然後從儲存中加載所有 GPS 數據並將其繪製在地圖上。 - ![西雅圖附近的聖愛德華州立公園地圖,顯示公園邊緣路徑上的圓形](../../../../../translated_images/mo/map-path.896832e72dc696ffe20650e4051027d4855442d955f93fdbb80bb417ca8a406f.png) + ![西雅圖附近的聖愛德華州立公園地圖,顯示公園邊緣路徑上的圓形](../../../../../translated_images/zh-MO/map-path.896832e72dc696ffe20650e4051027d4855442d955f93fdbb80bb417ca8a406f.png) > 💁 你可以在 [code](../../../../../3-transport/lessons/3-visualize-location-data/code) 資料夾中找到此代碼。 diff --git a/translations/mo/3-transport/lessons/4-geofences/README.md b/translations/mo/3-transport/lessons/4-geofences/README.md index 4709ce002..8e0f1e2d9 100644 --- a/translations/mo/3-transport/lessons/4-geofences/README.md +++ b/translations/mo/3-transport/lessons/4-geofences/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 地理圍欄 -![本課程的手繪筆記概覽](../../../../../translated_images/mo/lesson-14.63980c5150ae3c153e770fb71d044c1845dce79248d86bed9fc525adf3ede73c.jpg) +![本課程的手繪筆記概覽](../../../../../translated_images/zh-MO/lesson-14.63980c5150ae3c153e770fb71d044c1845dce79248d86bed9fc525adf3ede73c.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -44,7 +44,7 @@ CO_OP_TRANSLATOR_METADATA: 地理圍欄是一個針對現實地理區域的虛擬邊界。地理圍欄可以是以點和半徑定義的圓形(例如建築物周圍 100 米的圓形),也可以是覆蓋某個區域的多邊形,例如學校區域、城市邊界或大學或辦公園區。 -![一些地理圍欄的例子,顯示 Microsoft 公司商店周圍的圓形地理圍欄,以及 Microsoft 西園區周圍的多邊形地理圍欄](../../../../../translated_images/mo/geofence-examples.172fbc534665769f6e1a1ddcf75e3b25183cd10354c80cc603ba44b635390e1a.png) +![一些地理圍欄的例子,顯示 Microsoft 公司商店周圍的圓形地理圍欄,以及 Microsoft 西園區周圍的多邊形地理圍欄](../../../../../translated_images/zh-MO/geofence-examples.172fbc534665769f6e1a1ddcf75e3b25183cd10354c80cc603ba44b635390e1a.png) > 💁 您可能已經在不知不覺中使用過地理圍欄。如果您曾使用 iOS 提醒應用或 Google Keep 根據位置設置提醒,那麼您就使用過地理圍欄。這些應用會根據提供的位置設置地理圍欄,並在您的手機進入地理圍欄時提醒您。 @@ -110,7 +110,7 @@ Azure Maps(您在上一課中用來可視化 GPS 數據的服務)允許您 多邊形的坐標數組總是比多邊形上的點數多一個,最後一個點與第一個點相同,形成閉合的多邊形。例如,對於一個矩形,會有 5 個點。 -![一個帶有坐標的矩形](../../../../../translated_images/mo/polygon-points.302193da381cb415.webp) +![一個帶有坐標的矩形](../../../../../translated_images/zh-MO/polygon-points.302193da381cb415.webp) 在上圖中,有一個矩形。多邊形坐標從左上角的 47,-122 開始,然後向右移動到 47,-121,再向下移動到 46,-121,然後向左移動到 46,-122,最後回到起點 47,-122。這樣多邊形就有了 5 個點——左上角、右上角、右下角、左下角,然後是左上角以閉合多邊形。 @@ -208,7 +208,7 @@ Azure Maps(您在上一課中用來可視化 GPS 數據的服務)允許您 當 API 調用返回結果時,結果的一部分是 `distance`,測量到地理圍欄邊緣最近點的距離。如果點在地理圍欄外,則為正值;如果在地理圍欄內,則為負值。如果此距離小於搜索緩衝區,則返回實際距離(以米為單位),否則值為 999 或 -999。999 表示該點距地理圍欄超過搜索緩衝區,-999 表示該點在地理圍欄內超過搜索緩衝區。 -![一個帶有 50 米搜索緩衝區的地理圍欄](../../../../../translated_images/mo/search-buffer-and-distance.e6a79af3898183c7.webp) +![一個帶有 50 米搜索緩衝區的地理圍欄](../../../../../translated_images/zh-MO/search-buffer-and-distance.e6a79af3898183c7.webp) 在上圖中,地理圍欄有一個 50 米的搜索緩衝區。 @@ -221,7 +221,7 @@ Azure Maps(您在上一課中用來可視化 GPS 數據的服務)允許您 例如,假設 GPS 讀數顯示車輛沿著一條最終與地理圍欄相鄰的道路行駛。如果單個 GPS 值不準確,將車輛定位在地理圍欄內,儘管沒有車輛通行的入口,那麼可以忽略該值。 -![一條 GPS 路徑顯示車輛沿 520 公路經過 Microsoft 校園,GPS 讀數沿著道路分佈,除了有一個讀數在校園內,位於地理圍欄內](../../../../../translated_images/mo/geofence-crossing-inaccurate-gps.6a3ed911202ad9cabb66d3964888cec03a42c61d5b8f536ad5bdc99716b370f5.png) +![一條 GPS 路徑顯示車輛沿 520 公路經過 Microsoft 校園,GPS 讀數沿著道路分佈,除了有一個讀數在校園內,位於地理圍欄內](../../../../../translated_images/zh-MO/geofence-crossing-inaccurate-gps.6a3ed911202ad9cabb66d3964888cec03a42c61d5b8f536ad5bdc99716b370f5.png) 在上圖中,微軟園區的一部分被設置了一個地理圍欄。紅線顯示了一輛卡車沿著520公路行駛,圓圈表示GPS讀數。大多數讀數是準確的,並且位於520公路上,但有一個不準確的讀數顯示在地理圍欄內。這個讀數顯然是不可能正確的——卡車不可能突然從520公路轉入園區,然後再回到520公路上。檢查地理圍欄的程式碼需要在執行地理圍欄測試結果之前,考慮之前的讀數。 ✅ 你需要檢查哪些額外的數據來判斷GPS讀數是否可以被認為是正確的? @@ -293,7 +293,7 @@ Azure Maps(您在上一課中用來可視化 GPS 數據的服務)允許您 答案是它無法知道!因此,你可以定義多個單獨的連接來讀取事件,每個連接可以管理未讀消息的重播。這些被稱為*消費者組*。當你連接到端點時,可以指定要連接的消費者組。應用程式的每個組件將連接到不同的消費者組。 -![一個IoT Hub有三個消費者組,將相同的消息分發到三個不同的Functions應用程式](../../../../../translated_images/mo/consumer-groups.a3262e26fc27ba2092863678ad57af15c7223416e388a23f330c058cf4358630.png) +![一個IoT Hub有三個消費者組,將相同的消息分發到三個不同的Functions應用程式](../../../../../translated_images/zh-MO/consumer-groups.a3262e26fc27ba2092863678ad57af15c7223416e388a23f330c058cf4358630.png) 理論上,每個消費者組最多可以連接5個應用程式,並且它們都會在消息到達時接收消息。最佳實踐是每個消費者組僅由一個應用程式訪問,以避免重複處理消息,並確保在重新啟動時正確處理所有排隊的消息。例如,如果你在本地啟動了Functions應用程式,同時在雲端運行,它們都會處理消息,導致存儲帳戶中存儲的Blob重複。 diff --git a/translations/mo/4-manufacturing/lessons/1-train-fruit-detector/README.md b/translations/mo/4-manufacturing/lessons/1-train-fruit-detector/README.md index 319b2b60d..3a8daabbd 100644 --- a/translations/mo/4-manufacturing/lessons/1-train-fruit-detector/README.md +++ b/translations/mo/4-manufacturing/lessons/1-train-fruit-detector/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 訓練水果品質檢測器 -![本課程的手繪筆記概覽](../../../../../translated_images/mo/lesson-15.843d21afdc6fb2bba70cd9db7b7d2f91598859fafda2078b0bdc44954194b6c0.jpg) +![本課程的手繪筆記概覽](../../../../../translated_images/zh-MO/lesson-15.843d21afdc6fb2bba70cd9db7b7d2f91598859fafda2078b0bdc44954194b6c0.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -47,7 +47,7 @@ CO_OP_TRANSLATOR_METADATA: 自動化收穫的興起將農產品的分類從田間轉移到了工廠。食品會通過長長的傳送帶,人工團隊會挑選出不符合質量標準的產品。雖然機械化收穫降低了成本,但手動分類食品仍然需要一定的開支。 -![如果檢測到紅色番茄,它會繼續前進。如果檢測到綠色番茄,槓桿會將其彈入廢料箱](../../../../../translated_images/mo/optical-tomato-sorting.61aa134bdda4e5b1bfb16a212c1e35a6ef0c426cbb8b1c975f79d7bfbf48d068.png) +![如果檢測到紅色番茄,它會繼續前進。如果檢測到綠色番茄,槓桿會將其彈入廢料箱](../../../../../translated_images/zh-MO/optical-tomato-sorting.61aa134bdda4e5b1bfb16a212c1e35a6ef0c426cbb8b1c975f79d7bfbf48d068.png) 下一代技術是使用機器進行分類,這些機器可以內置於收穫機中,也可以用於加工廠。第一代這類機器使用光學傳感器檢測顏色,通過控制執行器將綠色番茄推入廢料箱,而紅色番茄則繼續沿著傳送帶網絡前進。 @@ -61,7 +61,7 @@ CO_OP_TRANSLATOR_METADATA: 傳統編程是將數據與算法結合,然後獲得輸出。例如,在上一個項目中,您將 GPS 坐標和地理圍欄作為輸入,應用 Azure Maps 提供的算法,並獲得該點是否在地理圍欄內的結果。輸入更多數據,就會獲得更多輸出。 -![傳統開發使用輸入和算法生成輸出。機器學習使用輸入和輸出數據來訓練模型,該模型可以使用新輸入數據生成新輸出](../../../../../translated_images/mo/traditional-vs-ml.5c20c169621fa539.webp) +![傳統開發使用輸入和算法生成輸出。機器學習使用輸入和輸出數據來訓練模型,該模型可以使用新輸入數據生成新輸出](../../../../../translated_images/zh-MO/traditional-vs-ml.5c20c169621fa539.webp) 機器學習則反其道而行之——您從數據和已知輸出開始,機器學習算法從數據中學習。然後,您可以使用這個經過訓練的算法(稱為 *機器學習模型* 或 *模型*),輸入新數據並獲得新輸出。 @@ -71,7 +71,7 @@ CO_OP_TRANSLATOR_METADATA: > 🎓 ML 模型的結果稱為 *預測* -![兩根香蕉,一根成熟的預測為 99.7% 成熟,0.3% 未成熟;另一根未成熟的預測為 1.4% 成熟,98.6% 未成熟](../../../../../translated_images/mo/bananas-ripe-vs-unripe-predictions.8d0e2034014aa50ece4e4589e724b142da0681f35470fe3db3f7d51240f69c85.png) +![兩根香蕉,一根成熟的預測為 99.7% 成熟,0.3% 未成熟;另一根未成熟的預測為 1.4% 成熟,98.6% 未成熟](../../../../../translated_images/zh-MO/bananas-ripe-vs-unripe-predictions.8d0e2034014aa50ece4e4589e724b142da0681f35470fe3db3f7d51240f69c85.png) ML 模型不會給出二元答案,而是提供概率。例如,模型可能會給出一張香蕉圖片,預測 `成熟` 的概率為 99.7%,`未成熟` 的概率為 0.3%。您的代碼會選擇最可能的預測,並判斷該香蕉是成熟的。 @@ -87,7 +87,7 @@ ML 模型不會給出二元答案,而是提供概率。例如,模型可能 一旦圖像分類器已經針對各種圖像進行了訓練,它的內部結構就非常擅長識別形狀、顏色和模式。遷移學習允許模型利用它已經學會的圖像部分識別能力,來識別新圖像。 -![一旦您能識別形狀,這些形狀可以組合成不同的配置,例如船或貓](../../../../../translated_images/mo/shapes-to-images.1a309f0ea88dd66f.webp) +![一旦您能識別形狀,這些形狀可以組合成不同的配置,例如船或貓](../../../../../translated_images/zh-MO/shapes-to-images.1a309f0ea88dd66f.webp) 您可以將其想像成兒童的形狀書籍,一旦您能識別半圓形、矩形和三角形,您就能根據這些形狀的配置識別出帆船或貓。圖像分類器可以識別形狀,而遷移學習則教會它什麼樣的組合構成帆船或貓——或者成熟的香蕉。 @@ -99,7 +99,7 @@ ML 模型不會給出二元答案,而是提供概率。例如,模型可能 Custom Vision 是一種基於雲的工具,用於訓練圖像分類器。它允許您僅使用少量圖片來訓練分類器。您可以通過 Web 入口、Web API 或 SDK 上傳圖片,並為每張圖片添加 *標籤*,以標識該圖片的分類。然後,您可以訓練模型並測試其性能。一旦對模型感到滿意,您可以發布模型的版本,通過 Web API 或 SDK 訪問它。 -![Azure Custom Vision 標誌](../../../../../translated_images/mo/custom-vision-logo.d3d4e7c8a87ec9daf825e72e210576c3cbf60312577be7a139e22dd97ab7f1e6.png) +![Azure Custom Vision 標誌](../../../../../translated_images/zh-MO/custom-vision-logo.d3d4e7c8a87ec9daf825e72e210576c3cbf60312577be7a139e22dd97ab7f1e6.png) > 💁 您可以使用每個分類僅 5 張圖片來訓練 Custom Vision 模型,但圖片越多效果越好。至少 30 張圖片可以獲得更好的結果。 @@ -155,7 +155,7 @@ Custom Vision 是 Microsoft 提供的一系列 AI 工具(稱為 Cognitive Serv 創建項目時,請確保使用您之前創建的 `fruit-quality-detector-training` 資源。選擇 *分類* 項目類型、*多分類* 分類類型,並選擇 *食品* 領域。 - ![Custom Vision 項目的設置,名稱設置為 fruit-quality-detector,無描述,資源設置為 fruit-quality-detector-training,項目類型設置為分類,分類類型設置為多分類,領域設置為食品](../../../../../translated_images/mo/custom-vision-create-project.cf46325b92d8b131089f6647cf5e07b664cb77850e106d66e3c057b6b69756c6.png) + ![Custom Vision 項目的設置,名稱設置為 fruit-quality-detector,無描述,資源設置為 fruit-quality-detector-training,項目類型設置為分類,分類類型設置為多分類,領域設置為食品](../../../../../translated_images/zh-MO/custom-vision-create-project.cf46325b92d8b131089f6647cf5e07b664cb77850e106d66e3c057b6b69756c6.png) ✅ 花些時間探索您的圖像分類器的 Custom Vision UI。 @@ -173,7 +173,7 @@ Custom Vision 是 Microsoft 提供的一系列 AI 工具(稱為 Cognitive Serv * 使用2根成熟的香蕉,從不同角度拍攝每根香蕉的幾張照片,至少拍攝7張(5張用於訓練,2張用於測試),但最好更多。 - ![2根不同香蕉的照片](../../../../../translated_images/mo/banana-training-images.530eb203346d73bc23b8b990fb4609470bf4ff7c942ccc13d4cfffeed9be1ad4.png) + ![2根不同香蕉的照片](../../../../../translated_images/zh-MO/banana-training-images.530eb203346d73bc23b8b990fb4609470bf4ff7c942ccc13d4cfffeed9be1ad4.png) * 使用2根未成熟的香蕉重複相同的過程。 @@ -183,7 +183,7 @@ Custom Vision 是 Microsoft 提供的一系列 AI 工具(稱為 Cognitive Serv 1. 按照[Microsoft Docs上的分類器快速入門中上傳和標記影像的部分](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/getting-started-build-a-classifier?WT.mc_id=academic-17441-jabenn#upload-and-tag-images)上傳您的訓練影像。將成熟的水果標記為`ripe`,未成熟的水果標記為`unripe`。 - ![上傳成熟和未成熟香蕉照片的對話框](../../../../../translated_images/mo/image-upload-bananas.0751639f3815e0ec42bdbc6254d1e4357a185834d1ae10c9948a0e7d6d336695.png) + ![上傳成熟和未成熟香蕉照片的對話框](../../../../../translated_images/zh-MO/image-upload-bananas.0751639f3815e0ec42bdbc6254d1e4357a185834d1ae10c9948a0e7d6d336695.png) 1. 按照[Microsoft Docs上的分類器快速入門中訓練分類器的部分](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/getting-started-build-a-classifier?WT.mc_id=academic-17441-jabenn#train-the-classifier)訓練影像分類器。 @@ -201,7 +201,7 @@ Custom Vision 是 Microsoft 提供的一系列 AI 工具(稱為 Cognitive Serv 1. 按照[Microsoft Docs上的測試模型文檔](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/test-your-model?WT.mc_id=academic-17441-jabenn#test-your-model)測試您的影像分類器。使用您之前創建的測試影像,而不是任何用於訓練的影像。 - ![一根未成熟香蕉被預測為未成熟,概率為98.9%,成熟概率為1.1%](../../../../../translated_images/mo/banana-unripe-quick-test-prediction.dae9b5e1c4ef7c64886422438850ea14f0be6ac918c217ea3b255c685abfabe7.png) + ![一根未成熟香蕉被預測為未成熟,概率為98.9%,成熟概率為1.1%](../../../../../translated_images/zh-MO/banana-unripe-quick-test-prediction.dae9b5e1c4ef7c64886422438850ea14f0be6ac918c217ea3b255c685abfabe7.png) 1. 嘗試使用您所有的測試影像並觀察概率。 diff --git a/translations/mo/4-manufacturing/lessons/2-check-fruit-from-device/README.md b/translations/mo/4-manufacturing/lessons/2-check-fruit-from-device/README.md index ced73f1fc..a6e25cb44 100644 --- a/translations/mo/4-manufacturing/lessons/2-check-fruit-from-device/README.md +++ b/translations/mo/4-manufacturing/lessons/2-check-fruit-from-device/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 從物聯網設備檢查水果品質 -![本課程的手繪筆記概述](../../../../../translated_images/mo/lesson-16.215daf18b00631fbdfd64c6fc2dc6044dff5d544288825d8076f9fb83d964c23.jpg) +![本課程的手繪筆記概述](../../../../../translated_images/zh-MO/lesson-16.215daf18b00631fbdfd64c6fc2dc6044dff5d544288825d8076f9fb83d964c23.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -35,7 +35,7 @@ CO_OP_TRANSLATOR_METADATA: 相機感測器,顧名思義,是可以連接到物聯網設備的相機。它們可以拍攝靜態影像或捕捉串流視頻。有些會返回原始影像數據,其他則會將影像數據壓縮成如 JPEG 或 PNG 的影像文件。通常,與物聯網設備配合使用的相機比你習慣的相機要小得多,解析度也較低,但你也可以獲得解析度高的相機,媲美高端手機。你可以選擇各種可互換鏡頭、多相機設置、紅外熱成像相機或紫外線相機。 -![場景中的光線通過鏡頭並聚焦在 CMOS 感測器上](../../../../../translated_images/mo/cmos-sensor.75f9cd74decb137149a4c9ea825251a4549497d67c0ae2776159e6102bb53aa9.png) +![場景中的光線通過鏡頭並聚焦在 CMOS 感測器上](../../../../../translated_images/zh-MO/cmos-sensor.75f9cd74decb137149a4c9ea825251a4549497d67c0ae2776159e6102bb53aa9.png) 大多數相機感測器使用影像感測器,其中每個像素都是一個光電二極管。鏡頭將影像聚焦到影像感測器上,數千或數百萬個光電二極管檢測落在每個二極管上的光線,並將其記錄為像素數據。 @@ -83,7 +83,7 @@ CO_OP_TRANSLATOR_METADATA: 1. 為該迭代選擇 **Publish** 按鈕。 - ![發布按鈕](../../../../../translated_images/mo/custom-vision-publish-button.b7174e1977b0c33b8b72d4e5b1326c779e0af196f3849d09985ee2d7d5493a39.png) + ![發布按鈕](../../../../../translated_images/zh-MO/custom-vision-publish-button.b7174e1977b0c33b8b72d4e5b1326c779e0af196f3849d09985ee2d7d5493a39.png) 1. 在 *Publish Model* 對話框中,將 *Prediction resource* 設置為你在上一課中創建的 `fruit-quality-detector-prediction` 資源。名稱保持為 `Iteration2`,然後選擇 **Publish** 按鈕。 @@ -97,7 +97,7 @@ CO_OP_TRANSLATOR_METADATA: 同時複製 *Prediction-Key* 值。這是一個安全密鑰,當你調用模型時必須傳遞。只有傳遞此密鑰的應用可以使用模型,其他應用將被拒絕。 - ![預測 API 對話框顯示 URL 和密鑰](../../../../../translated_images/mo/custom-vision-prediction-key-endpoint.30c569ffd0338864f319911f052d5e9b8c5066cb0800a26dd6f7ff5713130ad8.png) + ![預測 API 對話框顯示 URL 和密鑰](../../../../../translated_images/zh-MO/custom-vision-prediction-key-endpoint.30c569ffd0338864f319911f052d5e9b8c5066cb0800a26dd6f7ff5713130ad8.png) ✅ 當新迭代發布時,它會有不同的名稱。你認為如何更改物聯網設備使用的迭代? @@ -118,7 +118,7 @@ CO_OP_TRANSLATOR_METADATA: 要獲得影像分類器的最佳結果,你需要使用與預測影像盡可能相似的影像來訓練模型。例如,如果你使用手機相機捕捉影像進行訓練,影像的質量、清晰度和顏色會與連接到物聯網設備的相機不同。 -![兩張香蕉圖片,一張是物聯網設備拍攝的低解析度影像,光線較差;另一張是手機拍攝的高解析度影像,光線良好](../../../../../translated_images/mo/banana-picture-compare.174df164dc326a42cf7fb051a7497e6113c620e91552d92ca914220305d47d9a.png) +![兩張香蕉圖片,一張是物聯網設備拍攝的低解析度影像,光線較差;另一張是手機拍攝的高解析度影像,光線良好](../../../../../translated_images/zh-MO/banana-picture-compare.174df164dc326a42cf7fb051a7497e6113c620e91552d92ca914220305d47d9a.png) 在上圖中,左邊的香蕉圖片是使用 Raspberry Pi 相機拍攝的,右邊的圖片是使用 iPhone 在相同位置拍攝的同一香蕉。可以明顯看到質量差異——iPhone 的圖片更清晰,顏色更亮,對比度更高。 diff --git a/translations/mo/4-manufacturing/lessons/2-check-fruit-from-device/pi-camera.md b/translations/mo/4-manufacturing/lessons/2-check-fruit-from-device/pi-camera.md index 5a044ecd1..917b297f4 100644 --- a/translations/mo/4-manufacturing/lessons/2-check-fruit-from-device/pi-camera.md +++ b/translations/mo/4-manufacturing/lessons/2-check-fruit-from-device/pi-camera.md @@ -25,7 +25,7 @@ Raspberry Pi 需要一個相機。 ### 任務 - 連接相機 -![Raspberry Pi 相機](../../../../../translated_images/mo/pi-camera-module.4278753c31bd6e757aa2b858be97d72049f71616278cefe4fb5abb485b40a078.png) +![Raspberry Pi 相機](../../../../../translated_images/zh-MO/pi-camera-module.4278753c31bd6e757aa2b858be97d72049f71616278cefe4fb5abb485b40a078.png) 1. 關閉 Raspberry Pi 的電源。 @@ -33,17 +33,17 @@ Raspberry Pi 需要一個相機。 您可以在 [Raspberry Pi 相機模組入門文檔](https://projects.raspberrypi.org/en/projects/getting-started-with-picamera/2) 中找到一個動畫,展示如何打開夾子並插入排線。 - ![扁平排線插入相機模組](../../../../../translated_images/mo/pi-camera-ribbon-cable.0bf82acd251611c21ac616f082849413e2b322a261d0e4f8fec344248083b07e.png) + ![扁平排線插入相機模組](../../../../../translated_images/zh-MO/pi-camera-ribbon-cable.0bf82acd251611c21ac616f082849413e2b322a261d0e4f8fec344248083b07e.png) 1. 從 Raspberry Pi 上取下 Grove Base Hat。 1. 將扁平排線穿過 Grove Base Hat 上的相機槽。確保排線的藍色面朝向標有 **A0**、**A1** 等的類比端口。 - ![扁平排線穿過 Grove Base Hat](../../../../../translated_images/mo/grove-base-hat-ribbon-cable.501fed202fcf73b11b2b68f6d246189f7d15d3e4423c572ddee79d77b4632b47.png) + ![扁平排線穿過 Grove Base Hat](../../../../../translated_images/zh-MO/grove-base-hat-ribbon-cable.501fed202fcf73b11b2b68f6d246189f7d15d3e4423c572ddee79d77b4632b47.png) 1. 將扁平排線插入 Raspberry Pi 上的相機端口。同樣,拉起黑色塑料夾,插入排線,然後將夾子推回原位。排線的藍色面應朝向 USB 和以太網端口。 - ![扁平排線連接到 Raspberry Pi 的相機插座](../../../../../translated_images/mo/pi-camera-socket-ribbon-cable.a18309920b11800911082ed7aa6fb28e6d9be3a022e4079ff990016cae3fca10.png) + ![扁平排線連接到 Raspberry Pi 的相機插座](../../../../../translated_images/zh-MO/pi-camera-socket-ribbon-cable.a18309920b11800911082ed7aa6fb28e6d9be3a022e4079ff990016cae3fca10.png) 1. 重新安裝 Grove Base Hat。 @@ -110,7 +110,7 @@ Raspberry Pi 需要一個相機。 `camera.rotation = 0` 行設置影像的旋轉角度。扁平排線從相機底部進入,但如果您的相機為了更方便地對準要分類的物品而旋轉了,則可以將此行更改為相應的旋轉角度。 - ![相機懸掛在飲料罐上方](../../../../../translated_images/mo/pi-camera-upside-down.5376961ba31459883362124152ad6b823d5ac5fc14e85f317e22903bd681c2b6.png) + ![相機懸掛在飲料罐上方](../../../../../translated_images/zh-MO/pi-camera-upside-down.5376961ba31459883362124152ad6b823d5ac5fc14e85f317e22903bd681c2b6.png) 例如,如果您將扁平排線懸掛在相機上方,則將旋轉角度設置為 180: diff --git a/translations/mo/4-manufacturing/lessons/2-check-fruit-from-device/single-board-computer-classify-image.md b/translations/mo/4-manufacturing/lessons/2-check-fruit-from-device/single-board-computer-classify-image.md index 401bb6bff..f9bcabb54 100644 --- a/translations/mo/4-manufacturing/lessons/2-check-fruit-from-device/single-board-computer-classify-image.md +++ b/translations/mo/4-manufacturing/lessons/2-check-fruit-from-device/single-board-computer-classify-image.md @@ -93,7 +93,7 @@ Custom Vision 服務提供了一個 Python SDK,可用於分類圖片。 你將能看到拍攝的圖片,以及這些值在 Custom Vision 的 **Predictions** 標籤中顯示。 - ![一根香蕉在 Custom Vision 中被預測為成熟的概率為 56.8%,未成熟的概率為 43.1%](../../../../../translated_images/mo/custom-vision-banana-prediction.30cdff4e1d72db5d9a0be0193790a47c2b387da034e12dc1314dd57ca2131b59.png) + ![一根香蕉在 Custom Vision 中被預測為成熟的概率為 56.8%,未成熟的概率為 43.1%](../../../../../translated_images/zh-MO/custom-vision-banana-prediction.30cdff4e1d72db5d9a0be0193790a47c2b387da034e12dc1314dd57ca2131b59.png) > 💁 你可以在 [code-classify/pi](../../../../../4-manufacturing/lessons/2-check-fruit-from-device/code-classify/pi) 或 [code-classify/virtual-iot-device](../../../../../4-manufacturing/lessons/2-check-fruit-from-device/code-classify/virtual-iot-device) 資料夾中找到這段程式碼。 diff --git a/translations/mo/4-manufacturing/lessons/2-check-fruit-from-device/virtual-device-camera.md b/translations/mo/4-manufacturing/lessons/2-check-fruit-from-device/virtual-device-camera.md index 2a320d771..fe709d31c 100644 --- a/translations/mo/4-manufacturing/lessons/2-check-fruit-from-device/virtual-device-camera.md +++ b/translations/mo/4-manufacturing/lessons/2-check-fruit-from-device/virtual-device-camera.md @@ -43,11 +43,11 @@ CO_OP_TRANSLATOR_METADATA: 1. 選擇 **Add** 按鈕以創建相機。 - ![相機設置](../../../../../translated_images/mo/counterfit-create-camera.a5de97f59c0bd3cbe0416d7e89a3cfe86d19fbae05c641c53a91286412af0a34.png) + ![相機設置](../../../../../translated_images/zh-MO/counterfit-create-camera.a5de97f59c0bd3cbe0416d7e89a3cfe86d19fbae05c641c53a91286412af0a34.png) 相機將被創建並顯示在感測器列表中。 - ![創建的相機](../../../../../translated_images/mo/counterfit-camera.001ec52194c8ee5d3f617173da2c79e1df903d10882adc625cbfc493525125d4.png) + ![創建的相機](../../../../../translated_images/zh-MO/counterfit-camera.001ec52194c8ee5d3f617173da2c79e1df903d10882adc625cbfc493525125d4.png) ## 編程相機 @@ -112,7 +112,7 @@ CO_OP_TRANSLATOR_METADATA: 1. 配置 CounterFit 中相機將捕捉的影像。您可以將 *Source* 設置為 *File*,然後上傳影像文件,或者將 *Source* 設置為 *WebCam*,影像將從您的網路攝影機捕捉。選擇影像或網路攝影機後,請確保選擇 **Set** 按鈕。 - ![CounterFit 中設置檔案為影像來源,以及網路攝影機顯示一個人手持香蕉的預覽](../../../../../translated_images/mo/counterfit-camera-options.eb3bd5150a8e7dffbf24bc5bcaba0cf2cdef95fbe6bbe393695d173817d6b8df.png) + ![CounterFit 中設置檔案為影像來源,以及網路攝影機顯示一個人手持香蕉的預覽](../../../../../translated_images/zh-MO/counterfit-camera-options.eb3bd5150a8e7dffbf24bc5bcaba0cf2cdef95fbe6bbe393695d173817d6b8df.png) 1. 影像將被捕捉並保存為 `image.jpg`,位於當前資料夾中。您將在 VS Code 的檔案瀏覽器中看到此文件。選擇該文件以查看影像。如果需要旋轉,請根據需要更新 `camera.rotation = 0` 行並重新拍攝影像。 diff --git a/translations/mo/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-camera.md b/translations/mo/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-camera.md index f9baae5d5..9d94802cb 100644 --- a/translations/mo/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-camera.md +++ b/translations/mo/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-camera.md @@ -25,11 +25,11 @@ ArduCam 沒有 Grove 插槽,而是通過 Wio Terminal 上的 GPIO 引腳連接 連接相機。 -![ArduCam 感測器](../../../../../translated_images/mo/arducam.20e4e4cbb268296570b5914e20d6c349fc42ddac9ed4e1b9deba2188204eebae.png) +![ArduCam 感測器](../../../../../translated_images/zh-MO/arducam.20e4e4cbb268296570b5914e20d6c349fc42ddac9ed4e1b9deba2188204eebae.png) 1. ArduCam 底部的引腳需要連接到 Wio Terminal 的 GPIO 引腳。為了更容易找到正確的引腳,將隨 Wio Terminal 附帶的 GPIO 引腳貼紙貼在引腳周圍: - ![帶有 GPIO 引腳貼紙的 Wio Terminal](../../../../../translated_images/mo/wio-terminal-pin-sticker.b90b1535937b84bd.webp) + ![帶有 GPIO 引腳貼紙的 Wio Terminal](../../../../../translated_images/zh-MO/wio-terminal-pin-sticker.b90b1535937b84bd.webp) 1. 使用跳線,進行以下連接: @@ -44,7 +44,7 @@ ArduCam 沒有 Grove 插槽,而是通過 Wio Terminal 上的 GPIO 引腳連接 | SDA | 3 (I2C1_SDA) | I2C 串行數據 | | SCL | 5 (I2C1_SCL) | I2C 串行時鐘 | - ![用跳線連接 ArduCam 和 Wio Terminal](../../../../../translated_images/mo/arducam-wio-terminal-connections.a4d5a4049bdb5ab800a2877389fc6ecf5e4ff307e6451ff56c517e6786467d0a.png) + ![用跳線連接 ArduCam 和 Wio Terminal](../../../../../translated_images/zh-MO/arducam-wio-terminal-connections.a4d5a4049bdb5ab800a2877389fc6ecf5e4ff307e6451ff56c517e6786467d0a.png) GND 和 VCC 連接為 ArduCam 提供 5V 電源。它以 5V 運行,不同於以 3V 運行的 Grove 感測器。這個電源直接來自為設備供電的 USB-C 連接。 @@ -297,7 +297,7 @@ ArduCam 沒有 Grove 插槽,而是通過 Wio Terminal 上的 GPIO 引腳連接 1. 微控制器會不斷運行你的代碼,因此如果不響應感測器,觸發拍照並不容易。Wio Terminal 有按鈕,因此可以設置相機由其中一個按鈕觸發。在 `setup` 函數的末尾添加以下代碼,以配置 C 按鈕(頂部的三個按鈕之一,最靠近電源開關的那個)。 - ![最靠近電源開關的 C 按鈕](../../../../../translated_images/mo/wio-terminal-c-button.73df3cb1c1445ea0.webp) + ![最靠近電源開關的 C 按鈕](../../../../../translated_images/zh-MO/wio-terminal-c-button.73df3cb1c1445ea0.webp) ```cpp pinMode(WIO_KEY_C, INPUT_PULLUP); @@ -465,7 +465,7 @@ Wio Terminal 僅支持最大 16GB 的 microSD 卡。如果你有更大的 SD 卡 1. 關閉 microSD 卡電源,稍微推入並釋放以彈出,然後取出。你可能需要使用細小工具完成此操作。將 microSD 卡插入電腦以查看影像。 - ![使用 ArduCam 捕捉的香蕉照片](../../../../../translated_images/mo/banana-arducam.be1b32d4267a8194b0fd042362e56faa431da9cd4af172051b37243ea9be0256.jpg) + ![使用 ArduCam 捕捉的香蕉照片](../../../../../translated_images/zh-MO/banana-arducam.be1b32d4267a8194b0fd042362e56faa431da9cd4af172051b37243ea9be0256.jpg) 💁 相機的白平衡可能需要幾張圖片來進行自我調整。您會根據拍攝的圖片顏色注意到這一點,前幾張可能顏色看起來不太正確。您可以通過修改程式碼,在 `setup` 函數中拍攝幾張被忽略的圖片來解決這個問題。 diff --git a/translations/mo/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-classify-image.md b/translations/mo/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-classify-image.md index ad5946e84..9de14ca12 100644 --- a/translations/mo/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-classify-image.md +++ b/translations/mo/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-classify-image.md @@ -217,7 +217,7 @@ Custom Vision 服務提供了一個 REST API,您可以從 Wio Terminal 呼叫 您將能夠看到拍攝的影像,並在 Custom Vision 的 **Predictions** 標籤中看到這些值。 - ![Custom Vision 中的香蕉預測結果:成熟 56.8%,未成熟 43.1%](../../../../../translated_images/mo/custom-vision-banana-prediction.30cdff4e1d72db5d9a0be0193790a47c2b387da034e12dc1314dd57ca2131b59.png) + ![Custom Vision 中的香蕉預測結果:成熟 56.8%,未成熟 43.1%](../../../../../translated_images/zh-MO/custom-vision-banana-prediction.30cdff4e1d72db5d9a0be0193790a47c2b387da034e12dc1314dd57ca2131b59.png) > 💁 您可以在 [code-classify/wio-terminal](../../../../../4-manufacturing/lessons/2-check-fruit-from-device/code-classify/wio-terminal) 資料夾中找到這段程式碼。 diff --git a/translations/mo/4-manufacturing/lessons/3-run-fruit-detector-edge/README.md b/translations/mo/4-manufacturing/lessons/3-run-fruit-detector-edge/README.md index 0e3c3a4af..5f4089b8c 100644 --- a/translations/mo/4-manufacturing/lessons/3-run-fruit-detector-edge/README.md +++ b/translations/mo/4-manufacturing/lessons/3-run-fruit-detector-edge/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 在邊緣設備上運行水果檢測器 -![本課程概述的手繪筆記](../../../../../translated_images/mo/lesson-17.bc333c3c35ba8e42cce666cfffa82b915f787f455bd94e006aea2b6f2722421a.jpg) +![本課程概述的手繪筆記](../../../../../translated_images/zh-MO/lesson-17.bc333c3c35ba8e42cce666cfffa82b915f787f455bd94e006aea2b6f2722421a.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -42,11 +42,11 @@ CO_OP_TRANSLATOR_METADATA: 邊緣計算是指將處理物聯網數據的計算機儘可能靠近數據生成的地方。與其在雲端進行處理,邊緣計算將處理移至雲端的邊緣——你的內部網路。 -![一個架構圖顯示雲端的網路服務和本地網路上的物聯網設備](../../../../../translated_images/mo/cloud-without-edge.b4da641f6022c95ed6b91fde8b5323abd2f94e0d52073ad54172ae8f5dac90e9.png) +![一個架構圖顯示雲端的網路服務和本地網路上的物聯網設備](../../../../../translated_images/zh-MO/cloud-without-edge.b4da641f6022c95ed6b91fde8b5323abd2f94e0d52073ad54172ae8f5dac90e9.png) 到目前為止的課程中,你的設備一直在收集數據並將數據發送到雲端進行分析,運行無伺服器函數或AI模型。 -![一個架構圖顯示本地網路上的物聯網設備連接到邊緣設備,邊緣設備再連接到雲端](../../../../../translated_images/mo/cloud-with-edge.1e26462c62c126fe150bd15a5714ddf0be599f09bacbad08b85be02b76ea1ae1.png) +![一個架構圖顯示本地網路上的物聯網設備連接到邊緣設備,邊緣設備再連接到雲端](../../../../../translated_images/zh-MO/cloud-with-edge.1e26462c62c126fe150bd15a5714ddf0be599f09bacbad08b85be02b76ea1ae1.png) 邊緣計算將部分雲端服務移至與物聯網設備相同網路上的計算機,僅在需要時與雲端通信。例如,你可以在邊緣設備上運行AI模型來分析水果的成熟度,並僅將分析結果(如成熟水果與未成熟水果的數量)發送回雲端。 @@ -94,7 +94,7 @@ CO_OP_TRANSLATOR_METADATA: ## Azure IoT Edge -![Azure IoT Edge標誌](../../../../../translated_images/mo/azure-iot-edge-logo.c1c076749b5cba2e8755262fadc2f19ca1146b948d76990b1229199ac2292d79.png) +![Azure IoT Edge標誌](../../../../../translated_images/zh-MO/azure-iot-edge-logo.c1c076749b5cba2e8755262fadc2f19ca1146b948d76990b1229199ac2292d79.png) Azure IoT Edge 是一項服務,可以幫助你將工作負載從雲端移至邊緣。你可以將設備設置為邊緣設備,並從雲端部署代碼到該邊緣設備。這使得你可以結合雲端和邊緣的能力。 @@ -108,7 +108,7 @@ IoT Edge內建於IoT Hub中,因此你可以使用管理物聯網設備的同 IoT Edge從 *容器* 中運行代碼——容器是獨立的應用程序,與計算機上的其他應用程序隔離運行。當你運行容器時,它就像在你的計算機內部運行的獨立計算機,擁有自己的軟件、服務和應用程序。大多數情況下,容器無法訪問計算機上的任何內容,除非你選擇與容器共享某些內容,例如文件夾。容器通過開放的端口暴露服務,你可以連接到該端口或將其暴露到網路。 -![一個網頁請求被重定向到容器](../../../../../translated_images/mo/container-web-browser.4ee81dd4f0d8838ce622b2a0d600b6a4322b5d4fe43159facd87b7b34f84d66a.png) +![一個網頁請求被重定向到容器](../../../../../translated_images/zh-MO/container-web-browser.4ee81dd4f0d8838ce622b2a0d600b6a4322b5d4fe43159facd87b7b34f84d66a.png) 例如,你可以有一個容器在端口80上運行網站,這是默認的HTTP端口,然後你可以將其暴露在你的計算機上,也是在端口80。 @@ -204,11 +204,11 @@ IoT Edge從 *容器* 中運行代碼——容器是獨立的應用程序,與 ## 為部署準備容器 -![容器被建置後推送到容器註冊表,然後通過 IoT Edge 從容器註冊表部署到邊緣設備](../../../../../translated_images/mo/container-edge-flow.c246050dd60ceefdb6ace026a4ce5c6aa4112bb5898ae23fbb2ab4be29ae3e1b.png) +![容器被建置後推送到容器註冊表,然後通過 IoT Edge 從容器註冊表部署到邊緣設備](../../../../../translated_images/zh-MO/container-edge-flow.c246050dd60ceefdb6ace026a4ce5c6aa4112bb5898ae23fbb2ab4be29ae3e1b.png) 下載模型後,需要將其建置為容器,然後推送到容器註冊表——一個用於儲存容器的線上位置。IoT Edge 可以從註冊表下載容器並推送到你的設備。 -![Azure 容器註冊表標誌](../../../../../translated_images/mo/azure-container-registry-logo.09494206991d4b295025ebff7d4e2900325e527a59184ffbc8464b6ab59654be.png) +![Azure 容器註冊表標誌](../../../../../translated_images/zh-MO/azure-container-registry-logo.09494206991d4b295025ebff7d4e2900325e527a59184ffbc8464b6ab59654be.png) 本課程中使用的容器註冊表是 Azure Container Registry。這不是免費服務,因此為了節省費用,請確保在完成後[清理你的專案](../../../clean-up.md)。 diff --git a/translations/mo/4-manufacturing/lessons/4-trigger-fruit-detector/README.md b/translations/mo/4-manufacturing/lessons/4-trigger-fruit-detector/README.md index 50e22d6eb..850be2f56 100644 --- a/translations/mo/4-manufacturing/lessons/4-trigger-fruit-detector/README.md +++ b/translations/mo/4-manufacturing/lessons/4-trigger-fruit-detector/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 從感測器觸發水果品質檢測 -![本課程的手繪筆記概述](../../../../../translated_images/mo/lesson-18.92c32ed1d354caa5a54baa4032cf0b172d4655e8e326ad5d46c558a0def15365.jpg) +![本課程的手繪筆記概述](../../../../../translated_images/zh-MO/lesson-18.92c32ed1d354caa5a54baa4032cf0b172d4655e8e326ad5d46c558a0def15365.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -48,7 +48,7 @@ CO_OP_TRANSLATOR_METADATA: ### 物聯網架構參考 -![物聯網架構參考](../../../../../translated_images/mo/iot-reference-architecture.2278b98b55c6d4e89bde18eada3688d893861d43507641804dd2f9d3079cfaa0.png) +![物聯網架構參考](../../../../../translated_images/zh-MO/iot-reference-architecture.2278b98b55c6d4e89bde18eada3688d893861d43507641804dd2f9d3079cfaa0.png) 上圖展示了一個物聯網架構參考。 @@ -58,7 +58,7 @@ CO_OP_TRANSLATOR_METADATA: * **洞察**來自無伺服器應用或存儲數據的分析。 * **行動**可以是發送給設備的指令,或是可視化數據以幫助人類做出決策。 -![Azure 物聯網架構參考](../../../../../translated_images/mo/iot-reference-architecture-azure.0b8d2161af924cb18ae48a8558a19541cca47f27264851b5b7e56d7b8bb372ac.png) +![Azure 物聯網架構參考](../../../../../translated_images/zh-MO/iot-reference-architecture-azure.0b8d2161af924cb18ae48a8558a19541cca47f27264851b5b7e56d7b8bb372ac.png) 上圖展示了本課程中涵蓋的一些元件和服務,以及它們如何在物聯網架構參考中相互連結。 @@ -98,7 +98,7 @@ CO_OP_TRANSLATOR_METADATA: ### 應用原型設計 -![水果品質檢測的物聯網架構參考](../../../../../translated_images/mo/iot-reference-architecture-fruit-quality.cc705f121c3b6fa71c800d9630935ac34bc08223a04601e35f41d5e9b5dd5207.png) +![水果品質檢測的物聯網架構參考](../../../../../translated_images/zh-MO/iot-reference-architecture-fruit-quality.cc705f121c3b6fa71c800d9630935ac34bc08223a04601e35f41d5e9b5dd5207.png) 上圖展示了此原型應用的架構參考。 @@ -115,7 +115,7 @@ CO_OP_TRANSLATOR_METADATA: 物聯網設備需要某種觸發器來指示水果準備進行分類。一種觸發器是通過測量到感測器的距離來判斷水果是否在輸送帶上的正確位置。 -![接近感測器發送雷射光束到物體(如香蕉),並計算光束反射回來的時間](../../../../../translated_images/mo/proximity-sensor.f5cd752c77fb62fe.webp) +![接近感測器發送雷射光束到物體(如香蕉),並計算光束反射回來的時間](../../../../../translated_images/zh-MO/proximity-sensor.f5cd752c77fb62fe.webp) 接近感測器可用於測量感測器與物體之間的距離。它們通常發射電磁輻射光束,例如雷射光束或紅外線光,然後檢測反射回來的輻射。從光束發射到信號反射回來的時間可用於計算到感測器的距離。 @@ -133,7 +133,7 @@ CO_OP_TRANSLATOR_METADATA: 原型水果檢測器有多個元件相互通信。 -![元件之間的通信](../../../../../translated_images/mo/fruit-quality-detector-message-flow.adf2a65da8fd8741ac7af11361574de89adc126785d67606bb4d2ec00467e380.png) +![元件之間的通信](../../../../../translated_images/zh-MO/fruit-quality-detector-message-flow.adf2a65da8fd8741ac7af11361574de89adc126785d67606bb4d2ec00467e380.png) * 接近感測器測量到水果的距離並將其發送到 IoT Hub * 控制相機的指令從 IoT Hub 發送到相機設備 diff --git a/translations/mo/4-manufacturing/lessons/4-trigger-fruit-detector/pi-proximity.md b/translations/mo/4-manufacturing/lessons/4-trigger-fruit-detector/pi-proximity.md index a904a8b53..017362848 100644 --- a/translations/mo/4-manufacturing/lessons/4-trigger-fruit-detector/pi-proximity.md +++ b/translations/mo/4-manufacturing/lessons/4-trigger-fruit-detector/pi-proximity.md @@ -29,13 +29,13 @@ Grove 飛行時間感測器可以連接到 Raspberry Pi。 連接飛行時間感測器。 -![Grove 飛行時間感測器](../../../../../translated_images/mo/grove-time-of-flight-sensor.d82ff2165bfded9f485de54d8d07195a6270a602696825fca19f629ddfe94e86.png) +![Grove 飛行時間感測器](../../../../../translated_images/zh-MO/grove-time-of-flight-sensor.d82ff2165bfded9f485de54d8d07195a6270a602696825fca19f629ddfe94e86.png) 1. 將 Grove 電纜的一端插入飛行時間感測器上的插座。它只能以一種方式插入。 1. 在 Raspberry Pi 關閉電源的情況下,將 Grove 電纜的另一端連接到 Grove Base hat 上標有 **I²C** 的插座之一。這些插座位於底部排,靠近相機電纜插槽,與 GPIO 引腳的相反端。 -![Grove 飛行時間感測器連接到 I²C 插座](../../../../../translated_images/mo/pi-time-of-flight-sensor.58c8dc04eb3bfb57.webp) +![Grove 飛行時間感測器連接到 I²C 插座](../../../../../translated_images/zh-MO/pi-time-of-flight-sensor.58c8dc04eb3bfb57.webp) ## 程式設計飛行時間感測器 @@ -106,7 +106,7 @@ Grove 飛行時間感測器可以連接到 Raspberry Pi。 測距儀位於感測器的背面,因此在測量距離時請確保使用正確的一側。 - ![飛行時間感測器背面的測距儀指向一根香蕉](../../../../../translated_images/mo/time-of-flight-banana.079921ad8b1496e4.webp) + ![飛行時間感測器背面的測距儀指向一根香蕉](../../../../../translated_images/zh-MO/time-of-flight-banana.079921ad8b1496e4.webp) > 💁 您可以在 [code-proximity/pi](../../../../../4-manufacturing/lessons/4-trigger-fruit-detector/code-proximity/pi) 資料夾中找到此程式碼。 diff --git a/translations/mo/4-manufacturing/lessons/4-trigger-fruit-detector/virtual-device-proximity.md b/translations/mo/4-manufacturing/lessons/4-trigger-fruit-detector/virtual-device-proximity.md index 1121e195b..73830c32e 100644 --- a/translations/mo/4-manufacturing/lessons/4-trigger-fruit-detector/virtual-device-proximity.md +++ b/translations/mo/4-manufacturing/lessons/4-trigger-fruit-detector/virtual-device-proximity.md @@ -45,11 +45,11 @@ CO_OP_TRANSLATOR_METADATA: 1. 選擇 **Add** 按鈕以創建距離感測器。 - ![距離感測器設置](../../../../../translated_images/mo/counterfit-create-distance-sensor.967c9fb98f27888d95920c9784d004c972490eb71f70397fe13bd70a79a879a3.png) + ![距離感測器設置](../../../../../translated_images/zh-MO/counterfit-create-distance-sensor.967c9fb98f27888d95920c9784d004c972490eb71f70397fe13bd70a79a879a3.png) 距離感測器將被創建並顯示在感測器列表中。 - ![已創建的距離感測器](../../../../../translated_images/mo/counterfit-distance-sensor.079eefeeea0b68afc36431ce8fcbe2f09a7e4916ed1cd5cb30e696db53bc18fa.png) + ![已創建的距離感測器](../../../../../translated_images/zh-MO/counterfit-distance-sensor.079eefeeea0b68afc36431ce8fcbe2f09a7e4916ed1cd5cb30e696db53bc18fa.png) ## 程式化距離感測器 diff --git a/translations/mo/4-manufacturing/lessons/4-trigger-fruit-detector/wio-terminal-proximity.md b/translations/mo/4-manufacturing/lessons/4-trigger-fruit-detector/wio-terminal-proximity.md index 6689fdb85..b768b834a 100644 --- a/translations/mo/4-manufacturing/lessons/4-trigger-fruit-detector/wio-terminal-proximity.md +++ b/translations/mo/4-manufacturing/lessons/4-trigger-fruit-detector/wio-terminal-proximity.md @@ -29,13 +29,13 @@ Grove 飛行時間感測器可以連接到 Wio Terminal。 連接飛行時間感測器。 -![Grove 飛行時間感測器](../../../../../translated_images/mo/grove-time-of-flight-sensor.d82ff2165bfded9f485de54d8d07195a6270a602696825fca19f629ddfe94e86.png) +![Grove 飛行時間感測器](../../../../../translated_images/zh-MO/grove-time-of-flight-sensor.d82ff2165bfded9f485de54d8d07195a6270a602696825fca19f629ddfe94e86.png) 1. 將 Grove 電纜的一端插入飛行時間感測器上的插座。它只能以一種方式插入。 1. 在 Wio Terminal 未連接到您的電腦或其他電源的情況下,將 Grove 電纜的另一端連接到 Wio Terminal 左側的 Grove 插座(面向螢幕)。這是靠近電源按鈕的插座,該插座是數位和 I²C 的組合插座。 -![Grove 飛行時間感測器連接到左側插座](../../../../../translated_images/mo/wio-time-of-flight-sensor.c4c182131d2ea73d.webp) +![Grove 飛行時間感測器連接到左側插座](../../../../../translated_images/zh-MO/wio-time-of-flight-sensor.c4c182131d2ea73d.webp) 1. 現在,您可以將 Wio Terminal 連接到您的電腦。 @@ -101,7 +101,7 @@ Grove 飛行時間感測器可以連接到 Wio Terminal。 測距儀位於感測器的背面,因此在測量距離時請確保使用正確的一側。 - ![飛行時間感測器背面的測距儀指向一根香蕉](../../../../../translated_images/mo/time-of-flight-banana.079921ad8b1496e4.webp) + ![飛行時間感測器背面的測距儀指向一根香蕉](../../../../../translated_images/zh-MO/time-of-flight-banana.079921ad8b1496e4.webp) > 💁 您可以在 [code-proximity/wio-terminal](../../../../../4-manufacturing/lessons/4-trigger-fruit-detector/code-proximity/wio-terminal) 資料夾中找到此程式碼。 diff --git a/translations/mo/5-retail/lessons/1-train-stock-detector/README.md b/translations/mo/5-retail/lessons/1-train-stock-detector/README.md index e96fac330..8cd3e4167 100644 --- a/translations/mo/5-retail/lessons/1-train-stock-detector/README.md +++ b/translations/mo/5-retail/lessons/1-train-stock-detector/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 訓練庫存檢測器 -![本課程的手繪筆記概述](../../../../../translated_images/mo/lesson-19.cf6973cecadf080c4b526310620dc4d6f5994c80fb0139c6f378cc9ca2d435cd.jpg) +![本課程的手繪筆記概述](../../../../../translated_images/zh-MO/lesson-19.cf6973cecadf080c4b526310620dc4d6f5994c80fb0139c6f378cc9ca2d435cd.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -45,7 +45,7 @@ CO_OP_TRANSLATOR_METADATA: 影像分類是對整個影像進行分類——判斷整個影像與每個標籤匹配的概率。你會得到模型訓練中使用的每個標籤的概率。 -![腰果和番茄醬的影像分類](../../../../../translated_images/mo/image-classifier-cashews-tomato.bc2e16ab8f05cf9ac0f59f73e32efc4227f9a5b601b90b2c60f436694547a965.png) +![腰果和番茄醬的影像分類](../../../../../translated_images/zh-MO/image-classifier-cashews-tomato.bc2e16ab8f05cf9ac0f59f73e32efc4227f9a5b601b90b2c60f436694547a965.png) 在上面的例子中,兩張影像使用一個訓練來分類腰果罐或番茄醬罐的模型進行分類。第一張影像是一罐腰果,影像分類器的結果如下: @@ -69,7 +69,7 @@ CO_OP_TRANSLATOR_METADATA: > 🎓 *邊界框* 是物件周圍的框。 -![腰果和番茄醬的物件檢測](../../../../../translated_images/mo/object-detector-cashews-tomato.1af7c26686b4db0e709754aeb196f4e73271f54e2085db3bcccb70d4a0d84d97.png) +![腰果和番茄醬的物件檢測](../../../../../translated_images/zh-MO/object-detector-cashews-tomato.1af7c26686b4db0e709754aeb196f4e73271f54e2085db3bcccb70d4a0d84d97.png) 上面的影像包含一罐腰果和三罐番茄醬。物件檢測器檢測到腰果,返回包含腰果的邊界框以及該邊界框包含物件的概率,在此例中為 97.6%。物件檢測器還檢測到三罐番茄醬,並提供三個單獨的邊界框,每個檢測到的罐子都有一個概率百分比,表示該邊界框包含番茄醬罐。 @@ -120,7 +120,7 @@ CO_OP_TRANSLATOR_METADATA: 創建專案時,請確保使用你之前創建的 `stock-detector-training` 資源。選擇 *物件檢測* 專案類型,並選擇 *貨架上的商品* 領域。 - ![Custom Vision 專案的設置,名稱設為 fruit-quality-detector,無描述,資源設為 fruit-quality-detector-training,專案類型設為分類,分類類型設為多類別,領域設為食品](../../../../../translated_images/mo/custom-vision-create-object-detector-project.32d4fb9aa8e7e7375f8a799bfce517aca970f2cb65e42d4245c5e635c734ab29.png) + ![Custom Vision 專案的設置,名稱設為 fruit-quality-detector,無描述,資源設為 fruit-quality-detector-training,專案類型設為分類,分類類型設為多類別,領域設為食品](../../../../../translated_images/zh-MO/custom-vision-create-object-detector-project.32d4fb9aa8e7e7375f8a799bfce517aca970f2cb65e42d4245c5e635c734ab29.png) ✅ *貨架上的商品* 領域專門用於檢測商店貨架上的庫存。閱讀更多有關不同領域的信息,請參考 [Microsoft Docs 上的選擇領域文檔](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/select-domain?WT.mc_id=academic-17441-jabenn#object-detection)。 @@ -142,11 +142,11 @@ CO_OP_TRANSLATOR_METADATA: 1. 按照 Microsoft Docs 上的 [上傳和標記影像部分](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/get-started-build-detector?WT.mc_id=academic-17441-jabenn#upload-and-tag-images) 的指導,上傳你的訓練影像。根據你想檢測的物件類型創建相關標籤。 - ![上傳對話框顯示上傳成熟和未成熟香蕉的圖片](../../../../../translated_images/mo/image-upload-object-detector.77c7892c3093cb59b79018edecd678749a75d71a099bc8a2d2f2f76320f88a5b.png) + ![上傳對話框顯示上傳成熟和未成熟香蕉的圖片](../../../../../translated_images/zh-MO/image-upload-object-detector.77c7892c3093cb59b79018edecd678749a75d71a099bc8a2d2f2f76320f88a5b.png) 當你為物件繪製邊界框時,請保持框緊貼物件。標記所有影像可能需要一些時間,但工具會檢測它認為是邊界框的部分,這樣可以加快速度。 - ![標記一些番茄醬](../../../../../translated_images/mo/object-detector-tag-tomato-paste.f47c362fb0f0eb582f3bc68cf3855fb43a805106395358d41896a269c210b7b4.png) + ![標記一些番茄醬](../../../../../translated_images/zh-MO/object-detector-tag-tomato-paste.f47c362fb0f0eb582f3bc68cf3855fb43a805106395358d41896a269c210b7b4.png) > 💁 如果你有超過 15 張影像的每個物件,你可以在 15 張影像後進行訓練,然後使用 **建議標籤** 功能。這將使用訓練的模型檢測未標記影像中的物件。你可以確認檢測到的物件,或者拒絕並重新繪製邊界框。這可以節省大量時間。 @@ -164,7 +164,7 @@ CO_OP_TRANSLATOR_METADATA: 1. 使用 **快速測試** 按鈕上傳測試影像並驗證物件是否被檢測到。使用你之前創建的測試影像,而不是任何用於訓練的影像。 - ![檢測到 3 罐番茄醬,概率分別為 38%、35.5% 和 34.6%](../../../../../translated_images/mo/object-detector-detected-tomato-paste.52656fe87af4c37b4ee540526d63e73ed075da2e54a9a060aa528e0c562fb1b6.png) + ![檢測到 3 罐番茄醬,概率分別為 38%、35.5% 和 34.6%](../../../../../translated_images/zh-MO/object-detector-detected-tomato-paste.52656fe87af4c37b4ee540526d63e73ed075da2e54a9a060aa528e0c562fb1b6.png) 1. 嘗試使用你擁有的所有測試影像並觀察概率。 diff --git a/translations/mo/5-retail/lessons/2-check-stock-device/README.md b/translations/mo/5-retail/lessons/2-check-stock-device/README.md index 8e3c85e3d..38b51a1bc 100644 --- a/translations/mo/5-retail/lessons/2-check-stock-device/README.md +++ b/translations/mo/5-retail/lessons/2-check-stock-device/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 從物聯網設備檢查庫存 -![本課程的手繪筆記概覽](../../../../../translated_images/mo/lesson-20.0211df9551a8abb300fc8fcf7dc2789468dea2eabe9202273ac077b0ba37f15e.jpg) +![本課程的手繪筆記概覽](../../../../../translated_images/zh-MO/lesson-20.0211df9551a8abb300fc8fcf7dc2789468dea2eabe9202273ac077b0ba37f15e.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -39,7 +39,7 @@ CO_OP_TRANSLATOR_METADATA: 例如,如果一個攝像頭對準一組可以容納8罐番茄醬的貨架,而物件偵測器只偵測到7罐,那麼就缺少了一罐,需要補貨。 -![貨架上有7罐番茄醬,頂排4罐,下排3罐](../../../../../translated_images/mo/stock-7-cans-tomato-paste.f86059cc573d7bec.webp) +![貨架上有7罐番茄醬,頂排4罐,下排3罐](../../../../../translated_images/zh-MO/stock-7-cans-tomato-paste.f86059cc573d7bec.webp) 在上圖中,物件偵測器偵測到貨架上有7罐番茄醬,而該貨架可以容納8罐。不僅物聯網設備可以發送補貨通知,它甚至可以提供缺失物品的位置資訊,這對於使用機器人補貨的情況尤為重要。 @@ -51,7 +51,7 @@ CO_OP_TRANSLATOR_METADATA: 物件偵測可以用來偵測意外出現的物品,並通知人員或機器人盡快將其歸位。 -![番茄醬貨架上的一罐玉米罐頭](../../../../../translated_images/mo/stock-rogue-corn.be1f3ada8c457854.webp) +![番茄醬貨架上的一罐玉米罐頭](../../../../../translated_images/zh-MO/stock-rogue-corn.be1f3ada8c457854.webp) 在上圖中,一罐玉米罐頭被放在了番茄醬的貨架上。物件偵測器偵測到了這一情況,使物聯網設備能夠通知人員或機器人將罐頭歸位。 @@ -71,7 +71,7 @@ CO_OP_TRANSLATOR_METADATA: 1. 點擊該迭代版本的 **Publish** 按鈕。 - ![發佈按鈕](../../../../../translated_images/mo/custom-vision-object-detector-publish-button.34ee379fc650ccb9856c3868d0003f413b9529f102fc73c37168c98d721cc293.png) + ![發佈按鈕](../../../../../translated_images/zh-MO/custom-vision-object-detector-publish-button.34ee379fc650ccb9856c3868d0003f413b9529f102fc73c37168c98d721cc293.png) 1. 在 *Publish Model* 對話框中,將 *Prediction resource* 設置為你在上一課中創建的 `stock-detector-prediction` 資源。保持名稱為 `Iteration2`,然後選擇 **Publish** 按鈕。 @@ -85,7 +85,7 @@ CO_OP_TRANSLATOR_METADATA: 同時複製 *Prediction-Key* 值。這是一個安全密鑰,調用模型時必須傳遞該密鑰。只有傳遞此密鑰的應用程式才能使用模型,其他應用程式將被拒絕。 - ![預測 API 對話框顯示 URL 和密鑰](../../../../../translated_images/mo/custom-vision-prediction-key-endpoint.30c569ffd0338864f319911f052d5e9b8c5066cb0800a26dd6f7ff5713130ad8.png) + ![預測 API 對話框顯示 URL 和密鑰](../../../../../translated_images/zh-MO/custom-vision-prediction-key-endpoint.30c569ffd0338864f319911f052d5e9b8c5066cb0800a26dd6f7ff5713130ad8.png) ✅ 當發佈新的迭代版本時,它會有不同的名稱。你認為應該如何更改物聯網設備使用的迭代版本? @@ -104,7 +104,7 @@ CO_OP_TRANSLATOR_METADATA: 在 Custom Vision 的 **Predictions** 標籤中,預測結果會在發送進行預測的圖像上繪製邊界框。 -![貨架上4罐番茄醬的預測結果,分別為35.8%、33.5%、25.7%和16.6%](../../../../../translated_images/mo/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.png) +![貨架上4罐番茄醬的預測結果,分別為35.8%、33.5%、25.7%和16.6%](../../../../../translated_images/zh-MO/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.png) 在上圖中,偵測到4罐番茄醬。在結果中,每個被偵測物件的圖像上都疊加了一個紅色方框,表示該物件的邊界框。 @@ -112,7 +112,7 @@ CO_OP_TRANSLATOR_METADATA: 邊界框由4個值定義:上(top)、左(left)、高(height)和寬(width)。這些值的範圍是0到1,表示相對於圖像大小的百分比位置。原點(0,0)是圖像的左上角,因此上值是距離頂部的距離,而邊界框的底部是上值加上高度。 -![番茄醬罐頭周圍的邊界框](../../../../../translated_images/mo/bounding-box.1420a7ea0d3d15f71e1ffb5cf4b2271d184fac051f990abc541975168d163684.png) +![番茄醬罐頭周圍的邊界框](../../../../../translated_images/zh-MO/bounding-box.1420a7ea0d3d15f71e1ffb5cf4b2271d184fac051f990abc541975168d163684.png) 上圖的寬度為600像素,高度為800像素。邊界框從320像素處開始,對應的上值為0.4(800 x 0.4 = 320)。從左側開始,邊界框距離240像素,對應的左值為0.4(600 x 0.4 = 240)。邊界框的高度為240像素,對應的高值為0.3(800 x 0.3 = 240)。邊界框的寬度為120像素,對應的寬值為0.2(600 x 0.2 = 120)。 @@ -127,7 +127,7 @@ CO_OP_TRANSLATOR_METADATA: 你可以結合邊界框和概率來評估偵測的準確性。例如,物件偵測器可能會偵測到多個重疊的物件,例如一個罐頭在另一個罐頭內部。你的程式碼可以檢查邊界框,判斷這是不可能的,並忽略任何與其他物件有顯著重疊的物件。 -![兩個重疊的邊界框圍繞一罐番茄醬](../../../../../translated_images/mo/overlap-object-detection.d431e03cae75072a2760430eca7f2c5fdd43045bfd72dadcbf12711f7cd6c2ae.png) +![兩個重疊的邊界框圍繞一罐番茄醬](../../../../../translated_images/zh-MO/overlap-object-detection.d431e03cae75072a2760430eca7f2c5fdd43045bfd72dadcbf12711f7cd6c2ae.png) 在上圖中,一個邊界框表示一罐番茄醬,預測概率為78.3%。另一個邊界框稍小,位於第一個邊界框內部,概率為64.3%。你的程式碼可以檢查邊界框,發現它們完全重疊,並忽略較低概率的邊界框,因為不可能一個罐頭在另一個罐頭內部。 diff --git a/translations/mo/5-retail/lessons/2-check-stock-device/single-board-computer-count-stock.md b/translations/mo/5-retail/lessons/2-check-stock-device/single-board-computer-count-stock.md index ebfb61ea3..4c6ece9b6 100644 --- a/translations/mo/5-retail/lessons/2-check-stock-device/single-board-computer-count-stock.md +++ b/translations/mo/5-retail/lessons/2-check-stock-device/single-board-computer-count-stock.md @@ -81,7 +81,7 @@ CO_OP_TRANSLATOR_METADATA: 1. 啟動應用程式,將相機對準架子上的一些庫存。您將在 VS Code 的檔案總管中看到 `image.jpg` 文件,並可以選擇它來查看邊界框。 - ![4 罐番茄醬,每罐周圍都有邊界框](../../../../../translated_images/mo/rpi-stock-with-bounding-boxes.b5540e2ecb7cd49f.webp) + ![4 罐番茄醬,每罐周圍都有邊界框](../../../../../translated_images/zh-MO/rpi-stock-with-bounding-boxes.b5540e2ecb7cd49f.webp) ## 計算庫存 diff --git a/translations/mo/5-retail/lessons/2-check-stock-device/single-board-computer-object-detector.md b/translations/mo/5-retail/lessons/2-check-stock-device/single-board-computer-object-detector.md index 533aa2197..525aa0492 100644 --- a/translations/mo/5-retail/lessons/2-check-stock-device/single-board-computer-object-detector.md +++ b/translations/mo/5-retail/lessons/2-check-stock-device/single-board-computer-object-detector.md @@ -76,7 +76,7 @@ CO_OP_TRANSLATOR_METADATA: 您將能夠看到拍攝的影像,以及這些值在 Custom Vision 的 **Predictions** 標籤中。 - ![架子上有 4 罐番茄醬,預測結果分別為 35.8%、33.5%、25.7% 和 16.6%](../../../../../translated_images/mo/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.png) + ![架子上有 4 罐番茄醬,預測結果分別為 35.8%、33.5%、25.7% 和 16.6%](../../../../../translated_images/zh-MO/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.png) > 💁 您可以在 [code-detect/pi](../../../../../5-retail/lessons/2-check-stock-device/code-detect/pi) 或 [code-detect/virtual-iot-device](../../../../../5-retail/lessons/2-check-stock-device/code-detect/virtual-iot-device) 資料夾中找到此程式碼。 diff --git a/translations/mo/5-retail/lessons/2-check-stock-device/wio-terminal-count-stock.md b/translations/mo/5-retail/lessons/2-check-stock-device/wio-terminal-count-stock.md index b785c43c0..0a78e412b 100644 --- a/translations/mo/5-retail/lessons/2-check-stock-device/wio-terminal-count-stock.md +++ b/translations/mo/5-retail/lessons/2-check-stock-device/wio-terminal-count-stock.md @@ -13,7 +13,7 @@ CO_OP_TRANSLATOR_METADATA: ## 計算庫存 -![4 罐番茄醬,每罐周圍都有邊界框](../../../../../translated_images/mo/rpi-stock-with-bounding-boxes.b5540e2ecb7cd49f.webp) +![4 罐番茄醬,每罐周圍都有邊界框](../../../../../translated_images/zh-MO/rpi-stock-with-bounding-boxes.b5540e2ecb7cd49f.webp) 在上圖中,邊界框之間有些微重疊。如果這種重疊程度更大,邊界框可能會表示同一個物體。為了正確計算物體數量,您需要忽略那些有顯著重疊的框。 diff --git a/translations/mo/5-retail/lessons/2-check-stock-device/wio-terminal-object-detector.md b/translations/mo/5-retail/lessons/2-check-stock-device/wio-terminal-object-detector.md index e7fa67c37..b9fc53a74 100644 --- a/translations/mo/5-retail/lessons/2-check-stock-device/wio-terminal-object-detector.md +++ b/translations/mo/5-retail/lessons/2-check-stock-device/wio-terminal-object-detector.md @@ -104,7 +104,7 @@ CO_OP_TRANSLATOR_METADATA: 你將能看到拍攝的影像,以及這些值在 Custom Vision 的 **Predictions** 標籤中。 - ![架子上的4罐番茄醬,預測結果分別為35.8%、33.5%、25.7%和16.6%](../../../../../translated_images/mo/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.png) + ![架子上的4罐番茄醬,預測結果分別為35.8%、33.5%、25.7%和16.6%](../../../../../translated_images/zh-MO/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.png) > 💁 你可以在 [code-detect/wio-terminal](../../../../../5-retail/lessons/2-check-stock-device/code-detect/wio-terminal) 資料夾中找到這段程式碼。 diff --git a/translations/mo/6-consumer/lessons/1-speech-recognition/README.md b/translations/mo/6-consumer/lessons/1-speech-recognition/README.md index d6bb1401e..9daab373d 100644 --- a/translations/mo/6-consumer/lessons/1-speech-recognition/README.md +++ b/translations/mo/6-consumer/lessons/1-speech-recognition/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 使用物聯網設備進行語音識別 -![本課程概述的手繪筆記](../../../../../translated_images/mo/lesson-21.e34de51354d6606fb5ee08d8c89d0222eea0a2a7aaf744a8805ae847c4f69dc4.jpg) +![本課程概述的手繪筆記](../../../../../translated_images/zh-MO/lesson-21.e34de51354d6606fb5ee08d8c89d0222eea0a2a7aaf744a8805ae847c4f69dc4.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -60,19 +60,19 @@ CO_OP_TRANSLATOR_METADATA: 動圈式麥克風不需要電源,電信號完全由麥克風產生。 - ![Patti Smith 使用 Shure SM58(動圈心型)麥克風演唱](../../../../../translated_images/mo/dynamic-mic.8babac890a2d80dfb0874b5bf37d4b851fe2aeb9da6fd72945746176978bf3bb.jpg) + ![Patti Smith 使用 Shure SM58(動圈心型)麥克風演唱](../../../../../translated_images/zh-MO/dynamic-mic.8babac890a2d80dfb0874b5bf37d4b851fe2aeb9da6fd72945746176978bf3bb.jpg) * 緞帶式 - 緞帶式麥克風類似於動圈式麥克風,但使用金屬緞帶代替振膜。該緞帶在磁場中移動時會產生電流。與動圈式麥克風一樣,緞帶式麥克風不需要電源。 - ![美國演員 Edmund Lowe 站在標有 (NBC) Blue Network 的廣播麥克風前,手持劇本,1942年](../../../../../translated_images/mo/ribbon-mic.eacc8e092c7441ca.webp) + ![美國演員 Edmund Lowe 站在標有 (NBC) Blue Network 的廣播麥克風前,手持劇本,1942年](../../../../../translated_images/zh-MO/ribbon-mic.eacc8e092c7441ca.webp) * 電容式 - 電容式麥克風具有一個薄金屬振膜和一個固定的金屬背板。電流被施加到這兩者上,當振膜振動時,板之間的靜電荷發生變化,從而產生信號。電容式麥克風需要電源才能工作,稱為 *幻象電源*。 - ![AKG Acoustics 的 C451B 小振膜電容式麥克風](../../../../../translated_images/mo/condenser-mic.6f6ed5b76ca19e0ec3fd0c544601542d4479a6cb7565db336de49fbbf69f623e.jpg) + ![AKG Acoustics 的 C451B 小振膜電容式麥克風](../../../../../translated_images/zh-MO/condenser-mic.6f6ed5b76ca19e0ec3fd0c544601542d4479a6cb7565db336de49fbbf69f623e.jpg) * MEMS - 微機電系統麥克風,或 MEMS,是芯片上的麥克風。它們在矽芯片上刻有壓力敏感振膜,工作原理類似於電容式麥克風。這些麥克風可以非常小,並集成到電路中。 - ![電路板上的 MEMS 麥克風](../../../../../translated_images/mo/mems-microphone.80574019e1f5e4d9ee72fed720ecd25a39fc2969c91355d17ebb24ba4159e4c4.png) + ![電路板上的 MEMS 麥克風](../../../../../translated_images/zh-MO/mems-microphone.80574019e1f5e4d9ee72fed720ecd25a39fc2969c91355d17ebb24ba4159e4c4.png) 在上圖中,標記為 **LEFT** 的芯片是一個 MEMS 麥克風,其振膜寬度不到一毫米。 @@ -84,7 +84,7 @@ CO_OP_TRANSLATOR_METADATA: > 🎓 取樣是將音頻信號轉換為代表該時刻信號的數位值。 -![顯示信號的折線圖,具有固定間隔的離散點](../../../../../translated_images/mo/sampling.6f4fadb3f2d9dfe7.webp) +![顯示信號的折線圖,具有固定間隔的離散點](../../../../../translated_images/zh-MO/sampling.6f4fadb3f2d9dfe7.webp) 數位音頻使用脈衝編碼調變(Pulse Code Modulation,PCM)進行取樣。PCM 涉及讀取信號的電壓,並使用定義的大小選擇最接近該電壓的離散值。 @@ -168,7 +168,7 @@ CO_OP_TRANSLATOR_METADATA: ## 語音轉文字 -![語音服務標誌](../../../../../translated_images/mo/azure-speech-logo.a1f08c4befb0159f2cb5d692d3baf5b599e7b44759d316da907bda1508f46a4a.png) +![語音服務標誌](../../../../../translated_images/zh-MO/azure-speech-logo.a1f08c4befb0159f2cb5d692d3baf5b599e7b44759d316da907bda1508f46a4a.png) 就像之前的影像分類項目一樣,有一些預建的人工智能服務可以將音頻文件中的語音轉換為文字。其中一項服務是語音服務,它是認知服務的一部分,這些預建的人工智能服務可以在你的應用中使用。 diff --git a/translations/mo/6-consumer/lessons/1-speech-recognition/pi-audio.md b/translations/mo/6-consumer/lessons/1-speech-recognition/pi-audio.md index 33347de36..3b97a4ded 100644 --- a/translations/mo/6-consumer/lessons/1-speech-recognition/pi-audio.md +++ b/translations/mo/6-consumer/lessons/1-speech-recognition/pi-audio.md @@ -25,13 +25,13 @@ Raspberry Pi 需要一個按鈕來控制音頻捕捉。 #### 任務 - 連接按鈕 -![Grove 按鈕](../../../../../translated_images/mo/grove-button.a70cfbb809a8563681003250cf5b06d68cdcc68624f9e2f493d5a534ae2da1e5.png) +![Grove 按鈕](../../../../../translated_images/zh-MO/grove-button.a70cfbb809a8563681003250cf5b06d68cdcc68624f9e2f493d5a534ae2da1e5.png) 1. 將 Grove 電纜的一端插入按鈕模組上的插座。它只能以一種方式插入。 1. 在 Raspberry Pi 關閉電源的情況下,將 Grove 電纜的另一端連接到 Pi 上 Grove 基座 HAT 的數位插座 **D5**。這個插座位於 GPIO 引腳旁邊的一排插座中,從左數第二個。 -![Grove 按鈕連接到插座 D5](../../../../../translated_images/mo/pi-button.c7a1a4f55943341ce1baf1057658e9a205804d4131d258e820c93f951df0abf3.png) +![Grove 按鈕連接到插座 D5](../../../../../translated_images/zh-MO/pi-button.c7a1a4f55943341ce1baf1057658e9a205804d4131d258e820c93f951df0abf3.png) ## 捕捉音頻 diff --git a/translations/mo/6-consumer/lessons/1-speech-recognition/pi-microphone.md b/translations/mo/6-consumer/lessons/1-speech-recognition/pi-microphone.md index 4c6af5c52..720bcb573 100644 --- a/translations/mo/6-consumer/lessons/1-speech-recognition/pi-microphone.md +++ b/translations/mo/6-consumer/lessons/1-speech-recognition/pi-microphone.md @@ -43,7 +43,7 @@ Raspberry Pi 配備了一個 3.5mm 耳機插孔。您可以使用它來連接耳 1. 如果您使用的是 ReSpeaker 2-Mics Pi HAT,可以移除 Grove 基座帽,然後將 ReSpeaker 帽安裝到其位置。 - ![一個安裝了 ReSpeaker 帽的 Raspberry Pi](../../../../../translated_images/mo/pi-respeaker-hat.f00fabe7dd039a93e2e0aa0fc946c9af0c6a9eb17c32fa1ca097fb4e384f69f0.png) + ![一個安裝了 ReSpeaker 帽的 Raspberry Pi](../../../../../translated_images/zh-MO/pi-respeaker-hat.f00fabe7dd039a93e2e0aa0fc946c9af0c6a9eb17c32fa1ca097fb4e384f69f0.png) 在本課程稍後您將需要一個 Grove 按鈕,但此帽已內建一個按鈕,因此不需要 Grove 基座帽。 diff --git a/translations/mo/6-consumer/lessons/1-speech-recognition/wio-terminal-audio.md b/translations/mo/6-consumer/lessons/1-speech-recognition/wio-terminal-audio.md index ac6420bdc..65f377717 100644 --- a/translations/mo/6-consumer/lessons/1-speech-recognition/wio-terminal-audio.md +++ b/translations/mo/6-consumer/lessons/1-speech-recognition/wio-terminal-audio.md @@ -19,7 +19,7 @@ CO_OP_TRANSLATOR_METADATA: ✅ 在 [維基百科的直接記憶體存取頁面](https://wikipedia.org/wiki/Direct_memory_access) 上閱讀更多關於 DMA 的資訊。 -![音頻從麥克風進入 ADC,然後進入 DMAC。這會寫入一個緩衝區。當這個緩衝區滿了之後,它會被處理,DMAC 會寫入第二個緩衝區](../../../../../translated_images/mo/dmac-adc-buffers.4509aee49145c90bc2e1be472b8ed2ddfcb2b6a81ad3e559114aca55f5fff759.png) +![音頻從麥克風進入 ADC,然後進入 DMAC。這會寫入一個緩衝區。當這個緩衝區滿了之後,它會被處理,DMAC 會寫入第二個緩衝區](../../../../../translated_images/zh-MO/dmac-adc-buffers.4509aee49145c90bc2e1be472b8ed2ddfcb2b6a81ad3e559114aca55f5fff759.png) DMAC 可以以固定的間隔從 ADC 捕捉音頻,例如每秒 16,000 次以捕捉 16KHz 的音頻。它可以將捕捉到的數據寫入預先分配的記憶體緩衝區,當緩衝區滿了時,通知您的程式碼進行處理。使用這些記憶體可能會延遲音頻捕捉,但您可以設置多個緩衝區。DMAC 先寫入緩衝區 1,當緩衝區 1 滿了時,通知您的程式碼處理緩衝區 1,然後 DMAC 開始寫入緩衝區 2。當緩衝區 2 滿了時,它會通知您的程式碼,然後回到寫入緩衝區 1。這樣,只要您在填滿一個緩衝區的時間內處理完每個緩衝區,就不會丟失任何數據。 diff --git a/translations/mo/6-consumer/lessons/1-speech-recognition/wio-terminal-microphone.md b/translations/mo/6-consumer/lessons/1-speech-recognition/wio-terminal-microphone.md index fbbf39d8a..9319ae553 100644 --- a/translations/mo/6-consumer/lessons/1-speech-recognition/wio-terminal-microphone.md +++ b/translations/mo/6-consumer/lessons/1-speech-recognition/wio-terminal-microphone.md @@ -15,11 +15,11 @@ CO_OP_TRANSLATOR_METADATA: Wio Terminal 已內建麥克風,可用於捕捉音訊以進行語音識別。 -![Wio Terminal 上的麥克風](../../../../../translated_images/mo/wio-mic.3f8c843dbe8ad917.webp) +![Wio Terminal 上的麥克風](../../../../../translated_images/zh-MO/wio-mic.3f8c843dbe8ad917.webp) 若要添加揚聲器,你可以使用 [ReSpeaker 2-Mics Pi Hat](https://www.seeedstudio.com/ReSpeaker-2-Mics-Pi-HAT.html)。這是一塊外接板,包含兩個 MEMS 麥克風,以及一個揚聲器連接器和耳機插孔。 -![ReSpeaker 2-Mics Pi Hat](../../../../../translated_images/mo/respeaker.f5d19d1c6b14ab16.webp) +![ReSpeaker 2-Mics Pi Hat](../../../../../translated_images/zh-MO/respeaker.f5d19d1c6b14ab16.webp) 你需要添加耳機、一個帶有 3.5mm 插頭的揚聲器,或者像 [Mono Enclosed Speaker - 2W 6 Ohm](https://www.seeedstudio.com/Mono-Enclosed-Speaker-2W-6-Ohm-p-2832.html) 這樣的帶有 JST 接頭的揚聲器。 @@ -35,7 +35,7 @@ Wio Terminal 已內建麥克風,可用於捕捉音訊以進行語音識別。 需要按照以下方式連接引腳: - ![引腳圖](../../../../../translated_images/mo/wio-respeaker-wiring-0.767f80aa65081038.webp) + ![引腳圖](../../../../../translated_images/zh-MO/wio-respeaker-wiring-0.767f80aa65081038.webp) 1. 將 ReSpeaker 和 Wio Terminal 放置好,GPIO 插座朝上,位於左側。 @@ -43,33 +43,33 @@ Wio Terminal 已內建麥克風,可用於捕捉音訊以進行語音識別。 1. 按此方式依次連接 GPIO 插座左側的所有引腳。確保引腳插牢。 - ![ReSpeaker 左側引腳連接到 Wio Terminal 左側引腳](../../../../../translated_images/mo/wio-respeaker-wiring-1.8d894727f2ba2400.webp) + ![ReSpeaker 左側引腳連接到 Wio Terminal 左側引腳](../../../../../translated_images/zh-MO/wio-respeaker-wiring-1.8d894727f2ba2400.webp) - ![ReSpeaker 左側引腳連接到 Wio Terminal 左側引腳](../../../../../translated_images/mo/wio-respeaker-wiring-2.329e1cbd306e754f.webp) + ![ReSpeaker 左側引腳連接到 Wio Terminal 左側引腳](../../../../../translated_images/zh-MO/wio-respeaker-wiring-2.329e1cbd306e754f.webp) > 💁 如果你的跳線是連成一條排線,保持它們在一起會更容易確保所有線都按順序連接。 1. 使用 ReSpeaker 和 Wio Terminal 的右側 GPIO 插座重複此過程。這些線需要繞過已經連接的線。 - ![ReSpeaker 右側引腳連接到 Wio Terminal 右側引腳](../../../../../translated_images/mo/wio-respeaker-wiring-3.75b0be447e2fa930.webp) + ![ReSpeaker 右側引腳連接到 Wio Terminal 右側引腳](../../../../../translated_images/zh-MO/wio-respeaker-wiring-3.75b0be447e2fa930.webp) - ![ReSpeaker 右側引腳連接到 Wio Terminal 右側引腳](../../../../../translated_images/mo/wio-respeaker-wiring-4.aa9cd434d8779437.webp) + ![ReSpeaker 右側引腳連接到 Wio Terminal 右側引腳](../../../../../translated_images/zh-MO/wio-respeaker-wiring-4.aa9cd434d8779437.webp) > 💁 如果你的跳線是連成一條排線,將它們分成兩條排線。分別從已連接的線兩側穿過。 > 💁 你可以使用膠帶將引腳固定成一個塊,這樣可以防止在連接過程中引腳脫落。 > - > ![用膠帶固定的引腳](../../../../../translated_images/mo/wio-respeaker-wiring-5.af117c20acf622f3.webp) + > ![用膠帶固定的引腳](../../../../../translated_images/zh-MO/wio-respeaker-wiring-5.af117c20acf622f3.webp) 1. 你需要添加一個揚聲器。 * 如果你使用的是帶有 JST 線的揚聲器,將其連接到 ReSpeaker 的 JST 接口。 - ![使用 JST 線連接到 ReSpeaker 的揚聲器](../../../../../translated_images/mo/respeaker-jst-speaker.a441d177809df945.webp) + ![使用 JST 線連接到 ReSpeaker 的揚聲器](../../../../../translated_images/zh-MO/respeaker-jst-speaker.a441d177809df945.webp) * 如果你使用的是帶有 3.5mm 插頭的揚聲器或耳機,將其插入 3.5mm 插孔。 - ![使用 3.5mm 插孔連接到 ReSpeaker 的揚聲器](../../../../../translated_images/mo/respeaker-35mm-speaker.ad79ef4f128c7751.webp) + ![使用 3.5mm 插孔連接到 ReSpeaker 的揚聲器](../../../../../translated_images/zh-MO/respeaker-35mm-speaker.ad79ef4f128c7751.webp) ### 任務 - 設置 SD 卡 @@ -79,7 +79,7 @@ Wio Terminal 已內建麥克風,可用於捕捉音訊以進行語音識別。 1. 將 SD 卡插入 Wio Terminal 左側電源按鈕下方的 SD 卡插槽。確保卡完全插入並卡住——你可能需要使用一個細小的工具或另一張 SD 卡來幫助將其完全推入。 - ![將 SD 卡插入電源開關下方的 SD 卡插槽](../../../../../translated_images/mo/wio-sd-card.acdcbe322fa4ee7f.webp) + ![將 SD 卡插入電源開關下方的 SD 卡插槽](../../../../../translated_images/zh-MO/wio-sd-card.acdcbe322fa4ee7f.webp) > 💁 要取出 SD 卡,你需要稍微按入卡片,它會彈出。你可能需要使用像平頭螺絲刀或另一張 SD 卡這樣的細小工具來完成此操作。 diff --git a/translations/mo/6-consumer/lessons/2-language-understanding/README.md b/translations/mo/6-consumer/lessons/2-language-understanding/README.md index ab6ca468b..4a3839d94 100644 --- a/translations/mo/6-consumer/lessons/2-language-understanding/README.md +++ b/translations/mo/6-consumer/lessons/2-language-understanding/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 理解語言 -![本課程的手繪筆記概述](../../../../../translated_images/mo/lesson-22.6148ea28500d9e00c396aaa2649935fb6641362c8f03d8e5e90a676977ab01dd.jpg) +![本課程的手繪筆記概述](../../../../../translated_images/zh-MO/lesson-22.6148ea28500d9e00c396aaa2649935fb6641362c8f03d8e5e90a676977ab01dd.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -55,7 +55,7 @@ CO_OP_TRANSLATOR_METADATA: ## 創建語言理解模型 -![LUIS 標誌](../../../../../translated_images/mo/luis-logo.5cb4f3e88c020ee6df4f614e8831f4a4b6809a7247bf52085fb48d629ef9be52.png) +![LUIS 標誌](../../../../../translated_images/zh-MO/luis-logo.5cb4f3e88c020ee6df4f614e8831f4a4b6809a7247bf52085fb48d629ef9be52.png) 你可以使用 LUIS(Microsoft 的語言理解服務,屬於 Cognitive Services)來創建語言理解模型。 @@ -126,7 +126,7 @@ CO_OP_TRANSLATOR_METADATA: 然後告訴 LUIS 這些句子的哪些部分對應於實體: -![句子「設置一個計時器,時間為1分12秒」分解為實體](../../../../../translated_images/mo/sentence-as-intent-entities.301401696f992259.webp) +![句子「設置一個計時器,時間為1分12秒」分解為實體](../../../../../translated_images/zh-MO/sentence-as-intent-entities.301401696f992259.webp) 句子 `設置一個計時器,時間為1分12秒` 的意圖是 `設置計時器`。它還有2個實體,每個實體有2個值: @@ -178,7 +178,7 @@ CO_OP_TRANSLATOR_METADATA: 1. 每輸入一個示例,LUIS 都會開始檢測實體,並將檢測到的部分用下劃線標記並標籤。 - ![示例中數字和時間單位被 LUIS 用下劃線標記](../../../../../translated_images/mo/luis-intent-examples.25716580b2d2723cf1bafdf277d015c7f046d8cfa20f27bddf3a0873ec45fab7.png) + ![示例中數字和時間單位被 LUIS 用下劃線標記](../../../../../translated_images/zh-MO/luis-intent-examples.25716580b2d2723cf1bafdf277d015c7f046d8cfa20f27bddf3a0873ec45fab7.png) ### 任務 - 訓練和測試模型 diff --git a/translations/mo/6-consumer/lessons/3-spoken-feedback/README.md b/translations/mo/6-consumer/lessons/3-spoken-feedback/README.md index 5f7064ca9..2094076a2 100644 --- a/translations/mo/6-consumer/lessons/3-spoken-feedback/README.md +++ b/translations/mo/6-consumer/lessons/3-spoken-feedback/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 設定計時器並提供語音回饋 -![本課程的手繪筆記概覽](../../../../../translated_images/mo/lesson-23.f38483e1d4df4828990d3f02d60e46c978b075d384ae7cb4f7bab738e107c850.jpg) +![本課程的手繪筆記概覽](../../../../../translated_images/zh-MO/lesson-23.f38483e1d4df4828990d3f02d60e46c978b075d384ae7cb4f7bab738e107c850.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片以查看更大版本。 @@ -37,7 +37,7 @@ CO_OP_TRANSLATOR_METADATA: 文字轉語音,顧名思義,是將文字轉換為包含語音的音頻的過程。基本原理是將文字中的單詞分解為其構成的聲音(稱為音素),然後將這些聲音的音頻拼接在一起,這些音頻可以是預先錄製的,也可以是由人工智慧模型生成的。 -![典型文字轉語音系統的三個階段](../../../../../translated_images/mo/tts-overview.193843cf3f5ee09f.webp) +![典型文字轉語音系統的三個階段](../../../../../translated_images/zh-MO/tts-overview.193843cf3f5ee09f.webp) 文字轉語音系統通常包含三個階段: diff --git a/translations/mo/6-consumer/lessons/4-multiple-language-support/README.md b/translations/mo/6-consumer/lessons/4-multiple-language-support/README.md index 2e975796e..2b07206e2 100644 --- a/translations/mo/6-consumer/lessons/4-multiple-language-support/README.md +++ b/translations/mo/6-consumer/lessons/4-multiple-language-support/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 支援多語言 -![本課程的手繪筆記概述](../../../../../translated_images/mo/lesson-24.4246968ed058510ab275052e87ef9aa89c7b2f938915d103c605c04dc6cd5bb7.jpg) +![本課程的手繪筆記概述](../../../../../translated_images/zh-MO/lesson-24.4246968ed058510ab275052e87ef9aa89c7b2f938915d103c605c04dc6cd5bb7.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -83,7 +83,7 @@ CO_OP_TRANSLATOR_METADATA: ### 認知服務語音服務 -![語音服務標誌](../../../../../translated_images/mo/azure-speech-logo.a1f08c4befb0159f2cb5d692d3baf5b599e7b44759d316da907bda1508f46a4a.png) +![語音服務標誌](../../../../../translated_images/zh-MO/azure-speech-logo.a1f08c4befb0159f2cb5d692d3baf5b599e7b44759d316da907bda1508f46a4a.png) 你在過去幾課中使用的語音服務具有語音識別的翻譯功能。當你識別語音時,可以要求不僅提供相同語言的文字,還可以提供其他語言的文字。 @@ -91,7 +91,7 @@ CO_OP_TRANSLATOR_METADATA: ### 認知服務翻譯服務 -![翻譯服務標誌](../../../../../translated_images/mo/azure-translator-logo.c6ed3a4a433edfd2f11577eca105412c50b8396b194cbbd730723dd1d0793bcd.png) +![翻譯服務標誌](../../../../../translated_images/zh-MO/azure-translator-logo.c6ed3a4a433edfd2f11577eca105412c50b8396b194cbbd730723dd1d0793bcd.png) 翻譯服務是一個專門的翻譯服務,可以將文字從一種語言翻譯成一種或多種目標語言。除了翻譯,它還支援許多額外功能,包括屏蔽不雅詞語。它還允許你為特定單詞或句子提供特定翻譯,以處理不希望翻譯的術語或具有特定知名翻譯的術語。 @@ -130,7 +130,7 @@ CO_OP_TRANSLATOR_METADATA: 在理想情況下,整個應用程式應該能理解盡可能多的不同語言,從語音識別到語言理解,再到語音回應。這需要大量工作,而翻譯服務可以加快應用程式的交付時間。 -![智慧計時器架構:將日文翻譯成英文,使用英文處理,再翻譯回日文](../../../../../translated_images/mo/translated-smart-timer.08ac20057fdc5c37.webp) +![智慧計時器架構:將日文翻譯成英文,使用英文處理,再翻譯回日文](../../../../../translated_images/zh-MO/translated-smart-timer.08ac20057fdc5c37.webp) 假設你正在建立一個智慧計時器,使用英文進行端到端處理,包括識別英文語音並轉換為文字、使用英文進行語言理解、用英文構建回應並以英文語音回應。如果你想添加日文支援,可以先將日文語音翻譯成英文文字,然後保持應用程式的核心部分不變,最後將回應文字翻譯成日文並以日文語音回應。這樣可以快速添加日文支援,並且你可以稍後擴展到提供完整的端到端日文支援。 diff --git a/translations/mo/6-consumer/lessons/4-multiple-language-support/pi-translate-speech.md b/translations/mo/6-consumer/lessons/4-multiple-language-support/pi-translate-speech.md index ae2363fcb..711394f4a 100644 --- a/translations/mo/6-consumer/lessons/4-multiple-language-support/pi-translate-speech.md +++ b/translations/mo/6-consumer/lessons/4-multiple-language-support/pi-translate-speech.md @@ -34,7 +34,7 @@ CO_OP_TRANSLATOR_METADATA: > > 例如,如果你用英文訓練 LUIS,但希望使用法語作為使用者語言,你可以使用 Bing 翻譯將像 "設置一個 2 分 27 秒的計時器" 這樣的句子從英文翻譯成法語,然後使用 **聆聽翻譯** 按鈕將翻譯語音說入麥克風。 > - > ![Bing 翻譯中的聆聽翻譯按鈕](../../../../../translated_images/mo/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.png) + > ![Bing 翻譯中的聆聽翻譯按鈕](../../../../../translated_images/zh-MO/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.png) 1. 在 `speech_api_key` 下新增翻譯 API 金鑰: diff --git a/translations/mo/6-consumer/lessons/4-multiple-language-support/virtual-device-translate-speech.md b/translations/mo/6-consumer/lessons/4-multiple-language-support/virtual-device-translate-speech.md index 1c8b67253..a63f0abf7 100644 --- a/translations/mo/6-consumer/lessons/4-multiple-language-support/virtual-device-translate-speech.md +++ b/translations/mo/6-consumer/lessons/4-multiple-language-support/virtual-device-translate-speech.md @@ -46,7 +46,7 @@ CO_OP_TRANSLATOR_METADATA: > > 例如,如果您用英語訓練 LUIS,但希望使用法語作為使用者語言,您可以使用 Bing 翻譯將像 "set a 2 minute and 27 second timer" 這樣的句子從英語翻譯為法語,然後使用 **聆聽翻譯** 按鈕將翻譯內容說入您的麥克風。 > - > ![Bing 翻譯上的聆聽翻譯按鈕](../../../../../translated_images/mo/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.png) + > ![Bing 翻譯上的聆聽翻譯按鈕](../../../../../translated_images/zh-MO/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.png) 1. 用以下內容替換 `recognizer_config` 和 `recognizer` 的宣告: diff --git a/translations/mo/6-consumer/lessons/4-multiple-language-support/wio-terminal-translate-speech.md b/translations/mo/6-consumer/lessons/4-multiple-language-support/wio-terminal-translate-speech.md index c2d49f6e7..83f033669 100644 --- a/translations/mo/6-consumer/lessons/4-multiple-language-support/wio-terminal-translate-speech.md +++ b/translations/mo/6-consumer/lessons/4-multiple-language-support/wio-terminal-translate-speech.md @@ -114,7 +114,7 @@ CO_OP_TRANSLATOR_METADATA: > > 例如,如果你用英語訓練 LUIS,但希望使用法語作為使用者語言,你可以使用 Bing 翻譯將像 "set a 2 minute and 27 second timer" 這樣的句子從英語翻譯成法語,然後使用 **聆聽翻譯** 按鈕將翻譯語音說入麥克風。 > - > ![Bing 翻譯上的聆聽翻譯按鈕](../../../../../translated_images/mo/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.png) + > ![Bing 翻譯上的聆聽翻譯按鈕](../../../../../translated_images/zh-MO/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.png) 1. 在 `SPEECH_LOCATION` 下新增翻譯 API 金鑰和位置: diff --git a/translations/mo/README.md b/translations/mo/README.md index 2bd1ab2d6..6eb16591d 100644 --- a/translations/mo/README.md +++ b/translations/mo/README.md @@ -57,7 +57,7 @@ CO_OP_TRANSLATOR_METADATA: 這些專案涵蓋食物從農場到餐桌的旅程。包括農業、物流、製造、零售與消費端——這些是 IoT 裝置廣泛應用的行業領域。 -![課程路線圖顯示 24 個課程涵蓋介紹、農業、運輸、加工、零售與烹飪](../../translated_images/mo/Roadmap.bb1dec285dda0eda.webp) +![課程路線圖顯示 24 個課程涵蓋介紹、農業、運輸、加工、零售與烹飪](../../translated_images/zh-MO/Roadmap.bb1dec285dda0eda.webp) > 草圖筆記由 [Nitya Narasimhan](https://github.com/nitya) 製作。點擊圖片查看大圖。 diff --git a/translations/mo/hardware.md b/translations/mo/hardware.md index 296fcbd5f..f6ca40c33 100644 --- a/translations/mo/hardware.md +++ b/translations/mo/hardware.md @@ -21,7 +21,7 @@ CO_OP_TRANSLATOR_METADATA: ## 購買套件 -![Seeed Studios 標誌](../../translated_images/mo/seeed-logo.74732b6b482b6e8e.webp) +![Seeed Studios 標誌](../../translated_images/zh-MO/seeed-logo.74732b6b482b6e8e.webp) Seeed Studios 非常貼心地將所有硬體整合成易於購買的套件: @@ -29,13 +29,13 @@ Seeed Studios 非常貼心地將所有硬體整合成易於購買的套件: **[適用於初學者的 IoT:Seeed 與 Microsoft 合作推出的 Wio Terminal 入門套件](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Wio-Terminal-Starter-Kit-p-5006.html)** -[![Wio Terminal 硬體套件](../../translated_images/mo/wio-hardware-kit.4c70c48b85e4283a.webp)](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Wio-Terminal-Starter-Kit-p-5006.html) +[![Wio Terminal 硬體套件](../../translated_images/zh-MO/wio-hardware-kit.4c70c48b85e4283a.webp)](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Wio-Terminal-Starter-Kit-p-5006.html) ### Raspberry Pi **[適用於初學者的 IoT:Seeed 與 Microsoft 合作推出的 Raspberry Pi 4 入門套件](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Raspberry-Pi-Starter-Kit-p-5004.html)** -[![Raspberry Pi 硬體套件](../../translated_images/mo/pi-hardware-kit.26dbadaedb7dd44c73b0131d5d68ea29472ed0a9744f90d5866c6d82f2d16380.png)](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Raspberry-Pi-Starter-Kit-p-5004.html) +[![Raspberry Pi 硬體套件](../../translated_images/zh-MO/pi-hardware-kit.26dbadaedb7dd44c73b0131d5d68ea29472ed0a9744f90d5866c6d82f2d16380.png)](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Raspberry-Pi-Starter-Kit-p-5004.html) ## Arduino diff --git a/translations/pt/1-getting-started/lessons/1-introduction-to-iot/README.md b/translations/pt/1-getting-started/lessons/1-introduction-to-iot/README.md index 319e765fd..ae4d39be2 100644 --- a/translations/pt/1-getting-started/lessons/1-introduction-to-iot/README.md +++ b/translations/pt/1-getting-started/lessons/1-introduction-to-iot/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # Introdução ao IoT -![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt/lesson-1.2606670fa61ee904687da5d6fa4e726639d524d064c895117da1b95b9ff6251d.jpg) +![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt-PT/lesson-1.2606670fa61ee904687da5d6fa4e726639d524d064c895117da1b95b9ff6251d.jpg) > Ilustração por [Nitya Narasimhan](https://github.com/nitya). Clique na imagem para uma versão maior. @@ -79,7 +79,7 @@ Um microcontrolador (também chamado de MCU, abreviação de microcontroller uni Os microcontroladores são dispositivos de computação de baixo custo, com preços médios para aqueles usados em hardware personalizado caindo para cerca de US$0,50, e alguns dispositivos custando apenas US$0,03. Kits de desenvolvimento podem começar a partir de US$4, com os custos aumentando à medida que mais recursos são adicionados. O [Wio Terminal](https://www.seeedstudio.com/Wio-Terminal-p-4509.html), um kit de desenvolvimento de microcontrolador da [Seeed Studios](https://www.seeedstudio.com) que possui sensores, atuadores, WiFi e uma tela, custa cerca de US$30. -![Um Wio Terminal](../../../../../translated_images/pt/wio-terminal.b8299ee16587db9a.webp) +![Um Wio Terminal](../../../../../translated_images/pt-PT/wio-terminal.b8299ee16587db9a.webp) > 💁 Ao pesquisar na Internet por microcontroladores, tenha cuidado ao procurar pelo termo **MCU**, pois isso trará muitos resultados relacionados ao Universo Cinematográfico da Marvel, e não a microcontroladores. @@ -93,7 +93,7 @@ Os kits de desenvolvimento de microcontroladores geralmente vêm com sensores e Um computador de placa única é um pequeno dispositivo de computação que contém todos os elementos de um computador completo em uma única placa pequena. Estes dispositivos possuem especificações próximas a um PC ou Mac de secretária ou portátil, executam um sistema operativo completo, mas são menores, consomem menos energia e são substancialmente mais baratos. -![Um Raspberry Pi 4](../../../../../translated_images/pt/raspberry-pi-4.fd4590d308c3d456.webp) +![Um Raspberry Pi 4](../../../../../translated_images/pt-PT/raspberry-pi-4.fd4590d308c3d456.webp) O Raspberry Pi é um dos computadores de placa única mais populares. diff --git a/translations/pt/1-getting-started/lessons/1-introduction-to-iot/pi.md b/translations/pt/1-getting-started/lessons/1-introduction-to-iot/pi.md index 61aea063b..7d0226165 100644 --- a/translations/pt/1-getting-started/lessons/1-introduction-to-iot/pi.md +++ b/translations/pt/1-getting-started/lessons/1-introduction-to-iot/pi.md @@ -11,7 +11,7 @@ CO_OP_TRANSLATOR_METADATA: O [Raspberry Pi](https://raspberrypi.org) é um computador de placa única. Pode adicionar sensores e atuadores utilizando uma ampla gama de dispositivos e ecossistemas. Para estas lições, será utilizado um ecossistema de hardware chamado [Grove](https://www.seeedstudio.com/category/Grove-c-1003.html). Vai programar o seu Pi e aceder aos sensores Grove utilizando Python. -![Um Raspberry Pi 4](../../../../../translated_images/pt/raspberry-pi-4.fd4590d308c3d456.webp) +![Um Raspberry Pi 4](../../../../../translated_images/pt-PT/raspberry-pi-4.fd4590d308c3d456.webp) ## Configuração @@ -112,7 +112,7 @@ Configure o sistema operativo do Pi para funcionar como 'headless'. 1. No Raspberry Pi Imager, selecione o botão **CHOOSE OS**, depois escolha *Raspberry Pi OS (Other)* e, em seguida, *Raspberry Pi OS Lite (32-bit)*. - ![O Raspberry Pi Imager com o Raspberry Pi OS Lite selecionado](../../../../../translated_images/pt/raspberry-pi-imager.24aedeab9e233d84.webp) + ![O Raspberry Pi Imager com o Raspberry Pi OS Lite selecionado](../../../../../translated_images/pt-PT/raspberry-pi-imager.24aedeab9e233d84.webp) > 💁 O Raspberry Pi OS Lite é uma versão do Raspberry Pi OS sem a interface gráfica ou ferramentas baseadas em UI. Estas não são necessárias para um Pi 'headless', tornando a instalação mais leve e o tempo de arranque mais rápido. @@ -251,7 +251,7 @@ Cria a aplicação Hello World. 1. Abre esta pasta no VS Code selecionando *File -> Open...* e escolhendo a pasta *nightlight*, depois seleciona **OK**. - ![A janela de diálogo do VS Code a mostrar a pasta nightlight](../../../../../translated_images/pt/vscode-open-nightlight-remote.d3d2a4011e30d535.webp) + ![A janela de diálogo do VS Code a mostrar a pasta nightlight](../../../../../translated_images/pt-PT/vscode-open-nightlight-remote.d3d2a4011e30d535.webp) 1. Abre o ficheiro `app.py` no explorador do VS Code e adiciona o seguinte código: diff --git a/translations/pt/1-getting-started/lessons/1-introduction-to-iot/virtual-device.md b/translations/pt/1-getting-started/lessons/1-introduction-to-iot/virtual-device.md index a7ff99385..f1005378c 100644 --- a/translations/pt/1-getting-started/lessons/1-introduction-to-iot/virtual-device.md +++ b/translations/pt/1-getting-started/lessons/1-introduction-to-iot/virtual-device.md @@ -154,11 +154,11 @@ Crie uma aplicação Python para imprimir `"Hello World"` no terminal. 1. Quando o VS Code for iniciado, ativará o ambiente virtual Python. O ambiente virtual selecionado aparecerá na barra de estado inferior: - ![VS Code mostrando o ambiente virtual selecionado](../../../../../translated_images/pt/vscode-virtual-env.8ba42e04c3d533cf.webp) + ![VS Code mostrando o ambiente virtual selecionado](../../../../../translated_images/pt-PT/vscode-virtual-env.8ba42e04c3d533cf.webp) 1. Se o Terminal do VS Code já estiver em execução quando o VS Code for iniciado, ele não terá o ambiente virtual ativado. A forma mais fácil de resolver isso é encerrar o terminal usando o botão **Kill the active terminal instance**: - ![Botão Kill the active terminal instance no VS Code](../../../../../translated_images/pt/vscode-kill-terminal.1cc4de7c6f25ee08.webp) + ![Botão Kill the active terminal instance no VS Code](../../../../../translated_images/pt-PT/vscode-kill-terminal.1cc4de7c6f25ee08.webp) Pode verificar se o terminal tem o ambiente virtual ativado, pois o nome do ambiente virtual será um prefixo no prompt do terminal. Por exemplo, pode ser: @@ -212,7 +212,7 @@ Como um segundo passo do 'Hello World', irá executar a aplicação CounterFit e A aplicação começará a ser executada e abrirá no seu navegador: - ![A aplicação CounterFit a ser executada num navegador](../../../../../translated_images/pt/counterfit-first-run.433326358b669b31d0e99c3513cb01bfbb13724d162c99cdcc8f51ecf5f9c779.png) + ![A aplicação CounterFit a ser executada num navegador](../../../../../translated_images/pt-PT/counterfit-first-run.433326358b669b31d0e99c3513cb01bfbb13724d162c99cdcc8f51ecf5f9c779.png) Será marcada como *Disconnected*, com o LED no canto superior direito desligado. @@ -229,11 +229,11 @@ Como um segundo passo do 'Hello World', irá executar a aplicação CounterFit e 1. Precisará de iniciar um novo terminal no VS Code selecionando o botão **Create a new integrated terminal**. Isto porque a aplicação CounterFit está a ser executada no terminal atual. - ![Botão Create a new integrated terminal no VS Code](../../../../../translated_images/pt/vscode-new-terminal.77db8fc0f9cd3182.webp) + ![Botão Create a new integrated terminal no VS Code](../../../../../translated_images/pt-PT/vscode-new-terminal.77db8fc0f9cd3182.webp) 1. Neste novo terminal, execute o ficheiro `app.py` como antes. O estado do CounterFit mudará para **Connected** e o LED acenderá. - ![CounterFit mostrando como conectado](../../../../../translated_images/pt/counterfit-connected.ed30b46d8f79b0921f3fc70be10366e596a89dca3f80c2224a9d9fc98fccf884.png) + ![CounterFit mostrando como conectado](../../../../../translated_images/pt-PT/counterfit-connected.ed30b46d8f79b0921f3fc70be10366e596a89dca3f80c2224a9d9fc98fccf884.png) > 💁 Pode encontrar este código na pasta [code/virtual-device](../../../../../1-getting-started/lessons/1-introduction-to-iot/code/virtual-device). diff --git a/translations/pt/1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md b/translations/pt/1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md index 3cfeb8f20..b24d25477 100644 --- a/translations/pt/1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md +++ b/translations/pt/1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md @@ -11,7 +11,7 @@ CO_OP_TRANSLATOR_METADATA: O [Wio Terminal da Seeed Studios](https://www.seeedstudio.com/Wio-Terminal-p-4509.html) é um microcontrolador compatível com Arduino, com WiFi e alguns sensores e atuadores integrados, bem como portas para adicionar mais sensores e atuadores, utilizando um ecossistema de hardware chamado [Grove](https://www.seeedstudio.com/category/Grove-c-1003.html). -![Um Wio Terminal da Seeed Studios](../../../../../translated_images/pt/wio-terminal.b8299ee16587db9a.webp) +![Um Wio Terminal da Seeed Studios](../../../../../translated_images/pt-PT/wio-terminal.b8299ee16587db9a.webp) ## Configuração @@ -51,15 +51,15 @@ Crie o projeto PlatformIO. 1. O ícone do PlatformIO estará na barra de menu lateral: - ![A opção de menu do PlatformIO](../../../../../translated_images/pt/vscode-platformio-menu.297be26b9733e5c4.webp) + ![A opção de menu do PlatformIO](../../../../../translated_images/pt-PT/vscode-platformio-menu.297be26b9733e5c4.webp) Selecione este item de menu e, em seguida, selecione *PIO Home -> Open*. - ![A opção de abrir o PlatformIO](../../../../../translated_images/pt/vscode-platformio-home-open.3f9a41bfd3f4da1c.webp) + ![A opção de abrir o PlatformIO](../../../../../translated_images/pt-PT/vscode-platformio-home-open.3f9a41bfd3f4da1c.webp) 1. Na tela de boas-vindas, selecione o botão **+ New Project**. - ![O botão de novo projeto](../../../../../translated_images/pt/vscode-platformio-welcome-new-button.ba6fc8a4c7b78cc8.webp) + ![O botão de novo projeto](../../../../../translated_images/pt-PT/vscode-platformio-welcome-new-button.ba6fc8a4c7b78cc8.webp) 1. Configure o projeto no *Project Wizard*: @@ -73,7 +73,7 @@ Crie o projeto PlatformIO. 1. Selecione o botão **Finish**. - ![O assistente de projeto concluído](../../../../../translated_images/pt/vscode-platformio-nightlight-project-wizard.5c64db4da6037420.webp) + ![O assistente de projeto concluído](../../../../../translated_images/pt-PT/vscode-platformio-nightlight-project-wizard.5c64db4da6037420.webp) O PlatformIO fará o download dos componentes necessários para compilar o código para o Wio Terminal e criará o seu projeto. Isso pode levar alguns minutos. @@ -179,7 +179,7 @@ Escreva a aplicação Hello World. 1. Digite `PlatformIO Upload` para procurar a opção de upload e selecione *PlatformIO: Upload*. - ![A opção de upload do PlatformIO no painel de comandos](../../../../../translated_images/pt/vscode-platformio-upload-command-palette.9e0f49cf80d1f1c3.webp) + ![A opção de upload do PlatformIO no painel de comandos](../../../../../translated_images/pt-PT/vscode-platformio-upload-command-palette.9e0f49cf80d1f1c3.webp) O PlatformIO compilará automaticamente o código, se necessário, antes de carregá-lo. @@ -195,7 +195,7 @@ O PlatformIO possui um Monitor Serial que pode monitorar os dados enviados pelo 1. Digite `PlatformIO Serial` para procurar a opção de Monitor Serial e selecione *PlatformIO: Serial Monitor*. - ![A opção de Monitor Serial do PlatformIO no painel de comandos](../../../../../translated_images/pt/vscode-platformio-serial-monitor-command-palette.b348ec841b8a1c14.webp) + ![A opção de Monitor Serial do PlatformIO no painel de comandos](../../../../../translated_images/pt-PT/vscode-platformio-serial-monitor-command-palette.b348ec841b8a1c14.webp) Um novo terminal será aberto, e os dados enviados pela porta serial serão exibidos neste terminal: diff --git a/translations/pt/1-getting-started/lessons/2-deeper-dive/README.md b/translations/pt/1-getting-started/lessons/2-deeper-dive/README.md index e7d1a0e76..cccf6ad6b 100644 --- a/translations/pt/1-getting-started/lessons/2-deeper-dive/README.md +++ b/translations/pt/1-getting-started/lessons/2-deeper-dive/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # Uma exploração mais profunda no IoT -![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt/lesson-2.324b0580d620c25e0a24fb7fddfc0b29a846dd4b82c08e7a9466d580ee78ce51.jpg) +![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt-PT/lesson-2.324b0580d620c25e0a24fb7fddfc0b29a846dd4b82c08e7a9466d580ee78ce51.jpg) > Ilustração por [Nitya Narasimhan](https://github.com/nitya). Clique na imagem para uma versão maior. @@ -41,13 +41,13 @@ Os dois componentes de uma aplicação IoT são a *Internet* e o *dispositivo*. ### O Dispositivo -![Um Raspberry Pi 4](../../../../../translated_images/pt/raspberry-pi-4.fd4590d308c3d456.webp) +![Um Raspberry Pi 4](../../../../../translated_images/pt-PT/raspberry-pi-4.fd4590d308c3d456.webp) A parte **Dispositivo** do IoT refere-se a um equipamento que pode interagir com o mundo físico. Esses dispositivos geralmente são pequenos, de baixo custo, operando em velocidades reduzidas e consumindo pouca energia - por exemplo, microcontroladores simples com apenas alguns kilobytes de RAM (em comparação com gigabytes em um PC), operando a algumas centenas de megahertz (em comparação com gigahertz em um PC), mas consumindo tão pouca energia que podem funcionar por semanas, meses ou até anos com baterias. Esses dispositivos interagem com o mundo físico, seja usando sensores para coletar dados do ambiente ou controlando saídas ou atuadores para realizar mudanças físicas. Um exemplo típico é um termostato inteligente - um dispositivo que possui um sensor de temperatura, um meio de definir a temperatura desejada, como um botão ou tela sensível ao toque, e uma conexão com um sistema de aquecimento ou refrigeração que pode ser ativado quando a temperatura detectada estiver fora do intervalo desejado. O sensor de temperatura detecta que o ambiente está muito frio e um atuador liga o aquecimento. -![Um diagrama mostrando a temperatura e um botão como entradas para um dispositivo IoT, e o controle de um aquecedor como saída](../../../../../translated_images/pt/basic-thermostat.a923217fd1f37e5a6f3390396a65c22a387419ea2dd17e518ec24315ba6ae9a8.png) +![Um diagrama mostrando a temperatura e um botão como entradas para um dispositivo IoT, e o controle de um aquecedor como saída](../../../../../translated_images/pt-PT/basic-thermostat.a923217fd1f37e5a6f3390396a65c22a387419ea2dd17e518ec24315ba6ae9a8.png) Há uma enorme variedade de dispositivos que podem atuar como dispositivos IoT, desde hardware dedicado que detecta uma única coisa até dispositivos de uso geral, incluindo o seu smartphone! Um smartphone pode usar sensores para detectar o ambiente ao seu redor e atuadores para interagir com o mundo - por exemplo, usando um sensor GPS para detectar sua localização e um alto-falante para fornecer instruções de navegação até um destino. @@ -63,11 +63,11 @@ Os dispositivos nem sempre se conectam diretamente à Internet via WiFi ou conex No exemplo de um termostato inteligente, o termostato se conectaria usando o WiFi doméstico a um serviço em nuvem. Ele enviaria os dados de temperatura para esse serviço em nuvem, que, por sua vez, os gravaria em um banco de dados, permitindo que o proprietário verificasse as temperaturas atuais e passadas por meio de um aplicativo no telefone. Outro serviço na nuvem saberia qual temperatura o proprietário deseja e enviaria mensagens de volta ao dispositivo IoT por meio do serviço em nuvem para informar ao sistema de aquecimento se deve ligar ou desligar. -![Um diagrama mostrando a temperatura e um botão como entradas para um dispositivo IoT, o dispositivo IoT com comunicação bidirecional com a nuvem, que, por sua vez, tem comunicação bidirecional com um telefone, e o controle de um aquecedor como saída do dispositivo IoT](../../../../../translated_images/pt/mobile-controlled-thermostat.4a994010473d8d6a52ba68c67e5f02dc8928c717e93ca4b9bc55525aa75bbb60.png) +![Um diagrama mostrando a temperatura e um botão como entradas para um dispositivo IoT, o dispositivo IoT com comunicação bidirecional com a nuvem, que, por sua vez, tem comunicação bidirecional com um telefone, e o controle de um aquecedor como saída do dispositivo IoT](../../../../../translated_images/pt-PT/mobile-controlled-thermostat.4a994010473d8d6a52ba68c67e5f02dc8928c717e93ca4b9bc55525aa75bbb60.png) Uma versão ainda mais inteligente poderia usar IA na nuvem com dados de outros sensores conectados a outros dispositivos IoT, como sensores de ocupação que detectam quais cômodos estão em uso, além de dados como condições climáticas e até mesmo o seu calendário, para tomar decisões sobre como ajustar a temperatura de forma inteligente. Por exemplo, poderia desligar o aquecimento se o calendário indicar que você está de férias ou ajustar o aquecimento de forma personalizada para cada cômodo, dependendo de quais você utiliza, aprendendo com os dados para se tornar cada vez mais preciso ao longo do tempo. -![Um diagrama mostrando múltiplos sensores de temperatura e um botão como entradas para um dispositivo IoT, o dispositivo IoT com comunicação bidirecional com a nuvem, que, por sua vez, tem comunicação bidirecional com um telefone, um calendário e um serviço meteorológico, e o controle de um aquecedor como saída do dispositivo IoT](../../../../../translated_images/pt/smarter-thermostat.a75855f15d2d9e63.webp) +![Um diagrama mostrando múltiplos sensores de temperatura e um botão como entradas para um dispositivo IoT, o dispositivo IoT com comunicação bidirecional com a nuvem, que, por sua vez, tem comunicação bidirecional com um telefone, um calendário e um serviço meteorológico, e o controle de um aquecedor como saída do dispositivo IoT](../../../../../translated_images/pt-PT/smarter-thermostat.a75855f15d2d9e63.webp) ✅ Que outros dados poderiam ajudar a tornar um termostato conectado à Internet mais inteligente? @@ -103,7 +103,7 @@ Quanto mais rápido o ciclo do relógio, mais instruções podem ser processadas > 💁 As CPUs executam programas usando o [ciclo buscar-decodificar-executar](https://wikipedia.org/wiki/Instruction_cycle). A cada tique do relógio, a CPU buscará a próxima instrução na memória, decodificará e, em seguida, executará, como usar uma unidade lógica aritmética (ALU) para somar dois números. Algumas execuções levarão múltiplos tiques para serem concluídas, então o próximo ciclo será executado no próximo tique após a conclusão da instrução. -![Os ciclos buscar-decodificar-executar mostrando a busca de uma instrução do programa armazenado na RAM, depois decodificando e executando na CPU](../../../../../translated_images/pt/fetch-decode-execute.2fd6f150f6280392807f4475382319abd0cee0b90058e1735444d6baa6f2078c.png) +![Os ciclos buscar-decodificar-executar mostrando a busca de uma instrução do programa armazenado na RAM, depois decodificando e executando na CPU](../../../../../translated_images/pt-PT/fetch-decode-execute.2fd6f150f6280392807f4475382319abd0cee0b90058e1735444d6baa6f2078c.png) Microcontroladores têm velocidades de relógio muito mais baixas do que computadores de mesa ou portáteis, ou mesmo a maioria dos smartphones. O Wio Terminal, por exemplo, tem uma CPU que opera a 120MHz ou 120.000.000 ciclos por segundo. @@ -135,7 +135,7 @@ Tal como acontece com a CPU, a memória de um microcontrolador é várias ordens O diagrama abaixo mostra a diferença relativa de tamanho entre 192KB e 8GB - o pequeno ponto no centro representa 192KB. -![Uma comparação entre 192KB e 8GB - mais de 40.000 vezes maior](../../../../../translated_images/pt/ram-comparison.6beb73541b42ac6f.webp) +![Uma comparação entre 192KB e 8GB - mais de 40.000 vezes maior](../../../../../translated_images/pt-PT/ram-comparison.6beb73541b42ac6f.webp) O armazenamento de programas também é menor do que num PC. Um PC típico pode ter um disco rígido de 500GB para armazenamento de programas, enquanto um microcontrolador pode ter apenas kilobytes ou, talvez, alguns megabytes (MB) de armazenamento (1MB é 1.000KB, ou 1.000.000 bytes). O terminal Wio tem 4MB de armazenamento para programas. @@ -191,7 +191,7 @@ As placas Arduino são programadas em C ou C++. Usar C/C++ permite que o seu có Escreveria o seu código de configuração na função `setup`, como conectar-se ao WiFi e serviços na cloud ou inicializar pinos para entrada e saída. O seu código de processamento ficaria na função `loop`, como ler de um sensor e enviar o valor para a cloud. Normalmente, incluiria um atraso em cada loop; por exemplo, se quiser que os dados do sensor sejam enviados apenas a cada 10 segundos, adicionaria um atraso de 10 segundos no final do loop para que o microcontrolador possa entrar em modo de suspensão, economizando energia, e depois executar o loop novamente quando necessário, 10 segundos depois. -![Um sketch Arduino executando setup primeiro, depois executando loop repetidamente](../../../../../translated_images/pt/arduino-sketch.79590cb837ff7a7c6a68d1afda6cab83fd53d3bb1bd9a8bf2eaf8d693a4d3ea6.png) +![Um sketch Arduino executando setup primeiro, depois executando loop repetidamente](../../../../../translated_images/pt-PT/arduino-sketch.79590cb837ff7a7c6a68d1afda6cab83fd53d3bb1bd9a8bf2eaf8d693a4d3ea6.png) ✅ Esta arquitetura de programa é conhecida como *event loop* ou *message loop*. Muitas aplicações utilizam este modelo nos bastidores e é o padrão para a maioria das aplicações desktop que executam em SOs como Windows, macOS ou Linux. O `loop` escuta mensagens de componentes da interface de utilizador, como botões, ou dispositivos como o teclado, e responde a elas. Pode ler mais neste [artigo sobre o event loop](https://wikipedia.org/wiki/Event_loop). @@ -211,17 +211,17 @@ Na última lição, introduzimos os computadores de placa única. Vamos agora ex ### Raspberry Pi -![O logótipo do Raspberry Pi](../../../../../translated_images/pt/raspberry-pi-logo.4efaa16605cee054.webp) +![O logótipo do Raspberry Pi](../../../../../translated_images/pt-PT/raspberry-pi-logo.4efaa16605cee054.webp) A [Raspberry Pi Foundation](https://www.raspberrypi.org) é uma instituição de caridade do Reino Unido fundada em 2009 para promover o estudo da ciência da computação, especialmente ao nível escolar. Como parte desta missão, desenvolveram um computador de placa única, chamado Raspberry Pi. Atualmente, os Raspberry Pis estão disponíveis em 3 variantes - uma versão de tamanho completo, o menor Pi Zero, e um módulo de computação que pode ser integrado no seu dispositivo IoT final. -![Um Raspberry Pi 4](../../../../../translated_images/pt/raspberry-pi-4.fd4590d308c3d456.webp) +![Um Raspberry Pi 4](../../../../../translated_images/pt-PT/raspberry-pi-4.fd4590d308c3d456.webp) A iteração mais recente do Raspberry Pi de tamanho completo é o Raspberry Pi 4B. Este possui uma CPU quad-core (4 núcleos) a 1,5GHz, 2, 4 ou 8GB de RAM, ethernet gigabit, WiFi, 2 portas HDMI que suportam ecrãs 4k, uma porta de saída de áudio e vídeo composto, portas USB (2 USB 2.0, 2 USB 3.0), 40 pinos GPIO, um conector de câmara para um módulo de câmara Raspberry Pi e um slot para cartão SD. Tudo isto numa placa de 88mm x 58mm x 19,5mm, alimentada por uma fonte de alimentação USB-C de 3A. Estes começam a partir de US$35, muito mais baratos do que um PC ou Mac. > 💁 Existe também um Pi400, um computador tudo-em-um com um Pi4 integrado num teclado. -![Um Raspberry Pi Zero](../../../../../translated_images/pt/raspberry-pi-zero.f7a4133e1e7d54bb.webp) +![Um Raspberry Pi Zero](../../../../../translated_images/pt-PT/raspberry-pi-zero.f7a4133e1e7d54bb.webp) O Pi Zero é muito menor e consome menos energia. Ele possui uma CPU de núcleo único a 1GHz, 512MB de RAM, WiFi (no modelo Zero W), uma única porta HDMI, uma porta micro-USB, 40 pinos GPIO, um conector de câmara para um módulo de câmara Raspberry Pi e um slot para cartão SD. Mede 65mm x 30mm x 5mm e consome muito pouca energia. O Zero custa US$5, enquanto a versão W com WiFi custa US$10. diff --git a/translations/pt/1-getting-started/lessons/3-sensors-and-actuators/README.md b/translations/pt/1-getting-started/lessons/3-sensors-and-actuators/README.md index 4acf5a160..6a659ce96 100644 --- a/translations/pt/1-getting-started/lessons/3-sensors-and-actuators/README.md +++ b/translations/pt/1-getting-started/lessons/3-sensors-and-actuators/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # Interagir com o mundo físico com sensores e atuadores -![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt/lesson-3.cc3b7b4cd646de598698cce043c0393fd62ef42bac2eaf60e61272cd844250f4.jpg) +![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt-PT/lesson-3.cc3b7b4cd646de598698cce043c0393fd62ef42bac2eaf60e61272cd844250f4.jpg) > Ilustração por [Nitya Narasimhan](https://github.com/nitya). Clique na imagem para uma versão maior. @@ -75,7 +75,7 @@ Alguns dos sensores mais básicos são analógicos. Esses sensores recebem uma t Um exemplo disso é um potenciômetro. Este é um botão que você pode girar entre duas posições, e o sensor mede a rotação. -![Um potenciômetro ajustado para um ponto médio sendo enviado 5 volts e retornando 3,8 volts](../../../../../translated_images/pt/potentiometer.35a348b9ce22f6ec.webp) +![Um potenciômetro ajustado para um ponto médio sendo enviado 5 volts e retornando 3,8 volts](../../../../../translated_images/pt-PT/potentiometer.35a348b9ce22f6ec.webp) O dispositivo IoT enviará um sinal elétrico ao potenciômetro com uma tensão, como 5 volts (5V). À medida que o potenciômetro é ajustado, ele altera a tensão que sai do outro lado. Imagine que você tem um potenciômetro rotulado como um botão que vai de 0 a [11](https://wikipedia.org/wiki/Up_to_eleven), como um botão de volume em um amplificador. Quando o potenciômetro está na posição totalmente desligada (0), então 0V (0 volts) sairão. Quando está na posição totalmente ligada (11), 5V (5 volts) sairão. @@ -101,7 +101,7 @@ Sensores digitais, como sensores analógicos, detectam o mundo ao seu redor usan O sensor digital mais simples é um botão ou interruptor. Este é um sensor com dois estados, ligado ou desligado. -![Um botão é enviado 5 volts. Quando não pressionado, retorna 0 volts; quando pressionado, retorna 5 volts](../../../../../translated_images/pt/button.eadb560b77ac45e56f523d9d8876e40444f63b419e33eb820082d461fa79490b.png) +![Um botão é enviado 5 volts. Quando não pressionado, retorna 0 volts; quando pressionado, retorna 5 volts](../../../../../translated_images/pt-PT/button.eadb560b77ac45e56f523d9d8876e40444f63b419e33eb820082d461fa79490b.png) Pinos em dispositivos IoT, como pinos GPIO, podem medir este sinal diretamente como 0 ou 1. Se a tensão enviada for igual à tensão retornada, o valor lido é 1; caso contrário, o valor lido é 0. Não há necessidade de converter o sinal, ele só pode ser 1 ou 0. @@ -112,7 +112,7 @@ Pinos em dispositivos IoT, como pinos GPIO, podem medir este sinal diretamente c Sensores digitais mais avançados leem valores analógicos e os convertem usando ADCs embutidos para sinais digitais. Por exemplo, um sensor de temperatura digital ainda usará um termopar da mesma forma que um sensor analógico e ainda medirá a mudança na tensão causada pela resistência do termopar na temperatura atual. Em vez de retornar um valor analógico e depender do dispositivo ou da placa de conexão para converter em um sinal digital, um ADC embutido no sensor converterá o valor e o enviará como uma série de 0s e 1s para o dispositivo IoT. Esses 0s e 1s são enviados da mesma forma que o sinal digital de um botão, com 1 sendo tensão total e 0 sendo 0V. -![Um sensor de temperatura digital convertendo uma leitura analógica em dados binários com 0 como 0 volts e 1 como 5 volts antes de enviá-los para um dispositivo IoT](../../../../../translated_images/pt/temperature-as-digital.85004491b977bae1.webp) +![Um sensor de temperatura digital convertendo uma leitura analógica em dados binários com 0 como 0 volts e 1 como 5 volts antes de enviá-los para um dispositivo IoT](../../../../../translated_images/pt-PT/temperature-as-digital.85004491b977bae1.webp) O envio de dados digitais permite que os sensores se tornem mais complexos e enviem dados mais detalhados, até mesmo dados criptografados para sensores seguros. Um exemplo é uma câmera. Este é um sensor que captura uma imagem e a envia como dados digitais contendo essa imagem, geralmente em um formato comprimido como JPEG, para ser lida pelo dispositivo IoT. Ela pode até transmitir vídeo capturando imagens e enviando ou o quadro completo imagem por imagem ou um fluxo de vídeo comprimido. @@ -134,7 +134,7 @@ Alguns atuadores comuns incluem: Siga o guia relevante abaixo para adicionar um atuador ao seu dispositivo IoT, controlado pelo sensor, para construir uma luz noturna IoT. Ele reunirá os níveis de luz do sensor de luz e usará um atuador na forma de um LED para emitir luz quando o nível de luz detectado for muito baixo. -![Um diagrama de fluxo da tarefa mostrando os níveis de luz sendo lidos e verificados, e o LED sendo controlado](../../../../../translated_images/pt/assignment-1-flow.7552a51acb1a5ec858dca6e855cdbb44206434006df8ba3799a25afcdab1665d.png) +![Um diagrama de fluxo da tarefa mostrando os níveis de luz sendo lidos e verificados, e o LED sendo controlado](../../../../../translated_images/pt-PT/assignment-1-flow.7552a51acb1a5ec858dca6e855cdbb44206434006df8ba3799a25afcdab1665d.png) * [Arduino - Wio Terminal](wio-terminal-actuator.md) * [Computador de placa única - Raspberry Pi](pi-actuator.md) @@ -149,7 +149,7 @@ Assim como os sensores, os atuadores podem ser analógicos ou digitais. Atuadores analógicos recebem um sinal analógico e o convertem em algum tipo de interação, onde a interação muda com base na tensão fornecida. Um exemplo é uma luz regulável, como as que você pode ter em sua casa. A quantidade de tensão fornecida à luz determina o quão brilhante ela será. -![Uma luz regulada com baixa voltagem e mais brilhante com alta voltagem](../../../../../translated_images/pt/dimmable-light.9ceffeb195dec1a849da718b2d71b32c35171ff7dfea9c07bbf82646a67acf6b.png) +![Uma luz regulada com baixa voltagem e mais brilhante com alta voltagem](../../../../../translated_images/pt-PT/dimmable-light.9ceffeb195dec1a849da718b2d71b32c35171ff7dfea9c07bbf82646a67acf6b.png) Tal como acontece com os sensores, o dispositivo IoT funciona com sinais digitais, não analógicos. Isso significa que, para enviar um sinal analógico, o dispositivo IoT precisa de um conversor digital para analógico (DAC), seja diretamente no dispositivo IoT ou numa placa de conexão. Este conversor transforma os 0s e 1s do dispositivo IoT numa voltagem analógica que o atuador pode utilizar. @@ -164,7 +164,7 @@ Por exemplo, podes usar PWM para controlar a velocidade de um motor. Imagina que estás a controlar um motor com uma alimentação de 5V. Envias um pulso curto para o motor, alternando a voltagem para alta (5V) durante dois centésimos de segundo (0,02s). Nesse tempo, o motor pode girar um décimo de uma rotação, ou 36°. O sinal então pausa durante dois centésimos de segundo (0,02s), enviando um sinal baixo (0V). Cada ciclo de ligado e desligado dura 0,04s. O ciclo repete-se. -![Modulação por largura de pulso na rotação de um motor a 150 RPM](../../../../../translated_images/pt/pwm-motor-150rpm.83347ac04ca38482.webp) +![Modulação por largura de pulso na rotação de um motor a 150 RPM](../../../../../translated_images/pt-PT/pwm-motor-150rpm.83347ac04ca38482.webp) Isto significa que, em um segundo, tens 25 pulsos de 5V com duração de 0,02s que fazem o motor girar, seguidos por pausas de 0,02s com 0V, onde o motor não gira. Cada pulso faz o motor girar um décimo de uma rotação, o que significa que o motor completa 2,5 rotações por segundo. Usaste um sinal digital para girar o motor a 2,5 rotações por segundo, ou 150 [rotações por minuto](https://wikipedia.org/wiki/Revolutions_per_minute) (uma medida não padronizada de velocidade de rotação). @@ -175,7 +175,7 @@ Isto significa que, em um segundo, tens 25 pulsos de 5V com duração de 0,02s q > 🎓 Quando um sinal PWM está ligado metade do tempo e desligado na outra metade, isso é chamado de [ciclo de trabalho de 50%](https://wikipedia.org/wiki/Duty_cycle). Os ciclos de trabalho são medidos como a percentagem de tempo em que o sinal está no estado ligado em comparação com o estado desligado. -![Modulação por largura de pulso na rotação de um motor a 75 RPM](../../../../../translated_images/pt/pwm-motor-75rpm.a5e4c939934b6e14.webp) +![Modulação por largura de pulso na rotação de um motor a 75 RPM](../../../../../translated_images/pt-PT/pwm-motor-75rpm.a5e4c939934b6e14.webp) Podes alterar a velocidade do motor ajustando o tamanho dos pulsos. Por exemplo, com o mesmo motor, podes manter o mesmo tempo de ciclo de 0,04s, reduzindo o pulso ligado para 0,01s e aumentando o pulso desligado para 0,03s. Tens o mesmo número de pulsos por segundo (25), mas cada pulso ligado tem metade da duração. Um pulso com metade da duração faz o motor girar um vigésimo de uma rotação, e com 25 pulsos por segundo, o motor completará 1,25 rotações por segundo ou 75rpm. Alterando a velocidade dos pulsos de um sinal digital, reduziste pela metade a velocidade de um motor analógico. @@ -196,7 +196,7 @@ Atuadores digitais, tal como sensores digitais, têm dois estados controlados po Um atuador digital simples é um LED. Quando um dispositivo envia um sinal digital de 1, uma voltagem alta é enviada, acendendo o LED. Quando um sinal digital de 0 é enviado, a voltagem cai para 0V e o LED apaga-se. -![Um LED está apagado a 0 volts e aceso a 5V](../../../../../translated_images/pt/led.ec6d94f66676a174ad06d9fa9ea49c2ee89beb18b312d5c6476467c66375b07f.png) +![Um LED está apagado a 0 volts e aceso a 5V](../../../../../translated_images/pt-PT/led.ec6d94f66676a174ad06d9fa9ea49c2ee89beb18b312d5c6476467c66375b07f.png) ✅ Que outros atuadores simples de 2 estados consegues imaginar? Um exemplo é um solenóide, que é um eletroímã que pode ser ativado para realizar ações como mover um trinco de porta, trancando ou destrancando-a. diff --git a/translations/pt/1-getting-started/lessons/3-sensors-and-actuators/pi-actuator.md b/translations/pt/1-getting-started/lessons/3-sensors-and-actuators/pi-actuator.md index 6fbe9f17d..32d1ff609 100644 --- a/translations/pt/1-getting-started/lessons/3-sensors-and-actuators/pi-actuator.md +++ b/translations/pt/1-getting-started/lessons/3-sensors-and-actuators/pi-actuator.md @@ -35,7 +35,7 @@ O LED Grove vem como um módulo com uma seleção de LEDs, permitindo-te escolhe Liga o LED. -![Um LED Grove](../../../../../translated_images/pt/grove-led.6c853be93f473cf2c439cfc74bb1064732b22251a83cedf66e62f783f9cc1a79.png) +![Um LED Grove](../../../../../translated_images/pt-PT/grove-led.6c853be93f473cf2c439cfc74bb1064732b22251a83cedf66e62f783f9cc1a79.png) 1. Escolhe o teu LED favorito e insere as pernas nos dois orifícios do módulo LED. @@ -49,7 +49,7 @@ Liga o LED. 1. Com o Raspberry Pi desligado, liga a outra extremidade do cabo Grove à tomada digital marcada como **D5** no Grove Base hat ligado ao Pi. Esta tomada é a segunda a contar da esquerda, na fila de tomadas ao lado dos pinos GPIO. -![O LED Grove ligado à tomada D5](../../../../../translated_images/pt/pi-led.97f1d474981dc35d1c7996c7b17de355d3d0a6bc9606d79fa5f89df933415122.png) +![O LED Grove ligado à tomada D5](../../../../../translated_images/pt-PT/pi-led.97f1d474981dc35d1c7996c7b17de355d3d0a6bc9606d79fa5f89df933415122.png) ## Programar a luz de presença diff --git a/translations/pt/1-getting-started/lessons/3-sensors-and-actuators/pi-sensor.md b/translations/pt/1-getting-started/lessons/3-sensors-and-actuators/pi-sensor.md index bef7e6d33..1109437cc 100644 --- a/translations/pt/1-getting-started/lessons/3-sensors-and-actuators/pi-sensor.md +++ b/translations/pt/1-getting-started/lessons/3-sensors-and-actuators/pi-sensor.md @@ -25,13 +25,13 @@ O sensor de luz Grove, utilizado para detetar os níveis de luz, precisa ser con Conecta o sensor de luz. -![Um sensor de luz Grove](../../../../../translated_images/pt/grove-light-sensor.b8127b7c434e632d6bcdb57587a14e9ef69a268a22df95d08628f62b8fa5505c.png) +![Um sensor de luz Grove](../../../../../translated_images/pt-PT/grove-light-sensor.b8127b7c434e632d6bcdb57587a14e9ef69a268a22df95d08628f62b8fa5505c.png) 1. Insere uma extremidade de um cabo Grove na entrada do módulo do sensor de luz. Ele só encaixará de uma forma. 1. Com o Raspberry Pi desligado, conecta a outra extremidade do cabo Grove à entrada analógica marcada como **A0** no Grove Base hat conectado ao Pi. Esta entrada é a segunda da direita, na fila de entradas ao lado dos pinos GPIO. -![O sensor de luz Grove conectado à entrada A0](../../../../../translated_images/pt/pi-light-sensor.66cc1e31fa48cd7d5f23400d4b2119aa41508275cb7c778053a7923b4e972d7e.png) +![O sensor de luz Grove conectado à entrada A0](../../../../../translated_images/pt-PT/pi-light-sensor.66cc1e31fa48cd7d5f23400d4b2119aa41508275cb7c778053a7923b4e972d7e.png) ## Programar o sensor de luz diff --git a/translations/pt/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-actuator.md b/translations/pt/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-actuator.md index f93f0c205..ffcc55bb1 100644 --- a/translations/pt/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-actuator.md +++ b/translations/pt/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-actuator.md @@ -45,11 +45,11 @@ Adicione o LED à aplicação CounterFit. 1. Selecione o botão **Add** para criar o LED no Pin 5. - ![As definições do LED](../../../../../translated_images/pt/counterfit-create-led.ba9db1c9b8c622a635d6dfae5cdc4e70c2b250635bd4f0601c6cf0bd22b7ba46.png) + ![As definições do LED](../../../../../translated_images/pt-PT/counterfit-create-led.ba9db1c9b8c622a635d6dfae5cdc4e70c2b250635bd4f0601c6cf0bd22b7ba46.png) O LED será criado e aparecerá na lista de atuadores. - ![O LED criado](../../../../../translated_images/pt/counterfit-led.c0ab02de6d256ad84d9bad4d67a7faa709f0ea83e410cfe9b5561ef0cef30b1c.png) + ![O LED criado](../../../../../translated_images/pt-PT/counterfit-led.c0ab02de6d256ad84d9bad4d67a7faa709f0ea83e410cfe9b5561ef0cef30b1c.png) Depois de criar o LED, pode alterar a cor utilizando o seletor *Color*. Selecione o botão **Set** para alterar a cor após a sua escolha. diff --git a/translations/pt/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-sensor.md b/translations/pt/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-sensor.md index 017fb4359..d33221987 100644 --- a/translations/pt/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-sensor.md +++ b/translations/pt/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-sensor.md @@ -37,11 +37,11 @@ Adicione o sensor de luz à aplicação CounterFit. 1. Selecione o botão **Add** para criar o sensor de luz no Pin 0. - ![As definições do sensor de luz](../../../../../translated_images/pt/counterfit-create-light-sensor.9f36a5e0d4458d8d554d54b34d2c806d56093d6e49fddcda2d20f6fef7f5cce1.png) + ![As definições do sensor de luz](../../../../../translated_images/pt-PT/counterfit-create-light-sensor.9f36a5e0d4458d8d554d54b34d2c806d56093d6e49fddcda2d20f6fef7f5cce1.png) O sensor de luz será criado e aparecerá na lista de sensores. - ![O sensor de luz criado](../../../../../translated_images/pt/counterfit-light-sensor.5d0f5584df56b90f6b2561910d9cb20dfbd73eeff2177c238d38f4de54aefae1.png) + ![O sensor de luz criado](../../../../../translated_images/pt-PT/counterfit-light-sensor.5d0f5584df56b90f6b2561910d9cb20dfbd73eeff2177c238d38f4de54aefae1.png) ## Programar o sensor de luz diff --git a/translations/pt/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-actuator.md b/translations/pt/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-actuator.md index 25c3aae70..18837dca5 100644 --- a/translations/pt/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-actuator.md +++ b/translations/pt/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-actuator.md @@ -35,7 +35,7 @@ O LED Grove vem como um módulo com uma seleção de LEDs, permitindo-lhe escolh Ligue o LED. -![Um LED Grove](../../../../../translated_images/pt/grove-led.6c853be93f473cf2c439cfc74bb1064732b22251a83cedf66e62f783f9cc1a79.png) +![Um LED Grove](../../../../../translated_images/pt-PT/grove-led.6c853be93f473cf2c439cfc74bb1064732b22251a83cedf66e62f783f9cc1a79.png) 1. Escolha o seu LED favorito e insira as pernas nos dois orifícios do módulo LED. @@ -51,7 +51,7 @@ Ligue o LED. > 💁 A tomada Grove do lado direito pode ser usada com sensores e atuadores analógicos ou digitais. A tomada do lado esquerdo é apenas para sensores e atuadores digitais. O C será abordado numa lição posterior. -![O LED Grove ligado à tomada do lado direito](../../../../../translated_images/pt/wio-led.265a1897e72d7f21.webp) +![O LED Grove ligado à tomada do lado direito](../../../../../translated_images/pt-PT/wio-led.265a1897e72d7f21.webp) ## Programar a luz de presença diff --git a/translations/pt/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-sensor.md b/translations/pt/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-sensor.md index 2d0231876..aeb9a1637 100644 --- a/translations/pt/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-sensor.md +++ b/translations/pt/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-sensor.md @@ -17,7 +17,7 @@ O sensor para esta lição é um **sensor de luz** que utiliza um [fotodíodo](h O sensor de luz está integrado no Wio Terminal e é visível através da janela de plástico transparente na parte de trás. -![O sensor de luz na parte de trás do Wio Terminal](../../../../../translated_images/pt/wio-light-sensor.b1f529f3c95f5165.webp) +![O sensor de luz na parte de trás do Wio Terminal](../../../../../translated_images/pt-PT/wio-light-sensor.b1f529f3c95f5165.webp) ## Programar o sensor de luz diff --git a/translations/pt/1-getting-started/lessons/4-connect-internet/README.md b/translations/pt/1-getting-started/lessons/4-connect-internet/README.md index 957887d64..625f5c3aa 100644 --- a/translations/pt/1-getting-started/lessons/4-connect-internet/README.md +++ b/translations/pt/1-getting-started/lessons/4-connect-internet/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # Conecte o seu dispositivo à Internet -![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt/lesson-4.7344e074ea68fa545fd320b12dce36d72dd62d28c3b4596cb26cf315f434b98f.jpg) +![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt-PT/lesson-4.7344e074ea68fa545fd320b12dce36d72dd62d28c3b4596cb26cf315f434b98f.jpg) > Ilustração por [Nitya Narasimhan](https://github.com/nitya). Clique na imagem para uma versão maior. @@ -46,7 +46,7 @@ Nesta lição, abordaremos: Existem vários protocolos de comunicação populares usados por dispositivos IoT para se comunicar com a Internet. Os mais comuns são baseados em mensagens de publicação/assinatura via algum tipo de broker. Os dispositivos IoT se conectam ao broker, publicam telemetria e assinam comandos. Os serviços na nuvem também se conectam ao broker, assinam todas as mensagens de telemetria e publicam comandos, seja para dispositivos específicos ou para grupos de dispositivos. -![Dispositivos IoT conectam-se a um broker, publicam telemetria e assinam comandos. Serviços na nuvem conectam-se ao broker, assinam toda a telemetria e enviam comandos para dispositivos específicos.](../../../../../translated_images/pt/pub-sub.7c7ed43fe9fd15d4.webp) +![Dispositivos IoT conectam-se a um broker, publicam telemetria e assinam comandos. Serviços na nuvem conectam-se ao broker, assinam toda a telemetria e enviam comandos para dispositivos específicos.](../../../../../translated_images/pt-PT/pub-sub.7c7ed43fe9fd15d4.webp) O MQTT é o protocolo de comunicação mais popular para dispositivos IoT e será abordado nesta lição. Outros protocolos incluem AMQP e HTTP/HTTPS. @@ -56,7 +56,7 @@ O MQTT é o protocolo de comunicação mais popular para dispositivos IoT e ser O MQTT possui um único broker e vários clientes. Todos os clientes se conectam ao broker, e o broker encaminha mensagens para os clientes relevantes. As mensagens são roteadas usando tópicos nomeados, em vez de serem enviadas diretamente para um cliente individual. Um cliente pode publicar em um tópico, e qualquer cliente que assinar esse tópico receberá a mensagem. -![Dispositivo IoT publicando telemetria no tópico /telemetry, e o serviço na nuvem assinando esse tópico](../../../../../translated_images/pt/mqtt.cbf7f21d9adc3e17548b359444cc11bb4bf2010543e32ece9a47becf54438c23.png) +![Dispositivo IoT publicando telemetria no tópico /telemetry, e o serviço na nuvem assinando esse tópico](../../../../../translated_images/pt-PT/mqtt.cbf7f21d9adc3e17548b359444cc11bb4bf2010543e32ece9a47becf54438c23.png) ✅ Faça uma pesquisa. Se você tiver muitos dispositivos IoT, como pode garantir que o seu broker MQTT consiga lidar com todas as mensagens? @@ -78,7 +78,7 @@ Em vez de lidar com as complexidades de configurar um broker MQTT como parte des > 💁 Este broker de teste é público e não é seguro. Qualquer pessoa pode estar ouvindo o que você publica, então ele não deve ser usado com dados que precisam ser mantidos privados. -![Um fluxograma da tarefa mostrando os níveis de luz sendo lidos e verificados, e o LED sendo controlado](../../../../../translated_images/pt/assignment-1-internet-flow.3256feab5f052fd273bf4e331157c574c2c3fa42e479836fc9c3586f41db35a5.png) +![Um fluxograma da tarefa mostrando os níveis de luz sendo lidos e verificados, e o LED sendo controlado](../../../../../translated_images/pt-PT/assignment-1-internet-flow.3256feab5f052fd273bf4e331157c574c2c3fa42e479836fc9c3586f41db35a5.png) Siga o passo relevante abaixo para conectar o seu dispositivo ao broker MQTT: @@ -115,7 +115,7 @@ A palavra telemetria é derivada de raízes gregas que significam medir remotame Vamos relembrar o exemplo do termostato inteligente da Lição 1. -![Um termostato conectado à Internet usando vários sensores de ambiente](../../../../../translated_images/pt/telemetry.21e5d8b97649d2eb.webp) +![Um termostato conectado à Internet usando vários sensores de ambiente](../../../../../translated_images/pt-PT/telemetry.21e5d8b97649d2eb.webp) O termostato possui sensores de temperatura para coletar telemetria. Provavelmente teria um sensor de temperatura embutido e poderia se conectar a vários sensores de temperatura externos via um protocolo sem fio, como [Bluetooth Low Energy](https://wikipedia.org/wiki/Bluetooth_Low_Energy) (BLE). @@ -267,11 +267,11 @@ Escreva o código do servidor. 1. Quando o VS Code for iniciado, ele ativará o ambiente virtual Python. Isto será indicado na barra de estado inferior: - ![VS Code mostrando o ambiente virtual selecionado](../../../../../translated_images/pt/vscode-virtual-env.8ba42e04c3d533cf.webp) + ![VS Code mostrando o ambiente virtual selecionado](../../../../../translated_images/pt-PT/vscode-virtual-env.8ba42e04c3d533cf.webp) 1. Se o terminal do VS Code já estiver em execução quando o VS Code for iniciado, o ambiente virtual não será ativado nele. A forma mais fácil de resolver isto é encerrar o terminal usando o botão **Kill the active terminal instance**: - ![Botão do VS Code para encerrar a instância ativa do terminal](../../../../../translated_images/pt/vscode-kill-terminal.1cc4de7c6f25ee08.webp) + ![Botão do VS Code para encerrar a instância ativa do terminal](../../../../../translated_images/pt-PT/vscode-kill-terminal.1cc4de7c6f25ee08.webp) 1. Inicie um novo terminal no VS Code selecionando *Terminal -> New Terminal*, ou pressionando `` CTRL+` ``. O novo terminal carregará o ambiente virtual, com a chamada para ativá-lo aparecendo no terminal. O nome do ambiente virtual (`.venv`) também estará no prompt: @@ -359,7 +359,7 @@ Para máquinas, pode querer manter os dados, especialmente se forem usados para Os designers de dispositivos IoT também devem considerar se o dispositivo IoT pode ser usado durante uma interrupção da Internet ou perda de sinal causada pela localização. Um termóstato inteligente deve ser capaz de tomar algumas decisões limitadas para controlar o aquecimento se não puder enviar telemetria para a cloud devido a uma interrupção. -[![Este Ferrari ficou inutilizado porque alguém tentou atualizá-lo num local subterrâneo sem receção de sinal](../../../../../translated_images/pt/bricked-car.dc38f8efadc6c59d76211f981a521efb300939283dee468f79503aae3ec67615.png)](https://twitter.com/internetofshit/status/1315736960082808832) +[![Este Ferrari ficou inutilizado porque alguém tentou atualizá-lo num local subterrâneo sem receção de sinal](../../../../../translated_images/pt-PT/bricked-car.dc38f8efadc6c59d76211f981a521efb300939283dee468f79503aae3ec67615.png)](https://twitter.com/internetofshit/status/1315736960082808832) Para o MQTT lidar com uma perda de conectividade, o código do dispositivo e do servidor será responsável por garantir a entrega das mensagens, se necessário, por exemplo, exigindo que todas as mensagens enviadas sejam respondidas por mensagens adicionais num tópico de resposta e, caso contrário, sejam enfileiradas manualmente para serem reproduzidas mais tarde. @@ -367,7 +367,7 @@ Para o MQTT lidar com uma perda de conectividade, o código do dispositivo e do Comandos são mensagens enviadas pela cloud para um dispositivo, instruindo-o a fazer algo. Na maioria das vezes, isso envolve fornecer algum tipo de saída através de um atuador, mas pode ser uma instrução para o próprio dispositivo, como reiniciar ou recolher telemetria extra e devolvê-la como resposta ao comando. -![Um termóstato conectado à Internet a receber um comando para ligar o aquecimento](../../../../../translated_images/pt/commands.d6c06bbbb3a02cce95f2831a1c331daf6dedd4e470c4aa2b0ae54f332016e504.png) +![Um termóstato conectado à Internet a receber um comando para ligar o aquecimento](../../../../../translated_images/pt-PT/commands.d6c06bbbb3a02cce95f2831a1c331daf6dedd4e470c4aa2b0ae54f332016e504.png) Um termóstato pode receber um comando da cloud para ligar o aquecimento. Com base nos dados de telemetria de todos os sensores, se o serviço na cloud decidir que o aquecimento deve estar ligado, envia o comando relevante. diff --git a/translations/pt/1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md b/translations/pt/1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md index c261f8edf..0f366aa25 100644 --- a/translations/pt/1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md +++ b/translations/pt/1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md @@ -64,7 +64,7 @@ Conecte o Wio Terminal ao WiFi. 1. Crie um novo ficheiro na pasta `src` chamado `config.h`. Pode fazer isso selecionando a pasta `src` ou o ficheiro `main.cpp` dentro dela e clicando no botão **Novo ficheiro** no explorador. Este botão só aparece quando o cursor está sobre o explorador. - ![O botão novo ficheiro](../../../../../translated_images/pt/vscode-new-file-button.182702340fe6723c.webp) + ![O botão novo ficheiro](../../../../../translated_images/pt-PT/vscode-new-file-button.182702340fe6723c.webp) 1. Adicione o seguinte código a este ficheiro para definir constantes para as credenciais do WiFi: diff --git a/translations/pt/2-farm/lessons/1-predict-plant-growth/README.md b/translations/pt/2-farm/lessons/1-predict-plant-growth/README.md index 9886d831e..8afbc61e9 100644 --- a/translations/pt/2-farm/lessons/1-predict-plant-growth/README.md +++ b/translations/pt/2-farm/lessons/1-predict-plant-growth/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # Prever o crescimento das plantas com IoT -![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt/lesson-5.42b234299279d263143148b88ab4583861a32ddb03110c6c1120e41bb88b2592.jpg) +![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt-PT/lesson-5.42b234299279d263143148b88ab4583861a32ddb03110c6c1120e41bb88b2592.jpg) > Ilustração por [Nitya Narasimhan](https://github.com/nitya). Clique na imagem para uma versão maior. @@ -65,7 +65,7 @@ Cada espécie de planta tem valores diferentes para a sua temperatura base, óti ✅ Faz uma pesquisa. Para qualquer planta que tenhas no teu jardim, escola ou parque local, vê se consegues encontrar a temperatura base. -![Um gráfico mostrando a taxa de crescimento a aumentar com a temperatura, depois a cair quando a temperatura fica demasiado alta](../../../../../translated_images/pt/plant-growth-temp-graph.c6d69c9478e6ca83.webp) +![Um gráfico mostrando a taxa de crescimento a aumentar com a temperatura, depois a cair quando a temperatura fica demasiado alta](../../../../../translated_images/pt-PT/plant-growth-temp-graph.c6d69c9478e6ca83.webp) O gráfico acima mostra um exemplo de taxa de crescimento em relação à temperatura. Até à temperatura base, não há crescimento. A taxa de crescimento aumenta até à temperatura ótima e depois diminui após atingir este pico. Na temperatura máxima, o crescimento para. @@ -91,7 +91,7 @@ Este código abre o ficheiro CSV e adiciona uma nova linha no final. A linha con > 💁 Se estiver a usar um Dispositivo IoT Virtual, selecione a caixa de verificação aleatória e defina um intervalo para evitar obter sempre a mesma temperatura quando o valor da temperatura for retornado. - ![Selecione a caixa de verificação aleatória e defina um intervalo](../../../../../translated_images/pt/select-the-random-checkbox-and-set-a-range.32cf4bc7c12e797f.webp) + ![Selecione a caixa de verificação aleatória e defina um intervalo](../../../../../translated_images/pt-PT/select-the-random-checkbox-and-set-a-range.32cf4bc7c12e797f.webp) > 💁 Se quiser executar isto durante um dia inteiro, então precisa de garantir que o computador onde o código do servidor está a correr não entra em modo de suspensão, seja alterando as definições de energia ou executando algo como [este script Python para manter o sistema ativo](https://github.com/jaqsparow/keep-system-active). @@ -111,7 +111,7 @@ Os passos para fazer isto manualmente são: Por exemplo, se a temperatura mais alta do dia for 25°C e a mais baixa for 12°C: -![GDD = 25 + 12 dividido por 2, depois subtraia 10 do resultado, obtendo 8.5](../../../../../translated_images/pt/gdd-calculation-strawberries.59f57db94b22adb8ff6efb951ace33af104a1c6ccca3ffb0f8169c14cb160c90.png) +![GDD = 25 + 12 dividido por 2, depois subtraia 10 do resultado, obtendo 8.5](../../../../../translated_images/pt-PT/gdd-calculation-strawberries.59f57db94b22adb8ff6efb951ace33af104a1c6ccca3ffb0f8169c14cb160c90.png) * 25 + 12 = 37 * 37 / 2 = 18.5 diff --git a/translations/pt/2-farm/lessons/1-predict-plant-growth/assignment.md b/translations/pt/2-farm/lessons/1-predict-plant-growth/assignment.md index 4b1783e65..1bd6dc979 100644 --- a/translations/pt/2-farm/lessons/1-predict-plant-growth/assignment.md +++ b/translations/pt/2-farm/lessons/1-predict-plant-growth/assignment.md @@ -42,7 +42,7 @@ Depois de teres os dados de temperatura, podes usar o Jupyter Notebook neste rep O Jupyter será iniciado e abrirá o notebook no teu navegador. Segue as instruções no notebook para visualizar as temperaturas medidas e calcular os graus-dia de crescimento. - ![O Jupyter Notebook](../../../../../translated_images/pt/gdd-jupyter-notebook.c5b52cf21094f158a61f47f455490fd95f1729777ff90861a4521820bf354cdc.png) + ![O Jupyter Notebook](../../../../../translated_images/pt-PT/gdd-jupyter-notebook.c5b52cf21094f158a61f47f455490fd95f1729777ff90861a4521820bf354cdc.png) ## Rubrica diff --git a/translations/pt/2-farm/lessons/1-predict-plant-growth/pi-temp.md b/translations/pt/2-farm/lessons/1-predict-plant-growth/pi-temp.md index 5498369d1..89a70e36d 100644 --- a/translations/pt/2-farm/lessons/1-predict-plant-growth/pi-temp.md +++ b/translations/pt/2-farm/lessons/1-predict-plant-growth/pi-temp.md @@ -25,13 +25,13 @@ O sensor de temperatura Grove pode ser ligado ao Raspberry Pi. Liga o sensor de temperatura. -![Um sensor de temperatura Grove](../../../../../translated_images/pt/grove-dht11.07f8eafceee170043efbb53e1d15722bd4e00fbaa9ff74290b57e9f66eb82c17.png) +![Um sensor de temperatura Grove](../../../../../translated_images/pt-PT/grove-dht11.07f8eafceee170043efbb53e1d15722bd4e00fbaa9ff74290b57e9f66eb82c17.png) 1. Insere uma extremidade de um cabo Grove na entrada do sensor de humidade e temperatura. O cabo só encaixa de uma forma. 1. Com o Raspberry Pi desligado, liga a outra extremidade do cabo Grove à entrada digital marcada como **D5** no Grove Base Hat conectado ao Pi. Esta entrada é a segunda a contar da esquerda, na fila de entradas ao lado dos pinos GPIO. -![O sensor de temperatura Grove ligado à entrada A0](../../../../../translated_images/pt/pi-temperature-sensor.3ff82fff672c8e56.webp) +![O sensor de temperatura Grove ligado à entrada A0](../../../../../translated_images/pt-PT/pi-temperature-sensor.3ff82fff672c8e56.webp) ## Programar o sensor de temperatura diff --git a/translations/pt/2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md b/translations/pt/2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md index 625b58d7c..b88359651 100644 --- a/translations/pt/2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md +++ b/translations/pt/2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md @@ -47,11 +47,11 @@ Adicione os sensores de humidade e temperatura à aplicação CounterFit. 1. Selecione o botão **Add** para criar o sensor de humidade no Pin 5. - ![As definições do sensor de humidade](../../../../../translated_images/pt/counterfit-create-humidity-sensor.2750e27b6f30e09cf4e22101defd5252710717620816ab41ba688f91f757c49a.png) + ![As definições do sensor de humidade](../../../../../translated_images/pt-PT/counterfit-create-humidity-sensor.2750e27b6f30e09cf4e22101defd5252710717620816ab41ba688f91f757c49a.png) O sensor de humidade será criado e aparecerá na lista de sensores. - ![O sensor de humidade criado](../../../../../translated_images/pt/counterfit-humidity-sensor.7b12f7f339e430cb26c8211d2dba4ef75261b353a01da0932698b5bebd693f27.png) + ![O sensor de humidade criado](../../../../../translated_images/pt-PT/counterfit-humidity-sensor.7b12f7f339e430cb26c8211d2dba4ef75261b353a01da0932698b5bebd693f27.png) 1. Crie um sensor de temperatura: @@ -63,11 +63,11 @@ Adicione os sensores de humidade e temperatura à aplicação CounterFit. 1. Selecione o botão **Add** para criar o sensor de temperatura no Pin 6. - ![As definições do sensor de temperatura](../../../../../translated_images/pt/counterfit-create-temperature-sensor.199350ed34f7343d79dccbe95eaf6c11d2121f03d1c35ab9613b330c23f39b29.png) + ![As definições do sensor de temperatura](../../../../../translated_images/pt-PT/counterfit-create-temperature-sensor.199350ed34f7343d79dccbe95eaf6c11d2121f03d1c35ab9613b330c23f39b29.png) O sensor de temperatura será criado e aparecerá na lista de sensores. - ![O sensor de temperatura criado](../../../../../translated_images/pt/counterfit-temperature-sensor.f0560236c96a9016bafce7f6f792476fe3367bc6941a1f7d5811d144d4bcbfff.png) + ![O sensor de temperatura criado](../../../../../translated_images/pt-PT/counterfit-temperature-sensor.f0560236c96a9016bafce7f6f792476fe3367bc6941a1f7d5811d144d4bcbfff.png) ## Programar a aplicação do sensor de temperatura diff --git a/translations/pt/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md b/translations/pt/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md index ca1b299a8..d6a8f9446 100644 --- a/translations/pt/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md +++ b/translations/pt/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md @@ -27,13 +27,13 @@ O sensor de temperatura Grove pode ser ligado à porta digital do Wio Terminal. Ligue o sensor de temperatura. -![Um sensor de temperatura Grove](../../../../../translated_images/pt/grove-dht11.07f8eafceee170043efbb53e1d15722bd4e00fbaa9ff74290b57e9f66eb82c17.png) +![Um sensor de temperatura Grove](../../../../../translated_images/pt-PT/grove-dht11.07f8eafceee170043efbb53e1d15722bd4e00fbaa9ff74290b57e9f66eb82c17.png) 1. Insira uma extremidade de um cabo Grove na entrada do sensor de humidade e temperatura. Só encaixará de uma forma. 1. Com o Wio Terminal desligado do computador ou de outra fonte de alimentação, ligue a outra extremidade do cabo Grove à entrada Grove do lado direito do Wio Terminal, olhando para o ecrã. Esta é a entrada mais distante do botão de energia. -![O sensor de temperatura Grove ligado à entrada do lado direito](../../../../../translated_images/pt/wio-temperature-sensor.2934928f38c7f79a.webp) +![O sensor de temperatura Grove ligado à entrada do lado direito](../../../../../translated_images/pt-PT/wio-temperature-sensor.2934928f38c7f79a.webp) ## Programar o sensor de temperatura diff --git a/translations/pt/2-farm/lessons/2-detect-soil-moisture/README.md b/translations/pt/2-farm/lessons/2-detect-soil-moisture/README.md index da9b67068..9bf257795 100644 --- a/translations/pt/2-farm/lessons/2-detect-soil-moisture/README.md +++ b/translations/pt/2-farm/lessons/2-detect-soil-moisture/README.md @@ -22,7 +22,7 @@ O I²C possui um barramento composto por 2 fios principais, além de 2 fios de a | VCC | Coletor Comum de Tensão | A fonte de alimentação para os dispositivos. Está conectado aos fios SDA e SCL para fornecer energia através de um resistor pull-up que desliga o sinal quando nenhum dispositivo é o controlador. | | GND | Terra | Fornece um terra comum para o circuito elétrico. | -![Barramento I2C com 3 dispositivos conectados aos fios SDA e SCL, compartilhando um fio de terra comum](../../../../../translated_images/pt/i2c.83da845dde02256bdd462dbe0d5145461416b74930571b89d1ae142841eeb584.png) +![Barramento I2C com 3 dispositivos conectados aos fios SDA e SCL, compartilhando um fio de terra comum](../../../../../translated_images/pt-PT/i2c.83da845dde02256bdd462dbe0d5145461416b74930571b89d1ae142841eeb584.png) Para enviar dados, um dispositivo emite uma condição de início para indicar que está pronto para enviar dados. Ele então se torna o controlador. O controlador envia o endereço do dispositivo com o qual deseja se comunicar, juntamente com a indicação se deseja ler ou escrever dados. Após a transmissão dos dados, o controlador envia uma condição de parada para indicar que terminou. Depois disso, outro dispositivo pode se tornar o controlador e enviar ou receber dados. @@ -37,7 +37,7 @@ UART envolve circuitos físicos que permitem a comunicação entre dois disposit * O dispositivo 1 transmite dados do seu pino Tx, que são recebidos pelo dispositivo 2 no seu pino Rx. * O dispositivo 1 recebe dados no seu pino Rx que são transmitidos pelo dispositivo 2 a partir do seu pino Tx. -![UART com o pino Tx de um chip conectado ao pino Rx de outro, e vice-versa](../../../../../translated_images/pt/uart.d0dbd3fb9e3728c6.webp) +![UART com o pino Tx de um chip conectado ao pino Rx de outro, e vice-versa](../../../../../translated_images/pt-PT/uart.d0dbd3fb9e3728c6.webp) > 🎓 Os dados são enviados um bit de cada vez, e isto é conhecido como comunicação *serial*. A maioria dos sistemas operativos e microcontroladores têm *portas seriais*, ou seja, conexões que podem enviar e receber dados seriais disponíveis para o seu código. @@ -66,7 +66,7 @@ Os controladores SPI utilizam 3 fios, juntamente com 1 fio extra por periférico | SCLK | Relógio Serial | Este fio envia um sinal de relógio a uma taxa definida pelo controlador. | | CS | Seleção de Chip | O controlador tem múltiplos fios, um por periférico, e cada fio conecta-se ao fio CS no periférico correspondente. | -![SPI com um controlador e dois periféricos](../../../../../translated_images/pt/spi.297431d6f98b386b.webp) +![SPI com um controlador e dois periféricos](../../../../../translated_images/pt-PT/spi.297431d6f98b386b.webp) O fio CS é usado para ativar um periférico de cada vez, comunicando através dos fios COPI e CIPO. Quando o controlador precisa de mudar de periférico, desativa o fio CS conectado ao periférico atualmente ativo e ativa o fio conectado ao periférico com o qual deseja comunicar a seguir. @@ -127,13 +127,13 @@ A humidade do solo é medida usando o conteúdo de água gravimétrico ou volum Os sensores de humidade do solo medem resistência elétrica ou capacitância - isto varia não apenas com a humidade do solo, mas também com o tipo de solo, já que os componentes no solo podem alterar as suas características elétricas. Idealmente, os sensores devem ser calibrados - ou seja, fazer leituras do sensor e compará-las com medições obtidas usando uma abordagem mais científica. Por exemplo, um laboratório pode calcular a humidade gravimétrica do solo usando amostras de um campo específico recolhidas algumas vezes por ano, e esses números usados para calibrar o sensor, correspondendo a leitura do sensor à humidade gravimétrica do solo. -![Um gráfico de tensão vs conteúdo de humidade do solo](../../../../../translated_images/pt/soil-moisture-to-voltage.df86d80cda158700.webp) +![Um gráfico de tensão vs conteúdo de humidade do solo](../../../../../translated_images/pt-PT/soil-moisture-to-voltage.df86d80cda158700.webp) O gráfico acima mostra como calibrar um sensor. A tensão é capturada para uma amostra de solo que é então medida num laboratório, comparando o peso húmido com o peso seco (medindo o peso húmido, depois secando num forno e medindo seco). Depois de algumas leituras serem feitas, estas podem ser plotadas num gráfico e uma linha ajustada aos pontos. Esta linha pode então ser usada para converter leituras de sensores de humidade do solo feitas por um dispositivo IoT em medições reais de humidade do solo. 💁 Para sensores resistivos de humidade do solo, a tensão aumenta à medida que a humidade do solo aumenta. Para sensores capacitivos de humidade do solo, a tensão diminui à medida que a humidade do solo aumenta, por isso os gráficos para estes inclinariam para baixo, não para cima. -![Um valor de humidade do solo interpolado a partir do gráfico](../../../../../translated_images/pt/soil-moisture-to-voltage-with-reading.681cb3e1f8b68caf.webp) +![Um valor de humidade do solo interpolado a partir do gráfico](../../../../../translated_images/pt-PT/soil-moisture-to-voltage-with-reading.681cb3e1f8b68caf.webp) O gráfico acima mostra uma leitura de tensão de um sensor de humidade do solo, e ao seguir essa leitura até à linha no gráfico, a humidade real do solo pode ser calculada. diff --git a/translations/pt/2-farm/lessons/2-detect-soil-moisture/assignment.md b/translations/pt/2-farm/lessons/2-detect-soil-moisture/assignment.md index b52070259..525c2a31a 100644 --- a/translations/pt/2-farm/lessons/2-detect-soil-moisture/assignment.md +++ b/translations/pt/2-farm/lessons/2-detect-soil-moisture/assignment.md @@ -29,7 +29,7 @@ Será necessário repetir estes passos várias vezes para obter as leituras nece A humidade gravimétrica do solo é calculada como: -![humidade do solo % é o peso húmido menos o peso seco, dividido pelo peso seco, vezes 100](../../../../../translated_images/pt/gsm-calculation.6da38c6201eec14e7573bb2647aa18892883193553d23c9d77e5dc681522dfb2.png) +![humidade do solo % é o peso húmido menos o peso seco, dividido pelo peso seco, vezes 100](../../../../../translated_images/pt-PT/gsm-calculation.6da38c6201eec14e7573bb2647aa18892883193553d23c9d77e5dc681522dfb2.png) * W - o peso do solo húmido @@ -38,7 +38,7 @@ A humidade gravimétrica do solo é calculada como: Por exemplo, suponha que tem uma amostra de solo que pesa 212g húmida e 197g seca. -![O cálculo preenchido](../../../../../translated_images/pt/gsm-calculation-example.99f9803b4f29e97668e7c15412136c0c399ab12dbba0b89596fdae9d8aedb6fb.png) +![O cálculo preenchido](../../../../../translated_images/pt-PT/gsm-calculation-example.99f9803b4f29e97668e7c15412136c0c399ab12dbba0b89596fdae9d8aedb6fb.png) * W = 212g * W = 197g diff --git a/translations/pt/2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md b/translations/pt/2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md index a47869613..c4a9e260a 100644 --- a/translations/pt/2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md +++ b/translations/pt/2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md @@ -27,17 +27,17 @@ O sensor de humidade do solo Grove pode ser ligado ao Raspberry Pi. Liga o sensor de humidade do solo. -![Um sensor Grove de humidade do solo](../../../../../translated_images/pt/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.png) +![Um sensor Grove de humidade do solo](../../../../../translated_images/pt-PT/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.png) 1. Insere uma extremidade de um cabo Grove na entrada do sensor de humidade do solo. Só encaixará de uma forma. 1. Com o Raspberry Pi desligado, liga a outra extremidade do cabo Grove à entrada analógica marcada como **A0** no Grove Base Hat ligado ao Pi. Esta entrada é a segunda da direita, na fila de entradas ao lado dos pinos GPIO. -![O sensor Grove de humidade do solo ligado à entrada A0](../../../../../translated_images/pt/pi-soil-moisture-sensor.fdd7eb2393792cf6739cacf1985d9f55beda16d372f30d0b5a51d586f978a870.png) +![O sensor Grove de humidade do solo ligado à entrada A0](../../../../../translated_images/pt-PT/pi-soil-moisture-sensor.fdd7eb2393792cf6739cacf1985d9f55beda16d372f30d0b5a51d586f978a870.png) 1. Insere o sensor de humidade do solo na terra. O sensor tem uma 'linha de posição máxima' - uma linha branca ao longo do sensor. Insere o sensor até essa linha, mas não ultrapasses. -![O sensor Grove de humidade do solo na terra](../../../../../translated_images/pt/soil-moisture-sensor-in-soil.bfad91002bda5e96.webp) +![O sensor Grove de humidade do solo na terra](../../../../../translated_images/pt-PT/soil-moisture-sensor-in-soil.bfad91002bda5e96.webp) ## Programar o sensor de humidade do solo diff --git a/translations/pt/2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md b/translations/pt/2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md index b2719becc..d5110bc6d 100644 --- a/translations/pt/2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md +++ b/translations/pt/2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md @@ -43,11 +43,11 @@ Adicione o sensor de humidade do solo à aplicação CounterFit. 1. Selecione o botão **Add** para criar o sensor *Soil Moisture* no Pin 0. - ![As definições do sensor de humidade do solo](../../../../../translated_images/pt/counterfit-create-soil-moisture-sensor.35266135a5e0ae68b29a684d7db0d2933a8098b2307d197f7c71577b724603aa.png) + ![As definições do sensor de humidade do solo](../../../../../translated_images/pt-PT/counterfit-create-soil-moisture-sensor.35266135a5e0ae68b29a684d7db0d2933a8098b2307d197f7c71577b724603aa.png) O sensor de humidade do solo será criado e aparecerá na lista de sensores. - ![O sensor de humidade do solo criado](../../../../../translated_images/pt/counterfit-soil-moisture-sensor.81742b2de0e9de60a3b3b9a2ff8ecc686d428eb6d71820f27a693be26e5aceee.png) + ![O sensor de humidade do solo criado](../../../../../translated_images/pt-PT/counterfit-soil-moisture-sensor.81742b2de0e9de60a3b3b9a2ff8ecc686d428eb6d71820f27a693be26e5aceee.png) ## Programar a aplicação do sensor de humidade do solo diff --git a/translations/pt/2-farm/lessons/2-detect-soil-moisture/wio-terminal-soil-moisture.md b/translations/pt/2-farm/lessons/2-detect-soil-moisture/wio-terminal-soil-moisture.md index 16e5929a6..9ccb86c31 100644 --- a/translations/pt/2-farm/lessons/2-detect-soil-moisture/wio-terminal-soil-moisture.md +++ b/translations/pt/2-farm/lessons/2-detect-soil-moisture/wio-terminal-soil-moisture.md @@ -27,17 +27,17 @@ O sensor Grove de humidade do solo pode ser conectado à porta analógica/digita Conecte o sensor de humidade do solo. -![Um sensor Grove de humidade do solo](../../../../../translated_images/pt/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.png) +![Um sensor Grove de humidade do solo](../../../../../translated_images/pt-PT/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.png) 1. Insira uma extremidade de um cabo Grove na entrada do sensor de humidade do solo. O cabo só encaixa de uma forma. 1. Com o Wio Terminal desconectado do seu computador ou outra fonte de alimentação, conecte a outra extremidade do cabo Grove à entrada Grove do lado direito do Wio Terminal, olhando para o ecrã. Esta é a entrada mais distante do botão de energia. -![O sensor Grove de humidade do solo conectado à entrada do lado direito](../../../../../translated_images/pt/wio-soil-moisture-sensor.46919b61c3f6cb74.webp) +![O sensor Grove de humidade do solo conectado à entrada do lado direito](../../../../../translated_images/pt-PT/wio-soil-moisture-sensor.46919b61c3f6cb74.webp) 1. Insira o sensor de humidade do solo na terra. O sensor tem uma 'linha de posição máxima' - uma linha branca atravessando o sensor. Insira o sensor até esta linha, mas não ultrapasse. -![O sensor Grove de humidade do solo na terra](../../../../../translated_images/pt/soil-moisture-sensor-in-soil.bfad91002bda5e96.webp) +![O sensor Grove de humidade do solo na terra](../../../../../translated_images/pt-PT/soil-moisture-sensor-in-soil.bfad91002bda5e96.webp) 1. Agora pode conectar o Wio Terminal ao seu computador. diff --git a/translations/pt/2-farm/lessons/3-automated-plant-watering/README.md b/translations/pt/2-farm/lessons/3-automated-plant-watering/README.md index 1cc705d3f..1d971ae2f 100644 --- a/translations/pt/2-farm/lessons/3-automated-plant-watering/README.md +++ b/translations/pt/2-farm/lessons/3-automated-plant-watering/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # Rega automática de plantas -![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt/lesson-7.30b5f577d3cb8e031238751475cb519c7d6dbaea261b5df4643d086ffb2a03bb.jpg) +![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt-PT/lesson-7.30b5f577d3cb8e031238751475cb519c7d6dbaea261b5df4643d086ffb2a03bb.jpg) > Ilustração por [Nitya Narasimhan](https://github.com/nitya). Clique na imagem para uma versão maior. @@ -41,7 +41,7 @@ Os dispositivos IoT utilizam uma baixa voltagem. Embora isso seja suficiente par A solução para isto é ligar a bomba a uma fonte de alimentação externa e usar um atuador para ligar a bomba, de forma semelhante a como ligarias uma luz. É necessário apenas uma pequena quantidade de energia (na forma de energia do teu corpo) para o teu dedo acionar um interruptor, conectando a luz à eletricidade da rede elétrica, que opera a 110V/240V. -![Um interruptor liga a energia a uma luz](../../../../../translated_images/pt/light-switch.760317ad6ab8bd6d611da5352dfe9c73a94a0822ccec7df3c8bae35da18e1658.png) +![Um interruptor liga a energia a uma luz](../../../../../translated_images/pt-PT/light-switch.760317ad6ab8bd6d611da5352dfe9c73a94a0822ccec7df3c8bae35da18e1658.png) > 🎓 [Eletricidade da rede](https://wikipedia.org/wiki/Mains_electricity) refere-se à eletricidade fornecida a casas e empresas através da infraestrutura nacional em muitas partes do mundo. @@ -55,11 +55,11 @@ Um relé é um interruptor eletromecânico que converte um sinal elétrico num m > 🎓 [Eletroímanes](https://wikipedia.org/wiki/Electromagnet) são ímanes criados ao passar eletricidade por uma bobina de fio. Quando a eletricidade é ligada, a bobina torna-se magnetizada. Quando a eletricidade é desligada, a bobina perde o magnetismo. -![Quando ligado, o eletroíman cria um campo magnético, ativando o interruptor do circuito de saída](../../../../../translated_images/pt/relay-on.4db16a0fd6b66926.webp) +![Quando ligado, o eletroíman cria um campo magnético, ativando o interruptor do circuito de saída](../../../../../translated_images/pt-PT/relay-on.4db16a0fd6b66926.webp) Num relé, um circuito de controlo alimenta o eletroíman. Quando o eletroíman está ligado, ele puxa uma alavanca que move um interruptor, fechando um par de contactos e completando um circuito de saída. -![Quando desligado, o eletroíman não cria um campo magnético, desligando o interruptor do circuito de saída](../../../../../translated_images/pt/relay-off.c34a178a2960fecd.webp) +![Quando desligado, o eletroíman não cria um campo magnético, desligando o interruptor do circuito de saída](../../../../../translated_images/pt-PT/relay-off.c34a178a2960fecd.webp) Quando o circuito de controlo está desligado, o eletroíman desliga-se, libertando a alavanca e abrindo os contactos, desligando o circuito de saída. Os relés são atuadores digitais - um sinal alto liga o relé, um sinal baixo desliga-o. @@ -81,11 +81,11 @@ Quando a alavanca se move, geralmente podes ouvi-la fazer contacto com o eletro O eletroíman não precisa de muita energia para ativar e puxar a alavanca; ele pode ser controlado usando a saída de 3,3V ou 5V de um kit de desenvolvimento IoT. O circuito de saída pode transportar muito mais energia, dependendo do relé, incluindo voltagem da rede elétrica ou até níveis de potência mais altos para uso industrial. Desta forma, um kit de desenvolvimento IoT pode controlar um sistema de irrigação, desde uma pequena bomba para uma única planta até um sistema industrial massivo para uma exploração agrícola comercial. -![Um relé Grove com o circuito de controlo, circuito de saída e relé identificados](../../../../../translated_images/pt/grove-relay-labelled.293e068f5c3c2a199bd7892f2661fdc9e10c920b535cfed317fbd6d1d4ae1168.png) +![Um relé Grove com o circuito de controlo, circuito de saída e relé identificados](../../../../../translated_images/pt-PT/grove-relay-labelled.293e068f5c3c2a199bd7892f2661fdc9e10c920b535cfed317fbd6d1d4ae1168.png) A imagem acima mostra um relé Grove. O circuito de controlo conecta-se a um dispositivo IoT e liga ou desliga o relé usando 3,3V ou 5V. O circuito de saída tem dois terminais, qualquer um pode ser energia ou terra. O circuito de saída pode lidar com até 250V a 10A, suficiente para uma variedade de dispositivos alimentados pela rede elétrica. Existem relés que podem lidar com níveis de potência ainda mais altos. -![Uma bomba ligada através de um relé](../../../../../translated_images/pt/pump-wired-to-relay.66c5cfc0d8918990.webp) +![Uma bomba ligada através de um relé](../../../../../translated_images/pt-PT/pump-wired-to-relay.66c5cfc0d8918990.webp) Na imagem acima, a energia é fornecida a uma bomba através de um relé. Há um fio vermelho que conecta o terminal +5V de uma fonte de alimentação USB a um terminal do circuito de saída do relé, e outro fio vermelho que conecta o outro terminal do circuito de saída à bomba. Um fio preto conecta a bomba ao terra da fonte de alimentação USB. Quando o relé é ligado, ele completa o circuito, enviando 5V para a bomba, ligando-a. @@ -135,7 +135,7 @@ Na lição 3, construíste uma luz noturna - um LED que se acende assim que um n Se fizeste a última lição sobre humidade do solo usando um sensor físico, terás notado que demorava alguns segundos para a leitura de humidade do solo diminuir após regares a tua planta. Isto não acontece porque o sensor é lento, mas porque a água demora a infiltrar-se no solo. 💁 Se regou muito perto do sensor, pode ter notado que a leitura desceu rapidamente e depois voltou a subir - isto acontece porque a água próxima do sensor se espalha pelo resto do solo, reduzindo a humidade do solo junto ao sensor. -![Uma medição de humidade do solo de 658 não muda durante a rega, só cai para 320 após a rega quando a água penetra no solo](../../../../../translated_images/pt/soil-moisture-travel.a0e31af222cf1438.webp) +![Uma medição de humidade do solo de 658 não muda durante a rega, só cai para 320 após a rega quando a água penetra no solo](../../../../../translated_images/pt-PT/soil-moisture-travel.a0e31af222cf1438.webp) No diagrama acima, uma leitura de humidade do solo mostra 658. A planta é regada, mas esta leitura não muda imediatamente, pois a água ainda não chegou ao sensor. A rega pode até terminar antes que a água alcance o sensor e o valor diminua para refletir o novo nível de humidade. @@ -157,11 +157,11 @@ Quanto tempo deve o relé estar ligado de cada vez? É melhor pecar por excesso > 💁 Este tipo de controlo de temporização é muito específico para o dispositivo IoT que está a construir, a propriedade que está a medir e os sensores e atuadores utilizados. -![Uma planta de morango conectada a água através de uma bomba, com a bomba ligada a um relé. O relé e um sensor de humidade do solo na planta estão ambos conectados a um Raspberry Pi](../../../../../translated_images/pt/strawberry-with-pump.b410fc72ac6aabad.webp) +![Uma planta de morango conectada a água através de uma bomba, com a bomba ligada a um relé. O relé e um sensor de humidade do solo na planta estão ambos conectados a um Raspberry Pi](../../../../../translated_images/pt-PT/strawberry-with-pump.b410fc72ac6aabad.webp) Por exemplo, tenho uma planta de morango com um sensor de humidade do solo e uma bomba controlada por um relé. Observei que, quando adiciono água, demora cerca de 20 segundos para a leitura de humidade do solo estabilizar. Isto significa que preciso de desligar o relé e esperar 20 segundos antes de verificar os níveis de humidade. Prefiro ter pouca água do que demasiada - posso sempre ligar a bomba novamente, mas não posso retirar água da planta. -![Passo 1, medir. Passo 2, adicionar água. Passo 3, esperar que a água se infiltre no solo. Passo 4, medir novamente](../../../../../translated_images/pt/soil-moisture-delay.865f3fae206db01d.webp) +![Passo 1, medir. Passo 2, adicionar água. Passo 3, esperar que a água se infiltre no solo. Passo 4, medir novamente](../../../../../translated_images/pt-PT/soil-moisture-delay.865f3fae206db01d.webp) Isto significa que o melhor processo seria um ciclo de rega semelhante a: diff --git a/translations/pt/2-farm/lessons/3-automated-plant-watering/pi-relay.md b/translations/pt/2-farm/lessons/3-automated-plant-watering/pi-relay.md index 1c592448e..4cacda16b 100644 --- a/translations/pt/2-farm/lessons/3-automated-plant-watering/pi-relay.md +++ b/translations/pt/2-farm/lessons/3-automated-plant-watering/pi-relay.md @@ -27,13 +27,13 @@ O relé Grove pode ser ligado ao Raspberry Pi. Ligue o relé. -![Um relé Grove](../../../../../translated_images/pt/grove-relay.d426958ca210fbd0fb7983d7edc069d46c73a8b0a099d94797bd756f7b6bb6be.png) +![Um relé Grove](../../../../../translated_images/pt-PT/grove-relay.d426958ca210fbd0fb7983d7edc069d46c73a8b0a099d94797bd756f7b6bb6be.png) 1. Insira uma extremidade de um cabo Grove na entrada do relé. Ele só encaixará de uma forma. 1. Com o Raspberry Pi desligado, conecte a outra extremidade do cabo Grove à entrada digital marcada como **D5** no Grove Base Hat ligado ao Pi. Esta entrada é a segunda da esquerda, na fila de entradas ao lado dos pinos GPIO. Deixe o sensor de humidade do solo conectado à entrada **A0**. -![O relé Grove conectado à entrada D5 e o sensor de humidade do solo conectado à entrada A0](../../../../../translated_images/pt/pi-relay-and-soil-moisture-sensor.02f3198975b8c53e69ec716cd2719ce117700bd1fc933eaf93476c103c57939b.png) +![O relé Grove conectado à entrada D5 e o sensor de humidade do solo conectado à entrada A0](../../../../../translated_images/pt-PT/pi-relay-and-soil-moisture-sensor.02f3198975b8c53e69ec716cd2719ce117700bd1fc933eaf93476c103c57939b.png) 1. Insira o sensor de humidade do solo na terra, caso ainda não o tenha feito na lição anterior. diff --git a/translations/pt/2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md b/translations/pt/2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md index b2db06835..d7cf18884 100644 --- a/translations/pt/2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md +++ b/translations/pt/2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md @@ -37,11 +37,11 @@ Adicione o relé à aplicação CounterFit. 1. Selecione o botão **Add** para criar o relé no Pin 5. - ![As definições do relé](../../../../../translated_images/pt/counterfit-create-relay.fa7c40fd0f2f6afc33b35ea94fcb235085be4861e14e3fe6b9b7bcfc82d1c888.png) + ![As definições do relé](../../../../../translated_images/pt-PT/counterfit-create-relay.fa7c40fd0f2f6afc33b35ea94fcb235085be4861e14e3fe6b9b7bcfc82d1c888.png) O relé será criado e aparecerá na lista de atuadores. - ![O relé criado](../../../../../translated_images/pt/counterfit-relay.bbf74c1dbdc8b9acd983367fcbd06703a402aefef6af54ddb28e11307ba8a12c.png) + ![O relé criado](../../../../../translated_images/pt-PT/counterfit-relay.bbf74c1dbdc8b9acd983367fcbd06703a402aefef6af54ddb28e11307ba8a12c.png) ## Programar o relé diff --git a/translations/pt/2-farm/lessons/3-automated-plant-watering/wio-terminal-relay.md b/translations/pt/2-farm/lessons/3-automated-plant-watering/wio-terminal-relay.md index ff105f38c..56ce5cb8a 100644 --- a/translations/pt/2-farm/lessons/3-automated-plant-watering/wio-terminal-relay.md +++ b/translations/pt/2-farm/lessons/3-automated-plant-watering/wio-terminal-relay.md @@ -27,13 +27,13 @@ O relé Grove pode ser ligado à porta digital do Wio Terminal. Liga o relé. -![Um relé Grove](../../../../../translated_images/pt/grove-relay.d426958ca210fbd0fb7983d7edc069d46c73a8b0a099d94797bd756f7b6bb6be.png) +![Um relé Grove](../../../../../translated_images/pt-PT/grove-relay.d426958ca210fbd0fb7983d7edc069d46c73a8b0a099d94797bd756f7b6bb6be.png) 1. Insere uma extremidade de um cabo Grove na entrada do relé. Só encaixará de uma forma. 1. Com o Wio Terminal desconectado do computador ou de outra fonte de energia, liga a outra extremidade do cabo Grove à entrada Grove do lado esquerdo do Wio Terminal, olhando para o ecrã. Deixa o sensor de humidade do solo ligado à entrada do lado direito. -![O relé Grove ligado à entrada do lado esquerdo e o sensor de humidade do solo ligado à entrada do lado direito](../../../../../translated_images/pt/wio-relay-and-soil-moisture-sensor.ed722202d42babe0.webp) +![O relé Grove ligado à entrada do lado esquerdo e o sensor de humidade do solo ligado à entrada do lado direito](../../../../../translated_images/pt-PT/wio-relay-and-soil-moisture-sensor.ed722202d42babe0.webp) 1. Insere o sensor de humidade do solo na terra, caso ainda não esteja inserido da lição anterior. diff --git a/translations/pt/2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md b/translations/pt/2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md index 2c05018fa..f8eeaa2ec 100644 --- a/translations/pt/2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md +++ b/translations/pt/2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # Migre a sua planta para a nuvem -![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt/lesson-8.3f21f3c11159e6a0a376351973ea5724d5de68fa23b4288853a174bed9ac48c3.jpg) +![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt-PT/lesson-8.3f21f3c11159e6a0a376351973ea5724d5de68fa23b4288853a174bed9ac48c3.jpg) > Ilustração por [Nitya Narasimhan](https://github.com/nitya). Clique na imagem para uma versão maior. @@ -55,8 +55,8 @@ Isso podia ser muito caro, exigir uma ampla gama de funcionários especializados A nuvem é frequentemente referida de forma humorística como "o computador de outra pessoa". A ideia inicial era simples - em vez de comprar computadores, aluga-se o computador de outra pessoa. Outra pessoa, um fornecedor de computação em nuvem, geriria enormes centros de dados. Eles seriam responsáveis por comprar e instalar o hardware, gerir energia e refrigeração, rede, segurança do edifício, atualizações de hardware e software, tudo. Como cliente, aluga-se os computadores necessários, alugando mais conforme a procura aumenta e reduzindo o número alugado se a procura diminuir. Esses centros de dados na nuvem estão espalhados pelo mundo. -![Um centro de dados na nuvem da Microsoft](../../../../../translated_images/pt/azure-region-existing.73f704604f2aa6cb9b5a49ed40e93d4fd81ae3f4e6af4a8ca504023902832f56.png) -![Expansão planeada de um centro de dados na nuvem da Microsoft](../../../../../translated_images/pt/azure-region-planned-expansion.a5074a1e8af74f156a73552d502429e5b126ea5019274d767ecb4b9afdad442b.png) +![Um centro de dados na nuvem da Microsoft](../../../../../translated_images/pt-PT/azure-region-existing.73f704604f2aa6cb9b5a49ed40e93d4fd81ae3f4e6af4a8ca504023902832f56.png) +![Expansão planeada de um centro de dados na nuvem da Microsoft](../../../../../translated_images/pt-PT/azure-region-planned-expansion.a5074a1e8af74f156a73552d502429e5b126ea5019274d767ecb4b9afdad442b.png) Esses centros de dados podem ter vários quilómetros quadrados de tamanho. As imagens acima foram tiradas há alguns anos num centro de dados na nuvem da Microsoft e mostram o tamanho inicial, juntamente com uma expansão planeada. A área limpa para a expansão tem mais de 5 quilómetros quadrados. @@ -72,7 +72,7 @@ O fornecedor de nuvem pode então usar economias de escala para reduzir os custo Azure é a nuvem para desenvolvedores da Microsoft, e será a nuvem que usará nestas lições. O vídeo abaixo oferece uma breve visão geral do Azure: -[![Vídeo de visão geral do Azure](../../../../../translated_images/pt/what-is-azure-video-thumbnail.20174db09e03bbb8.webp)](https://www.microsoft.com/videoplayer/embed/RE4Ibng?WT.mc_id=academic-17441-jabenn) +[![Vídeo de visão geral do Azure](../../../../../translated_images/pt-PT/what-is-azure-video-thumbnail.20174db09e03bbb8.webp)](https://www.microsoft.com/videoplayer/embed/RE4Ibng?WT.mc_id=academic-17441-jabenn) ## Criar uma subscrição na nuvem @@ -117,11 +117,11 @@ Os serviços de IoT na nuvem resolvem esses problemas. São mantidos por grandes Os dispositivos IoT conectam-se a um serviço na nuvem usando um SDK de dispositivo (uma biblioteca que fornece código para trabalhar com os recursos do serviço) ou diretamente através de um protocolo de comunicação como MQTT ou HTTP. O SDK de dispositivo geralmente é a rota mais fácil, pois lida com tudo para si, como saber quais tópicos publicar ou subscrever e como lidar com a segurança. -![Dispositivos conectam-se a um serviço usando um SDK de dispositivo. Código de servidor também conecta-se ao serviço via SDK](../../../../../translated_images/pt/iot-service-connectivity.7e873847921a5d6fd60d0ba3a943210194518cee0d4e362476624316443275c3.png) +![Dispositivos conectam-se a um serviço usando um SDK de dispositivo. Código de servidor também conecta-se ao serviço via SDK](../../../../../translated_images/pt-PT/iot-service-connectivity.7e873847921a5d6fd60d0ba3a943210194518cee0d4e362476624316443275c3.png) O seu dispositivo então comunica com outras partes da sua aplicação através deste serviço - semelhante à forma como enviou telemetria e recebeu comandos via MQTT. Isso geralmente é feito usando um SDK de serviço ou uma biblioteca semelhante. As mensagens vêm do seu dispositivo para o serviço, onde outros componentes da sua aplicação podem lê-las, e as mensagens podem ser enviadas de volta para o seu dispositivo. -![Dispositivos sem uma chave secreta válida não podem conectar-se ao serviço de IoT](../../../../../translated_images/pt/iot-service-allowed-denied-connection.818b0063ac213fb84204a7229303764d9b467ca430fb822b4ac2fca267d56726.png) +![Dispositivos sem uma chave secreta válida não podem conectar-se ao serviço de IoT](../../../../../translated_images/pt-PT/iot-service-allowed-denied-connection.818b0063ac213fb84204a7229303764d9b467ca430fb822b4ac2fca267d56726.png) Esses serviços implementam segurança ao conhecer todos os dispositivos que podem conectar-se e enviar dados, seja pré-registrando os dispositivos no serviço ou fornecendo aos dispositivos chaves secretas ou certificados que podem usar para se registrar no serviço na primeira vez que se conectarem. Dispositivos desconhecidos não conseguem conectar-se; se tentarem, o serviço rejeita a conexão e ignora as mensagens enviadas por eles. @@ -133,7 +133,7 @@ Outros componentes da sua aplicação podem conectar-se ao serviço de IoT e apr Agora que tem uma subscrição do Azure, pode inscrever-se num serviço IoT. O serviço IoT da Microsoft chama-se Azure IoT Hub. -![O logótipo do Azure IoT Hub](../../../../../translated_images/pt/azure-iot-hub-logo.28a19de76d0a1932464d858f7558712bcdace3e5ec69c434d482ed7ce41c3a26.png) +![O logótipo do Azure IoT Hub](../../../../../translated_images/pt-PT/azure-iot-hub-logo.28a19de76d0a1932464d858f7558712bcdace3e5ec69c434d482ed7ce41c3a26.png) O vídeo abaixo oferece uma breve visão geral do Azure IoT Hub: diff --git a/translations/pt/2-farm/lessons/5-migrate-application-to-the-cloud/README.md b/translations/pt/2-farm/lessons/5-migrate-application-to-the-cloud/README.md index fce25f6b8..fab0b7231 100644 --- a/translations/pt/2-farm/lessons/5-migrate-application-to-the-cloud/README.md +++ b/translations/pt/2-farm/lessons/5-migrate-application-to-the-cloud/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # Migre a lógica da sua aplicação para a cloud -![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt/lesson-9.dfe99c8e891f48e179724520da9f5794392cf9a625079281ccdcbf09bd85e1b6.jpg) +![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt-PT/lesson-9.dfe99c8e891f48e179724520da9f5794392cf9a625079281ccdcbf09bd85e1b6.jpg) > Ilustração por [Nitya Narasimhan](https://github.com/nitya). Clique na imagem para uma versão maior. @@ -37,11 +37,11 @@ Nesta lição, abordaremos: Serverless, ou computação serverless, envolve criar pequenos blocos de código que são executados na cloud em resposta a diferentes tipos de eventos. Quando o evento ocorre, o seu código é executado e recebe dados sobre o evento. Estes eventos podem vir de várias fontes, incluindo pedidos web, mensagens colocadas numa fila, alterações a dados numa base de dados ou mensagens enviadas para um serviço IoT por dispositivos IoT. -![Eventos enviados de um serviço IoT para um serviço serverless, todos processados ao mesmo tempo por várias funções em execução](../../../../../translated_images/pt/iot-messages-to-serverless.0194da1cc0732bb7d0f823aed3fce54735c6b1ad3bf36089804d8aaefc0a774f.png) +![Eventos enviados de um serviço IoT para um serviço serverless, todos processados ao mesmo tempo por várias funções em execução](../../../../../translated_images/pt-PT/iot-messages-to-serverless.0194da1cc0732bb7d0f823aed3fce54735c6b1ad3bf36089804d8aaefc0a774f.png) > 💁 Se já utilizou triggers de base de dados antes, pode pensar nisto como algo semelhante: código sendo acionado por um evento, como a inserção de uma linha. -![Quando muitos eventos são enviados ao mesmo tempo, o serviço serverless escala para executá-los todos simultaneamente](../../../../../translated_images/pt/serverless-scaling.f8c769adf0413fd1.webp) +![Quando muitos eventos são enviados ao mesmo tempo, o serviço serverless escala para executá-los todos simultaneamente](../../../../../translated_images/pt-PT/serverless-scaling.f8c769adf0413fd1.webp) O seu código só é executado quando o evento ocorre, não permanecendo ativo em outros momentos. O evento ocorre, o seu código é carregado e executado. Isto torna o serverless altamente escalável - se muitos eventos ocorrerem ao mesmo tempo, o fornecedor da cloud pode executar a sua função tantas vezes quanto necessário, simultaneamente, em qualquer servidor disponível. A desvantagem é que, se precisar de partilhar informações entre eventos, terá de armazená-las em algum lugar, como uma base de dados, em vez de as manter na memória. @@ -63,7 +63,7 @@ Como programador IoT, o modelo serverless é ideal. Pode escrever uma função q O serviço de computação serverless da Microsoft chama-se Azure Functions. -![O logótipo do Azure Functions](../../../../../translated_images/pt/azure-functions-logo.1cfc8e3204c9c44aaf80fcf406fc8544d80d7f00f8d3e8ed6fed764563e17564.png) +![O logótipo do Azure Functions](../../../../../translated_images/pt-PT/azure-functions-logo.1cfc8e3204c9c44aaf80fcf406fc8544d80d7f00f8d3e8ed6fed764563e17564.png) O vídeo curto abaixo apresenta uma visão geral do Azure Functions. @@ -244,7 +244,7 @@ A CLI do Azure Functions pode ser usada para criar uma nova aplicação de funç VS Code. Initialize for optimal use with VS Code? ``` - ![A notificação](../../../../../translated_images/pt/vscode-azure-functions-init-notification.bd19b49229963edb.webp) + ![A notificação](../../../../../translated_images/pt-PT/vscode-azure-functions-init-notification.bd19b49229963edb.webp) Selecione **Yes** nesta notificação. diff --git a/translations/pt/2-farm/lessons/6-keep-your-plant-secure/README.md b/translations/pt/2-farm/lessons/6-keep-your-plant-secure/README.md index f4c64aed1..ba26a7ba4 100644 --- a/translations/pt/2-farm/lessons/6-keep-your-plant-secure/README.md +++ b/translations/pt/2-farm/lessons/6-keep-your-plant-secure/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # Mantenha a sua planta segura -![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt/lesson-10.829c86b80b9403bb770929ee553a1d293afe50dc23121aaf9be144673ae012cc.jpg) +![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt-PT/lesson-10.829c86b80b9403bb770929ee553a1d293afe50dc23121aaf9be144673ae012cc.jpg) > Ilustração por [Nitya Narasimhan](https://github.com/nitya). Clique na imagem para uma versão maior. @@ -61,11 +61,11 @@ Estes são cenários do mundo real e acontecem frequentemente. Alguns exemplos f Quando um dispositivo conecta-se a um serviço IoT, ele usa um ID para se identificar. O problema é que este ID pode ser clonado - um hacker pode configurar um dispositivo malicioso que usa o mesmo ID de um dispositivo real, mas envia dados falsos. -![Tanto dispositivos válidos quanto maliciosos podem usar o mesmo ID para enviar telemetria](../../../../../translated_images/pt/iot-device-and-hacked-device-connecting.e0671675df74d6d99eb1dedb5a670e606f698efa6202b1ad4c8ae548db299cc6.png) +![Tanto dispositivos válidos quanto maliciosos podem usar o mesmo ID para enviar telemetria](../../../../../translated_images/pt-PT/iot-device-and-hacked-device-connecting.e0671675df74d6d99eb1dedb5a670e606f698efa6202b1ad4c8ae548db299cc6.png) A solução para isso é converter os dados enviados num formato codificado, usando um valor conhecido apenas pelo dispositivo e pela nuvem para codificar os dados. Este processo é chamado de *encriptação*, e o valor usado para encriptar os dados é chamado de *chave de encriptação*. -![Se a encriptação for usada, apenas mensagens encriptadas serão aceites, outras serão rejeitadas](../../../../../translated_images/pt/iot-device-and-hacked-device-connecting-encryption.5941aff601fc978f979e46f2849b573564eeb4a4dc5b52f669f62745397492fb.png) +![Se a encriptação for usada, apenas mensagens encriptadas serão aceites, outras serão rejeitadas](../../../../../translated_images/pt-PT/iot-device-and-hacked-device-connecting-encryption.5941aff601fc978f979e46f2849b573564eeb4a4dc5b52f669f62745397492fb.png) O serviço na nuvem pode então converter os dados de volta para um formato legível, usando um processo chamado *desencriptação*, utilizando a mesma chave de encriptação ou uma *chave de desencriptação*. Se a mensagem encriptada não puder ser desencriptada pela chave, o dispositivo foi hackeado e a mensagem é rejeitada. @@ -97,15 +97,15 @@ A encriptação pode ser de dois tipos - simétrica e assimétrica. A encriptação **simétrica** usa a mesma chave para encriptar e desencriptar os dados. Tanto o remetente quanto o destinatário precisam conhecer a mesma chave. Este é o tipo menos seguro, pois a chave precisa ser partilhada de alguma forma. Para que um remetente envie uma mensagem encriptada a um destinatário, o remetente pode primeiro ter que enviar a chave ao destinatário. -![A encriptação com chave simétrica usa a mesma chave para encriptar e desencriptar uma mensagem](../../../../../translated_images/pt/send-message-symmetric-key.a2e8ad0d495896ff.webp) +![A encriptação com chave simétrica usa a mesma chave para encriptar e desencriptar uma mensagem](../../../../../translated_images/pt-PT/send-message-symmetric-key.a2e8ad0d495896ff.webp) Se a chave for roubada durante o envio, ou se o remetente ou destinatário forem hackeados e a chave for descoberta, a encriptação pode ser comprometida. -![A encriptação com chave simétrica só é segura se um hacker não obtiver a chave - caso contrário, podem interceptar e desencriptar a mensagem](../../../../../translated_images/pt/send-message-symmetric-key-hacker.e7cb53db1707adfb.webp) +![A encriptação com chave simétrica só é segura se um hacker não obtiver a chave - caso contrário, podem interceptar e desencriptar a mensagem](../../../../../translated_images/pt-PT/send-message-symmetric-key-hacker.e7cb53db1707adfb.webp) A encriptação **assimétrica** usa 2 chaves - uma chave de encriptação e uma chave de desencriptação, conhecidas como par de chaves pública/privada. A chave pública é usada para encriptar a mensagem, mas não pode ser usada para desencriptá-la; a chave privada é usada para desencriptar a mensagem, mas não pode ser usada para encriptá-la. -![A encriptação assimétrica usa uma chave diferente para encriptar e desencriptar. A chave de encriptação é enviada a qualquer remetente para que possam encriptar uma mensagem antes de enviá-la ao destinatário que possui as chaves](../../../../../translated_images/pt/send-message-asymmetric.7abe327c62615b8c.webp) +![A encriptação assimétrica usa uma chave diferente para encriptar e desencriptar. A chave de encriptação é enviada a qualquer remetente para que possam encriptar uma mensagem antes de enviá-la ao destinatário que possui as chaves](../../../../../translated_images/pt-PT/send-message-asymmetric.7abe327c62615b8c.webp) O destinatário partilha a sua chave pública, e o remetente usa-a para encriptar a mensagem. Depois de enviada, o destinatário desencripta-a com a sua chave privada. A encriptação assimétrica é mais segura, pois a chave privada é mantida em segredo pelo destinatário e nunca é partilhada. Qualquer pessoa pode ter a chave pública, pois ela só pode ser usada para encriptar mensagens. @@ -165,7 +165,7 @@ Estes certificados têm vários campos, incluindo quem é o proprietário da cha Ao usar certificados X.509, tanto o remetente quanto o destinatário terão as suas próprias chaves públicas e privadas, bem como certificados X.509 que contêm as chaves públicas. Eles trocam os certificados X.509 de alguma forma, usando as chaves públicas um do outro para encriptar os dados que enviam e as suas próprias chaves privadas para desencriptar os dados que recebem. -![Em vez de partilhar uma chave pública, pode partilhar um certificado. O utilizador do certificado pode verificar que ele vem de si ao confirmar com a autoridade de certificação que o assinou.](../../../../../translated_images/pt/send-message-certificate.9cc576ac1e46b76e.webp) +![Em vez de partilhar uma chave pública, pode partilhar um certificado. O utilizador do certificado pode verificar que ele vem de si ao confirmar com a autoridade de certificação que o assinou.](../../../../../translated_images/pt-PT/send-message-certificate.9cc576ac1e46b76e.webp) Uma grande vantagem de usar certificados X.509 é que podem ser partilhados entre dispositivos. Pode criar um certificado, carregá-lo para o IoT Hub e usá-lo para todos os seus dispositivos. Cada dispositivo só precisa de conhecer a chave privada para desencriptar as mensagens que recebe do IoT Hub. diff --git a/translations/pt/3-transport/lessons/1-location-tracking/README.md b/translations/pt/3-transport/lessons/1-location-tracking/README.md index cbf7965a8..88d78f8e4 100644 --- a/translations/pt/3-transport/lessons/1-location-tracking/README.md +++ b/translations/pt/3-transport/lessons/1-location-tracking/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # Localização de veículos -![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt/lesson-11.9fddbac4b664c6d50ab7ac9bb32f1fc3f945f03760e72f7f43938073762fb017.jpg) +![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt-PT/lesson-11.9fddbac4b664c6d50ab7ac9bb32f1fc3f945f03760e72f7f43938073762fb017.jpg) > Ilustração por [Nitya Narasimhan](https://github.com/nitya). Clique na imagem para uma versão maior. @@ -72,13 +72,13 @@ A Terra é uma esfera - um círculo tridimensional. Por isso, os pontos são def > 💁 Ninguém sabe ao certo a razão original para os círculos serem divididos em 360 graus. A [página sobre graus (ângulo) na Wikipédia](https://wikipedia.org/wiki/Degree_(angle)) aborda algumas das possíveis razões. -![Linhas de latitude de 90° no Polo Norte, 45° a meio caminho entre o Polo Norte e o equador, 0° no equador, -45° a meio caminho entre o equador e o Polo Sul, e -90° no Polo Sul](../../../../../translated_images/pt/latitude-lines.11d8d91dfb2014a57437272d7db7fd6607243098e8685f06e0c5f1ec984cb7eb.png) +![Linhas de latitude de 90° no Polo Norte, 45° a meio caminho entre o Polo Norte e o equador, 0° no equador, -45° a meio caminho entre o equador e o Polo Sul, e -90° no Polo Sul](../../../../../translated_images/pt-PT/latitude-lines.11d8d91dfb2014a57437272d7db7fd6607243098e8685f06e0c5f1ec984cb7eb.png) A latitude é medida usando linhas que circundam a Terra e correm paralelas ao equador, dividindo os hemisférios Norte e Sul em 90° cada. O equador está a 0°, o Polo Norte está a 90°, também conhecido como 90° Norte, e o Polo Sul está a -90°, ou 90° Sul. A longitude é medida como o número de graus a leste e oeste. A origem de 0° da longitude é chamada de *Meridiano Principal* e foi definida em 1884 como uma linha do Polo Norte ao Polo Sul que passa pelo [Observatório Real Britânico em Greenwich, Inglaterra](https://wikipedia.org/wiki/Royal_Observatory,_Greenwich). -![Linhas de longitude que vão de -180° a oeste do Meridiano Principal, até 0° no Meridiano Principal, até 180° a leste do Meridiano Principal](../../../../../translated_images/pt/longitude-meridians.ab4ef1c91c064586b0185a3c8d39e585903696c6a7d28c098a93a629cddb5d20.png) +![Linhas de longitude que vão de -180° a oeste do Meridiano Principal, até 0° no Meridiano Principal, até 180° a leste do Meridiano Principal](../../../../../translated_images/pt-PT/longitude-meridians.ab4ef1c91c064586b0185a3c8d39e585903696c6a7d28c098a93a629cddb5d20.png) > 🎓 Um meridiano é uma linha imaginária reta que vai do Polo Norte ao Polo Sul, formando um semicírculo. @@ -109,7 +109,7 @@ As coordenadas de um ponto são sempre dadas como `latitude, longitude`, então * Uma latitude de 47.6423109 (47.6423109 graus ao norte do equador) * Uma longitude de -122.1390293 (122.1390293 graus a oeste do Meridiano Principal). -![O Campus da Microsoft em 47.6423109,-122.117198](../../../../../translated_images/pt/microsoft-gps-location-world.a321d481b010f6adfcca139b2ba0adc53b79f58a540495b8e2ce7f779ea64bfe.png) +![O Campus da Microsoft em 47.6423109,-122.117198](../../../../../translated_images/pt-PT/microsoft-gps-location-world.a321d481b010f6adfcca139b2ba0adc53b79f58a540495b8e2ce7f779ea64bfe.png) ## Sistemas de Posicionamento Global (GPS) @@ -121,7 +121,7 @@ Os sistemas GPS funcionam com vários satélites que enviam um sinal com a posi > 💁 Os sensores GPS precisam de antenas para detetar ondas de rádio. As antenas integradas em camiões e carros com GPS incorporado são posicionadas para obter um bom sinal, geralmente no para-brisas ou no teto. Se estiver a usar um sistema GPS separado, como um smartphone ou um dispositivo IoT, deve garantir que a antena integrada no sistema GPS ou telemóvel tem uma visão desobstruída do céu, como estar montada no para-brisas. -![Sabendo a distância do sensor a vários satélites, a localização pode ser calculada](../../../../../translated_images/pt/gps-satellites.04acf1148fe25fbf1586bc2e8ba698e8d79b79a50c36824b38417dd13372b90f.png) +![Sabendo a distância do sensor a vários satélites, a localização pode ser calculada](../../../../../translated_images/pt-PT/gps-satellites.04acf1148fe25fbf1586bc2e8ba698e8d79b79a50c36824b38417dd13372b90f.png) Os satélites GPS estão a orbitar a Terra, não num ponto fixo acima do sensor, por isso os dados de localização incluem altitude acima do nível do mar, bem como latitude e longitude. diff --git a/translations/pt/3-transport/lessons/1-location-tracking/pi-gps-sensor.md b/translations/pt/3-transport/lessons/1-location-tracking/pi-gps-sensor.md index e4ac2cf2b..3d3999a03 100644 --- a/translations/pt/3-transport/lessons/1-location-tracking/pi-gps-sensor.md +++ b/translations/pt/3-transport/lessons/1-location-tracking/pi-gps-sensor.md @@ -27,13 +27,13 @@ O sensor Grove GPS pode ser conectado ao Raspberry Pi. Conecta o sensor GPS. -![Um sensor Grove GPS](../../../../../translated_images/pt/grove-gps-sensor.247943bf69b03f0d1820ef6ed10c587f9b650e8db55b936851c92412180bd3e2.png) +![Um sensor Grove GPS](../../../../../translated_images/pt-PT/grove-gps-sensor.247943bf69b03f0d1820ef6ed10c587f9b650e8db55b936851c92412180bd3e2.png) 1. Insere uma extremidade de um cabo Grove na entrada do sensor GPS. O cabo só encaixa de uma forma. 1. Com o Raspberry Pi desligado, conecta a outra extremidade do cabo Grove à entrada UART marcada como **UART** no Grove Base Hat ligado ao Pi. Esta entrada está na fila do meio, no lado mais próximo da ranhura do cartão SD, oposto às portas USB e à entrada Ethernet. - ![O sensor Grove GPS conectado à entrada UART](../../../../../translated_images/pt/pi-gps-sensor.1f99ee2b2f6528915047ec78967bd362e0e4ee0ed594368a3837b9cf9cdaca64.png) + ![O sensor Grove GPS conectado à entrada UART](../../../../../translated_images/pt-PT/pi-gps-sensor.1f99ee2b2f6528915047ec78967bd362e0e4ee0ed594368a3837b9cf9cdaca64.png) 1. Posiciona o sensor GPS de forma que a antena conectada tenha visibilidade para o céu - idealmente junto a uma janela aberta ou no exterior. É mais fácil obter um sinal claro sem obstruções à antena. diff --git a/translations/pt/3-transport/lessons/1-location-tracking/virtual-device-gps-sensor.md b/translations/pt/3-transport/lessons/1-location-tracking/virtual-device-gps-sensor.md index e2d612b3f..c069720e2 100644 --- a/translations/pt/3-transport/lessons/1-location-tracking/virtual-device-gps-sensor.md +++ b/translations/pt/3-transport/lessons/1-location-tracking/virtual-device-gps-sensor.md @@ -47,11 +47,11 @@ Adicione o sensor GPS à aplicação CounterFit. 1. Selecione o botão **Add** para criar o sensor GPS na porta `/dev/ttyAMA0`. - ![As definições do sensor GPS](../../../../../translated_images/pt/counterfit-create-gps-sensor.6385dc9357d85ad1d47b4abb2525e7651fd498917d25eefc5a72feab09eedc70.png) + ![As definições do sensor GPS](../../../../../translated_images/pt-PT/counterfit-create-gps-sensor.6385dc9357d85ad1d47b4abb2525e7651fd498917d25eefc5a72feab09eedc70.png) O sensor GPS será criado e aparecerá na lista de sensores. - ![O sensor GPS criado](../../../../../translated_images/pt/counterfit-gps-sensor.3fbb15af0a5367566f2f11324ef5a6f30861cdf2b497071a5e002b7aa473550e.png) + ![O sensor GPS criado](../../../../../translated_images/pt-PT/counterfit-gps-sensor.3fbb15af0a5367566f2f11324ef5a6f30861cdf2b497071a5e002b7aa473550e.png) ## Programar o sensor GPS @@ -111,17 +111,17 @@ Programe a aplicação do sensor GPS. * Defina a **Source** como `Lat/Lon` e configure uma latitude, longitude e número de satélites usados para obter a fixação GPS. Este valor será enviado apenas uma vez, por isso marque a caixa **Repeat** para que os dados sejam repetidos a cada segundo. - ![O sensor GPS com lat lon selecionado](../../../../../translated_images/pt/counterfit-gps-sensor-latlon.008c867d75464fbe7f84107cc57040df565ac07cb57d2f21db37d087d470197d.png) + ![O sensor GPS com lat lon selecionado](../../../../../translated_images/pt-PT/counterfit-gps-sensor-latlon.008c867d75464fbe7f84107cc57040df565ac07cb57d2f21db37d087d470197d.png) * Defina a **Source** como `NMEA` e adicione algumas frases NMEA na caixa de texto. Todos estes valores serão enviados, com um atraso de 1 segundo antes de cada nova frase GGA (fixação de posição) poder ser lida. - ![O sensor GPS com frases NMEA definidas](../../../../../translated_images/pt/counterfit-gps-sensor-nmea.c62eea442171e17e19528b051b104cfcecdc9cd18db7bc72920f29821ae63f73.png) + ![O sensor GPS com frases NMEA definidas](../../../../../translated_images/pt-PT/counterfit-gps-sensor-nmea.c62eea442171e17e19528b051b104cfcecdc9cd18db7bc72920f29821ae63f73.png) Pode usar uma ferramenta como [nmeagen.org](https://www.nmeagen.org) para gerar estas frases desenhando num mapa. Estes valores serão enviados apenas uma vez, por isso marque a caixa **Repeat** para que os dados sejam repetidos um segundo após todos terem sido enviados. * Defina a **Source** como ficheiro GPX e carregue um ficheiro GPX com localizações de trilhos. Pode descarregar ficheiros GPX de vários sites populares de mapas e caminhadas, como [AllTrails](https://www.alltrails.com/). Estes ficheiros contêm várias localizações GPS como um trilho, e o sensor GPS retornará cada nova localização em intervalos de 1 segundo. - ![O sensor GPS com um ficheiro GPX definido](../../../../../translated_images/pt/counterfit-gps-sensor-gpxfile.8310b063ce8a425ccc8ebeec8306aeac5e8e55207f007d52c6e1194432a70cd9.png) + ![O sensor GPS com um ficheiro GPX definido](../../../../../translated_images/pt-PT/counterfit-gps-sensor-gpxfile.8310b063ce8a425ccc8ebeec8306aeac5e8e55207f007d52c6e1194432a70cd9.png) Estes valores serão enviados apenas uma vez, por isso marque a caixa **Repeat** para que os dados sejam repetidos um segundo após todos terem sido enviados. diff --git a/translations/pt/3-transport/lessons/1-location-tracking/wio-terminal-gps-sensor.md b/translations/pt/3-transport/lessons/1-location-tracking/wio-terminal-gps-sensor.md index 658cbbb72..69cacaa44 100644 --- a/translations/pt/3-transport/lessons/1-location-tracking/wio-terminal-gps-sensor.md +++ b/translations/pt/3-transport/lessons/1-location-tracking/wio-terminal-gps-sensor.md @@ -27,13 +27,13 @@ O sensor Grove GPS pode ser conectado ao Wio Terminal. Conecte o sensor GPS. -![Um sensor Grove GPS](../../../../../translated_images/pt/grove-gps-sensor.247943bf69b03f0d1820ef6ed10c587f9b650e8db55b936851c92412180bd3e2.png) +![Um sensor Grove GPS](../../../../../translated_images/pt-PT/grove-gps-sensor.247943bf69b03f0d1820ef6ed10c587f9b650e8db55b936851c92412180bd3e2.png) 1. Insira uma extremidade de um cabo Grove na entrada do sensor GPS. O cabo só encaixa de uma forma. 1. Com o Wio Terminal desconectado do seu computador ou de outra fonte de energia, conecte a outra extremidade do cabo Grove à entrada Grove do lado esquerdo do Wio Terminal, olhando para o ecrã. Esta é a entrada mais próxima do botão de energia. - ![O sensor Grove GPS conectado à entrada do lado esquerdo](../../../../../translated_images/pt/wio-gps-sensor.19fd52b81ce58095.webp) + ![O sensor Grove GPS conectado à entrada do lado esquerdo](../../../../../translated_images/pt-PT/wio-gps-sensor.19fd52b81ce58095.webp) 1. Posicione o sensor GPS de forma que a antena conectada tenha visibilidade para o céu - idealmente próximo de uma janela aberta ou no exterior. É mais fácil obter um sinal claro sem obstruções à antena. diff --git a/translations/pt/3-transport/lessons/2-store-location-data/README.md b/translations/pt/3-transport/lessons/2-store-location-data/README.md index 658e6e891..bd1694512 100644 --- a/translations/pt/3-transport/lessons/2-store-location-data/README.md +++ b/translations/pt/3-transport/lessons/2-store-location-data/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # Dados de localização da loja -![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt/lesson-12.ca7f53039712a3ec14ad6474d8445361c84adab643edc53fa6269b77895606bb.jpg) +![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt-PT/lesson-12.ca7f53039712a3ec14ad6474d8445361c84adab643edc53fa6269b77895606bb.jpg) > Ilustração por [Nitya Narasimhan](https://github.com/nitya). Clique na imagem para uma versão maior. @@ -66,7 +66,7 @@ Bases de dados são serviços que permitem armazenar e consultar dados. As bases As primeiras bases de dados foram Sistemas de Gestão de Bases de Dados Relacionais (RDBMS), ou bases de dados relacionais. Estas também são conhecidas como bases de dados SQL devido à Linguagem de Consulta Estruturada (SQL) usada para interagir com elas para adicionar, remover, atualizar ou consultar dados. Estas bases de dados consistem num esquema - um conjunto bem definido de tabelas de dados, semelhante a uma folha de cálculo. Cada tabela tem várias colunas nomeadas. Quando inseres dados, adicionas uma linha à tabela, colocando valores em cada uma das colunas. Isso mantém os dados numa estrutura muito rígida - embora possas deixar colunas vazias, se quiseres adicionar uma nova coluna, tens de fazer isso na base de dados, preenchendo valores para as linhas existentes. Estas bases de dados são relacionais - uma tabela pode ter uma relação com outra. -![Uma base de dados relacional com o ID da tabela de utilizadores relacionado com a coluna de ID de utilizador da tabela de compras, e o ID da tabela de produtos relacionado com o ID de produto da tabela de compras](../../../../../translated_images/pt/sql-database.be160f12bfccefd3.webp) +![Uma base de dados relacional com o ID da tabela de utilizadores relacionado com a coluna de ID de utilizador da tabela de compras, e o ID da tabela de produtos relacionado com o ID de produto da tabela de compras](../../../../../translated_images/pt-PT/sql-database.be160f12bfccefd3.webp) Por exemplo, se armazenares os detalhes pessoais de um utilizador numa tabela, terás algum tipo de ID único interno por utilizador que é usado numa linha numa tabela que contém o nome e a morada do utilizador. Se quiseres armazenar outros detalhes sobre esse utilizador, como as suas compras, noutra tabela, terás uma coluna na nova tabela para o ID desse utilizador. Quando procuras um utilizador, podes usar o ID para obter os seus detalhes pessoais de uma tabela e as suas compras de outra. @@ -84,7 +84,7 @@ Bases de dados NoSQL são chamadas NoSQL porque não têm a mesma estrutura ríg > 💁 Apesar do nome, algumas bases de dados NoSQL permitem usar SQL para consultar os dados. -![Documentos em pastas numa base de dados NoSQL](../../../../../translated_images/pt/noqsl-database.62d24ccf5b73f60d35c245a8533f1c7147c0928e955b82cb290b2e184bb434df.png) +![Documentos em pastas numa base de dados NoSQL](../../../../../translated_images/pt-PT/noqsl-database.62d24ccf5b73f60d35c245a8533f1c7147c0928e955b82cb290b2e184bb434df.png) Bases de dados NoSQL não têm um esquema pré-definido que limite como os dados são armazenados; em vez disso, podes inserir qualquer dado não estruturado, geralmente usando documentos JSON. Esses documentos podem ser organizados em pastas, semelhante a ficheiros no teu computador. Cada documento pode ter campos diferentes de outros documentos - por exemplo, se estivesses a armazenar dados IoT dos teus veículos agrícolas, alguns poderiam ter campos para dados de acelerómetro e velocidade, outros poderiam ter campos para a temperatura no reboque. Se adicionasses um novo tipo de camião, como um com balanças integradas para rastrear o peso dos produtos transportados, o teu dispositivo IoT poderia adicionar este novo campo e ele poderia ser armazenado sem alterações na base de dados. @@ -98,7 +98,7 @@ Nesta lição, vais usar armazenamento NoSQL para armazenar dados IoT. Na última lição, capturaste dados GPS de um sensor GPS conectado ao teu dispositivo IoT. Para armazenar esses dados IoT na nuvem, precisas enviá-los para um serviço IoT. Mais uma vez, vais usar o Azure IoT Hub, o mesmo serviço IoT na nuvem que usaste no projeto anterior. -![Enviar telemetria GPS de um dispositivo IoT para o IoT Hub](../../../../../translated_images/pt/gps-telemetry-iot-hub.8115335d51cd2c1285d20e9d1b18cf685e59a8e093e7797291ef173445af6f3d.png) +![Enviar telemetria GPS de um dispositivo IoT para o IoT Hub](../../../../../translated_images/pt-PT/gps-telemetry-iot-hub.8115335d51cd2c1285d20e9d1b18cf685e59a8e093e7797291ef173445af6f3d.png) ### Tarefa - enviar dados GPS para um IoT Hub @@ -180,7 +180,7 @@ Os dados do caminho frio são armazenados em armazéns de dados - bases de dados Assim que os dados estiverem a fluir para o teu IoT Hub, podes escrever algum código sem servidor para ouvir eventos publicados no endpoint compatível com Event-Hub. Este é o caminho morno - esses dados serão armazenados e usados na próxima lição para relatórios sobre a jornada. -![Enviar telemetria GPS de um dispositivo IoT para o IoT Hub, depois para Azure Functions via um gatilho de event hub](../../../../../translated_images/pt/gps-telemetry-iot-hub-functions.24d3fa5592455e9f4e2fe73856b40c3915a292b90263c31d652acfd976cfedd8.png) +![Enviar telemetria GPS de um dispositivo IoT para o IoT Hub, depois para Azure Functions via um gatilho de event hub](../../../../../translated_images/pt-PT/gps-telemetry-iot-hub-functions.24d3fa5592455e9f4e2fe73856b40c3915a292b90263c31d652acfd976cfedd8.png) ### Tarefa - lidar com eventos GPS usando código sem servidor @@ -202,7 +202,7 @@ Assim que os dados estiverem a fluir para o teu IoT Hub, podes escrever algum c ## Contas de Armazenamento Azure -![O logótipo do Azure Storage](../../../../../translated_images/pt/azure-storage-logo.605c0f602c640d482a80f1b35a2629a32d595711b7ab1d7ceea843250615ff32.png) +![O logótipo do Azure Storage](../../../../../translated_images/pt-PT/azure-storage-logo.605c0f602c640d482a80f1b35a2629a32d595711b7ab1d7ceea843250615ff32.png) As Contas de Armazenamento Azure são um serviço de armazenamento de propósito geral que pode armazenar dados de várias formas diferentes. Pode armazenar dados como blobs, em filas, em tabelas ou como ficheiros, tudo ao mesmo tempo. @@ -241,7 +241,7 @@ A sua aplicação de funções agora precisa de se conectar ao armazenamento de Nesta lição, utilizará o SDK de Python para ver como interagir com o armazenamento de blobs. -![Enviar telemetria GPS de um dispositivo IoT para o IoT Hub, depois para Azure Functions via um gatilho de Event Hub, e finalmente guardá-lo no armazenamento de blobs](../../../../../translated_images/pt/save-telemetry-to-storage-from-functions.ed3b1820980097f1.webp) +![Enviar telemetria GPS de um dispositivo IoT para o IoT Hub, depois para Azure Functions via um gatilho de Event Hub, e finalmente guardá-lo no armazenamento de blobs](../../../../../translated_images/pt-PT/save-telemetry-to-storage-from-functions.ed3b1820980097f1.webp) Os dados serão guardados como um blob JSON com o seguinte formato: diff --git a/translations/pt/3-transport/lessons/3-visualize-location-data/README.md b/translations/pt/3-transport/lessons/3-visualize-location-data/README.md index f398764d9..b646c663b 100644 --- a/translations/pt/3-transport/lessons/3-visualize-location-data/README.md +++ b/translations/pt/3-transport/lessons/3-visualize-location-data/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # Visualizar dados de localização -![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt/lesson-13.a259db1485021be7d7c72e90842fbe0ab977529e8684c179b5fb1ea75e92b3ef.jpg) +![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt-PT/lesson-13.a259db1485021be7d7c72e90842fbe0ab977529e8684c179b5fb1ea75e92b3ef.jpg) > Ilustração por [Nitya Narasimhan](https://github.com/nitya). Clique na imagem para uma versão maior. @@ -73,11 +73,11 @@ Tomando um exemplo simples - no projeto da quinta, capturaste leituras de humida Para um humano, entender esses dados pode ser difícil. É uma parede de números sem muito significado. Como primeiro passo para visualizar esses dados, eles podem ser plotados num gráfico de linhas: -![Um gráfico de linhas dos dados acima](../../../../../translated_images/pt/chart-soil-moisture.fd6d9d0cdc0b5f75e78038ecb8945dfc84b38851359de99d84b16e3336d6d7c2.png) +![Um gráfico de linhas dos dados acima](../../../../../translated_images/pt-PT/chart-soil-moisture.fd6d9d0cdc0b5f75e78038ecb8945dfc84b38851359de99d84b16e3336d6d7c2.png) Isso pode ser ainda mais aprimorado adicionando uma linha para indicar quando o sistema de rega automática foi ativado a uma leitura de humidade do solo de 450: -![Um gráfico de linhas de humidade do solo com uma linha em 450](../../../../../translated_images/pt/chart-soil-moisture-relay.fbb391236d34a64d0abf1df396e9197e0a24df14150620b9cc820a64a55c9326.png) +![Um gráfico de linhas de humidade do solo com uma linha em 450](../../../../../translated_images/pt-PT/chart-soil-moisture-relay.fbb391236d34a64d0abf1df396e9197e0a24df14150620b9cc820a64a55c9326.png) Este gráfico mostra rapidamente não apenas os níveis de humidade do solo, mas também os pontos onde o sistema de rega foi ativado. @@ -93,7 +93,7 @@ Ao trabalhar com dados de GPS, a visualização mais clara pode ser plotar os da Trabalhar com mapas é um exercício interessante, e há muitos para escolher, como Bing Maps, Leaflet, Open Street Maps e Google Maps. Nesta lição, vais aprender sobre [Azure Maps](https://azure.microsoft.com/services/azure-maps/?WT.mc_id=academic-17441-jabenn) e como eles podem exibir os teus dados de GPS. -![O logótipo do Azure Maps](../../../../../translated_images/pt/azure-maps-logo.35d01dcfbd81fe6140e94257aaa1538f785a58c91576d14e0ebe7a2f6c694b99.png) +![O logótipo do Azure Maps](../../../../../translated_images/pt-PT/azure-maps-logo.35d01dcfbd81fe6140e94257aaa1538f785a58c91576d14e0ebe7a2f6c694b99.png) Azure Maps é "uma coleção de serviços geoespaciais e SDKs que utilizam dados de mapas atualizados para fornecer contexto geográfico a aplicações web e móveis." Os programadores têm à disposição ferramentas para criar mapas bonitos e interativos que podem fazer coisas como fornecer rotas de trânsito recomendadas, dar informações sobre incidentes de trânsito, navegação interna, capacidades de pesquisa, informações de elevação, serviços meteorológicos e muito mais. @@ -194,7 +194,7 @@ Agora podes dar o próximo passo, que é exibir o teu mapa numa página web. Vam Se abrires o teu ficheiro `index.html` num navegador web, deverás ver um mapa carregado, focado na área de Seattle. - ![Um mapa mostrando Seattle, uma cidade no estado de Washington, EUA](../../../../../translated_images/pt/map-image.8fb2c53eb23ef39c1c0a4410a5282e879b3b452b707eb066ff04c5488d3d72b7.png) + ![Um mapa mostrando Seattle, uma cidade no estado de Washington, EUA](../../../../../translated_images/pt-PT/map-image.8fb2c53eb23ef39c1c0a4410a5282e879b3b452b707eb066ff04c5488d3d72b7.png) ✅ Experimenta os parâmetros de zoom e centro para alterar a exibição do mapa. Podes adicionar diferentes coordenadas correspondentes à latitude e longitude dos teus dados para recentrar o mapa. @@ -328,7 +328,7 @@ Se fizer uma chamada ao seu armazenamento para buscar os dados, pode ficar surpr 1. Carregue a página HTML no seu navegador. Ela irá carregar o mapa, depois carregar todos os dados GPS do armazenamento e plotá-los no mapa. - ![Um mapa do Saint Edward State Park perto de Seattle, com círculos mostrando um caminho ao redor da borda do parque](../../../../../translated_images/pt/map-path.896832e72dc696ffe20650e4051027d4855442d955f93fdbb80bb417ca8a406f.png) + ![Um mapa do Saint Edward State Park perto de Seattle, com círculos mostrando um caminho ao redor da borda do parque](../../../../../translated_images/pt-PT/map-path.896832e72dc696ffe20650e4051027d4855442d955f93fdbb80bb417ca8a406f.png) > 💁 Pode encontrar este código na [pasta de código](../../../../../3-transport/lessons/3-visualize-location-data/code). diff --git a/translations/pt/3-transport/lessons/4-geofences/README.md b/translations/pt/3-transport/lessons/4-geofences/README.md index e6340beb0..b43be35bc 100644 --- a/translations/pt/3-transport/lessons/4-geofences/README.md +++ b/translations/pt/3-transport/lessons/4-geofences/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # Geofences -![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt/lesson-14.63980c5150ae3c153e770fb71d044c1845dce79248d86bed9fc525adf3ede73c.jpg) +![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt-PT/lesson-14.63980c5150ae3c153e770fb71d044c1845dce79248d86bed9fc525adf3ede73c.jpg) > Ilustração por [Nitya Narasimhan](https://github.com/nitya). Clique na imagem para uma versão maior. @@ -44,7 +44,7 @@ Nesta lição, abordaremos: Uma geofence é um perímetro virtual para uma região geográfica do mundo real. Geofences podem ser círculos definidos como um ponto e um raio (por exemplo, um círculo de 100m de diâmetro em torno de um edifício) ou um polígono cobrindo uma área, como uma zona escolar, limites de uma cidade ou um campus universitário ou empresarial. -![Alguns exemplos de geofences mostrando uma geofence circular em torno da loja da Microsoft e uma geofence poligonal em torno do campus oeste da Microsoft](../../../../../translated_images/pt/geofence-examples.172fbc534665769f6e1a1ddcf75e3b25183cd10354c80cc603ba44b635390e1a.png) +![Alguns exemplos de geofences mostrando uma geofence circular em torno da loja da Microsoft e uma geofence poligonal em torno do campus oeste da Microsoft](../../../../../translated_images/pt-PT/geofence-examples.172fbc534665769f6e1a1ddcf75e3b25183cd10354c80cc603ba44b635390e1a.png) > 💁 Pode ser que já tenha usado geofences sem saber. Se já definiu um lembrete usando a aplicação de lembretes do iOS ou o Google Keep baseado numa localização, já utilizou uma geofence. Estas aplicações configuram uma geofence com base na localização fornecida e alertam-no quando o seu telemóvel entra na geofence. @@ -110,7 +110,7 @@ Cada ponto no polígono é definido como um par de longitude e latitude num arra O array de coordenadas do polígono sempre tem 1 entrada a mais do que o número de pontos no polígono, sendo a última entrada igual à primeira, fechando o polígono. Por exemplo, para um retângulo, haveria 5 pontos. -![Um retângulo com coordenadas](../../../../../translated_images/pt/polygon-points.302193da381cb415.webp) +![Um retângulo com coordenadas](../../../../../translated_images/pt-PT/polygon-points.302193da381cb415.webp) Na imagem acima, há um retângulo. As coordenadas do polígono começam no canto superior esquerdo em 47,-122, depois movem-se para a direita até 47,-121, depois para baixo até 46,-121, depois para a esquerda até 46,-122, e finalmente de volta ao ponto inicial em 47,-122. Isso dá ao polígono 5 pontos - canto superior esquerdo, canto superior direito, canto inferior direito, canto inferior esquerdo e, por fim, o canto superior esquerdo para fechá-lo. @@ -208,7 +208,7 @@ Quando faz este pedido, também pode passar um valor chamado `searchBuffer`. Est Quando os resultados são retornados da chamada à API, uma das partes do resultado é a `distance`, medida até o ponto mais próximo na borda da geofence, com um valor positivo se o ponto estiver fora da geofence e negativo se estiver dentro. Se esta distância for menor que o search buffer, a distância real é retornada em metros; caso contrário, o valor será 999 ou -999. 999 significa que o ponto está fora da geofence por mais do que o search buffer, -999 significa que está dentro da geofence por mais do que o search buffer. -![Uma geofence com um search buffer de 50m ao redor](../../../../../translated_images/pt/search-buffer-and-distance.e6a79af3898183c7.webp) +![Uma geofence com um search buffer de 50m ao redor](../../../../../translated_images/pt-PT/search-buffer-and-distance.e6a79af3898183c7.webp) Na imagem acima, a geofence tem um search buffer de 50m. @@ -221,7 +221,7 @@ Na imagem acima, a geofence tem um search buffer de 50m. Por exemplo, imagine leituras GPS mostrando que um veículo estava a conduzir numa estrada que passa ao lado de uma geofence. Se um único valor GPS for impreciso e colocar o veículo dentro da geofence, apesar de não haver acesso veicular, então este valor pode ser ignorado. -![Um rastro GPS mostrando um veículo a passar pelo campus da Microsoft na 520, com leituras GPS ao longo da estrada, exceto uma no campus, dentro de uma geofence](../../../../../translated_images/pt/geofence-crossing-inaccurate-gps.6a3ed911202ad9cabb66d3964888cec03a42c61d5b8f536ad5bdc99716b370f5.png) +![Um rastro GPS mostrando um veículo a passar pelo campus da Microsoft na 520, com leituras GPS ao longo da estrada, exceto uma no campus, dentro de uma geofence](../../../../../translated_images/pt-PT/geofence-crossing-inaccurate-gps.6a3ed911202ad9cabb66d3964888cec03a42c61d5b8f536ad5bdc99716b370f5.png) Na imagem acima, há uma geofence sobre parte do campus da Microsoft. A linha vermelha mostra um camião a conduzir ao longo da 520, com círculos a indicar as leituras de GPS. A maioria destas leituras são precisas e estão ao longo da 520, com uma leitura imprecisa dentro da geofence. Não há como essa leitura ser correta - não existem estradas para o camião desviar-se subitamente da 520 para o campus e depois voltar para a 520. O código que verifica esta geofence precisará de considerar as leituras anteriores antes de agir com base nos resultados do teste da geofence. ✅ Que dados adicionais seriam necessários para verificar se uma leitura de GPS pode ser considerada correta? @@ -293,7 +293,7 @@ Como se lembrará de lições anteriores, o IoT Hub permite reproduzir eventos q A resposta é que não consegue! Em vez disso, pode definir múltiplas conexões separadas para ler eventos, e cada uma pode gerir a reprodução de mensagens não lidas. Estes são chamados de *grupos de consumidores*. Quando se conecta ao endpoint, pode especificar qual grupo de consumidores deseja usar. Cada componente da sua aplicação conectará a um grupo de consumidores diferente. -![Um IoT Hub com 3 grupos de consumidores a distribuir as mesmas mensagens para 3 diferentes aplicações Functions](../../../../../translated_images/pt/consumer-groups.a3262e26fc27ba2092863678ad57af15c7223416e388a23f330c058cf4358630.png) +![Um IoT Hub com 3 grupos de consumidores a distribuir as mesmas mensagens para 3 diferentes aplicações Functions](../../../../../translated_images/pt-PT/consumer-groups.a3262e26fc27ba2092863678ad57af15c7223416e388a23f330c058cf4358630.png) Em teoria, até 5 aplicações podem conectar-se a cada grupo de consumidores, e todas receberão mensagens quando estas chegarem. É uma boa prática ter apenas uma aplicação a aceder a cada grupo de consumidores para evitar processamento duplicado de mensagens e garantir que, ao reiniciar, todas as mensagens em fila sejam processadas corretamente. Por exemplo, se lançar a sua aplicação Functions localmente, bem como executá-la na cloud, ambas processariam mensagens, levando a blobs duplicados armazenados na conta de armazenamento. diff --git a/translations/pt/4-manufacturing/lessons/1-train-fruit-detector/README.md b/translations/pt/4-manufacturing/lessons/1-train-fruit-detector/README.md index 21c557fb2..c727da878 100644 --- a/translations/pt/4-manufacturing/lessons/1-train-fruit-detector/README.md +++ b/translations/pt/4-manufacturing/lessons/1-train-fruit-detector/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # Treinar um detector de qualidade de frutas -![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt/lesson-15.843d21afdc6fb2bba70cd9db7b7d2f91598859fafda2078b0bdc44954194b6c0.jpg) +![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt-PT/lesson-15.843d21afdc6fb2bba70cd9db7b7d2f91598859fafda2078b0bdc44954194b6c0.jpg) > Ilustração por [Nitya Narasimhan](https://github.com/nitya). Clique na imagem para uma versão maior. @@ -47,7 +47,7 @@ Nem todas as culturas amadurecem uniformemente. Os tomates, por exemplo, podem a O avanço na colheita automatizada transferiu a classificação dos produtos da colheita para a fábrica. Os alimentos viajavam em longas esteiras com equipes de pessoas examinando os produtos e removendo qualquer coisa que não atendesse aos padrões de qualidade exigidos. A colheita ficou mais barata graças às máquinas, mas ainda havia um custo para classificar os alimentos manualmente. -![Se um tomate vermelho for detectado, ele continua sua jornada sem interrupções. Se um tomate verde for detectado, ele é jogado em uma lixeira por uma alavanca](../../../../../translated_images/pt/optical-tomato-sorting.61aa134bdda4e5b1bfb16a212c1e35a6ef0c426cbb8b1c975f79d7bfbf48d068.png) +![Se um tomate vermelho for detectado, ele continua sua jornada sem interrupções. Se um tomate verde for detectado, ele é jogado em uma lixeira por uma alavanca](../../../../../translated_images/pt-PT/optical-tomato-sorting.61aa134bdda4e5b1bfb16a212c1e35a6ef0c426cbb8b1c975f79d7bfbf48d068.png) A próxima evolução foi usar máquinas para classificar, seja integradas à colheitadeira ou nas plantas de processamento. A primeira geração dessas máquinas usava sensores ópticos para detectar cores, controlando atuadores para empurrar tomates verdes para uma lixeira usando alavancas ou jatos de ar, deixando os tomates vermelhos continuarem em uma rede de esteiras. @@ -61,7 +61,7 @@ As evoluções mais recentes dessas máquinas de classificação aproveitam a IA A programação tradicional é onde você pega dados, aplica um algoritmo aos dados e obtém um resultado. Por exemplo, no último projeto, você usou coordenadas de GPS e uma geofence, aplicou um algoritmo fornecido pelo Azure Maps e obteve um resultado indicando se o ponto estava dentro ou fora da geofence. Você insere mais dados e obtém mais resultados. -![O desenvolvimento tradicional usa entrada e um algoritmo para gerar saída. O aprendizado de máquina usa dados de entrada e saída para treinar um modelo, e este modelo pode usar novos dados de entrada para gerar novas saídas](../../../../../translated_images/pt/traditional-vs-ml.5c20c169621fa539.webp) +![O desenvolvimento tradicional usa entrada e um algoritmo para gerar saída. O aprendizado de máquina usa dados de entrada e saída para treinar um modelo, e este modelo pode usar novos dados de entrada para gerar novas saídas](../../../../../translated_images/pt-PT/traditional-vs-ml.5c20c169621fa539.webp) O aprendizado de máquina inverte esse processo - você começa com dados e saídas conhecidas, e o algoritmo de aprendizado de máquina aprende com os dados. Você pode então usar esse algoritmo treinado, chamado de *modelo de aprendizado de máquina* ou *modelo*, e inserir novos dados para obter novos resultados. @@ -71,7 +71,7 @@ Por exemplo, você poderia fornecer a um modelo milhões de fotos de bananas nã > 🎓 Os resultados dos modelos de ML são chamados de *previsões* -![2 bananas, uma madura com uma previsão de 99,7% madura, 0,3% não madura, e uma não madura com uma previsão de 1,4% madura, 98,6% não madura](../../../../../translated_images/pt/bananas-ripe-vs-unripe-predictions.8d0e2034014aa50ece4e4589e724b142da0681f35470fe3db3f7d51240f69c85.png) +![2 bananas, uma madura com uma previsão de 99,7% madura, 0,3% não madura, e uma não madura com uma previsão de 1,4% madura, 98,6% não madura](../../../../../translated_images/pt-PT/bananas-ripe-vs-unripe-predictions.8d0e2034014aa50ece4e4589e724b142da0681f35470fe3db3f7d51240f69c85.png) Os modelos de ML não fornecem uma resposta binária, mas sim probabilidades. Por exemplo, um modelo pode receber uma foto de uma banana e prever `madura` com 99,7% e `não madura` com 0,3%. Seu código então escolheria a melhor previsão e decidiria que a banana está madura. @@ -87,7 +87,7 @@ Para treinar com sucesso um classificador de imagens, você precisa de milhões Uma vez que um classificador de imagens tenha sido treinado para uma ampla variedade de imagens, seus componentes internos são ótimos em reconhecer formas, cores e padrões. O transfer learning permite que o modelo aproveite o que já aprendeu ao reconhecer partes de imagens e use isso para reconhecer novas imagens. -![Uma vez que você pode reconhecer formas, elas podem ser organizadas em diferentes configurações para formar um barco ou um gato](../../../../../translated_images/pt/shapes-to-images.1a309f0ea88dd66f.webp) +![Uma vez que você pode reconhecer formas, elas podem ser organizadas em diferentes configurações para formar um barco ou um gato](../../../../../translated_images/pt-PT/shapes-to-images.1a309f0ea88dd66f.webp) Você pode pensar nisso como livros infantis de formas, onde, uma vez que você pode reconhecer um semicírculo, um retângulo e um triângulo, pode reconhecer um barco ou um gato dependendo da configuração dessas formas. O classificador de imagens pode reconhecer as formas, e o transfer learning ensina-o qual combinação forma um barco ou um gato - ou uma banana madura. @@ -99,7 +99,7 @@ Existem uma ampla gama de ferramentas que podem ajudá-lo a fazer isso, incluind Custom Vision é uma ferramenta baseada na nuvem para treinar classificadores de imagens. Ela permite treinar um classificador usando apenas um pequeno número de imagens. Você pode carregar imagens através de um portal web, API web ou SDK, atribuindo a cada imagem uma *etiqueta* que classifica essa imagem. Em seguida, você treina o modelo e testa para ver como ele se comporta. Quando estiver satisfeito com o modelo, pode publicar versões dele que podem ser acessadas por meio de uma API web ou SDK. -![O logotipo do Azure Custom Vision](../../../../../translated_images/pt/custom-vision-logo.d3d4e7c8a87ec9daf825e72e210576c3cbf60312577be7a139e22dd97ab7f1e6.png) +![O logotipo do Azure Custom Vision](../../../../../translated_images/pt-PT/custom-vision-logo.d3d4e7c8a87ec9daf825e72e210576c3cbf60312577be7a139e22dd97ab7f1e6.png) > 💁 Você pode treinar um modelo Custom Vision com apenas 5 imagens por classificação, mas mais imagens são melhores. Você pode obter resultados melhores com pelo menos 30 imagens. @@ -155,7 +155,7 @@ Para usar o Custom Vision, você primeiro precisa criar dois recursos de serviç Ao criar seu projeto, certifique-se de usar o recurso `fruit-quality-detector-training` que você criou anteriormente. Use o tipo de projeto *Classificação*, o tipo de classificação *Multiclasse* e o domínio *Alimentos*. - ![As configurações para o projeto Custom Vision com o nome definido como fruit-quality-detector, sem descrição, o recurso definido como fruit-quality-detector-training, o tipo de projeto definido como classificação, o tipo de classificação definido como multiclasse e o domínio definido como alimentos](../../../../../translated_images/pt/custom-vision-create-project.cf46325b92d8b131089f6647cf5e07b664cb77850e106d66e3c057b6b69756c6.png) + ![As configurações para o projeto Custom Vision com o nome definido como fruit-quality-detector, sem descrição, o recurso definido como fruit-quality-detector-training, o tipo de projeto definido como classificação, o tipo de classificação definido como multiclasse e o domínio definido como alimentos](../../../../../translated_images/pt-PT/custom-vision-create-project.cf46325b92d8b131089f6647cf5e07b664cb77850e106d66e3c057b6b69756c6.png) ✅ Reserve um tempo para explorar a interface do Custom Vision para seu classificador de imagens. @@ -173,7 +173,7 @@ Classificadores de imagem operam em resoluções muito baixas. Por exemplo, o Cu * Usando 2 bananas maduras, tire algumas fotos de cada uma de diferentes ângulos, tirando pelo menos 7 fotos (5 para treinar, 2 para testar), mas idealmente mais. - ![Fotos de 2 bananas diferentes](../../../../../translated_images/pt/banana-training-images.530eb203346d73bc23b8b990fb4609470bf4ff7c942ccc13d4cfffeed9be1ad4.png) + ![Fotos de 2 bananas diferentes](../../../../../translated_images/pt-PT/banana-training-images.530eb203346d73bc23b8b990fb4609470bf4ff7c942ccc13d4cfffeed9be1ad4.png) * Repita o mesmo processo com 2 bananas verdes. @@ -183,7 +183,7 @@ Classificadores de imagem operam em resoluções muito baixas. Por exemplo, o Cu 1. Siga a [seção de upload e etiquetagem de imagens do guia rápido para criar um classificador nos documentos da Microsoft](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/getting-started-build-a-classifier?WT.mc_id=academic-17441-jabenn#upload-and-tag-images) para carregar suas imagens de treinamento. Etiquete as frutas maduras como `ripe` e as verdes como `unripe`. - ![Os diálogos de upload mostrando o envio de imagens de bananas maduras e verdes](../../../../../translated_images/pt/image-upload-bananas.0751639f3815e0ec42bdbc6254d1e4357a185834d1ae10c9948a0e7d6d336695.png) + ![Os diálogos de upload mostrando o envio de imagens de bananas maduras e verdes](../../../../../translated_images/pt-PT/image-upload-bananas.0751639f3815e0ec42bdbc6254d1e4357a185834d1ae10c9948a0e7d6d336695.png) 1. Siga a [seção de treinamento do classificador do guia rápido para criar um classificador nos documentos da Microsoft](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/getting-started-build-a-classifier?WT.mc_id=academic-17441-jabenn#train-the-classifier) para treinar o classificador de imagens com suas imagens carregadas. @@ -201,7 +201,7 @@ Depois que o classificador estiver treinado, você pode testá-lo fornecendo uma 1. Siga a [documentação de teste do modelo nos documentos da Microsoft](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/test-your-model?WT.mc_id=academic-17441-jabenn#test-your-model) para testar o seu classificador de imagens. Use as imagens de teste que criou anteriormente, e não as imagens usadas para treinamento. - ![Uma banana verde prevista como verde com 98,9% de probabilidade, madura com 1,1% de probabilidade](../../../../../translated_images/pt/banana-unripe-quick-test-prediction.dae9b5e1c4ef7c64886422438850ea14f0be6ac918c217ea3b255c685abfabe7.png) + ![Uma banana verde prevista como verde com 98,9% de probabilidade, madura com 1,1% de probabilidade](../../../../../translated_images/pt-PT/banana-unripe-quick-test-prediction.dae9b5e1c4ef7c64886422438850ea14f0be6ac918c217ea3b255c685abfabe7.png) 1. Teste todas as imagens de teste que tiver e observe as probabilidades. diff --git a/translations/pt/4-manufacturing/lessons/2-check-fruit-from-device/README.md b/translations/pt/4-manufacturing/lessons/2-check-fruit-from-device/README.md index fddf556d7..4a79ffe24 100644 --- a/translations/pt/4-manufacturing/lessons/2-check-fruit-from-device/README.md +++ b/translations/pt/4-manufacturing/lessons/2-check-fruit-from-device/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # Verificar a qualidade de frutas com um dispositivo IoT -![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt/lesson-16.215daf18b00631fbdfd64c6fc2dc6044dff5d544288825d8076f9fb83d964c23.jpg) +![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt-PT/lesson-16.215daf18b00631fbdfd64c6fc2dc6044dff5d544288825d8076f9fb83d964c23.jpg) > Ilustração por [Nitya Narasimhan](https://github.com/nitya). Clique na imagem para uma versão maior. @@ -35,7 +35,7 @@ Nesta lição, abordaremos: Os sensores de câmara, como o nome sugere, são câmaras que podes conectar ao teu dispositivo IoT. Eles podem tirar imagens estáticas ou capturar vídeo em streaming. Alguns retornam dados de imagem brutos, enquanto outros comprimem os dados em ficheiros de imagem como JPEG ou PNG. Normalmente, as câmaras que funcionam com dispositivos IoT são muito menores e têm uma resolução mais baixa do que aquelas a que estás habituado, mas também existem câmaras de alta resolução que rivalizam com os melhores telemóveis. Podes encontrar lentes intercambiáveis, configurações com várias câmaras, câmaras térmicas de infravermelhos ou câmaras UV. -![A luz de uma cena passa por uma lente e é focada num sensor CMOS](../../../../../translated_images/pt/cmos-sensor.75f9cd74decb137149a4c9ea825251a4549497d67c0ae2776159e6102bb53aa9.png) +![A luz de uma cena passa por uma lente e é focada num sensor CMOS](../../../../../translated_images/pt-PT/cmos-sensor.75f9cd74decb137149a4c9ea825251a4549497d67c0ae2776159e6102bb53aa9.png) A maioria dos sensores de câmara utiliza sensores de imagem onde cada pixel é um fotodíodo. Uma lente foca a imagem no sensor de imagem, e milhares ou milhões de fotodíodos detetam a luz que incide sobre cada um, registando-a como dados de pixel. @@ -83,7 +83,7 @@ As iterações são publicadas a partir do portal Custom Vision. 1. Clica no botão **Publish** para a iteração. - ![O botão de publicação](../../../../../translated_images/pt/custom-vision-publish-button.b7174e1977b0c33b8b72d4e5b1326c779e0af196f3849d09985ee2d7d5493a39.png) + ![O botão de publicação](../../../../../translated_images/pt-PT/custom-vision-publish-button.b7174e1977b0c33b8b72d4e5b1326c779e0af196f3849d09985ee2d7d5493a39.png) 1. Na janela *Publish Model*, define o *Prediction resource* como o recurso `fruit-quality-detector-prediction` que criaste na última lição. Mantém o nome como `Iteration2` e clica no botão **Publish**. @@ -97,7 +97,7 @@ As iterações são publicadas a partir do portal Custom Vision. Também copia o valor da *Prediction-Key*. Esta é uma chave segura que tens de passar ao chamar o modelo. Apenas aplicações que fornecem esta chave podem usar o modelo; quaisquer outras aplicações serão rejeitadas. - ![A janela da API de previsão mostrando o URL e a chave](../../../../../translated_images/pt/custom-vision-prediction-key-endpoint.30c569ffd0338864f319911f052d5e9b8c5066cb0800a26dd6f7ff5713130ad8.png) + ![A janela da API de previsão mostrando o URL e a chave](../../../../../translated_images/pt-PT/custom-vision-prediction-key-endpoint.30c569ffd0338864f319911f052d5e9b8c5066cb0800a26dd6f7ff5713130ad8.png) ✅ Quando uma nova iteração é publicada, terá um nome diferente. Como achas que podes alterar a iteração que um dispositivo IoT está a usar? @@ -118,7 +118,7 @@ Podes descobrir que os resultados obtidos ao usar a câmara conectada ao teu dis Para obter os melhores resultados de um classificador de imagens, deves treinar o modelo com imagens o mais semelhantes possível às usadas para previsões. Por exemplo, se usaste a câmara do teu telemóvel para capturar imagens para treino, a qualidade, nitidez e cor da imagem serão diferentes de uma câmara conectada a um dispositivo IoT. -![2 imagens de bananas, uma de baixa resolução com pouca iluminação de um dispositivo IoT, e outra de alta resolução com boa iluminação de um telemóvel](../../../../../translated_images/pt/banana-picture-compare.174df164dc326a42cf7fb051a7497e6113c620e91552d92ca914220305d47d9a.png) +![2 imagens de bananas, uma de baixa resolução com pouca iluminação de um dispositivo IoT, e outra de alta resolução com boa iluminação de um telemóvel](../../../../../translated_images/pt-PT/banana-picture-compare.174df164dc326a42cf7fb051a7497e6113c620e91552d92ca914220305d47d9a.png) Na imagem acima, a foto da banana à esquerda foi tirada com uma câmara Raspberry Pi, enquanto a da direita foi tirada da mesma banana no mesmo local com um iPhone. Há uma diferença notável na qualidade - a foto do iPhone é mais nítida, com cores mais vivas e maior contraste. diff --git a/translations/pt/4-manufacturing/lessons/2-check-fruit-from-device/pi-camera.md b/translations/pt/4-manufacturing/lessons/2-check-fruit-from-device/pi-camera.md index 4c320b8eb..39ad579d3 100644 --- a/translations/pt/4-manufacturing/lessons/2-check-fruit-from-device/pi-camera.md +++ b/translations/pt/4-manufacturing/lessons/2-check-fruit-from-device/pi-camera.md @@ -25,7 +25,7 @@ A câmara pode ser conectada ao Raspberry Pi utilizando um cabo de fita. ### Tarefa - conectar a câmara -![Uma Câmara Raspberry Pi](../../../../../translated_images/pt/pi-camera-module.4278753c31bd6e757aa2b858be97d72049f71616278cefe4fb5abb485b40a078.png) +![Uma Câmara Raspberry Pi](../../../../../translated_images/pt-PT/pi-camera-module.4278753c31bd6e757aa2b858be97d72049f71616278cefe4fb5abb485b40a078.png) 1. Desligue o Pi. @@ -33,17 +33,17 @@ A câmara pode ser conectada ao Raspberry Pi utilizando um cabo de fita. Pode encontrar uma animação que mostra como abrir o clipe e inserir o cabo na [documentação de introdução ao módulo de câmara do Raspberry Pi](https://projects.raspberrypi.org/en/projects/getting-started-with-picamera/2). - ![O cabo de fita inserido no módulo de câmara](../../../../../translated_images/pt/pi-camera-ribbon-cable.0bf82acd251611c21ac616f082849413e2b322a261d0e4f8fec344248083b07e.png) + ![O cabo de fita inserido no módulo de câmara](../../../../../translated_images/pt-PT/pi-camera-ribbon-cable.0bf82acd251611c21ac616f082849413e2b322a261d0e4f8fec344248083b07e.png) 1. Remova o Grove Base Hat do Pi. 1. Passe o cabo de fita através da abertura para câmara no Grove Base Hat. Certifique-se de que o lado azul do cabo está virado para as portas analógicas rotuladas **A0**, **A1**, etc. - ![O cabo de fita passando pelo Grove Base Hat](../../../../../translated_images/pt/grove-base-hat-ribbon-cable.501fed202fcf73b11b2b68f6d246189f7d15d3e4423c572ddee79d77b4632b47.png) + ![O cabo de fita passando pelo Grove Base Hat](../../../../../translated_images/pt-PT/grove-base-hat-ribbon-cable.501fed202fcf73b11b2b68f6d246189f7d15d3e4423c572ddee79d77b4632b47.png) 1. Insira o cabo de fita na porta da câmara no Pi. Mais uma vez, puxe o clipe de plástico preto para cima, insira o cabo e depois empurre o clipe de volta ao lugar. O lado azul do cabo deve estar virado para as portas USB e ethernet. - ![O cabo de fita conectado ao encaixe da câmara no Pi](../../../../../translated_images/pt/pi-camera-socket-ribbon-cable.a18309920b11800911082ed7aa6fb28e6d9be3a022e4079ff990016cae3fca10.png) + ![O cabo de fita conectado ao encaixe da câmara no Pi](../../../../../translated_images/pt-PT/pi-camera-socket-ribbon-cable.a18309920b11800911082ed7aa6fb28e6d9be3a022e4079ff990016cae3fca10.png) 1. Recoloque o Grove Base Hat. @@ -110,7 +110,7 @@ Programe o dispositivo. A linha `camera.rotation = 0` define a rotação da imagem. O cabo de fita entra na parte inferior da câmara, mas se a sua câmara estiver girada para facilitar o apontamento para o objeto que deseja classificar, pode alterar esta linha para o número de graus de rotação. - ![A câmara pendurada sobre uma lata de bebida](../../../../../translated_images/pt/pi-camera-upside-down.5376961ba31459883362124152ad6b823d5ac5fc14e85f317e22903bd681c2b6.png) + ![A câmara pendurada sobre uma lata de bebida](../../../../../translated_images/pt-PT/pi-camera-upside-down.5376961ba31459883362124152ad6b823d5ac5fc14e85f317e22903bd681c2b6.png) Por exemplo, se suspender o cabo de fita sobre algo de forma que ele fique na parte superior da câmara, defina a rotação para 180: diff --git a/translations/pt/4-manufacturing/lessons/2-check-fruit-from-device/single-board-computer-classify-image.md b/translations/pt/4-manufacturing/lessons/2-check-fruit-from-device/single-board-computer-classify-image.md index 39a062592..4502c8bed 100644 --- a/translations/pt/4-manufacturing/lessons/2-check-fruit-from-device/single-board-computer-classify-image.md +++ b/translations/pt/4-manufacturing/lessons/2-check-fruit-from-device/single-board-computer-classify-image.md @@ -93,7 +93,7 @@ O serviço Custom Vision tem um SDK em Python que pode ser usado para classifica Poderá ver a imagem que foi capturada e estes valores no separador **Predictions** no Custom Vision. - ![Uma banana no Custom Vision prevista como madura a 56.8% e não madura a 43.1%](../../../../../translated_images/pt/custom-vision-banana-prediction.30cdff4e1d72db5d9a0be0193790a47c2b387da034e12dc1314dd57ca2131b59.png) + ![Uma banana no Custom Vision prevista como madura a 56.8% e não madura a 43.1%](../../../../../translated_images/pt-PT/custom-vision-banana-prediction.30cdff4e1d72db5d9a0be0193790a47c2b387da034e12dc1314dd57ca2131b59.png) > 💁 Pode encontrar este código na pasta [code-classify/pi](../../../../../4-manufacturing/lessons/2-check-fruit-from-device/code-classify/pi) ou [code-classify/virtual-iot-device](../../../../../4-manufacturing/lessons/2-check-fruit-from-device/code-classify/virtual-iot-device). diff --git a/translations/pt/4-manufacturing/lessons/2-check-fruit-from-device/virtual-device-camera.md b/translations/pt/4-manufacturing/lessons/2-check-fruit-from-device/virtual-device-camera.md index 6fbb09fd9..f7e2d6617 100644 --- a/translations/pt/4-manufacturing/lessons/2-check-fruit-from-device/virtual-device-camera.md +++ b/translations/pt/4-manufacturing/lessons/2-check-fruit-from-device/virtual-device-camera.md @@ -43,11 +43,11 @@ Adicione a câmara à aplicação CounterFit. 1. Selecione o botão **Add** para criar a câmara. - ![As definições da câmara](../../../../../translated_images/pt/counterfit-create-camera.a5de97f59c0bd3cbe0416d7e89a3cfe86d19fbae05c641c53a91286412af0a34.png) + ![As definições da câmara](../../../../../translated_images/pt-PT/counterfit-create-camera.a5de97f59c0bd3cbe0416d7e89a3cfe86d19fbae05c641c53a91286412af0a34.png) A câmara será criada e aparecerá na lista de sensores. - ![A câmara criada](../../../../../translated_images/pt/counterfit-camera.001ec52194c8ee5d3f617173da2c79e1df903d10882adc625cbfc493525125d4.png) + ![A câmara criada](../../../../../translated_images/pt-PT/counterfit-camera.001ec52194c8ee5d3f617173da2c79e1df903d10882adc625cbfc493525125d4.png) ## Programar a câmara @@ -112,7 +112,7 @@ Programe o dispositivo. 1. Configure a imagem que a câmara no CounterFit irá capturar. Pode definir a *Source* como *File* e carregar um ficheiro de imagem, ou definir a *Source* como *WebCam*, e as imagens serão capturadas da sua webcam. Certifique-se de selecionar o botão **Set** após escolher uma imagem ou a sua webcam. - ![CounterFit com um ficheiro definido como fonte de imagem e uma webcam mostrando uma pessoa a segurar uma banana numa pré-visualização da webcam](../../../../../translated_images/pt/counterfit-camera-options.eb3bd5150a8e7dffbf24bc5bcaba0cf2cdef95fbe6bbe393695d173817d6b8df.png) + ![CounterFit com um ficheiro definido como fonte de imagem e uma webcam mostrando uma pessoa a segurar uma banana numa pré-visualização da webcam](../../../../../translated_images/pt-PT/counterfit-camera-options.eb3bd5150a8e7dffbf24bc5bcaba0cf2cdef95fbe6bbe393695d173817d6b8df.png) 1. Uma imagem será capturada e guardada como `image.jpg` na pasta atual. Verá este ficheiro no explorador do VS Code. Selecione o ficheiro para visualizar a imagem. Se precisar de rotação, atualize a linha `camera.rotation = 0` conforme necessário e tire outra fotografia. diff --git a/translations/pt/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-camera.md b/translations/pt/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-camera.md index 2104f14c1..4095c00d5 100644 --- a/translations/pt/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-camera.md +++ b/translations/pt/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-camera.md @@ -25,11 +25,11 @@ A ArduCam não possui um conector Grove; em vez disso, liga-se aos barramentos S Ligue a câmara. -![Um sensor ArduCam](../../../../../translated_images/pt/arducam.20e4e4cbb268296570b5914e20d6c349fc42ddac9ed4e1b9deba2188204eebae.png) +![Um sensor ArduCam](../../../../../translated_images/pt-PT/arducam.20e4e4cbb268296570b5914e20d6c349fc42ddac9ed4e1b9deba2188204eebae.png) 1. Os pinos na base da ArduCam precisam de ser ligados aos pinos GPIO no Wio Terminal. Para facilitar a identificação dos pinos corretos, cole o autocolante dos pinos GPIO que vem com o Wio Terminal à volta dos pinos: - ![O Wio Terminal com o autocolante dos pinos GPIO](../../../../../translated_images/pt/wio-terminal-pin-sticker.b90b1535937b84bd.webp) + ![O Wio Terminal com o autocolante dos pinos GPIO](../../../../../translated_images/pt-PT/wio-terminal-pin-sticker.b90b1535937b84bd.webp) 1. Usando fios de ligação, faça as seguintes conexões: @@ -44,7 +44,7 @@ Ligue a câmara. | SDA | 3 (I2C1_SDA) | Dados Seriais I²C | | SCL | 5 (I2C1_SCL) | Relógio Serial I²C | - ![O Wio Terminal ligado à ArduCam com fios de ligação](../../../../../translated_images/pt/arducam-wio-terminal-connections.a4d5a4049bdb5ab800a2877389fc6ecf5e4ff307e6451ff56c517e6786467d0a.png) + ![O Wio Terminal ligado à ArduCam com fios de ligação](../../../../../translated_images/pt-PT/arducam-wio-terminal-connections.a4d5a4049bdb5ab800a2877389fc6ecf5e4ff307e6451ff56c517e6786467d0a.png) As conexões GND e VCC fornecem uma alimentação de 5V à ArduCam. Funciona a 5V, ao contrário dos sensores Grove que funcionam a 3V. Esta alimentação vem diretamente da ligação USB-C que alimenta o dispositivo. @@ -297,7 +297,7 @@ O Wio Terminal pode agora ser programado para capturar uma imagem quando um bot 1. Microcontroladores executam o seu código continuamente, por isso não é fácil acionar algo como tirar uma foto sem reagir a um sensor. O Wio Terminal tem botões, por isso a câmara pode ser configurada para ser acionada por um dos botões. Adicione o seguinte código ao final da função `setup` para configurar o botão C (um dos três botões na parte superior, o mais próximo do interruptor de alimentação). - ![O botão C na parte superior, mais próximo do interruptor de alimentação](../../../../../translated_images/pt/wio-terminal-c-button.73df3cb1c1445ea0.webp) + ![O botão C na parte superior, mais próximo do interruptor de alimentação](../../../../../translated_images/pt-PT/wio-terminal-c-button.73df3cb1c1445ea0.webp) ```cpp pinMode(WIO_KEY_C, INPUT_PULLUP); @@ -465,7 +465,7 @@ O Wio Terminal suporta apenas cartões microSD de até 16GB. Se tiver um cartão 1. Desligue o cartão microSD e ejete-o pressionando-o ligeiramente para dentro e soltando-o, e ele sairá. Pode precisar de usar uma ferramenta fina para fazer isto. Ligue o cartão microSD ao seu computador para visualizar as imagens. - ![Uma imagem de uma banana capturada usando a ArduCam](../../../../../translated_images/pt/banana-arducam.be1b32d4267a8194b0fd042362e56faa431da9cd4af172051b37243ea9be0256.jpg) + ![Uma imagem de uma banana capturada usando a ArduCam](../../../../../translated_images/pt-PT/banana-arducam.be1b32d4267a8194b0fd042362e56faa431da9cd4af172051b37243ea9be0256.jpg) 💁 Pode levar algumas imagens para que o balanço de brancos da câmara se ajuste. Notará isto com base na cor das imagens capturadas, as primeiras podem parecer com cores desajustadas. Pode sempre contornar isto alterando o código para capturar algumas imagens que são ignoradas na função `setup`. diff --git a/translations/pt/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-classify-image.md b/translations/pt/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-classify-image.md index e656a7f42..c923672a6 100644 --- a/translations/pt/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-classify-image.md +++ b/translations/pt/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-classify-image.md @@ -217,7 +217,7 @@ Estes certificados contêm chaves públicas e não precisam de ser mantidos em s Poderá ver a imagem que foi capturada e estes valores no separador **Predictions** no Custom Vision. - ![Uma banana no Custom Vision prevista como madura a 56.8% e não madura a 43.1%](../../../../../translated_images/pt/custom-vision-banana-prediction.30cdff4e1d72db5d9a0be0193790a47c2b387da034e12dc1314dd57ca2131b59.png) + ![Uma banana no Custom Vision prevista como madura a 56.8% e não madura a 43.1%](../../../../../translated_images/pt-PT/custom-vision-banana-prediction.30cdff4e1d72db5d9a0be0193790a47c2b387da034e12dc1314dd57ca2131b59.png) > 💁 Pode encontrar este código na pasta [code-classify/wio-terminal](../../../../../4-manufacturing/lessons/2-check-fruit-from-device/code-classify/wio-terminal). diff --git a/translations/pt/4-manufacturing/lessons/3-run-fruit-detector-edge/README.md b/translations/pt/4-manufacturing/lessons/3-run-fruit-detector-edge/README.md index d7f149104..0177ca393 100644 --- a/translations/pt/4-manufacturing/lessons/3-run-fruit-detector-edge/README.md +++ b/translations/pt/4-manufacturing/lessons/3-run-fruit-detector-edge/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # Execute o seu detector de frutas na edge -![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt/lesson-17.bc333c3c35ba8e42cce666cfffa82b915f787f455bd94e006aea2b6f2722421a.jpg) +![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt-PT/lesson-17.bc333c3c35ba8e42cce666cfffa82b915f787f455bd94e006aea2b6f2722421a.jpg) > Ilustração por [Nitya Narasimhan](https://github.com/nitya). Clique na imagem para uma versão maior. @@ -42,11 +42,11 @@ Nesta lição, abordaremos: A computação na edge envolve ter computadores que processam dados de IoT o mais próximo possível de onde os dados são gerados. Em vez de realizar este processamento na nuvem, ele é movido para a extremidade da nuvem - a sua rede interna. -![Um diagrama de arquitetura mostrando serviços de internet na nuvem e dispositivos IoT numa rede local](../../../../../translated_images/pt/cloud-without-edge.b4da641f6022c95ed6b91fde8b5323abd2f94e0d52073ad54172ae8f5dac90e9.png) +![Um diagrama de arquitetura mostrando serviços de internet na nuvem e dispositivos IoT numa rede local](../../../../../translated_images/pt-PT/cloud-without-edge.b4da641f6022c95ed6b91fde8b5323abd2f94e0d52073ad54172ae8f5dac90e9.png) Nas lições anteriores, teve dispositivos a recolher dados e a enviar esses dados para a nuvem para serem analisados, executando funções sem servidor ou modelos de IA na nuvem. -![Um diagrama de arquitetura mostrando dispositivos IoT numa rede local conectados a dispositivos edge, e esses dispositivos edge conectados à nuvem](../../../../../translated_images/pt/cloud-with-edge.1e26462c62c126fe150bd15a5714ddf0be599f09bacbad08b85be02b76ea1ae1.png) +![Um diagrama de arquitetura mostrando dispositivos IoT numa rede local conectados a dispositivos edge, e esses dispositivos edge conectados à nuvem](../../../../../translated_images/pt-PT/cloud-with-edge.1e26462c62c126fe150bd15a5714ddf0be599f09bacbad08b85be02b76ea1ae1.png) A computação na edge envolve mover alguns dos serviços da nuvem para computadores que operam na mesma rede que os dispositivos IoT, comunicando com a nuvem apenas quando necessário. Por exemplo, pode executar modelos de IA em dispositivos edge para analisar a maturação de frutas e enviar apenas análises para a nuvem, como o número de frutas maduras versus verdes. @@ -94,7 +94,7 @@ Para sistemas de IoT, muitas vezes desejará uma combinação de computação na ## Azure IoT Edge -![O logótipo do Azure IoT Edge](../../../../../translated_images/pt/azure-iot-edge-logo.c1c076749b5cba2e8755262fadc2f19ca1146b948d76990b1229199ac2292d79.png) +![O logótipo do Azure IoT Edge](../../../../../translated_images/pt-PT/azure-iot-edge-logo.c1c076749b5cba2e8755262fadc2f19ca1146b948d76990b1229199ac2292d79.png) O Azure IoT Edge é um serviço que pode ajudá-lo a mover cargas de trabalho da nuvem para a edge. Configura um dispositivo como um dispositivo edge e, a partir da nuvem, pode implementar código nesse dispositivo edge. Isto permite misturar as capacidades da nuvem e da edge. @@ -108,7 +108,7 @@ O IoT Edge está integrado no IoT Hub, permitindo que os dispositivos edge sejam O IoT Edge executa código a partir de *contentores* - aplicações autónomas que são executadas isoladamente do resto das aplicações no seu computador. Quando executa um contentor, ele funciona como um computador separado dentro do seu computador, com o seu próprio software, serviços e aplicações em execução. Na maioria das vezes, os contentores não podem aceder a nada no seu computador, a menos que escolha partilhar algo, como uma pasta, com o contentor. O contentor expõe serviços através de uma porta aberta que pode ser conectada ou exposta à sua rede. -![Uma solicitação web redirecionada para um contentor](../../../../../translated_images/pt/container-web-browser.4ee81dd4f0d8838ce622b2a0d600b6a4322b5d4fe43159facd87b7b34f84d66a.png) +![Uma solicitação web redirecionada para um contentor](../../../../../translated_images/pt-PT/container-web-browser.4ee81dd4f0d8838ce622b2a0d600b6a4322b5d4fe43159facd87b7b34f84d66a.png) Por exemplo, pode ter um contentor com um site a funcionar na porta 80, a porta padrão do HTTP, e pode expô-lo no seu computador também na porta 80. @@ -204,11 +204,11 @@ Depois de treinar o modelo, será necessário exportá-lo como um contentor. ## Preparar o seu contentor para implementação -![Os contentores são criados e enviados para um registo de contentores, sendo depois implementados num dispositivo edge usando o IoT Edge](../../../../../translated_images/pt/container-edge-flow.c246050dd60ceefdb6ace026a4ce5c6aa4112bb5898ae23fbb2ab4be29ae3e1b.png) +![Os contentores são criados e enviados para um registo de contentores, sendo depois implementados num dispositivo edge usando o IoT Edge](../../../../../translated_images/pt-PT/container-edge-flow.c246050dd60ceefdb6ace026a4ce5c6aa4112bb5898ae23fbb2ab4be29ae3e1b.png) Depois de descarregar o seu modelo, será necessário construí-lo num contentor e enviá-lo para um registo de contentores - um local online onde pode armazenar contentores. O IoT Edge pode então descarregar o contentor do registo e enviá-lo para o seu dispositivo. -![Logótipo do Azure Container Registry](../../../../../translated_images/pt/azure-container-registry-logo.09494206991d4b295025ebff7d4e2900325e527a59184ffbc8464b6ab59654be.png) +![Logótipo do Azure Container Registry](../../../../../translated_images/pt-PT/azure-container-registry-logo.09494206991d4b295025ebff7d4e2900325e527a59184ffbc8464b6ab59654be.png) O registo de contentores que será utilizado nesta lição é o Azure Container Registry. Este não é um serviço gratuito, por isso, para poupar dinheiro, certifique-se de que [limpa o seu projeto](../../../clean-up.md) assim que terminar. diff --git a/translations/pt/4-manufacturing/lessons/4-trigger-fruit-detector/README.md b/translations/pt/4-manufacturing/lessons/4-trigger-fruit-detector/README.md index 7f88e76b9..72c420a27 100644 --- a/translations/pt/4-manufacturing/lessons/4-trigger-fruit-detector/README.md +++ b/translations/pt/4-manufacturing/lessons/4-trigger-fruit-detector/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # Detetar a qualidade da fruta através de um sensor -![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt/lesson-18.92c32ed1d354caa5a54baa4032cf0b172d4655e8e326ad5d46c558a0def15365.jpg) +![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt-PT/lesson-18.92c32ed1d354caa5a54baa4032cf0b172d4655e8e326ad5d46c558a0def15365.jpg) > Ilustração por [Nitya Narasimhan](https://github.com/nitya). Clique na imagem para uma versão maior. @@ -48,7 +48,7 @@ As aplicações IoT podem ser descritas como *coisas* (dispositivos) que enviam ### Arquitetura de referência IoT -![Uma arquitetura de referência IoT](../../../../../translated_images/pt/iot-reference-architecture.2278b98b55c6d4e89bde18eada3688d893861d43507641804dd2f9d3079cfaa0.png) +![Uma arquitetura de referência IoT](../../../../../translated_images/pt-PT/iot-reference-architecture.2278b98b55c6d4e89bde18eada3688d893861d43507641804dd2f9d3079cfaa0.png) O diagrama acima mostra uma arquitetura de referência IoT. @@ -58,7 +58,7 @@ O diagrama acima mostra uma arquitetura de referência IoT. * **Insights** vêm de aplicações sem servidor ou de análises realizadas sobre dados armazenados. * **Ações** podem ser comandos enviados para dispositivos ou visualizações de dados que permitem que os humanos tomem decisões. -![Uma arquitetura de referência IoT](../../../../../translated_images/pt/iot-reference-architecture-azure.0b8d2161af924cb18ae48a8558a19541cca47f27264851b5b7e56d7b8bb372ac.png) +![Uma arquitetura de referência IoT](../../../../../translated_images/pt-PT/iot-reference-architecture-azure.0b8d2161af924cb18ae48a8558a19541cca47f27264851b5b7e56d7b8bb372ac.png) O diagrama acima mostra alguns dos componentes e serviços abordados até agora nestas lições e como se ligam numa arquitetura de referência IoT. @@ -98,7 +98,7 @@ Precisas de construir um sistema onde a fruta é detetada à medida que chega ao ### Prototipar a tua aplicação -![Uma arquitetura de referência IoT para verificação de qualidade de fruta](../../../../../translated_images/pt/iot-reference-architecture-fruit-quality.cc705f121c3b6fa71c800d9630935ac34bc08223a04601e35f41d5e9b5dd5207.png) +![Uma arquitetura de referência IoT para verificação de qualidade de fruta](../../../../../translated_images/pt-PT/iot-reference-architecture-fruit-quality.cc705f121c3b6fa71c800d9630935ac34bc08223a04601e35f41d5e9b5dd5207.png) O diagrama acima mostra uma arquitetura de referência para esta aplicação protótipo. @@ -115,7 +115,7 @@ Para o protótipo, vais implementar tudo isto num único dispositivo. Se estiver O dispositivo IoT precisa de algum tipo de gatilho para indicar quando a fruta está pronta para ser classificada. Um gatilho para isto seria medir quando a fruta está na posição certa no tapete rolante, medindo a distância até um sensor. -![Sensores de proximidade enviam feixes de laser para objetos como bananas e medem o tempo até o feixe ser refletido de volta](../../../../../translated_images/pt/proximity-sensor.f5cd752c77fb62fe.webp) +![Sensores de proximidade enviam feixes de laser para objetos como bananas e medem o tempo até o feixe ser refletido de volta](../../../../../translated_images/pt-PT/proximity-sensor.f5cd752c77fb62fe.webp) Sensores de proximidade podem ser usados para medir a distância entre o sensor e um objeto. Normalmente, transmitem um feixe de radiação eletromagnética, como um feixe de laser ou luz infravermelha, e depois detetam a radiação refletida por um objeto. O tempo entre o envio do feixe de laser e o sinal refletido pode ser usado para calcular a distância até ao sensor. @@ -133,7 +133,7 @@ Segue o guia relevante para usar um sensor de proximidade e detetar um objeto us O protótipo do detetor de fruta tem múltiplos componentes a comunicar entre si. -![Os componentes a comunicar entre si](../../../../../translated_images/pt/fruit-quality-detector-message-flow.adf2a65da8fd8741ac7af11361574de89adc126785d67606bb4d2ec00467e380.png) +![Os componentes a comunicar entre si](../../../../../translated_images/pt-PT/fruit-quality-detector-message-flow.adf2a65da8fd8741ac7af11361574de89adc126785d67606bb4d2ec00467e380.png) * Um sensor de proximidade que mede a distância até uma peça de fruta e envia esta informação para o IoT Hub * O comando para controlar a câmara vindo do IoT Hub para o dispositivo da câmara diff --git a/translations/pt/4-manufacturing/lessons/4-trigger-fruit-detector/pi-proximity.md b/translations/pt/4-manufacturing/lessons/4-trigger-fruit-detector/pi-proximity.md index cba0b3a2f..0600990cd 100644 --- a/translations/pt/4-manufacturing/lessons/4-trigger-fruit-detector/pi-proximity.md +++ b/translations/pt/4-manufacturing/lessons/4-trigger-fruit-detector/pi-proximity.md @@ -29,13 +29,13 @@ O sensor Grove Time of Flight pode ser ligado ao Raspberry Pi. Liga o sensor Time of Flight. -![Um sensor Grove Time of Flight](../../../../../translated_images/pt/grove-time-of-flight-sensor.d82ff2165bfded9f485de54d8d07195a6270a602696825fca19f629ddfe94e86.png) +![Um sensor Grove Time of Flight](../../../../../translated_images/pt-PT/grove-time-of-flight-sensor.d82ff2165bfded9f485de54d8d07195a6270a602696825fca19f629ddfe94e86.png) 1. Insere uma extremidade de um cabo Grove na entrada do sensor Time of Flight. O cabo só encaixa de uma forma. 1. Com o Raspberry Pi desligado, liga a outra extremidade do cabo Grove a uma das entradas I²C marcadas como **I²C** no Grove Base Hat ligado ao Pi. Estas entradas estão na fila inferior, na extremidade oposta aos pinos GPIO e ao lado da entrada para o cabo da câmara. -![O sensor Grove Time of Flight ligado à entrada I²C](../../../../../translated_images/pt/pi-time-of-flight-sensor.58c8dc04eb3bfb57.webp) +![O sensor Grove Time of Flight ligado à entrada I²C](../../../../../translated_images/pt-PT/pi-time-of-flight-sensor.58c8dc04eb3bfb57.webp) ## Programar o sensor Time of Flight @@ -106,7 +106,7 @@ Programa o dispositivo. O medidor de distância está na parte de trás do sensor, por isso certifica-te de que utilizas o lado correto ao medir a distância. - ![O medidor de distância na parte de trás do sensor Time of Flight apontado para uma banana](../../../../../translated_images/pt/time-of-flight-banana.079921ad8b1496e4.webp) + ![O medidor de distância na parte de trás do sensor Time of Flight apontado para uma banana](../../../../../translated_images/pt-PT/time-of-flight-banana.079921ad8b1496e4.webp) > 💁 Podes encontrar este código na pasta [code-proximity/pi](../../../../../4-manufacturing/lessons/4-trigger-fruit-detector/code-proximity/pi). diff --git a/translations/pt/4-manufacturing/lessons/4-trigger-fruit-detector/virtual-device-proximity.md b/translations/pt/4-manufacturing/lessons/4-trigger-fruit-detector/virtual-device-proximity.md index 5e81c590a..8542807dd 100644 --- a/translations/pt/4-manufacturing/lessons/4-trigger-fruit-detector/virtual-device-proximity.md +++ b/translations/pt/4-manufacturing/lessons/4-trigger-fruit-detector/virtual-device-proximity.md @@ -45,11 +45,11 @@ Adiciona o sensor de distância à aplicação CounterFit. 1. Seleciona o botão **Add** para criar o sensor de distância. - ![As definições do sensor de distância](../../../../../translated_images/pt/counterfit-create-distance-sensor.967c9fb98f27888d95920c9784d004c972490eb71f70397fe13bd70a79a879a3.png) + ![As definições do sensor de distância](../../../../../translated_images/pt-PT/counterfit-create-distance-sensor.967c9fb98f27888d95920c9784d004c972490eb71f70397fe13bd70a79a879a3.png) O sensor de distância será criado e aparecerá na lista de sensores. - ![O sensor de distância criado](../../../../../translated_images/pt/counterfit-distance-sensor.079eefeeea0b68afc36431ce8fcbe2f09a7e4916ed1cd5cb30e696db53bc18fa.png) + ![O sensor de distância criado](../../../../../translated_images/pt-PT/counterfit-distance-sensor.079eefeeea0b68afc36431ce8fcbe2f09a7e4916ed1cd5cb30e696db53bc18fa.png) ## Programar o sensor de distância diff --git a/translations/pt/4-manufacturing/lessons/4-trigger-fruit-detector/wio-terminal-proximity.md b/translations/pt/4-manufacturing/lessons/4-trigger-fruit-detector/wio-terminal-proximity.md index 767892b9e..a979ae218 100644 --- a/translations/pt/4-manufacturing/lessons/4-trigger-fruit-detector/wio-terminal-proximity.md +++ b/translations/pt/4-manufacturing/lessons/4-trigger-fruit-detector/wio-terminal-proximity.md @@ -29,13 +29,13 @@ O sensor Grove time of flight pode ser ligado ao Wio Terminal. Ligue o sensor time of flight. -![Um sensor Grove time of flight](../../../../../translated_images/pt/grove-time-of-flight-sensor.d82ff2165bfded9f485de54d8d07195a6270a602696825fca19f629ddfe94e86.png) +![Um sensor Grove time of flight](../../../../../translated_images/pt-PT/grove-time-of-flight-sensor.d82ff2165bfded9f485de54d8d07195a6270a602696825fca19f629ddfe94e86.png) 1. Insira uma extremidade de um cabo Grove no conector do sensor time of flight. O cabo só encaixa de uma forma. 1. Com o Wio Terminal desligado do computador ou de outra fonte de alimentação, ligue a outra extremidade do cabo Grove ao conector Grove do lado esquerdo do Wio Terminal, olhando para o ecrã. Este é o conector mais próximo do botão de energia. Este é um socket combinado digital e I2C. -![O sensor Grove time of flight ligado ao conector do lado esquerdo](../../../../../translated_images/pt/wio-time-of-flight-sensor.c4c182131d2ea73d.webp) +![O sensor Grove time of flight ligado ao conector do lado esquerdo](../../../../../translated_images/pt-PT/wio-time-of-flight-sensor.c4c182131d2ea73d.webp) 1. Agora pode ligar o Wio Terminal ao seu computador. @@ -101,7 +101,7 @@ O Wio Terminal pode agora ser programado para utilizar o sensor time of flight l O medidor de distância está na parte de trás do sensor, por isso certifique-se de usar o lado correto ao medir a distância. - ![O medidor de distância na parte de trás do sensor time of flight apontado para uma banana](../../../../../translated_images/pt/time-of-flight-banana.079921ad8b1496e4.webp) + ![O medidor de distância na parte de trás do sensor time of flight apontado para uma banana](../../../../../translated_images/pt-PT/time-of-flight-banana.079921ad8b1496e4.webp) > 💁 Pode encontrar este código na pasta [code-proximity/wio-terminal](../../../../../4-manufacturing/lessons/4-trigger-fruit-detector/code-proximity/wio-terminal). diff --git a/translations/pt/5-retail/lessons/1-train-stock-detector/README.md b/translations/pt/5-retail/lessons/1-train-stock-detector/README.md index 589bd0947..bf09de724 100644 --- a/translations/pt/5-retail/lessons/1-train-stock-detector/README.md +++ b/translations/pt/5-retail/lessons/1-train-stock-detector/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # Treinar um detetor de stock -![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt/lesson-19.cf6973cecadf080c4b526310620dc4d6f5994c80fb0139c6f378cc9ca2d435cd.jpg) +![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt-PT/lesson-19.cf6973cecadf080c4b526310620dc4d6f5994c80fb0139c6f378cc9ca2d435cd.jpg) > Ilustração por [Nitya Narasimhan](https://github.com/nitya). Clique na imagem para uma versão maior. @@ -45,7 +45,7 @@ A deteção de objetos envolve identificar objetos em imagens usando IA. Ao cont A classificação de imagens consiste em classificar uma imagem como um todo - quais são as probabilidades de que a imagem inteira corresponda a cada etiqueta. Recebes de volta probabilidades para cada etiqueta usada para treinar o modelo. -![Classificação de imagens de frutos secos de caju e polpa de tomate](../../../../../translated_images/pt/image-classifier-cashews-tomato.bc2e16ab8f05cf9ac0f59f73e32efc4227f9a5b601b90b2c60f436694547a965.png) +![Classificação de imagens de frutos secos de caju e polpa de tomate](../../../../../translated_images/pt-PT/image-classifier-cashews-tomato.bc2e16ab8f05cf9ac0f59f73e32efc4227f9a5b601b90b2c60f436694547a965.png) No exemplo acima, duas imagens são classificadas usando um modelo treinado para classificar embalagens de frutos secos de caju ou latas de polpa de tomate. A primeira imagem é uma embalagem de frutos secos de caju e tem dois resultados do classificador de imagens: @@ -69,7 +69,7 @@ Quando o utilizas para prever imagens, em vez de receberes uma lista de etiqueta > 🎓 *Caixas delimitadoras* são as caixas em torno de um objeto. -![Deteção de objetos de frutos secos de caju e polpa de tomate](../../../../../translated_images/pt/object-detector-cashews-tomato.1af7c26686b4db0e709754aeb196f4e73271f54e2085db3bcccb70d4a0d84d97.png) +![Deteção de objetos de frutos secos de caju e polpa de tomate](../../../../../translated_images/pt-PT/object-detector-cashews-tomato.1af7c26686b4db0e709754aeb196f4e73271f54e2085db3bcccb70d4a0d84d97.png) A imagem acima contém tanto uma embalagem de frutos secos de caju como três latas de polpa de tomate. O detetor de objetos detetou os frutos secos, devolvendo a caixa delimitadora que contém os frutos secos com a percentagem de probabilidade de que a caixa delimitadora contenha o objeto, neste caso 97.6%. O detetor de objetos também detetou três latas de polpa de tomate e fornece três caixas delimitadoras separadas, uma para cada lata detetada, e cada uma tem uma probabilidade percentual de que a caixa delimitadora contenha uma lata de polpa de tomate. @@ -120,7 +120,7 @@ Podes treinar um detetor de objetos usando o Custom Vision, de forma semelhante Ao criares o teu projeto, certifica-te de usar o recurso `stock-detector-training` que criaste anteriormente. Usa o tipo de projeto *Object Detection* e o domínio *Products on Shelves*. - ![As definições para o projeto do Custom Vision com o nome definido como fruit-quality-detector, sem descrição, o recurso definido como fruit-quality-detector-training, o tipo de projeto definido como classificação, os tipos de classificação definidos como multi-classe e os domínios definidos como alimentos](../../../../../translated_images/pt/custom-vision-create-object-detector-project.32d4fb9aa8e7e7375f8a799bfce517aca970f2cb65e42d4245c5e635c734ab29.png) + ![As definições para o projeto do Custom Vision com o nome definido como fruit-quality-detector, sem descrição, o recurso definido como fruit-quality-detector-training, o tipo de projeto definido como classificação, os tipos de classificação definidos como multi-classe e os domínios definidos como alimentos](../../../../../translated_images/pt-PT/custom-vision-create-object-detector-project.32d4fb9aa8e7e7375f8a799bfce517aca970f2cb65e42d4245c5e635c734ab29.png) ✅ O domínio de produtos em prateleiras é especificamente direcionado para detetar stock em prateleiras de lojas. Lê mais sobre os diferentes domínios na [documentação Selecionar um domínio na Microsoft Docs](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/select-domain?WT.mc_id=academic-17441-jabenn#object-detection). @@ -142,11 +142,11 @@ Para treinares o teu modelo, vais precisar de um conjunto de imagens contendo os 1. Segue a [secção Carregar e etiquetar imagens do guia rápido Construir um detetor de objetos na documentação da Microsoft](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/get-started-build-detector?WT.mc_id=academic-17441-jabenn#upload-and-tag-images) para carregar as tuas imagens de treino. Cria etiquetas relevantes dependendo dos tipos de objetos que queres detetar. - ![Os diálogos de upload mostrando o upload de imagens de bananas maduras e verdes](../../../../../translated_images/pt/image-upload-object-detector.77c7892c3093cb59b79018edecd678749a75d71a099bc8a2d2f2f76320f88a5b.png) + ![Os diálogos de upload mostrando o upload de imagens de bananas maduras e verdes](../../../../../translated_images/pt-PT/image-upload-object-detector.77c7892c3093cb59b79018edecd678749a75d71a099bc8a2d2f2f76320f88a5b.png) Quando desenhares caixas delimitadoras para os objetos, mantém-nas bem ajustadas ao redor do objeto. Pode demorar algum tempo a delinear todas as imagens, mas a ferramenta detetará o que acha que são as caixas delimitadoras, tornando o processo mais rápido. - ![Etiquetando polpa de tomate](../../../../../translated_images/pt/object-detector-tag-tomato-paste.f47c362fb0f0eb582f3bc68cf3855fb43a805106395358d41896a269c210b7b4.png) + ![Etiquetando polpa de tomate](../../../../../translated_images/pt-PT/object-detector-tag-tomato-paste.f47c362fb0f0eb582f3bc68cf3855fb43a805106395358d41896a269c210b7b4.png) > 💁 Se tiveres mais de 15 imagens para cada objeto, podes treinar após 15 e depois usar a funcionalidade **Etiquetas sugeridas**. Isto usará o modelo treinado para detetar os objetos na imagem não etiquetada. Podes então confirmar os objetos detetados ou rejeitar e redesenhar as caixas delimitadoras. Isto pode poupar *muito* tempo. @@ -164,7 +164,7 @@ Depois de treinares o teu detetor de objetos, podes testá-lo fornecendo-lhe nov 1. Usa o botão **Teste Rápido** para carregar imagens de teste e verificar se os objetos são detetados. Usa as imagens de teste que criaste anteriormente, não as imagens que usaste para treinar. - ![3 latas de polpa de tomate detetadas com probabilidades de 38%, 35.5% e 34.6%](../../../../../translated_images/pt/object-detector-detected-tomato-paste.52656fe87af4c37b4ee540526d63e73ed075da2e54a9a060aa528e0c562fb1b6.png) + ![3 latas de polpa de tomate detetadas com probabilidades de 38%, 35.5% e 34.6%](../../../../../translated_images/pt-PT/object-detector-detected-tomato-paste.52656fe87af4c37b4ee540526d63e73ed075da2e54a9a060aa528e0c562fb1b6.png) 1. Experimenta todas as imagens de teste que tens disponíveis e observa as probabilidades. diff --git a/translations/pt/5-retail/lessons/2-check-stock-device/README.md b/translations/pt/5-retail/lessons/2-check-stock-device/README.md index 21711ddd5..2af3fa9a5 100644 --- a/translations/pt/5-retail/lessons/2-check-stock-device/README.md +++ b/translations/pt/5-retail/lessons/2-check-stock-device/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # Verificar stock a partir de um dispositivo IoT -![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt/lesson-20.0211df9551a8abb300fc8fcf7dc2789468dea2eabe9202273ac077b0ba37f15e.jpg) +![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt-PT/lesson-20.0211df9551a8abb300fc8fcf7dc2789468dea2eabe9202273ac077b0ba37f15e.jpg) > Ilustração por [Nitya Narasimhan](https://github.com/nitya). Clique na imagem para uma versão maior. @@ -39,7 +39,7 @@ Os detetores de objetos podem ser usados para verificar stock, seja contando os Por exemplo, se uma câmara estiver apontada para uma prateleira que pode conter 8 latas de polpa de tomate, e o detetor de objetos apenas detetar 7 latas, então falta uma e precisa de ser reposta. -![7 latas de polpa de tomate numa prateleira, 4 na fila de cima, 3 na de baixo](../../../../../translated_images/pt/stock-7-cans-tomato-paste.f86059cc573d7bec.webp) +![7 latas de polpa de tomate numa prateleira, 4 na fila de cima, 3 na de baixo](../../../../../translated_images/pt-PT/stock-7-cans-tomato-paste.f86059cc573d7bec.webp) Na imagem acima, um detetor de objetos detetou 7 latas de polpa de tomate numa prateleira que pode conter 8 latas. Não só o dispositivo IoT pode enviar uma notificação sobre a necessidade de reposição, como também pode indicar a localização do item em falta, informação importante caso estejas a usar robôs para repor prateleiras. @@ -51,7 +51,7 @@ Por vezes, o stock errado pode estar nas prateleiras. Isto pode acontecer devido A deteção de objetos pode ser usada para identificar itens inesperados, alertando novamente um humano ou robô para devolver o item assim que for detetado. -![Uma lata de milho bebé fora do lugar na prateleira de polpa de tomate](../../../../../translated_images/pt/stock-rogue-corn.be1f3ada8c457854.webp) +![Uma lata de milho bebé fora do lugar na prateleira de polpa de tomate](../../../../../translated_images/pt-PT/stock-rogue-corn.be1f3ada8c457854.webp) Na imagem acima, uma lata de milho bebé foi colocada na prateleira ao lado da polpa de tomate. O detetor de objetos detetou isto, permitindo que o dispositivo IoT notifique um humano ou robô para devolver a lata ao local correto. @@ -71,7 +71,7 @@ As iterações são publicadas a partir do portal Custom Vision. 1. Clica no botão **Publish** para a iteração. - ![O botão de publicação](../../../../../translated_images/pt/custom-vision-object-detector-publish-button.34ee379fc650ccb9856c3868d0003f413b9529f102fc73c37168c98d721cc293.png) + ![O botão de publicação](../../../../../translated_images/pt-PT/custom-vision-object-detector-publish-button.34ee379fc650ccb9856c3868d0003f413b9529f102fc73c37168c98d721cc293.png) 1. No diálogo *Publish Model*, define o *Prediction resource* como o recurso `stock-detector-prediction` que criaste na última lição. Mantém o nome como `Iteration2` e clica no botão **Publish**. @@ -85,7 +85,7 @@ As iterações são publicadas a partir do portal Custom Vision. Também copia o valor *Prediction-Key*. Esta é uma chave segura que tens de passar ao chamar o modelo. Apenas aplicações que passam esta chave podem usar o modelo; quaisquer outras aplicações serão rejeitadas. - ![O diálogo da API de previsão mostrando o URL e a chave](../../../../../translated_images/pt/custom-vision-prediction-key-endpoint.30c569ffd0338864f319911f052d5e9b8c5066cb0800a26dd6f7ff5713130ad8.png) + ![O diálogo da API de previsão mostrando o URL e a chave](../../../../../translated_images/pt-PT/custom-vision-prediction-key-endpoint.30c569ffd0338864f319911f052d5e9b8c5066cb0800a26dd6f7ff5713130ad8.png) ✅ Quando uma nova iteração é publicada, terá um nome diferente. Como achas que poderias alterar a iteração que um dispositivo IoT está a usar? @@ -104,7 +104,7 @@ Quando usas o detetor de objetos, não só recebes os objetos detetados com as s Os resultados de uma previsão no separador **Predictions** no Custom Vision têm as caixas delimitadoras desenhadas na imagem enviada para previsão. -![4 latas de polpa de tomate numa prateleira com previsões para as 4 deteções de 35.8%, 33.5%, 25.7% e 16.6%](../../../../../translated_images/pt/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.png) +![4 latas de polpa de tomate numa prateleira com previsões para as 4 deteções de 35.8%, 33.5%, 25.7% e 16.6%](../../../../../translated_images/pt-PT/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.png) Na imagem acima, foram detetadas 4 latas de polpa de tomate. Nos resultados, um quadrado vermelho é sobreposto para cada objeto detetado na imagem, indicando a caixa delimitadora para o objeto. @@ -112,7 +112,7 @@ Na imagem acima, foram detetadas 4 latas de polpa de tomate. Nos resultados, um As caixas delimitadoras são definidas com 4 valores - topo, esquerda, altura e largura. Estes valores estão numa escala de 0-1, representando as posições como uma percentagem do tamanho da imagem. A origem (posição 0,0) é o canto superior esquerdo da imagem, então o valor de topo é a distância desde o topo, e o fundo da caixa delimitadora é o topo mais a altura. -![Uma caixa delimitadora em torno de uma lata de polpa de tomate](../../../../../translated_images/pt/bounding-box.1420a7ea0d3d15f71e1ffb5cf4b2271d184fac051f990abc541975168d163684.png) +![Uma caixa delimitadora em torno de uma lata de polpa de tomate](../../../../../translated_images/pt-PT/bounding-box.1420a7ea0d3d15f71e1ffb5cf4b2271d184fac051f990abc541975168d163684.png) A imagem acima tem 600 pixels de largura e 800 pixels de altura. A caixa delimitadora começa a 320 pixels abaixo, dando uma coordenada de topo de 0.4 (800 x 0.4 = 320). A partir da esquerda, a caixa delimitadora começa a 240 pixels, dando uma coordenada de esquerda de 0.4 (600 x 0.4 = 240). A altura da caixa delimitadora é de 240 pixels, dando um valor de altura de 0.3 (800 x 0.3 = 240). A largura da caixa delimitadora é de 120 pixels, dando um valor de largura de 0.2 (600 x 0.2 = 120). @@ -127,7 +127,7 @@ Usar valores percentuais de 0-1 significa que, independentemente do tamanho da i Podes usar caixas delimitadoras combinadas com probabilidades para avaliar a precisão de uma deteção. Por exemplo, um detetor de objetos pode detetar múltiplos objetos que se sobrepõem, como detetar uma lata dentro de outra. O teu código pode analisar as caixas delimitadoras, perceber que isso é impossível e ignorar quaisquer objetos que tenham uma sobreposição significativa com outros objetos. -![Duas caixas delimitadoras sobrepondo-se a uma lata de polpa de tomate](../../../../../translated_images/pt/overlap-object-detection.d431e03cae75072a2760430eca7f2c5fdd43045bfd72dadcbf12711f7cd6c2ae.png) +![Duas caixas delimitadoras sobrepondo-se a uma lata de polpa de tomate](../../../../../translated_images/pt-PT/overlap-object-detection.d431e03cae75072a2760430eca7f2c5fdd43045bfd72dadcbf12711f7cd6c2ae.png) No exemplo acima, uma caixa delimitadora indicou uma lata de polpa de tomate prevista com 78.3%. Uma segunda caixa delimitadora é ligeiramente menor e está dentro da primeira, com uma probabilidade de 64.3%. O teu código pode verificar as caixas delimitadoras, ver que se sobrepõem completamente e ignorar a probabilidade mais baixa, pois não há como uma lata estar dentro de outra. diff --git a/translations/pt/5-retail/lessons/2-check-stock-device/single-board-computer-count-stock.md b/translations/pt/5-retail/lessons/2-check-stock-device/single-board-computer-count-stock.md index 375864a6b..2b3dcc22a 100644 --- a/translations/pt/5-retail/lessons/2-check-stock-device/single-board-computer-count-stock.md +++ b/translations/pt/5-retail/lessons/2-check-stock-device/single-board-computer-count-stock.md @@ -81,7 +81,7 @@ Como um passo útil de depuração, pode não só imprimir as caixas delimitador 1. Execute a aplicação com a câmara apontada para algum stock numa prateleira. Verá o ficheiro `image.jpg` no explorador do VS Code e poderá selecioná-lo para ver as caixas delimitadoras. - ![4 latas de polpa de tomate com caixas delimitadoras em volta de cada lata](../../../../../translated_images/pt/rpi-stock-with-bounding-boxes.b5540e2ecb7cd49f.webp) + ![4 latas de polpa de tomate com caixas delimitadoras em volta de cada lata](../../../../../translated_images/pt-PT/rpi-stock-with-bounding-boxes.b5540e2ecb7cd49f.webp) ## Contar stock diff --git a/translations/pt/5-retail/lessons/2-check-stock-device/single-board-computer-object-detector.md b/translations/pt/5-retail/lessons/2-check-stock-device/single-board-computer-object-detector.md index f25a2e6e7..6a8c93cc8 100644 --- a/translations/pt/5-retail/lessons/2-check-stock-device/single-board-computer-object-detector.md +++ b/translations/pt/5-retail/lessons/2-check-stock-device/single-board-computer-object-detector.md @@ -76,7 +76,7 @@ O código que utilizou para classificar imagens é muito semelhante ao código p Poderá ver a imagem capturada e estes valores na aba **Predictions** no Custom Vision. - ![4 latas de polpa de tomate numa prateleira com previsões para as 4 deteções de 35.8%, 33.5%, 25.7% e 16.6%](../../../../../translated_images/pt/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.png) + ![4 latas de polpa de tomate numa prateleira com previsões para as 4 deteções de 35.8%, 33.5%, 25.7% e 16.6%](../../../../../translated_images/pt-PT/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.png) > 💁 Pode encontrar este código na pasta [code-detect/pi](../../../../../5-retail/lessons/2-check-stock-device/code-detect/pi) ou [code-detect/virtual-iot-device](../../../../../5-retail/lessons/2-check-stock-device/code-detect/virtual-iot-device). diff --git a/translations/pt/5-retail/lessons/2-check-stock-device/wio-terminal-count-stock.md b/translations/pt/5-retail/lessons/2-check-stock-device/wio-terminal-count-stock.md index 37077f017..bc0561fca 100644 --- a/translations/pt/5-retail/lessons/2-check-stock-device/wio-terminal-count-stock.md +++ b/translations/pt/5-retail/lessons/2-check-stock-device/wio-terminal-count-stock.md @@ -13,7 +13,7 @@ Uma combinação das previsões e das suas caixas delimitadoras pode ser usada p ## Contar stock -![4 latas de polpa de tomate com caixas delimitadoras à volta de cada lata](../../../../../translated_images/pt/rpi-stock-with-bounding-boxes.b5540e2ecb7cd49f.webp) +![4 latas de polpa de tomate com caixas delimitadoras à volta de cada lata](../../../../../translated_images/pt-PT/rpi-stock-with-bounding-boxes.b5540e2ecb7cd49f.webp) Na imagem acima, as caixas delimitadoras têm uma pequena sobreposição. Se essa sobreposição fosse muito maior, as caixas delimitadoras poderiam indicar o mesmo objeto. Para contar os objetos corretamente, é necessário ignorar caixas com uma sobreposição significativa. diff --git a/translations/pt/5-retail/lessons/2-check-stock-device/wio-terminal-object-detector.md b/translations/pt/5-retail/lessons/2-check-stock-device/wio-terminal-object-detector.md index c183fc8ea..e39289d37 100644 --- a/translations/pt/5-retail/lessons/2-check-stock-device/wio-terminal-object-detector.md +++ b/translations/pt/5-retail/lessons/2-check-stock-device/wio-terminal-object-detector.md @@ -104,7 +104,7 @@ O código que utilizou para classificar imagens é muito semelhante ao código p Poderá ver a imagem capturada e estes valores no separador **Predictions** no Custom Vision. - ![4 latas de polpa de tomate numa prateleira com previsões para as 4 deteções de 35.8%, 33.5%, 25.7% e 16.6%](../../../../../translated_images/pt/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.png) + ![4 latas de polpa de tomate numa prateleira com previsões para as 4 deteções de 35.8%, 33.5%, 25.7% e 16.6%](../../../../../translated_images/pt-PT/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.png) > 💁 Pode encontrar este código na pasta [code-detect/wio-terminal](../../../../../5-retail/lessons/2-check-stock-device/code-detect/wio-terminal). diff --git a/translations/pt/6-consumer/lessons/1-speech-recognition/README.md b/translations/pt/6-consumer/lessons/1-speech-recognition/README.md index 8d88ba2bd..963e68ddb 100644 --- a/translations/pt/6-consumer/lessons/1-speech-recognition/README.md +++ b/translations/pt/6-consumer/lessons/1-speech-recognition/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # Reconhecer fala com um dispositivo IoT -![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt/lesson-21.e34de51354d6606fb5ee08d8c89d0222eea0a2a7aaf744a8805ae847c4f69dc4.jpg) +![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt-PT/lesson-21.e34de51354d6606fb5ee08d8c89d0222eea0a2a7aaf744a8805ae847c4f69dc4.jpg) > Ilustração por [Nitya Narasimhan](https://github.com/nitya). Clique na imagem para uma versão maior. @@ -60,19 +60,19 @@ Os microfones existem em vários tipos: Microfones dinâmicos não precisam de energia para funcionar, o sinal elétrico é criado inteiramente pelo microfone. - ![Patti Smith a cantar num microfone Shure SM58 (tipo cardioide dinâmico)](../../../../../translated_images/pt/dynamic-mic.8babac890a2d80dfb0874b5bf37d4b851fe2aeb9da6fd72945746176978bf3bb.jpg) + ![Patti Smith a cantar num microfone Shure SM58 (tipo cardioide dinâmico)](../../../../../translated_images/pt-PT/dynamic-mic.8babac890a2d80dfb0874b5bf37d4b851fe2aeb9da6fd72945746176978bf3bb.jpg) * Fita - Microfones de fita são semelhantes aos dinâmicos, exceto que têm uma fita metálica em vez de um diafragma. Esta fita move-se num campo magnético, gerando uma corrente elétrica. Tal como os microfones dinâmicos, os de fita não precisam de energia para funcionar. - ![Edmund Lowe, ator americano, em pé junto a um microfone de rádio (etiquetado para a rede azul da NBC), segurando um guião, 1942](../../../../../translated_images/pt/ribbon-mic.eacc8e092c7441ca.webp) + ![Edmund Lowe, ator americano, em pé junto a um microfone de rádio (etiquetado para a rede azul da NBC), segurando um guião, 1942](../../../../../translated_images/pt-PT/ribbon-mic.eacc8e092c7441ca.webp) * Condensador - Microfones de condensador têm um diafragma metálico fino e uma placa metálica fixa. A eletricidade é aplicada a ambos e, à medida que o diafragma vibra, a carga estática entre as placas muda, gerando um sinal. Microfones de condensador precisam de energia para funcionar - chamada de *Phantom power*. - ![Microfone de condensador de pequeno diafragma C451B da AKG Acoustics](../../../../../translated_images/pt/condenser-mic.6f6ed5b76ca19e0ec3fd0c544601542d4479a6cb7565db336de49fbbf69f623e.jpg) + ![Microfone de condensador de pequeno diafragma C451B da AKG Acoustics](../../../../../translated_images/pt-PT/condenser-mic.6f6ed5b76ca19e0ec3fd0c544601542d4479a6cb7565db336de49fbbf69f623e.jpg) * MEMS - Microfones de sistemas microeletromecânicos, ou MEMS, são microfones num chip. Eles têm um diafragma sensível à pressão gravado num chip de silício e funcionam de forma semelhante a um microfone de condensador. Estes microfones podem ser minúsculos e integrados em circuitos. - ![Um microfone MEMS numa placa de circuito](../../../../../translated_images/pt/mems-microphone.80574019e1f5e4d9ee72fed720ecd25a39fc2969c91355d17ebb24ba4159e4c4.png) + ![Um microfone MEMS numa placa de circuito](../../../../../translated_images/pt-PT/mems-microphone.80574019e1f5e4d9ee72fed720ecd25a39fc2969c91355d17ebb24ba4159e4c4.png) Na imagem acima, o chip etiquetado como **LEFT** é um microfone MEMS, com um diafragma minúsculo com menos de um milímetro de largura. @@ -84,7 +84,7 @@ O áudio é um sinal analógico que transporta informações muito detalhadas. P > 🎓 Amostragem é o processo de converter o sinal de áudio num valor digital que representa o sinal naquele momento específico. -![Um gráfico de linha mostrando um sinal, com pontos discretos em intervalos fixos](../../../../../translated_images/pt/sampling.6f4fadb3f2d9dfe7.webp) +![Um gráfico de linha mostrando um sinal, com pontos discretos em intervalos fixos](../../../../../translated_images/pt-PT/sampling.6f4fadb3f2d9dfe7.webp) O áudio digital é amostrado usando Modulação por Código de Pulso, ou PCM. O PCM envolve a leitura da voltagem do sinal e a seleção do valor discreto mais próximo dessa voltagem usando um tamanho definido. @@ -168,7 +168,7 @@ Para evitar a complexidade de treinar e usar um modelo de palavra de ativação, ## Converter voz em texto -![Logótipo dos serviços de voz](../../../../../translated_images/pt/azure-speech-logo.a1f08c4befb0159f2cb5d692d3baf5b599e7b44759d316da907bda1508f46a4a.png) +![Logótipo dos serviços de voz](../../../../../translated_images/pt-PT/azure-speech-logo.a1f08c4befb0159f2cb5d692d3baf5b599e7b44759d316da907bda1508f46a4a.png) Tal como na classificação de imagens num projeto anterior, existem serviços de IA pré-construídos que podem receber áudio como ficheiro e convertê-lo em texto. Um desses serviços é o Speech Service, parte dos Cognitive Services, serviços de IA pré-construídos que pode usar nas suas aplicações. diff --git a/translations/pt/6-consumer/lessons/1-speech-recognition/pi-audio.md b/translations/pt/6-consumer/lessons/1-speech-recognition/pi-audio.md index a044d340b..d52a129f1 100644 --- a/translations/pt/6-consumer/lessons/1-speech-recognition/pi-audio.md +++ b/translations/pt/6-consumer/lessons/1-speech-recognition/pi-audio.md @@ -25,13 +25,13 @@ O botão pode ser conectado ao Grove Base Hat. #### Tarefa - conectar o botão -![Um botão Grove](../../../../../translated_images/pt/grove-button.a70cfbb809a8563681003250cf5b06d68cdcc68624f9e2f493d5a534ae2da1e5.png) +![Um botão Grove](../../../../../translated_images/pt-PT/grove-button.a70cfbb809a8563681003250cf5b06d68cdcc68624f9e2f493d5a534ae2da1e5.png) 1. Insere uma extremidade de um cabo Grove na entrada do módulo do botão. Só encaixará de uma forma. 1. Com o Raspberry Pi desligado, conecta a outra extremidade do cabo Grove à entrada digital marcada como **D5** no Grove Base Hat conectado ao Pi. Esta entrada é a segunda da esquerda, na fila de entradas ao lado dos pinos GPIO. -![O botão Grove conectado à entrada D5](../../../../../translated_images/pt/pi-button.c7a1a4f55943341ce1baf1057658e9a205804d4131d258e820c93f951df0abf3.png) +![O botão Grove conectado à entrada D5](../../../../../translated_images/pt-PT/pi-button.c7a1a4f55943341ce1baf1057658e9a205804d4131d258e820c93f951df0abf3.png) ## Capturar áudio diff --git a/translations/pt/6-consumer/lessons/1-speech-recognition/pi-microphone.md b/translations/pt/6-consumer/lessons/1-speech-recognition/pi-microphone.md index c37d6d7c0..6ce5bdbd9 100644 --- a/translations/pt/6-consumer/lessons/1-speech-recognition/pi-microphone.md +++ b/translations/pt/6-consumer/lessons/1-speech-recognition/pi-microphone.md @@ -43,7 +43,7 @@ O microfone e os altifalantes precisam de ser ligados e configurados. 1. Se estiver a utilizar o ReSpeaker 2-Mics Pi HAT, pode remover o Grove base hat e encaixar o ReSpeaker hat no seu lugar. - ![Um Raspberry Pi com um ReSpeaker hat](../../../../../translated_images/pt/pi-respeaker-hat.f00fabe7dd039a93e2e0aa0fc946c9af0c6a9eb17c32fa1ca097fb4e384f69f0.png) + ![Um Raspberry Pi com um ReSpeaker hat](../../../../../translated_images/pt-PT/pi-respeaker-hat.f00fabe7dd039a93e2e0aa0fc946c9af0c6a9eb17c32fa1ca097fb4e384f69f0.png) Irá precisar de um botão Grove mais tarde nesta lição, mas um está integrado neste hat, por isso o Grove base hat não é necessário. diff --git a/translations/pt/6-consumer/lessons/1-speech-recognition/wio-terminal-audio.md b/translations/pt/6-consumer/lessons/1-speech-recognition/wio-terminal-audio.md index 9a6dd2cbe..0c5e8a35e 100644 --- a/translations/pt/6-consumer/lessons/1-speech-recognition/wio-terminal-audio.md +++ b/translations/pt/6-consumer/lessons/1-speech-recognition/wio-terminal-audio.md @@ -19,7 +19,7 @@ O microfone integrado captura um sinal analógico, que é convertido num sinal d ✅ Lê mais sobre DMA na [página de acesso direto à memória na Wikipedia](https://wikipedia.org/wiki/Direct_memory_access). -![O áudio do microfone vai para um ADC e depois para o DMAC. Este escreve para um buffer. Quando este buffer está cheio, é processado e o DMAC escreve para um segundo buffer](../../../../../translated_images/pt/dmac-adc-buffers.4509aee49145c90bc2e1be472b8ed2ddfcb2b6a81ad3e559114aca55f5fff759.png) +![O áudio do microfone vai para um ADC e depois para o DMAC. Este escreve para um buffer. Quando este buffer está cheio, é processado e o DMAC escreve para um segundo buffer](../../../../../translated_images/pt-PT/dmac-adc-buffers.4509aee49145c90bc2e1be472b8ed2ddfcb2b6a81ad3e559114aca55f5fff759.png) O DMAC pode capturar áudio do ADC em intervalos fixos, como 16.000 vezes por segundo para áudio a 16KHz. Ele pode gravar esses dados capturados num buffer de memória pré-alocado e, quando este está cheio, disponibilizá-lo para o teu código processar. Usar esta memória pode atrasar a captura de áudio, mas podes configurar múltiplos buffers. O DMAC escreve no buffer 1 e, quando este está cheio, notifica o teu código para processar o buffer 1, enquanto o DMAC escreve no buffer 2. Quando o buffer 2 está cheio, notifica o teu código e volta a escrever no buffer 1. Desta forma, desde que processe cada buffer em menos tempo do que leva para encher um, não perderás nenhum dado. diff --git a/translations/pt/6-consumer/lessons/1-speech-recognition/wio-terminal-microphone.md b/translations/pt/6-consumer/lessons/1-speech-recognition/wio-terminal-microphone.md index d4431de4d..a42740b91 100644 --- a/translations/pt/6-consumer/lessons/1-speech-recognition/wio-terminal-microphone.md +++ b/translations/pt/6-consumer/lessons/1-speech-recognition/wio-terminal-microphone.md @@ -15,11 +15,11 @@ Nesta parte da lição, irá adicionar altifalantes ao seu Wio Terminal. O Wio T O Wio Terminal já tem um microfone integrado, que pode ser usado para captar áudio para reconhecimento de voz. -![O microfone no Wio Terminal](../../../../../translated_images/pt/wio-mic.3f8c843dbe8ad917.webp) +![O microfone no Wio Terminal](../../../../../translated_images/pt-PT/wio-mic.3f8c843dbe8ad917.webp) Para adicionar um altifalante, pode usar o [ReSpeaker 2-Mics Pi Hat](https://www.seeedstudio.com/ReSpeaker-2-Mics-Pi-HAT.html). Este é um módulo externo que contém 2 microfones MEMS, bem como um conector para altifalantes e uma entrada para auscultadores. -![O ReSpeaker 2-Mics Pi Hat](../../../../../translated_images/pt/respeaker.f5d19d1c6b14ab16.webp) +![O ReSpeaker 2-Mics Pi Hat](../../../../../translated_images/pt-PT/respeaker.f5d19d1c6b14ab16.webp) Será necessário adicionar auscultadores, um altifalante com ficha de 3,5mm ou um altifalante com ligação JST, como o [Mono Enclosed Speaker - 2W 6 Ohm](https://www.seeedstudio.com/Mono-Enclosed-Speaker-2W-6-Ohm-p-2832.html). @@ -35,7 +35,7 @@ Também irá precisar de um cartão SD para descarregar e reproduzir áudio. O W Os pinos devem ser conectados desta forma: - ![Um diagrama de pinos](../../../../../translated_images/pt/wio-respeaker-wiring-0.767f80aa65081038.webp) + ![Um diagrama de pinos](../../../../../translated_images/pt-PT/wio-respeaker-wiring-0.767f80aa65081038.webp) 1. Posicione o ReSpeaker e o Wio Terminal com os conectores GPIO voltados para cima e do lado esquerdo. @@ -43,33 +43,33 @@ Também irá precisar de um cartão SD para descarregar e reproduzir áudio. O W 1. Repita este processo ao longo dos conectores GPIO do lado esquerdo. Certifique-se de que os pinos estão bem encaixados. - ![Um ReSpeaker com os pinos do lado esquerdo ligados aos pinos do lado esquerdo do Wio Terminal](../../../../../translated_images/pt/wio-respeaker-wiring-1.8d894727f2ba2400.webp) + ![Um ReSpeaker com os pinos do lado esquerdo ligados aos pinos do lado esquerdo do Wio Terminal](../../../../../translated_images/pt-PT/wio-respeaker-wiring-1.8d894727f2ba2400.webp) - ![Um ReSpeaker com os pinos do lado esquerdo ligados aos pinos do lado esquerdo do Wio Terminal](../../../../../translated_images/pt/wio-respeaker-wiring-2.329e1cbd306e754f.webp) + ![Um ReSpeaker com os pinos do lado esquerdo ligados aos pinos do lado esquerdo do Wio Terminal](../../../../../translated_images/pt-PT/wio-respeaker-wiring-2.329e1cbd306e754f.webp) > 💁 Se os seus cabos de ligação estiverem agrupados em fitas, mantenha-os juntos - isso facilita garantir que todos os cabos estão conectados na ordem correta. 1. Repita o processo usando os conectores GPIO do lado direito do ReSpeaker e do Wio Terminal. Estes cabos devem passar por cima dos cabos já conectados. - ![Um ReSpeaker com os pinos do lado direito ligados aos pinos do lado direito do Wio Terminal](../../../../../translated_images/pt/wio-respeaker-wiring-3.75b0be447e2fa930.webp) + ![Um ReSpeaker com os pinos do lado direito ligados aos pinos do lado direito do Wio Terminal](../../../../../translated_images/pt-PT/wio-respeaker-wiring-3.75b0be447e2fa930.webp) - ![Um ReSpeaker com os pinos do lado direito ligados aos pinos do lado direito do Wio Terminal](../../../../../translated_images/pt/wio-respeaker-wiring-4.aa9cd434d8779437.webp) + ![Um ReSpeaker com os pinos do lado direito ligados aos pinos do lado direito do Wio Terminal](../../../../../translated_images/pt-PT/wio-respeaker-wiring-4.aa9cd434d8779437.webp) > 💁 Se os seus cabos de ligação estiverem agrupados em fitas, divida-os em duas fitas. Passe uma fita de cada lado dos cabos já existentes. > 💁 Pode usar fita adesiva para segurar os pinos em bloco e evitar que se soltem enquanto os conecta. > - > ![Os pinos fixados com fita adesiva](../../../../../translated_images/pt/wio-respeaker-wiring-5.af117c20acf622f3.webp) + > ![Os pinos fixados com fita adesiva](../../../../../translated_images/pt-PT/wio-respeaker-wiring-5.af117c20acf622f3.webp) 1. Será necessário adicionar um altifalante. * Se estiver a usar um altifalante com cabo JST, conecte-o à porta JST no ReSpeaker. - ![Um altifalante conectado ao ReSpeaker com um cabo JST](../../../../../translated_images/pt/respeaker-jst-speaker.a441d177809df945.webp) + ![Um altifalante conectado ao ReSpeaker com um cabo JST](../../../../../translated_images/pt-PT/respeaker-jst-speaker.a441d177809df945.webp) * Se estiver a usar um altifalante com ficha de 3,5mm ou auscultadores, insira-os na entrada de 3,5mm. - ![Um altifalante conectado ao ReSpeaker através da entrada de 3,5mm](../../../../../translated_images/pt/respeaker-35mm-speaker.ad79ef4f128c7751.webp) + ![Um altifalante conectado ao ReSpeaker através da entrada de 3,5mm](../../../../../translated_images/pt-PT/respeaker-35mm-speaker.ad79ef4f128c7751.webp) ### Tarefa - configurar o cartão SD @@ -79,7 +79,7 @@ Também irá precisar de um cartão SD para descarregar e reproduzir áudio. O W 1. Insira o cartão SD na entrada de cartões SD no lado esquerdo do Wio Terminal, logo abaixo do botão de ligar/desligar. Certifique-se de que o cartão está completamente inserido e faz um clique - pode precisar de uma ferramenta fina ou outro cartão SD para ajudar a empurrá-lo completamente. - ![Inserir o cartão SD na entrada de cartões SD abaixo do botão de ligar/desligar](../../../../../translated_images/pt/wio-sd-card.acdcbe322fa4ee7f.webp) + ![Inserir o cartão SD na entrada de cartões SD abaixo do botão de ligar/desligar](../../../../../translated_images/pt-PT/wio-sd-card.acdcbe322fa4ee7f.webp) > 💁 Para ejetar o cartão SD, precisa de empurrá-lo ligeiramente e ele será ejetado. Será necessário usar uma ferramenta fina, como uma chave de fendas de cabeça plana ou outro cartão SD. diff --git a/translations/pt/6-consumer/lessons/2-language-understanding/README.md b/translations/pt/6-consumer/lessons/2-language-understanding/README.md index d6c4ee013..61da5a37c 100644 --- a/translations/pt/6-consumer/lessons/2-language-understanding/README.md +++ b/translations/pt/6-consumer/lessons/2-language-understanding/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # Compreender a linguagem -![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt/lesson-22.6148ea28500d9e00c396aaa2649935fb6641362c8f03d8e5e90a676977ab01dd.jpg) +![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt-PT/lesson-22.6148ea28500d9e00c396aaa2649935fb6641362c8f03d8e5e90a676977ab01dd.jpg) > Ilustração por [Nitya Narasimhan](https://github.com/nitya). Clique na imagem para uma versão maior. @@ -55,7 +55,7 @@ Os modelos de compreensão da linguagem são modelos de IA que são treinados pa ## Criar um modelo de compreensão da linguagem -![O logótipo do LUIS](../../../../../translated_images/pt/luis-logo.5cb4f3e88c020ee6df4f614e8831f4a4b6809a7247bf52085fb48d629ef9be52.png) +![O logótipo do LUIS](../../../../../translated_images/pt-PT/luis-logo.5cb4f3e88c020ee6df4f614e8831f4a4b6809a7247bf52085fb48d629ef9be52.png) Podes criar modelos de compreensão da linguagem usando o LUIS, um serviço de compreensão da linguagem da Microsoft que faz parte dos Serviços Cognitivos. @@ -126,7 +126,7 @@ Depois de definir as entidades, crias intenções. Estas são aprendidas pelo mo Depois, indicas ao LUIS quais partes dessas frases correspondem às entidades: -![A frase definir um temporizador para 1 minuto e 12 segundos dividida em entidades](../../../../../translated_images/pt/sentence-as-intent-entities.301401696f992259.webp) +![A frase definir um temporizador para 1 minuto e 12 segundos dividida em entidades](../../../../../translated_images/pt-PT/sentence-as-intent-entities.301401696f992259.webp) A frase `definir um temporizador para 1 minuto e 12 segundos` tem a intenção de `definir temporizador`. Também tem 2 entidades com 2 valores cada: @@ -178,7 +178,7 @@ Podes encontrar instruções para usar o portal do LUIS na [Documentação de In 1. À medida que inseres cada exemplo, o LUIS começará a detetar entidades e sublinhará e etiquetará qualquer uma que encontrar. - ![Os exemplos com os números e unidades de tempo sublinhados pelo LUIS](../../../../../translated_images/pt/luis-intent-examples.25716580b2d2723cf1bafdf277d015c7f046d8cfa20f27bddf3a0873ec45fab7.png) + ![Os exemplos com os números e unidades de tempo sublinhados pelo LUIS](../../../../../translated_images/pt-PT/luis-intent-examples.25716580b2d2723cf1bafdf277d015c7f046d8cfa20f27bddf3a0873ec45fab7.png) ### Tarefa - treinar e testar o modelo diff --git a/translations/pt/6-consumer/lessons/3-spoken-feedback/README.md b/translations/pt/6-consumer/lessons/3-spoken-feedback/README.md index 555c70d8a..4252d3b41 100644 --- a/translations/pt/6-consumer/lessons/3-spoken-feedback/README.md +++ b/translations/pt/6-consumer/lessons/3-spoken-feedback/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # Definir um temporizador e fornecer feedback falado -![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt/lesson-23.f38483e1d4df4828990d3f02d60e46c978b075d384ae7cb4f7bab738e107c850.jpg) +![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt-PT/lesson-23.f38483e1d4df4828990d3f02d60e46c978b075d384ae7cb4f7bab738e107c850.jpg) > Ilustração por [Nitya Narasimhan](https://github.com/nitya). Clique na imagem para uma versão maior. @@ -37,7 +37,7 @@ Nesta lição, vamos abordar: Texto para fala, como o nome sugere, é o processo de converter texto em áudio que contém as palavras faladas. O princípio básico é decompor as palavras do texto nos seus sons constituintes (conhecidos como fonemas) e juntar áudio para esses sons, seja usando áudio pré-gravado ou áudio gerado por modelos de IA. -![As três etapas típicas dos sistemas de texto para fala](../../../../../translated_images/pt/tts-overview.193843cf3f5ee09f.webp) +![As três etapas típicas dos sistemas de texto para fala](../../../../../translated_images/pt-PT/tts-overview.193843cf3f5ee09f.webp) Os sistemas de texto para fala geralmente têm 3 etapas: diff --git a/translations/pt/6-consumer/lessons/4-multiple-language-support/README.md b/translations/pt/6-consumer/lessons/4-multiple-language-support/README.md index d50ac1bd4..8b19d56c7 100644 --- a/translations/pt/6-consumer/lessons/4-multiple-language-support/README.md +++ b/translations/pt/6-consumer/lessons/4-multiple-language-support/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # Suporte a múltiplos idiomas -![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt/lesson-24.4246968ed058510ab275052e87ef9aa89c7b2f938915d103c605c04dc6cd5bb7.jpg) +![Uma visão geral ilustrada desta lição](../../../../../translated_images/pt-PT/lesson-24.4246968ed058510ab275052e87ef9aa89c7b2f938915d103c605c04dc6cd5bb7.jpg) > Ilustração por [Nitya Narasimhan](https://github.com/nitya). Clique na imagem para uma versão maior. @@ -83,7 +83,7 @@ Existem vários serviços de IA que podem ser usados nas tuas aplicações para ### Serviço de fala dos serviços cognitivos -![O logótipo do serviço de fala](../../../../../translated_images/pt/azure-speech-logo.a1f08c4befb0159f2cb5d692d3baf5b599e7b44759d316da907bda1508f46a4a.png) +![O logótipo do serviço de fala](../../../../../translated_images/pt-PT/azure-speech-logo.a1f08c4befb0159f2cb5d692d3baf5b599e7b44759d316da907bda1508f46a4a.png) O serviço de fala que tens usado nas últimas lições tem capacidades de tradução para reconhecimento de fala. Quando reconheces fala, podes solicitar não apenas o texto da fala no mesmo idioma, mas também noutros idiomas. @@ -91,7 +91,7 @@ O serviço de fala que tens usado nas últimas lições tem capacidades de tradu ### Serviço de tradutor dos serviços cognitivos -![O logótipo do serviço de tradutor](../../../../../translated_images/pt/azure-translator-logo.c6ed3a4a433edfd2f11577eca105412c50b8396b194cbbd730723dd1d0793bcd.png) +![O logótipo do serviço de tradutor](../../../../../translated_images/pt-PT/azure-translator-logo.c6ed3a4a433edfd2f11577eca105412c50b8396b194cbbd730723dd1d0793bcd.png) O serviço de tradutor é um serviço dedicado de tradução que pode traduzir texto de um idioma para um ou mais idiomas-alvo. Além de traduzir, suporta uma ampla gama de recursos adicionais, incluindo mascarar palavrões. Também permite fornecer uma tradução específica para uma palavra ou frase, para trabalhar com termos que não queres traduzir ou que têm uma tradução bem conhecida. @@ -130,7 +130,7 @@ Para esta lição, vais precisar de um recurso de tradutor. Vais usar a API REST Num mundo ideal, toda a tua aplicação deveria compreender o maior número possível de idiomas diferentes, desde ouvir fala, até compreender linguagem e responder com fala. Isto dá muito trabalho, então os serviços de tradução podem acelerar o tempo de entrega da tua aplicação. -![Uma arquitetura de temporizador inteligente traduzindo japonês para inglês, processando em inglês e depois traduzindo de volta para japonês](../../../../../translated_images/pt/translated-smart-timer.08ac20057fdc5c37.webp) +![Uma arquitetura de temporizador inteligente traduzindo japonês para inglês, processando em inglês e depois traduzindo de volta para japonês](../../../../../translated_images/pt-PT/translated-smart-timer.08ac20057fdc5c37.webp) Imagina que estás a construir um temporizador inteligente que usa inglês de ponta a ponta, compreendendo inglês falado e convertendo-o em texto, executando a compreensão de linguagem em inglês, construindo respostas em inglês e respondendo com fala em inglês. Se quisesses adicionar suporte para japonês, poderias começar por traduzir japonês falado para texto em inglês, mantendo o núcleo da aplicação igual, e depois traduzir o texto da resposta para japonês antes de falar a resposta. Isto permitiria adicionar suporte para japonês rapidamente, e poderias expandir para fornecer suporte completo de ponta a ponta em japonês mais tarde. diff --git a/translations/pt/6-consumer/lessons/4-multiple-language-support/pi-translate-speech.md b/translations/pt/6-consumer/lessons/4-multiple-language-support/pi-translate-speech.md index 74ae442ab..b992661d5 100644 --- a/translations/pt/6-consumer/lessons/4-multiple-language-support/pi-translate-speech.md +++ b/translations/pt/6-consumer/lessons/4-multiple-language-support/pi-translate-speech.md @@ -34,7 +34,7 @@ A API REST do serviço de discurso não suporta traduções diretas. Em vez diss > > Por exemplo, se treinares o LUIS em inglês, mas quiseres usar francês como idioma do utilizador, podes traduzir frases como "set a 2 minute and 27 second timer" de inglês para francês usando o Bing Translate e, em seguida, usar o botão **Ouvir tradução** para falar a tradução no teu microfone. > - > ![O botão ouvir tradução no Bing Translate](../../../../../translated_images/pt/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.png) + > ![O botão ouvir tradução no Bing Translate](../../../../../translated_images/pt-PT/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.png) 1. Adiciona a chave da API do Translator abaixo da `speech_api_key`: diff --git a/translations/pt/6-consumer/lessons/4-multiple-language-support/virtual-device-translate-speech.md b/translations/pt/6-consumer/lessons/4-multiple-language-support/virtual-device-translate-speech.md index d4c143fb4..bc5b67d2e 100644 --- a/translations/pt/6-consumer/lessons/4-multiple-language-support/virtual-device-translate-speech.md +++ b/translations/pt/6-consumer/lessons/4-multiple-language-support/virtual-device-translate-speech.md @@ -46,7 +46,7 @@ O serviço de fala pode captar fala e não só convertê-la em texto na mesma l > > Por exemplo, se treinares o LUIS em Inglês, mas quiseres usar Francês como a língua do utilizador, podes traduzir frases como "set a 2 minute and 27 second timer" de Inglês para Francês usando o Bing Translate, e depois usar o botão **Listen translation** para falar a tradução no teu microfone. > - > ![O botão de ouvir tradução no Bing Translate](../../../../../translated_images/pt/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.png) + > ![O botão de ouvir tradução no Bing Translate](../../../../../translated_images/pt-PT/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.png) 1. Substitui as declarações `recognizer_config` e `recognizer` pelo seguinte: diff --git a/translations/pt/6-consumer/lessons/4-multiple-language-support/wio-terminal-translate-speech.md b/translations/pt/6-consumer/lessons/4-multiple-language-support/wio-terminal-translate-speech.md index 1e6629bd2..6d301456d 100644 --- a/translations/pt/6-consumer/lessons/4-multiple-language-support/wio-terminal-translate-speech.md +++ b/translations/pt/6-consumer/lessons/4-multiple-language-support/wio-terminal-translate-speech.md @@ -114,7 +114,7 @@ A API REST do serviço de discurso não suporta traduções diretas. Em vez diss > > Por exemplo, se treinares o LUIS em inglês, mas quiseres usar francês como idioma do utilizador, podes traduzir frases como "set a 2 minute and 27 second timer" de inglês para francês usando o Bing Translate e, em seguida, usar o botão **Ouvir tradução** para falar a tradução no teu microfone. > - > ![O botão ouvir tradução no Bing Translate](../../../../../translated_images/pt/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.png) + > ![O botão ouvir tradução no Bing Translate](../../../../../translated_images/pt-PT/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.png) 1. Adiciona a chave da API do Translator e a localização abaixo de `SPEECH_LOCATION`: diff --git a/translations/pt/README.md b/translations/pt/README.md index f85edd0f5..22e0c3571 100644 --- a/translations/pt/README.md +++ b/translations/pt/README.md @@ -57,7 +57,7 @@ Os Azure Cloud Advocates da Microsoft têm o prazer de oferecer um currículo de Os projetos cobrem a jornada do alimento da quinta até à mesa. Isto inclui agricultura, logística, fabrico, retalho e consumidor - todas áreas populares da indústria para dispositivos IoT. -![Um mapa do curso ilustrando 24 lições que cobrem introdução, agricultura, transporte, processamento, retalho e cozinha](../../translated_images/pt/Roadmap.bb1dec285dda0eda.webp) +![Um mapa do curso ilustrando 24 lições que cobrem introdução, agricultura, transporte, processamento, retalho e cozinha](../../translated_images/pt-PT/Roadmap.bb1dec285dda0eda.webp) > Sketchnote por [Nitya Narasimhan](https://github.com/nitya). Clique na imagem para uma versão maior. diff --git a/translations/pt/hardware.md b/translations/pt/hardware.md index f593c632d..068a3bd72 100644 --- a/translations/pt/hardware.md +++ b/translations/pt/hardware.md @@ -21,7 +21,7 @@ Também precisará de alguns itens não técnicos, como terra ou uma planta em v ## Comprar os kits -![O logótipo da Seeed Studios](../../translated_images/pt/seeed-logo.74732b6b482b6e8e.webp) +![O logótipo da Seeed Studios](../../translated_images/pt-PT/seeed-logo.74732b6b482b6e8e.webp) A Seeed Studios gentilmente disponibilizou todo o hardware em kits fáceis de adquirir: @@ -29,13 +29,13 @@ A Seeed Studios gentilmente disponibilizou todo o hardware em kits fáceis de ad **[IoT para principiantes com Seeed e Microsoft - Kit Inicial Wio Terminal](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Wio-Terminal-Starter-Kit-p-5006.html)** -[![O kit de hardware Wio Terminal](../../translated_images/pt/wio-hardware-kit.4c70c48b85e4283a.webp)](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Wio-Terminal-Starter-Kit-p-5006.html) +[![O kit de hardware Wio Terminal](../../translated_images/pt-PT/wio-hardware-kit.4c70c48b85e4283a.webp)](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Wio-Terminal-Starter-Kit-p-5006.html) ### Raspberry Pi **[IoT para principiantes com Seeed e Microsoft - Kit Inicial Raspberry Pi 4](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Raspberry-Pi-Starter-Kit-p-5004.html)** -[![O kit de hardware Raspberry Pi Terminal](../../translated_images/pt/pi-hardware-kit.26dbadaedb7dd44c73b0131d5d68ea29472ed0a9744f90d5866c6d82f2d16380.png)](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Raspberry-Pi-Starter-Kit-p-5004.html) +[![O kit de hardware Raspberry Pi Terminal](../../translated_images/pt-PT/pi-hardware-kit.26dbadaedb7dd44c73b0131d5d68ea29472ed0a9744f90d5866c6d82f2d16380.png)](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Raspberry-Pi-Starter-Kit-p-5004.html) ## Arduino diff --git a/translations/tw/1-getting-started/lessons/1-introduction-to-iot/README.md b/translations/tw/1-getting-started/lessons/1-introduction-to-iot/README.md index 0f50d7397..fde81481d 100644 --- a/translations/tw/1-getting-started/lessons/1-introduction-to-iot/README.md +++ b/translations/tw/1-getting-started/lessons/1-introduction-to-iot/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 物聯網簡介 -![本課程的手繪筆記概覽](../../../../../translated_images/tw/lesson-1.2606670fa61ee904687da5d6fa4e726639d524d064c895117da1b95b9ff6251d.jpg) +![本課程的手繪筆記概覽](../../../../../translated_images/zh-TW/lesson-1.2606670fa61ee904687da5d6fa4e726639d524d064c895117da1b95b9ff6251d.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -79,7 +79,7 @@ CO_OP_TRANSLATOR_METADATA: 微控制器通常是低成本的計算設備,用於定制硬體的微控制器平均價格約為 0.50 美元,有些設備甚至低至 0.03 美元。開發套件的起價約為 4 美元,隨著功能的增加,成本也會上升。[Wio Terminal](https://www.seeedstudio.com/Wio-Terminal-p-4509.html) 是 [Seeed Studios](https://www.seeedstudio.com) 的一款微控制器開發套件,內建感測器、致動器、WiFi 和螢幕,價格約為 30 美元。 -![Wio Terminal](../../../../../translated_images/tw/wio-terminal.b8299ee16587db9a.webp) +![Wio Terminal](../../../../../translated_images/zh-TW/wio-terminal.b8299ee16587db9a.webp) > 💁 在網上搜索微控制器時,請注意搜索術語 **MCU**,因為這可能會返回大量有關漫威電影宇宙(Marvel Cinematic Universe)的結果,而不是微控制器。 @@ -93,7 +93,7 @@ CO_OP_TRANSLATOR_METADATA: 單板電腦是一種小型計算設備,將完整計算機的所有元素集成在一個小型電路板上。這些設備的規格接近桌上型或筆記型電腦,運行完整的操作系統,但體積更小,功耗更低,價格也便宜得多。 -![Raspberry Pi 4](../../../../../translated_images/tw/raspberry-pi-4.fd4590d308c3d456.webp) +![Raspberry Pi 4](../../../../../translated_images/zh-TW/raspberry-pi-4.fd4590d308c3d456.webp) Raspberry Pi 是最受歡迎的單板電腦之一。 diff --git a/translations/tw/1-getting-started/lessons/1-introduction-to-iot/pi.md b/translations/tw/1-getting-started/lessons/1-introduction-to-iot/pi.md index 0a74f673c..c32a185ec 100644 --- a/translations/tw/1-getting-started/lessons/1-introduction-to-iot/pi.md +++ b/translations/tw/1-getting-started/lessons/1-introduction-to-iot/pi.md @@ -11,7 +11,7 @@ CO_OP_TRANSLATOR_METADATA: [樹莓派](https://raspberrypi.org) 是一款單板電腦。你可以使用各種設備和生態系統添加感測器和致動器,這些課程中將使用一個名為 [Grove](https://www.seeedstudio.com/category/Grove-c-1003.html) 的硬體生態系統。你將使用 Python 為樹莓派編寫程式並存取 Grove 感測器。 -![樹莓派 4](../../../../../translated_images/tw/raspberry-pi-4.fd4590d308c3d456.webp) +![樹莓派 4](../../../../../translated_images/zh-TW/raspberry-pi-4.fd4590d308c3d456.webp) ## 設置 @@ -112,7 +112,7 @@ CO_OP_TRANSLATOR_METADATA: 1. 在 Raspberry Pi Imager 中,選擇 **CHOOSE OS** 按鈕,然後選擇 *Raspberry Pi OS (Other)*,接著選擇 *Raspberry Pi OS Lite (32-bit)*。 - ![Raspberry Pi Imager 中選擇 Raspberry Pi OS Lite](../../../../../translated_images/tw/raspberry-pi-imager.24aedeab9e233d84.webp) + ![Raspberry Pi Imager 中選擇 Raspberry Pi OS Lite](../../../../../translated_images/zh-TW/raspberry-pi-imager.24aedeab9e233d84.webp) > 💁 Raspberry Pi OS Lite 是一個沒有桌面 UI 或基於 UI 工具的樹莓派操作系統版本。這些對於無頭樹莓派來說並不需要,並且使安裝更小,啟動時間更快。 @@ -251,7 +251,7 @@ CO_OP_TRANSLATOR_METADATA: 1. 在 VS Code 中選擇 *File -> Open...*,然後選擇 *nightlight* 資料夾,接著選擇 **OK**,以打開該資料夾。 - ![VS Code 的開啟對話框顯示了 nightlight 資料夾](../../../../../translated_images/tw/vscode-open-nightlight-remote.d3d2a4011e30d535.webp) + ![VS Code 的開啟對話框顯示了 nightlight 資料夾](../../../../../translated_images/zh-TW/vscode-open-nightlight-remote.d3d2a4011e30d535.webp) 1. 從 VS Code 的檔案總管中打開 `app.py` 檔案,並新增以下程式碼: diff --git a/translations/tw/1-getting-started/lessons/1-introduction-to-iot/virtual-device.md b/translations/tw/1-getting-started/lessons/1-introduction-to-iot/virtual-device.md index f325c239d..1abcddb6c 100644 --- a/translations/tw/1-getting-started/lessons/1-introduction-to-iot/virtual-device.md +++ b/translations/tw/1-getting-started/lessons/1-introduction-to-iot/virtual-device.md @@ -154,11 +154,11 @@ Python 的一個強大功能是能夠安裝 [Pip 套件](https://pypi.org)—— 1. 當 VS Code 啟動時,它將啟用 Python 虛擬環境。選定的虛擬環境將顯示在底部狀態欄中: - ![VS Code 顯示選定的虛擬環境](../../../../../translated_images/tw/vscode-virtual-env.8ba42e04c3d533cf.webp) + ![VS Code 顯示選定的虛擬環境](../../../../../translated_images/zh-TW/vscode-virtual-env.8ba42e04c3d533cf.webp) 1. 如果 VS Code Terminal 在 VS Code 啟動時已運行,它將不會啟用虛擬環境。最簡單的方法是使用 **Kill the active terminal instance** 按鈕關閉終端: - ![VS Code Kill the active terminal instance 按鈕](../../../../../translated_images/tw/vscode-kill-terminal.1cc4de7c6f25ee08.webp) + ![VS Code Kill the active terminal instance 按鈕](../../../../../translated_images/zh-TW/vscode-kill-terminal.1cc4de7c6f25ee08.webp) 你可以通過終端提示的前綴來判斷終端是否啟用了虛擬環境。例如,它可能是: @@ -212,7 +212,7 @@ Python 的一個強大功能是能夠安裝 [Pip 套件](https://pypi.org)—— 應用程式將開始運行並在你的網頁瀏覽器中打開: - ![Counter Fit 應用程式在瀏覽器中運行](../../../../../translated_images/tw/counterfit-first-run.433326358b669b31d0e99c3513cb01bfbb13724d162c99cdcc8f51ecf5f9c779.png) + ![Counter Fit 應用程式在瀏覽器中運行](../../../../../translated_images/zh-TW/counterfit-first-run.433326358b669b31d0e99c3513cb01bfbb13724d162c99cdcc8f51ecf5f9c779.png) 它將顯示為 *Disconnected*,右上角的 LED 是熄滅的。 @@ -229,11 +229,11 @@ Python 的一個強大功能是能夠安裝 [Pip 套件](https://pypi.org)—— 1. 你需要通過選擇 **Create a new integrated terminal** 按鈕啟動新的 VS Code 終端。這是因為 CounterFit 應用程式正在當前終端中運行。 - ![VS Code Create a new integrated terminal 按鈕](../../../../../translated_images/tw/vscode-new-terminal.77db8fc0f9cd3182.webp) + ![VS Code Create a new integrated terminal 按鈕](../../../../../translated_images/zh-TW/vscode-new-terminal.77db8fc0f9cd3182.webp) 1. 在此新終端中,像之前一樣運行 `app.py` 文件。CounterFit 的狀態將更改為 **Connected**,LED 會亮起。 - ![Counter Fit 顯示為已連接](../../../../../translated_images/tw/counterfit-connected.ed30b46d8f79b0921f3fc70be10366e596a89dca3f80c2224a9d9fc98fccf884.png) + ![Counter Fit 顯示為已連接](../../../../../translated_images/zh-TW/counterfit-connected.ed30b46d8f79b0921f3fc70be10366e596a89dca3f80c2224a9d9fc98fccf884.png) > 💁 你可以在 [code/virtual-device](../../../../../1-getting-started/lessons/1-introduction-to-iot/code/virtual-device) 資料夾中找到此程式碼。 diff --git a/translations/tw/1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md b/translations/tw/1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md index b831efb5f..90b213a54 100644 --- a/translations/tw/1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md +++ b/translations/tw/1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md @@ -11,7 +11,7 @@ CO_OP_TRANSLATOR_METADATA: [Seeed Studios 的 Wio Terminal](https://www.seeedstudio.com/Wio-Terminal-p-4509.html) 是一款兼容 Arduino 的微控制器,內建 WiFi 以及一些感測器和執行器,並且可以透過名為 [Grove](https://www.seeedstudio.com/category/Grove-c-1003.html) 的硬體生態系統添加更多感測器和執行器。 -![Seeed Studios 的 Wio Terminal](../../../../../translated_images/tw/wio-terminal.b8299ee16587db9a.webp) +![Seeed Studios 的 Wio Terminal](../../../../../translated_images/zh-TW/wio-terminal.b8299ee16587db9a.webp) ## 設置 @@ -51,15 +51,15 @@ Wio Terminal 的 Hello World 應用程式將確保您已正確安裝 Visual Stud 1. PlatformIO 圖標將顯示在側邊菜單欄: - ![Platform IO 菜單選項](../../../../../translated_images/tw/vscode-platformio-menu.297be26b9733e5c4.webp) + ![Platform IO 菜單選項](../../../../../translated_images/zh-TW/vscode-platformio-menu.297be26b9733e5c4.webp) 選擇此菜單項,然後選擇 *PIO Home -> Open* - ![Platform IO 開啟選項](../../../../../translated_images/tw/vscode-platformio-home-open.3f9a41bfd3f4da1c.webp) + ![Platform IO 開啟選項](../../../../../translated_images/zh-TW/vscode-platformio-home-open.3f9a41bfd3f4da1c.webp) 1. 在歡迎畫面中,選擇 **+ New Project** 按鈕 - ![新專案按鈕](../../../../../translated_images/tw/vscode-platformio-welcome-new-button.ba6fc8a4c7b78cc8.webp) + ![新專案按鈕](../../../../../translated_images/zh-TW/vscode-platformio-welcome-new-button.ba6fc8a4c7b78cc8.webp) 1. 在 *Project Wizard* 中配置專案: @@ -73,7 +73,7 @@ Wio Terminal 的 Hello World 應用程式將確保您已正確安裝 Visual Stud 1. 選擇 **Finish** 按鈕 - ![完成的專案向導](../../../../../translated_images/tw/vscode-platformio-nightlight-project-wizard.5c64db4da6037420.webp) + ![完成的專案向導](../../../../../translated_images/zh-TW/vscode-platformio-nightlight-project-wizard.5c64db4da6037420.webp) PlatformIO 將下載所需的組件以編譯 Wio Terminal 的程式碼並創建您的專案。這可能需要幾分鐘。 @@ -179,7 +179,7 @@ VS Code 的資源管理器將顯示由 PlatformIO 向導創建的多個檔案和 1. 輸入 `PlatformIO Upload` 搜索上傳選項,並選擇 *PlatformIO: Upload* - ![命令面板中的 PlatformIO 上傳選項](../../../../../translated_images/tw/vscode-platformio-upload-command-palette.9e0f49cf80d1f1c3.webp) + ![命令面板中的 PlatformIO 上傳選項](../../../../../translated_images/zh-TW/vscode-platformio-upload-command-palette.9e0f49cf80d1f1c3.webp) 如果需要,PlatformIO 會在上傳之前自動編譯程式碼。 @@ -195,7 +195,7 @@ PlatformIO 有一個串口監視器,可以監視通過 USB 線纜從 Wio Termi 1. 輸入 `PlatformIO Serial` 搜索串口監視器選項,並選擇 *PlatformIO: Serial Monitor* - ![命令面板中的 PlatformIO 串口監視器選項](../../../../../translated_images/tw/vscode-platformio-serial-monitor-command-palette.b348ec841b8a1c14.webp) + ![命令面板中的 PlatformIO 串口監視器選項](../../../../../translated_images/zh-TW/vscode-platformio-serial-monitor-command-palette.b348ec841b8a1c14.webp) 一個新的終端將打開,通過串口發送的數據將流入此終端: diff --git a/translations/tw/1-getting-started/lessons/2-deeper-dive/README.md b/translations/tw/1-getting-started/lessons/2-deeper-dive/README.md index e8136199b..47e9e4916 100644 --- a/translations/tw/1-getting-started/lessons/2-deeper-dive/README.md +++ b/translations/tw/1-getting-started/lessons/2-deeper-dive/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 深入探討物聯網 (IoT) -![本課程的手繪筆記概述](../../../../../translated_images/tw/lesson-2.324b0580d620c25e0a24fb7fddfc0b29a846dd4b82c08e7a9466d580ee78ce51.jpg) +![本課程的手繪筆記概述](../../../../../translated_images/zh-TW/lesson-2.324b0580d620c25e0a24fb7fddfc0b29a846dd4b82c08e7a9466d580ee78ce51.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -41,13 +41,13 @@ CO_OP_TRANSLATOR_METADATA: ### 物件 -![Raspberry Pi 4](../../../../../translated_images/tw/raspberry-pi-4.fd4590d308c3d456.webp) +![Raspberry Pi 4](../../../../../translated_images/zh-TW/raspberry-pi-4.fd4590d308c3d456.webp) 物聯網中的 **物件** 指的是能與物理世界互動的設備。這些設備通常是小型、低成本的計算機,運行速度較低且功耗低——例如,僅有幾千字節 RAM 的簡單微控制器(而非 PC 中的幾千兆字節),運行速度僅為幾百兆赫(而非 PC 中的幾千兆赫),但功耗極低,有時甚至可以用電池運行數週、數月甚至數年。 這些設備通過使用感測器收集周圍環境的數據,或通過控制輸出或執行器進行物理改變來與物理世界互動。典型的例子是智能溫控器——一種具有溫度感測器、可設置所需溫度(如旋鈕或觸摸屏)以及連接到加熱或冷卻系統的設備,當檢測到的溫度超出所需範圍時,系統會啟動。溫度感測器檢測到房間太冷,執行器則啟動加熱系統。 -![顯示溫度和旋鈕作為物聯網設備輸入,並控制加熱器作為輸出的圖示](../../../../../translated_images/tw/basic-thermostat.a923217fd1f37e5a6f3390396a65c22a387419ea2dd17e518ec24315ba6ae9a8.png) +![顯示溫度和旋鈕作為物聯網設備輸入,並控制加熱器作為輸出的圖示](../../../../../translated_images/zh-TW/basic-thermostat.a923217fd1f37e5a6f3390396a65c22a387419ea2dd17e518ec24315ba6ae9a8.png) 可以作為物聯網設備的物件種類繁多,從專用硬件到一般用途設備,甚至包括您的智能手機!智能手機可以使用感測器檢測周圍環境,並使用執行器與世界互動——例如使用 GPS 感測器檢測您的位置,並使用揚聲器提供導航指示。 @@ -63,11 +63,11 @@ CO_OP_TRANSLATOR_METADATA: 以智能溫控器為例,溫控器通過家庭 WiFi 連接到雲端服務,並將溫度數據發送到該雲端服務。從那裡,數據會被寫入某種數據庫,讓房主可以通過手機應用查看當前和過去的溫度。雲端中的另一項服務會知道房主想要的溫度,並通過雲端服務向物聯網設備發送消息,告訴加熱系統開啟或關閉。 -![顯示溫度和旋鈕作為物聯網設備輸入,物聯網設備與雲端之間的雙向通信,雲端與手機之間的雙向通信,以及物聯網設備控制加熱器作為輸出的圖示](../../../../../translated_images/tw/mobile-controlled-thermostat.4a994010473d8d6a52ba68c67e5f02dc8928c717e93ca4b9bc55525aa75bbb60.png) +![顯示溫度和旋鈕作為物聯網設備輸入,物聯網設備與雲端之間的雙向通信,雲端與手機之間的雙向通信,以及物聯網設備控制加熱器作為輸出的圖示](../../../../../translated_images/zh-TW/mobile-controlled-thermostat.4a994010473d8d6a52ba68c67e5f02dc8928c717e93ca4b9bc55525aa75bbb60.png) 更智能的版本可以使用雲端中的 AI,結合其他物聯網設備(如占用感測器)連接的其他感測器數據,以及天氣和您的日曆等數據,智能地設置溫度。例如,如果它從您的日曆中讀到您正在度假,它可以關閉加熱;或者根據您使用的房間逐一關閉加熱,並從數據中學習以逐漸提高準確性。 -![顯示多個溫度感測器和旋鈕作為物聯網設備輸入,物聯網設備與雲端之間的雙向通信,雲端與手機、日曆和天氣服務之間的雙向通信,以及物聯網設備控制加熱器作為輸出的圖示](../../../../../translated_images/tw/smarter-thermostat.a75855f15d2d9e63.webp) +![顯示多個溫度感測器和旋鈕作為物聯網設備輸入,物聯網設備與雲端之間的雙向通信,雲端與手機、日曆和天氣服務之間的雙向通信,以及物聯網設備控制加熱器作為輸出的圖示](../../../../../translated_images/zh-TW/smarter-thermostat.a75855f15d2d9e63.webp) ✅ 還有哪些數據可以幫助使網際網路連接的溫控器更智能? @@ -103,7 +103,7 @@ CPU 依賴於時鐘每秒滴答數百萬或數十億次。每次滴答或週期 > 💁 CPU 使用 [取指-解碼-執行週期](https://wikipedia.org/wiki/Instruction_cycle) 執行程序。每次時鐘滴答,CPU 從記憶體中取指令,解碼,然後執行,例如使用算術邏輯單元 (ALU) 加法兩個數字。一些執行需要多個滴答才能完成,因此下一個週期會在指令完成後的下一次滴答運行。 -![取指-解碼-執行週期顯示取指令從存儲在 RAM 中的程序中取指令,然後在 CPU 上解碼並執行](../../../../../translated_images/tw/fetch-decode-execute.2fd6f150f6280392807f4475382319abd0cee0b90058e1735444d6baa6f2078c.png) +![取指-解碼-執行週期顯示取指令從存儲在 RAM 中的程序中取指令,然後在 CPU 上解碼並執行](../../../../../translated_images/zh-TW/fetch-decode-execute.2fd6f150f6280392807f4475382319abd0cee0b90058e1735444d6baa6f2078c.png) 微控制器的時鐘速度遠低於桌面或筆記本電腦,甚至大多數智能手機。以 Wio Terminal 為例,其 CPU 運行速度為 120MHz,即每秒 120,000,000 次週期。 @@ -135,7 +135,7 @@ RAM 是程序運行時使用的記憶體,包含程序分配的變數以及從 下圖顯示了 192KB 和 8GB 之間的相對大小差異——中心的小點代表 192KB。 -![192KB 和 8GB 的比較 - 超過 40,000 倍的差距](../../../../../translated_images/tw/ram-comparison.6beb73541b42ac6f.webp) +![192KB 和 8GB 的比較 - 超過 40,000 倍的差距](../../../../../translated_images/zh-TW/ram-comparison.6beb73541b42ac6f.webp) 程式存儲空間也比 PC 小。一台典型的 PC 可能有 500GB 的硬碟用於程式存儲,而微控制器可能只有幾千字節或幾百萬字節(MB)的存儲空間(1MB 等於 1,000KB 或 1,000,000 字節)。Wio Terminal 擁有 4MB 的程式存儲空間。 @@ -191,7 +191,7 @@ Arduino 開發板使用 C 或 C++ 編程。使用 C/C++ 可以使程式碼編譯 你可以在 `setup` 函數中編寫初始化程式碼,例如連接 WiFi 和雲服務或初始化輸入和輸出引腳。然後在 `loop` 函數中編寫處理程式碼,例如從感測器讀取數據並將其發送到雲端。如果你只希望每 10 秒發送一次感測器數據,可以在迴圈的末尾添加 10 秒的延遲,這樣微控制器可以進入休眠狀態以節省電力,然後在需要時再次運行迴圈。 -![一個 Arduino sketch 首先運行 setup,然後不斷重複運行 loop](../../../../../translated_images/tw/arduino-sketch.79590cb837ff7a7c6a68d1afda6cab83fd53d3bb1bd9a8bf2eaf8d693a4d3ea6.png) +![一個 Arduino sketch 首先運行 setup,然後不斷重複運行 loop](../../../../../translated_images/zh-TW/arduino-sketch.79590cb837ff7a7c6a68d1afda6cab83fd53d3bb1bd9a8bf2eaf8d693a4d3ea6.png) ✅ 這種程式架構被稱為 *事件迴圈* 或 *消息迴圈*。許多應用程式在底層使用這種架構,這也是大多數運行在 Windows、macOS 或 Linux 等作業系統上的桌面應用程式的標準。`loop` 監聽來自用戶界面元件(如按鈕)或裝置(如鍵盤)的消息,並對其作出響應。你可以在這篇 [事件迴圈文章](https://wikipedia.org/wiki/Event_loop) 中閱讀更多內容。 @@ -211,17 +211,17 @@ Arduino 還有一個龐大的第三方庫生態系統,這些庫可以為你的 ### 樹莓派 -![樹莓派標誌](../../../../../translated_images/tw/raspberry-pi-logo.4efaa16605cee054.webp) +![樹莓派標誌](../../../../../translated_images/zh-TW/raspberry-pi-logo.4efaa16605cee054.webp) [樹莓派基金會](https://www.raspberrypi.org) 是一家來自英國的慈善機構,成立於 2009 年,旨在促進計算機科學的學習,特別是在學校層面。作為這一使命的一部分,他們開發了一款單板電腦,稱為樹莓派。目前樹莓派有三種型號——全尺寸版本、更小的 Pi Zero,以及可以嵌入最終 IoT 裝置的計算模組。 -![樹莓派 4](../../../../../translated_images/tw/raspberry-pi-4.fd4590d308c3d456.webp) +![樹莓派 4](../../../../../translated_images/zh-TW/raspberry-pi-4.fd4590d308c3d456.webp) 最新的全尺寸樹莓派是樹莓派 4B。它擁有一個四核心(4 核)1.5GHz 的 CPU,2GB、4GB 或 8GB 的 RAM,千兆以太網,WiFi,2 個支援 4K 螢幕的 HDMI 埠,一個音頻和複合視頻輸出埠,USB 埠(2 個 USB 2.0 和 2 個 USB 3.0),40 個 GPIO 引腳,一個樹莓派相機模組的相機連接埠,以及一個 SD 卡插槽。所有這些都集成在一塊 88mm x 58mm x 19.5mm 的電路板上,並由 3A 的 USB-C 電源供電。這些型號的起價為 35 美元,比 PC 或 Mac 便宜得多。 > 💁 還有一款 Pi400 一體機電腦,將 Pi4 集成到鍵盤中。 -![樹莓派 Zero](../../../../../translated_images/tw/raspberry-pi-zero.f7a4133e1e7d54bb.webp) +![樹莓派 Zero](../../../../../translated_images/zh-TW/raspberry-pi-zero.f7a4133e1e7d54bb.webp) Pi Zero 更小,功耗更低。它擁有一個單核心 1GHz 的 CPU,512MB 的 RAM,WiFi(在 Zero W 型號中),一個 HDMI 埠,一個 micro-USB 埠,40 個 GPIO 引腳,一個樹莓派相機模組的相機連接埠,以及一個 SD 卡插槽。它的尺寸為 65mm x 30mm x 5mm,功耗非常低。Zero 售價 5 美元,帶 WiFi 的 W 型號售價 10 美元。 diff --git a/translations/tw/1-getting-started/lessons/3-sensors-and-actuators/README.md b/translations/tw/1-getting-started/lessons/3-sensors-and-actuators/README.md index 83cce803b..9b23fec19 100644 --- a/translations/tw/1-getting-started/lessons/3-sensors-and-actuators/README.md +++ b/translations/tw/1-getting-started/lessons/3-sensors-and-actuators/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 與感測器和致動器互動,探索物理世界 -![本課程的手繪筆記概述](../../../../../translated_images/tw/lesson-3.cc3b7b4cd646de598698cce043c0393fd62ef42bac2eaf60e61272cd844250f4.jpg) +![本課程的手繪筆記概述](../../../../../translated_images/zh-TW/lesson-3.cc3b7b4cd646de598698cce043c0393fd62ef42bac2eaf60e61272cd844250f4.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大的版本。 @@ -75,7 +75,7 @@ CO_OP_TRANSLATOR_METADATA: 一個例子是電位器。這是一個可以在兩個位置之間旋轉的旋鈕,感測器測量旋轉的角度。 -![一個電位器設置在中間位置,接收 5 伏特並返回 3.8 伏特](../../../../../translated_images/tw/potentiometer.35a348b9ce22f6ec.webp) +![一個電位器設置在中間位置,接收 5 伏特並返回 3.8 伏特](../../../../../translated_images/zh-TW/potentiometer.35a348b9ce22f6ec.webp) IoT 裝置會向電位器發送一個電信號,電壓例如 5 伏特(5V)。當調整電位器時,它會改變另一端輸出的電壓。假設您有一個標有 0 到 [11](https://wikipedia.org/wiki/Up_to_eleven) 的電位器,例如放大器上的音量旋鈕。當電位器處於完全關閉位置(0)時,輸出為 0V(0 伏特)。當它處於完全開啟位置(11)時,輸出為 5V(5 伏特)。 @@ -101,7 +101,7 @@ IoT 裝置是數位化的——它們無法處理類比值,只能處理 0 和 最簡單的數位感測器是按鈕或開關。這是一個只有兩種狀態的感測器,開或關。 -![一個按鈕接收 5 伏特。未按下時返回 0 伏特,按下時返回 5 伏特](../../../../../translated_images/tw/button.eadb560b77ac45e56f523d9d8876e40444f63b419e33eb820082d461fa79490b.png) +![一個按鈕接收 5 伏特。未按下時返回 0 伏特,按下時返回 5 伏特](../../../../../translated_images/zh-TW/button.eadb560b77ac45e56f523d9d8876e40444f63b419e33eb820082d461fa79490b.png) IoT 裝置上的引腳(例如 GPIO 引腳)可以直接測量此信號作為 0 或 1。如果發送的電壓與返回的電壓相同,讀取的值為 1,否則讀取的值為 0。無需轉換信號,它只能是 1 或 0。 @@ -112,7 +112,7 @@ IoT 裝置上的引腳(例如 GPIO 引腳)可以直接測量此信號作為 更高級的數位感測器會讀取類比值,然後使用內建的 ADC 將其轉換為數位信號。例如,數位溫度感測器仍然會像類比感測器一樣使用熱電偶,並且仍然會測量由熱電偶在當前溫度下的電阻變化引起的電壓變化。它不會返回類比值,而是依賴於裝置或連接板進行轉換,而是由感測器內建的 ADC 進行轉換,並以一系列 0 和 1 的形式將其發送到 IoT 裝置。這些 0 和 1 的發送方式與按鈕的數位信號相同,其中 1 表示全電壓,0 表示 0V。 -![一個數位溫度感測器將類比讀數轉換為二進制數據,其中 0 表示 0 伏特,1 表示 5 伏特,然後將其發送到 IoT 裝置](../../../../../translated_images/tw/temperature-as-digital.85004491b977bae1.webp) +![一個數位溫度感測器將類比讀數轉換為二進制數據,其中 0 表示 0 伏特,1 表示 5 伏特,然後將其發送到 IoT 裝置](../../../../../translated_images/zh-TW/temperature-as-digital.85004491b977bae1.webp) 發送數位數據使感測器能夠變得更加複雜,並發送更詳細的數據,甚至是加密數據以用於安全感測器。一個例子是相機。這是一個感測器,捕捉圖像並以包含該圖像的數位數據形式發送,通常以壓縮格式(如 JPEG)發送到 IoT 裝置。它甚至可以通過捕捉圖像並逐幀發送完整圖像或壓縮視頻流來進行視頻串流。 @@ -134,7 +134,7 @@ IoT 裝置上的引腳(例如 GPIO 引腳)可以直接測量此信號作為 按照以下相關指南,將致動器添加到您的 IoT 裝置,並由感測器控制,構建一個 IoT 夜燈。它將從光感測器收集光線強度,並使用 LED 作為致動器,在檢測到光線強度過低時發光。 -![任務的流程圖,顯示光線強度的讀取和檢查,以及 LED 的控制](../../../../../translated_images/tw/assignment-1-flow.7552a51acb1a5ec858dca6e855cdbb44206434006df8ba3799a25afcdab1665d.png) +![任務的流程圖,顯示光線強度的讀取和檢查,以及 LED 的控制](../../../../../translated_images/zh-TW/assignment-1-flow.7552a51acb1a5ec858dca6e855cdbb44206434006df8ba3799a25afcdab1665d.png) * [Arduino - Wio Terminal](wio-terminal-actuator.md) * [單板電腦 - Raspberry Pi](pi-actuator.md) @@ -149,7 +149,7 @@ IoT 裝置上的引腳(例如 GPIO 引腳)可以直接測量此信號作為 類比致動器接收類比信號並將其轉換為某種交互,交互根據提供的電壓而改變。 一個例子是可調光燈,例如您家中的燈。提供給燈的電壓量決定了燈的亮度。 -![在低電壓下光線變暗,在高電壓下變亮](../../../../../translated_images/tw/dimmable-light.9ceffeb195dec1a849da718b2d71b32c35171ff7dfea9c07bbf82646a67acf6b.png) +![在低電壓下光線變暗,在高電壓下變亮](../../../../../translated_images/zh-TW/dimmable-light.9ceffeb195dec1a849da718b2d71b32c35171ff7dfea9c07bbf82646a67acf6b.png) 就像感測器一樣,實際的物聯網設備使用的是數位信號,而不是類比信號。這意味著,為了傳送類比信號,物聯網設備需要一個數位轉類比轉換器(DAC),這個轉換器可以直接內建在物聯網設備中,也可以在連接板上。它會將物聯網設備的0和1轉換為致動器可以使用的類比電壓。 @@ -164,7 +164,7 @@ IoT 裝置上的引腳(例如 GPIO 引腳)可以直接測量此信號作為 假設你正在用5V電源控制一個馬達。你向馬達傳送一個短脈衝,將電壓切換到高電平(5V)持續0.02秒。在這段時間內,馬達可以旋轉1/10圈,或36°。然後信號暫停0.02秒,傳送低電平信號(0V)。每次開啟和關閉的循環持續0.04秒,然後重複。 -![以150 RPM進行脈衝寬度調變的馬達旋轉](../../../../../translated_images/tw/pwm-motor-150rpm.83347ac04ca38482.webp) +![以150 RPM進行脈衝寬度調變的馬達旋轉](../../../../../translated_images/zh-TW/pwm-motor-150rpm.83347ac04ca38482.webp) 這意味著在一秒內,你有25個持續0.02秒的5V脈衝來驅動馬達,每個脈衝之後是0.02秒的0V暫停,馬達不旋轉。每個脈衝使馬達旋轉1/10圈,這意味著馬達每秒完成2.5圈。你使用數位信號使馬達以每秒2.5圈或每分鐘150轉([每分鐘轉速](https://wikipedia.org/wiki/Revolutions_per_minute),一種非標準的旋轉速度測量單位)旋轉。 @@ -175,7 +175,7 @@ IoT 裝置上的引腳(例如 GPIO 引腳)可以直接測量此信號作為 > 🎓 當PWM信號開啟一半時間,關閉一半時間時,稱為[50%占空比](https://wikipedia.org/wiki/Duty_cycle)。占空比是信號處於開啟狀態的時間與關閉狀態時間的百分比。 -![以75 RPM進行脈衝寬度調變的馬達旋轉](../../../../../translated_images/tw/pwm-motor-75rpm.a5e4c939934b6e14.webp) +![以75 RPM進行脈衝寬度調變的馬達旋轉](../../../../../translated_images/zh-TW/pwm-motor-75rpm.a5e4c939934b6e14.webp) 你可以通過改變脈衝的大小來改變馬達的速度。例如,對於同一個馬達,你可以保持相同的循環時間0.04秒,將開啟脈衝減半為0.01秒,關閉脈衝增加到0.03秒。每秒的脈衝數量(25)保持不變,但每個開啟脈衝的長度減半。半長度的脈衝只會使馬達旋轉1/20圈,而每秒25個脈衝將完成1.25圈或75 RPM。通過改變數位信號的脈衝速度,你將類比馬達的速度減半。 @@ -196,7 +196,7 @@ IoT 裝置上的引腳(例如 GPIO 引腳)可以直接測量此信號作為 一個簡單的數位致動器是LED。當設備傳送數位信號1時,會傳送高電壓點亮LED。當傳送數位信號0時,電壓降至0V,LED熄滅。 -![LED在0伏時熄滅,在5伏時點亮](../../../../../translated_images/tw/led.ec6d94f66676a174ad06d9fa9ea49c2ee89beb18b312d5c6476467c66375b07f.png) +![LED在0伏時熄滅,在5伏時點亮](../../../../../translated_images/zh-TW/led.ec6d94f66676a174ad06d9fa9ea49c2ee89beb18b312d5c6476467c66375b07f.png) ✅ 你能想到其他簡單的兩狀態致動器嗎?一個例子是電磁閥,它是一種電磁鐵,可以被激活來執行例如移動門閂以鎖定/解鎖門的操作。 diff --git a/translations/tw/1-getting-started/lessons/3-sensors-and-actuators/pi-actuator.md b/translations/tw/1-getting-started/lessons/3-sensors-and-actuators/pi-actuator.md index 8ae33d459..16e9d95bc 100644 --- a/translations/tw/1-getting-started/lessons/3-sensors-and-actuators/pi-actuator.md +++ b/translations/tw/1-getting-started/lessons/3-sensors-and-actuators/pi-actuator.md @@ -35,7 +35,7 @@ Grove LED 是一個模組,內含多種顏色的 LED,讓你可以選擇喜歡 連接 LED。 -![一個 Grove LED](../../../../../translated_images/tw/grove-led.6c853be93f473cf2c439cfc74bb1064732b22251a83cedf66e62f783f9cc1a79.png) +![一個 Grove LED](../../../../../translated_images/zh-TW/grove-led.6c853be93f473cf2c439cfc74bb1064732b22251a83cedf66e62f783f9cc1a79.png) 1. 選擇你喜歡的 LED,將其引腳插入 LED 模組上的兩個孔中。 @@ -49,7 +49,7 @@ Grove LED 是一個模組,內含多種顏色的 LED,讓你可以選擇喜歡 1. 在 Raspberry Pi 關機的情況下,將 Grove 電纜的另一端連接到 Grove Base hat 上標有 **D5** 的數位插槽。這個插槽位於 GPIO 引腳旁邊的一排插槽中,從左數第二個。 -![Grove LED 連接到 D5 插槽](../../../../../translated_images/tw/pi-led.97f1d474981dc35d1c7996c7b17de355d3d0a6bc9606d79fa5f89df933415122.png) +![Grove LED 連接到 D5 插槽](../../../../../translated_images/zh-TW/pi-led.97f1d474981dc35d1c7996c7b17de355d3d0a6bc9606d79fa5f89df933415122.png) ## 編寫夜燈程式 diff --git a/translations/tw/1-getting-started/lessons/3-sensors-and-actuators/pi-sensor.md b/translations/tw/1-getting-started/lessons/3-sensors-and-actuators/pi-sensor.md index 1dedde32b..ba1a4f74b 100644 --- a/translations/tw/1-getting-started/lessons/3-sensors-and-actuators/pi-sensor.md +++ b/translations/tw/1-getting-started/lessons/3-sensors-and-actuators/pi-sensor.md @@ -25,13 +25,13 @@ CO_OP_TRANSLATOR_METADATA: 連接光線感測器 -![Grove 光線感測器](../../../../../translated_images/tw/grove-light-sensor.b8127b7c434e632d6bcdb57587a14e9ef69a268a22df95d08628f62b8fa5505c.png) +![Grove 光線感測器](../../../../../translated_images/zh-TW/grove-light-sensor.b8127b7c434e632d6bcdb57587a14e9ef69a268a22df95d08628f62b8fa5505c.png) 1. 將 Grove 線纜的一端插入光線感測器模組上的插槽。它只能以一種方向插入。 1. 在 Raspberry Pi 關機的情況下,將 Grove 線纜的另一端連接到 Grove Base hat 上標記為 **A0** 的類比插槽。這個插槽位於 GPIO 引腳旁邊的一排插槽中,從右數第二個。 -![Grove 光線感測器連接到 A0 插槽](../../../../../translated_images/tw/pi-light-sensor.66cc1e31fa48cd7d5f23400d4b2119aa41508275cb7c778053a7923b4e972d7e.png) +![Grove 光線感測器連接到 A0 插槽](../../../../../translated_images/zh-TW/pi-light-sensor.66cc1e31fa48cd7d5f23400d4b2119aa41508275cb7c778053a7923b4e972d7e.png) ## 編寫光線感測器程式 diff --git a/translations/tw/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-actuator.md b/translations/tw/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-actuator.md index 426effaaf..b5a54b0e9 100644 --- a/translations/tw/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-actuator.md +++ b/translations/tw/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-actuator.md @@ -45,11 +45,11 @@ Otherwise 1. 選擇 **Add** 按鈕,在 Pin 5 上創建 LED。 - ![LED 設定](../../../../../translated_images/tw/counterfit-create-led.ba9db1c9b8c622a635d6dfae5cdc4e70c2b250635bd4f0601c6cf0bd22b7ba46.png) + ![LED 設定](../../../../../translated_images/zh-TW/counterfit-create-led.ba9db1c9b8c622a635d6dfae5cdc4e70c2b250635bd4f0601c6cf0bd22b7ba46.png) LED 將被創建並顯示在執行器列表中。 - ![已創建的 LED](../../../../../translated_images/tw/counterfit-led.c0ab02de6d256ad84d9bad4d67a7faa709f0ea83e410cfe9b5561ef0cef30b1c.png) + ![已創建的 LED](../../../../../translated_images/zh-TW/counterfit-led.c0ab02de6d256ad84d9bad4d67a7faa709f0ea83e410cfe9b5561ef0cef30b1c.png) LED 創建後,你可以使用 *Color* 選擇器更改顏色。選擇 **Set** 按鈕以更改顏色。 diff --git a/translations/tw/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-sensor.md b/translations/tw/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-sensor.md index 754d4b1c5..aacd7f488 100644 --- a/translations/tw/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-sensor.md +++ b/translations/tw/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-sensor.md @@ -37,11 +37,11 @@ CO_OP_TRANSLATOR_METADATA: 1. 點擊 **Add** 按鈕,在 Pin 0 上創建光感測器。 - ![光感測器設置](../../../../../translated_images/tw/counterfit-create-light-sensor.9f36a5e0d4458d8d554d54b34d2c806d56093d6e49fddcda2d20f6fef7f5cce1.png) + ![光感測器設置](../../../../../translated_images/zh-TW/counterfit-create-light-sensor.9f36a5e0d4458d8d554d54b34d2c806d56093d6e49fddcda2d20f6fef7f5cce1.png) 光感測器將被創建並顯示在感測器列表中。 - ![光感測器已創建](../../../../../translated_images/tw/counterfit-light-sensor.5d0f5584df56b90f6b2561910d9cb20dfbd73eeff2177c238d38f4de54aefae1.png) + ![光感測器已創建](../../../../../translated_images/zh-TW/counterfit-light-sensor.5d0f5584df56b90f6b2561910d9cb20dfbd73eeff2177c238d38f4de54aefae1.png) ## 程式化光感測器 diff --git a/translations/tw/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-actuator.md b/translations/tw/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-actuator.md index 5c1008c71..4081f4f83 100644 --- a/translations/tw/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-actuator.md +++ b/translations/tw/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-actuator.md @@ -35,7 +35,7 @@ Grove LED 是一個模組,包含多種 LED,您可以選擇喜歡的顏色。 連接 LED。 -![Grove LED](../../../../../translated_images/tw/grove-led.6c853be93f473cf2c439cfc74bb1064732b22251a83cedf66e62f783f9cc1a79.png) +![Grove LED](../../../../../translated_images/zh-TW/grove-led.6c853be93f473cf2c439cfc74bb1064732b22251a83cedf66e62f783f9cc1a79.png) 1. 選擇您喜歡的 LED,並將其腳插入 LED 模組上的兩個孔中。 @@ -51,7 +51,7 @@ Grove LED 是一個模組,包含多種 LED,您可以選擇喜歡的顏色。 > 💁 右側的 Grove 插座可用於類比或數位感測器和執行器。左側插座僅用於 I2C 和數位感測器及執行器。 -![Grove LED 連接到右側插座](../../../../../translated_images/tw/wio-led.265a1897e72d7f21.webp) +![Grove LED 連接到右側插座](../../../../../translated_images/zh-TW/wio-led.265a1897e72d7f21.webp) ## 程式設計夜燈 diff --git a/translations/tw/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-sensor.md b/translations/tw/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-sensor.md index 8856be425..b5cd7d33d 100644 --- a/translations/tw/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-sensor.md +++ b/translations/tw/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-sensor.md @@ -17,7 +17,7 @@ CO_OP_TRANSLATOR_METADATA: 光感測器內建於 Wio Terminal 中,可以透過背面的透明塑膠窗看到。 -![Wio Terminal 背面的光感測器](../../../../../translated_images/tw/wio-light-sensor.b1f529f3c95f5165.webp) +![Wio Terminal 背面的光感測器](../../../../../translated_images/zh-TW/wio-light-sensor.b1f529f3c95f5165.webp) ## 程式設計光感測器 diff --git a/translations/tw/1-getting-started/lessons/4-connect-internet/README.md b/translations/tw/1-getting-started/lessons/4-connect-internet/README.md index 40be22387..31185d6d2 100644 --- a/translations/tw/1-getting-started/lessons/4-connect-internet/README.md +++ b/translations/tw/1-getting-started/lessons/4-connect-internet/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 將您的設備連接到互聯網 -![本課程的手繪筆記概述](../../../../../translated_images/tw/lesson-4.7344e074ea68fa545fd320b12dce36d72dd62d28c3b4596cb26cf315f434b98f.jpg) +![本課程的手繪筆記概述](../../../../../translated_images/zh-TW/lesson-4.7344e074ea68fa545fd320b12dce36d72dd62d28c3b4596cb26cf315f434b98f.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -46,7 +46,7 @@ IoT 設備可以接收來自雲端的消息。這些消息通常包含命令— IoT 設備用於與互聯網通信的流行通信協議有很多。最流行的是基於某種代理的發布/訂閱消息。IoT 設備連接到代理並發布遙測數據並訂閱命令。雲端服務也連接到代理,訂閱所有遙測消息並發布命令,無論是針對特定設備,還是針對設備組。 -![IoT 設備連接到代理並發布遙測數據並訂閱命令。雲端服務連接到代理並訂閱所有遙測數據並向特定設備發送命令。](../../../../../translated_images/tw/pub-sub.7c7ed43fe9fd15d4.webp) +![IoT 設備連接到代理並發布遙測數據並訂閱命令。雲端服務連接到代理並訂閱所有遙測數據並向特定設備發送命令。](../../../../../translated_images/zh-TW/pub-sub.7c7ed43fe9fd15d4.webp) MQTT 是 IoT 設備最流行的通信協議,本課程將涵蓋它。其他協議包括 AMQP 和 HTTP/HTTPS。 @@ -56,7 +56,7 @@ MQTT 是 IoT 設備最流行的通信協議,本課程將涵蓋它。其他協 MQTT 有一個單一的代理和多個客戶端。所有客戶端都連接到代理,代理根據需要將消息路由到相關客戶端。消息是通過命名主題進行路由,而不是直接發送到個別客戶端。客戶端可以發布到某個主題,任何訂閱該主題的客戶端都會接收到消息。 -![IoT 設備在 /telemetry 主題上發布遙測數據,雲端服務訂閱該主題](../../../../../translated_images/tw/mqtt.cbf7f21d9adc3e17548b359444cc11bb4bf2010543e32ece9a47becf54438c23.png) +![IoT 設備在 /telemetry 主題上發布遙測數據,雲端服務訂閱該主題](../../../../../translated_images/zh-TW/mqtt.cbf7f21d9adc3e17548b359444cc11bb4bf2010543e32ece9a47becf54438c23.png) ✅ 做些研究。如果您有大量 IoT 設備,如何確保您的 MQTT 代理能夠處理所有消息? @@ -78,7 +78,7 @@ MQTT 有一個單一的代理和多個客戶端。所有客戶端都連接到代 > 💁 此測試代理是公開且不安全的。任何人都可能在監聽您發布的內容,因此不應用於需要保密的數據。 -![作業的流程圖,顯示光線水平的讀取和檢查,以及 LED 的控制](../../../../../translated_images/tw/assignment-1-internet-flow.3256feab5f052fd273bf4e331157c574c2c3fa42e479836fc9c3586f41db35a5.png) +![作業的流程圖,顯示光線水平的讀取和檢查,以及 LED 的控制](../../../../../translated_images/zh-TW/assignment-1-internet-flow.3256feab5f052fd273bf4e331157c574c2c3fa42e479836fc9c3586f41db35a5.png) 按照以下相關步驟將您的設備連接到 MQTT 代理: @@ -115,7 +115,7 @@ MQTT 連接可以是公開和開放的,也可以通過用戶名和密碼或證 讓我們回顧一下課程1中的智能溫控器示例。 -![使用多個房間傳感器的互聯網連接溫控器](../../../../../translated_images/tw/telemetry.21e5d8b97649d2eb.webp) +![使用多個房間傳感器的互聯網連接溫控器](../../../../../translated_images/zh-TW/telemetry.21e5d8b97649d2eb.webp) 溫控器具有溫度傳感器以收集遙測數據。它很可能內置一個溫度傳感器,並可能通過無線協議(如 [藍牙低功耗](https://wikipedia.org/wiki/Bluetooth_Low_Energy) (BLE))連接到多個外部溫度傳感器。 @@ -267,11 +267,11 @@ Python 的一個強大功能是能夠安裝 [pip 套件](https://pypi.org)—— 1. 當 VS Code 啟動時,它將啟動 Python 虛擬環境。這會顯示在底部狀態列中: - ![VS Code 顯示選擇的虛擬環境](../../../../../translated_images/tw/vscode-virtual-env.8ba42e04c3d533cf.webp) + ![VS Code 顯示選擇的虛擬環境](../../../../../translated_images/zh-TW/vscode-virtual-env.8ba42e04c3d533cf.webp) 1. 如果 VS Code Terminal 在 VS Code 啟動時已經在運行,它將不會啟動虛擬環境。最簡單的方式是使用 **Kill the active terminal instance** 按鈕關閉終端: - ![VS Code Kill the active terminal instance 按鈕](../../../../../translated_images/tw/vscode-kill-terminal.1cc4de7c6f25ee08.webp) + ![VS Code Kill the active terminal instance 按鈕](../../../../../translated_images/zh-TW/vscode-kill-terminal.1cc4de7c6f25ee08.webp) 1. 通過選擇 *Terminal -> New Terminal* 或按下 `` CTRL+` `` 啟動新的 VS Code Terminal。新的終端將載入虛擬環境,啟動指令會顯示在終端中。虛擬環境的名稱(`.venv`)也會顯示在提示符中: @@ -359,7 +359,7 @@ Python 的一個強大功能是能夠安裝 [pip 套件](https://pypi.org)—— IoT 裝置設計者還應考慮 IoT 裝置在網路中斷或因位置導致信號丟失時是否仍能使用。一個智慧溫控器應該能在無法將 telemetry 發送到雲端的情況下做出有限的決策來控制加熱。 -[![這輛法拉利因為有人在地下室嘗試升級而變磚了,因為沒有手機信號](../../../../../translated_images/tw/bricked-car.dc38f8efadc6c59d76211f981a521efb300939283dee468f79503aae3ec67615.png)](https://twitter.com/internetofshit/status/1315736960082808832) +[![這輛法拉利因為有人在地下室嘗試升級而變磚了,因為沒有手機信號](../../../../../translated_images/zh-TW/bricked-car.dc38f8efadc6c59d76211f981a521efb300939283dee468f79503aae3ec67615.png)](https://twitter.com/internetofshit/status/1315736960082808832) 為了讓 MQTT 處理連線中斷,裝置和伺服器程式碼需要負責確保訊息的傳遞,例如要求所有發送的訊息都需要在回覆主題上收到回覆訊息,如果沒有收到回覆,則手動排隊以便稍後重播。 @@ -367,7 +367,7 @@ IoT 裝置設計者還應考慮 IoT 裝置在網路中斷或因位置導致信 指令是由雲端發送到裝置的訊息,指示它執行某些操作。大多數情況下,這涉及通過致動器提供某種輸出,但也可以是對裝置本身的指令,例如重新啟動或收集額外的 telemetry 並將其作為指令的回應返回。 -![一個連接到網路的溫控器接收到開啟加熱的指令](../../../../../translated_images/tw/commands.d6c06bbbb3a02cce95f2831a1c331daf6dedd4e470c4aa2b0ae54f332016e504.png) +![一個連接到網路的溫控器接收到開啟加熱的指令](../../../../../translated_images/zh-TW/commands.d6c06bbbb3a02cce95f2831a1c331daf6dedd4e470c4aa2b0ae54f332016e504.png) 溫控器可以接收到來自雲端的指令以開啟加熱。根據所有感測器的 telemetry 數據,如果雲端服務決定加熱應該開啟,它就會發送相關指令。 diff --git a/translations/tw/1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md b/translations/tw/1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md index 9cd435480..bffd35f6d 100644 --- a/translations/tw/1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md +++ b/translations/tw/1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md @@ -64,7 +64,7 @@ CO_OP_TRANSLATOR_METADATA: 1. 在 `src` 資料夾中建立一個名為 `config.h` 的新文件。您可以通過選擇 `src` 資料夾或其中的 `main.cpp` 文件,然後在檔案瀏覽器中選擇 **新文件** 按鈕來完成。當您的游標位於檔案瀏覽器上時,該按鈕才會出現。 - ![新文件按鈕](../../../../../translated_images/tw/vscode-new-file-button.182702340fe6723c.webp) + ![新文件按鈕](../../../../../translated_images/zh-TW/vscode-new-file-button.182702340fe6723c.webp) 1. 在此文件中添加以下代碼以定義 WiFi 憑證的常數: diff --git a/translations/tw/2-farm/lessons/1-predict-plant-growth/README.md b/translations/tw/2-farm/lessons/1-predict-plant-growth/README.md index f73dbd0f7..d8e3a6706 100644 --- a/translations/tw/2-farm/lessons/1-predict-plant-growth/README.md +++ b/translations/tw/2-farm/lessons/1-predict-plant-growth/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 使用物聯網預測植物生長 -![本課程的手繪筆記概覽](../../../../../translated_images/tw/lesson-5.42b234299279d263143148b88ab4583861a32ddb03110c6c1120e41bb88b2592.jpg) +![本課程的手繪筆記概覽](../../../../../translated_images/zh-TW/lesson-5.42b234299279d263143148b88ab4583861a32ddb03110c6c1120e41bb88b2592.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -65,7 +65,7 @@ CO_OP_TRANSLATOR_METADATA: ✅ 做一些研究。對於您花園、學校或當地公園中的植物,看看是否能找到它們的基礎溫度。 -![一個顯示隨著溫度升高生長速率增加,然後在溫度過高時下降的圖表](../../../../../translated_images/tw/plant-growth-temp-graph.c6d69c9478e6ca83.webp) +![一個顯示隨著溫度升高生長速率增加,然後在溫度過高時下降的圖表](../../../../../translated_images/zh-TW/plant-growth-temp-graph.c6d69c9478e6ca83.webp) 上圖顯示了一個生長速率與溫度的關係圖。在基礎溫度以下,植物不會生長。生長速率隨著溫度升高而增加,直到達到最佳溫度,然後在達到峰值後下降。在最高溫度時,生長停止。 @@ -99,7 +99,7 @@ CO_OP_TRANSLATOR_METADATA: 完整的 GDD 計算公式有點複雜,但有一個簡化的公式通常可以作為良好的近似值: -![GDD = T max + T min 除以 2,然後減去 T base](../../../../../translated_images/tw/gdd-calculation.79b3660f9c5757aa92dc2dd2cdde75344e2d2c1565c4b3151640f7887edc0275.png) +![GDD = T max + T min 除以 2,然後減去 T base](../../../../../translated_images/zh-TW/gdd-calculation.79b3660f9c5757aa92dc2dd2cdde75344e2d2c1565c4b3151640f7887edc0275.png) * **GDD** - 這是生長度日的數值 * **T max** - 這是每日的最高溫度(攝氏) @@ -127,7 +127,7 @@ CO_OP_TRANSLATOR_METADATA: 計算結果為: -![GDD = 16 + 12 除以 2,然後減去 10,結果為 4](../../../../../translated_images/tw/gdd-calculation-corn.64a58b7a7afcd0dfd46ff733996d939f17f4f3feac9f0d1c632be3523e51ebd9.png) +![GDD = 16 + 12 除以 2,然後減去 10,結果為 4](../../../../../translated_images/zh-TW/gdd-calculation-corn.64a58b7a7afcd0dfd46ff733996d939f17f4f3feac9f0d1c632be3523e51ebd9.png) 玉米在這一天獲得了 4 GDD。假設一種需要 800 GDD 才能成熟的玉米品種,還需要 796 GDD 才能達到成熟。 @@ -141,7 +141,7 @@ CO_OP_TRANSLATOR_METADATA: 通過使用物聯網設備收集溫度數據,農民可以在植物接近成熟時自動收到通知。一個典型的架構是讓物聯網設備測量溫度,然後使用類似 MQTT 的技術通過互聯網發佈這些遙測數據。伺服器代碼會監聽這些數據並將其保存到某個地方,例如數據庫。這樣,數據可以稍後進行分析,例如每晚計算當天的 GDD,累計每種作物的 GDD,並在植物接近成熟時發出警報。 -![遙測數據被發送到伺服器,然後保存到數據庫](../../../../../translated_images/tw/save-telemetry-database.ddc9c6bea0c5ba39.webp) +![遙測數據被發送到伺服器,然後保存到數據庫](../../../../../translated_images/zh-TW/save-telemetry-database.ddc9c6bea0c5ba39.webp) 伺服器代碼還可以補充數據,添加額外的信息。例如,物聯網設備可以發佈一個標識符來指示是哪個設備,伺服器代碼可以使用這個標識符查找設備的位置以及它正在監測的作物。它還可以添加基本數據,例如當前時間,因為某些物聯網設備沒有必要的硬體來準確跟蹤時間,或者需要額外的代碼通過互聯網讀取當前時間。 @@ -228,7 +228,7 @@ CSV 文件將有兩列——*日期* 和 *溫度*。*日期* 列設置為伺服 > 💁 如果您使用的是虛擬 IoT 裝置,請勾選隨機選項並設定一個範圍,以避免每次返回的溫度值都相同。 - ![勾選隨機選項並設定範圍](../../../../../translated_images/tw/select-the-random-checkbox-and-set-a-range.32cf4bc7c12e797f.webp) + ![勾選隨機選項並設定範圍](../../../../../translated_images/zh-TW/select-the-random-checkbox-and-set-a-range.32cf4bc7c12e797f.webp) > 💁 如果您想執行一整天,請確保執行伺服器程式的電腦不會進入睡眠模式,可以透過更改電源設定,或執行類似 [這個保持系統活躍的 Python 腳本](https://github.com/jaqsparow/keep-system-active) 來實現。 @@ -248,7 +248,7 @@ CSV 文件將有兩列——*日期* 和 *溫度*。*日期* 列設置為伺服 例如,如果當天的最高溫度是 25°C,最低溫度是 12°C: -![GDD = 25 + 12 除以 2,然後從結果中減去 10,得到 8.5](../../../../../translated_images/tw/gdd-calculation-strawberries.59f57db94b22adb8ff6efb951ace33af104a1c6ccca3ffb0f8169c14cb160c90.png) +![GDD = 25 + 12 除以 2,然後從結果中減去 10,得到 8.5](../../../../../translated_images/zh-TW/gdd-calculation-strawberries.59f57db94b22adb8ff6efb951ace33af104a1c6ccca3ffb0f8169c14cb160c90.png) * 25 + 12 = 37 * 37 / 2 = 18.5 diff --git a/translations/tw/2-farm/lessons/1-predict-plant-growth/assignment.md b/translations/tw/2-farm/lessons/1-predict-plant-growth/assignment.md index 4c08c841f..11b69c012 100644 --- a/translations/tw/2-farm/lessons/1-predict-plant-growth/assignment.md +++ b/translations/tw/2-farm/lessons/1-predict-plant-growth/assignment.md @@ -42,7 +42,7 @@ CO_OP_TRANSLATOR_METADATA: Jupyter 將啟動並在您的瀏覽器中打開 Notebook。按照 Notebook 中的說明操作,視覺化測量的溫度並計算生長度日。 - ![Jupyter Notebook](../../../../../translated_images/tw/gdd-jupyter-notebook.c5b52cf21094f158a61f47f455490fd95f1729777ff90861a4521820bf354cdc.png) + ![Jupyter Notebook](../../../../../translated_images/zh-TW/gdd-jupyter-notebook.c5b52cf21094f158a61f47f455490fd95f1729777ff90861a4521820bf354cdc.png) ## 評分標準 diff --git a/translations/tw/2-farm/lessons/1-predict-plant-growth/pi-temp.md b/translations/tw/2-farm/lessons/1-predict-plant-growth/pi-temp.md index 50af96b77..980872c3d 100644 --- a/translations/tw/2-farm/lessons/1-predict-plant-growth/pi-temp.md +++ b/translations/tw/2-farm/lessons/1-predict-plant-growth/pi-temp.md @@ -25,13 +25,13 @@ Grove 溫度感測器可以連接到 Raspberry Pi。 連接溫度感測器 -![一個 Grove 溫度感測器](../../../../../translated_images/tw/grove-dht11.07f8eafceee170043efbb53e1d15722bd4e00fbaa9ff74290b57e9f66eb82c17.png) +![一個 Grove 溫度感測器](../../../../../translated_images/zh-TW/grove-dht11.07f8eafceee170043efbb53e1d15722bd4e00fbaa9ff74290b57e9f66eb82c17.png) 1. 將 Grove 電纜的一端插入濕度與溫度感測器上的插槽。它只能以一種方式插入。 1. 在 Raspberry Pi 關機的情況下,將 Grove 電纜的另一端連接到安裝在 Pi 上的 Grove Base Hat 上標記為 **D5** 的數位插槽。此插槽位於 GPIO 引腳旁邊的一排插槽中,從左數第二個。 -![Grove 溫度感測器連接到 A0 插槽](../../../../../translated_images/tw/pi-temperature-sensor.3ff82fff672c8e56.webp) +![Grove 溫度感測器連接到 A0 插槽](../../../../../translated_images/zh-TW/pi-temperature-sensor.3ff82fff672c8e56.webp) ## 編寫溫度感測器程式 diff --git a/translations/tw/2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md b/translations/tw/2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md index 690d56edf..761839c8a 100644 --- a/translations/tw/2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md +++ b/translations/tw/2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md @@ -47,11 +47,11 @@ CO_OP_TRANSLATOR_METADATA: 1. 選擇 **Add** 按鈕以在 Pin 5 上建立濕度感測器。 - ![濕度感測器設置](../../../../../translated_images/tw/counterfit-create-humidity-sensor.2750e27b6f30e09cf4e22101defd5252710717620816ab41ba688f91f757c49a.png) + ![濕度感測器設置](../../../../../translated_images/zh-TW/counterfit-create-humidity-sensor.2750e27b6f30e09cf4e22101defd5252710717620816ab41ba688f91f757c49a.png) 濕度感測器將被建立並顯示在感測器列表中。 - ![濕度感測器已建立](../../../../../translated_images/tw/counterfit-humidity-sensor.7b12f7f339e430cb26c8211d2dba4ef75261b353a01da0932698b5bebd693f27.png) + ![濕度感測器已建立](../../../../../translated_images/zh-TW/counterfit-humidity-sensor.7b12f7f339e430cb26c8211d2dba4ef75261b353a01da0932698b5bebd693f27.png) 1. 建立溫度感測器: @@ -63,11 +63,11 @@ CO_OP_TRANSLATOR_METADATA: 1. 選擇 **Add** 按鈕以在 Pin 6 上建立溫度感測器。 - ![溫度感測器設置](../../../../../translated_images/tw/counterfit-create-temperature-sensor.199350ed34f7343d79dccbe95eaf6c11d2121f03d1c35ab9613b330c23f39b29.png) + ![溫度感測器設置](../../../../../translated_images/zh-TW/counterfit-create-temperature-sensor.199350ed34f7343d79dccbe95eaf6c11d2121f03d1c35ab9613b330c23f39b29.png) 溫度感測器將被建立並顯示在感測器列表中。 - ![溫度感測器已建立](../../../../../translated_images/tw/counterfit-temperature-sensor.f0560236c96a9016bafce7f6f792476fe3367bc6941a1f7d5811d144d4bcbfff.png) + ![溫度感測器已建立](../../../../../translated_images/zh-TW/counterfit-temperature-sensor.f0560236c96a9016bafce7f6f792476fe3367bc6941a1f7d5811d144d4bcbfff.png) ## 編寫溫度感測器應用程式 diff --git a/translations/tw/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md b/translations/tw/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md index a0f6a0945..3ffaadcee 100644 --- a/translations/tw/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md +++ b/translations/tw/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md @@ -27,13 +27,13 @@ Grove 溫度感測器可以連接到 Wio Terminal 的數位埠。 連接溫度感測器。 -![一個 Grove 溫度感測器](../../../../../translated_images/tw/grove-dht11.07f8eafceee170043efbb53e1d15722bd4e00fbaa9ff74290b57e9f66eb82c17.png) +![一個 Grove 溫度感測器](../../../../../translated_images/zh-TW/grove-dht11.07f8eafceee170043efbb53e1d15722bd4e00fbaa9ff74290b57e9f66eb82c17.png) 1. 將 Grove 線纜的一端插入濕度與溫度感測器的插槽中。它只能以一種方式插入。 1. 在 Wio Terminal 未連接到電腦或其他電源的情況下,將 Grove 線纜的另一端連接到 Wio Terminal 螢幕右側的 Grove 插槽。這是距離電源按鈕最遠的插槽。 -![Grove 溫度感測器連接到右側插槽](../../../../../translated_images/tw/wio-temperature-sensor.2934928f38c7f79a.webp) +![Grove 溫度感測器連接到右側插槽](../../../../../translated_images/zh-TW/wio-temperature-sensor.2934928f38c7f79a.webp) ## 編寫溫度感測器程式 diff --git a/translations/tw/2-farm/lessons/2-detect-soil-moisture/README.md b/translations/tw/2-farm/lessons/2-detect-soil-moisture/README.md index c6f669700..ada8582e9 100644 --- a/translations/tw/2-farm/lessons/2-detect-soil-moisture/README.md +++ b/translations/tw/2-farm/lessons/2-detect-soil-moisture/README.md @@ -22,7 +22,7 @@ I²C 線路由兩條主要的信號線以及兩條電源線組成: | VCC | 電壓公共集電極 | 為設備提供電源。這條線連接到 SDA 和 SCL 線,通過上拉電阻提供電源,當沒有設備作為控制器時,信號會被關閉。 | | GND | 地線 | 為電路提供公共地線。 | -![I2C 線路,3 個設備連接到 SDA 和 SCL 線,共享一條公共地線](../../../../../translated_images/tw/i2c.83da845dde02256bdd462dbe0d5145461416b74930571b89d1ae142841eeb584.png) +![I2C 線路,3 個設備連接到 SDA 和 SCL 線,共享一條公共地線](../../../../../translated_images/zh-TW/i2c.83da845dde02256bdd462dbe0d5145461416b74930571b89d1ae142841eeb584.png) 要傳輸數據,一個設備會發出啟動條件,表明它準備好傳輸數據。它隨後成為控制器。控制器接著發送它想要通信的設備地址,以及它是要讀取還是寫入數據。在數據傳輸完成後,控制器會發送停止條件,表明它已完成。之後,另一個設備可以成為控制器並發送或接收數據。 @@ -37,7 +37,7 @@ UART 涉及允許兩個設備通信的物理電路。每個設備都有兩個通 * 設備 1 從其 Tx 引腳傳送數據,設備 2 在其 Rx 引腳接收數據 * 設備 1 在其 Rx 引腳接收由設備 2 從其 Tx 引腳傳送的數據 -![UART 的 Tx 引腳連接到另一個芯片的 Rx 引腳,反之亦然](../../../../../translated_images/tw/uart.d0dbd3fb9e3728c6.webp) +![UART 的 Tx 引腳連接到另一個芯片的 Rx 引腳,反之亦然](../../../../../translated_images/zh-TW/uart.d0dbd3fb9e3728c6.webp) > 🎓 數據是一次傳送一位,這被稱為 *串行* 通信。大多數操作系統和微控制器都有 *串行端口*,即可以向您的代碼提供串行數據傳送和接收的連接。 @@ -66,7 +66,7 @@ SPI 控制器使用 3 條線,外加每個外設一條額外的線。外設使 | SCLK | 串行時鐘 | 這條線以控制器設置的速率傳送時鐘信號。 | | CS | 芯片選擇 | 控制器有多條線,每個外設一條,每條線連接到相應外設的 CS 線。 | -![SPI 控制器和兩個外設](../../../../../translated_images/tw/spi.297431d6f98b386b.webp) +![SPI 控制器和兩個外設](../../../../../translated_images/zh-TW/spi.297431d6f98b386b.webp) CS 線用於一次激活一個外設,通過 COPI 和 CIPO 線進行通信。當控制器需要更換外設時,它會停用連接到當前激活外設的 CS 線,然後激活連接到下一個外設的線。 @@ -127,13 +127,13 @@ BLE 在高級感測器中很受歡迎,例如用於手腕上的健身追蹤器 土壤濕度感測器測量電阻或電容——這不僅因土壤濕度而異,還因土壤類型而異,因為土壤中的成分會改變其電氣特性。理想情況下,感測器應進行校準——即從感測器獲取讀數並與使用更科學方法獲得的測量值進行比較。例如,實驗室可以使用特定田地的樣本幾次測量重力土壤濕度,並使用這些數據校準感測器,將感測器讀數與重力土壤濕度匹配。 -![電壓與土壤濕度含量的圖表](../../../../../translated_images/tw/soil-moisture-to-voltage.df86d80cda158700.webp) +![電壓與土壤濕度含量的圖表](../../../../../translated_images/zh-TW/soil-moisture-to-voltage.df86d80cda158700.webp) 上圖顯示了如何校準感測器。對土壤樣本捕獲電壓,然後通過比較濕重與乾重(測量濕重,然後在烤箱中烘乾並測量乾重)在實驗室中測量。獲取幾個讀數後,可以將其繪製在圖表上並擬合一條線。這條線可以用於將 IoT 設備的土壤濕度感測器讀數轉換為實際土壤濕度測量值。 💁 對於電阻式土壤濕度感測器,隨著土壤濕度增加,電壓增加。對於電容式土壤濕度感測器,隨著土壤濕度增加,電壓減少,因此這些圖表的斜率會向下,而不是向上。 -![從圖表中插值的土壤濕度值](../../../../../translated_images/tw/soil-moisture-to-voltage-with-reading.681cb3e1f8b68caf.webp) +![從圖表中插值的土壤濕度值](../../../../../translated_images/zh-TW/soil-moisture-to-voltage-with-reading.681cb3e1f8b68caf.webp) 上圖顯示了土壤濕度感測器的電壓讀數,通過跟隨該讀數到圖表上的線,可以計算出實際土壤濕度。 diff --git a/translations/tw/2-farm/lessons/2-detect-soil-moisture/assignment.md b/translations/tw/2-farm/lessons/2-detect-soil-moisture/assignment.md index 3deaf8b8c..d48382870 100644 --- a/translations/tw/2-farm/lessons/2-detect-soil-moisture/assignment.md +++ b/translations/tw/2-farm/lessons/2-detect-soil-moisture/assignment.md @@ -29,14 +29,14 @@ CO_OP_TRANSLATOR_METADATA: 重力土壤濕度的計算公式為: -![土壤濕度百分比等於濕土重量減去乾土重量,除以乾土重量,再乘以100](../../../../../translated_images/tw/gsm-calculation.6da38c6201eec14e7573bb2647aa18892883193553d23c9d77e5dc681522dfb2.png) +![土壤濕度百分比等於濕土重量減去乾土重量,除以乾土重量,再乘以100](../../../../../translated_images/zh-TW/gsm-calculation.6da38c6201eec14e7573bb2647aa18892883193553d23c9d77e5dc681522dfb2.png) * W - 濕土的重量 * W - 乾土的重量 例如,假設您有一份土壤樣本,濕重為212克,乾重為197克。 -![填入計算公式的範例](../../../../../translated_images/tw/gsm-calculation-example.99f9803b4f29e97668e7c15412136c0c399ab12dbba0b89596fdae9d8aedb6fb.png) +![填入計算公式的範例](../../../../../translated_images/zh-TW/gsm-calculation-example.99f9803b4f29e97668e7c15412136c0c399ab12dbba0b89596fdae9d8aedb6fb.png) * W = 212克 * W = 197克 diff --git a/translations/tw/2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md b/translations/tw/2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md index 6a65daa20..ba56042e7 100644 --- a/translations/tw/2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md +++ b/translations/tw/2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md @@ -27,17 +27,17 @@ Grove 土壤濕度傳感器可以連接到 Raspberry Pi。 連接土壤濕度傳感器。 -![Grove 土壤濕度傳感器](../../../../../translated_images/tw/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.png) +![Grove 土壤濕度傳感器](../../../../../translated_images/zh-TW/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.png) 1. 將 Grove 電纜的一端插入土壤濕度傳感器上的插座。它只能以一種方式插入。 1. 在 Raspberry Pi 關機的情況下,將 Grove 電纜的另一端連接到 Pi 上 Grove Base Hat 的模擬插座 **A0**。這個插座位於 GPIO 引腳旁邊的一排插座中,從右數第二個。 -![Grove 土壤濕度傳感器連接到 A0 插座](../../../../../translated_images/tw/pi-soil-moisture-sensor.fdd7eb2393792cf6739cacf1985d9f55beda16d372f30d0b5a51d586f978a870.png) +![Grove 土壤濕度傳感器連接到 A0 插座](../../../../../translated_images/zh-TW/pi-soil-moisture-sensor.fdd7eb2393792cf6739cacf1985d9f55beda16d372f30d0b5a51d586f978a870.png) 1. 將土壤濕度傳感器插入土壤中。傳感器上有一條“最高位置線”——一條白線。將傳感器插入到該線以下但不要超過該線。 -![Grove 土壤濕度傳感器插入土壤中](../../../../../translated_images/tw/soil-moisture-sensor-in-soil.bfad91002bda5e96.webp) +![Grove 土壤濕度傳感器插入土壤中](../../../../../translated_images/zh-TW/soil-moisture-sensor-in-soil.bfad91002bda5e96.webp) ## 編程土壤濕度傳感器 diff --git a/translations/tw/2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md b/translations/tw/2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md index 8b2a220b3..1f90ea572 100644 --- a/translations/tw/2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md +++ b/translations/tw/2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md @@ -43,11 +43,11 @@ CO_OP_TRANSLATOR_METADATA: 1. 點擊 **Add** 按鈕,在 Pin 0 上創建 *Soil Moisture* 傳感器。 - ![土壤濕度傳感器設置](../../../../../translated_images/tw/counterfit-create-soil-moisture-sensor.35266135a5e0ae68b29a684d7db0d2933a8098b2307d197f7c71577b724603aa.png) + ![土壤濕度傳感器設置](../../../../../translated_images/zh-TW/counterfit-create-soil-moisture-sensor.35266135a5e0ae68b29a684d7db0d2933a8098b2307d197f7c71577b724603aa.png) 土壤濕度傳感器將被創建並顯示在傳感器列表中。 - ![已創建的土壤濕度傳感器](../../../../../translated_images/tw/counterfit-soil-moisture-sensor.81742b2de0e9de60a3b3b9a2ff8ecc686d428eb6d71820f27a693be26e5aceee.png) + ![已創建的土壤濕度傳感器](../../../../../translated_images/zh-TW/counterfit-soil-moisture-sensor.81742b2de0e9de60a3b3b9a2ff8ecc686d428eb6d71820f27a693be26e5aceee.png) ## 編寫土壤濕度傳感器應用 diff --git a/translations/tw/2-farm/lessons/2-detect-soil-moisture/wio-terminal-soil-moisture.md b/translations/tw/2-farm/lessons/2-detect-soil-moisture/wio-terminal-soil-moisture.md index 8ca73cf94..6d36f8bc1 100644 --- a/translations/tw/2-farm/lessons/2-detect-soil-moisture/wio-terminal-soil-moisture.md +++ b/translations/tw/2-farm/lessons/2-detect-soil-moisture/wio-terminal-soil-moisture.md @@ -27,17 +27,17 @@ Grove 土壤濕度傳感器可以連接到 Wio Terminal 的可配置類比/數 連接土壤濕度傳感器。 -![Grove 土壤濕度傳感器](../../../../../translated_images/tw/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.png) +![Grove 土壤濕度傳感器](../../../../../translated_images/zh-TW/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.png) 1. 將 Grove 電纜的一端插入土壤濕度傳感器的插座中。它只能以一種方式插入。 1. 在 Wio Terminal 未連接到電腦或其他電源的情況下,將 Grove 電纜的另一端連接到 Wio Terminal 螢幕右側的 Grove 插座。這是距離電源按鈕最遠的插座。 -![Grove 土壤濕度傳感器連接到右側插座](../../../../../translated_images/tw/wio-soil-moisture-sensor.46919b61c3f6cb74.webp) +![Grove 土壤濕度傳感器連接到右側插座](../../../../../translated_images/zh-TW/wio-soil-moisture-sensor.46919b61c3f6cb74.webp) 1. 將土壤濕度傳感器插入土壤中。傳感器上有一條“最高位置線”——一條白線。將傳感器插入到該線以下但不要超過該線。 -![土壤中的 Grove 土壤濕度傳感器](../../../../../translated_images/tw/soil-moisture-sensor-in-soil.bfad91002bda5e96.webp) +![土壤中的 Grove 土壤濕度傳感器](../../../../../translated_images/zh-TW/soil-moisture-sensor-in-soil.bfad91002bda5e96.webp) 1. 現在可以將 Wio Terminal 連接到您的電腦。 diff --git a/translations/tw/2-farm/lessons/3-automated-plant-watering/README.md b/translations/tw/2-farm/lessons/3-automated-plant-watering/README.md index 6690002e9..2e7f6dac0 100644 --- a/translations/tw/2-farm/lessons/3-automated-plant-watering/README.md +++ b/translations/tw/2-farm/lessons/3-automated-plant-watering/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 自動植物澆水 -![本課程的手繪筆記概述](../../../../../translated_images/tw/lesson-7.30b5f577d3cb8e031238751475cb519c7d6dbaea261b5df4643d086ffb2a03bb.jpg) +![本課程的手繪筆記概述](../../../../../translated_images/zh-TW/lesson-7.30b5f577d3cb8e031238751475cb519c7d6dbaea261b5df4643d086ffb2a03bb.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -41,7 +41,7 @@ IoT 設備使用低電壓。雖然這足以驅動傳感器和像 LED 這樣的 解決方案是將水泵連接到外部電源,並使用執行器來開啟水泵,就像你用手指打開燈的開關一樣。手指翻動開關所需的能量非常小,這樣就能將燈連接到 110v/240v 的市電。 -![燈開關打開燈的電源](../../../../../translated_images/tw/light-switch.760317ad6ab8bd6d611da5352dfe9c73a94a0822ccec7df3c8bae35da18e1658.png) +![燈開關打開燈的電源](../../../../../translated_images/zh-TW/light-switch.760317ad6ab8bd6d611da5352dfe9c73a94a0822ccec7df3c8bae35da18e1658.png) > 🎓 [市電](https://wikipedia.org/wiki/Mains_electricity) 是指通過國家基礎設施向家庭和企業提供的電力。 @@ -55,11 +55,11 @@ IoT 設備使用低電壓。雖然這足以驅動傳感器和像 LED 這樣的 > 🎓 [電磁鐵](https://wikipedia.org/wiki/Electromagnet) 是通過電流流過線圈而產生的磁鐵。當電流通過時,線圈被磁化;當電流停止時,線圈失去磁性。 -![當電磁鐵通電時,產生磁場,打開輸出電路的開關](../../../../../translated_images/tw/relay-on.4db16a0fd6b66926.webp) +![當電磁鐵通電時,產生磁場,打開輸出電路的開關](../../../../../translated_images/zh-TW/relay-on.4db16a0fd6b66926.webp) 在繼電器中,控制電路為電磁鐵供電。當電磁鐵通電時,它拉動一個杠杆,移動開關,閉合一對觸點,完成輸出電路。 -![當電磁鐵斷電時,磁場消失,關閉輸出電路的開關](../../../../../translated_images/tw/relay-off.c34a178a2960fecd.webp) +![當電磁鐵斷電時,磁場消失,關閉輸出電路的開關](../../../../../translated_images/zh-TW/relay-off.c34a178a2960fecd.webp) 當控制電路斷電時,電磁鐵停止工作,釋放杠杆並打開觸點,關閉輸出電路。繼電器是一種數字執行器——高信號打開繼電器,低信號關閉繼電器。 @@ -81,11 +81,11 @@ IoT 設備使用低電壓。雖然這足以驅動傳感器和像 LED 這樣的 電磁鐵啟動並拉動杠杆所需的功率不大,可以使用 IoT 開發板的 3.3V 或 5V 輸出進行控制。輸出電路可以承載更多功率,取決於繼電器的規格,包括市電電壓甚至更高的工業用電功率。這樣 IoT 開發板就可以控制灌溉系統,從單個植物的小型水泵到整個商業農場的大型工業系統。 -![一個 Grove 繼電器,標註了控制電路、輸出電路和繼電器](../../../../../translated_images/tw/grove-relay-labelled.293e068f5c3c2a199bd7892f2661fdc9e10c920b535cfed317fbd6d1d4ae1168.png) +![一個 Grove 繼電器,標註了控制電路、輸出電路和繼電器](../../../../../translated_images/zh-TW/grove-relay-labelled.293e068f5c3c2a199bd7892f2661fdc9e10c920b535cfed317fbd6d1d4ae1168.png) 上圖顯示了一個 Grove 繼電器。控制電路連接到 IoT 設備,使用 3.3V 或 5V 打開或關閉繼電器。輸出電路有兩個端子,任一端都可以是電源或接地。輸出電路可以處理高達 250V、10A 的電力,足以驅動一系列市電設備。你還可以找到能處理更高功率的繼電器。 -![通過繼電器連接的水泵](../../../../../translated_images/tw/pump-wired-to-relay.66c5cfc0d8918990.webp) +![通過繼電器連接的水泵](../../../../../translated_images/zh-TW/pump-wired-to-relay.66c5cfc0d8918990.webp) 在上圖中,通過繼電器向水泵供電。一根紅線將 USB 電源的 +5V 端子連接到繼電器的輸出電路的一個端子,另一根紅線將輸出電路的另一端子連接到水泵。一根黑線將水泵連接到 USB 電源的接地端子。當繼電器打開時,它完成電路,向水泵提供 5V 電壓,啟動水泵。 @@ -135,7 +135,7 @@ IoT 設備使用低電壓。雖然這足以驅動傳感器和像 LED 這樣的 如果你在上一課中使用了物理傳感器測量土壤濕度,你可能會注意到在澆水後,土壤濕度讀數需要幾秒鐘才會下降。這並不是因為傳感器速度慢,而是因為水需要時間滲透到土壤中。 💁 如果你在感測器附近澆水,可能會看到讀數迅速下降,然後又回升——這是因為感測器附近的水分擴散到土壤其他部分,導致感測器周圍的土壤濕度降低。 -![土壤濕度測量值為 658,在澆水過程中沒有變化,只有當水滲透到土壤後才會降至 320](../../../../../translated_images/tw/soil-moisture-travel.a0e31af222cf1438.webp) +![土壤濕度測量值為 658,在澆水過程中沒有變化,只有當水滲透到土壤後才會降至 320](../../../../../translated_images/zh-TW/soil-moisture-travel.a0e31af222cf1438.webp) 在上圖中,土壤濕度讀數顯示為 658。植物被澆水,但這個讀數不會立即改變,因為水尚未到達感測器。甚至在水到達感測器之前,澆水可能就已經結束,而讀數會在水滲透到土壤後下降,反映新的濕度水平。 @@ -157,11 +157,11 @@ IoT 設備使用低電壓。雖然這足以驅動傳感器和像 LED 這樣的 > 💁 這種時間控制非常依賴於你正在建造的 IoT 裝置、測量的屬性以及使用的感測器和執行器。 -![一株草莓植物通過水泵連接到水源,水泵通過繼電器控制。繼電器和植物中的土壤濕度感測器都連接到 Raspberry Pi](../../../../../translated_images/tw/strawberry-with-pump.b410fc72ac6aabad.webp) +![一株草莓植物通過水泵連接到水源,水泵通過繼電器控制。繼電器和植物中的土壤濕度感測器都連接到 Raspberry Pi](../../../../../translated_images/zh-TW/strawberry-with-pump.b410fc72ac6aabad.webp) 例如,我有一株草莓植物,配備了一個土壤濕度感測器和一個由繼電器控制的水泵。我觀察到當我加水時,土壤濕度讀數需要大約 20 秒才能穩定下來。這意味著我需要關閉繼電器並等待 20 秒再檢查濕度水平。我寧願水少一點也不願多——我可以隨時再次啟動水泵,但無法從植物中移除多餘的水。 -![步驟 1,測量濕度。步驟 2,加水。步驟 3,等待水滲透到土壤中。步驟 4,重新測量濕度](../../../../../translated_images/tw/soil-moisture-delay.865f3fae206db01d.webp) +![步驟 1,測量濕度。步驟 2,加水。步驟 3,等待水滲透到土壤中。步驟 4,重新測量濕度](../../../../../translated_images/zh-TW/soil-moisture-delay.865f3fae206db01d.webp) 這意味著最佳的澆水流程應該是: diff --git a/translations/tw/2-farm/lessons/3-automated-plant-watering/pi-relay.md b/translations/tw/2-farm/lessons/3-automated-plant-watering/pi-relay.md index 6b35b808b..4f6f98a97 100644 --- a/translations/tw/2-farm/lessons/3-automated-plant-watering/pi-relay.md +++ b/translations/tw/2-farm/lessons/3-automated-plant-watering/pi-relay.md @@ -27,13 +27,13 @@ Grove 繼電器可以連接到 Raspberry Pi。 連接繼電器。 -![一個 Grove 繼電器](../../../../../translated_images/tw/grove-relay.d426958ca210fbd0fb7983d7edc069d46c73a8b0a099d94797bd756f7b6bb6be.png) +![一個 Grove 繼電器](../../../../../translated_images/zh-TW/grove-relay.d426958ca210fbd0fb7983d7edc069d46c73a8b0a099d94797bd756f7b6bb6be.png) 1. 將 Grove 電纜的一端插入繼電器上的插座。它只能以一種方式插入。 1. 在 Raspberry Pi 關機的情況下,將 Grove 電纜的另一端連接到 Pi 上 Grove Base Hat 上標記為 **D5** 的數位插座。這個插座位於 GPIO 引腳旁邊那排插座的第二個位置。保持土壤濕度傳感器連接到 **A0** 插座。 -![Grove 繼電器連接到 D5 插座,土壤濕度傳感器連接到 A0 插座](../../../../../translated_images/tw/pi-relay-and-soil-moisture-sensor.02f3198975b8c53e69ec716cd2719ce117700bd1fc933eaf93476c103c57939b.png) +![Grove 繼電器連接到 D5 插座,土壤濕度傳感器連接到 A0 插座](../../../../../translated_images/zh-TW/pi-relay-and-soil-moisture-sensor.02f3198975b8c53e69ec716cd2719ce117700bd1fc933eaf93476c103c57939b.png) 1. 如果土壤濕度傳感器還沒有插入土壤,請將其插入土壤中(如果您在上一課中已經插入,則無需重複操作)。 diff --git a/translations/tw/2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md b/translations/tw/2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md index 14605b2a2..2a7e2482f 100644 --- a/translations/tw/2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md +++ b/translations/tw/2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md @@ -37,11 +37,11 @@ CO_OP_TRANSLATOR_METADATA: 1. 選擇 **Add** 按鈕,在 Pin 5 上創建繼電器。 - ![繼電器設置](../../../../../translated_images/tw/counterfit-create-relay.fa7c40fd0f2f6afc33b35ea94fcb235085be4861e14e3fe6b9b7bcfc82d1c888.png) + ![繼電器設置](../../../../../translated_images/zh-TW/counterfit-create-relay.fa7c40fd0f2f6afc33b35ea94fcb235085be4861e14e3fe6b9b7bcfc82d1c888.png) 繼電器將被創建並顯示在 Actuators 列表中。 - ![已創建的繼電器](../../../../../translated_images/tw/counterfit-relay.bbf74c1dbdc8b9acd983367fcbd06703a402aefef6af54ddb28e11307ba8a12c.png) + ![已創建的繼電器](../../../../../translated_images/zh-TW/counterfit-relay.bbf74c1dbdc8b9acd983367fcbd06703a402aefef6af54ddb28e11307ba8a12c.png) ## 編程繼電器 diff --git a/translations/tw/2-farm/lessons/3-automated-plant-watering/wio-terminal-relay.md b/translations/tw/2-farm/lessons/3-automated-plant-watering/wio-terminal-relay.md index 1f95cb789..f8de515b0 100644 --- a/translations/tw/2-farm/lessons/3-automated-plant-watering/wio-terminal-relay.md +++ b/translations/tw/2-farm/lessons/3-automated-plant-watering/wio-terminal-relay.md @@ -27,13 +27,13 @@ Grove 繼電器可以連接到 Wio Terminal 的數字端口。 連接繼電器。 -![Grove 繼電器](../../../../../translated_images/tw/grove-relay.d426958ca210fbd0fb7983d7edc069d46c73a8b0a099d94797bd756f7b6bb6be.png) +![Grove 繼電器](../../../../../translated_images/zh-TW/grove-relay.d426958ca210fbd0fb7983d7edc069d46c73a8b0a099d94797bd756f7b6bb6be.png) 1. 將 Grove 電纜的一端插入繼電器上的插座。它只能以一種方式插入。 1. 在 Wio Terminal 與電腦或其他電源斷開連接的情況下,將 Grove 電纜的另一端連接到 Wio Terminal 屏幕左側的 Grove 插座。保持土壤濕度傳感器連接到右側插座。 -![Grove 繼電器連接到左側插座,土壤濕度傳感器連接到右側插座](../../../../../translated_images/tw/wio-relay-and-soil-moisture-sensor.ed722202d42babe0.webp) +![Grove 繼電器連接到左側插座,土壤濕度傳感器連接到右側插座](../../../../../translated_images/zh-TW/wio-relay-and-soil-moisture-sensor.ed722202d42babe0.webp) 1. 如果土壤濕度傳感器尚未插入土壤,請將其插入。 diff --git a/translations/tw/2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md b/translations/tw/2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md index 0af45db64..1fb03fce1 100644 --- a/translations/tw/2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md +++ b/translations/tw/2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 將植物遷移到雲端 -![本課程的手繪筆記概述](../../../../../translated_images/tw/lesson-8.3f21f3c11159e6a0a376351973ea5724d5de68fa23b4288853a174bed9ac48c3.jpg) +![本課程的手繪筆記概述](../../../../../translated_images/zh-TW/lesson-8.3f21f3c11159e6a0a376351973ea5724d5de68fa23b4288853a174bed9ac48c3.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -55,8 +55,8 @@ IoT 設備通過公共 MQTT broker 進行通信,以展示原理,但這並不 雲端常被戲稱為「別人的計算機」。最初的想法很簡單——與其購買計算機,不如租用別人的計算機。雲計算提供商會管理巨大的數據中心。他們負責購買和安裝硬件、管理電力和冷卻、網絡、建築安全、硬件和軟件更新等所有事情。作為客戶,您只需租用所需的計算機,需求增加時租用更多,需求減少時減少租用。這些雲端數據中心分布在世界各地。 -![Microsoft 雲端數據中心](../../../../../translated_images/tw/azure-region-existing.73f704604f2aa6cb9b5a49ed40e93d4fd81ae3f4e6af4a8ca504023902832f56.png) -![Microsoft 雲端數據中心擴展計劃](../../../../../translated_images/tw/azure-region-planned-expansion.a5074a1e8af74f156a73552d502429e5b126ea5019274d767ecb4b9afdad442b.png) +![Microsoft 雲端數據中心](../../../../../translated_images/zh-TW/azure-region-existing.73f704604f2aa6cb9b5a49ed40e93d4fd81ae3f4e6af4a8ca504023902832f56.png) +![Microsoft 雲端數據中心擴展計劃](../../../../../translated_images/zh-TW/azure-region-planned-expansion.a5074a1e8af74f156a73552d502429e5b126ea5019274d767ecb4b9afdad442b.png) 這些數據中心的面積可以達到數平方公里。上面的圖片拍攝於幾年前的 Microsoft 雲端數據中心,展示了初始規模以及擴展計劃。擴展清理出的區域超過 5 平方公里。 @@ -72,7 +72,7 @@ IoT 設備通過公共 MQTT broker 進行通信,以展示原理,但這並不 Azure 是 Microsoft 的開發者雲端,您將在這些課程中使用它。以下視頻提供了 Azure 的簡短概述: -[![Azure 概述視頻](../../../../../translated_images/tw/what-is-azure-video-thumbnail.20174db09e03bbb8.webp)](https://www.microsoft.com/videoplayer/embed/RE4Ibng?WT.mc_id=academic-17441-jabenn) +[![Azure 概述視頻](../../../../../translated_images/zh-TW/what-is-azure-video-thumbnail.20174db09e03bbb8.webp)](https://www.microsoft.com/videoplayer/embed/RE4Ibng?WT.mc_id=academic-17441-jabenn) ## 創建雲端訂閱 @@ -117,11 +117,11 @@ Azure 是 Microsoft 的開發者雲端,您將在這些課程中使用它。以 IoT 設備可以通過設備 SDK(提供代碼以使用服務功能的庫)或直接通過通信協議(如 MQTT 或 HTTP)連接到雲端服務。設備 SDK 通常是最簡單的路徑,因為它處理所有事情,例如知道要發布或訂閱的主題以及如何處理安全性。 -![設備通過設備 SDK 連接到服務。伺服器代碼也通過 SDK 連接到服務](../../../../../translated_images/tw/iot-service-connectivity.7e873847921a5d6fd60d0ba3a943210194518cee0d4e362476624316443275c3.png) +![設備通過設備 SDK 連接到服務。伺服器代碼也通過 SDK 連接到服務](../../../../../translated_images/zh-TW/iot-service-connectivity.7e873847921a5d6fd60d0ba3a943210194518cee0d4e362476624316443275c3.png) 您的設備然後通過該服務與應用程序的其他部分通信——類似於您通過 MQTT 發送遙測數據和接收命令。這通常使用服務 SDK 或類似的庫。消息從您的設備發送到服務,應用程序的其他部分可以讀取這些消息,並將消息發送回您的設備。 -![沒有有效密鑰的設備無法連接到 IoT 服務](../../../../../translated_images/tw/iot-service-allowed-denied-connection.818b0063ac213fb84204a7229303764d9b467ca430fb822b4ac2fca267d56726.png) +![沒有有效密鑰的設備無法連接到 IoT 服務](../../../../../translated_images/zh-TW/iot-service-allowed-denied-connection.818b0063ac213fb84204a7229303764d9b467ca430fb822b4ac2fca267d56726.png) 這些服務通過了解所有可以連接並發送數據的設備來實現安全性,這可以通過預先註冊設備或給設備提供密鑰或證書,讓它們在首次連接時自動註冊到服務。未知設備無法連接,如果嘗試,服務會拒絕連接並忽略它們發送的消息。 @@ -133,7 +133,7 @@ IoT 設備可以通過設備 SDK(提供代碼以使用服務功能的庫)或 現在您已經擁有 Azure 訂閱,您可以註冊一個 IoT 服務。Microsoft 提供的 IoT 服務稱為 Azure IoT Hub。 -![Azure IoT Hub 標誌](../../../../../translated_images/tw/azure-iot-hub-logo.28a19de76d0a1932464d858f7558712bcdace3e5ec69c434d482ed7ce41c3a26.png) +![Azure IoT Hub 標誌](../../../../../translated_images/zh-TW/azure-iot-hub-logo.28a19de76d0a1932464d858f7558712bcdace3e5ec69c434d482ed7ce41c3a26.png) 以下影片簡要介紹了 Azure IoT Hub: diff --git a/translations/tw/2-farm/lessons/5-migrate-application-to-the-cloud/README.md b/translations/tw/2-farm/lessons/5-migrate-application-to-the-cloud/README.md index 4f601a519..ea02125b0 100644 --- a/translations/tw/2-farm/lessons/5-migrate-application-to-the-cloud/README.md +++ b/translations/tw/2-farm/lessons/5-migrate-application-to-the-cloud/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 將您的應用程式邏輯遷移到雲端 -![本課程的手繪筆記概覽](../../../../../translated_images/tw/lesson-9.dfe99c8e891f48e179724520da9f5794392cf9a625079281ccdcbf09bd85e1b6.jpg) +![本課程的手繪筆記概覽](../../../../../translated_images/zh-TW/lesson-9.dfe99c8e891f48e179724520da9f5794392cf9a625079281ccdcbf09bd85e1b6.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -37,11 +37,11 @@ CO_OP_TRANSLATOR_METADATA: 無伺服器,或稱無伺服器計算,是指在雲端中創建小型代碼塊,這些代碼會根據不同類型的事件執行。當事件發生時,您的代碼會被執行,並接收有關該事件的數據。這些事件可以來自多種來源,包括網頁請求、放入佇列的消息、數據庫中數據的變更,或 IoT 設備發送到 IoT 服務的消息。 -![事件從 IoT 服務發送到無伺服器服務,所有事件同時由多個函數處理](../../../../../translated_images/tw/iot-messages-to-serverless.0194da1cc0732bb7d0f823aed3fce54735c6b1ad3bf36089804d8aaefc0a774f.png) +![事件從 IoT 服務發送到無伺服器服務,所有事件同時由多個函數處理](../../../../../translated_images/zh-TW/iot-messages-to-serverless.0194da1cc0732bb7d0f823aed3fce54735c6b1ad3bf36089804d8aaefc0a774f.png) > 💁 如果您之前使用過數據庫觸發器,可以將其視為類似的概念,即代碼因事件(如插入一行)而觸發。 -![當多個事件同時發生時,無伺服器服務會擴展以同時處理所有事件](../../../../../translated_images/tw/serverless-scaling.f8c769adf0413fd1.webp) +![當多個事件同時發生時,無伺服器服務會擴展以同時處理所有事件](../../../../../translated_images/zh-TW/serverless-scaling.f8c769adf0413fd1.webp) 您的代碼僅在事件發生時執行,其他時間不會保持活躍。事件發生時,您的代碼會被加載並執行。這使得無伺服器具有很高的可擴展性——如果同時發生多個事件,雲端提供商可以根據需要同時運行多個函數,分配到可用的伺服器上。其缺點是,如果需要在事件之間共享信息,則需要將其存儲在數據庫等地方,而不是內存中。 @@ -63,7 +63,7 @@ CO_OP_TRANSLATOR_METADATA: Microsoft 的無伺服器計算服務稱為 Azure Functions。 -![Azure Functions 標誌](../../../../../translated_images/tw/azure-functions-logo.1cfc8e3204c9c44aaf80fcf406fc8544d80d7f00f8d3e8ed6fed764563e17564.png) +![Azure Functions 標誌](../../../../../translated_images/zh-TW/azure-functions-logo.1cfc8e3204c9c44aaf80fcf406fc8544d80d7f00f8d3e8ed6fed764563e17564.png) 以下短片概述了 Azure Functions: @@ -244,7 +244,7 @@ Azure Functions CLI 可用於創建新的 Functions 應用程式。 VS Code. Initialize for optimal use with VS Code? ``` - ![通知](../../../../../translated_images/tw/vscode-azure-functions-init-notification.bd19b49229963edb.webp) + ![通知](../../../../../translated_images/zh-TW/vscode-azure-functions-init-notification.bd19b49229963edb.webp) 從通知中選擇 **Yes**。 diff --git a/translations/tw/2-farm/lessons/6-keep-your-plant-secure/README.md b/translations/tw/2-farm/lessons/6-keep-your-plant-secure/README.md index bb58106a0..1a69cd3a4 100644 --- a/translations/tw/2-farm/lessons/6-keep-your-plant-secure/README.md +++ b/translations/tw/2-farm/lessons/6-keep-your-plant-secure/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 保護您的植物安全 -![本課程的手繪筆記概述](../../../../../translated_images/tw/lesson-10.829c86b80b9403bb770929ee553a1d293afe50dc23121aaf9be144673ae012cc.jpg) +![本課程的手繪筆記概述](../../../../../translated_images/zh-TW/lesson-10.829c86b80b9403bb770929ee553a1d293afe50dc23121aaf9be144673ae012cc.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -61,11 +61,11 @@ CO_OP_TRANSLATOR_METADATA: 當設備連接到物聯網服務時,它使用一個 ID 來識別自己。問題是這個 ID 可以被克隆——黑客可以設置一個惡意設備,使用與真實設備相同的 ID,但發送虛假數據。 -![有效設備和惡意設備可能使用相同的 ID 發送遙測數據](../../../../../translated_images/tw/iot-device-and-hacked-device-connecting.e0671675df74d6d99eb1dedb5a670e606f698efa6202b1ad4c8ae548db299cc6.png) +![有效設備和惡意設備可能使用相同的 ID 發送遙測數據](../../../../../translated_images/zh-TW/iot-device-and-hacked-device-connecting.e0671675df74d6d99eb1dedb5a670e606f698efa6202b1ad4c8ae548db299cc6.png) 解決方法是將發送的數據轉換為一種加密格式,使用設備和雲端都知道的某種值來加密數據。這個過程稱為*加密*,用於加密數據的值稱為*加密密鑰*。 -![如果使用加密,則只有加密的消息會被接受,其他消息會被拒絕](../../../../../translated_images/tw/iot-device-and-hacked-device-connecting-encryption.5941aff601fc978f979e46f2849b573564eeb4a4dc5b52f669f62745397492fb.png) +![如果使用加密,則只有加密的消息會被接受,其他消息會被拒絕](../../../../../translated_images/zh-TW/iot-device-and-hacked-device-connecting-encryption.5941aff601fc978f979e46f2849b573564eeb4a4dc5b52f669f62745397492fb.png) 雲端服務可以使用一個稱為*解密*的過程將數據轉換回可讀格式,使用相同的加密密鑰或一個*解密密鑰*。如果加密的消息無法通過密鑰解密,則表明設備已被攻擊,消息會被拒絕。 @@ -97,15 +97,15 @@ CO_OP_TRANSLATOR_METADATA: **對稱**加密使用相同的密鑰來加密和解密數據。發送者和接收者都需要知道相同的密鑰。這是最不安全的類型,因為密鑰需要以某種方式共享。發送者要向接收者發送加密消息,可能首先需要向接收者發送密鑰。 -![對稱密鑰加密使用相同的密鑰加密和解密消息](../../../../../translated_images/tw/send-message-symmetric-key.a2e8ad0d495896ff.webp) +![對稱密鑰加密使用相同的密鑰加密和解密消息](../../../../../translated_images/zh-TW/send-message-symmetric-key.a2e8ad0d495896ff.webp) 如果密鑰在傳輸過程中被竊取,或者發送者或接收者被黑客攻擊並找到密鑰,加密就可能被破解。 -![對稱密鑰加密只有在黑客未獲得密鑰的情況下才安全——如果密鑰被竊取,他們可以攔截並解密消息](../../../../../translated_images/tw/send-message-symmetric-key-hacker.e7cb53db1707adfb.webp) +![對稱密鑰加密只有在黑客未獲得密鑰的情況下才安全——如果密鑰被竊取,他們可以攔截並解密消息](../../../../../translated_images/zh-TW/send-message-symmetric-key-hacker.e7cb53db1707adfb.webp) **非對稱**加密使用兩個密鑰——加密密鑰和解密密鑰,稱為公鑰/私鑰對。公鑰用於加密消息,但不能用於解密;私鑰用於解密消息,但不能用於加密。 -![非對稱加密使用不同的密鑰加密和解密。加密密鑰發送給任何消息發送者,以便他們在向擁有密鑰的接收者發送消息之前加密消息](../../../../../translated_images/tw/send-message-asymmetric.7abe327c62615b8c.webp) +![非對稱加密使用不同的密鑰加密和解密。加密密鑰發送給任何消息發送者,以便他們在向擁有密鑰的接收者發送消息之前加密消息](../../../../../translated_images/zh-TW/send-message-asymmetric.7abe327c62615b8c.webp) 接收者共享其公鑰,發送者使用此密鑰加密消息。一旦消息被發送,接收者使用其私鑰解密消息。非對稱加密更安全,因為私鑰由接收者保密,永不共享。任何人都可以擁有公鑰,因為它只能用於加密消息。 @@ -165,7 +165,7 @@ X.509 證書是包含公鑰部分的數字文件。它們通常由一系列被 使用 X.509 證書時,發送者和接收者都會擁有自己的公鑰和私鑰,以及包含公鑰的 X.509 證書。他們會以某種方式交換 X.509 證書,使用彼此的公鑰加密發送的數據,並使用自己的私鑰解密接收到的數據。 -![與其共享公鑰,您可以共享證書。證書的使用者可以通過檢查簽署證書的授權機構來驗證它是否來自您。](../../../../../translated_images/tw/send-message-certificate.9cc576ac1e46b76e.webp) +![與其共享公鑰,您可以共享證書。證書的使用者可以通過檢查簽署證書的授權機構來驗證它是否來自您。](../../../../../translated_images/zh-TW/send-message-certificate.9cc576ac1e46b76e.webp) 使用 X.509 證書的一大優勢是它們可以在設備之間共享。您可以創建一個證書,將其上傳到 IoT Hub,並用於所有設備。每個設備只需要知道私鑰即可解密從 IoT Hub 接收到的消息。 diff --git a/translations/tw/3-transport/lessons/1-location-tracking/README.md b/translations/tw/3-transport/lessons/1-location-tracking/README.md index 0ffc6fcf0..335ffea5e 100644 --- a/translations/tw/3-transport/lessons/1-location-tracking/README.md +++ b/translations/tw/3-transport/lessons/1-location-tracking/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 位置追蹤 -![本課程的手繪筆記概述](../../../../../translated_images/tw/lesson-11.9fddbac4b664c6d50ab7ac9bb32f1fc3f945f03760e72f7f43938073762fb017.jpg) +![本課程的手繪筆記概述](../../../../../translated_images/zh-TW/lesson-11.9fddbac4b664c6d50ab7ac9bb32f1fc3f945f03760e72f7f43938073762fb017.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -72,13 +72,13 @@ CO_OP_TRANSLATOR_METADATA: > 💁 沒有人真正知道為什麼圓被分為 360 度。[維基百科上的度數(角度)頁面](https://wikipedia.org/wiki/Degree_(angle)) 涵蓋了一些可能的原因。 -![緯度線:北極為 90°,北極與赤道之間為 45°,赤道為 0°,赤道與南極之間為 -45°,南極為 -90°](../../../../../translated_images/tw/latitude-lines.11d8d91dfb2014a57437272d7db7fd6607243098e8685f06e0c5f1ec984cb7eb.png) +![緯度線:北極為 90°,北極與赤道之間為 45°,赤道為 0°,赤道與南極之間為 -45°,南極為 -90°](../../../../../translated_images/zh-TW/latitude-lines.11d8d91dfb2014a57437272d7db7fd6607243098e8685f06e0c5f1ec984cb7eb.png) 緯度是通過圍繞地球並與赤道平行的線來測量的,將北半球和南半球分為各 90°。赤道為 0°,北極為 90°,也稱為北緯 90°,南極為 -90°,也稱為南緯 90°。 經度是測量東西方向的度數。經度的 0° 起點稱為 *本初子午線*,1884 年被定義為一條穿過 [英國格林威治皇家天文台](https://wikipedia.org/wiki/Royal_Observatory,_Greenwich) 的南北極線。 -![經度線:從本初子午線以西的 -180°,到本初子午線的 0°,再到本初子午線以東的 180°](../../../../../translated_images/tw/longitude-meridians.ab4ef1c91c064586b0185a3c8d39e585903696c6a7d28c098a93a629cddb5d20.png) +![經度線:從本初子午線以西的 -180°,到本初子午線的 0°,再到本初子午線以東的 180°](../../../../../translated_images/zh-TW/longitude-meridians.ab4ef1c91c064586b0185a3c8d39e585903696c6a7d28c098a93a629cddb5d20.png) > 🎓 子午線是一條從北極到南極的假想直線,形成半圓。 @@ -109,7 +109,7 @@ CO_OP_TRANSLATOR_METADATA: * 緯度為 47.6423109(赤道以北 47.6423109 度) * 經度為 -122.1390293(本初子午線以西 122.1390293 度)。 -![微軟園區的座標:47.6423109,-122.117198](../../../../../translated_images/tw/microsoft-gps-location-world.a321d481b010f6adfcca139b2ba0adc53b79f58a540495b8e2ce7f779ea64bfe.png) +![微軟園區的座標:47.6423109,-122.117198](../../../../../translated_images/zh-TW/microsoft-gps-location-world.a321d481b010f6adfcca139b2ba0adc53b79f58a540495b8e2ce7f779ea64bfe.png) ## 全球定位系統 (GPS) @@ -121,7 +121,7 @@ GPS 系統的工作原理是多顆衛星發送信號,信號中包含每顆衛 > 💁 GPS 感測器需要天線來檢測無線電波。內建 GPS 的卡車和汽車通常將天線安裝在擋風玻璃或車頂上,以獲得良好的信號。如果您使用的是獨立的 GPS 系統,例如智能手機或物聯網設備,則需要確保 GPS 系統或手機內建的天線能夠清晰地看到天空,例如安裝在擋風玻璃上。 -![通過知道感測器與多顆衛星的距離,可以計算出位置](../../../../../translated_images/tw/gps-satellites.04acf1148fe25fbf1586bc2e8ba698e8d79b79a50c36824b38417dd13372b90f.png) +![通過知道感測器與多顆衛星的距離,可以計算出位置](../../../../../translated_images/zh-TW/gps-satellites.04acf1148fe25fbf1586bc2e8ba698e8d79b79a50c36824b38417dd13372b90f.png) GPS 衛星環繞地球運行,並非固定在感測器上方,因此位置數據包括海拔高度(相對於海平面)以及緯度和經度。 diff --git a/translations/tw/3-transport/lessons/1-location-tracking/pi-gps-sensor.md b/translations/tw/3-transport/lessons/1-location-tracking/pi-gps-sensor.md index 8ce839a6a..4a3e90497 100644 --- a/translations/tw/3-transport/lessons/1-location-tracking/pi-gps-sensor.md +++ b/translations/tw/3-transport/lessons/1-location-tracking/pi-gps-sensor.md @@ -27,13 +27,13 @@ Grove GPS 感測器可以連接到 Raspberry Pi。 連接 GPS 感測器。 -![Grove GPS 感測器](../../../../../translated_images/tw/grove-gps-sensor.247943bf69b03f0d1820ef6ed10c587f9b650e8db55b936851c92412180bd3e2.png) +![Grove GPS 感測器](../../../../../translated_images/zh-TW/grove-gps-sensor.247943bf69b03f0d1820ef6ed10c587f9b650e8db55b936851c92412180bd3e2.png) 1. 將 Grove 電纜的一端插入 GPS 感測器上的插座。它只能以一種方式插入。 1. 在 Raspberry Pi 關機的情況下,將 Grove 電纜的另一端連接到 Pi 上的 Grove Base Hat 的 **UART** 插座。此插座位於中間排,靠近 SD 卡插槽的一側,遠離 USB 端口和以太網插座。 - ![Grove GPS 感測器連接到 UART 插座](../../../../../translated_images/tw/pi-gps-sensor.1f99ee2b2f6528915047ec78967bd362e0e4ee0ed594368a3837b9cf9cdaca64.png) + ![Grove GPS 感測器連接到 UART 插座](../../../../../translated_images/zh-TW/pi-gps-sensor.1f99ee2b2f6528915047ec78967bd362e0e4ee0ed594368a3837b9cf9cdaca64.png) 1. 將 GPS 感測器放置在天線可以看到天空的位置——理想情況下靠近窗戶或在室外。天線周圍沒有障礙物時,信號會更清晰。 diff --git a/translations/tw/3-transport/lessons/1-location-tracking/virtual-device-gps-sensor.md b/translations/tw/3-transport/lessons/1-location-tracking/virtual-device-gps-sensor.md index 3e9b1c191..7f9a4d658 100644 --- a/translations/tw/3-transport/lessons/1-location-tracking/virtual-device-gps-sensor.md +++ b/translations/tw/3-transport/lessons/1-location-tracking/virtual-device-gps-sensor.md @@ -47,11 +47,11 @@ CO_OP_TRANSLATOR_METADATA: 1. 點擊 **Add** 按鈕,在端口 `/dev/ttyAMA0` 上創建 GPS 傳感器。 - ![GPS 傳感器設置](../../../../../translated_images/tw/counterfit-create-gps-sensor.6385dc9357d85ad1d47b4abb2525e7651fd498917d25eefc5a72feab09eedc70.png) + ![GPS 傳感器設置](../../../../../translated_images/zh-TW/counterfit-create-gps-sensor.6385dc9357d85ad1d47b4abb2525e7651fd498917d25eefc5a72feab09eedc70.png) GPS 傳感器將被創建並顯示在傳感器列表中。 - ![已創建的 GPS 傳感器](../../../../../translated_images/tw/counterfit-gps-sensor.3fbb15af0a5367566f2f11324ef5a6f30861cdf2b497071a5e002b7aa473550e.png) + ![已創建的 GPS 傳感器](../../../../../translated_images/zh-TW/counterfit-gps-sensor.3fbb15af0a5367566f2f11324ef5a6f30861cdf2b497071a5e002b7aa473550e.png) ## 編程 GPS 傳感器 @@ -111,17 +111,17 @@ CO_OP_TRANSLATOR_METADATA: * 將 **Source** 設置為 `Lat/Lon`,並設置明確的緯度、經度以及用於獲得 GPS 定位的衛星數量。此值僅會發送一次,因此勾選 **Repeat** 框以使數據每秒重複發送。 - ![選擇緯度和經度的 GPS 傳感器](../../../../../translated_images/tw/counterfit-gps-sensor-latlon.008c867d75464fbe7f84107cc57040df565ac07cb57d2f21db37d087d470197d.png) + ![選擇緯度和經度的 GPS 傳感器](../../../../../translated_images/zh-TW/counterfit-gps-sensor-latlon.008c867d75464fbe7f84107cc57040df565ac07cb57d2f21db37d087d470197d.png) * 將 **Source** 設置為 `NMEA`,並在文本框中添加一些 NMEA 語句。所有這些值將被發送,每個新的 GGA(位置修正)語句可以在 1 秒延遲後被讀取。 - ![設置 NMEA 語句的 GPS 傳感器](../../../../../translated_images/tw/counterfit-gps-sensor-nmea.c62eea442171e17e19528b051b104cfcecdc9cd18db7bc72920f29821ae63f73.png) + ![設置 NMEA 語句的 GPS 傳感器](../../../../../translated_images/zh-TW/counterfit-gps-sensor-nmea.c62eea442171e17e19528b051b104cfcecdc9cd18db7bc72920f29821ae63f73.png) 您可以使用像 [nmeagen.org](https://www.nmeagen.org) 這樣的工具通過在地圖上繪製來生成這些語句。這些值僅會發送一次,因此勾選 **Repeat** 框以使數據在全部發送後每秒重複一次。 * 將 **Source** 設置為 GPX 文件,並上傳包含軌跡位置的 GPX 文件。您可以從一些流行的地圖和徒步網站(如 [AllTrails](https://www.alltrails.com/))下載 GPX 文件。這些文件包含作為軌跡的多個 GPS 位置,GPS 傳感器將以 1 秒間隔返回每個新位置。 - ![設置 GPX 文件的 GPS 傳感器](../../../../../translated_images/tw/counterfit-gps-sensor-gpxfile.8310b063ce8a425ccc8ebeec8306aeac5e8e55207f007d52c6e1194432a70cd9.png) + ![設置 GPX 文件的 GPS 傳感器](../../../../../translated_images/zh-TW/counterfit-gps-sensor-gpxfile.8310b063ce8a425ccc8ebeec8306aeac5e8e55207f007d52c6e1194432a70cd9.png) 這些值僅會發送一次,因此勾選 **Repeat** 框以使數據在全部發送後每秒重複一次。 diff --git a/translations/tw/3-transport/lessons/1-location-tracking/wio-terminal-gps-sensor.md b/translations/tw/3-transport/lessons/1-location-tracking/wio-terminal-gps-sensor.md index 7b3e0a61e..59e6028a8 100644 --- a/translations/tw/3-transport/lessons/1-location-tracking/wio-terminal-gps-sensor.md +++ b/translations/tw/3-transport/lessons/1-location-tracking/wio-terminal-gps-sensor.md @@ -27,13 +27,13 @@ Grove GPS 感測器可以連接到 Wio Terminal。 連接 GPS 感測器。 -![一個 Grove GPS 感測器](../../../../../translated_images/tw/grove-gps-sensor.247943bf69b03f0d1820ef6ed10c587f9b650e8db55b936851c92412180bd3e2.png) +![一個 Grove GPS 感測器](../../../../../translated_images/zh-TW/grove-gps-sensor.247943bf69b03f0d1820ef6ed10c587f9b650e8db55b936851c92412180bd3e2.png) 1. 將 Grove 線纜的一端插入 GPS 感測器上的插槽。它只能以一種方式插入。 1. 在 Wio Terminal 未連接到電腦或其他電源的情況下,將 Grove 線纜的另一端連接到 Wio Terminal 左側的 Grove 插槽(面向螢幕時)。這是靠近電源按鈕的插槽。 - ![Grove GPS 感測器連接到左側插槽](../../../../../translated_images/tw/wio-gps-sensor.19fd52b81ce58095.webp) + ![Grove GPS 感測器連接到左側插槽](../../../../../translated_images/zh-TW/wio-gps-sensor.19fd52b81ce58095.webp) 1. 將 GPS 感測器放置在附帶的天線可以看到天空的位置——理想情況下靠近窗戶或在室外。天線周圍沒有障礙物時,信號會更清晰。 diff --git a/translations/tw/3-transport/lessons/2-store-location-data/README.md b/translations/tw/3-transport/lessons/2-store-location-data/README.md index 11a037be6..69255eb1c 100644 --- a/translations/tw/3-transport/lessons/2-store-location-data/README.md +++ b/translations/tw/3-transport/lessons/2-store-location-data/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 儲存位置數據 -![本課程的手繪筆記概覽](../../../../../translated_images/tw/lesson-12.ca7f53039712a3ec14ad6474d8445361c84adab643edc53fa6269b77895606bb.jpg) +![本課程的手繪筆記概覽](../../../../../translated_images/zh-TW/lesson-12.ca7f53039712a3ec14ad6474d8445361c84adab643edc53fa6269b77895606bb.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -66,7 +66,7 @@ IoT 數據通常被認為是非結構化數據。 最早的數據庫是關聯式數據庫管理系統(RDBMS),也稱為關聯式數據庫。這些數據庫也被稱為 SQL 數據庫,因為它們使用結構化查詢語言(SQL)來添加、刪除、更新或查詢數據。這些數據庫由一個模式(schema)組成——一組明確定義的數據表,類似於電子表格。每個表都有多個命名列。當你插入數據時,你會向表中添加一行,將值放入每個列中。這使得數據保持非常固定的結構——儘管你可以留空某些列,但如果你想添加新列,則必須在數據庫中執行此操作,並為現有行填充值。這些數據庫是關聯式的——即一個表可以與另一個表有關聯。 -![一個關聯式數據庫,其中用戶表的 ID 與購買表的用戶 ID 列相關,產品表的 ID 與購買表的產品 ID 列相關](../../../../../translated_images/tw/sql-database.be160f12bfccefd3.webp) +![一個關聯式數據庫,其中用戶表的 ID 與購買表的用戶 ID 列相關,產品表的 ID 與購買表的產品 ID 列相關](../../../../../translated_images/zh-TW/sql-database.be160f12bfccefd3.webp) 例如,如果你將用戶的個人詳細信息存儲在一個表中,你會為每個用戶分配某種內部唯一 ID,該 ID 用於包含用戶姓名和地址的表中的一行。如果你想在另一個表中存儲該用戶的其他詳細信息,例如購買記錄,你會在新表中為該用戶的 ID 添加一列。當你查詢用戶時,可以使用他們的 ID 從一個表中獲取個人詳細信息,並從另一個表中獲取購買記錄。 @@ -84,7 +84,7 @@ NoSQL 數據庫之所以被稱為 NoSQL,是因為它們沒有 SQL 數據庫那 > 💁 儘管名稱如此,一些 NoSQL 數據庫允許你使用 SQL 查詢數據。 -![NoSQL 數據庫中的文件夾中的文檔](../../../../../translated_images/tw/noqsl-database.62d24ccf5b73f60d35c245a8533f1c7147c0928e955b82cb290b2e184bb434df.png) +![NoSQL 數據庫中的文件夾中的文檔](../../../../../translated_images/zh-TW/noqsl-database.62d24ccf5b73f60d35c245a8533f1c7147c0928e955b82cb290b2e184bb434df.png) NoSQL 數據庫沒有預定義的模式來限制數據的存儲方式,相反,你可以插入任何非結構化數據,通常使用 JSON 文檔。這些文檔可以組織成文件夾,類似於計算機上的文件。每個文檔可以與其他文檔具有不同的字段——例如,如果你存儲來自農場車輛的 IoT 數據,有些可能有加速度計和速度數據字段,其他可能有拖車內部溫度的字段。如果你添加了一種新型卡車,例如內置秤來跟蹤運輸的貨物重量,那麼你的 IoT 設備可以添加這個新字段,並且可以在不更改數據庫的情況下存儲它。 @@ -98,7 +98,7 @@ NoSQL 數據庫沒有預定義的模式來限制數據的存儲方式,相反 在上一課中,你從連接到 IoT 設備的 GPS 感測器捕捉了 GPS 數據。為了將這些 IoT 數據存儲到雲端,你需要將其發送到 IoT 服務。你將再次使用 Azure IoT Hub,這是你在上一個項目中使用的相同 IoT 雲服務。 -![將 GPS 遙測數據從 IoT 設備發送到 IoT Hub](../../../../../translated_images/tw/gps-telemetry-iot-hub.8115335d51cd2c1285d20e9d1b18cf685e59a8e093e7797291ef173445af6f3d.png) +![將 GPS 遙測數據從 IoT 設備發送到 IoT Hub](../../../../../translated_images/zh-TW/gps-telemetry-iot-hub.8115335d51cd2c1285d20e9d1b18cf685e59a8e093e7797291ef173445af6f3d.png) ### 任務 - 將 GPS 數據發送到 IoT Hub @@ -180,7 +180,7 @@ message = Message(json.dumps(message_json)) 一旦數據流入你的 IoT Hub,你可以編寫一些無伺服器代碼來監聽發佈到 Event-Hub 兼容端點的事件。這是溫路徑——這些數據將被存儲,並在下一課中用於行程報告。 -![將 GPS 遙測數據從 IoT 設備發送到 IoT Hub,然後通過事件中心觸發器發送到 Azure Functions](../../../../../translated_images/tw/gps-telemetry-iot-hub-functions.24d3fa5592455e9f4e2fe73856b40c3915a292b90263c31d652acfd976cfedd8.png) +![將 GPS 遙測數據從 IoT 設備發送到 IoT Hub,然後通過事件中心觸發器發送到 Azure Functions](../../../../../translated_images/zh-TW/gps-telemetry-iot-hub-functions.24d3fa5592455e9f4e2fe73856b40c3915a292b90263c31d652acfd976cfedd8.png) ### 任務 - 使用無伺服器代碼處理 GPS 事件 @@ -202,7 +202,7 @@ message = Message(json.dumps(message_json)) ## Azure 儲存帳戶 -![Azure Storage 標誌](../../../../../translated_images/tw/azure-storage-logo.605c0f602c640d482a80f1b35a2629a32d595711b7ab1d7ceea843250615ff32.png) +![Azure Storage 標誌](../../../../../translated_images/zh-TW/azure-storage-logo.605c0f602c640d482a80f1b35a2629a32d595711b7ab1d7ceea843250615ff32.png) Azure 儲存帳戶是一種通用的儲存服務,可以以多種不同的方式儲存數據。您可以將數據儲存為 Blob、佇列、表格或檔案,並且可以同時使用這些方式。 @@ -241,7 +241,7 @@ Azure 儲存帳戶是一種通用的儲存服務,可以以多種不同的方 在本課中,您將使用 Python SDK 來了解如何與 Blob 儲存進行互動。 -![從 IoT 裝置傳送 GPS 遙測數據到 IoT Hub,然後通過事件觸發器傳送到 Azure Functions,最後儲存到 Blob 儲存](../../../../../translated_images/tw/save-telemetry-to-storage-from-functions.ed3b1820980097f1.webp) +![從 IoT 裝置傳送 GPS 遙測數據到 IoT Hub,然後通過事件觸發器傳送到 Azure Functions,最後儲存到 Blob 儲存](../../../../../translated_images/zh-TW/save-telemetry-to-storage-from-functions.ed3b1820980097f1.webp) 數據將以以下格式儲存為 JSON Blob: diff --git a/translations/tw/3-transport/lessons/3-visualize-location-data/README.md b/translations/tw/3-transport/lessons/3-visualize-location-data/README.md index 1080eb586..bf0eb9b86 100644 --- a/translations/tw/3-transport/lessons/3-visualize-location-data/README.md +++ b/translations/tw/3-transport/lessons/3-visualize-location-data/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 可視化位置數據 -![本課程的手繪筆記概述](../../../../../translated_images/tw/lesson-13.a259db1485021be7d7c72e90842fbe0ab977529e8684c179b5fb1ea75e92b3ef.jpg) +![本課程的手繪筆記概述](../../../../../translated_images/zh-TW/lesson-13.a259db1485021be7d7c72e90842fbe0ab977529e8684c179b5fb1ea75e92b3ef.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -73,11 +73,11 @@ CO_OP_TRANSLATOR_METADATA: 對人類而言,理解這些數據可能很困難。這是一堆沒有意義的數字。作為可視化這些數據的第一步,可以將其繪製成折線圖: -![上述數據的折線圖](../../../../../translated_images/tw/chart-soil-moisture.fd6d9d0cdc0b5f75e78038ecb8945dfc84b38851359de99d84b16e3336d6d7c2.png) +![上述數據的折線圖](../../../../../translated_images/zh-TW/chart-soil-moisture.fd6d9d0cdc0b5f75e78038ecb8945dfc84b38851359de99d84b16e3336d6d7c2.png) 這可以進一步增強,例如添加一條線來指示自動灌溉系統在土壤濕度讀數達到 450 時啟動: -![帶有 450 標記線的土壤濕度折線圖](../../../../../translated_images/tw/chart-soil-moisture-relay.fbb391236d34a64d0abf1df396e9197e0a24df14150620b9cc820a64a55c9326.png) +![帶有 450 標記線的土壤濕度折線圖](../../../../../translated_images/zh-TW/chart-soil-moisture-relay.fbb391236d34a64d0abf1df396e9197e0a24df14150620b9cc820a64a55c9326.png) 這張圖表可以非常快速地顯示土壤濕度水平以及灌溉系統啟動的時間點。 @@ -93,7 +93,7 @@ CO_OP_TRANSLATOR_METADATA: 使用地圖是一項有趣的練習,有許多選擇,例如 Bing Maps、Leaflet、Open Street Maps 和 Google Maps。在本課程中,你將學習 [Azure Maps](https://azure.microsoft.com/services/azure-maps/?WT.mc_id=academic-17441-jabenn) 以及如何使用它們顯示你的 GPS 數據。 -![Azure Maps 標誌](../../../../../translated_images/tw/azure-maps-logo.35d01dcfbd81fe6140e94257aaa1538f785a58c91576d14e0ebe7a2f6c694b99.png) +![Azure Maps 標誌](../../../../../translated_images/zh-TW/azure-maps-logo.35d01dcfbd81fe6140e94257aaa1538f785a58c91576d14e0ebe7a2f6c694b99.png) Azure Maps 是“一組地理空間服務和 SDK,使用最新的地圖數據為網頁和移動應用提供地理背景。”開發者可以使用這些工具創建美觀的交互式地圖,這些地圖可以執行例如提供推薦交通路線、提供交通事故信息、室內導航、搜索功能、海拔信息、天氣服務等功能。 @@ -194,7 +194,7 @@ Azure Maps 是“一組地理空間服務和 SDK,使用最新的地圖數據 如果你在網頁瀏覽器中打開你的 `index.html` 文件,你應該會看到一張地圖加載並聚焦在西雅圖地區。 - ![顯示美國華盛頓州城市西雅圖的地圖](../../../../../translated_images/tw/map-image.8fb2c53eb23ef39c1c0a4410a5282e879b3b452b707eb066ff04c5488d3d72b7.png) + ![顯示美國華盛頓州城市西雅圖的地圖](../../../../../translated_images/zh-TW/map-image.8fb2c53eb23ef39c1c0a4410a5282e879b3b452b707eb066ff04c5488d3d72b7.png) ✅ 試試更改縮放和中心參數來改變地圖顯示。你可以添加與數據的緯度和經度相對應的不同坐標來重新定位地圖。 @@ -328,7 +328,7 @@ Azure Maps 是“一組地理空間服務和 SDK,使用最新的地圖數據 1. 在瀏覽器中加載 HTML 頁面。它將加載地圖,然後從存儲中加載所有 GPS 數據並將其繪製在地圖上。 - ![西雅圖附近的 Saint Edward State Park 地圖,顯示公園邊緣路徑上的圓圈](../../../../../translated_images/tw/map-path.896832e72dc696ffe20650e4051027d4855442d955f93fdbb80bb417ca8a406f.png) + ![西雅圖附近的 Saint Edward State Park 地圖,顯示公園邊緣路徑上的圓圈](../../../../../translated_images/zh-TW/map-path.896832e72dc696ffe20650e4051027d4855442d955f93fdbb80bb417ca8a406f.png) > 💁 您可以在 [code](../../../../../3-transport/lessons/3-visualize-location-data/code) 文件夾中找到此代碼。 diff --git a/translations/tw/3-transport/lessons/4-geofences/README.md b/translations/tw/3-transport/lessons/4-geofences/README.md index c1a3bc4c6..7666ea6fc 100644 --- a/translations/tw/3-transport/lessons/4-geofences/README.md +++ b/translations/tw/3-transport/lessons/4-geofences/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 地理圍欄 -![本課程的手繪筆記概述](../../../../../translated_images/tw/lesson-14.63980c5150ae3c153e770fb71d044c1845dce79248d86bed9fc525adf3ede73c.jpg) +![本課程的手繪筆記概述](../../../../../translated_images/zh-TW/lesson-14.63980c5150ae3c153e770fb71d044c1845dce79248d86bed9fc525adf3ede73c.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -44,7 +44,7 @@ CO_OP_TRANSLATOR_METADATA: 地理圍欄是一個虛擬的邊界,用於真實世界的地理區域。地理圍欄可以是以點和半徑定義的圓形(例如建築物周圍 100 米的圓形),或者是覆蓋某個區域的多邊形,例如學校區域、城市邊界或大學或辦公園區。 -![一些地理圍欄的例子,顯示 Microsoft 公司商店周圍的圓形地理圍欄,以及 Microsoft 西園區周圍的多邊形地理圍欄](../../../../../translated_images/tw/geofence-examples.172fbc534665769f6e1a1ddcf75e3b25183cd10354c80cc603ba44b635390e1a.png) +![一些地理圍欄的例子,顯示 Microsoft 公司商店周圍的圓形地理圍欄,以及 Microsoft 西園區周圍的多邊形地理圍欄](../../../../../translated_images/zh-TW/geofence-examples.172fbc534665769f6e1a1ddcf75e3b25183cd10354c80cc603ba44b635390e1a.png) > 💁 您可能已經在不知情的情況下使用過地理圍欄。如果您曾使用 iOS 提醒應用程式或 Google Keep 根據位置設置提醒,那麼您就使用了地理圍欄。這些應用程式會根據提供的位置設置地理圍欄,並在您的手機進入地理圍欄時提醒您。 @@ -110,7 +110,7 @@ Azure Maps(您在上一課中用於可視化 GPS 數據的服務)允許您 多邊形的坐標數組總是比多邊形上的點數多一個,最後一個條目與第一個條目相同,用於閉合多邊形。例如,對於矩形,會有 5 個點。 -![一個矩形及其坐標](../../../../../translated_images/tw/polygon-points.302193da381cb415.webp) +![一個矩形及其坐標](../../../../../translated_images/zh-TW/polygon-points.302193da381cb415.webp) 在上圖中,有一個矩形。多邊形坐標從左上角的 47,-122 開始,然後向右移動到 47,-121,再向下移動到 46,-121,然後向左移動到 46,-122,最後回到起始點 47,-122。這樣多邊形就有 5 個點——左上角、右上角、右下角、左下角,然後是左上角以閉合多邊形。 @@ -208,7 +208,7 @@ Azure Maps(您在上一課中用於可視化 GPS 數據的服務)允許您 當 API 調用返回結果時,結果的一部分是測量到地理圍欄邊緣最近點的 `distance`,如果點在地理圍欄外則為正值,若在地理圍欄內則為負值。如果此距離小於 `searchBuffer`,則返回實際距離(以米為單位),否則值為 999 或 -999。999 表示該點距地理圍欄超過 `searchBuffer`,-999 表示該點距地理圍欄內超過 `searchBuffer`。 -![地理圍欄及其周圍 50 米的搜索緩衝區](../../../../../translated_images/tw/search-buffer-and-distance.e6a79af3898183c7.webp) +![地理圍欄及其周圍 50 米的搜索緩衝區](../../../../../translated_images/zh-TW/search-buffer-and-distance.e6a79af3898183c7.webp) 在上圖中,地理圍欄有一個 50 米的搜索緩衝區。 @@ -221,7 +221,7 @@ Azure Maps(您在上一課中用於可視化 GPS 數據的服務)允許您 例如,假設 GPS 讀數顯示車輛沿著一條道路行駛,該道路最終與地理圍欄相鄰。如果單個 GPS 值不準確並將車輛定位在地理圍欄內,儘管沒有車輛通行的入口,那麼可以忽略該值。 -![GPS 路徑顯示車輛沿著 520 公路經過 Microsoft 園區,GPS 讀數沿著道路分佈,除了其中一個在園區內,位於地理圍欄內](../../../../../translated_images/tw/geofence-crossing-inaccurate-gps.6a3ed911202ad9cabb66d3964888cec03a42c61d5b8f536ad5bdc99716b370f5.png) +![GPS 路徑顯示車輛沿著 520 公路經過 Microsoft 園區,GPS 讀數沿著道路分佈,除了其中一個在園區內,位於地理圍欄內](../../../../../translated_images/zh-TW/geofence-crossing-inaccurate-gps.6a3ed911202ad9cabb66d3964888cec03a42c61d5b8f536ad5bdc99716b370f5.png) 在上圖中,有一個地理圍欄覆蓋了部分 Microsoft 校園。紅線顯示了一輛卡車沿著 520 行駛,圓圈表示 GPS 讀數。大多數讀數是準確的,並且位於 520 上,但有一個不準確的讀數出現在地理圍欄內。這個讀數不可能是正確的——卡車不可能突然從 520 偏離進入校園,然後再回到 520。檢查地理圍欄的程式碼需要在執行地理圍欄測試結果之前考慮之前的讀數。 ✅ 需要檢查哪些額外的數據來判斷 GPS 讀數是否可以被認為是正確的? @@ -293,7 +293,7 @@ Azure Maps(您在上一課中用於可視化 GPS 數據的服務)允許您 答案是它無法知道!因此,您可以定義多個單獨的連接來讀取事件,每個連接可以管理未讀消息的重播。這些被稱為 *消費者組*。當您連接到端點時,可以指定要連接的消費者組。應用程式的每個組件將連接到不同的消費者組。 -![一個 IoT Hub 與 3 個消費者組分發相同的消息到 3 個不同的 Functions 應用](../../../../../translated_images/tw/consumer-groups.a3262e26fc27ba2092863678ad57af15c7223416e388a23f330c058cf4358630.png) +![一個 IoT Hub 與 3 個消費者組分發相同的消息到 3 個不同的 Functions 應用](../../../../../translated_images/zh-TW/consumer-groups.a3262e26fc27ba2092863678ad57af15c7223416e388a23f330c058cf4358630.png) 理論上,每個消費者組最多可以連接 5 個應用程式,並且它們都會在消息到達時接收消息。最佳實踐是每個消費者組僅由一個應用程式訪問,以避免重複處理消息,並確保在重新啟動時所有排隊的消息都能正確處理。例如,如果您在本地啟動了 Functions 應用並同時在雲端運行,它們都會處理消息,導致存儲帳戶中存儲的 Blob 重複。 diff --git a/translations/tw/4-manufacturing/lessons/1-train-fruit-detector/README.md b/translations/tw/4-manufacturing/lessons/1-train-fruit-detector/README.md index c68e2ebc1..4f925f1f2 100644 --- a/translations/tw/4-manufacturing/lessons/1-train-fruit-detector/README.md +++ b/translations/tw/4-manufacturing/lessons/1-train-fruit-detector/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 訓練水果品質檢測器 -![本課程概述的手繪筆記](../../../../../translated_images/tw/lesson-15.843d21afdc6fb2bba70cd9db7b7d2f91598859fafda2078b0bdc44954194b6c0.jpg) +![本課程概述的手繪筆記](../../../../../translated_images/zh-TW/lesson-15.843d21afdc6fb2bba70cd9db7b7d2f91598859fafda2078b0bdc44954194b6c0.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -47,7 +47,7 @@ CO_OP_TRANSLATOR_METADATA: 自動化收割的興起將產品分類從收割階段移到了工廠。食品會在長長的輸送帶上運輸,人工團隊挑選出不符合品質標準的產品。儘管使用機械收割降低了成本,但人工分類食品仍然需要付出成本。 -![如果檢測到紅色番茄,它會繼續前進。如果檢測到綠色番茄,則會被槓桿推入廢料箱](../../../../../translated_images/tw/optical-tomato-sorting.61aa134bdda4e5b1bfb16a212c1e35a6ef0c426cbb8b1c975f79d7bfbf48d068.png) +![如果檢測到紅色番茄,它會繼續前進。如果檢測到綠色番茄,則會被槓桿推入廢料箱](../../../../../translated_images/zh-TW/optical-tomato-sorting.61aa134bdda4e5b1bfb16a212c1e35a6ef0c426cbb8b1c975f79d7bfbf48d068.png) 下一步的演進是使用機器進行分類,這些機器可以內建於收割機中或位於加工廠內。第一代這些機器使用光學感測器檢測顏色,並控制執行器將綠色番茄推入廢料箱,使用槓桿或氣流將紅色番茄留在輸送帶網絡上繼續前進。 @@ -61,7 +61,7 @@ CO_OP_TRANSLATOR_METADATA: 傳統編程是將數據與算法結合,並生成輸出。例如,在上一個項目中,您使用 GPS 坐標和地理圍欄,應用 Azure Maps 提供的算法,並獲得該點是否在地理圍欄內或外的結果。輸入更多數據,您就能獲得更多輸出。 -![傳統開發使用輸入和算法生成輸出。機器學習使用輸入和輸出數據訓練模型,該模型可以使用新輸入數據生成新輸出](../../../../../translated_images/tw/traditional-vs-ml.5c20c169621fa539.webp) +![傳統開發使用輸入和算法生成輸出。機器學習使用輸入和輸出數據訓練模型,該模型可以使用新輸入數據生成新輸出](../../../../../translated_images/zh-TW/traditional-vs-ml.5c20c169621fa539.webp) 機器學習則顛覆了這一過程——您從數據和已知輸出開始,機器學習算法從數據中學習。然後,您可以使用這個訓練好的算法(稱為 *機器學習模型* 或 *模型*),輸入新數據並獲得新輸出。 @@ -71,7 +71,7 @@ CO_OP_TRANSLATOR_METADATA: > 🎓 ML 模型的結果稱為 *預測* -![兩根香蕉,一根成熟的香蕉預測為 99.7% 成熟,0.3% 未成熟;另一根未成熟的香蕉預測為 1.4% 成熟,98.6% 未成熟](../../../../../translated_images/tw/bananas-ripe-vs-unripe-predictions.8d0e2034014aa50ece4e4589e724b142da0681f35470fe3db3f7d51240f69c85.png) +![兩根香蕉,一根成熟的香蕉預測為 99.7% 成熟,0.3% 未成熟;另一根未成熟的香蕉預測為 1.4% 成熟,98.6% 未成熟](../../../../../translated_images/zh-TW/bananas-ripe-vs-unripe-predictions.8d0e2034014aa50ece4e4589e724b142da0681f35470fe3db3f7d51240f69c85.png) ML 模型不會給出二元答案,而是提供概率。例如,模型可能會給出一張香蕉的圖片,預測 `成熟` 的概率為 99.7%,`未成熟` 的概率為 0.3%。您的代碼將選擇最佳預測並判斷該香蕉是成熟的。 @@ -87,7 +87,7 @@ ML 模型不會給出二元答案,而是提供概率。例如,模型可能 一旦影像分類器已經針對各種影像進行訓練,它的內部就能很好地識別形狀、顏色和模式。遷移學習允許模型利用它已經學會的影像部分識別能力,來識別新影像。 -![一旦能識別形狀,它們可以以不同的配置組成船或貓](../../../../../translated_images/tw/shapes-to-images.1a309f0ea88dd66f.webp) +![一旦能識別形狀,它們可以以不同的配置組成船或貓](../../../../../translated_images/zh-TW/shapes-to-images.1a309f0ea88dd66f.webp) 您可以將其類比為兒童的形狀書籍,一旦您能識別半圓形、矩形和三角形,您就能根據這些形狀的配置識別帆船或貓。影像分類器可以識別形狀,而遷移學習則教它什麼樣的組合構成帆船或貓——或者成熟的香蕉。 @@ -99,7 +99,7 @@ ML 模型不會給出二元答案,而是提供概率。例如,模型可能 Custom Vision 是一種基於雲的工具,用於訓練影像分類器。它允許您僅使用少量影像訓練分類器。您可以通過 Web 入口、Web API 或 SDK 上傳影像,並為每張影像提供 *標籤*,以標記該影像的分類。然後,您可以訓練模型並測試其性能。一旦您對模型感到滿意,您可以發布版本,通過 Web API 或 SDK 訪問它。 -![Azure Custom Vision 標誌](../../../../../translated_images/tw/custom-vision-logo.d3d4e7c8a87ec9daf825e72e210576c3cbf60312577be7a139e22dd97ab7f1e6.png) +![Azure Custom Vision 標誌](../../../../../translated_images/zh-TW/custom-vision-logo.d3d4e7c8a87ec9daf825e72e210576c3cbf60312577be7a139e22dd97ab7f1e6.png) > 💁 您可以僅使用每個分類 5 張影像訓練 Custom Vision 模型,但影像越多效果越好。至少 30 張影像可以獲得更好的結果。 @@ -155,7 +155,7 @@ Custom Vision 是 Microsoft 提供的一系列 AI 工具的一部分,稱為 Co 創建項目時,請確保使用您之前創建的 `fruit-quality-detector-training` 資源。使用 *分類* 項目類型、*多類別* 分類類型以及 *食品* 領域。 - ![Custom Vision 項目的設置,名稱設為 fruit-quality-detector,無描述,資源設為 fruit-quality-detector-training,項目類型設為分類,分類類型設為多類別,領域設為食品](../../../../../translated_images/tw/custom-vision-create-project.cf46325b92d8b131089f6647cf5e07b664cb77850e106d66e3c057b6b69756c6.png) + ![Custom Vision 項目的設置,名稱設為 fruit-quality-detector,無描述,資源設為 fruit-quality-detector-training,項目類型設為分類,分類類型設為多類別,領域設為食品](../../../../../translated_images/zh-TW/custom-vision-create-project.cf46325b92d8b131089f6647cf5e07b664cb77850e106d66e3c057b6b69756c6.png) ✅ 花些時間探索您的影像分類器的 Custom Vision UI。 @@ -173,7 +173,7 @@ Custom Vision 是 Microsoft 提供的一系列 AI 工具的一部分,稱為 Co * 使用2根成熟的香蕉,從不同角度拍攝每根香蕉的幾張照片,至少拍攝7張(5張用於訓練,2張用於測試),但最好更多。 - ![2根不同香蕉的照片](../../../../../translated_images/tw/banana-training-images.530eb203346d73bc23b8b990fb4609470bf4ff7c942ccc13d4cfffeed9be1ad4.png) + ![2根不同香蕉的照片](../../../../../translated_images/zh-TW/banana-training-images.530eb203346d73bc23b8b990fb4609470bf4ff7c942ccc13d4cfffeed9be1ad4.png) * 使用2根未成熟的香蕉重複相同的過程。 @@ -183,7 +183,7 @@ Custom Vision 是 Microsoft 提供的一系列 AI 工具的一部分,稱為 Co 1. 按照[Microsoft文檔中建立分類器快速入門的上傳和標記影像部分](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/getting-started-build-a-classifier?WT.mc_id=academic-17441-jabenn#upload-and-tag-images)的指引,上傳您的訓練影像。將成熟的水果標記為`ripe`,未成熟的水果標記為`unripe`。 - ![上傳成熟和未成熟香蕉照片的對話框](../../../../../translated_images/tw/image-upload-bananas.0751639f3815e0ec42bdbc6254d1e4357a185834d1ae10c9948a0e7d6d336695.png) + ![上傳成熟和未成熟香蕉照片的對話框](../../../../../translated_images/zh-TW/image-upload-bananas.0751639f3815e0ec42bdbc6254d1e4357a185834d1ae10c9948a0e7d6d336695.png) 1. 按照[Microsoft文檔中建立分類器快速入門的訓練分類器部分](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/getting-started-build-a-classifier?WT.mc_id=academic-17441-jabenn#train-the-classifier)的指引,使用您上傳的影像訓練影像分類器。 @@ -201,7 +201,7 @@ Custom Vision 是 Microsoft 提供的一系列 AI 工具的一部分,稱為 Co 1. 按照[Microsoft文檔中測試模型的指引](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/test-your-model?WT.mc_id=academic-17441-jabenn#test-your-model),使用您之前準備的測試影像測試您的影像分類器,而不是使用訓練影像。 - ![一根未成熟香蕉被預測為未成熟,概率為98.9%,成熟概率為1.1%](../../../../../translated_images/tw/banana-unripe-quick-test-prediction.dae9b5e1c4ef7c64886422438850ea14f0be6ac918c217ea3b255c685abfabe7.png) + ![一根未成熟香蕉被預測為未成熟,概率為98.9%,成熟概率為1.1%](../../../../../translated_images/zh-TW/banana-unripe-quick-test-prediction.dae9b5e1c4ef7c64886422438850ea14f0be6ac918c217ea3b255c685abfabe7.png) 1. 嘗試使用您所有的測試影像並觀察概率。 diff --git a/translations/tw/4-manufacturing/lessons/2-check-fruit-from-device/README.md b/translations/tw/4-manufacturing/lessons/2-check-fruit-from-device/README.md index fa4f41ac5..d9e037044 100644 --- a/translations/tw/4-manufacturing/lessons/2-check-fruit-from-device/README.md +++ b/translations/tw/4-manufacturing/lessons/2-check-fruit-from-device/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 從物聯網設備檢查水果品質 -![本課程的手繪筆記概述](../../../../../translated_images/tw/lesson-16.215daf18b00631fbdfd64c6fc2dc6044dff5d544288825d8076f9fb83d964c23.jpg) +![本課程的手繪筆記概述](../../../../../translated_images/zh-TW/lesson-16.215daf18b00631fbdfd64c6fc2dc6044dff5d544288825d8076f9fb83d964c23.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大的版本。 @@ -35,7 +35,7 @@ CO_OP_TRANSLATOR_METADATA: 相機感測器,顧名思義,是可以連接到物聯網設備的相機。它們可以拍攝靜態圖像或捕捉流媒體視頻。有些會返回原始圖像數據,其他則會將圖像數據壓縮成如 JPEG 或 PNG 的圖像文件。通常,與物聯網設備配合使用的相機比你習慣的相機要小得多,分辨率也較低,但你也可以獲得媲美高端手機的高分辨率相機。你可以選擇各種可互換鏡頭、多相機設置、紅外熱成像相機或紫外線相機。 -![場景中的光線通過鏡頭並聚焦在 CMOS 感測器上](../../../../../translated_images/tw/cmos-sensor.75f9cd74decb137149a4c9ea825251a4549497d67c0ae2776159e6102bb53aa9.png) +![場景中的光線通過鏡頭並聚焦在 CMOS 感測器上](../../../../../translated_images/zh-TW/cmos-sensor.75f9cd74decb137149a4c9ea825251a4549497d67c0ae2776159e6102bb53aa9.png) 大多數相機感測器使用圖像感測器,其中每個像素都是一個光電二極管。鏡頭將圖像聚焦到圖像感測器上,數千或數百萬個光電二極管檢測落在每個二極管上的光線,並將其記錄為像素數據。 @@ -83,7 +83,7 @@ CO_OP_TRANSLATOR_METADATA: 1. 為該迭代版本選擇 **Publish** 按鈕。 - ![發布按鈕](../../../../../translated_images/tw/custom-vision-publish-button.b7174e1977b0c33b8b72d4e5b1326c779e0af196f3849d09985ee2d7d5493a39.png) + ![發布按鈕](../../../../../translated_images/zh-TW/custom-vision-publish-button.b7174e1977b0c33b8b72d4e5b1326c779e0af196f3849d09985ee2d7d5493a39.png) 1. 在 *Publish Model* 對話框中,將 *Prediction resource* 設置為你在上一課中創建的 `fruit-quality-detector-prediction` 資源。保持名稱為 `Iteration2`,然後選擇 **Publish** 按鈕。 @@ -97,7 +97,7 @@ CO_OP_TRANSLATOR_METADATA: 同時複製 *Prediction-Key* 值。這是一個安全密鑰,當你調用模型時必須傳遞此密鑰。只有傳遞此密鑰的應用程序才能使用模型,其他應用程序將被拒絕。 - ![預測 API 對話框顯示 URL 和密鑰](../../../../../translated_images/tw/custom-vision-prediction-key-endpoint.30c569ffd0338864f319911f052d5e9b8c5066cb0800a26dd6f7ff5713130ad8.png) + ![預測 API 對話框顯示 URL 和密鑰](../../../../../translated_images/zh-TW/custom-vision-prediction-key-endpoint.30c569ffd0338864f319911f052d5e9b8c5066cb0800a26dd6f7ff5713130ad8.png) ✅ 當新的迭代版本發布時,它會有不同的名稱。你認為如何更改物聯網設備使用的迭代版本? @@ -118,7 +118,7 @@ CO_OP_TRANSLATOR_METADATA: 要獲得最佳的圖像分類器結果,你需要使用與預測圖像盡可能相似的圖像來訓練模型。如果你使用手機相機捕捉訓練圖像,例如,圖像的質量、清晰度和顏色會與物聯網設備的相機不同。 -![兩張香蕉圖片,一張是物聯網設備拍攝的低分辨率、光線差的圖片,另一張是手機拍攝的高分辨率、光線好的圖片](../../../../../translated_images/tw/banana-picture-compare.174df164dc326a42cf7fb051a7497e6113c620e91552d92ca914220305d47d9a.png) +![兩張香蕉圖片,一張是物聯網設備拍攝的低分辨率、光線差的圖片,另一張是手機拍攝的高分辨率、光線好的圖片](../../../../../translated_images/zh-TW/banana-picture-compare.174df164dc326a42cf7fb051a7497e6113c620e91552d92ca914220305d47d9a.png) 在上圖中,左邊的香蕉圖片是使用 Raspberry Pi 相機拍攝的,右邊的圖片是使用 iPhone 在相同位置拍攝的同一香蕉。可以明顯看出質量的差異——iPhone 圖片更清晰,顏色更亮,對比度更高。 diff --git a/translations/tw/4-manufacturing/lessons/2-check-fruit-from-device/pi-camera.md b/translations/tw/4-manufacturing/lessons/2-check-fruit-from-device/pi-camera.md index ee29c7c60..a1f1dc749 100644 --- a/translations/tw/4-manufacturing/lessons/2-check-fruit-from-device/pi-camera.md +++ b/translations/tw/4-manufacturing/lessons/2-check-fruit-from-device/pi-camera.md @@ -25,7 +25,7 @@ Raspberry Pi 需要一個相機。 ### 任務 - 連接相機 -![Raspberry Pi 相機](../../../../../translated_images/tw/pi-camera-module.4278753c31bd6e757aa2b858be97d72049f71616278cefe4fb5abb485b40a078.png) +![Raspberry Pi 相機](../../../../../translated_images/zh-TW/pi-camera-module.4278753c31bd6e757aa2b858be97d72049f71616278cefe4fb5abb485b40a078.png) 1. 關閉 Raspberry Pi 的電源。 @@ -33,17 +33,17 @@ Raspberry Pi 需要一個相機。 您可以在 [Raspberry Pi 相機模組入門文檔](https://projects.raspberrypi.org/en/projects/getting-started-with-picamera/2) 中找到一個動畫,展示如何打開夾子並插入排線。 - ![扁平排線插入相機模組](../../../../../translated_images/tw/pi-camera-ribbon-cable.0bf82acd251611c21ac616f082849413e2b322a261d0e4f8fec344248083b07e.png) + ![扁平排線插入相機模組](../../../../../translated_images/zh-TW/pi-camera-ribbon-cable.0bf82acd251611c21ac616f082849413e2b322a261d0e4f8fec344248083b07e.png) 1. 從 Raspberry Pi 上取下 Grove Base Hat。 1. 將扁平排線穿過 Grove Base Hat 上的相機槽。確保排線的藍色面朝向標有 **A0**、**A1** 等的類比端口。 - ![扁平排線穿過 Grove Base Hat](../../../../../translated_images/tw/grove-base-hat-ribbon-cable.501fed202fcf73b11b2b68f6d246189f7d15d3e4423c572ddee79d77b4632b47.png) + ![扁平排線穿過 Grove Base Hat](../../../../../translated_images/zh-TW/grove-base-hat-ribbon-cable.501fed202fcf73b11b2b68f6d246189f7d15d3e4423c572ddee79d77b4632b47.png) 1. 將扁平排線插入 Raspberry Pi 上的相機端口。同樣,拉起黑色塑料夾,插入排線,然後將夾子推回原位。排線的藍色面應朝向 USB 和以太網端口。 - ![扁平排線連接到 Raspberry Pi 的相機插座](../../../../../translated_images/tw/pi-camera-socket-ribbon-cable.a18309920b11800911082ed7aa6fb28e6d9be3a022e4079ff990016cae3fca10.png) + ![扁平排線連接到 Raspberry Pi 的相機插座](../../../../../translated_images/zh-TW/pi-camera-socket-ribbon-cable.a18309920b11800911082ed7aa6fb28e6d9be3a022e4079ff990016cae3fca10.png) 1. 重新安裝 Grove Base Hat。 @@ -110,7 +110,7 @@ Raspberry Pi 需要一個相機。 `camera.rotation = 0` 行設置了影像的旋轉角度。扁平排線從相機底部進入,但如果您的相機為了更方便地對準要分類的物品而旋轉了,則可以將此行更改為相應的旋轉角度。 - ![相機懸掛在飲料罐上方](../../../../../translated_images/tw/pi-camera-upside-down.5376961ba31459883362124152ad6b823d5ac5fc14e85f317e22903bd681c2b6.png) + ![相機懸掛在飲料罐上方](../../../../../translated_images/zh-TW/pi-camera-upside-down.5376961ba31459883362124152ad6b823d5ac5fc14e85f317e22903bd681c2b6.png) 例如,如果您將扁平排線懸掛在某物上,使其位於相機的頂部,則將旋轉角度設置為 180: diff --git a/translations/tw/4-manufacturing/lessons/2-check-fruit-from-device/single-board-computer-classify-image.md b/translations/tw/4-manufacturing/lessons/2-check-fruit-from-device/single-board-computer-classify-image.md index 6fceec6bb..56a296037 100644 --- a/translations/tw/4-manufacturing/lessons/2-check-fruit-from-device/single-board-computer-classify-image.md +++ b/translations/tw/4-manufacturing/lessons/2-check-fruit-from-device/single-board-computer-classify-image.md @@ -93,7 +93,7 @@ Custom Vision 服務提供了一個 Python SDK,可用於分類影像。 你將能看到拍攝的影像,以及這些值在 Custom Vision 的 **Predictions** 標籤中顯示。 - ![Custom Vision 中的香蕉,預測成熟度為 56.8%,未成熟度為 43.1%](../../../../../translated_images/tw/custom-vision-banana-prediction.30cdff4e1d72db5d9a0be0193790a47c2b387da034e12dc1314dd57ca2131b59.png) + ![Custom Vision 中的香蕉,預測成熟度為 56.8%,未成熟度為 43.1%](../../../../../translated_images/zh-TW/custom-vision-banana-prediction.30cdff4e1d72db5d9a0be0193790a47c2b387da034e12dc1314dd57ca2131b59.png) > 💁 你可以在 [code-classify/pi](../../../../../4-manufacturing/lessons/2-check-fruit-from-device/code-classify/pi) 或 [code-classify/virtual-iot-device](../../../../../4-manufacturing/lessons/2-check-fruit-from-device/code-classify/virtual-iot-device) 資料夾中找到這段程式碼。 diff --git a/translations/tw/4-manufacturing/lessons/2-check-fruit-from-device/virtual-device-camera.md b/translations/tw/4-manufacturing/lessons/2-check-fruit-from-device/virtual-device-camera.md index b9704670e..165870d3d 100644 --- a/translations/tw/4-manufacturing/lessons/2-check-fruit-from-device/virtual-device-camera.md +++ b/translations/tw/4-manufacturing/lessons/2-check-fruit-from-device/virtual-device-camera.md @@ -43,11 +43,11 @@ CO_OP_TRANSLATOR_METADATA: 1. 選擇 **Add** 按鈕以建立相機。 - ![相機設定](../../../../../translated_images/tw/counterfit-create-camera.a5de97f59c0bd3cbe0416d7e89a3cfe86d19fbae05c641c53a91286412af0a34.png) + ![相機設定](../../../../../translated_images/zh-TW/counterfit-create-camera.a5de97f59c0bd3cbe0416d7e89a3cfe86d19fbae05c641c53a91286412af0a34.png) 相機將被建立並顯示在感測器清單中。 - ![已建立的相機](../../../../../translated_images/tw/counterfit-camera.001ec52194c8ee5d3f617173da2c79e1df903d10882adc625cbfc493525125d4.png) + ![已建立的相機](../../../../../translated_images/zh-TW/counterfit-camera.001ec52194c8ee5d3f617173da2c79e1df903d10882adc625cbfc493525125d4.png) ## 程式設計相機 @@ -112,7 +112,7 @@ CO_OP_TRANSLATOR_METADATA: 1. 設定 CounterFit 中相機將捕捉的影像。您可以將 *Source* 設定為 *File*,然後上傳一個影像檔案;或者將 *Source* 設定為 *WebCam*,影像將從您的網路攝影機捕捉。確保在選擇圖片或網路攝影機後按下 **Set** 按鈕。 - ![CounterFit 設定為檔案作為影像來源,並顯示網路攝影機預覽中一個人拿著香蕉的畫面](../../../../../translated_images/tw/counterfit-camera-options.eb3bd5150a8e7dffbf24bc5bcaba0cf2cdef95fbe6bbe393695d173817d6b8df.png) + ![CounterFit 設定為檔案作為影像來源,並顯示網路攝影機預覽中一個人拿著香蕉的畫面](../../../../../translated_images/zh-TW/counterfit-camera-options.eb3bd5150a8e7dffbf24bc5bcaba0cf2cdef95fbe6bbe393695d173817d6b8df.png) 1. 一張影像將被捕捉並儲存為 `image.jpg`,位於目前的資料夾中。您將在 VS Code 的檔案總管中看到此檔案。選擇該檔案以檢視影像。如果需要旋轉,請根據需要更新 `camera.rotation = 0` 這一行,然後重新拍攝影像。 diff --git a/translations/tw/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-camera.md b/translations/tw/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-camera.md index f995ecc5e..8fec3e446 100644 --- a/translations/tw/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-camera.md +++ b/translations/tw/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-camera.md @@ -25,11 +25,11 @@ ArduCam 沒有 Grove 插座,而是通過 Wio Terminal 的 GPIO 引腳連接到 連接相機。 -![ArduCam 感測器](../../../../../translated_images/tw/arducam.20e4e4cbb268296570b5914e20d6c349fc42ddac9ed4e1b9deba2188204eebae.png) +![ArduCam 感測器](../../../../../translated_images/zh-TW/arducam.20e4e4cbb268296570b5914e20d6c349fc42ddac9ed4e1b9deba2188204eebae.png) 1. ArduCam 底部的引腳需要連接到 Wio Terminal 的 GPIO 引腳。為了更容易找到正確的引腳,將 Wio Terminal 附帶的 GPIO 引腳貼紙貼在引腳周圍: - ![帶有 GPIO 引腳貼紙的 Wio Terminal](../../../../../translated_images/tw/wio-terminal-pin-sticker.b90b1535937b84bd.webp) + ![帶有 GPIO 引腳貼紙的 Wio Terminal](../../../../../translated_images/zh-TW/wio-terminal-pin-sticker.b90b1535937b84bd.webp) 1. 使用跳線,進行以下連接: @@ -44,7 +44,7 @@ ArduCam 沒有 Grove 插座,而是通過 Wio Terminal 的 GPIO 引腳連接到 | SDA | 3 (I2C1_SDA) | I2C 串行數據 | | SCL | 5 (I2C1_SCL) | I2C 串行時鐘 | - ![使用跳線連接的 Wio Terminal 和 ArduCam](../../../../../translated_images/tw/arducam-wio-terminal-connections.a4d5a4049bdb5ab800a2877389fc6ecf5e4ff307e6451ff56c517e6786467d0a.png) + ![使用跳線連接的 Wio Terminal 和 ArduCam](../../../../../translated_images/zh-TW/arducam-wio-terminal-connections.a4d5a4049bdb5ab800a2877389fc6ecf5e4ff307e6451ff56c517e6786467d0a.png) GND 和 VCC 連接為 ArduCam 提供 5V 電源。它以 5V 運行,不同於以 3V 運行的 Grove 感測器。此電源直接來自為設備供電的 USB-C 連接。 @@ -297,7 +297,7 @@ ArduCam 沒有 Grove 插座,而是通過 Wio Terminal 的 GPIO 引腳連接到 1. 微控制器會不斷運行您的代碼,因此很難在不響應感測器的情況下觸發某些操作,例如拍照。Wio Terminal 有按鈕,因此可以設置相機以由其中一個按鈕觸發。將以下代碼添加到 `setup` 函數的末尾,以配置 C 按鈕(頂部的三個按鈕之一,最靠近電源開關的按鈕)。 - ![最靠近電源開關的 C 按鈕](../../../../../translated_images/tw/wio-terminal-c-button.73df3cb1c1445ea0.webp) + ![最靠近電源開關的 C 按鈕](../../../../../translated_images/zh-TW/wio-terminal-c-button.73df3cb1c1445ea0.webp) ```cpp pinMode(WIO_KEY_C, INPUT_PULLUP); @@ -465,7 +465,7 @@ Wio Terminal 僅支持最大 16GB 的 microSD 卡。如果您有更大的 SD 卡 1. 關閉 microSD 卡並通過稍微推入並釋放來彈出,卡片會彈出。您可能需要使用細工具執行此操作。將 microSD 卡插入您的電腦以查看影像。 - ![使用 ArduCam 捕捉的香蕉照片](../../../../../translated_images/tw/banana-arducam.be1b32d4267a8194b0fd042362e56faa431da9cd4af172051b37243ea9be0256.jpg) + ![使用 ArduCam 捕捉的香蕉照片](../../../../../translated_images/zh-TW/banana-arducam.be1b32d4267a8194b0fd042362e56faa431da9cd4af172051b37243ea9be0256.jpg) 💁 相機的白平衡可能需要幾張圖片來進行自我調整。您會根據拍攝的圖片顏色注意到這一點,前幾張可能會顯得顏色不準。您可以通過修改程式碼,在 `setup` 函數中拍攝幾張被忽略的圖片來解決這個問題。 diff --git a/translations/tw/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-classify-image.md b/translations/tw/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-classify-image.md index 5746673be..fd0f85da0 100644 --- a/translations/tw/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-classify-image.md +++ b/translations/tw/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-classify-image.md @@ -217,7 +217,7 @@ Custom Vision 服務提供了一個 REST API,您可以從 Wio Terminal 調用 您將能夠看到拍攝的圖片,並在 Custom Vision 的 **Predictions** 標籤中看到這些值。 - ![Custom Vision 中的香蕉預測結果:熟香蕉 56.8%,未熟香蕉 43.1%](../../../../../translated_images/tw/custom-vision-banana-prediction.30cdff4e1d72db5d9a0be0193790a47c2b387da034e12dc1314dd57ca2131b59.png) + ![Custom Vision 中的香蕉預測結果:熟香蕉 56.8%,未熟香蕉 43.1%](../../../../../translated_images/zh-TW/custom-vision-banana-prediction.30cdff4e1d72db5d9a0be0193790a47c2b387da034e12dc1314dd57ca2131b59.png) > 💁 您可以在 [code-classify/wio-terminal](../../../../../4-manufacturing/lessons/2-check-fruit-from-device/code-classify/wio-terminal) 文件夾中找到此代碼。 diff --git a/translations/tw/4-manufacturing/lessons/3-run-fruit-detector-edge/README.md b/translations/tw/4-manufacturing/lessons/3-run-fruit-detector-edge/README.md index 64856ea98..5ed16af09 100644 --- a/translations/tw/4-manufacturing/lessons/3-run-fruit-detector-edge/README.md +++ b/translations/tw/4-manufacturing/lessons/3-run-fruit-detector-edge/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 在邊緣設備上運行水果檢測器 -![本課程的手繪筆記概覽](../../../../../translated_images/tw/lesson-17.bc333c3c35ba8e42cce666cfffa82b915f787f455bd94e006aea2b6f2722421a.jpg) +![本課程的手繪筆記概覽](../../../../../translated_images/zh-TW/lesson-17.bc333c3c35ba8e42cce666cfffa82b915f787f455bd94e006aea2b6f2722421a.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -42,11 +42,11 @@ CO_OP_TRANSLATOR_METADATA: 邊緣計算是指在盡可能靠近數據生成位置的地方處理物聯網數據。與其將處理放在雲端,不如將其移動到雲的邊緣——即你的內部網路。 -![一個展示雲端網路服務和本地網路上的物聯網設備的架構圖](../../../../../translated_images/tw/cloud-without-edge.b4da641f6022c95ed6b91fde8b5323abd2f94e0d52073ad54172ae8f5dac90e9.png) +![一個展示雲端網路服務和本地網路上的物聯網設備的架構圖](../../../../../translated_images/zh-TW/cloud-without-edge.b4da641f6022c95ed6b91fde8b5323abd2f94e0d52073ad54172ae8f5dac90e9.png) 到目前為止的課程中,你的設備一直在收集數據並將其發送到雲端進行分析,運行無伺服器函數或 AI 模型。 -![一個展示本地網路上的物聯網設備連接到邊緣設備,這些邊緣設備再連接到雲端的架構圖](../../../../../translated_images/tw/cloud-with-edge.1e26462c62c126fe150bd15a5714ddf0be599f09bacbad08b85be02b76ea1ae1.png) +![一個展示本地網路上的物聯網設備連接到邊緣設備,這些邊緣設備再連接到雲端的架構圖](../../../../../translated_images/zh-TW/cloud-with-edge.1e26462c62c126fe150bd15a5714ddf0be599f09bacbad08b85be02b76ea1ae1.png) 邊緣計算將部分雲端服務移到與物聯網設備相同網路上的計算機上,僅在需要時與雲端通信。例如,你可以在邊緣設備上運行 AI 模型來分析水果的成熟度,並僅將分析結果(如成熟水果與未成熟水果的數量)發送回雲端。 @@ -94,7 +94,7 @@ CO_OP_TRANSLATOR_METADATA: ## Azure IoT Edge -![Azure IoT Edge 標誌](../../../../../translated_images/tw/azure-iot-edge-logo.c1c076749b5cba2e8755262fadc2f19ca1146b948d76990b1229199ac2292d79.png) +![Azure IoT Edge 標誌](../../../../../translated_images/zh-TW/azure-iot-edge-logo.c1c076749b5cba2e8755262fadc2f19ca1146b948d76990b1229199ac2292d79.png) Azure IoT Edge 是一項服務,可以幫助你將工作負載從雲端移動到邊緣。你可以將設備設置為邊緣設備,並從雲端向該邊緣設備部署代碼。這使你能夠結合雲端和邊緣的功能。 @@ -108,7 +108,7 @@ IoT Edge 集成在 IoT Hub 中,因此你可以使用與管理物聯網設備 IoT Edge 從 *容器* 運行代碼——這些是與計算機上的其他應用程序隔離運行的自包含應用程序。運行容器時,它就像一台在你的計算機內部運行的獨立計算機,擁有自己的軟體、服務和應用程序。大多數情況下,容器無法訪問計算機上的任何內容,除非你選擇與容器共享某些內容(例如文件夾)。容器通過一個開放的端口暴露服務,你可以連接到該端口或將其暴露到網路。 -![一個網頁請求被重定向到容器](../../../../../translated_images/tw/container-web-browser.4ee81dd4f0d8838ce622b2a0d600b6a4322b5d4fe43159facd87b7b34f84d66a.png) +![一個網頁請求被重定向到容器](../../../../../translated_images/zh-TW/container-web-browser.4ee81dd4f0d8838ce622b2a0d600b6a4322b5d4fe43159facd87b7b34f84d66a.png) 例如,你可以有一個在端口 80(默認 HTTP 端口)上運行網站的容器,然後你可以將其從計算機的端口 80 暴露出來。 @@ -204,11 +204,11 @@ IoT Edge 從 *容器* 運行代碼——這些是與計算機上的其他應用 ## 為部署準備容器 -![容器被構建後推送到容器註冊表,然後通過 IoT Edge 從容器註冊表部署到邊緣設備](../../../../../translated_images/tw/container-edge-flow.c246050dd60ceefdb6ace026a4ce5c6aa4112bb5898ae23fbb2ab4be29ae3e1b.png) +![容器被構建後推送到容器註冊表,然後通過 IoT Edge 從容器註冊表部署到邊緣設備](../../../../../translated_images/zh-TW/container-edge-flow.c246050dd60ceefdb6ace026a4ce5c6aa4112bb5898ae23fbb2ab4be29ae3e1b.png) 下載模型後,需要將其構建為容器,然後推送到容器註冊表——一個可以存儲容器的線上位置。IoT Edge 可以從註冊表下載容器並推送到你的設備。 -![Azure Container Registry 標誌](../../../../../translated_images/tw/azure-container-registry-logo.09494206991d4b295025ebff7d4e2900325e527a59184ffbc8464b6ab59654be.png) +![Azure Container Registry 標誌](../../../../../translated_images/zh-TW/azure-container-registry-logo.09494206991d4b295025ebff7d4e2900325e527a59184ffbc8464b6ab59654be.png) 本課程中使用的容器註冊表是 Azure Container Registry。這不是免費服務,因此為了節省費用,請確保在完成後[清理你的專案](../../../clean-up.md)。 diff --git a/translations/tw/4-manufacturing/lessons/4-trigger-fruit-detector/README.md b/translations/tw/4-manufacturing/lessons/4-trigger-fruit-detector/README.md index 0fb1c73b2..d9e1e3362 100644 --- a/translations/tw/4-manufacturing/lessons/4-trigger-fruit-detector/README.md +++ b/translations/tw/4-manufacturing/lessons/4-trigger-fruit-detector/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 從感測器觸發水果品質檢測 -![本課程的手繪筆記概述](../../../../../translated_images/tw/lesson-18.92c32ed1d354caa5a54baa4032cf0b172d4655e8e326ad5d46c558a0def15365.jpg) +![本課程的手繪筆記概述](../../../../../translated_images/zh-TW/lesson-18.92c32ed1d354caa5a54baa4032cf0b172d4655e8e326ad5d46c558a0def15365.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -48,7 +48,7 @@ CO_OP_TRANSLATOR_METADATA: ### 物聯網架構參考 -![物聯網架構參考](../../../../../translated_images/tw/iot-reference-architecture.2278b98b55c6d4e89bde18eada3688d893861d43507641804dd2f9d3079cfaa0.png) +![物聯網架構參考](../../../../../translated_images/zh-TW/iot-reference-architecture.2278b98b55c6d4e89bde18eada3688d893861d43507641804dd2f9d3079cfaa0.png) 上圖展示了一個物聯網架構參考。 @@ -58,7 +58,7 @@ CO_OP_TRANSLATOR_METADATA: * **洞察**來自無伺服器應用或存儲數據的分析。 * **行動**可以是發送命令到設備,或是可視化數據以幫助人類做出決策。 -![Azure 物聯網架構參考](../../../../../translated_images/tw/iot-reference-architecture-azure.0b8d2161af924cb18ae48a8558a19541cca47f27264851b5b7e56d7b8bb372ac.png) +![Azure 物聯網架構參考](../../../../../translated_images/zh-TW/iot-reference-architecture-azure.0b8d2161af924cb18ae48a8558a19541cca47f27264851b5b7e56d7b8bb372ac.png) 上圖展示了在這些課程中涵蓋的一些元件和服務,以及它們如何在物聯網架構參考中相互連接。 @@ -98,7 +98,7 @@ CO_OP_TRANSLATOR_METADATA: ### 應用原型設計 -![水果品質檢測的物聯網架構參考](../../../../../translated_images/tw/iot-reference-architecture-fruit-quality.cc705f121c3b6fa71c800d9630935ac34bc08223a04601e35f41d5e9b5dd5207.png) +![水果品質檢測的物聯網架構參考](../../../../../translated_images/zh-TW/iot-reference-architecture-fruit-quality.cc705f121c3b6fa71c800d9630935ac34bc08223a04601e35f41d5e9b5dd5207.png) 上圖展示了此原型應用的架構參考。 @@ -115,7 +115,7 @@ CO_OP_TRANSLATOR_METADATA: 物聯網設備需要某種觸發器來指示水果何時準備好進行分類。一種觸發方式是通過測量距離感測器到水果的距離,判斷水果是否在輸送帶上的正確位置。 -![接近感測器發送雷射光束到物體(如香蕉),並計算光束反射回來的時間](../../../../../translated_images/tw/proximity-sensor.f5cd752c77fb62fe.webp) +![接近感測器發送雷射光束到物體(如香蕉),並計算光束反射回來的時間](../../../../../translated_images/zh-TW/proximity-sensor.f5cd752c77fb62fe.webp) 接近感測器可用於測量感測器到物體的距離。它們通常發送電磁輻射束,例如雷射光束或紅外線,然後檢測輻射從物體反射回來的信號。從光束發送到信號反射回來的時間可用於計算距離。 @@ -133,7 +133,7 @@ CO_OP_TRANSLATOR_METADATA: 原型水果檢測器有多個元件相互通信。 -![元件之間的通信](../../../../../translated_images/tw/fruit-quality-detector-message-flow.adf2a65da8fd8741ac7af11361574de89adc126785d67606bb4d2ec00467e380.png) +![元件之間的通信](../../../../../translated_images/zh-TW/fruit-quality-detector-message-flow.adf2a65da8fd8741ac7af11361574de89adc126785d67606bb4d2ec00467e380.png) * 接近感測器測量到水果的距離並將其發送到 IoT Hub * 控制相機的命令從 IoT Hub 發送到相機設備 diff --git a/translations/tw/4-manufacturing/lessons/4-trigger-fruit-detector/pi-proximity.md b/translations/tw/4-manufacturing/lessons/4-trigger-fruit-detector/pi-proximity.md index 828b710e2..097f2d28b 100644 --- a/translations/tw/4-manufacturing/lessons/4-trigger-fruit-detector/pi-proximity.md +++ b/translations/tw/4-manufacturing/lessons/4-trigger-fruit-detector/pi-proximity.md @@ -29,13 +29,13 @@ Grove 飛行時間感測器可以連接到 Raspberry Pi。 連接飛行時間感測器。 -![Grove 飛行時間感測器](../../../../../translated_images/tw/grove-time-of-flight-sensor.d82ff2165bfded9f485de54d8d07195a6270a602696825fca19f629ddfe94e86.png) +![Grove 飛行時間感測器](../../../../../translated_images/zh-TW/grove-time-of-flight-sensor.d82ff2165bfded9f485de54d8d07195a6270a602696825fca19f629ddfe94e86.png) 1. 將 Grove 電纜的一端插入飛行時間感測器上的插槽。它只能以一種方式插入。 1. 在 Raspberry Pi 關機的情況下,將 Grove 電纜的另一端連接到 Grove Base Hat 上標有 **I²C** 的插槽之一。這些插槽位於底部排,靠近相機電纜插槽,與 GPIO 引腳相對的一端。 -![Grove 飛行時間感測器連接到 I²C 插槽](../../../../../translated_images/tw/pi-time-of-flight-sensor.58c8dc04eb3bfb57.webp) +![Grove 飛行時間感測器連接到 I²C 插槽](../../../../../translated_images/zh-TW/pi-time-of-flight-sensor.58c8dc04eb3bfb57.webp) ## 編程飛行時間感測器 @@ -106,7 +106,7 @@ Grove 飛行時間感測器可以連接到 Raspberry Pi。 測距儀位於感測器的背面,因此在測量距離時請確保使用正確的一側。 - ![飛行時間感測器背面的測距儀對準一根香蕉](../../../../../translated_images/tw/time-of-flight-banana.079921ad8b1496e4.webp) + ![飛行時間感測器背面的測距儀對準一根香蕉](../../../../../translated_images/zh-TW/time-of-flight-banana.079921ad8b1496e4.webp) > 💁 您可以在 [code-proximity/pi](../../../../../4-manufacturing/lessons/4-trigger-fruit-detector/code-proximity/pi) 資料夾中找到此程式碼。 diff --git a/translations/tw/4-manufacturing/lessons/4-trigger-fruit-detector/virtual-device-proximity.md b/translations/tw/4-manufacturing/lessons/4-trigger-fruit-detector/virtual-device-proximity.md index aab231158..41788d80f 100644 --- a/translations/tw/4-manufacturing/lessons/4-trigger-fruit-detector/virtual-device-proximity.md +++ b/translations/tw/4-manufacturing/lessons/4-trigger-fruit-detector/virtual-device-proximity.md @@ -45,11 +45,11 @@ CO_OP_TRANSLATOR_METADATA: 1. 選擇 **Add** 按鈕以創建距離感測器。 - ![距離感測器設置](../../../../../translated_images/tw/counterfit-create-distance-sensor.967c9fb98f27888d95920c9784d004c972490eb71f70397fe13bd70a79a879a3.png) + ![距離感測器設置](../../../../../translated_images/zh-TW/counterfit-create-distance-sensor.967c9fb98f27888d95920c9784d004c972490eb71f70397fe13bd70a79a879a3.png) 距離感測器將被創建並顯示在感測器列表中。 - ![距離感測器已創建](../../../../../translated_images/tw/counterfit-distance-sensor.079eefeeea0b68afc36431ce8fcbe2f09a7e4916ed1cd5cb30e696db53bc18fa.png) + ![距離感測器已創建](../../../../../translated_images/zh-TW/counterfit-distance-sensor.079eefeeea0b68afc36431ce8fcbe2f09a7e4916ed1cd5cb30e696db53bc18fa.png) ## 程式化距離感測器 diff --git a/translations/tw/4-manufacturing/lessons/4-trigger-fruit-detector/wio-terminal-proximity.md b/translations/tw/4-manufacturing/lessons/4-trigger-fruit-detector/wio-terminal-proximity.md index de8d5b398..0bd74160d 100644 --- a/translations/tw/4-manufacturing/lessons/4-trigger-fruit-detector/wio-terminal-proximity.md +++ b/translations/tw/4-manufacturing/lessons/4-trigger-fruit-detector/wio-terminal-proximity.md @@ -29,13 +29,13 @@ Grove 飛行時間感測器可以連接到 Wio Terminal。 連接飛行時間感測器。 -![Grove 飛行時間感測器](../../../../../translated_images/tw/grove-time-of-flight-sensor.d82ff2165bfded9f485de54d8d07195a6270a602696825fca19f629ddfe94e86.png) +![Grove 飛行時間感測器](../../../../../translated_images/zh-TW/grove-time-of-flight-sensor.d82ff2165bfded9f485de54d8d07195a6270a602696825fca19f629ddfe94e86.png) 1. 將 Grove 電纜的一端插入飛行時間感測器上的插座。電纜只能以一種方向插入。 1. 在 Wio Terminal 未連接到電腦或其他電源的情況下,將 Grove 電纜的另一端連接到 Wio Terminal 左側的 Grove 插座(面向螢幕)。這是靠近電源按鈕的插座,該插座是數位和 I2C 的組合插座。 -![Grove 飛行時間感測器連接到左側插座](../../../../../translated_images/tw/wio-time-of-flight-sensor.c4c182131d2ea73d.webp) +![Grove 飛行時間感測器連接到左側插座](../../../../../translated_images/zh-TW/wio-time-of-flight-sensor.c4c182131d2ea73d.webp) 1. 現在可以將 Wio Terminal 連接到您的電腦。 @@ -101,7 +101,7 @@ Grove 飛行時間感測器可以連接到 Wio Terminal。 測距儀位於感測器的背面,因此在測量距離時請確保使用正確的一側。 - ![飛行時間感測器背面的測距儀指向一根香蕉](../../../../../translated_images/tw/time-of-flight-banana.079921ad8b1496e4.webp) + ![飛行時間感測器背面的測距儀指向一根香蕉](../../../../../translated_images/zh-TW/time-of-flight-banana.079921ad8b1496e4.webp) > 💁 您可以在 [code-proximity/wio-terminal](../../../../../4-manufacturing/lessons/4-trigger-fruit-detector/code-proximity/wio-terminal) 資料夾中找到此程式碼。 diff --git a/translations/tw/5-retail/lessons/1-train-stock-detector/README.md b/translations/tw/5-retail/lessons/1-train-stock-detector/README.md index 1a4d1974a..d91d80adb 100644 --- a/translations/tw/5-retail/lessons/1-train-stock-detector/README.md +++ b/translations/tw/5-retail/lessons/1-train-stock-detector/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 訓練庫存檢測器 -![本課程的手繪筆記概述](../../../../../translated_images/tw/lesson-19.cf6973cecadf080c4b526310620dc4d6f5994c80fb0139c6f378cc9ca2d435cd.jpg) +![本課程的手繪筆記概述](../../../../../translated_images/zh-TW/lesson-19.cf6973cecadf080c4b526310620dc4d6f5994c80fb0139c6f378cc9ca2d435cd.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -45,7 +45,7 @@ CO_OP_TRANSLATOR_METADATA: 影像分類是針對整個影像進行分類——判斷整個影像符合每個標籤的概率。你會得到模型訓練中使用的每個標籤的概率。 -![腰果和番茄醬的影像分類](../../../../../translated_images/tw/image-classifier-cashews-tomato.bc2e16ab8f05cf9ac0f59f73e32efc4227f9a5b601b90b2c60f436694547a965.png) +![腰果和番茄醬的影像分類](../../../../../translated_images/zh-TW/image-classifier-cashews-tomato.bc2e16ab8f05cf9ac0f59f73e32efc4227f9a5b601b90b2c60f436694547a965.png) 在上面的例子中,兩張影像使用了一個訓練來分類腰果罐或番茄醬罐的模型進行分類。第一張影像是一罐腰果,影像分類器的結果如下: @@ -69,7 +69,7 @@ CO_OP_TRANSLATOR_METADATA: > 🎓 *邊界框* 是物件周圍的框。 -![腰果和番茄醬的物件檢測](../../../../../translated_images/tw/object-detector-cashews-tomato.1af7c26686b4db0e709754aeb196f4e73271f54e2085db3bcccb70d4a0d84d97.png) +![腰果和番茄醬的物件檢測](../../../../../translated_images/zh-TW/object-detector-cashews-tomato.1af7c26686b4db0e709754aeb196f4e73271f54e2085db3bcccb70d4a0d84d97.png) 上面的影像包含一罐腰果和三罐番茄醬。物件檢測器檢測到了腰果,返回了包含腰果的邊界框以及該邊界框包含物件的概率,在此例中為 97.6%。物件檢測器還檢測到了三罐番茄醬,並提供了三個單獨的邊界框,每個檢測到的罐子都有一個邊界框以及該邊界框包含番茄醬罐的概率。 @@ -120,7 +120,7 @@ CO_OP_TRANSLATOR_METADATA: 創建專案時,請確保使用你之前創建的 `stock-detector-training` 資源。使用 *物件檢測* 專案類型和 *貨架上的產品* 領域。 - ![Custom Vision 專案的設置,名稱設為 fruit-quality-detector,無描述,資源設為 fruit-quality-detector-training,專案類型設為分類,分類類型設為多類別,領域設為食品](../../../../../translated_images/tw/custom-vision-create-object-detector-project.32d4fb9aa8e7e7375f8a799bfce517aca970f2cb65e42d4245c5e635c734ab29.png) + ![Custom Vision 專案的設置,名稱設為 fruit-quality-detector,無描述,資源設為 fruit-quality-detector-training,專案類型設為分類,分類類型設為多類別,領域設為食品](../../../../../translated_images/zh-TW/custom-vision-create-object-detector-project.32d4fb9aa8e7e7375f8a799bfce517aca970f2cb65e42d4245c5e635c734ab29.png) ✅ 貨架上的產品領域專門用於檢測貨架上的庫存。閱讀更多有關不同領域的資訊,請參考 [Microsoft Docs 上的選擇領域文檔](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/select-domain?WT.mc_id=academic-17441-jabenn#object-detection) @@ -142,11 +142,11 @@ CO_OP_TRANSLATOR_METADATA: 1. 按照 Microsoft Docs 上 [建立物件檢測器快速入門的上傳和標記影像部分](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/get-started-build-detector?WT.mc_id=academic-17441-jabenn#upload-and-tag-images) 的指導來上傳你的訓練影像。根據你想檢測的物件類型創建相關標籤。 - ![上傳對話框顯示上傳成熟和未成熟香蕉的圖片](../../../../../translated_images/tw/image-upload-object-detector.77c7892c3093cb59b79018edecd678749a75d71a099bc8a2d2f2f76320f88a5b.png) + ![上傳對話框顯示上傳成熟和未成熟香蕉的圖片](../../../../../translated_images/zh-TW/image-upload-object-detector.77c7892c3093cb59b79018edecd678749a75d71a099bc8a2d2f2f76320f88a5b.png) 畫物件的邊界框時,請保持框緊貼物件。標記所有影像可能需要一些時間,但工具會檢測它認為是邊界框的部分,這樣可以加快速度。 - ![標記一些番茄醬](../../../../../translated_images/tw/object-detector-tag-tomato-paste.f47c362fb0f0eb582f3bc68cf3855fb43a805106395358d41896a269c210b7b4.png) + ![標記一些番茄醬](../../../../../translated_images/zh-TW/object-detector-tag-tomato-paste.f47c362fb0f0eb582f3bc68cf3855fb43a805106395358d41896a269c210b7b4.png) > 💁 如果你有超過 15 張影像的每個物件,你可以在 15 張影像後進行訓練,然後使用 **建議標籤** 功能。這將使用訓練的模型檢測未標記影像中的物件。你可以確認檢測到的物件,或者拒絕並重新繪製邊界框。這可以節省大量時間。 @@ -164,7 +164,7 @@ CO_OP_TRANSLATOR_METADATA: 1. 使用 **快速測試** 按鈕上傳測試影像並驗證物件是否被檢測到。使用你之前創建的測試影像,而不是任何用於訓練的影像。 - ![檢測到 3 罐番茄醬,概率分別為 38%、35.5% 和 34.6%](../../../../../translated_images/tw/object-detector-detected-tomato-paste.52656fe87af4c37b4ee540526d63e73ed075da2e54a9a060aa528e0c562fb1b6.png) + ![檢測到 3 罐番茄醬,概率分別為 38%、35.5% 和 34.6%](../../../../../translated_images/zh-TW/object-detector-detected-tomato-paste.52656fe87af4c37b4ee540526d63e73ed075da2e54a9a060aa528e0c562fb1b6.png) 1. 嘗試所有你擁有的測試影像並觀察概率。 diff --git a/translations/tw/5-retail/lessons/2-check-stock-device/README.md b/translations/tw/5-retail/lessons/2-check-stock-device/README.md index e39d694b0..7382af25f 100644 --- a/translations/tw/5-retail/lessons/2-check-stock-device/README.md +++ b/translations/tw/5-retail/lessons/2-check-stock-device/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 從物聯網設備檢查庫存 -![本課程概述的手繪筆記](../../../../../translated_images/tw/lesson-20.0211df9551a8abb300fc8fcf7dc2789468dea2eabe9202273ac077b0ba37f15e.jpg) +![本課程概述的手繪筆記](../../../../../translated_images/zh-TW/lesson-20.0211df9551a8abb300fc8fcf7dc2789468dea2eabe9202273ac077b0ba37f15e.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -39,7 +39,7 @@ CO_OP_TRANSLATOR_METADATA: 例如,如果攝影機對準一組可以容納8罐番茄醬的貨架,而物件偵測器只偵測到7罐,那麼就缺少一罐,需要補貨。 -![貨架上的7罐番茄醬,頂層4罐,下層3罐](../../../../../translated_images/tw/stock-7-cans-tomato-paste.f86059cc573d7bec.webp) +![貨架上的7罐番茄醬,頂層4罐,下層3罐](../../../../../translated_images/zh-TW/stock-7-cans-tomato-paste.f86059cc573d7bec.webp) 在上圖中,物件偵測器偵測到貨架上有7罐番茄醬,而該貨架可以容納8罐。不僅物聯網設備可以發送需要補貨的通知,它甚至可以提供缺少物品的具體位置,這對於使用機器人補貨的情況來說是重要的數據。 @@ -51,7 +51,7 @@ CO_OP_TRANSLATOR_METADATA: 物件偵測可以用來偵測意外的物品,並通知人類或機器人盡快將物品歸位。 -![番茄醬貨架上的一罐錯放的嬰兒玉米罐頭](../../../../../translated_images/tw/stock-rogue-corn.be1f3ada8c457854.webp) +![番茄醬貨架上的一罐錯放的嬰兒玉米罐頭](../../../../../translated_images/zh-TW/stock-rogue-corn.be1f3ada8c457854.webp) 在上圖中,一罐嬰兒玉米罐頭被放在番茄醬旁邊。物件偵測器偵測到這一情況,使物聯網設備能夠通知人類或機器人將罐頭歸位。 @@ -71,7 +71,7 @@ CO_OP_TRANSLATOR_METADATA: 1. 為該迭代版本選擇 **Publish** 按鈕。 - ![發佈按鈕](../../../../../translated_images/tw/custom-vision-object-detector-publish-button.34ee379fc650ccb9856c3868d0003f413b9529f102fc73c37168c98d721cc293.png) + ![發佈按鈕](../../../../../translated_images/zh-TW/custom-vision-object-detector-publish-button.34ee379fc650ccb9856c3868d0003f413b9529f102fc73c37168c98d721cc293.png) 1. 在 *Publish Model* 對話框中,將 *Prediction resource* 設置為你在上一課中創建的 `stock-detector-prediction` 資源。名稱保持為 `Iteration2`,然後選擇 **Publish** 按鈕。 @@ -85,7 +85,7 @@ CO_OP_TRANSLATOR_METADATA: 同時複製 *Prediction-Key* 值。這是一個安全密鑰,當你呼叫模型時需要傳遞此密鑰。只有傳遞此密鑰的應用程式才能使用模型,其他應用程式將被拒絕。 - ![預測 API 對話框顯示 URL 和密鑰](../../../../../translated_images/tw/custom-vision-prediction-key-endpoint.30c569ffd0338864f319911f052d5e9b8c5066cb0800a26dd6f7ff5713130ad8.png) + ![預測 API 對話框顯示 URL 和密鑰](../../../../../translated_images/zh-TW/custom-vision-prediction-key-endpoint.30c569ffd0338864f319911f052d5e9b8c5066cb0800a26dd6f7ff5713130ad8.png) ✅ 當新的迭代版本被發佈時,它會有不同的名稱。你認為如何更改物聯網設備使用的迭代版本? @@ -104,7 +104,7 @@ CO_OP_TRANSLATOR_METADATA: 在 Custom Vision 的 **Predictions** 標籤中,預測結果會在發送進行預測的圖像上繪製邊界框。 -![貨架上的4罐番茄醬,預測結果顯示4個偵測分別為35.8%、33.5%、25.7%和16.6%](../../../../../translated_images/tw/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.png) +![貨架上的4罐番茄醬,預測結果顯示4個偵測分別為35.8%、33.5%、25.7%和16.6%](../../../../../translated_images/zh-TW/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.png) 在上圖中,偵測到4罐番茄醬。結果中,每個偵測到的物件都在圖像上疊加了一個紅色方框,表示該物件的邊界框。 @@ -112,7 +112,7 @@ CO_OP_TRANSLATOR_METADATA: 邊界框由4個值定義:上、左、高度和寬度。這些值的範圍是0-1,表示位置是圖像大小的百分比。原點(0,0位置)是圖像的左上角,因此上值是距離頂部的距離,而邊界框的底部是上值加上高度。 -![番茄醬罐頭的邊界框](../../../../../translated_images/tw/bounding-box.1420a7ea0d3d15f71e1ffb5cf4b2271d184fac051f990abc541975168d163684.png) +![番茄醬罐頭的邊界框](../../../../../translated_images/zh-TW/bounding-box.1420a7ea0d3d15f71e1ffb5cf4b2271d184fac051f990abc541975168d163684.png) 上圖的寬度為600像素,高度為800像素。邊界框從320像素開始,給出上座標為0.4(800 x 0.4 = 320)。從左側開始,邊界框從240像素開始,給出左座標為0.4(600 x 0.4 = 240)。邊界框的高度為240像素,給出高度值為0.3(800 x 0.3 = 240)。邊界框的寬度為120像素,給出寬度值為0.2(600 x 0.2 = 120)。 @@ -127,7 +127,7 @@ CO_OP_TRANSLATOR_METADATA: 你可以結合邊界框和概率來評估偵測的準確性。例如,物件偵測器可能會偵測到多個重疊的物件,例如偵測到一個罐頭在另一個罐頭內。你的程式碼可以檢查邊界框,判斷這是不可能的,並忽略任何與其他物件有顯著重疊的物件。 -![兩個邊界框重疊在一罐番茄醬上](../../../../../translated_images/tw/overlap-object-detection.d431e03cae75072a2760430eca7f2c5fdd43045bfd72dadcbf12711f7cd6c2ae.png) +![兩個邊界框重疊在一罐番茄醬上](../../../../../translated_images/zh-TW/overlap-object-detection.d431e03cae75072a2760430eca7f2c5fdd43045bfd72dadcbf12711f7cd6c2ae.png) 在上例中,一個邊界框表示預測的番茄醬罐頭概率為78.3%。第二個邊界框稍小,位於第一個邊界框內,概率為64.3%。你的程式碼可以檢查邊界框,發現它們完全重疊,並忽略較低的概率,因為不可能一個罐頭在另一個罐頭內。 diff --git a/translations/tw/5-retail/lessons/2-check-stock-device/single-board-computer-count-stock.md b/translations/tw/5-retail/lessons/2-check-stock-device/single-board-computer-count-stock.md index 1859f80f5..1c3386bd1 100644 --- a/translations/tw/5-retail/lessons/2-check-stock-device/single-board-computer-count-stock.md +++ b/translations/tw/5-retail/lessons/2-check-stock-device/single-board-computer-count-stock.md @@ -81,7 +81,7 @@ CO_OP_TRANSLATOR_METADATA: 1. 將相機對準架子上的一些庫存並運行應用程式。您將在 VS Code 的檔案瀏覽器中看到 `image.jpg` 文件,並可以選擇它來查看邊界框。 - ![4 罐番茄醬,每罐周圍都有邊界框](../../../../../translated_images/tw/rpi-stock-with-bounding-boxes.b5540e2ecb7cd49f.webp) + ![4 罐番茄醬,每罐周圍都有邊界框](../../../../../translated_images/zh-TW/rpi-stock-with-bounding-boxes.b5540e2ecb7cd49f.webp) ## 計算庫存 diff --git a/translations/tw/5-retail/lessons/2-check-stock-device/single-board-computer-object-detector.md b/translations/tw/5-retail/lessons/2-check-stock-device/single-board-computer-object-detector.md index 86c999493..5ca73deeb 100644 --- a/translations/tw/5-retail/lessons/2-check-stock-device/single-board-computer-object-detector.md +++ b/translations/tw/5-retail/lessons/2-check-stock-device/single-board-computer-object-detector.md @@ -76,7 +76,7 @@ CO_OP_TRANSLATOR_METADATA: 你將能看到拍攝的影像,以及這些值在 Custom Vision 的 **Predictions** 標籤中。 - ![架子上有 4 罐番茄醬,預測結果分別為 35.8%、33.5%、25.7% 和 16.6%](../../../../../translated_images/tw/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.png) + ![架子上有 4 罐番茄醬,預測結果分別為 35.8%、33.5%、25.7% 和 16.6%](../../../../../translated_images/zh-TW/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.png) > 💁 你可以在 [code-detect/pi](../../../../../5-retail/lessons/2-check-stock-device/code-detect/pi) 或 [code-detect/virtual-iot-device](../../../../../5-retail/lessons/2-check-stock-device/code-detect/virtual-iot-device) 資料夾中找到此程式碼。 diff --git a/translations/tw/5-retail/lessons/2-check-stock-device/wio-terminal-count-stock.md b/translations/tw/5-retail/lessons/2-check-stock-device/wio-terminal-count-stock.md index 24620d45c..4dabd33e3 100644 --- a/translations/tw/5-retail/lessons/2-check-stock-device/wio-terminal-count-stock.md +++ b/translations/tw/5-retail/lessons/2-check-stock-device/wio-terminal-count-stock.md @@ -13,7 +13,7 @@ CO_OP_TRANSLATOR_METADATA: ## 計算庫存 -![4罐番茄醬,每罐周圍都有邊界框](../../../../../translated_images/tw/rpi-stock-with-bounding-boxes.b5540e2ecb7cd49f.webp) +![4罐番茄醬,每罐周圍都有邊界框](../../../../../translated_images/zh-TW/rpi-stock-with-bounding-boxes.b5540e2ecb7cd49f.webp) 在上圖中,邊界框有些許重疊。如果這種重疊更大,則邊界框可能表示同一個物件。為了正確計算物件數量,您需要忽略具有顯著重疊的框。 diff --git a/translations/tw/5-retail/lessons/2-check-stock-device/wio-terminal-object-detector.md b/translations/tw/5-retail/lessons/2-check-stock-device/wio-terminal-object-detector.md index e16f33713..42e2c9a8f 100644 --- a/translations/tw/5-retail/lessons/2-check-stock-device/wio-terminal-object-detector.md +++ b/translations/tw/5-retail/lessons/2-check-stock-device/wio-terminal-object-detector.md @@ -104,7 +104,7 @@ CO_OP_TRANSLATOR_METADATA: 你將能看到拍攝的影像,以及這些值在 Custom Vision 的 **Predictions** 標籤中。 - ![架子上的4罐番茄醬,檢測結果分別為35.8%、33.5%、25.7%和16.6%](../../../../../translated_images/tw/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.png) + ![架子上的4罐番茄醬,檢測結果分別為35.8%、33.5%、25.7%和16.6%](../../../../../translated_images/zh-TW/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.png) > 💁 你可以在 [code-detect/wio-terminal](../../../../../5-retail/lessons/2-check-stock-device/code-detect/wio-terminal) 資料夾中找到此程式碼。 diff --git a/translations/tw/6-consumer/lessons/1-speech-recognition/README.md b/translations/tw/6-consumer/lessons/1-speech-recognition/README.md index 65f7890ca..c0f59880d 100644 --- a/translations/tw/6-consumer/lessons/1-speech-recognition/README.md +++ b/translations/tw/6-consumer/lessons/1-speech-recognition/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 使用物聯網設備進行語音識別 -![本課程的手繪筆記概述](../../../../../translated_images/tw/lesson-21.e34de51354d6606fb5ee08d8c89d0222eea0a2a7aaf744a8805ae847c4f69dc4.jpg) +![本課程的手繪筆記概述](../../../../../translated_images/zh-TW/lesson-21.e34de51354d6606fb5ee08d8c89d0222eea0a2a7aaf744a8805ae847c4f69dc4.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -60,19 +60,19 @@ CO_OP_TRANSLATOR_METADATA: 動圈式麥克風不需要電源即可工作,電信號完全由麥克風生成。 - ![Patti Smith 使用 Shure SM58(動圈心型)麥克風演唱](../../../../../translated_images/tw/dynamic-mic.8babac890a2d80dfb0874b5bf37d4b851fe2aeb9da6fd72945746176978bf3bb.jpg) + ![Patti Smith 使用 Shure SM58(動圈心型)麥克風演唱](../../../../../translated_images/zh-TW/dynamic-mic.8babac890a2d80dfb0874b5bf37d4b851fe2aeb9da6fd72945746176978bf3bb.jpg) * 緞帶式 - 緞帶式麥克風類似於動圈式麥克風,但它使用金屬緞帶代替振膜。該緞帶在磁場中移動時會產生電流。與動圈式麥克風一樣,緞帶式麥克風不需要電源即可工作。 - ![美國演員 Edmund Lowe 站在標有 (NBC) Blue Network 的廣播麥克風前,手持劇本,1942年](../../../../../translated_images/tw/ribbon-mic.eacc8e092c7441ca.webp) + ![美國演員 Edmund Lowe 站在標有 (NBC) Blue Network 的廣播麥克風前,手持劇本,1942年](../../../../../translated_images/zh-TW/ribbon-mic.eacc8e092c7441ca.webp) * 電容式 - 電容式麥克風具有一個薄金屬振膜和一個固定的金屬背板。電流被施加到這兩者上,當振膜振動時,板之間的靜電荷發生變化,從而產生信號。電容式麥克風需要電源才能工作,稱為 *幻象電源*。 - ![AKG Acoustics 的 C451B 小振膜電容式麥克風](../../../../../translated_images/tw/condenser-mic.6f6ed5b76ca19e0ec3fd0c544601542d4479a6cb7565db336de49fbbf69f623e.jpg) + ![AKG Acoustics 的 C451B 小振膜電容式麥克風](../../../../../translated_images/zh-TW/condenser-mic.6f6ed5b76ca19e0ec3fd0c544601542d4479a6cb7565db336de49fbbf69f623e.jpg) * MEMS - 微機電系統麥克風,或 MEMS,是芯片上的麥克風。它們在矽芯片上刻有壓力敏感振膜,工作原理類似於電容式麥克風。這些麥克風可以非常小,並集成到電路中。 - ![電路板上的 MEMS 麥克風](../../../../../translated_images/tw/mems-microphone.80574019e1f5e4d9ee72fed720ecd25a39fc2969c91355d17ebb24ba4159e4c4.png) + ![電路板上的 MEMS 麥克風](../../../../../translated_images/zh-TW/mems-microphone.80574019e1f5e4d9ee72fed720ecd25a39fc2969c91355d17ebb24ba4159e4c4.png) 在上圖中,標記為 **LEFT** 的芯片是一個 MEMS 麥克風,其振膜寬度不到一毫米。 @@ -84,7 +84,7 @@ CO_OP_TRANSLATOR_METADATA: > 🎓 取樣是將音頻信號轉換為數位值,該值表示該時刻的信號。 -![顯示信號的折線圖,具有固定間隔的離散點](../../../../../translated_images/tw/sampling.6f4fadb3f2d9dfe7.webp) +![顯示信號的折線圖,具有固定間隔的離散點](../../../../../translated_images/zh-TW/sampling.6f4fadb3f2d9dfe7.webp) 數位音頻使用脈衝編碼調變(Pulse Code Modulation,PCM)進行取樣。PCM 涉及讀取信號的電壓,並使用定義的大小選擇最接近該電壓的離散值。 @@ -168,7 +168,7 @@ CO_OP_TRANSLATOR_METADATA: ## 語音轉文字 -![語音服務標誌](../../../../../translated_images/tw/azure-speech-logo.a1f08c4befb0159f2cb5d692d3baf5b599e7b44759d316da907bda1508f46a4a.png) +![語音服務標誌](../../../../../translated_images/zh-TW/azure-speech-logo.a1f08c4befb0159f2cb5d692d3baf5b599e7b44759d316da907bda1508f46a4a.png) 就像之前的影像分類項目一樣,有一些預建的 AI 服務可以將音頻文件轉換為文字。其中一項服務是語音服務,它是認知服務的一部分,這些預建的 AI 服務可以在你的應用中使用。 diff --git a/translations/tw/6-consumer/lessons/1-speech-recognition/pi-audio.md b/translations/tw/6-consumer/lessons/1-speech-recognition/pi-audio.md index 5b49931b0..609412056 100644 --- a/translations/tw/6-consumer/lessons/1-speech-recognition/pi-audio.md +++ b/translations/tw/6-consumer/lessons/1-speech-recognition/pi-audio.md @@ -25,13 +25,13 @@ Raspberry Pi 需要一個按鈕來控制音訊捕捉。 #### 任務 - 連接按鈕 -![Grove 按鈕](../../../../../translated_images/tw/grove-button.a70cfbb809a8563681003250cf5b06d68cdcc68624f9e2f493d5a534ae2da1e5.png) +![Grove 按鈕](../../../../../translated_images/zh-TW/grove-button.a70cfbb809a8563681003250cf5b06d68cdcc68624f9e2f493d5a534ae2da1e5.png) 1. 將 Grove 電纜的一端插入按鈕模組上的插座。它只能以一種方式插入。 1. 在 Raspberry Pi 關機的情況下,將 Grove 電纜的另一端連接到 Pi 上 Grove 基座 HAT 的數位插座 **D5**。此插座位於 GPIO 引腳旁邊的一排插座中,從左數第二個。 -![Grove 按鈕連接到插座 D5](../../../../../translated_images/tw/pi-button.c7a1a4f55943341ce1baf1057658e9a205804d4131d258e820c93f951df0abf3.png) +![Grove 按鈕連接到插座 D5](../../../../../translated_images/zh-TW/pi-button.c7a1a4f55943341ce1baf1057658e9a205804d4131d258e820c93f951df0abf3.png) ## 捕捉音訊 diff --git a/translations/tw/6-consumer/lessons/1-speech-recognition/pi-microphone.md b/translations/tw/6-consumer/lessons/1-speech-recognition/pi-microphone.md index 758a2d152..fc0c0390d 100644 --- a/translations/tw/6-consumer/lessons/1-speech-recognition/pi-microphone.md +++ b/translations/tw/6-consumer/lessons/1-speech-recognition/pi-microphone.md @@ -43,7 +43,7 @@ Raspberry Pi 配備了一個 3.5mm 耳機插孔。您可以使用它來連接耳 1. 如果您使用的是 ReSpeaker 2-Mics Pi HAT,可以移除 Grove 基座帽,然後將 ReSpeaker 帽安裝到其位置。 - ![帶有 ReSpeaker 帽的 Raspberry Pi](../../../../../translated_images/tw/pi-respeaker-hat.f00fabe7dd039a93e2e0aa0fc946c9af0c6a9eb17c32fa1ca097fb4e384f69f0.png) + ![帶有 ReSpeaker 帽的 Raspberry Pi](../../../../../translated_images/zh-TW/pi-respeaker-hat.f00fabe7dd039a93e2e0aa0fc946c9af0c6a9eb17c32fa1ca097fb4e384f69f0.png) 在本課程的後續部分,您將需要一個 Grove 按鈕,但此帽子內建了一個按鈕,因此不需要 Grove 基座帽。 diff --git a/translations/tw/6-consumer/lessons/1-speech-recognition/wio-terminal-audio.md b/translations/tw/6-consumer/lessons/1-speech-recognition/wio-terminal-audio.md index 547323930..83d1f5b57 100644 --- a/translations/tw/6-consumer/lessons/1-speech-recognition/wio-terminal-audio.md +++ b/translations/tw/6-consumer/lessons/1-speech-recognition/wio-terminal-audio.md @@ -19,7 +19,7 @@ CO_OP_TRANSLATOR_METADATA: ✅ 在 [Wikipedia 的直接記憶體存取頁面](https://wikipedia.org/wiki/Direct_memory_access)上了解更多關於 DMA 的資訊。 -![音頻從麥克風進入 ADC,然後進入 DMAC。這會寫入一個緩衝區。當此緩衝區已滿時,會進行處理,DMAC 會寫入第二個緩衝區](../../../../../translated_images/tw/dmac-adc-buffers.4509aee49145c90bc2e1be472b8ed2ddfcb2b6a81ad3e559114aca55f5fff759.png) +![音頻從麥克風進入 ADC,然後進入 DMAC。這會寫入一個緩衝區。當此緩衝區已滿時,會進行處理,DMAC 會寫入第二個緩衝區](../../../../../translated_images/zh-TW/dmac-adc-buffers.4509aee49145c90bc2e1be472b8ed2ddfcb2b6a81ad3e559114aca55f5fff759.png) DMAC 可以以固定的間隔從 ADC 捕捉音頻,例如以每秒 16,000 次的速率捕捉 16KHz 的音頻。它可以將捕捉到的數據寫入預分配的記憶體緩衝區,當此緩衝區已滿時,將其提供給您的程式碼進行處理。使用此記憶體可能會延遲捕捉音頻,但您可以設置多個緩衝區。DMAC 先寫入緩衝區 1,然後當它已滿時,通知您的程式碼處理緩衝區 1,同時 DMAC 寫入緩衝區 2。當緩衝區 2 已滿時,它通知您的程式碼,然後回到寫入緩衝區 1。這樣,只要您處理每個緩衝區的時間少於填滿一個緩衝區所需的時間,就不會丟失任何數據。 diff --git a/translations/tw/6-consumer/lessons/1-speech-recognition/wio-terminal-microphone.md b/translations/tw/6-consumer/lessons/1-speech-recognition/wio-terminal-microphone.md index 61de6c8c3..37bbb958d 100644 --- a/translations/tw/6-consumer/lessons/1-speech-recognition/wio-terminal-microphone.md +++ b/translations/tw/6-consumer/lessons/1-speech-recognition/wio-terminal-microphone.md @@ -15,11 +15,11 @@ CO_OP_TRANSLATOR_METADATA: Wio Terminal 已內建麥克風,可用於捕捉音頻進行語音識別。 -![Wio Terminal 上的麥克風](../../../../../translated_images/tw/wio-mic.3f8c843dbe8ad917.webp) +![Wio Terminal 上的麥克風](../../../../../translated_images/zh-TW/wio-mic.3f8c843dbe8ad917.webp) 若要添加揚聲器,您可以使用 [ReSpeaker 2-Mics Pi Hat](https://www.seeedstudio.com/ReSpeaker-2-Mics-Pi-HAT.html)。這是一塊外部擴展板,包含兩個 MEMS 麥克風,以及一個揚聲器連接器和耳機插孔。 -![ReSpeaker 2-Mics Pi Hat](../../../../../translated_images/tw/respeaker.f5d19d1c6b14ab16.webp) +![ReSpeaker 2-Mics Pi Hat](../../../../../translated_images/zh-TW/respeaker.f5d19d1c6b14ab16.webp) 您需要添加耳機、一個帶有 3.5mm 插頭的揚聲器,或者一個帶有 JST 接頭的揚聲器,例如 [Mono Enclosed Speaker - 2W 6 Ohm](https://www.seeedstudio.com/Mono-Enclosed-Speaker-2W-6-Ohm-p-2832.html)。 @@ -35,7 +35,7 @@ Wio Terminal 已內建麥克風,可用於捕捉音頻進行語音識別。 需要按照以下方式連接引腳: - ![引腳示意圖](../../../../../translated_images/tw/wio-respeaker-wiring-0.767f80aa65081038.webp) + ![引腳示意圖](../../../../../translated_images/zh-TW/wio-respeaker-wiring-0.767f80aa65081038.webp) 1. 將 ReSpeaker 和 Wio Terminal 擺放好,讓 GPIO 插座面向上,並位於左側。 @@ -43,33 +43,33 @@ Wio Terminal 已內建麥克風,可用於捕捉音頻進行語音識別。 1. 按此方式依次連接左側 GPIO 插座的所有插孔。確保引腳牢固插入。 - ![ReSpeaker 左側引腳連接到 Wio Terminal 左側引腳](../../../../../translated_images/tw/wio-respeaker-wiring-1.8d894727f2ba2400.webp) + ![ReSpeaker 左側引腳連接到 Wio Terminal 左側引腳](../../../../../translated_images/zh-TW/wio-respeaker-wiring-1.8d894727f2ba2400.webp) - ![ReSpeaker 左側引腳連接到 Wio Terminal 左側引腳](../../../../../translated_images/tw/wio-respeaker-wiring-2.329e1cbd306e754f.webp) + ![ReSpeaker 左側引腳連接到 Wio Terminal 左側引腳](../../../../../translated_images/zh-TW/wio-respeaker-wiring-2.329e1cbd306e754f.webp) > 💁 如果您的跳線是連成一條帶狀的,保持它們在一起——這樣可以更容易確保所有線都按順序連接。 1. 使用 ReSpeaker 和 Wio Terminal 的右側 GPIO 插座重複上述過程。這些跳線需要繞過已連接的線。 - ![ReSpeaker 右側引腳連接到 Wio Terminal 右側引腳](../../../../../translated_images/tw/wio-respeaker-wiring-3.75b0be447e2fa930.webp) + ![ReSpeaker 右側引腳連接到 Wio Terminal 右側引腳](../../../../../translated_images/zh-TW/wio-respeaker-wiring-3.75b0be447e2fa930.webp) - ![ReSpeaker 右側引腳連接到 Wio Terminal 右側引腳](../../../../../translated_images/tw/wio-respeaker-wiring-4.aa9cd434d8779437.webp) + ![ReSpeaker 右側引腳連接到 Wio Terminal 右側引腳](../../../../../translated_images/zh-TW/wio-respeaker-wiring-4.aa9cd434d8779437.webp) > 💁 如果您的跳線是連成一條帶狀的,將它們分成兩條帶狀。分別從已連接的線的兩側穿過。 > 💁 您可以使用膠帶將引腳固定成一個塊,以防止在連接過程中有引腳脫落。 > - > ![用膠帶固定的引腳](../../../../../translated_images/tw/wio-respeaker-wiring-5.af117c20acf622f3.webp) + > ![用膠帶固定的引腳](../../../../../translated_images/zh-TW/wio-respeaker-wiring-5.af117c20acf622f3.webp) 1. 您需要添加一個揚聲器。 * 如果您使用的是帶有 JST 線的揚聲器,將其連接到 ReSpeaker 的 JST 插口。 - ![使用 JST 線連接到 ReSpeaker 的揚聲器](../../../../../translated_images/tw/respeaker-jst-speaker.a441d177809df945.webp) + ![使用 JST 線連接到 ReSpeaker 的揚聲器](../../../../../translated_images/zh-TW/respeaker-jst-speaker.a441d177809df945.webp) * 如果您使用的是帶有 3.5mm 插頭的揚聲器或耳機,將其插入 3.5mm 插孔。 - ![使用 3.5mm 插頭連接到 ReSpeaker 的揚聲器](../../../../../translated_images/tw/respeaker-35mm-speaker.ad79ef4f128c7751.webp) + ![使用 3.5mm 插頭連接到 ReSpeaker 的揚聲器](../../../../../translated_images/zh-TW/respeaker-35mm-speaker.ad79ef4f128c7751.webp) ### 任務 - 設置 SD 卡 @@ -79,7 +79,7 @@ Wio Terminal 已內建麥克風,可用於捕捉音頻進行語音識別。 1. 將 SD 卡插入 Wio Terminal 左側的 SD 卡插槽,該插槽位於電源按鈕下方。確保卡完全插入並卡住——您可能需要使用細小工具或另一張 SD 卡幫助將其完全推入。 - ![將 SD 卡插入電源開關下方的 SD 卡插槽](../../../../../translated_images/tw/wio-sd-card.acdcbe322fa4ee7f.webp) + ![將 SD 卡插入電源開關下方的 SD 卡插槽](../../../../../translated_images/zh-TW/wio-sd-card.acdcbe322fa4ee7f.webp) > 💁 若要取出 SD 卡,您需要稍微推入卡片,它會彈出。您需要使用細小工具,例如平頭螺絲刀或另一張 SD 卡來完成此操作。 diff --git a/translations/tw/6-consumer/lessons/2-language-understanding/README.md b/translations/tw/6-consumer/lessons/2-language-understanding/README.md index 950a80230..734d0b155 100644 --- a/translations/tw/6-consumer/lessons/2-language-understanding/README.md +++ b/translations/tw/6-consumer/lessons/2-language-understanding/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 理解語言 -![本課程的手繪筆記概述](../../../../../translated_images/tw/lesson-22.6148ea28500d9e00c396aaa2649935fb6641362c8f03d8e5e90a676977ab01dd.jpg) +![本課程的手繪筆記概述](../../../../../translated_images/zh-TW/lesson-22.6148ea28500d9e00c396aaa2649935fb6641362c8f03d8e5e90a676977ab01dd.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大的版本。 @@ -55,7 +55,7 @@ CO_OP_TRANSLATOR_METADATA: ## 創建語言理解模型 -![LUIS 標誌](../../../../../translated_images/tw/luis-logo.5cb4f3e88c020ee6df4f614e8831f4a4b6809a7247bf52085fb48d629ef9be52.png) +![LUIS 標誌](../../../../../translated_images/zh-TW/luis-logo.5cb4f3e88c020ee6df4f614e8831f4a4b6809a7247bf52085fb48d629ef9be52.png) 你可以使用 LUIS(Language Understanding Intelligent Service),這是 Microsoft 的一項語言理解服務,屬於 Cognitive Services。 @@ -126,7 +126,7 @@ CO_OP_TRANSLATOR_METADATA: 然後告訴 LUIS 這些句子的哪些部分對應於實體: -![句子「設置一個計時器,時間為1分12秒」分解為實體](../../../../../translated_images/tw/sentence-as-intent-entities.301401696f992259.webp) +![句子「設置一個計時器,時間為1分12秒」分解為實體](../../../../../translated_images/zh-TW/sentence-as-intent-entities.301401696f992259.webp) 句子 `設置一個計時器,時間為1分12秒` 的意圖是 `設置計時器`。它還有兩個實體,每個實體有兩個值: @@ -178,7 +178,7 @@ CO_OP_TRANSLATOR_METADATA: 1. 當你輸入每個示例時,LUIS 會開始檢測實體,並將找到的實體用下劃線標記並標籤。 - ![示例中數字和時間單位被 LUIS 用下劃線標記](../../../../../translated_images/tw/luis-intent-examples.25716580b2d2723cf1bafdf277d015c7f046d8cfa20f27bddf3a0873ec45fab7.png) + ![示例中數字和時間單位被 LUIS 用下劃線標記](../../../../../translated_images/zh-TW/luis-intent-examples.25716580b2d2723cf1bafdf277d015c7f046d8cfa20f27bddf3a0873ec45fab7.png) ### 任務 - 訓練和測試模型 diff --git a/translations/tw/6-consumer/lessons/3-spoken-feedback/README.md b/translations/tw/6-consumer/lessons/3-spoken-feedback/README.md index c750951bc..ed1361b9e 100644 --- a/translations/tw/6-consumer/lessons/3-spoken-feedback/README.md +++ b/translations/tw/6-consumer/lessons/3-spoken-feedback/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 設定計時器並提供語音回饋 -![本課程的手繪筆記概覽](../../../../../translated_images/tw/lesson-23.f38483e1d4df4828990d3f02d60e46c978b075d384ae7cb4f7bab738e107c850.jpg) +![本課程的手繪筆記概覽](../../../../../translated_images/zh-TW/lesson-23.f38483e1d4df4828990d3f02d60e46c978b075d384ae7cb4f7bab738e107c850.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。 @@ -37,7 +37,7 @@ CO_OP_TRANSLATOR_METADATA: 顧名思義,文字轉語音是將文字轉換為包含語音的音頻的過程。其基本原理是將文字中的單詞分解為其組成的聲音(稱為音素),然後將這些聲音的音頻拼接在一起,這些音頻可以是預錄的,也可以是由人工智慧模型生成的。 -![典型文字轉語音系統的三個階段](../../../../../translated_images/tw/tts-overview.193843cf3f5ee09f.webp) +![典型文字轉語音系統的三個階段](../../../../../translated_images/zh-TW/tts-overview.193843cf3f5ee09f.webp) 文字轉語音系統通常有三個階段: diff --git a/translations/tw/6-consumer/lessons/4-multiple-language-support/README.md b/translations/tw/6-consumer/lessons/4-multiple-language-support/README.md index eb88c6922..34629fdac 100644 --- a/translations/tw/6-consumer/lessons/4-multiple-language-support/README.md +++ b/translations/tw/6-consumer/lessons/4-multiple-language-support/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 支援多語言 -![本課程的手繪筆記概述](../../../../../translated_images/tw/lesson-24.4246968ed058510ab275052e87ef9aa89c7b2f938915d103c605c04dc6cd5bb7.jpg) +![本課程的手繪筆記概述](../../../../../translated_images/zh-TW/lesson-24.4246968ed058510ab275052e87ef9aa89c7b2f938915d103c605c04dc6cd5bb7.jpg) > 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大的版本。 @@ -83,7 +83,7 @@ CO_OP_TRANSLATOR_METADATA: ### 認知服務語音服務 -![語音服務標誌](../../../../../translated_images/tw/azure-speech-logo.a1f08c4befb0159f2cb5d692d3baf5b599e7b44759d316da907bda1508f46a4a.png) +![語音服務標誌](../../../../../translated_images/zh-TW/azure-speech-logo.a1f08c4befb0159f2cb5d692d3baf5b599e7b44759d316da907bda1508f46a4a.png) 你在過去幾節課中使用的語音服務具有語音識別的翻譯功能。當你識別語音時,可以要求不僅提供相同語言的文字,還可以提供其他語言的文字。 @@ -91,7 +91,7 @@ CO_OP_TRANSLATOR_METADATA: ### 認知服務翻譯服務 -![翻譯服務標誌](../../../../../translated_images/tw/azure-translator-logo.c6ed3a4a433edfd2f11577eca105412c50b8396b194cbbd730723dd1d0793bcd.png) +![翻譯服務標誌](../../../../../translated_images/zh-TW/azure-translator-logo.c6ed3a4a433edfd2f11577eca105412c50b8396b194cbbd730723dd1d0793bcd.png) 翻譯服務是一個專門的翻譯服務,可以將文字從一種語言翻譯成一種或多種目標語言。除了翻譯,它還支援許多額外功能,包括屏蔽不雅詞語。它還允許你為特定單詞或句子提供特定翻譯,以處理你不希望翻譯的術語或具有特定知名翻譯的術語。 @@ -130,7 +130,7 @@ CO_OP_TRANSLATOR_METADATA: 在理想情況下,你的整個應用程式應該能夠理解盡可能多的不同語言,從語音識別到語言理解,再到語音回應。這需要大量工作,因此翻譯服務可以加速應用程式的交付時間。 -![智慧計時器架構:將日語翻譯成英語,使用英語處理,再翻譯回日語](../../../../../translated_images/tw/translated-smart-timer.08ac20057fdc5c37.webp) +![智慧計時器架構:將日語翻譯成英語,使用英語處理,再翻譯回日語](../../../../../translated_images/zh-TW/translated-smart-timer.08ac20057fdc5c37.webp) 假設你正在建立一個智慧計時器,使用英語端到端處理,包括理解英語語音並將其轉換為文字、使用英語進行語言理解、用英語構建回應並以英語語音回應。如果你想添加日語支援,可以先將日語語音翻譯成英語文字,然後保持應用程式的核心部分不變,最後將回應文字翻譯成日語,再用日語語音回應。這樣可以快速添加日語支援,並且你可以稍後擴展到提供完整的端到端日語支援。 diff --git a/translations/tw/6-consumer/lessons/4-multiple-language-support/pi-translate-speech.md b/translations/tw/6-consumer/lessons/4-multiple-language-support/pi-translate-speech.md index b57da6bf2..c384331fd 100644 --- a/translations/tw/6-consumer/lessons/4-multiple-language-support/pi-translate-speech.md +++ b/translations/tw/6-consumer/lessons/4-multiple-language-support/pi-translate-speech.md @@ -34,7 +34,7 @@ CO_OP_TRANSLATOR_METADATA: > > 例如,如果你用英文訓練 LUIS,但希望使用法語作為使用者語言,你可以使用 Bing 翻譯將像 "set a 2 minute and 27 second timer" 這樣的句子從英文翻譯成法語,然後使用 **聆聽翻譯** 按鈕將翻譯語音說入麥克風。 > - > ![Bing 翻譯中的聆聽翻譯按鈕](../../../../../translated_images/tw/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.png) + > ![Bing 翻譯中的聆聽翻譯按鈕](../../../../../translated_images/zh-TW/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.png) 1. 在 `speech_api_key` 下新增翻譯 API 金鑰: diff --git a/translations/tw/6-consumer/lessons/4-multiple-language-support/virtual-device-translate-speech.md b/translations/tw/6-consumer/lessons/4-multiple-language-support/virtual-device-translate-speech.md index e30d424be..688772f7a 100644 --- a/translations/tw/6-consumer/lessons/4-multiple-language-support/virtual-device-translate-speech.md +++ b/translations/tw/6-consumer/lessons/4-multiple-language-support/virtual-device-translate-speech.md @@ -46,7 +46,7 @@ CO_OP_TRANSLATOR_METADATA: > > 例如,如果你用英語訓練 LUIS,但希望使用法語作為使用者語言,你可以使用 Bing 翻譯將像 "set a 2 minute and 27 second timer" 這樣的句子從英語翻譯成法語,然後使用 **聆聽翻譯** 按鈕將翻譯語音說入麥克風。 > - > ![Bing 翻譯中的聆聽翻譯按鈕](../../../../../translated_images/tw/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.png) + > ![Bing 翻譯中的聆聽翻譯按鈕](../../../../../translated_images/zh-TW/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.png) 1. 替換 `recognizer_config` 和 `recognizer` 的聲明為以下內容: diff --git a/translations/tw/6-consumer/lessons/4-multiple-language-support/wio-terminal-translate-speech.md b/translations/tw/6-consumer/lessons/4-multiple-language-support/wio-terminal-translate-speech.md index 982c75700..393b36dd9 100644 --- a/translations/tw/6-consumer/lessons/4-multiple-language-support/wio-terminal-translate-speech.md +++ b/translations/tw/6-consumer/lessons/4-multiple-language-support/wio-terminal-translate-speech.md @@ -114,7 +114,7 @@ CO_OP_TRANSLATOR_METADATA: > > 例如,如果您用英語訓練 LUIS,但希望使用法語作為使用者語言,您可以使用 Bing 翻譯將 "set a 2 minute and 27 second timer" 從英語翻譯成法語,然後使用 **聆聽翻譯** 按鈕將翻譯內容說入您的麥克風。 > - > ![Bing 翻譯上的聆聽翻譯按鈕](../../../../../translated_images/tw/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.png) + > ![Bing 翻譯上的聆聽翻譯按鈕](../../../../../translated_images/zh-TW/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.png) 1. 在 `SPEECH_LOCATION` 下方新增翻譯 API 金鑰和位置: diff --git a/translations/tw/README.md b/translations/tw/README.md index deecc6ad3..08c1ea021 100644 --- a/translations/tw/README.md +++ b/translations/tw/README.md @@ -57,7 +57,7 @@ Microsoft 的 Azure Cloud Advocates 很高興提供一套為期 12 週、共 24 這些專案涵蓋從農場到餐桌的完整過程。包含農業、生產製造、物流、零售和消費等領域——均為物聯網裝置應用的熱門產業。 -![課程路線圖,顯示涵蓋入門、農業、運輸、加工、零售及烹飪共24堂課程](../../translated_images/tw/Roadmap.bb1dec285dda0eda.webp) +![課程路線圖,顯示涵蓋入門、農業、運輸、加工、零售及烹飪共24堂課程](../../translated_images/zh-TW/Roadmap.bb1dec285dda0eda.webp) > 筆記由 [Nitya Narasimhan](https://github.com/nitya) 繪製。點擊圖片可看大圖版本。 diff --git a/translations/tw/hardware.md b/translations/tw/hardware.md index ebb545a91..3c4c29c27 100644 --- a/translations/tw/hardware.md +++ b/translations/tw/hardware.md @@ -21,7 +21,7 @@ CO_OP_TRANSLATOR_METADATA: ## 購買套件 -![Seeed Studios 的標誌](../../translated_images/tw/seeed-logo.74732b6b482b6e8e.webp) +![Seeed Studios 的標誌](../../translated_images/zh-TW/seeed-logo.74732b6b482b6e8e.webp) Seeed Studios 非常貼心地將所有硬體整合成易於購買的套件: @@ -29,13 +29,13 @@ Seeed Studios 非常貼心地將所有硬體整合成易於購買的套件: **[Seeed 與 Microsoft 合作的物聯網入門 - Wio Terminal 初學者套件](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Wio-Terminal-Starter-Kit-p-5006.html)** -[![Wio Terminal 硬體套件](../../translated_images/tw/wio-hardware-kit.4c70c48b85e4283a.webp)](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Wio-Terminal-Starter-Kit-p-5006.html) +[![Wio Terminal 硬體套件](../../translated_images/zh-TW/wio-hardware-kit.4c70c48b85e4283a.webp)](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Wio-Terminal-Starter-Kit-p-5006.html) ### Raspberry Pi **[Seeed 與 Microsoft 合作的物聯網入門 - Raspberry Pi 4 初學者套件](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Raspberry-Pi-Starter-Kit-p-5004.html)** -[![Raspberry Pi 硬體套件](../../translated_images/tw/pi-hardware-kit.26dbadaedb7dd44c73b0131d5d68ea29472ed0a9744f90d5866c6d82f2d16380.png)](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Raspberry-Pi-Starter-Kit-p-5004.html) +[![Raspberry Pi 硬體套件](../../translated_images/zh-TW/pi-hardware-kit.26dbadaedb7dd44c73b0131d5d68ea29472ed0a9744f90d5866c6d82f2d16380.png)](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Raspberry-Pi-Starter-Kit-p-5004.html) ## Arduino diff --git a/translations/zh/1-getting-started/lessons/1-introduction-to-iot/README.md b/translations/zh/1-getting-started/lessons/1-introduction-to-iot/README.md index a62993afa..d1f3e7f48 100644 --- a/translations/zh/1-getting-started/lessons/1-introduction-to-iot/README.md +++ b/translations/zh/1-getting-started/lessons/1-introduction-to-iot/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 物联网简介 -![本课程的手绘笔记概览](../../../../../translated_images/zh/lesson-1.2606670fa61ee904687da5d6fa4e726639d524d064c895117da1b95b9ff6251d.jpg) +![本课程的手绘笔记概览](../../../../../translated_images/zh-CN/lesson-1.2606670fa61ee904687da5d6fa4e726639d524d064c895117da1b95b9ff6251d.jpg) > 手绘笔记由 [Nitya Narasimhan](https://github.com/nitya) 提供。点击图片查看大图。 @@ -79,7 +79,7 @@ CO_OP_TRANSLATOR_METADATA: 微控制器通常是低成本的计算设备,用于定制硬件的微控制器平均价格约为 0.50 美元,有些设备甚至低至 0.03 美元。开发套件的起价约为 4 美元,随着功能的增加成本也会增加。[Wio Terminal](https://www.seeedstudio.com/Wio-Terminal-p-4509.html) 是 [Seeed Studios](https://www.seeedstudio.com) 的一个微控制器开发套件,配备传感器、执行器、WiFi 和屏幕,价格约为 30 美元。 -![Wio Terminal](../../../../../translated_images/zh/wio-terminal.b8299ee16587db9a.webp) +![Wio Terminal](../../../../../translated_images/zh-CN/wio-terminal.b8299ee16587db9a.webp) > 💁 在网上搜索微控制器时,请注意搜索术语 **MCU**,因为这可能会返回大量关于“漫威电影宇宙”的结果,而不是微控制器。 @@ -93,7 +93,7 @@ CO_OP_TRANSLATOR_METADATA: 单板计算机是一种小型计算设备,所有计算机的组成部分都集成在一个小型电路板上。这些设备的规格接近台式机或笔记本电脑 PC 或 Mac,运行完整的操作系统,但体积更小,功耗更低,价格也更便宜。 -![Raspberry Pi 4](../../../../../translated_images/zh/raspberry-pi-4.fd4590d308c3d456.webp) +![Raspberry Pi 4](../../../../../translated_images/zh-CN/raspberry-pi-4.fd4590d308c3d456.webp) Raspberry Pi 是最受欢迎的单板计算机之一。 diff --git a/translations/zh/1-getting-started/lessons/1-introduction-to-iot/pi.md b/translations/zh/1-getting-started/lessons/1-introduction-to-iot/pi.md index 591d40c9a..805fc2232 100644 --- a/translations/zh/1-getting-started/lessons/1-introduction-to-iot/pi.md +++ b/translations/zh/1-getting-started/lessons/1-introduction-to-iot/pi.md @@ -11,7 +11,7 @@ CO_OP_TRANSLATOR_METADATA: [树莓派](https://raspberrypi.org) 是一款单板计算机。你可以通过各种设备和生态系统添加传感器和执行器,在这些课程中,我们将使用一个名为 [Grove](https://www.seeedstudio.com/category/Grove-c-1003.html) 的硬件生态系统。你将使用 Python 编写代码来控制树莓派并访问 Grove 传感器。 -![树莓派 4](../../../../../translated_images/zh/raspberry-pi-4.fd4590d308c3d456.webp) +![树莓派 4](../../../../../translated_images/zh-CN/raspberry-pi-4.fd4590d308c3d456.webp) ## 设置 @@ -112,7 +112,7 @@ CO_OP_TRANSLATOR_METADATA: 1. 在树莓派镜像工具中,选择 **CHOOSE OS** 按钮,然后选择 *Raspberry Pi OS (Other)*,接着选择 *Raspberry Pi OS Lite (32-bit)* - ![树莓派镜像工具选择 Raspberry Pi OS Lite](../../../../../translated_images/zh/raspberry-pi-imager.24aedeab9e233d84.webp) + ![树莓派镜像工具选择 Raspberry Pi OS Lite](../../../../../translated_images/zh-CN/raspberry-pi-imager.24aedeab9e233d84.webp) > 💁 Raspberry Pi OS Lite 是树莓派操作系统的一个版本,没有桌面 UI 或基于 UI 的工具。这些对于无头树莓派来说是不需要的,并且使安装更小,启动时间更快。 @@ -251,7 +251,7 @@ CO_OP_TRANSLATOR_METADATA: 1. 在 VS Code 中打开这个文件夹,选择 *File -> Open...*,然后选择 *nightlight* 文件夹,最后点击 **OK**。 - ![VS Code 的打开对话框显示了 nightlight 文件夹](../../../../../translated_images/zh/vscode-open-nightlight-remote.d3d2a4011e30d535.webp) + ![VS Code 的打开对话框显示了 nightlight 文件夹](../../../../../translated_images/zh-CN/vscode-open-nightlight-remote.d3d2a4011e30d535.webp) 1. 从 VS Code 的资源管理器中打开 `app.py` 文件,并添加以下代码: diff --git a/translations/zh/1-getting-started/lessons/1-introduction-to-iot/virtual-device.md b/translations/zh/1-getting-started/lessons/1-introduction-to-iot/virtual-device.md index 41e068e39..f701f2799 100644 --- a/translations/zh/1-getting-started/lessons/1-introduction-to-iot/virtual-device.md +++ b/translations/zh/1-getting-started/lessons/1-introduction-to-iot/virtual-device.md @@ -154,11 +154,11 @@ Python 的一个强大功能是能够安装 [Pip 包](https://pypi.org)——这 1. 当 VS Code 启动时,它将激活 Python 虚拟环境。选定的虚拟环境将显示在底部状态栏中: - ![VS Code 显示选定的虚拟环境](../../../../../translated_images/zh/vscode-virtual-env.8ba42e04c3d533cf.webp) + ![VS Code 显示选定的虚拟环境](../../../../../translated_images/zh-CN/vscode-virtual-env.8ba42e04c3d533cf.webp) 1. 如果 VS Code Terminal 在 VS Code 启动时已经运行,它将不会激活虚拟环境。最简单的方法是使用 **Kill the active terminal instance** 按钮关闭终端: - ![VS Code Kill the active terminal instance 按钮](../../../../../translated_images/zh/vscode-kill-terminal.1cc4de7c6f25ee08.webp) + ![VS Code Kill the active terminal instance 按钮](../../../../../translated_images/zh-CN/vscode-kill-terminal.1cc4de7c6f25ee08.webp) 您可以通过终端提示的前缀来判断终端是否激活了虚拟环境。例如,它可能是: @@ -212,7 +212,7 @@ Python 的一个强大功能是能够安装 [Pip 包](https://pypi.org)——这 应用程序将开始运行并在您的浏览器中打开: - ![在浏览器中运行的 Counter Fit 应用程序](../../../../../translated_images/zh/counterfit-first-run.433326358b669b31d0e99c3513cb01bfbb13724d162c99cdcc8f51ecf5f9c779.png) + ![在浏览器中运行的 Counter Fit 应用程序](../../../../../translated_images/zh-CN/counterfit-first-run.433326358b669b31d0e99c3513cb01bfbb13724d162c99cdcc8f51ecf5f9c779.png) 它将显示为 *Disconnected*,右上角的 LED 将关闭。 @@ -229,11 +229,11 @@ Python 的一个强大功能是能够安装 [Pip 包](https://pypi.org)——这 1. 您需要通过选择 **Create a new integrated terminal** 按钮启动一个新的 VS Code 终端。这是因为 CounterFit 应用程序正在当前终端中运行。 - ![VS Code Create a new integrated terminal 按钮](../../../../../translated_images/zh/vscode-new-terminal.77db8fc0f9cd3182.webp) + ![VS Code Create a new integrated terminal 按钮](../../../../../translated_images/zh-CN/vscode-new-terminal.77db8fc0f9cd3182.webp) 1. 在这个新终端中,像之前一样运行 `app.py` 文件。CounterFit 的状态将变为 **Connected**,LED 将亮起。 - ![Counter Fit 显示为已连接](../../../../../translated_images/zh/counterfit-connected.ed30b46d8f79b0921f3fc70be10366e596a89dca3f80c2224a9d9fc98fccf884.png) + ![Counter Fit 显示为已连接](../../../../../translated_images/zh-CN/counterfit-connected.ed30b46d8f79b0921f3fc70be10366e596a89dca3f80c2224a9d9fc98fccf884.png) > 💁 您可以在 [code/virtual-device](../../../../../1-getting-started/lessons/1-introduction-to-iot/code/virtual-device) 文件夹中找到此代码。 diff --git a/translations/zh/1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md b/translations/zh/1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md index 53157216a..9cc6cba8c 100644 --- a/translations/zh/1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md +++ b/translations/zh/1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md @@ -11,7 +11,7 @@ CO_OP_TRANSLATOR_METADATA: [Seeed Studios 的 Wio Terminal](https://www.seeedstudio.com/Wio-Terminal-p-4509.html) 是一款兼容 Arduino 的微控制器,内置 WiFi 和一些传感器及执行器,同时还提供了端口,可以通过名为 [Grove](https://www.seeedstudio.com/category/Grove-c-1003.html) 的硬件生态系统添加更多传感器和执行器。 -![Seeed Studios 的 Wio Terminal](../../../../../translated_images/zh/wio-terminal.b8299ee16587db9a.webp) +![Seeed Studios 的 Wio Terminal](../../../../../translated_images/zh-CN/wio-terminal.b8299ee16587db9a.webp) ## 设置 @@ -51,15 +51,15 @@ Wio Terminal 的 Hello World 应用程序将确保您已正确安装 Visual Stud 1. 在侧边菜单栏中找到 PlatformIO 图标: - ![PlatformIO 菜单选项](../../../../../translated_images/zh/vscode-platformio-menu.297be26b9733e5c4.webp) + ![PlatformIO 菜单选项](../../../../../translated_images/zh-CN/vscode-platformio-menu.297be26b9733e5c4.webp) 选择此菜单项,然后选择 *PIO Home -> Open* - ![PlatformIO 打开选项](../../../../../translated_images/zh/vscode-platformio-home-open.3f9a41bfd3f4da1c.webp) + ![PlatformIO 打开选项](../../../../../translated_images/zh-CN/vscode-platformio-home-open.3f9a41bfd3f4da1c.webp) 1. 在欢迎界面中,选择 **+ New Project** 按钮 - ![新建项目按钮](../../../../../translated_images/zh/vscode-platformio-welcome-new-button.ba6fc8a4c7b78cc8.webp) + ![新建项目按钮](../../../../../translated_images/zh-CN/vscode-platformio-welcome-new-button.ba6fc8a4c7b78cc8.webp) 1. 在 *Project Wizard* 中配置项目: @@ -73,7 +73,7 @@ Wio Terminal 的 Hello World 应用程序将确保您已正确安装 Visual Stud 1. 选择 **Finish** 按钮 - ![完成的项目向导](../../../../../translated_images/zh/vscode-platformio-nightlight-project-wizard.5c64db4da6037420.webp) + ![完成的项目向导](../../../../../translated_images/zh-CN/vscode-platformio-nightlight-project-wizard.5c64db4da6037420.webp) PlatformIO 将下载编译 Wio Terminal 代码所需的组件并创建您的项目。这可能需要几分钟。 @@ -179,7 +179,7 @@ VS Code 的资源管理器将显示由 PlatformIO 向导创建的多个文件和 1. 输入 `PlatformIO Upload` 搜索上传选项,选择 *PlatformIO: Upload* - ![命令面板中的 PlatformIO 上传选项](../../../../../translated_images/zh/vscode-platformio-upload-command-palette.9e0f49cf80d1f1c3.webp) + ![命令面板中的 PlatformIO 上传选项](../../../../../translated_images/zh-CN/vscode-platformio-upload-command-palette.9e0f49cf80d1f1c3.webp) 如果需要,PlatformIO 会自动编译代码,然后上传。 @@ -195,7 +195,7 @@ PlatformIO 提供了一个串口监视器,可以通过 USB 数据线监视从 1. 输入 `PlatformIO Serial` 搜索串口监视器选项,选择 *PlatformIO: Serial Monitor* - ![命令面板中的 PlatformIO 串口监视器选项](../../../../../translated_images/zh/vscode-platformio-serial-monitor-command-palette.b348ec841b8a1c14.webp) + ![命令面板中的 PlatformIO 串口监视器选项](../../../../../translated_images/zh-CN/vscode-platformio-serial-monitor-command-palette.b348ec841b8a1c14.webp) 一个新终端将打开,串口发送的数据将流入此终端: diff --git a/translations/zh/1-getting-started/lessons/2-deeper-dive/README.md b/translations/zh/1-getting-started/lessons/2-deeper-dive/README.md index 8277f4a89..b75886cbb 100644 --- a/translations/zh/1-getting-started/lessons/2-deeper-dive/README.md +++ b/translations/zh/1-getting-started/lessons/2-deeper-dive/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 深入了解物联网 -![本课的手绘笔记概览](../../../../../translated_images/zh/lesson-2.324b0580d620c25e0a24fb7fddfc0b29a846dd4b82c08e7a9466d580ee78ce51.jpg) +![本课的手绘笔记概览](../../../../../translated_images/zh-CN/lesson-2.324b0580d620c25e0a24fb7fddfc0b29a846dd4b82c08e7a9466d580ee78ce51.jpg) > 手绘笔记由 [Nitya Narasimhan](https://github.com/nitya) 提供。点击图片查看更大版本。 @@ -41,13 +41,13 @@ CO_OP_TRANSLATOR_METADATA: ### 设备 -![树莓派 4](../../../../../translated_images/zh/raspberry-pi-4.fd4590d308c3d456.webp) +![树莓派 4](../../../../../translated_images/zh-CN/raspberry-pi-4.fd4590d308c3d456.webp) 物联网中的 **设备** 指的是能够与物理世界交互的设备。这些设备通常是小型、低成本的计算机,运行速度较低且功耗较低——例如,简单的微控制器,只有几千字节的内存(而不是 PC 的几千兆字节),运行速度只有几百兆赫兹(而不是 PC 的几千兆赫兹),但功耗极低,有时可以用电池运行数周、数月甚至数年。 这些设备通过传感器从周围环境中收集数据,或者通过控制输出或执行器来进行物理改变,从而与物理世界交互。一个典型的例子是智能恒温器——一种具有温度传感器、设置目标温度的方式(如旋钮或触摸屏)以及连接到加热或冷却系统的设备。当检测到的温度超出目标范围时,它可以打开加热或冷却系统。温度传感器检测到房间太冷,执行器则打开加热系统。 -![一个图示显示温度和旋钮作为物联网设备的输入,控制加热器作为输出](../../../../../translated_images/zh/basic-thermostat.a923217fd1f37e5a6f3390396a65c22a387419ea2dd17e518ec24315ba6ae9a8.png) +![一个图示显示温度和旋钮作为物联网设备的输入,控制加热器作为输出](../../../../../translated_images/zh-CN/basic-thermostat.a923217fd1f37e5a6f3390396a65c22a387419ea2dd17e518ec24315ba6ae9a8.png) 可以充当物联网设备的“设备”种类繁多,从专用硬件到通用设备,甚至包括你的智能手机!智能手机可以使用传感器检测周围环境,并使用执行器与世界交互——例如,使用 GPS 传感器检测位置,并通过扬声器提供导航指令。 @@ -63,11 +63,11 @@ CO_OP_TRANSLATOR_METADATA: 以智能恒温器为例,恒温器通过家庭 WiFi 连接到云服务。它将温度数据发送到云服务,云服务将数据写入某种数据库,允许房主通过手机应用查看当前和过去的温度。云中的另一个服务知道房主想要的温度,并通过云服务将消息发送回物联网设备,告诉加热系统打开或关闭。 -![一个图示显示温度和旋钮作为物联网设备的输入,物联网设备与云之间的双向通信,云与手机之间的双向通信,以及加热器作为物联网设备的输出](../../../../../translated_images/zh/mobile-controlled-thermostat.4a994010473d8d6a52ba68c67e5f02dc8928c717e93ca4b9bc55525aa75bbb60.png) +![一个图示显示温度和旋钮作为物联网设备的输入,物联网设备与云之间的双向通信,云与手机之间的双向通信,以及加热器作为物联网设备的输出](../../../../../translated_images/zh-CN/mobile-controlled-thermostat.4a994010473d8d6a52ba68c67e5f02dc8928c717e93ca4b9bc55525aa75bbb60.png) 更智能的版本可以使用云中的 AI,结合其他物联网设备(如占用传感器)连接的其他传感器数据,以及天气和日历等数据,智能地设置温度。例如,它可以读取你的日历显示你正在度假时关闭加热,或者根据你使用的房间逐个关闭加热,并从数据中学习以变得越来越准确。 -![一个图示显示多个温度传感器和旋钮作为物联网设备的输入,物联网设备与云之间的双向通信,云与手机、日历和天气服务之间的双向通信,以及加热器作为物联网设备的输出](../../../../../translated_images/zh/smarter-thermostat.a75855f15d2d9e63.webp) +![一个图示显示多个温度传感器和旋钮作为物联网设备的输入,物联网设备与云之间的双向通信,云与手机、日历和天气服务之间的双向通信,以及加热器作为物联网设备的输出](../../../../../translated_images/zh-CN/smarter-thermostat.a75855f15d2d9e63.webp) ✅ 还有哪些数据可以帮助使联网恒温器变得更智能? @@ -103,7 +103,7 @@ CPU 依赖时钟以每秒数百万或数十亿次的频率进行计时。每次 > 💁 CPU 使用[取指-译码-执行周期](https://wikipedia.org/wiki/Instruction_cycle)执行程序。对于每次时钟计时,CPU 会从内存中取指令,译码,然后执行,例如使用算术逻辑单元 (ALU) 加两个数字。一些执行需要多个计时才能完成,因此下一周期将在指令完成后的下一次计时运行。 -![取指-译码-执行周期图示,显示取指从存储在 RAM 中的程序中获取指令,然后在 CPU 上译码和执行](../../../../../translated_images/zh/fetch-decode-execute.2fd6f150f6280392807f4475382319abd0cee0b90058e1735444d6baa6f2078c.png) +![取指-译码-执行周期图示,显示取指从存储在 RAM 中的程序中获取指令,然后在 CPU 上译码和执行](../../../../../translated_images/zh-CN/fetch-decode-execute.2fd6f150f6280392807f4475382319abd0cee0b90058e1735444d6baa6f2078c.png) 微控制器的时钟速度远低于台式机或笔记本电脑,甚至大多数智能手机。例如,Wio Terminal 的 CPU 运行速度为 120MHz,即每秒 120,000,000 次周期。 @@ -135,7 +135,7 @@ RAM 是程序运行时使用的内存,包含程序分配的变量和从外设 下图展示了192KB与8GB之间的相对大小差异——中心的小点代表192KB。 -![192KB与8GB的比较——8GB大约是192KB的40,000倍](../../../../../translated_images/zh/ram-comparison.6beb73541b42ac6f.webp) +![192KB与8GB的比较——8GB大约是192KB的40,000倍](../../../../../translated_images/zh-CN/ram-comparison.6beb73541b42ac6f.webp) 程序存储空间也比PC小。一个典型的PC可能有500GB的硬盘用于存储程序,而微控制器可能只有几千字节或几兆字节(MB)的存储空间(1MB是1,000KB或1,000,000字节)。Wio Terminal有4MB的程序存储空间。 @@ -191,7 +191,7 @@ Arduino板使用C或C++进行编程。使用C/C++可以使代码编译得非常 你会在`setup`函数中编写初始化代码,例如连接WiFi和云服务或初始化输入和输出引脚。然后在`loop`函数中编写处理代码,例如从传感器读取数据并将值发送到云端。通常会在每个循环中加入一个延迟,例如,如果你只希望每10秒发送一次传感器数据,可以在循环末尾加入10秒的延迟,这样微控制器可以进入休眠状态以节省电力,然后在10秒后再次运行循环。 -![一个Arduino草图先运行setup,然后不断运行loop](../../../../../translated_images/zh/arduino-sketch.79590cb837ff7a7c6a68d1afda6cab83fd53d3bb1bd9a8bf2eaf8d693a4d3ea6.png) +![一个Arduino草图先运行setup,然后不断运行loop](../../../../../translated_images/zh-CN/arduino-sketch.79590cb837ff7a7c6a68d1afda6cab83fd53d3bb1bd9a8bf2eaf8d693a4d3ea6.png) ✅ 这种程序架构被称为*事件循环*或*消息循环*。许多应用程序在底层使用这种架构,并且是大多数运行在Windows、macOS或Linux等操作系统上的桌面应用程序的标准。`loop`监听来自用户界面组件(如按钮)或设备(如键盘)的消息,并对其作出响应。你可以在这篇[关于事件循环的文章](https://wikipedia.org/wiki/Event_loop)中阅读更多内容。 @@ -211,17 +211,17 @@ Arduino还有一个庞大的第三方库生态系统,允许你为Arduino项目 ### 树莓派 -![树莓派标志](../../../../../translated_images/zh/raspberry-pi-logo.4efaa16605cee054.webp) +![树莓派标志](../../../../../translated_images/zh-CN/raspberry-pi-logo.4efaa16605cee054.webp) [树莓派基金会](https://www.raspberrypi.org)是一个来自英国的慈善机构,成立于2009年,旨在促进计算机科学的学习,特别是在学校层面。作为这一使命的一部分,他们开发了一种单板计算机,称为树莓派。目前树莓派有3种型号——全尺寸版本、更小的Pi Zero,以及可以嵌入最终IoT设备的计算模块。 -![树莓派4](../../../../../translated_images/zh/raspberry-pi-4.fd4590d308c3d456.webp) +![树莓派4](../../../../../translated_images/zh-CN/raspberry-pi-4.fd4590d308c3d456.webp) 最新的全尺寸树莓派是树莓派4B。它拥有一个四核(4核)CPU,运行速度为1.5GHz,2GB、4GB或8GB的RAM,千兆以太网,WiFi,2个支持4K屏幕的HDMI端口,一个音频和复合视频输出端口,USB端口(2个USB 2.0,2个USB 3.0),40个GPIO引脚,一个用于树莓派摄像头模块的摄像头连接器,以及一个SD卡插槽。所有这些都集成在一个88mm x 58mm x 19.5mm的板上,并由一个3A的USB-C电源供电。起售价为35美元,比PC或Mac便宜得多。 > 💁 还有一个Pi400一体机,带有内置键盘的Pi4。 -![树莓派Zero](../../../../../translated_images/zh/raspberry-pi-zero.f7a4133e1e7d54bb.webp) +![树莓派Zero](../../../../../translated_images/zh-CN/raspberry-pi-zero.f7a4133e1e7d54bb.webp) Pi Zero更小,功耗更低。它拥有一个单核1GHz CPU,512MB的RAM,WiFi(在Zero W型号中),一个HDMI端口,一个micro-USB端口,40个GPIO引脚,一个用于树莓派摄像头模块的摄像头连接器,以及一个SD卡插槽。它的尺寸为65mm x 30mm x 5mm,功耗非常低。Zero售价为5美元,带WiFi的W版本售价为10美元。 diff --git a/translations/zh/1-getting-started/lessons/3-sensors-and-actuators/README.md b/translations/zh/1-getting-started/lessons/3-sensors-and-actuators/README.md index 13ca6330b..d1360bdea 100644 --- a/translations/zh/1-getting-started/lessons/3-sensors-and-actuators/README.md +++ b/translations/zh/1-getting-started/lessons/3-sensors-and-actuators/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 使用传感器和执行器与物理世界交互 -![本课的手绘笔记概览](../../../../../translated_images/zh/lesson-3.cc3b7b4cd646de598698cce043c0393fd62ef42bac2eaf60e61272cd844250f4.jpg) +![本课的手绘笔记概览](../../../../../translated_images/zh-CN/lesson-3.cc3b7b4cd646de598698cce043c0393fd62ef42bac2eaf60e61272cd844250f4.jpg) > 手绘笔记由 [Nitya Narasimhan](https://github.com/nitya) 提供。点击图片查看大图。 @@ -75,7 +75,7 @@ CO_OP_TRANSLATOR_METADATA: 一个例子是电位器。这是一个可以在两个位置之间旋转的旋钮,传感器测量旋转角度。 -![一个电位器设置在中间位置,输入 5 伏特,输出 3.8 伏特](../../../../../translated_images/zh/potentiometer.35a348b9ce22f6ec.webp) +![一个电位器设置在中间位置,输入 5 伏特,输出 3.8 伏特](../../../../../translated_images/zh-CN/potentiometer.35a348b9ce22f6ec.webp) IoT 设备会向电位器发送一个电信号,例如 5 伏特(5V)。当调整电位器时,它会改变输出的电压。假设你有一个标有 0 到 [11](https://wikipedia.org/wiki/Up_to_eleven) 的电位器,比如放大器上的音量旋钮。当电位器处于完全关闭位置(0)时,输出为 0V(0 伏特)。当处于完全打开位置(11)时,输出为 5V(5 伏特)。 @@ -101,7 +101,7 @@ IoT 设备是数字化的——它们无法处理模拟值,只能处理 0 和 最简单的数字传感器是按钮或开关。这是一种只有两种状态的传感器:开或关。 -![一个按钮接收 5 伏特。当未按下时返回 0 伏特,当按下时返回 5 伏特](../../../../../translated_images/zh/button.eadb560b77ac45e56f523d9d8876e40444f63b419e33eb820082d461fa79490b.png) +![一个按钮接收 5 伏特。当未按下时返回 0 伏特,当按下时返回 5 伏特](../../../../../translated_images/zh-CN/button.eadb560b77ac45e56f523d9d8876e40444f63b419e33eb820082d461fa79490b.png) IoT 设备上的引脚(如 GPIO 引脚)可以直接测量此信号为 0 或 1。如果返回的电压与输入电压相同,则读取值为 1,否则读取值为 0。无需转换信号,它只能是 1 或 0。 @@ -112,7 +112,7 @@ IoT 设备上的引脚(如 GPIO 引脚)可以直接测量此信号为 0 或 更高级的数字传感器会读取模拟值,然后通过内置的 ADC 转换为数字信号。例如,数字温度传感器仍然会像模拟传感器一样使用热电偶,并测量当前温度下热电偶电阻引起的电压变化。不同的是,它不会返回模拟值,而是通过内置的 ADC 转换为数字信号,并以 0 和 1 的形式发送到 IoT 设备。这些 0 和 1 的发送方式与按钮的数字信号相同,1 表示全电压,0 表示 0V。 -![一个数字温度传感器将模拟读数转换为二进制数据,0 表示 0 伏特,1 表示 5 伏特,然后发送到 IoT 设备](../../../../../translated_images/zh/temperature-as-digital.85004491b977bae1.webp) +![一个数字温度传感器将模拟读数转换为二进制数据,0 表示 0 伏特,1 表示 5 伏特,然后发送到 IoT 设备](../../../../../translated_images/zh-CN/temperature-as-digital.85004491b977bae1.webp) 发送数字数据使传感器可以变得更复杂,发送更详细的数据,甚至是加密数据以用于安全传感器。例如,摄像头是一种传感器,它捕捉图像并以包含该图像的数字数据形式发送,通常是压缩格式(如 JPEG),供 IoT 设备读取。它甚至可以通过捕捉图像并逐帧发送完整图像或压缩视频流来实现视频流传输。 @@ -134,7 +134,7 @@ IoT 设备上的引脚(如 GPIO 引脚)可以直接测量此信号为 0 或 根据以下相关指南,将执行器添加到你的 IoT 设备中,并通过传感器控制它,构建一个 IoT 夜灯。它将从光传感器获取光线强度,并使用 LED 作为执行器,在检测到光线强度过低时发光。 -![作业流程图,显示读取和检查光线强度,并控制 LED](../../../../../translated_images/zh/assignment-1-flow.7552a51acb1a5ec858dca6e855cdbb44206434006df8ba3799a25afcdab1665d.png) +![作业流程图,显示读取和检查光线强度,并控制 LED](../../../../../translated_images/zh-CN/assignment-1-flow.7552a51acb1a5ec858dca6e855cdbb44206434006df8ba3799a25afcdab1665d.png) * [Arduino - Wio Terminal](wio-terminal-actuator.md) * [单板计算机 - Raspberry Pi](pi-actuator.md) @@ -149,7 +149,7 @@ IoT 设备上的引脚(如 GPIO 引脚)可以直接测量此信号为 0 或 模拟执行器接收模拟信号并将其转换为某种交互,其中交互会根据提供的电压变化。 一个例子是可调光灯,例如你家中的灯。提供给灯的电压决定了它的亮度。 -![低电压时灯光较暗,高电压时灯光较亮](../../../../../translated_images/zh/dimmable-light.9ceffeb195dec1a849da718b2d71b32c35171ff7dfea9c07bbf82646a67acf6b.png) +![低电压时灯光较暗,高电压时灯光较亮](../../../../../translated_images/zh-CN/dimmable-light.9ceffeb195dec1a849da718b2d71b32c35171ff7dfea9c07bbf82646a67acf6b.png) 与传感器类似,实际的物联网设备使用的是数字信号,而不是模拟信号。这意味着要发送模拟信号,物联网设备需要一个数字到模拟转换器(DAC),可以直接集成在物联网设备上,也可以在连接板上。这将把物联网设备的0和1转换为执行器可以使用的模拟电压。 @@ -164,7 +164,7 @@ IoT 设备上的引脚(如 GPIO 引脚)可以直接测量此信号为 0 或 假设你用5V电源控制一个电机。你向电机发送一个短脉冲,将电压切换到高电平(5V)持续0.02秒。在这段时间内,电机可以旋转十分之一圈,或36°。然后信号暂停0.02秒,发送低电平信号(0V)。每个开和关的周期持续0.04秒。然后周期重复。 -![电机以150 RPM旋转的脉宽调制](../../../../../translated_images/zh/pwm-motor-150rpm.83347ac04ca38482.webp) +![电机以150 RPM旋转的脉宽调制](../../../../../translated_images/zh-CN/pwm-motor-150rpm.83347ac04ca38482.webp) 这意味着在一秒钟内,你发送了25个0.02秒的5V脉冲,每个脉冲使电机旋转,随后是0.02秒的0V暂停,电机不旋转。每个脉冲使电机旋转十分之一圈,这意味着电机每秒完成2.5圈。你使用数字信号使电机以每秒2.5圈或150 [每分钟转速](https://wikipedia.org/wiki/Revolutions_per_minute)(一种非标准的旋转速度测量单位)旋转。 @@ -175,7 +175,7 @@ IoT 设备上的引脚(如 GPIO 引脚)可以直接测量此信号为 0 或 > 🎓 当PWM信号开启时间和关闭时间各占一半时,这被称为[50%占空比](https://wikipedia.org/wiki/Duty_cycle)。占空比是信号处于开启状态的时间与关闭状态时间的百分比。 -![电机以75 RPM旋转的脉宽调制](../../../../../translated_images/zh/pwm-motor-75rpm.a5e4c939934b6e14.webp) +![电机以75 RPM旋转的脉宽调制](../../../../../translated_images/zh-CN/pwm-motor-75rpm.a5e4c939934b6e14.webp) 可以通过改变脉冲的大小来调整电机速度。例如,对于同一个电机,可以保持周期时间为0.04秒,将开启脉冲减半为0.01秒,关闭脉冲增加到0.03秒。每秒的脉冲数量(25个)保持不变,但每个开启脉冲的长度减半。一个半长度的脉冲只能使电机旋转二十分之一圈,而每秒25个脉冲将使电机完成1.25圈或75rpm。通过改变数字信号的脉冲速度,你将模拟电机的速度减半。 @@ -196,7 +196,7 @@ IoT 设备上的引脚(如 GPIO 引脚)可以直接测量此信号为 0 或 一个简单的数字执行器是LED。当设备发送数字信号1时,会发送高电压点亮LED。当发送数字信号0时,电压降至0V,LED熄灭。 -![LED在0伏时熄灭,在5伏时点亮](../../../../../translated_images/zh/led.ec6d94f66676a174ad06d9fa9ea49c2ee89beb18b312d5c6476467c66375b07f.png) +![LED在0伏时熄灭,在5伏时点亮](../../../../../translated_images/zh-CN/led.ec6d94f66676a174ad06d9fa9ea49c2ee89beb18b312d5c6476467c66375b07f.png) ✅ 你能想到其他简单的两状态执行器吗?一个例子是电磁铁,它可以被激活来完成诸如移动门栓锁定/解锁门的任务。 diff --git a/translations/zh/1-getting-started/lessons/3-sensors-and-actuators/pi-actuator.md b/translations/zh/1-getting-started/lessons/3-sensors-and-actuators/pi-actuator.md index 273e2b20f..61b6e7f35 100644 --- a/translations/zh/1-getting-started/lessons/3-sensors-and-actuators/pi-actuator.md +++ b/translations/zh/1-getting-started/lessons/3-sensors-and-actuators/pi-actuator.md @@ -35,7 +35,7 @@ Grove LED是一个模块,提供多种颜色的LED供选择。 连接LED。 -![一个Grove LED](../../../../../translated_images/zh/grove-led.6c853be93f473cf2c439cfc74bb1064732b22251a83cedf66e62f783f9cc1a79.png) +![一个Grove LED](../../../../../translated_images/zh-CN/grove-led.6c853be93f473cf2c439cfc74bb1064732b22251a83cedf66e62f783f9cc1a79.png) 1. 选择你喜欢的LED,将其引脚插入LED模块上的两个孔中。 @@ -49,7 +49,7 @@ Grove LED是一个模块,提供多种颜色的LED供选择。 1. 在树莓派断电的情况下,将Grove电缆的另一端连接到树莓派上Grove Base帽的数字插座**D5**。这个插座位于GPIO引脚旁边的一排插座中,从左数第二个。 -![连接到D5插座的Grove LED](../../../../../translated_images/zh/pi-led.97f1d474981dc35d1c7996c7b17de355d3d0a6bc9606d79fa5f89df933415122.png) +![连接到D5插座的Grove LED](../../../../../translated_images/zh-CN/pi-led.97f1d474981dc35d1c7996c7b17de355d3d0a6bc9606d79fa5f89df933415122.png) ## 编程夜灯 diff --git a/translations/zh/1-getting-started/lessons/3-sensors-and-actuators/pi-sensor.md b/translations/zh/1-getting-started/lessons/3-sensors-and-actuators/pi-sensor.md index 90cd7d1bf..340b4532c 100644 --- a/translations/zh/1-getting-started/lessons/3-sensors-and-actuators/pi-sensor.md +++ b/translations/zh/1-getting-started/lessons/3-sensors-and-actuators/pi-sensor.md @@ -25,13 +25,13 @@ CO_OP_TRANSLATOR_METADATA: 连接光传感器 -![一个 Grove 光传感器](../../../../../translated_images/zh/grove-light-sensor.b8127b7c434e632d6bcdb57587a14e9ef69a268a22df95d08628f62b8fa5505c.png) +![一个 Grove 光传感器](../../../../../translated_images/zh-CN/grove-light-sensor.b8127b7c434e632d6bcdb57587a14e9ef69a268a22df95d08628f62b8fa5505c.png) 1. 将 Grove 电缆的一端插入光传感器模块上的插座。电缆只能以一种方向插入。 1. 在 Raspberry Pi 断电的情况下,将 Grove 电缆的另一端连接到 Grove Base hat 上标记为 **A0** 的模拟插座。该插座位于 GPIO 引脚旁边插座排的第二个位置。 -![连接到 A0 插座的 Grove 光传感器](../../../../../translated_images/zh/pi-light-sensor.66cc1e31fa48cd7d5f23400d4b2119aa41508275cb7c778053a7923b4e972d7e.png) +![连接到 A0 插座的 Grove 光传感器](../../../../../translated_images/zh-CN/pi-light-sensor.66cc1e31fa48cd7d5f23400d4b2119aa41508275cb7c778053a7923b4e972d7e.png) ## 编程光传感器 diff --git a/translations/zh/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-actuator.md b/translations/zh/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-actuator.md index 0c94da982..16f6d3983 100644 --- a/translations/zh/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-actuator.md +++ b/translations/zh/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-actuator.md @@ -45,11 +45,11 @@ Otherwise 1. 点击 **Add** 按钮,在引脚5上创建LED。 - ![LED设置](../../../../../translated_images/zh/counterfit-create-led.ba9db1c9b8c622a635d6dfae5cdc4e70c2b250635bd4f0601c6cf0bd22b7ba46.png) + ![LED设置](../../../../../translated_images/zh-CN/counterfit-create-led.ba9db1c9b8c622a635d6dfae5cdc4e70c2b250635bd4f0601c6cf0bd22b7ba46.png) LED将被创建并显示在执行器列表中。 - ![创建的LED](../../../../../translated_images/zh/counterfit-led.c0ab02de6d256ad84d9bad4d67a7faa709f0ea83e410cfe9b5561ef0cef30b1c.png) + ![创建的LED](../../../../../translated_images/zh-CN/counterfit-led.c0ab02de6d256ad84d9bad4d67a7faa709f0ea83e410cfe9b5561ef0cef30b1c.png) 创建LED后,您可以使用 *Color* 选择器更改颜色。选择颜色后,点击 **Set** 按钮以更改颜色。 diff --git a/translations/zh/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-sensor.md b/translations/zh/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-sensor.md index 49693b882..ed76cba23 100644 --- a/translations/zh/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-sensor.md +++ b/translations/zh/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-sensor.md @@ -37,11 +37,11 @@ CO_OP_TRANSLATOR_METADATA: 1. 点击 **Add** 按钮,在 Pin 0 上创建光传感器。 - ![光传感器设置](../../../../../translated_images/zh/counterfit-create-light-sensor.9f36a5e0d4458d8d554d54b34d2c806d56093d6e49fddcda2d20f6fef7f5cce1.png) + ![光传感器设置](../../../../../translated_images/zh-CN/counterfit-create-light-sensor.9f36a5e0d4458d8d554d54b34d2c806d56093d6e49fddcda2d20f6fef7f5cce1.png) 光传感器将被创建并显示在传感器列表中。 - ![光传感器已创建](../../../../../translated_images/zh/counterfit-light-sensor.5d0f5584df56b90f6b2561910d9cb20dfbd73eeff2177c238d38f4de54aefae1.png) + ![光传感器已创建](../../../../../translated_images/zh-CN/counterfit-light-sensor.5d0f5584df56b90f6b2561910d9cb20dfbd73eeff2177c238d38f4de54aefae1.png) ## 编程光传感器 diff --git a/translations/zh/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-actuator.md b/translations/zh/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-actuator.md index cca661285..75ba28c6e 100644 --- a/translations/zh/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-actuator.md +++ b/translations/zh/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-actuator.md @@ -35,7 +35,7 @@ Grove LED 是一个模块,包含多种颜色的 LED,您可以选择自己喜 连接 LED。 -![一个 Grove LED](../../../../../translated_images/zh/grove-led.6c853be93f473cf2c439cfc74bb1064732b22251a83cedf66e62f783f9cc1a79.png) +![一个 Grove LED](../../../../../translated_images/zh-CN/grove-led.6c853be93f473cf2c439cfc74bb1064732b22251a83cedf66e62f783f9cc1a79.png) 1. 选择您喜欢的 LED,将其引脚插入 LED 模块上的两个孔中。 @@ -51,7 +51,7 @@ Grove LED 是一个模块,包含多种颜色的 LED,您可以选择自己喜 > 💁 右侧的 Grove 插座可以用于模拟或数字传感器和执行器。左侧插座仅用于 I2C 和数字传感器及执行器。 -![Grove LED 连接到右侧插座](../../../../../translated_images/zh/wio-led.265a1897e72d7f21.webp) +![Grove LED 连接到右侧插座](../../../../../translated_images/zh-CN/wio-led.265a1897e72d7f21.webp) ## 编程夜灯 diff --git a/translations/zh/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-sensor.md b/translations/zh/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-sensor.md index b690bf4ef..61abe1fe8 100644 --- a/translations/zh/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-sensor.md +++ b/translations/zh/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-sensor.md @@ -17,7 +17,7 @@ CO_OP_TRANSLATOR_METADATA: 光传感器内置在 Wio Terminal 中,可以通过背面的透明塑料窗口看到。 -![Wio Terminal 背面的光传感器](../../../../../translated_images/zh/wio-light-sensor.b1f529f3c95f5165.webp) +![Wio Terminal 背面的光传感器](../../../../../translated_images/zh-CN/wio-light-sensor.b1f529f3c95f5165.webp) ## 编程光传感器 diff --git a/translations/zh/1-getting-started/lessons/4-connect-internet/README.md b/translations/zh/1-getting-started/lessons/4-connect-internet/README.md index 0639448e8..b29846da6 100644 --- a/translations/zh/1-getting-started/lessons/4-connect-internet/README.md +++ b/translations/zh/1-getting-started/lessons/4-connect-internet/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 将设备连接到互联网 -![本课的手绘笔记概览](../../../../../translated_images/zh/lesson-4.7344e074ea68fa545fd320b12dce36d72dd62d28c3b4596cb26cf315f434b98f.jpg) +![本课的手绘笔记概览](../../../../../translated_images/zh-CN/lesson-4.7344e074ea68fa545fd320b12dce36d72dd62d28c3b4596cb26cf315f434b98f.jpg) > 手绘笔记由 [Nitya Narasimhan](https://github.com/nitya) 提供。点击图片查看更大版本。 @@ -46,7 +46,7 @@ IoT 设备可以接收来自云的消息。这些消息通常包含命令—— IoT 设备与互联网通信时有许多流行的通信协议。最流行的协议基于通过某种代理进行发布/订阅消息传递。IoT 设备连接到代理并发布遥测数据,同时订阅命令。云服务也连接到代理,订阅所有遥测消息,并发布命令给特定设备或设备组。 -![IoT 设备连接到代理并发布遥测数据,同时订阅命令。云服务连接到代理,订阅所有遥测数据,并向特定设备发送命令。](../../../../../translated_images/zh/pub-sub.7c7ed43fe9fd15d4.webp) +![IoT 设备连接到代理并发布遥测数据,同时订阅命令。云服务连接到代理,订阅所有遥测数据,并向特定设备发送命令。](../../../../../translated_images/zh-CN/pub-sub.7c7ed43fe9fd15d4.webp) MQTT 是 IoT 设备最流行的通信协议之一,本课将重点介绍它。其他协议包括 AMQP 和 HTTP/HTTPS。 @@ -56,7 +56,7 @@ MQTT 是 IoT 设备最流行的通信协议之一,本课将重点介绍它。 MQTT 有一个单一的代理和多个客户端。所有客户端都连接到代理,代理根据需要将消息路由到相关客户端。消息通过命名主题进行路由,而不是直接发送到单个客户端。客户端可以发布到某个主题,订阅该主题的任何客户端都会收到消息。 -![IoT 设备在 /telemetry 主题上发布遥测数据,云服务订阅该主题](../../../../../translated_images/zh/mqtt.cbf7f21d9adc3e17548b359444cc11bb4bf2010543e32ece9a47becf54438c23.png) +![IoT 设备在 /telemetry 主题上发布遥测数据,云服务订阅该主题](../../../../../translated_images/zh-CN/mqtt.cbf7f21d9adc3e17548b359444cc11bb4bf2010543e32ece9a47becf54438c23.png) ✅ 做一些研究。如果您有大量 IoT 设备,如何确保您的 MQTT 代理能够处理所有消息? @@ -78,7 +78,7 @@ MQTT 有一个单一的代理和多个客户端。所有客户端都连接到代 > 💁 此测试代理是公开的且不安全。任何人都可以监听您发布的内容,因此不应用于需要保密的数据。 -![作业流程图,显示光线强度被读取和检查,LED 被控制](../../../../../translated_images/zh/assignment-1-internet-flow.3256feab5f052fd273bf4e331157c574c2c3fa42e479836fc9c3586f41db35a5.png) +![作业流程图,显示光线强度被读取和检查,LED 被控制](../../../../../translated_images/zh-CN/assignment-1-internet-flow.3256feab5f052fd273bf4e331157c574c2c3fa42e479836fc9c3586f41db35a5.png) 按照以下相关步骤将设备连接到 MQTT 代理: @@ -115,7 +115,7 @@ MQTT 连接可以是公开和开放的,也可以通过用户名和密码或证 让我们回顾一下第 1 课中的智能恒温器示例。 -![一个使用多个房间传感器的互联网连接恒温器](../../../../../translated_images/zh/telemetry.21e5d8b97649d2eb.webp) +![一个使用多个房间传感器的互联网连接恒温器](../../../../../translated_images/zh-CN/telemetry.21e5d8b97649d2eb.webp) 恒温器有温度传感器用于收集遥测数据。它可能内置一个温度传感器,并可能通过无线协议(如 [蓝牙低功耗](https://wikipedia.org/wiki/Bluetooth_Low_Energy))连接到多个外部温度传感器。 @@ -267,11 +267,11 @@ Python 的一个强大功能是可以安装 [pip 包](https://pypi.org)——这 1. 当 VS Code 启动时,它会激活 Python 虚拟环境。这将在底部状态栏中显示: - ![VS Code 显示选定的虚拟环境](../../../../../translated_images/zh/vscode-virtual-env.8ba42e04c3d533cf.webp) + ![VS Code 显示选定的虚拟环境](../../../../../translated_images/zh-CN/vscode-virtual-env.8ba42e04c3d533cf.webp) 1. 如果 VS Code 启动时终端已经运行,它不会在终端中激活虚拟环境。最简单的方法是使用 **终止活动终端实例** 按钮关闭终端: - ![VS Code 终止活动终端实例按钮](../../../../../translated_images/zh/vscode-kill-terminal.1cc4de7c6f25ee08.webp) + ![VS Code 终止活动终端实例按钮](../../../../../translated_images/zh-CN/vscode-kill-terminal.1cc4de7c6f25ee08.webp) 1. 通过选择 *终端 -> 新终端* 或按 `` CTRL+` `` 启动一个新的 VS Code 终端。新终端将加载虚拟环境,激活命令会显示在终端中。虚拟环境的名称(`.venv`)也会显示在提示符中: @@ -359,7 +359,7 @@ Python 的一个强大功能是可以安装 [pip 包](https://pypi.org)——这 IoT 设备设计者还应该考虑 IoT 设备在断网或因位置导致信号丢失时是否可以使用。智能恒温器应该能够在无法将遥测数据发送到云端时做出一些有限的决策来控制加热。 -[![这辆法拉利因为有人试图在没有手机信号的地下升级而被锁死](../../../../../translated_images/zh/bricked-car.dc38f8efadc6c59d76211f981a521efb300939283dee468f79503aae3ec67615.png)](https://twitter.com/internetofshit/status/1315736960082808832) +[![这辆法拉利因为有人试图在没有手机信号的地下升级而被锁死](../../../../../translated_images/zh-CN/bricked-car.dc38f8efadc6c59d76211f981a521efb300939283dee468f79503aae3ec67615.png)](https://twitter.com/internetofshit/status/1315736960082808832) 对于 MQTT 来处理连接丢失,设备和服务器代码需要负责确保消息传递的可靠性,例如要求所有发送的消息都通过回复主题上的额外消息进行回复,如果没有,则手动排队以便稍后重播。 @@ -367,7 +367,7 @@ IoT 设备设计者还应该考虑 IoT 设备在断网或因位置导致信号 命令是从云端发送到设备的消息,指示设备执行某些操作。大多数情况下,这涉及通过执行器提供某种输出,但也可以是设备本身的指令,例如重启或收集额外的遥测数据并将其作为命令的响应返回。 -![一个连接到互联网的恒温器接收到打开加热的命令](../../../../../translated_images/zh/commands.d6c06bbbb3a02cce95f2831a1c331daf6dedd4e470c4aa2b0ae54f332016e504.png) +![一个连接到互联网的恒温器接收到打开加热的命令](../../../../../translated_images/zh-CN/commands.d6c06bbbb3a02cce95f2831a1c331daf6dedd4e470c4aa2b0ae54f332016e504.png) 恒温器可以从云端接收到打开加热的命令。根据所有传感器的遥测数据,如果云服务决定加热应该开启,它会发送相关命令。 diff --git a/translations/zh/1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md b/translations/zh/1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md index 23c0a2b98..39070e41d 100644 --- a/translations/zh/1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md +++ b/translations/zh/1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md @@ -64,7 +64,7 @@ CO_OP_TRANSLATOR_METADATA: 1. 在 `src` 文件夹中创建一个名为 `config.h` 的新文件。您可以通过选择 `src` 文件夹或其中的 `main.cpp` 文件,然后从资源管理器中选择 **新建文件** 按钮来完成此操作。此按钮仅在光标悬停在资源管理器上时显示。 - ![新建文件按钮](../../../../../translated_images/zh/vscode-new-file-button.182702340fe6723c.webp) + ![新建文件按钮](../../../../../translated_images/zh-CN/vscode-new-file-button.182702340fe6723c.webp) 1. 在此文件中添加以下代码以定义 WiFi 凭据的常量: diff --git a/translations/zh/2-farm/lessons/1-predict-plant-growth/README.md b/translations/zh/2-farm/lessons/1-predict-plant-growth/README.md index f7d08f147..2bc8e2c22 100644 --- a/translations/zh/2-farm/lessons/1-predict-plant-growth/README.md +++ b/translations/zh/2-farm/lessons/1-predict-plant-growth/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> ## 使用物联网预测植物生长 -![本课的概述手绘图](../../../../../translated_images/zh/lesson-5.42b234299279d263143148b88ab4583861a32ddb03110c6c1120e41bb88b2592.jpg) +![本课的概述手绘图](../../../../../translated_images/zh-CN/lesson-5.42b234299279d263143148b88ab4583861a32ddb03110c6c1120e41bb88b2592.jpg) > 手绘图由 [Nitya Narasimhan](https://github.com/nitya) 提供。点击图片查看更大版本。 @@ -65,7 +65,7 @@ CO_OP_TRANSLATOR_METADATA: ✅ 做一些研究。对于您花园、学校或当地公园中的植物,看看是否能找到它们的基础温度。 -![一张显示植物生长率随温度升高而增加,然后在温度过高时下降的图表](../../../../../translated_images/zh/plant-growth-temp-graph.c6d69c9478e6ca83.webp) +![一张显示植物生长率随温度升高而增加,然后在温度过高时下降的图表](../../../../../translated_images/zh-CN/plant-growth-temp-graph.c6d69c9478e6ca83.webp) 上图显示了一个生长率与温度的示例图表。在基础温度以下没有生长。生长率在达到最佳温度之前逐渐增加,然后在达到峰值后下降。在最高温度时,生长停止。 @@ -99,7 +99,7 @@ CO_OP_TRANSLATOR_METADATA: 完整的 GDD 公式稍显复杂,但通常使用一个简化的公式作为良好的近似值: -![GDD = T max + T min 除以 2,然后减去 T base](../../../../../translated_images/zh/gdd-calculation.79b3660f9c5757aa92dc2dd2cdde75344e2d2c1565c4b3151640f7887edc0275.png) +![GDD = T max + T min 除以 2,然后减去 T base](../../../../../translated_images/zh-CN/gdd-calculation.79b3660f9c5757aa92dc2dd2cdde75344e2d2c1565c4b3151640f7887edc0275.png) * **GDD** - 这是生长度日的数量 * **T max** - 这是当天的最高温度(摄氏度) @@ -127,7 +127,7 @@ CO_OP_TRANSLATOR_METADATA: 计算结果为: -![GDD = 16 + 12 除以 2,然后减去 10,结果为 4](../../../../../translated_images/zh/gdd-calculation-corn.64a58b7a7afcd0dfd46ff733996d939f17f4f3feac9f0d1c632be3523e51ebd9.png) +![GDD = 16 + 12 除以 2,然后减去 10,结果为 4](../../../../../translated_images/zh-CN/gdd-calculation-corn.64a58b7a7afcd0dfd46ff733996d939f17f4f3feac9f0d1c632be3523e51ebd9.png) 当天玉米获得了 4 GDD。假设一种需要 800 GDD 才能成熟的玉米品种,还需要 796 GDD 才能达到成熟。 @@ -141,7 +141,7 @@ CO_OP_TRANSLATOR_METADATA: 通过使用物联网设备收集温度数据,农民可以在植物接近成熟时自动收到通知。一个典型的架构是物联网设备测量温度,然后通过类似 MQTT 的方式将这些遥测数据发布到互联网。服务器代码监听这些数据并将其保存到某处,例如数据库。这意味着数据可以稍后进行分析,例如夜间作业计算当天的 GDD,总结每种作物到目前为止的 GDD,并在植物接近成熟时发出警报。 -![遥测数据发送到服务器并保存到数据库](../../../../../translated_images/zh/save-telemetry-database.ddc9c6bea0c5ba39.webp) +![遥测数据发送到服务器并保存到数据库](../../../../../translated_images/zh-CN/save-telemetry-database.ddc9c6bea0c5ba39.webp) 服务器代码还可以增强数据,例如添加额外信息。物联网设备可以发布一个标识符来指示设备的身份,服务器代码可以使用此标识符查找设备的位置以及它正在监测的作物。它还可以添加基本数据,例如当前时间,因为某些物联网设备没有必要的硬件来准确跟踪时间,或者需要额外的代码通过互联网读取当前时间。 @@ -228,7 +228,7 @@ CSV 文件将有两列——*日期* 和 *温度*。*日期* 列设置为服务 > 💁 如果您使用的是虚拟IoT设备,请勾选随机选项框并设置一个范围,以避免每次返回的温度值都相同。 - ![勾选随机选项框并设置范围](../../../../../translated_images/zh/select-the-random-checkbox-and-set-a-range.32cf4bc7c12e797f.webp) + ![勾选随机选项框并设置范围](../../../../../translated_images/zh-CN/select-the-random-checkbox-and-set-a-range.32cf4bc7c12e797f.webp) > 💁 如果您想运行一整天,那么您需要确保运行服务器代码的计算机不会进入睡眠状态,可以通过更改电源设置或运行类似[这个保持系统活跃的Python脚本](https://github.com/jaqsparow/keep-system-active)来实现。 @@ -248,7 +248,7 @@ CSV 文件将有两列——*日期* 和 *温度*。*日期* 列设置为服务 例如,如果当天的最高温度是25°C,最低温度是12°C: -![GDD = 25 + 12 除以2,然后从结果中减去10,得到8.5](../../../../../translated_images/zh/gdd-calculation-strawberries.59f57db94b22adb8ff6efb951ace33af104a1c6ccca3ffb0f8169c14cb160c90.png) +![GDD = 25 + 12 除以2,然后从结果中减去10,得到8.5](../../../../../translated_images/zh-CN/gdd-calculation-strawberries.59f57db94b22adb8ff6efb951ace33af104a1c6ccca3ffb0f8169c14cb160c90.png) * 25 + 12 = 37 * 37 / 2 = 18.5 diff --git a/translations/zh/2-farm/lessons/1-predict-plant-growth/assignment.md b/translations/zh/2-farm/lessons/1-predict-plant-growth/assignment.md index bb83a8cd0..eb8bd0753 100644 --- a/translations/zh/2-farm/lessons/1-predict-plant-growth/assignment.md +++ b/translations/zh/2-farm/lessons/1-predict-plant-growth/assignment.md @@ -42,7 +42,7 @@ CO_OP_TRANSLATOR_METADATA: Jupyter 将启动并在浏览器中打开 Notebook。按照 Notebook 中的说明操作,可视化测量的温度并计算生长度日(GDD)。 - ![Jupyter Notebook 示例](../../../../../translated_images/zh/gdd-jupyter-notebook.c5b52cf21094f158a61f47f455490fd95f1729777ff90861a4521820bf354cdc.png) + ![Jupyter Notebook 示例](../../../../../translated_images/zh-CN/gdd-jupyter-notebook.c5b52cf21094f158a61f47f455490fd95f1729777ff90861a4521820bf354cdc.png) ## 评分标准 diff --git a/translations/zh/2-farm/lessons/1-predict-plant-growth/pi-temp.md b/translations/zh/2-farm/lessons/1-predict-plant-growth/pi-temp.md index dd2eeae47..cec57d627 100644 --- a/translations/zh/2-farm/lessons/1-predict-plant-growth/pi-temp.md +++ b/translations/zh/2-farm/lessons/1-predict-plant-growth/pi-temp.md @@ -25,13 +25,13 @@ Grove 温度传感器可以连接到树莓派。 连接温度传感器 -![一个 Grove 温度传感器](../../../../../translated_images/zh/grove-dht11.07f8eafceee170043efbb53e1d15722bd4e00fbaa9ff74290b57e9f66eb82c17.png) +![一个 Grove 温度传感器](../../../../../translated_images/zh-CN/grove-dht11.07f8eafceee170043efbb53e1d15722bd4e00fbaa9ff74290b57e9f66eb82c17.png) 1. 将 Grove 电缆的一端插入湿度和温度传感器上的插座。它只能以一种方式插入。 1. 在树莓派断电的情况下,将 Grove 电缆的另一端连接到安装在树莓派上的 Grove Base Hat 上标记为 **D5** 的数字插座。这个插座位于 GPIO 引脚旁边的一排插座中,从左数第二个。 -![Grove 温度传感器连接到 A0 插座](../../../../../translated_images/zh/pi-temperature-sensor.3ff82fff672c8e56.webp) +![Grove 温度传感器连接到 A0 插座](../../../../../translated_images/zh-CN/pi-temperature-sensor.3ff82fff672c8e56.webp) ## 编程温度传感器 diff --git a/translations/zh/2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md b/translations/zh/2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md index 34899ba92..afc7a9b4e 100644 --- a/translations/zh/2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md +++ b/translations/zh/2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md @@ -47,11 +47,11 @@ CO_OP_TRANSLATOR_METADATA: 1. 点击 **Add** 按钮,在 Pin 5 上创建湿度传感器。 - ![湿度传感器设置](../../../../../translated_images/zh/counterfit-create-humidity-sensor.2750e27b6f30e09cf4e22101defd5252710717620816ab41ba688f91f757c49a.png) + ![湿度传感器设置](../../../../../translated_images/zh-CN/counterfit-create-humidity-sensor.2750e27b6f30e09cf4e22101defd5252710717620816ab41ba688f91f757c49a.png) 湿度传感器将被创建并显示在传感器列表中。 - ![湿度传感器已创建](../../../../../translated_images/zh/counterfit-humidity-sensor.7b12f7f339e430cb26c8211d2dba4ef75261b353a01da0932698b5bebd693f27.png) + ![湿度传感器已创建](../../../../../translated_images/zh-CN/counterfit-humidity-sensor.7b12f7f339e430cb26c8211d2dba4ef75261b353a01da0932698b5bebd693f27.png) 1. 创建一个温度传感器: @@ -63,11 +63,11 @@ CO_OP_TRANSLATOR_METADATA: 1. 点击 **Add** 按钮,在 Pin 6 上创建温度传感器。 - ![温度传感器设置](../../../../../translated_images/zh/counterfit-create-temperature-sensor.199350ed34f7343d79dccbe95eaf6c11d2121f03d1c35ab9613b330c23f39b29.png) + ![温度传感器设置](../../../../../translated_images/zh-CN/counterfit-create-temperature-sensor.199350ed34f7343d79dccbe95eaf6c11d2121f03d1c35ab9613b330c23f39b29.png) 温度传感器将被创建并显示在传感器列表中。 - ![温度传感器已创建](../../../../../translated_images/zh/counterfit-temperature-sensor.f0560236c96a9016bafce7f6f792476fe3367bc6941a1f7d5811d144d4bcbfff.png) + ![温度传感器已创建](../../../../../translated_images/zh-CN/counterfit-temperature-sensor.f0560236c96a9016bafce7f6f792476fe3367bc6941a1f7d5811d144d4bcbfff.png) ## 编写温度传感器应用程序 diff --git a/translations/zh/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md b/translations/zh/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md index d0f217f38..33d8d3b4d 100644 --- a/translations/zh/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md +++ b/translations/zh/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md @@ -27,13 +27,13 @@ Grove 温度传感器可以连接到 Wio Terminal 的数字端口。 连接温度传感器。 -![一个 Grove 温度传感器](../../../../../translated_images/zh/grove-dht11.07f8eafceee170043efbb53e1d15722bd4e00fbaa9ff74290b57e9f66eb82c17.png) +![一个 Grove 温度传感器](../../../../../translated_images/zh-CN/grove-dht11.07f8eafceee170043efbb53e1d15722bd4e00fbaa9ff74290b57e9f66eb82c17.png) 1. 将 Grove 电缆的一端插入湿度和温度传感器上的插座。电缆只能以一种方向插入。 1. 在 Wio Terminal 未连接到计算机或其他电源的情况下,将 Grove 电缆的另一端连接到 Wio Terminal 屏幕右侧的 Grove 插座。这是距离电源按钮最远的插座。 -![Grove 温度传感器连接到右侧插座](../../../../../translated_images/zh/wio-temperature-sensor.2934928f38c7f79a.webp) +![Grove 温度传感器连接到右侧插座](../../../../../translated_images/zh-CN/wio-temperature-sensor.2934928f38c7f79a.webp) ## 编程温度传感器 diff --git a/translations/zh/2-farm/lessons/2-detect-soil-moisture/README.md b/translations/zh/2-farm/lessons/2-detect-soil-moisture/README.md index 3e531baec..722514312 100644 --- a/translations/zh/2-farm/lessons/2-detect-soil-moisture/README.md +++ b/translations/zh/2-farm/lessons/2-detect-soil-moisture/README.md @@ -22,7 +22,7 @@ I²C 总线由两根主要的通信线和两根电源线组成: | VCC | 电压公共集电极 | 为设备提供电源。通过一个上拉电阻连接到 SDA 和 SCL 线,为它们提供电源,并在没有设备作为控制器时关闭信号。 | | GND | 地线 | 为电路提供公共地线。 | -![I2C 总线连接了 3 个设备,这些设备共享 SDA 和 SCL 线以及一个公共地线](../../../../../translated_images/zh/i2c.83da845dde02256bdd462dbe0d5145461416b74930571b89d1ae142841eeb584.png) +![I2C 总线连接了 3 个设备,这些设备共享 SDA 和 SCL 线以及一个公共地线](../../../../../translated_images/zh-CN/i2c.83da845dde02256bdd462dbe0d5145461416b74930571b89d1ae142841eeb584.png) 要发送数据,一个设备会发出启动条件,表明它准备好发送数据。它随后成为控制器。控制器接着发送它想要通信的设备地址,以及它是要读取还是写入数据。在数据传输完成后,控制器发送停止条件,表明它已完成。之后,另一个设备可以成为控制器并发送或接收数据。 @@ -37,7 +37,7 @@ UART 涉及允许两个设备通信的物理电路。每个设备有两个通信 * 设备 1 从其 Tx 引脚发送数据,设备 2 在其 Rx 引脚接收数据 * 设备 1 在其 Rx 引脚接收设备 2 从其 Tx 引脚发送的数据 -![UART 中一个芯片的 Tx 引脚连接到另一个芯片的 Rx 引脚,反之亦然](../../../../../translated_images/zh/uart.d0dbd3fb9e3728c6.webp) +![UART 中一个芯片的 Tx 引脚连接到另一个芯片的 Rx 引脚,反之亦然](../../../../../translated_images/zh-CN/uart.d0dbd3fb9e3728c6.webp) > 🎓 数据以一位一位的方式发送,这被称为*串行*通信。大多数操作系统和微控制器都有*串行端口*,即可以发送和接收串行数据的连接,供您的代码使用。 @@ -66,7 +66,7 @@ SPI 控制器使用 3 根线,以及每个外设额外的一根线。外设使 | SCLK | 串行时钟 | 这根线以控制器设置的速率发送时钟信号。 | | CS | 芯片选择 | 控制器有多根线,每根线连接到相应外设的 CS 线。 | -![一个控制器和两个外设的 SPI](../../../../../translated_images/zh/spi.297431d6f98b386b.webp) +![一个控制器和两个外设的 SPI](../../../../../translated_images/zh-CN/spi.297431d6f98b386b.webp) CS 线用于一次激活一个外设,通过 COPI 和 CIPO 线进行通信。当控制器需要更换外设时,它会停用当前激活外设的 CS 线,然后激活连接到下一个外设的线。 @@ -127,13 +127,13 @@ BLE 在高级传感器中很受欢迎,例如手腕上的健身追踪器。这 土壤湿度传感器测量电阻或电容——这不仅随土壤湿度变化,还随土壤类型变化,因为土壤中的成分会改变其电气特性。理想情况下,传感器应进行校准——即从传感器获取读数并与通过更科学的方法获得的测量值进行比较。例如,实验室可以通过对特定田地的样本进行一年几次的测量来计算重量含水量,然后使用这些数据校准传感器,将传感器读数与重量含水量匹配。 -![电压与土壤湿度含量的关系图](../../../../../translated_images/zh/soil-moisture-to-voltage.df86d80cda158700.webp) +![电压与土壤湿度含量的关系图](../../../../../translated_images/zh-CN/soil-moisture-to-voltage.df86d80cda158700.webp) 上图显示了如何校准传感器。通过对土壤样本进行电压测量,然后在实验室中通过比较湿重和干重(通过测量湿重,然后在烘箱中干燥并测量干重)来测量湿度。获取几个读数后,可以将其绘制在图表上,并拟合一条线。这条线可以用来将物联网设备获取的土壤湿度传感器读数转换为实际的土壤湿度测量值。 💁 对于电阻式土壤湿度传感器,电压随着土壤湿度的增加而增加。对于电容式土壤湿度传感器,电压随着土壤湿度的增加而减少,因此这些传感器的图表会向下倾斜,而不是向上。 -![从图表中插值的土壤湿度值](../../../../../translated_images/zh/soil-moisture-to-voltage-with-reading.681cb3e1f8b68caf.webp) +![从图表中插值的土壤湿度值](../../../../../translated_images/zh-CN/soil-moisture-to-voltage-with-reading.681cb3e1f8b68caf.webp) 上图显示了土壤湿度传感器的电压读数,通过将其与图表上的线相交,可以计算出实际的土壤湿度。 diff --git a/translations/zh/2-farm/lessons/2-detect-soil-moisture/assignment.md b/translations/zh/2-farm/lessons/2-detect-soil-moisture/assignment.md index ddfe8bd9f..dc64b320a 100644 --- a/translations/zh/2-farm/lessons/2-detect-soil-moisture/assignment.md +++ b/translations/zh/2-farm/lessons/2-detect-soil-moisture/assignment.md @@ -29,14 +29,14 @@ CO_OP_TRANSLATOR_METADATA: 重力土壤湿度的计算公式为: -![土壤湿度百分比等于湿土重量减去干土重量,除以干土重量,再乘以100](../../../../../translated_images/zh/gsm-calculation.6da38c6201eec14e7573bb2647aa18892883193553d23c9d77e5dc681522dfb2.png) +![土壤湿度百分比等于湿土重量减去干土重量,除以干土重量,再乘以100](../../../../../translated_images/zh-CN/gsm-calculation.6da38c6201eec14e7573bb2647aa18892883193553d23c9d77e5dc681522dfb2.png) * W - 湿土的重量 * W - 干土的重量 例如,假设您有一个土壤样本,湿重为212克,干重为197克。 -![填入计算公式的示例](../../../../../translated_images/zh/gsm-calculation-example.99f9803b4f29e97668e7c15412136c0c399ab12dbba0b89596fdae9d8aedb6fb.png) +![填入计算公式的示例](../../../../../translated_images/zh-CN/gsm-calculation-example.99f9803b4f29e97668e7c15412136c0c399ab12dbba0b89596fdae9d8aedb6fb.png) * W = 212克 * W = 197克 diff --git a/translations/zh/2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md b/translations/zh/2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md index 539baa2ce..ebc025e25 100644 --- a/translations/zh/2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md +++ b/translations/zh/2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md @@ -27,17 +27,17 @@ Grove 土壤湿度传感器可以连接到树莓派。 连接土壤湿度传感器。 -![一个 Grove 土壤湿度传感器](../../../../../translated_images/zh/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.png) +![一个 Grove 土壤湿度传感器](../../../../../translated_images/zh-CN/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.png) 1. 将 Grove 电缆的一端插入土壤湿度传感器上的插座。它只能以一种方式插入。 1. 在树莓派断电的情况下,将 Grove 电缆的另一端连接到 Grove Base Hat 上标记为 **A0** 的模拟插座。这个插座位于 GPIO 引脚旁边的一排插座中,从右数第二个。 -![Grove 土壤湿度传感器连接到 A0 插座](../../../../../translated_images/zh/pi-soil-moisture-sensor.fdd7eb2393792cf6739cacf1985d9f55beda16d372f30d0b5a51d586f978a870.png) +![Grove 土壤湿度传感器连接到 A0 插座](../../../../../translated_images/zh-CN/pi-soil-moisture-sensor.fdd7eb2393792cf6739cacf1985d9f55beda16d372f30d0b5a51d586f978a870.png) 1. 将土壤湿度传感器插入土壤中。传感器上有一条“最高位置线”——一条横跨传感器的白线。将传感器插入到这条线以下,但不要超过这条线。 -![插入土壤中的 Grove 土壤湿度传感器](../../../../../translated_images/zh/soil-moisture-sensor-in-soil.bfad91002bda5e96.webp) +![插入土壤中的 Grove 土壤湿度传感器](../../../../../translated_images/zh-CN/soil-moisture-sensor-in-soil.bfad91002bda5e96.webp) ## 编程土壤湿度传感器 diff --git a/translations/zh/2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md b/translations/zh/2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md index 010755efd..79a09ed21 100644 --- a/translations/zh/2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md +++ b/translations/zh/2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md @@ -43,11 +43,11 @@ CO_OP_TRANSLATOR_METADATA: 1. 点击 **Add** 按钮,在 Pin 0 上创建 *Soil Moisture* 传感器。 - ![土壤湿度传感器设置](../../../../../translated_images/zh/counterfit-create-soil-moisture-sensor.35266135a5e0ae68b29a684d7db0d2933a8098b2307d197f7c71577b724603aa.png) + ![土壤湿度传感器设置](../../../../../translated_images/zh-CN/counterfit-create-soil-moisture-sensor.35266135a5e0ae68b29a684d7db0d2933a8098b2307d197f7c71577b724603aa.png) 土壤湿度传感器将被创建并显示在传感器列表中。 - ![已创建的土壤湿度传感器](../../../../../translated_images/zh/counterfit-soil-moisture-sensor.81742b2de0e9de60a3b3b9a2ff8ecc686d428eb6d71820f27a693be26e5aceee.png) + ![已创建的土壤湿度传感器](../../../../../translated_images/zh-CN/counterfit-soil-moisture-sensor.81742b2de0e9de60a3b3b9a2ff8ecc686d428eb6d71820f27a693be26e5aceee.png) ## 编写土壤湿度传感器应用程序 diff --git a/translations/zh/2-farm/lessons/2-detect-soil-moisture/wio-terminal-soil-moisture.md b/translations/zh/2-farm/lessons/2-detect-soil-moisture/wio-terminal-soil-moisture.md index afffdd551..38bb17595 100644 --- a/translations/zh/2-farm/lessons/2-detect-soil-moisture/wio-terminal-soil-moisture.md +++ b/translations/zh/2-farm/lessons/2-detect-soil-moisture/wio-terminal-soil-moisture.md @@ -27,17 +27,17 @@ Grove 土壤湿度传感器可以连接到 Wio Terminal 的可配置模拟/数 连接土壤湿度传感器。 -![一个 Grove 土壤湿度传感器](../../../../../translated_images/zh/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.png) +![一个 Grove 土壤湿度传感器](../../../../../translated_images/zh-CN/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.png) 1. 将 Grove 电缆的一端插入土壤湿度传感器上的插座。电缆只能以一种方向插入。 1. 在 Wio Terminal 未连接到电脑或其他电源的情况下,将 Grove 电缆的另一端连接到 Wio Terminal 屏幕右侧的 Grove 插座。这是距离电源按钮最远的插座。 -![Grove 土壤湿度传感器连接到右侧插座](../../../../../translated_images/zh/wio-soil-moisture-sensor.46919b61c3f6cb74.webp) +![Grove 土壤湿度传感器连接到右侧插座](../../../../../translated_images/zh-CN/wio-soil-moisture-sensor.46919b61c3f6cb74.webp) 1. 将土壤湿度传感器插入土壤中。传感器上有一个“最高位置线”——一条白线横跨传感器。将传感器插入土壤,直到但不超过这条线。 -![土壤中的 Grove 土壤湿度传感器](../../../../../translated_images/zh/soil-moisture-sensor-in-soil.bfad91002bda5e96.webp) +![土壤中的 Grove 土壤湿度传感器](../../../../../translated_images/zh-CN/soil-moisture-sensor-in-soil.bfad91002bda5e96.webp) 1. 现在可以将 Wio Terminal 连接到您的电脑。 diff --git a/translations/zh/2-farm/lessons/3-automated-plant-watering/README.md b/translations/zh/2-farm/lessons/3-automated-plant-watering/README.md index dbaf557a0..067c1e0af 100644 --- a/translations/zh/2-farm/lessons/3-automated-plant-watering/README.md +++ b/translations/zh/2-farm/lessons/3-automated-plant-watering/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 自动植物浇水 -![本课的手绘笔记概览](../../../../../translated_images/zh/lesson-7.30b5f577d3cb8e031238751475cb519c7d6dbaea261b5df4643d086ffb2a03bb.jpg) +![本课的手绘笔记概览](../../../../../translated_images/zh-CN/lesson-7.30b5f577d3cb8e031238751475cb519c7d6dbaea261b5df4643d086ffb2a03bb.jpg) > 手绘笔记由 [Nitya Narasimhan](https://github.com/nitya) 提供。点击图片查看大图。 @@ -41,7 +41,7 @@ CO_OP_TRANSLATOR_METADATA: 解决方案是将水泵连接到外部电源,并使用执行器来打开水泵,就像你用手指打开灯一样。打开开关所需的能量很小(来自你身体的能量),而这会将灯连接到 110v/240v 的市电。 -![一个灯开关打开灯的电源](../../../../../translated_images/zh/light-switch.760317ad6ab8bd6d611da5352dfe9c73a94a0822ccec7df3c8bae35da18e1658.png) +![一个灯开关打开灯的电源](../../../../../translated_images/zh-CN/light-switch.760317ad6ab8bd6d611da5352dfe9c73a94a0822ccec7df3c8bae35da18e1658.png) > 🎓 [市电](https://wikipedia.org/wiki/Mains_electricity) 指的是通过国家基础设施输送到家庭和企业的电力。 @@ -55,11 +55,11 @@ CO_OP_TRANSLATOR_METADATA: > 🎓 [电磁铁](https://wikipedia.org/wiki/Electromagnet) 是通过电流流过线圈产生磁场的磁铁。当电流开启时,线圈被磁化;当电流关闭时,线圈失去磁性。 -![当电磁铁通电时,产生磁场,打开输出电路的开关](../../../../../translated_images/zh/relay-on.4db16a0fd6b66926.webp) +![当电磁铁通电时,产生磁场,打开输出电路的开关](../../../../../translated_images/zh-CN/relay-on.4db16a0fd6b66926.webp) 在继电器中,控制电路为电磁铁供电。当电磁铁通电时,它会拉动一个杠杆,移动开关,闭合一对触点,从而完成输出电路。 -![当电磁铁断电时,不产生磁场,关闭输出电路的开关](../../../../../translated_images/zh/relay-off.c34a178a2960fecd.webp) +![当电磁铁断电时,不产生磁场,关闭输出电路的开关](../../../../../translated_images/zh-CN/relay-off.c34a178a2960fecd.webp) 当控制电路断电时,电磁铁关闭,释放杠杆并打开触点,从而关闭输出电路。继电器是一种数字执行器——高电平信号打开继电器,低电平信号关闭继电器。 @@ -81,11 +81,11 @@ CO_OP_TRANSLATOR_METADATA: 电磁铁所需的功率很小,可以通过物联网开发板的 3.3V 或 5V 输出控制。输出电路可以承载更多功率,具体取决于继电器,包括市电电压甚至更高的工业电压。这使得物联网开发板可以控制灌溉系统,从单个植物的小型水泵到整个商业农场的大型工业系统。 -![一个带有标注的 Grove 继电器,显示控制电路、输出电路和继电器](../../../../../translated_images/zh/grove-relay-labelled.293e068f5c3c2a199bd7892f2661fdc9e10c920b535cfed317fbd6d1d4ae1168.png) +![一个带有标注的 Grove 继电器,显示控制电路、输出电路和继电器](../../../../../translated_images/zh-CN/grove-relay-labelled.293e068f5c3c2a199bd7892f2661fdc9e10c920b535cfed317fbd6d1d4ae1168.png) 上图显示了一个 Grove 继电器。控制电路连接到物联网设备,并使用 3.3V 或 5V 打开或关闭继电器。输出电路有两个端子,任意一个可以是电源或接地。输出电路可以处理高达 250V、10A 的电流,足以驱动一系列市电设备。你还可以找到能够处理更高功率的继电器。 -![通过继电器连接的水泵](../../../../../translated_images/zh/pump-wired-to-relay.66c5cfc0d8918990.webp) +![通过继电器连接的水泵](../../../../../translated_images/zh-CN/pump-wired-to-relay.66c5cfc0d8918990.webp) 在上图中,电源通过继电器供给水泵。一根红线将 USB 电源的 +5V 端子连接到继电器输出电路的一个端子,另一根红线将输出电路的另一个端子连接到水泵。一根黑线将水泵连接到 USB 电源的接地端。当继电器打开时,它完成电路,将 5V 送到水泵,启动水泵。 @@ -135,7 +135,7 @@ CO_OP_TRANSLATOR_METADATA: 如果你在上一课中使用了物理传感器测量土壤湿度,你可能注意到在给植物浇水后,土壤湿度读数需要几秒钟才会下降。这并不是因为传感器反应慢,而是因为水需要时间渗透到土壤中。 💁 如果你在传感器附近浇水过多,可能会看到读数迅速下降,然后又回升——这是因为传感器附近的水分扩散到土壤的其他部分,导致传感器附近的土壤湿度降低。 -![土壤湿度测量值为658,在浇水时没有变化,只有当水渗透到土壤后才会降到320](../../../../../translated_images/zh/soil-moisture-travel.a0e31af222cf1438.webp) +![土壤湿度测量值为658,在浇水时没有变化,只有当水渗透到土壤后才会降到320](../../../../../translated_images/zh-CN/soil-moisture-travel.a0e31af222cf1438.webp) 在上图中,土壤湿度的读数为658。植物被浇水,但这个读数不会立即变化,因为水还没有到达传感器。甚至在水到达传感器之前,浇水可能已经结束,只有当水渗透到土壤后,读数才会下降以反映新的湿度水平。 @@ -157,11 +157,11 @@ CO_OP_TRANSLATOR_METADATA: > 💁 这种时间控制非常具体,取决于你正在构建的物联网设备、测量的属性以及使用的传感器和执行器。 -![一个草莓植物通过水泵连接到水源,水泵通过继电器控制。继电器和土壤湿度传感器都连接到树莓派](../../../../../translated_images/zh/strawberry-with-pump.b410fc72ac6aabad.webp) +![一个草莓植物通过水泵连接到水源,水泵通过继电器控制。继电器和土壤湿度传感器都连接到树莓派](../../../../../translated_images/zh-CN/strawberry-with-pump.b410fc72ac6aabad.webp) 例如,我有一株草莓植物,配备了一个土壤湿度传感器和一个通过继电器控制的水泵。我观察到,当我加水时,土壤湿度读数需要大约20秒才能稳定。这意味着我需要关闭继电器并等待20秒,然后再检查湿度水平。我宁愿水少一点也不愿多——我可以随时再次打开水泵,但我无法从植物中移除多余的水。 -![步骤1:测量湿度。步骤2:加水。步骤3:等待水渗透到土壤中。步骤4:重新测量湿度](../../../../../translated_images/zh/soil-moisture-delay.865f3fae206db01d.webp) +![步骤1:测量湿度。步骤2:加水。步骤3:等待水渗透到土壤中。步骤4:重新测量湿度](../../../../../translated_images/zh-CN/soil-moisture-delay.865f3fae206db01d.webp) 这意味着最佳的浇水流程可能是这样的: diff --git a/translations/zh/2-farm/lessons/3-automated-plant-watering/pi-relay.md b/translations/zh/2-farm/lessons/3-automated-plant-watering/pi-relay.md index 8d0f59351..f0a681b60 100644 --- a/translations/zh/2-farm/lessons/3-automated-plant-watering/pi-relay.md +++ b/translations/zh/2-farm/lessons/3-automated-plant-watering/pi-relay.md @@ -27,13 +27,13 @@ Grove 继电器可以连接到树莓派。 连接继电器。 -![一个 Grove 继电器](../../../../../translated_images/zh/grove-relay.d426958ca210fbd0fb7983d7edc069d46c73a8b0a099d94797bd756f7b6bb6be.png) +![一个 Grove 继电器](../../../../../translated_images/zh-CN/grove-relay.d426958ca210fbd0fb7983d7edc069d46c73a8b0a099d94797bd756f7b6bb6be.png) 1. 将 Grove 电缆的一端插入继电器上的插座。它只能以一种方式插入。 1. 在树莓派断电的情况下,将 Grove 电缆的另一端连接到 Grove Base Hat 上标记为 **D5** 的数字插座。这个插座位于 GPIO 引脚旁边的一排插座中,从左数第二个。保持土壤湿度传感器连接到 **A0** 插座。 -![Grove 继电器连接到 D5 插座,土壤湿度传感器连接到 A0 插座](../../../../../translated_images/zh/pi-relay-and-soil-moisture-sensor.02f3198975b8c53e69ec716cd2719ce117700bd1fc933eaf93476c103c57939b.png) +![Grove 继电器连接到 D5 插座,土壤湿度传感器连接到 A0 插座](../../../../../translated_images/zh-CN/pi-relay-and-soil-moisture-sensor.02f3198975b8c53e69ec716cd2719ce117700bd1fc933eaf93476c103c57939b.png) 1. 如果土壤湿度传感器还没有插入土壤,请将其插入土壤中(如果您在上一节课程中已经插入,则无需重复操作)。 diff --git a/translations/zh/2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md b/translations/zh/2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md index 8b483d671..6d341f89f 100644 --- a/translations/zh/2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md +++ b/translations/zh/2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md @@ -37,11 +37,11 @@ CO_OP_TRANSLATOR_METADATA: 1. 点击 **Add** 按钮,在 Pin 5 上创建继电器。 - ![继电器设置](../../../../../translated_images/zh/counterfit-create-relay.fa7c40fd0f2f6afc33b35ea94fcb235085be4861e14e3fe6b9b7bcfc82d1c888.png) + ![继电器设置](../../../../../translated_images/zh-CN/counterfit-create-relay.fa7c40fd0f2f6afc33b35ea94fcb235085be4861e14e3fe6b9b7bcfc82d1c888.png) 继电器将被创建并显示在执行器列表中。 - ![创建的继电器](../../../../../translated_images/zh/counterfit-relay.bbf74c1dbdc8b9acd983367fcbd06703a402aefef6af54ddb28e11307ba8a12c.png) + ![创建的继电器](../../../../../translated_images/zh-CN/counterfit-relay.bbf74c1dbdc8b9acd983367fcbd06703a402aefef6af54ddb28e11307ba8a12c.png) ## 编程继电器 diff --git a/translations/zh/2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md b/translations/zh/2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md index 8bd1e7802..96aa0ded7 100644 --- a/translations/zh/2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md +++ b/translations/zh/2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 将植物迁移到云端 -![本课的手绘笔记概览](../../../../../translated_images/zh/lesson-8.3f21f3c11159e6a0a376351973ea5724d5de68fa23b4288853a174bed9ac48c3.jpg) +![本课的手绘笔记概览](../../../../../translated_images/zh-CN/lesson-8.3f21f3c11159e6a0a376351973ea5724d5de68fa23b4288853a174bed9ac48c3.jpg) > 手绘笔记由 [Nitya Narasimhan](https://github.com/nitya) 提供。点击图片查看大图。 @@ -55,8 +55,8 @@ IoT 设备通过公共 MQTT broker 进行通信,以演示原理,但这种方 云通常被戏称为“别人的计算机”。最初的想法很简单——与其购买计算机,不如租用别人的计算机。云计算提供商会管理巨大的数据中心。他们负责购买和安装硬件、管理电力和冷却、网络连接、建筑安全、硬件和软件更新等所有事情。作为客户,你可以根据需求租用计算机,需求增加时租用更多,需求减少时减少租用。这些云数据中心分布在全球各地。 -![一个微软云数据中心](../../../../../translated_images/zh/azure-region-existing.73f704604f2aa6cb9b5a49ed40e93d4fd81ae3f4e6af4a8ca504023902832f56.png) -![一个微软云数据中心的计划扩展](../../../../../translated_images/zh/azure-region-planned-expansion.a5074a1e8af74f156a73552d502429e5b126ea5019274d767ecb4b9afdad442b.png) +![一个微软云数据中心](../../../../../translated_images/zh-CN/azure-region-existing.73f704604f2aa6cb9b5a49ed40e93d4fd81ae3f4e6af4a8ca504023902832f56.png) +![一个微软云数据中心的计划扩展](../../../../../translated_images/zh-CN/azure-region-planned-expansion.a5074a1e8af74f156a73552d502429e5b126ea5019274d767ecb4b9afdad442b.png) 这些数据中心的面积可以达到数平方公里。上图是几年前拍摄的微软云数据中心,展示了初始规模以及计划扩展。扩展区域的面积超过 5 平方公里。 @@ -72,7 +72,7 @@ IoT 设备通过公共 MQTT broker 进行通信,以演示原理,但这种方 Azure 是微软的开发者云,也是你将在这些课程中使用的云服务。以下视频简要介绍了 Azure: -[![Azure 概览视频](../../../../../translated_images/zh/what-is-azure-video-thumbnail.20174db09e03bbb8.webp)](https://www.microsoft.com/videoplayer/embed/RE4Ibng?WT.mc_id=academic-17441-jabenn) +[![Azure 概览视频](../../../../../translated_images/zh-CN/what-is-azure-video-thumbnail.20174db09e03bbb8.webp)](https://www.microsoft.com/videoplayer/embed/RE4Ibng?WT.mc_id=academic-17441-jabenn) ## 创建云订阅 @@ -117,11 +117,11 @@ Azure 是微软的开发者云,也是你将在这些课程中使用的云服 IoT 设备通过设备 SDK(一个提供服务功能代码的库)或直接通过通信协议(如 MQTT 或 HTTP)连接到云服务。设备 SDK 通常是最简单的选择,因为它会处理所有事情,例如知道要发布或订阅哪些主题,以及如何处理安全性。 -![设备通过设备 SDK 连接到服务。服务器代码也通过 SDK 连接到服务](../../../../../translated_images/zh/iot-service-connectivity.7e873847921a5d6fd60d0ba3a943210194518cee0d4e362476624316443275c3.png) +![设备通过设备 SDK 连接到服务。服务器代码也通过 SDK 连接到服务](../../../../../translated_images/zh-CN/iot-service-connectivity.7e873847921a5d6fd60d0ba3a943210194518cee0d4e362476624316443275c3.png) 你的设备随后通过该服务与应用程序的其他部分通信——类似于你通过 MQTT 发送遥测数据和接收命令。通常使用服务 SDK 或类似库。消息从设备发送到服务,应用程序的其他组件可以读取这些消息,然后将消息发送回设备。 -![没有有效密钥的设备无法连接到 IoT 服务](../../../../../translated_images/zh/iot-service-allowed-denied-connection.818b0063ac213fb84204a7229303764d9b467ca430fb822b4ac2fca267d56726.png) +![没有有效密钥的设备无法连接到 IoT 服务](../../../../../translated_images/zh-CN/iot-service-allowed-denied-connection.818b0063ac213fb84204a7229303764d9b467ca430fb822b4ac2fca267d56726.png) 这些服务通过了解所有可以连接并发送数据的设备来实现安全性,方法是预先注册设备,或者为设备提供密钥或证书,使它们能够在首次连接时自行注册到服务。未知设备无法连接,如果尝试连接,服务会拒绝连接并忽略它们发送的消息。 @@ -133,7 +133,7 @@ IoT 设备通过设备 SDK(一个提供服务功能代码的库)或直接通 现在您已经拥有了一个 Azure 订阅,您可以注册一个 IoT 服务。微软提供的 IoT 服务叫做 Azure IoT Hub。 -![Azure IoT Hub 标志](../../../../../translated_images/zh/azure-iot-hub-logo.28a19de76d0a1932464d858f7558712bcdace3e5ec69c434d482ed7ce41c3a26.png) +![Azure IoT Hub 标志](../../../../../translated_images/zh-CN/azure-iot-hub-logo.28a19de76d0a1932464d858f7558712bcdace3e5ec69c434d482ed7ce41c3a26.png) 下面的视频简要介绍了 Azure IoT Hub: diff --git a/translations/zh/2-farm/lessons/5-migrate-application-to-the-cloud/README.md b/translations/zh/2-farm/lessons/5-migrate-application-to-the-cloud/README.md index be8555721..6293ed55c 100644 --- a/translations/zh/2-farm/lessons/5-migrate-application-to-the-cloud/README.md +++ b/translations/zh/2-farm/lessons/5-migrate-application-to-the-cloud/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 将应用程序逻辑迁移到云端 -![本课的手绘笔记概览](../../../../../translated_images/zh/lesson-9.dfe99c8e891f48e179724520da9f5794392cf9a625079281ccdcbf09bd85e1b6.jpg) +![本课的手绘笔记概览](../../../../../translated_images/zh-CN/lesson-9.dfe99c8e891f48e179724520da9f5794392cf9a625079281ccdcbf09bd85e1b6.jpg) > 手绘笔记由 [Nitya Narasimhan](https://github.com/nitya) 提供。点击图片查看更大版本。 @@ -37,11 +37,11 @@ CO_OP_TRANSLATOR_METADATA: 无服务器(或无服务器计算)是指创建在云端运行的小型代码块,这些代码块会根据不同类型的事件触发运行。当事件发生时,您的代码会运行,并接收有关事件的数据。这些事件可以来自许多不同的来源,包括网络请求、队列中的消息、数据库中的数据变化,或 IoT 设备发送到 IoT 服务的消息。 -![事件从 IoT 服务发送到无服务器服务,同时由多个函数处理](../../../../../translated_images/zh/iot-messages-to-serverless.0194da1cc0732bb7d0f823aed3fce54735c6b1ad3bf36089804d8aaefc0a774f.png) +![事件从 IoT 服务发送到无服务器服务,同时由多个函数处理](../../../../../translated_images/zh-CN/iot-messages-to-serverless.0194da1cc0732bb7d0f823aed3fce54735c6b1ad3bf36089804d8aaefc0a774f.png) > 💁 如果您之前使用过数据库触发器,可以将其类比为代码因事件(如插入一行数据)而触发。 -![当许多事件同时发送时,无服务器服务会扩展以同时运行所有事件](../../../../../translated_images/zh/serverless-scaling.f8c769adf0413fd1.webp) +![当许多事件同时发送时,无服务器服务会扩展以同时运行所有事件](../../../../../translated_images/zh-CN/serverless-scaling.f8c769adf0413fd1.webp) 您的代码仅在事件发生时运行,其他时间不会保持活动状态。事件发生时,代码会被加载并运行。这使得无服务器非常具有扩展性——如果许多事件同时发生,云提供商可以根据需要同时运行您的函数,利用其可用的服务器资源。缺点是,如果需要在事件之间共享信息,必须将其存储在数据库等地方,而不能存储在内存中。 @@ -63,7 +63,7 @@ CO_OP_TRANSLATOR_METADATA: Microsoft 的无服务器计算服务称为 Azure Functions。 -![Azure Functions 标志](../../../../../translated_images/zh/azure-functions-logo.1cfc8e3204c9c44aaf80fcf406fc8544d80d7f00f8d3e8ed6fed764563e17564.png) +![Azure Functions 标志](../../../../../translated_images/zh-CN/azure-functions-logo.1cfc8e3204c9c44aaf80fcf406fc8544d80d7f00f8d3e8ed6fed764563e17564.png) 以下短视频概述了 Azure Functions: @@ -244,7 +244,7 @@ Azure Functions CLI 可用于创建新的 Functions 应用程序。 VS Code. Initialize for optimal use with VS Code? ``` - ![通知](../../../../../translated_images/zh/vscode-azure-functions-init-notification.bd19b49229963edb.webp) + ![通知](../../../../../translated_images/zh-CN/vscode-azure-functions-init-notification.bd19b49229963edb.webp) 在通知中选择 **Yes**。 diff --git a/translations/zh/2-farm/lessons/6-keep-your-plant-secure/README.md b/translations/zh/2-farm/lessons/6-keep-your-plant-secure/README.md index 4469cacab..b6e4fb014 100644 --- a/translations/zh/2-farm/lessons/6-keep-your-plant-secure/README.md +++ b/translations/zh/2-farm/lessons/6-keep-your-plant-secure/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 保持植物安全 -![本课的概述手绘图](../../../../../translated_images/zh/lesson-10.829c86b80b9403bb770929ee553a1d293afe50dc23121aaf9be144673ae012cc.jpg) +![本课的概述手绘图](../../../../../translated_images/zh-CN/lesson-10.829c86b80b9403bb770929ee553a1d293afe50dc23121aaf9be144673ae012cc.jpg) > 手绘图由 [Nitya Narasimhan](https://github.com/nitya) 提供。点击图片查看更大版本。 @@ -61,11 +61,11 @@ CO_OP_TRANSLATOR_METADATA: 当设备连接到物联网服务时,它会使用一个ID来标识自己。问题是这个ID可能会被克隆——黑客可以设置一个恶意设备,使用与真实设备相同的ID,但发送虚假数据。 -![有效设备和恶意设备可能使用相同的ID发送遥测数据](../../../../../translated_images/zh/iot-device-and-hacked-device-connecting.e0671675df74d6d99eb1dedb5a670e606f698efa6202b1ad4c8ae548db299cc6.png) +![有效设备和恶意设备可能使用相同的ID发送遥测数据](../../../../../translated_images/zh-CN/iot-device-and-hacked-device-connecting.e0671675df74d6d99eb1dedb5a670e606f698efa6202b1ad4c8ae548db299cc6.png) 解决方法是将发送的数据转换为一种加密格式,使用设备和云端都知道的某种值来加密数据。这一过程称为*加密*,用于加密数据的值称为*加密密钥*。 -![如果使用加密,则只有加密消息会被接受,其他消息会被拒绝](../../../../../translated_images/zh/iot-device-and-hacked-device-connecting-encryption.5941aff601fc978f979e46f2849b573564eeb4a4dc5b52f669f62745397492fb.png) +![如果使用加密,则只有加密消息会被接受,其他消息会被拒绝](../../../../../translated_images/zh-CN/iot-device-and-hacked-device-connecting-encryption.5941aff601fc978f979e46f2849b573564eeb4a4dc5b52f669f62745397492fb.png) 云服务可以使用一个称为*解密*的过程将数据转换回可读格式,使用相同的加密密钥或一个*解密密钥*。如果加密消息无法通过密钥解密,则说明设备已被黑客攻击,消息会被拒绝。 @@ -97,15 +97,15 @@ CO_OP_TRANSLATOR_METADATA: **对称加密**使用相同的密钥来加密和解密数据。发送者和接收者都需要知道相同的密钥。这种方式安全性较低,因为密钥需要以某种方式共享。发送者在发送加密消息给接收者之前,可能需要先将密钥发送给接收者。 -![对称密钥加密使用相同的密钥加密和解密消息](../../../../../translated_images/zh/send-message-symmetric-key.a2e8ad0d495896ff.webp) +![对称密钥加密使用相同的密钥加密和解密消息](../../../../../translated_images/zh-CN/send-message-symmetric-key.a2e8ad0d495896ff.webp) 如果密钥在传输过程中被盗,或者发送者或接收者被黑客攻击并泄露了密钥,加密就会被破解。 -![对称密钥加密只有在黑客未获取密钥时才安全——如果密钥被盗,黑客可以拦截并解密消息](../../../../../translated_images/zh/send-message-symmetric-key-hacker.e7cb53db1707adfb.webp) +![对称密钥加密只有在黑客未获取密钥时才安全——如果密钥被盗,黑客可以拦截并解密消息](../../../../../translated_images/zh-CN/send-message-symmetric-key-hacker.e7cb53db1707adfb.webp) **非对称加密**使用两个密钥——一个加密密钥和一个解密密钥,称为公钥/私钥对。公钥用于加密消息,但不能用于解密;私钥用于解密消息,但不能用于加密。 -![非对称加密使用不同的密钥加密和解密。加密密钥会发送给消息发送者,以便他们在发送消息给拥有密钥的接收者之前加密消息](../../../../../translated_images/zh/send-message-asymmetric.7abe327c62615b8c.webp) +![非对称加密使用不同的密钥加密和解密。加密密钥会发送给消息发送者,以便他们在发送消息给拥有密钥的接收者之前加密消息](../../../../../translated_images/zh-CN/send-message-asymmetric.7abe327c62615b8c.webp) 接收者共享他们的公钥,发送者使用公钥加密消息。一旦消息发送,接收者使用私钥解密消息。非对称加密更安全,因为私钥由接收者保密,从不共享。任何人都可以拥有公钥,因为它只能用于加密消息。 @@ -165,7 +165,7 @@ X.509 证书是包含公钥部分的数字文档。它们通常由被称为[认 使用 X.509 证书时,发送方和接收方都会拥有自己的公钥和私钥,并且双方都会有包含公钥的 X.509 证书。然后,他们以某种方式交换 X.509 证书,使用对方的公钥加密发送的数据,并使用自己的私钥解密接收到的数据。 -![与其共享公钥,不如共享证书。证书的使用者可以通过检查签署证书的认证机构来验证它确实来自你。](../../../../../translated_images/zh/send-message-certificate.9cc576ac1e46b76e.webp) +![与其共享公钥,不如共享证书。证书的使用者可以通过检查签署证书的认证机构来验证它确实来自你。](../../../../../translated_images/zh-CN/send-message-certificate.9cc576ac1e46b76e.webp) 使用 X.509 证书的一个主要优势是它们可以在设备之间共享。你可以创建一个证书,将其上传到 IoT Hub,并将其用于所有设备。每个设备只需要知道私钥即可解密从 IoT Hub 接收到的消息。 diff --git a/translations/zh/3-transport/lessons/1-location-tracking/README.md b/translations/zh/3-transport/lessons/1-location-tracking/README.md index 34b884ea8..5ec47230b 100644 --- a/translations/zh/3-transport/lessons/1-location-tracking/README.md +++ b/translations/zh/3-transport/lessons/1-location-tracking/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 位置追踪 -![本课的手绘笔记概览](../../../../../translated_images/zh/lesson-11.9fddbac4b664c6d50ab7ac9bb32f1fc3f945f03760e72f7f43938073762fb017.jpg) +![本课的手绘笔记概览](../../../../../translated_images/zh-CN/lesson-11.9fddbac4b664c6d50ab7ac9bb32f1fc3f945f03760e72f7f43938073762fb017.jpg) > 手绘笔记由 [Nitya Narasimhan](https://github.com/nitya) 提供。点击图片查看大图。 @@ -72,13 +72,13 @@ CO_OP_TRANSLATOR_METADATA: > 💁 没有人确切知道为什么圆被分为 360 度。[维基百科上的“角度 (度)”页面](https://wikipedia.org/wiki/Degree_(angle))介绍了一些可能的原因。 -![纬度线从北极的 90°,到北极和赤道之间的中点 45°,到赤道的 0°,到赤道和南极之间的中点 -45°,到南极的 -90°](../../../../../translated_images/zh/latitude-lines.11d8d91dfb2014a57437272d7db7fd6607243098e8685f06e0c5f1ec984cb7eb.png) +![纬度线从北极的 90°,到北极和赤道之间的中点 45°,到赤道的 0°,到赤道和南极之间的中点 -45°,到南极的 -90°](../../../../../translated_images/zh-CN/latitude-lines.11d8d91dfb2014a57437272d7db7fd6607243098e8685f06e0c5f1ec984cb7eb.png) 纬度是通过围绕地球的线测量的,这些线与赤道平行,将北半球和南半球分别分为 90°。赤道为 0°,北极为 90°,也称为北纬 90°,南极为 -90°,或南纬 90°。 经度是测量东西方向的度数。经度的 0° 起点称为*本初子午线*,1884 年定义为穿过[英国格林威治皇家天文台](https://wikipedia.org/wiki/Royal_Observatory,_Greenwich)的一条从北极到南极的线。 -![经度线从本初子午线以西的 -180°,到本初子午线的 0°,到本初子午线以东的 180°](../../../../../translated_images/zh/longitude-meridians.ab4ef1c91c064586b0185a3c8d39e585903696c6a7d28c098a93a629cddb5d20.png) +![经度线从本初子午线以西的 -180°,到本初子午线的 0°,到本初子午线以东的 180°](../../../../../translated_images/zh-CN/longitude-meridians.ab4ef1c91c064586b0185a3c8d39e585903696c6a7d28c098a93a629cddb5d20.png) > 🎓 子午线是从北极到南极的一条假想直线,形成一个半圆。 @@ -109,7 +109,7 @@ CO_OP_TRANSLATOR_METADATA: * 纬度为 47.6423109(北纬 47.6423109 度) * 经度为 -122.1390293(西经 122.1390293 度)。 -![微软园区位于 47.6423109,-122.117198](../../../../../translated_images/zh/microsoft-gps-location-world.a321d481b010f6adfcca139b2ba0adc53b79f58a540495b8e2ce7f779ea64bfe.png) +![微软园区位于 47.6423109,-122.117198](../../../../../translated_images/zh-CN/microsoft-gps-location-world.a321d481b010f6adfcca139b2ba0adc53b79f58a540495b8e2ce7f779ea64bfe.png) ## 全球定位系统 (GPS) @@ -121,7 +121,7 @@ GPS 系统通过多个卫星发送信号,每个卫星包含其当前位置和 > 💁 GPS 传感器需要天线来检测无线电波。内置 GPS 的卡车和汽车的天线通常安装在挡风玻璃或车顶上,以获得良好的信号。如果您使用单独的 GPS 系统,例如智能手机或物联网设备,则需要确保 GPS 系统或手机内置的天线能够清晰地看到天空,例如安装在挡风玻璃上。 -![通过知道传感器与多个卫星的距离,可以计算出位置](../../../../../translated_images/zh/gps-satellites.04acf1148fe25fbf1586bc2e8ba698e8d79b79a50c36824b38417dd13372b90f.png) +![通过知道传感器与多个卫星的距离,可以计算出位置](../../../../../translated_images/zh-CN/gps-satellites.04acf1148fe25fbf1586bc2e8ba698e8d79b79a50c36824b38417dd13372b90f.png) GPS 卫星绕地球运行,并非固定在传感器上方,因此位置数据包括海拔高度以及纬度和经度。 diff --git a/translations/zh/3-transport/lessons/1-location-tracking/pi-gps-sensor.md b/translations/zh/3-transport/lessons/1-location-tracking/pi-gps-sensor.md index 1a1ba5df0..f110c42af 100644 --- a/translations/zh/3-transport/lessons/1-location-tracking/pi-gps-sensor.md +++ b/translations/zh/3-transport/lessons/1-location-tracking/pi-gps-sensor.md @@ -27,13 +27,13 @@ Grove GPS 传感器可以连接到树莓派。 连接 GPS 传感器。 -![一个 Grove GPS 传感器](../../../../../translated_images/zh/grove-gps-sensor.247943bf69b03f0d1820ef6ed10c587f9b650e8db55b936851c92412180bd3e2.png) +![一个 Grove GPS 传感器](../../../../../translated_images/zh-CN/grove-gps-sensor.247943bf69b03f0d1820ef6ed10c587f9b650e8db55b936851c92412180bd3e2.png) 1. 将 Grove 电缆的一端插入 GPS 传感器上的插座。它只能以一种方式插入。 1. 在树莓派断电的情况下,将 Grove 电缆的另一端连接到树莓派上 Grove Base Hat 的 **UART** 插座。该插座位于中间一排,靠近 SD 卡插槽的一侧,与 USB 端口和以太网插座相对。 - ![Grove GPS 传感器连接到 UART 插座](../../../../../translated_images/zh/pi-gps-sensor.1f99ee2b2f6528915047ec78967bd362e0e4ee0ed594368a3837b9cf9cdaca64.png) + ![Grove GPS 传感器连接到 UART 插座](../../../../../translated_images/zh-CN/pi-gps-sensor.1f99ee2b2f6528915047ec78967bd362e0e4ee0ed594368a3837b9cf9cdaca64.png) 1. 将 GPS 传感器放置好,使连接的天线能够看到天空——理想情况下靠近窗户或在室外。天线周围没有障碍物时,信号会更清晰。 diff --git a/translations/zh/3-transport/lessons/1-location-tracking/virtual-device-gps-sensor.md b/translations/zh/3-transport/lessons/1-location-tracking/virtual-device-gps-sensor.md index 7d239e288..4b7be8202 100644 --- a/translations/zh/3-transport/lessons/1-location-tracking/virtual-device-gps-sensor.md +++ b/translations/zh/3-transport/lessons/1-location-tracking/virtual-device-gps-sensor.md @@ -47,11 +47,11 @@ CO_OP_TRANSLATOR_METADATA: 1. 点击 **Add** 按钮,在端口 `/dev/ttyAMA0` 上创建 GPS 传感器。 - ![GPS 传感器设置](../../../../../translated_images/zh/counterfit-create-gps-sensor.6385dc9357d85ad1d47b4abb2525e7651fd498917d25eefc5a72feab09eedc70.png) + ![GPS 传感器设置](../../../../../translated_images/zh-CN/counterfit-create-gps-sensor.6385dc9357d85ad1d47b4abb2525e7651fd498917d25eefc5a72feab09eedc70.png) GPS 传感器将被创建并显示在传感器列表中。 - ![已创建的 GPS 传感器](../../../../../translated_images/zh/counterfit-gps-sensor.3fbb15af0a5367566f2f11324ef5a6f30861cdf2b497071a5e002b7aa473550e.png) + ![已创建的 GPS 传感器](../../../../../translated_images/zh-CN/counterfit-gps-sensor.3fbb15af0a5367566f2f11324ef5a6f30861cdf2b497071a5e002b7aa473550e.png) ## 编程 GPS 传感器 @@ -111,17 +111,17 @@ CO_OP_TRANSLATOR_METADATA: * 将 **Source** 设置为 `Lat/Lon`,并设置明确的纬度、经度以及用于获取 GPS 定位的卫星数量。此值将仅发送一次,因此勾选 **Repeat** 复选框以使数据每秒重复发送。 - ![选择纬度和经度的 GPS 传感器](../../../../../translated_images/zh/counterfit-gps-sensor-latlon.008c867d75464fbe7f84107cc57040df565ac07cb57d2f21db37d087d470197d.png) + ![选择纬度和经度的 GPS 传感器](../../../../../translated_images/zh-CN/counterfit-gps-sensor-latlon.008c867d75464fbe7f84107cc57040df565ac07cb57d2f21db37d087d470197d.png) * 将 **Source** 设置为 `NMEA`,并在文本框中添加一些 NMEA 语句。所有这些值将被发送,每个新的 GGA(位置固定)语句之间有 1 秒的延迟。 - ![设置 NMEA 语句的 GPS 传感器](../../../../../translated_images/zh/counterfit-gps-sensor-nmea.c62eea442171e17e19528b051b104cfcecdc9cd18db7bc72920f29821ae63f73.png) + ![设置 NMEA 语句的 GPS 传感器](../../../../../translated_images/zh-CN/counterfit-gps-sensor-nmea.c62eea442171e17e19528b051b104cfcecdc9cd18db7bc72920f29821ae63f73.png) 你可以使用类似 [nmeagen.org](https://www.nmeagen.org) 的工具通过在地图上绘制来生成这些语句。这些值将仅发送一次,因此勾选 **Repeat** 复选框以使数据在全部发送后每秒重复一次。 * 将 **Source** 设置为 GPX 文件,并上传一个包含轨迹位置的 GPX 文件。你可以从许多流行的地图和徒步网站(如 [AllTrails](https://www.alltrails.com/))下载 GPX 文件。这些文件包含多个 GPS 位置作为轨迹,GPS 传感器将以 1 秒间隔返回每个新位置。 - ![设置 GPX 文件的 GPS 传感器](../../../../../translated_images/zh/counterfit-gps-sensor-gpxfile.8310b063ce8a425ccc8ebeec8306aeac5e8e55207f007d52c6e1194432a70cd9.png) + ![设置 GPX 文件的 GPS 传感器](../../../../../translated_images/zh-CN/counterfit-gps-sensor-gpxfile.8310b063ce8a425ccc8ebeec8306aeac5e8e55207f007d52c6e1194432a70cd9.png) 这些值将仅发送一次,因此勾选 **Repeat** 复选框以使数据在全部发送后每秒重复一次。 diff --git a/translations/zh/3-transport/lessons/1-location-tracking/wio-terminal-gps-sensor.md b/translations/zh/3-transport/lessons/1-location-tracking/wio-terminal-gps-sensor.md index 9e7ae03f0..dad8ce5fd 100644 --- a/translations/zh/3-transport/lessons/1-location-tracking/wio-terminal-gps-sensor.md +++ b/translations/zh/3-transport/lessons/1-location-tracking/wio-terminal-gps-sensor.md @@ -27,13 +27,13 @@ Grove GPS 传感器可以连接到 Wio Terminal。 连接 GPS 传感器。 -![Grove GPS 传感器](../../../../../translated_images/zh/grove-gps-sensor.247943bf69b03f0d1820ef6ed10c587f9b650e8db55b936851c92412180bd3e2.png) +![Grove GPS 传感器](../../../../../translated_images/zh-CN/grove-gps-sensor.247943bf69b03f0d1820ef6ed10c587f9b650e8db55b936851c92412180bd3e2.png) 1. 将 Grove 电缆的一端插入 GPS 传感器上的插座。电缆只能以一种方向插入。 1. 在 Wio Terminal 未连接到计算机或其他电源的情况下,将 Grove 电缆的另一端连接到 Wio Terminal 屏幕左侧的 Grove 插座。这是靠近电源按钮的插座。 - ![Grove GPS 传感器连接到左侧插座](../../../../../translated_images/zh/wio-gps-sensor.19fd52b81ce58095.webp) + ![Grove GPS 传感器连接到左侧插座](../../../../../translated_images/zh-CN/wio-gps-sensor.19fd52b81ce58095.webp) 1. 将 GPS 传感器放置在附带天线可以看到天空的位置——理想情况下靠近窗户或在室外。天线周围没有障碍物时,更容易获得清晰的信号。 diff --git a/translations/zh/3-transport/lessons/2-store-location-data/README.md b/translations/zh/3-transport/lessons/2-store-location-data/README.md index 2f0718e1a..b790ed87b 100644 --- a/translations/zh/3-transport/lessons/2-store-location-data/README.md +++ b/translations/zh/3-transport/lessons/2-store-location-data/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 存储位置信息数据 -![本课的手绘笔记概览](../../../../../translated_images/zh/lesson-12.ca7f53039712a3ec14ad6474d8445361c84adab643edc53fa6269b77895606bb.jpg) +![本课的手绘笔记概览](../../../../../translated_images/zh-CN/lesson-12.ca7f53039712a3ec14ad6474d8445361c84adab643edc53fa6269b77895606bb.jpg) > 手绘笔记由 [Nitya Narasimhan](https://github.com/nitya) 提供。点击图片查看大图。 @@ -66,7 +66,7 @@ IoT 数据通常被认为是非结构化数据。 最早的数据库是关系型数据库管理系统(RDBMS),也称为关系型数据库。这些数据库也被称为 SQL 数据库,因为它们使用结构化查询语言(SQL)来添加、删除、更新或查询数据。这些数据库由一个模式组成——一组定义良好的数据表,类似于电子表格。每个表有多个命名列。当你插入数据时,你会向表中添加一行,将值放入每列中。这种方式使数据保持非常严格的结构——尽管你可以留空某些列,但如果你想添加新列,则必须在数据库中执行此操作,并为现有行填充值。这些数据库是关系型的——一个表可以与另一个表有关系。 -![一个关系型数据库,其中用户表的 ID 与购买表的用户 ID 列相关联,产品表的 ID 与购买表的产品 ID 相关联](../../../../../translated_images/zh/sql-database.be160f12bfccefd3.webp) +![一个关系型数据库,其中用户表的 ID 与购买表的用户 ID 列相关联,产品表的 ID 与购买表的产品 ID 相关联](../../../../../translated_images/zh-CN/sql-database.be160f12bfccefd3.webp) 例如,如果你在一个表中存储用户的个人详细信息,你会为每个用户分配某种内部唯一 ID,该 ID 用于包含用户姓名和地址的表中的一行。如果你想在另一个表中存储该用户的其他详细信息,例如他们的购买记录,你会在新表中为该用户的 ID 添加一列。当你查找用户时,可以使用他们的 ID 从一个表中获取他们的个人详细信息,从另一个表中获取他们的购买记录。 @@ -84,7 +84,7 @@ NoSQL 数据库之所以被称为 NoSQL,是因为它们没有 SQL 数据库的 > 💁 尽管名字叫 NoSQL,但一些 NoSQL 数据库允许你使用 SQL 查询数据。 -![NoSQL 数据库中的文件夹中的文档](../../../../../translated_images/zh/noqsl-database.62d24ccf5b73f60d35c245a8533f1c7147c0928e955b82cb290b2e184bb434df.png) +![NoSQL 数据库中的文件夹中的文档](../../../../../translated_images/zh-CN/noqsl-database.62d24ccf5b73f60d35c245a8533f1c7147c0928e955b82cb290b2e184bb434df.png) NoSQL 数据库没有预定义的模式来限制数据的存储方式,你可以插入任何非结构化数据,通常使用 JSON 文档。这些文档可以像计算机上的文件一样组织成文件夹。每个文档可以与其他文档有不同的字段——例如,如果你存储农用车辆的 IoT 数据,有些可能有加速度计和速度数据的字段,另一些可能有挂车温度的字段。如果你想添加一种新型卡车,例如带有内置秤以跟踪所载货物重量的卡车,那么你的 IoT 设备可以添加这个新字段,并且可以在无需更改数据库的情况下存储它。 @@ -98,7 +98,7 @@ NoSQL 数据库没有预定义的模式来限制数据的存储方式,你可 在上一课中,你从连接到 IoT 设备的 GPS 传感器捕获了 GPS 数据。为了在云端存储这些 IoT 数据,你需要将其发送到 IoT 服务。你将再次使用 Azure IoT Hub,这是你在前一个项目中使用的同一个 IoT 云服务。 -![将 GPS 遥测数据从 IoT 设备发送到 IoT Hub](../../../../../translated_images/zh/gps-telemetry-iot-hub.8115335d51cd2c1285d20e9d1b18cf685e59a8e093e7797291ef173445af6f3d.png) +![将 GPS 遥测数据从 IoT 设备发送到 IoT Hub](../../../../../translated_images/zh-CN/gps-telemetry-iot-hub.8115335d51cd2c1285d20e9d1b18cf685e59a8e093e7797291ef173445af6f3d.png) ### 任务 - 将 GPS 数据发送到 IoT Hub @@ -180,7 +180,7 @@ message = Message(json.dumps(message_json)) 一旦数据流入你的 IoT Hub,你可以编写一些无服务器代码来监听发布到 Event-Hub 兼容端点的事件。这是温路径——这些数据将被存储,并在下一课中用于报告行程。 -![将 GPS 遥测数据从 IoT 设备发送到 IoT Hub,然后通过事件中心触发器发送到 Azure Functions](../../../../../translated_images/zh/gps-telemetry-iot-hub-functions.24d3fa5592455e9f4e2fe73856b40c3915a292b90263c31d652acfd976cfedd8.png) +![将 GPS 遥测数据从 IoT 设备发送到 IoT Hub,然后通过事件中心触发器发送到 Azure Functions](../../../../../translated_images/zh-CN/gps-telemetry-iot-hub-functions.24d3fa5592455e9f4e2fe73856b40c3915a292b90263c31d652acfd976cfedd8.png) ### 任务 - 使用无服务器代码处理 GPS 事件 @@ -202,7 +202,7 @@ message = Message(json.dumps(message_json)) ## Azure 存储账户 -![Azure 存储标志](../../../../../translated_images/zh/azure-storage-logo.605c0f602c640d482a80f1b35a2629a32d595711b7ab1d7ceea843250615ff32.png) +![Azure 存储标志](../../../../../translated_images/zh-CN/azure-storage-logo.605c0f602c640d482a80f1b35a2629a32d595711b7ab1d7ceea843250615ff32.png) Azure 存储账户是一种通用存储服务,可以以多种方式存储数据。你可以将数据存储为 Blob、队列、表或文件,并且可以同时使用这些方式。 @@ -241,7 +241,7 @@ Azure 存储账户是一种通用存储服务,可以以多种方式存储数 在本课中,你将使用 Python SDK 来了解如何与 Blob 存储交互。 -![将 GPS 遥测数据从 IoT 设备发送到 IoT Hub,再通过事件触发器发送到 Azure Functions,最后保存到 Blob 存储](../../../../../translated_images/zh/save-telemetry-to-storage-from-functions.ed3b1820980097f1.webp) +![将 GPS 遥测数据从 IoT 设备发送到 IoT Hub,再通过事件触发器发送到 Azure Functions,最后保存到 Blob 存储](../../../../../translated_images/zh-CN/save-telemetry-to-storage-from-functions.ed3b1820980097f1.webp) 数据将以以下格式保存为 JSON Blob: diff --git a/translations/zh/3-transport/lessons/3-visualize-location-data/README.md b/translations/zh/3-transport/lessons/3-visualize-location-data/README.md index c50a44d52..8e05dd476 100644 --- a/translations/zh/3-transport/lessons/3-visualize-location-data/README.md +++ b/translations/zh/3-transport/lessons/3-visualize-location-data/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 可视化位置数据 -![本课的手绘笔记概览](../../../../../translated_images/zh/lesson-13.a259db1485021be7d7c72e90842fbe0ab977529e8684c179b5fb1ea75e92b3ef.jpg) +![本课的手绘笔记概览](../../../../../translated_images/zh-CN/lesson-13.a259db1485021be7d7c72e90842fbe0ab977529e8684c179b5fb1ea75e92b3ef.jpg) > 手绘笔记由 [Nitya Narasimhan](https://github.com/nitya) 提供。点击图片查看更大版本。 @@ -73,11 +73,11 @@ CO_OP_TRANSLATOR_METADATA: 对于人类来说,理解这些数据可能很困难。这是一堆没有意义的数字。作为可视化这些数据的第一步,可以将其绘制成折线图: -![上述数据的折线图](../../../../../translated_images/zh/chart-soil-moisture.fd6d9d0cdc0b5f75e78038ecb8945dfc84b38851359de99d84b16e3336d6d7c2.png) +![上述数据的折线图](../../../../../translated_images/zh-CN/chart-soil-moisture.fd6d9d0cdc0b5f75e78038ecb8945dfc84b38851359de99d84b16e3336d6d7c2.png) 进一步优化,可以添加一条线,表示当土壤湿度读数达到 450 时自动浇水系统启动的时间点: -![带有 450 线的土壤湿度折线图](../../../../../translated_images/zh/chart-soil-moisture-relay.fbb391236d34a64d0abf1df396e9197e0a24df14150620b9cc820a64a55c9326.png) +![带有 450 线的土壤湿度折线图](../../../../../translated_images/zh-CN/chart-soil-moisture-relay.fbb391236d34a64d0abf1df396e9197e0a24df14150620b9cc820a64a55c9326.png) 这个图表可以快速显示土壤湿度水平以及浇水系统启动的时间点。 @@ -93,7 +93,7 @@ CO_OP_TRANSLATOR_METADATA: 处理地图是一个有趣的练习,有许多地图服务可供选择,例如 Bing Maps、Leaflet、Open Street Maps 和 Google Maps。在本课中,你将学习 [Azure Maps](https://azure.microsoft.com/services/azure-maps/?WT.mc_id=academic-17441-jabenn) 以及如何使用它来显示你的 GPS 数据。 -![Azure Maps 标志](../../../../../translated_images/zh/azure-maps-logo.35d01dcfbd81fe6140e94257aaa1538f785a58c91576d14e0ebe7a2f6c694b99.png) +![Azure Maps 标志](../../../../../translated_images/zh-CN/azure-maps-logo.35d01dcfbd81fe6140e94257aaa1538f785a58c91576d14e0ebe7a2f6c694b99.png) Azure Maps 是“一组地理空间服务和 SDK,使用最新的地图数据为网页和移动应用提供地理背景。”开发者可以使用这些工具创建美观、交互式的地图,这些地图可以提供推荐的交通路线、交通事故信息、室内导航、搜索功能、海拔信息、天气服务等。 @@ -194,7 +194,7 @@ Azure Maps 是“一组地理空间服务和 SDK,使用最新的地图数据 如果你在浏览器中打开你的 `index.html` 页面,你应该会看到一个地图加载并聚焦在西雅图地区。 - ![显示西雅图的地图,西雅图是美国华盛顿州的一个城市](../../../../../translated_images/zh/map-image.8fb2c53eb23ef39c1c0a4410a5282e879b3b452b707eb066ff04c5488d3d72b7.png) + ![显示西雅图的地图,西雅图是美国华盛顿州的一个城市](../../../../../translated_images/zh-CN/map-image.8fb2c53eb23ef39c1c0a4410a5282e879b3b452b707eb066ff04c5488d3d72b7.png) ✅ 尝试调整缩放和中心参数以更改地图显示。你可以添加与你数据的纬度和经度对应的不同坐标来重新定位地图。 @@ -328,7 +328,7 @@ Azure Maps 是“一组地理空间服务和 SDK,使用最新的地图数据 1. 在浏览器中加载 HTML 页面。页面将加载地图,然后从存储中加载所有 GPS 数据并将其绘制在地图上。 - ![西雅图附近圣爱德华州立公园的地图,显示公园边缘路径上的圆形标记](../../../../../translated_images/zh/map-path.896832e72dc696ffe20650e4051027d4855442d955f93fdbb80bb417ca8a406f.png) + ![西雅图附近圣爱德华州立公园的地图,显示公园边缘路径上的圆形标记](../../../../../translated_images/zh-CN/map-path.896832e72dc696ffe20650e4051027d4855442d955f93fdbb80bb417ca8a406f.png) > 💁 您可以在 [code](../../../../../3-transport/lessons/3-visualize-location-data/code) 文件夹中找到此代码。 diff --git a/translations/zh/3-transport/lessons/4-geofences/README.md b/translations/zh/3-transport/lessons/4-geofences/README.md index b42bbae00..43d33b210 100644 --- a/translations/zh/3-transport/lessons/4-geofences/README.md +++ b/translations/zh/3-transport/lessons/4-geofences/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 地理围栏 -![本课的手绘笔记概览](../../../../../translated_images/zh/lesson-14.63980c5150ae3c153e770fb71d044c1845dce79248d86bed9fc525adf3ede73c.jpg) +![本课的手绘笔记概览](../../../../../translated_images/zh-CN/lesson-14.63980c5150ae3c153e770fb71d044c1845dce79248d86bed9fc525adf3ede73c.jpg) > 手绘笔记由 [Nitya Narasimhan](https://github.com/nitya) 提供。点击图片查看大图。 @@ -44,7 +44,7 @@ CO_OP_TRANSLATOR_METADATA: 地理围栏是一个虚拟的边界,用于定义现实世界中的地理区域。地理围栏可以是以点和半径定义的圆形(例如围绕某建筑物 100 米范围的圆),也可以是覆盖某个区域的多边形,例如学校区域、城市边界或大学/办公园区。 -![一些地理围栏示例,显示微软公司商店周围的圆形地理围栏,以及微软西区园区的多边形地理围栏](../../../../../translated_images/zh/geofence-examples.172fbc534665769f6e1a1ddcf75e3b25183cd10354c80cc603ba44b635390e1a.png) +![一些地理围栏示例,显示微软公司商店周围的圆形地理围栏,以及微软西区园区的多边形地理围栏](../../../../../translated_images/zh-CN/geofence-examples.172fbc534665769f6e1a1ddcf75e3b25183cd10354c80cc603ba44b635390e1a.png) > 💁 你可能已经在不知不觉中使用过地理围栏。如果你曾使用 iOS 提醒事项应用或 Google Keep 设置基于位置的提醒,那么你就使用过地理围栏。这些应用会根据提供的位置设置地理围栏,并在你的手机进入地理围栏时提醒你。 @@ -110,7 +110,7 @@ Azure Maps(你在上一课中用来可视化 GPS 数据的服务)允许你 多边形坐标数组的条目数总是比多边形的点数多 1,最后一个条目与第一个条目相同,用于闭合多边形。例如,对于一个矩形,会有 5 个点。 -![一个矩形及其坐标](../../../../../translated_images/zh/polygon-points.302193da381cb415.webp) +![一个矩形及其坐标](../../../../../translated_images/zh-CN/polygon-points.302193da381cb415.webp) 在上图中,有一个矩形。多边形坐标从左上角的 47,-122 开始,然后向右移动到 47,-121,再向下到 46,-121,然后向左到 46,-122,最后回到起点 47,-122。这样多边形就有 5 个点:左上角、右上角、右下角、左下角,以及闭合的左上角。 @@ -208,7 +208,7 @@ Azure Maps(你在上一课中用来可视化 GPS 数据的服务)允许你 API 调用返回的结果中包含一个 `distance` 值,表示到地理围栏边缘最近点的距离。如果点在地理围栏外,则为正值;如果在地理围栏内,则为负值。如果此距离小于搜索缓冲区,则返回实际距离(以米为单位);否则,值为 999 或 -999。999 表示点在地理围栏外超过搜索缓冲区,-999 表示点在地理围栏内超过搜索缓冲区。 -![一个地理围栏及其周围 50 米的搜索缓冲区](../../../../../translated_images/zh/search-buffer-and-distance.e6a79af3898183c7.webp) +![一个地理围栏及其周围 50 米的搜索缓冲区](../../../../../translated_images/zh-CN/search-buffer-and-distance.e6a79af3898183c7.webp) 在上图中,地理围栏有一个 50 米的搜索缓冲区。 @@ -221,7 +221,7 @@ API 调用返回的结果中包含一个 `distance` 值,表示到地理围栏 例如,假设 GPS 读数显示车辆沿着一条道路行驶,而这条道路最终靠近地理围栏。如果单个 GPS 值不准确,将车辆定位在地理围栏内,尽管没有车辆通行的入口,那么可以忽略该值。 -![一条 GPS 轨迹显示车辆沿 520 公路经过微软园区,GPS 读数沿着道路分布,除了一个点位于园区内的地理围栏中](../../../../../translated_images/zh/geofence-crossing-inaccurate-gps.6a3ed911202ad9cabb66d3964888cec03a42c61d5b8f536ad5bdc99716b370f5.png) +![一条 GPS 轨迹显示车辆沿 520 公路经过微软园区,GPS 读数沿着道路分布,除了一个点位于园区内的地理围栏中](../../../../../translated_images/zh-CN/geofence-crossing-inaccurate-gps.6a3ed911202ad9cabb66d3964888cec03a42c61d5b8f536ad5bdc99716b370f5.png) 在上图中,微软园区的一部分被设置了地理围栏。红线表示一辆卡车沿着520公路行驶,圆点表示GPS读数。大多数读数是准确的,沿着520公路,但有一个不准确的读数显示在地理围栏内。这个读数显然是错误的——卡车不可能突然从520公路转入园区,然后又回到520公路。检查地理围栏的代码需要在处理地理围栏测试结果之前考虑之前的读数。 ✅ 你需要检查哪些额外的数据来判断一个GPS读数是否可以被认为是正确的? @@ -293,7 +293,7 @@ API 调用返回的结果中包含一个 `distance` 值,表示到地理围栏 答案是它无法知道!因此,你可以定义多个独立的连接来读取事件,每个连接可以管理未读消息的重播。这些被称为*消费组*。当你连接到端点时,可以指定你想连接的消费组。应用程序的每个组件将连接到不同的消费组。 -![一个IoT Hub有3个消费组将相同的消息分发到3个不同的Functions应用](../../../../../translated_images/zh/consumer-groups.a3262e26fc27ba2092863678ad57af15c7223416e388a23f330c058cf4358630.png) +![一个IoT Hub有3个消费组将相同的消息分发到3个不同的Functions应用](../../../../../translated_images/zh-CN/consumer-groups.a3262e26fc27ba2092863678ad57af15c7223416e388a23f330c058cf4358630.png) 理论上,每个消费组最多可以连接5个应用程序,它们都会在消息到达时接收消息。最佳实践是每个消费组只允许一个应用程序访问,以避免重复处理消息,并确保在重启时所有排队的消息都能正确处理。例如,如果你在本地启动了Functions应用,同时在云端运行,它们都会处理消息,导致存储账户中存储重复的blob。 diff --git a/translations/zh/4-manufacturing/lessons/1-train-fruit-detector/README.md b/translations/zh/4-manufacturing/lessons/1-train-fruit-detector/README.md index af5fe55ff..abbad39da 100644 --- a/translations/zh/4-manufacturing/lessons/1-train-fruit-detector/README.md +++ b/translations/zh/4-manufacturing/lessons/1-train-fruit-detector/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 训练水果质量检测器 -![本课的手绘笔记概览](../../../../../translated_images/zh/lesson-15.843d21afdc6fb2bba70cd9db7b7d2f91598859fafda2078b0bdc44954194b6c0.jpg) +![本课的手绘笔记概览](../../../../../translated_images/zh-CN/lesson-15.843d21afdc6fb2bba70cd9db7b7d2f91598859fafda2078b0bdc44954194b6c0.jpg) > 手绘笔记由 [Nitya Narasimhan](https://github.com/nitya) 提供。点击图片查看大图。 @@ -47,7 +47,7 @@ CO_OP_TRANSLATOR_METADATA: 自动化收割的兴起将农产品的分类从田间转移到了工厂。在工厂中,食品通过长长的传送带运输,由人工团队挑选出不符合质量标准的产品。尽管机械化收割降低了收割成本,但人工分类仍然需要一定的费用。 -![如果检测到红色西红柿,它会继续前进。如果检测到绿色西红柿,杠杆会将其弹入废料箱](../../../../../translated_images/zh/optical-tomato-sorting.61aa134bdda4e5b1bfb16a212c1e35a6ef0c426cbb8b1c975f79d7bfbf48d068.png) +![如果检测到红色西红柿,它会继续前进。如果检测到绿色西红柿,杠杆会将其弹入废料箱](../../../../../translated_images/zh-CN/optical-tomato-sorting.61aa134bdda4e5b1bfb16a212c1e35a6ef0c426cbb8b1c975f79d7bfbf48d068.png) 下一步的进化是使用机器进行分类,这些机器可以内置在收割机中或位于加工厂中。第一代此类机器使用光学传感器检测颜色,通过控制执行器将绿色西红柿用杠杆或气流弹入废料箱,而红色西红柿则继续沿传送带网络前进。 @@ -61,7 +61,7 @@ CO_OP_TRANSLATOR_METADATA: 传统编程是将数据与算法结合,生成输出。例如,在上一个项目中,您将 GPS 坐标和地理围栏作为输入,应用 Azure Maps 提供的算法,得到点是否在地理围栏内的结果。输入更多数据,就会得到更多输出。 -![传统开发使用输入和算法生成输出。机器学习使用输入和输出数据训练模型,该模型可以用新输入数据生成新输出](../../../../../translated_images/zh/traditional-vs-ml.5c20c169621fa539.webp) +![传统开发使用输入和算法生成输出。机器学习使用输入和输出数据训练模型,该模型可以用新输入数据生成新输出](../../../../../translated_images/zh-CN/traditional-vs-ml.5c20c169621fa539.webp) 机器学习则颠倒了这一过程——您从数据和已知输出开始,机器学习算法从数据中学习。然后,您可以将训练好的算法(称为*机器学习模型*或*模型*)应用于新数据,生成新的输出。 @@ -71,7 +71,7 @@ CO_OP_TRANSLATOR_METADATA: > 🎓 机器学习模型的结果称为*预测* -![两根香蕉,一根成熟的预测为 99.7% 成熟,0.3% 未成熟;另一根未成熟的预测为 1.4% 成熟,98.6% 未成熟](../../../../../translated_images/zh/bananas-ripe-vs-unripe-predictions.8d0e2034014aa50ece4e4589e724b142da0681f35470fe3db3f7d51240f69c85.png) +![两根香蕉,一根成熟的预测为 99.7% 成熟,0.3% 未成熟;另一根未成熟的预测为 1.4% 成熟,98.6% 未成熟](../../../../../translated_images/zh-CN/bananas-ripe-vs-unripe-predictions.8d0e2034014aa50ece4e4589e724b142da0681f35470fe3db3f7d51240f69c85.png) 机器学习模型不会给出二元答案,而是提供概率。例如,一个模型可能会对一张香蕉图片预测 `成熟` 的概率为 99.7%,`未成熟` 的概率为 0.3%。您的代码会选择最优预测,并判断这根香蕉是成熟的。 @@ -87,7 +87,7 @@ CO_OP_TRANSLATOR_METADATA: 一旦图像分类器经过广泛的图片训练,其内部结构就非常擅长识别形状、颜色和模式。迁移学习允许模型利用其已经学会的图像部分识别能力,来识别新图像。 -![一旦您能识别形状,它们可以以不同的配置组成一艘船或一只猫](../../../../../translated_images/zh/shapes-to-images.1a309f0ea88dd66f.webp) +![一旦您能识别形状,它们可以以不同的配置组成一艘船或一只猫](../../../../../translated_images/zh-CN/shapes-to-images.1a309f0ea88dd66f.webp) 您可以将其类比为儿童的形状书,一旦您能识别半圆形、矩形和三角形,您就能根据这些形状的配置识别出一艘帆船或一只猫。图像分类器可以识别这些形状,而迁移学习则教会它什么样的组合是船或猫——或者是成熟的香蕉。 @@ -99,7 +99,7 @@ CO_OP_TRANSLATOR_METADATA: Custom Vision 是一个基于云的工具,用于训练图像分类器。它允许您仅使用少量图片训练分类器。您可以通过 Web 门户、Web API 或 SDK 上传图片,并为每张图片添加一个*标签*,表示该图片的分类。然后,您可以训练模型并测试其性能。一旦对模型满意,您可以发布其版本,通过 Web API 或 SDK 访问。 -![Azure Custom Vision 标志](../../../../../translated_images/zh/custom-vision-logo.d3d4e7c8a87ec9daf825e72e210576c3cbf60312577be7a139e22dd97ab7f1e6.png) +![Azure Custom Vision 标志](../../../../../translated_images/zh-CN/custom-vision-logo.d3d4e7c8a87ec9daf825e72e210576c3cbf60312577be7a139e22dd97ab7f1e6.png) > 💁 您可以用每个分类仅 5 张图片训练一个 Custom Vision 模型,但图片越多效果越好。至少 30 张图片可以获得更好的结果。 @@ -155,7 +155,7 @@ Custom Vision 是 Microsoft 提供的一系列 AI 工具(称为 Cognitive Serv 创建项目时,请确保使用之前创建的 `fruit-quality-detector-training` 资源。选择*分类*项目类型、*多分类*分类类型,并选择*食品*领域。 - ![Custom Vision 项目的设置,名称为 fruit-quality-detector,无描述,资源为 fruit-quality-detector-training,项目类型为分类,分类类型为多分类,领域为食品](../../../../../translated_images/zh/custom-vision-create-project.cf46325b92d8b131089f6647cf5e07b664cb77850e106d66e3c057b6b69756c6.png) + ![Custom Vision 项目的设置,名称为 fruit-quality-detector,无描述,资源为 fruit-quality-detector-training,项目类型为分类,分类类型为多分类,领域为食品](../../../../../translated_images/zh-CN/custom-vision-create-project.cf46325b92d8b131089f6647cf5e07b664cb77850e106d66e3c057b6b69756c6.png) ✅ 花些时间探索您的图像分类器的 Custom Vision UI。 @@ -173,7 +173,7 @@ Custom Vision 是 Microsoft 提供的一系列 AI 工具(称为 Cognitive Serv * 使用2个成熟的香蕉,从不同角度为每个香蕉拍摄几张图片,至少拍摄7张(5张用于训练,2张用于测试),但理想情况下更多。 - ![两根不同香蕉的照片](../../../../../translated_images/zh/banana-training-images.530eb203346d73bc23b8b990fb4609470bf4ff7c942ccc13d4cfffeed9be1ad4.png) + ![两根不同香蕉的照片](../../../../../translated_images/zh-CN/banana-training-images.530eb203346d73bc23b8b990fb4609470bf4ff7c942ccc13d4cfffeed9be1ad4.png) * 对2个未成熟的香蕉重复相同的过程。 @@ -183,7 +183,7 @@ Custom Vision 是 Microsoft 提供的一系列 AI 工具(称为 Cognitive Serv 1. 按照[Microsoft文档中构建分类器快速入门的上传和标记图片部分](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/getting-started-build-a-classifier?WT.mc_id=academic-17441-jabenn#upload-and-tag-images)上传你的训练图片。将成熟的水果标记为`ripe`,未成熟的水果标记为`unripe`。 - ![上传成熟和未成熟香蕉图片的对话框](../../../../../translated_images/zh/image-upload-bananas.0751639f3815e0ec42bdbc6254d1e4357a185834d1ae10c9948a0e7d6d336695.png) + ![上传成熟和未成熟香蕉图片的对话框](../../../../../translated_images/zh-CN/image-upload-bananas.0751639f3815e0ec42bdbc6254d1e4357a185834d1ae10c9948a0e7d6d336695.png) 1. 按照[Microsoft文档中构建分类器快速入门的训练分类器部分](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/getting-started-build-a-classifier?WT.mc_id=academic-17441-jabenn#train-the-classifier)训练你的图像分类器。 @@ -201,7 +201,7 @@ Custom Vision 是 Microsoft 提供的一系列 AI 工具(称为 Cognitive Serv 1. 按照[Microsoft文档中测试模型的文档](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/test-your-model?WT.mc_id=academic-17441-jabenn#test-your-model)测试你的图像分类器。使用你之前创建的测试图片,而不是任何用于训练的图片。 - ![一个未成熟香蕉被预测为未成熟,概率为98.9%,成熟概率为1.1%](../../../../../translated_images/zh/banana-unripe-quick-test-prediction.dae9b5e1c4ef7c64886422438850ea14f0be6ac918c217ea3b255c685abfabe7.png) + ![一个未成熟香蕉被预测为未成熟,概率为98.9%,成熟概率为1.1%](../../../../../translated_images/zh-CN/banana-unripe-quick-test-prediction.dae9b5e1c4ef7c64886422438850ea14f0be6ac918c217ea3b255c685abfabe7.png) 1. 尝试使用你所有的测试图片,并观察概率。 diff --git a/translations/zh/4-manufacturing/lessons/2-check-fruit-from-device/README.md b/translations/zh/4-manufacturing/lessons/2-check-fruit-from-device/README.md index 238ee7aa9..f36ea345a 100644 --- a/translations/zh/4-manufacturing/lessons/2-check-fruit-from-device/README.md +++ b/translations/zh/4-manufacturing/lessons/2-check-fruit-from-device/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 从物联网设备检查水果质量 -![本课的手绘笔记概览](../../../../../translated_images/zh/lesson-16.215daf18b00631fbdfd64c6fc2dc6044dff5d544288825d8076f9fb83d964c23.jpg) +![本课的手绘笔记概览](../../../../../translated_images/zh-CN/lesson-16.215daf18b00631fbdfd64c6fc2dc6044dff5d544288825d8076f9fb83d964c23.jpg) > 手绘笔记由 [Nitya Narasimhan](https://github.com/nitya) 提供。点击图片查看大图。 @@ -35,7 +35,7 @@ CO_OP_TRANSLATOR_METADATA: 顾名思义,摄像头传感器是可以连接到物联网设备的摄像头。它们可以拍摄静态图像或捕获流媒体视频。有些会返回原始图像数据,而有些会将图像数据压缩成如 JPEG 或 PNG 格式的图像文件。通常,与物联网设备配套的摄像头比你习惯使用的摄像头要小得多,分辨率也较低,但你也可以找到分辨率媲美高端手机的摄像头。你还可以选择各种可更换镜头、多摄像头配置、红外热成像摄像头或紫外线摄像头。 -![场景中的光线通过镜头聚焦到 CMOS 传感器上](../../../../../translated_images/zh/cmos-sensor.75f9cd74decb137149a4c9ea825251a4549497d67c0ae2776159e6102bb53aa9.png) +![场景中的光线通过镜头聚焦到 CMOS 传感器上](../../../../../translated_images/zh-CN/cmos-sensor.75f9cd74decb137149a4c9ea825251a4549497d67c0ae2776159e6102bb53aa9.png) 大多数摄像头传感器使用图像传感器,其中每个像素是一个光电二极管。镜头将图像聚焦到图像传感器上,成千上万个光电二极管检测到落在其上的光线,并将其记录为像素数据。 @@ -83,7 +83,7 @@ CO_OP_TRANSLATOR_METADATA: 1. 点击该迭代的 **发布** 按钮。 - ![发布按钮](../../../../../translated_images/zh/custom-vision-publish-button.b7174e1977b0c33b8b72d4e5b1326c779e0af196f3849d09985ee2d7d5493a39.png) + ![发布按钮](../../../../../translated_images/zh-CN/custom-vision-publish-button.b7174e1977b0c33b8b72d4e5b1326c779e0af196f3849d09985ee2d7d5493a39.png) 1. 在 *发布模型* 对话框中,将 *预测资源* 设置为你在上一课中创建的 `fruit-quality-detector-prediction` 资源。将名称保留为 `Iteration2`,然后点击 **发布** 按钮。 @@ -97,7 +97,7 @@ CO_OP_TRANSLATOR_METADATA: 同时复制 *预测密钥* 值。这是一个安全密钥,调用模型时必须传递。只有传递此密钥的应用程序才被允许使用模型,其他应用程序将被拒绝。 - ![预测 API 对话框显示 URL 和密钥](../../../../../translated_images/zh/custom-vision-prediction-key-endpoint.30c569ffd0338864f319911f052d5e9b8c5066cb0800a26dd6f7ff5713130ad8.png) + ![预测 API 对话框显示 URL 和密钥](../../../../../translated_images/zh-CN/custom-vision-prediction-key-endpoint.30c569ffd0338864f319911f052d5e9b8c5066cb0800a26dd6f7ff5713130ad8.png) ✅ 当一个新迭代被发布时,它会有一个不同的名称。你认为如何更改物联网设备使用的迭代? @@ -118,7 +118,7 @@ CO_OP_TRANSLATOR_METADATA: 为了获得最佳的图像分类器结果,你需要用与预测图像尽可能相似的图像训练模型。例如,如果你用手机摄像头捕获图像进行训练,图像质量、清晰度和颜色会与物联网设备连接的摄像头不同。 -![两张香蕉图片,一张是物联网设备拍摄的低分辨率、光线较差的图片,另一张是手机拍摄的高分辨率、光线良好的图片](../../../../../translated_images/zh/banana-picture-compare.174df164dc326a42cf7fb051a7497e6113c620e91552d92ca914220305d47d9a.png) +![两张香蕉图片,一张是物联网设备拍摄的低分辨率、光线较差的图片,另一张是手机拍摄的高分辨率、光线良好的图片](../../../../../translated_images/zh-CN/banana-picture-compare.174df164dc326a42cf7fb051a7497e6113c620e91552d92ca914220305d47d9a.png) 在上图中,左边的香蕉图片是用树莓派摄像头拍摄的,右边的图片是用 iPhone 在同一位置拍摄的同一香蕉。可以明显看出质量差异——iPhone 的图片更清晰,颜色更鲜艳,对比度更高。 diff --git a/translations/zh/4-manufacturing/lessons/2-check-fruit-from-device/pi-camera.md b/translations/zh/4-manufacturing/lessons/2-check-fruit-from-device/pi-camera.md index 2d7556cda..64ddbfb69 100644 --- a/translations/zh/4-manufacturing/lessons/2-check-fruit-from-device/pi-camera.md +++ b/translations/zh/4-manufacturing/lessons/2-check-fruit-from-device/pi-camera.md @@ -25,7 +25,7 @@ CO_OP_TRANSLATOR_METADATA: ### 任务 - 连接摄像头 -![树莓派摄像头](../../../../../translated_images/zh/pi-camera-module.4278753c31bd6e757aa2b858be97d72049f71616278cefe4fb5abb485b40a078.png) +![树莓派摄像头](../../../../../translated_images/zh-CN/pi-camera-module.4278753c31bd6e757aa2b858be97d72049f71616278cefe4fb5abb485b40a078.png) 1. 关闭树莓派的电源。 @@ -33,17 +33,17 @@ CO_OP_TRANSLATOR_METADATA: 你可以在 [树莓派摄像头模块入门文档](https://projects.raspberrypi.org/en/projects/getting-started-with-picamera/2) 中找到一个动画,展示如何打开夹子并插入电缆。 - ![扁平电缆插入摄像头模块](../../../../../translated_images/zh/pi-camera-ribbon-cable.0bf82acd251611c21ac616f082849413e2b322a261d0e4f8fec344248083b07e.png) + ![扁平电缆插入摄像头模块](../../../../../translated_images/zh-CN/pi-camera-ribbon-cable.0bf82acd251611c21ac616f082849413e2b322a261d0e4f8fec344248083b07e.png) 1. 从树莓派上移除 Grove Base Hat。 1. 将扁平电缆穿过 Grove Base Hat 的摄像头插槽。确保电缆的蓝色一面朝向标有 **A0**、**A1** 等的模拟端口。 - ![扁平电缆穿过 Grove Base Hat](../../../../../translated_images/zh/grove-base-hat-ribbon-cable.501fed202fcf73b11b2b68f6d246189f7d15d3e4423c572ddee79d77b4632b47.png) + ![扁平电缆穿过 Grove Base Hat](../../../../../translated_images/zh-CN/grove-base-hat-ribbon-cable.501fed202fcf73b11b2b68f6d246189f7d15d3e4423c572ddee79d77b4632b47.png) 1. 将扁平电缆插入树莓派上的摄像头端口。同样,拉起黑色塑料夹,插入电缆,然后将夹子推回。电缆的蓝色一面应朝向 USB 和以太网端口。 - ![扁平电缆连接到树莓派的摄像头插座](../../../../../translated_images/zh/pi-camera-socket-ribbon-cable.a18309920b11800911082ed7aa6fb28e6d9be3a022e4079ff990016cae3fca10.png) + ![扁平电缆连接到树莓派的摄像头插座](../../../../../translated_images/zh-CN/pi-camera-socket-ribbon-cable.a18309920b11800911082ed7aa6fb28e6d9be3a022e4079ff990016cae3fca10.png) 1. 重新安装 Grove Base Hat。 @@ -110,7 +110,7 @@ CO_OP_TRANSLATOR_METADATA: `camera.rotation = 0` 行设置图像的旋转角度。扁平电缆从摄像头底部进入,但如果你的摄像头旋转过以便更容易对准你想要分类的物品,则可以将此行更改为旋转的角度。 - ![摄像头悬挂在饮料罐上方](../../../../../translated_images/zh/pi-camera-upside-down.5376961ba31459883362124152ad6b823d5ac5fc14e85f317e22903bd681c2b6.png) + ![摄像头悬挂在饮料罐上方](../../../../../translated_images/zh-CN/pi-camera-upside-down.5376961ba31459883362124152ad6b823d5ac5fc14e85f317e22903bd681c2b6.png) 例如,如果你将扁平电缆悬挂在某物上,使其位于摄像头顶部,则将旋转设置为 180: diff --git a/translations/zh/4-manufacturing/lessons/2-check-fruit-from-device/single-board-computer-classify-image.md b/translations/zh/4-manufacturing/lessons/2-check-fruit-from-device/single-board-computer-classify-image.md index a3d2516b8..7546c1a3b 100644 --- a/translations/zh/4-manufacturing/lessons/2-check-fruit-from-device/single-board-computer-classify-image.md +++ b/translations/zh/4-manufacturing/lessons/2-check-fruit-from-device/single-board-computer-classify-image.md @@ -93,7 +93,7 @@ Custom Vision 服务提供了一个 Python SDK,您可以用它来分类图像 您将能够看到拍摄的图像,以及这些值在 Custom Vision 的 **Predictions** 选项卡中显示。 - ![Custom Vision 中的一根香蕉,预测成熟度为 56.8%,未成熟度为 43.1%](../../../../../translated_images/zh/custom-vision-banana-prediction.30cdff4e1d72db5d9a0be0193790a47c2b387da034e12dc1314dd57ca2131b59.png) + ![Custom Vision 中的一根香蕉,预测成熟度为 56.8%,未成熟度为 43.1%](../../../../../translated_images/zh-CN/custom-vision-banana-prediction.30cdff4e1d72db5d9a0be0193790a47c2b387da034e12dc1314dd57ca2131b59.png) > 💁 您可以在 [code-classify/pi](../../../../../4-manufacturing/lessons/2-check-fruit-from-device/code-classify/pi) 或 [code-classify/virtual-iot-device](../../../../../4-manufacturing/lessons/2-check-fruit-from-device/code-classify/virtual-iot-device) 文件夹中找到此代码。 diff --git a/translations/zh/4-manufacturing/lessons/2-check-fruit-from-device/virtual-device-camera.md b/translations/zh/4-manufacturing/lessons/2-check-fruit-from-device/virtual-device-camera.md index b935e1c82..0d8794c76 100644 --- a/translations/zh/4-manufacturing/lessons/2-check-fruit-from-device/virtual-device-camera.md +++ b/translations/zh/4-manufacturing/lessons/2-check-fruit-from-device/virtual-device-camera.md @@ -43,11 +43,11 @@ CO_OP_TRANSLATOR_METADATA: 1. 选择 **Add** 按钮以创建摄像头。 - ![摄像头设置](../../../../../translated_images/zh/counterfit-create-camera.a5de97f59c0bd3cbe0416d7e89a3cfe86d19fbae05c641c53a91286412af0a34.png) + ![摄像头设置](../../../../../translated_images/zh-CN/counterfit-create-camera.a5de97f59c0bd3cbe0416d7e89a3cfe86d19fbae05c641c53a91286412af0a34.png) 摄像头将被创建并显示在传感器列表中。 - ![摄像头已创建](../../../../../translated_images/zh/counterfit-camera.001ec52194c8ee5d3f617173da2c79e1df903d10882adc625cbfc493525125d4.png) + ![摄像头已创建](../../../../../translated_images/zh-CN/counterfit-camera.001ec52194c8ee5d3f617173da2c79e1df903d10882adc625cbfc493525125d4.png) ## 编程摄像头 @@ -112,7 +112,7 @@ CO_OP_TRANSLATOR_METADATA: 1. 配置 CounterFit 中摄像头将捕获的图像。您可以将 *Source* 设置为 *File*,然后上传一个图像文件,或者将 *Source* 设置为 *WebCam*,图像将从您的网络摄像头捕获。确保在选择图片或网络摄像头后点击 **Set** 按钮。 - ![CounterFit 中设置为文件的图像源,以及设置为网络摄像头显示一个人手持香蕉的预览](../../../../../translated_images/zh/counterfit-camera-options.eb3bd5150a8e7dffbf24bc5bcaba0cf2cdef95fbe6bbe393695d173817d6b8df.png) + ![CounterFit 中设置为文件的图像源,以及设置为网络摄像头显示一个人手持香蕉的预览](../../../../../translated_images/zh-CN/counterfit-camera-options.eb3bd5150a8e7dffbf24bc5bcaba0cf2cdef95fbe6bbe393695d173817d6b8df.png) 1. 图像将被捕获并保存为当前文件夹中的 `image.jpg`。您将在 VS Code 的资源管理器中看到此文件。选择该文件以查看图像。如果需要旋转,请根据需要更新 `camera.rotation = 0` 行并重新拍摄图片。 diff --git a/translations/zh/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-camera.md b/translations/zh/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-camera.md index f7cfd1c39..43799ac95 100644 --- a/translations/zh/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-camera.md +++ b/translations/zh/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-camera.md @@ -25,11 +25,11 @@ ArduCam 没有 Grove 插座,而是通过 Wio Terminal 的 GPIO 引脚连接到 连接摄像头。 -![ArduCam 传感器](../../../../../translated_images/zh/arducam.20e4e4cbb268296570b5914e20d6c349fc42ddac9ed4e1b9deba2188204eebae.png) +![ArduCam 传感器](../../../../../translated_images/zh-CN/arducam.20e4e4cbb268296570b5914e20d6c349fc42ddac9ed4e1b9deba2188204eebae.png) 1. ArduCam 底部的引脚需要连接到 Wio Terminal 的 GPIO 引脚。为了更容易找到正确的引脚,请将 Wio Terminal 附带的 GPIO 引脚贴纸贴在引脚周围: - ![带有 GPIO 引脚贴纸的 Wio Terminal](../../../../../translated_images/zh/wio-terminal-pin-sticker.b90b1535937b84bd.webp) + ![带有 GPIO 引脚贴纸的 Wio Terminal](../../../../../translated_images/zh-CN/wio-terminal-pin-sticker.b90b1535937b84bd.webp) 1. 使用跳线,进行以下连接: @@ -44,7 +44,7 @@ ArduCam 没有 Grove 插座,而是通过 Wio Terminal 的 GPIO 引脚连接到 | SDA | 3 (I2C1_SDA) | I2C 串行数据 | | SCL | 5 (I2C1_SCL) | I2C 串行时钟 | - ![通过跳线连接到 ArduCam 的 Wio Terminal](../../../../../translated_images/zh/arducam-wio-terminal-connections.a4d5a4049bdb5ab800a2877389fc6ecf5e4ff307e6451ff56c517e6786467d0a.png) + ![通过跳线连接到 ArduCam 的 Wio Terminal](../../../../../translated_images/zh-CN/arducam-wio-terminal-connections.a4d5a4049bdb5ab800a2877389fc6ecf5e4ff307e6451ff56c517e6786467d0a.png) GND 和 VCC 连接为 ArduCam 提供 5V 电源。它运行在 5V,而 Grove 传感器运行在 3V。此电源直接来自为设备供电的 USB-C 连接。 @@ -297,7 +297,7 @@ ArduCam 没有 Grove 插座,而是通过 Wio Terminal 的 GPIO 引脚连接到 1. 微控制器会连续运行您的代码,因此很难触发类似拍照的操作,而不响应传感器。Wio Terminal 有按钮,因此可以设置摄像头通过其中一个按钮触发。将以下代码添加到 `setup` 函数末尾,以配置 C 按钮(顶部的三个按钮之一,靠近电源开关的那个)。 - ![靠近电源开关的 C 按钮](../../../../../translated_images/zh/wio-terminal-c-button.73df3cb1c1445ea0.webp) + ![靠近电源开关的 C 按钮](../../../../../translated_images/zh-CN/wio-terminal-c-button.73df3cb1c1445ea0.webp) ```cpp pinMode(WIO_KEY_C, INPUT_PULLUP); @@ -465,7 +465,7 @@ Wio Terminal 仅支持最大 16GB 的 microSD 卡。如果您有更大的 SD 卡 1. 关闭 microSD 卡并通过轻轻按下并释放将其弹出,它会弹出。您可能需要使用细工具执行此操作。将 microSD 卡插入计算机以查看图像。 - ![使用 ArduCam 捕获的香蕉图片](../../../../../translated_images/zh/banana-arducam.be1b32d4267a8194b0fd042362e56faa431da9cd4af172051b37243ea9be0256.jpg) + ![使用 ArduCam 捕获的香蕉图片](../../../../../translated_images/zh-CN/banana-arducam.be1b32d4267a8194b0fd042362e56faa431da9cd4af172051b37243ea9be0256.jpg) 💁 相机的白平衡可能需要几张图片来进行自我调整。您会根据捕获的图片颜色注意到这一点,前几张可能颜色不对。您可以通过更改代码,在 `setup` 函数中捕获几张被忽略的图片来解决这个问题。 diff --git a/translations/zh/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-classify-image.md b/translations/zh/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-classify-image.md index 7028aa081..c338283a2 100644 --- a/translations/zh/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-classify-image.md +++ b/translations/zh/4-manufacturing/lessons/2-check-fruit-from-device/wio-terminal-classify-image.md @@ -217,7 +217,7 @@ Custom Vision 服务提供了一个 REST API,您可以通过 Wio Terminal 调 您将能够看到拍摄的图像,以及这些值在 Custom Vision 的 **Predictions** 标签中。 - ![Custom Vision 中的香蕉预测结果:成熟 56.8%,未成熟 43.1%](../../../../../translated_images/zh/custom-vision-banana-prediction.30cdff4e1d72db5d9a0be0193790a47c2b387da034e12dc1314dd57ca2131b59.png) + ![Custom Vision 中的香蕉预测结果:成熟 56.8%,未成熟 43.1%](../../../../../translated_images/zh-CN/custom-vision-banana-prediction.30cdff4e1d72db5d9a0be0193790a47c2b387da034e12dc1314dd57ca2131b59.png) > 💁 您可以在 [code-classify/wio-terminal](../../../../../4-manufacturing/lessons/2-check-fruit-from-device/code-classify/wio-terminal) 文件夹中找到此代码。 diff --git a/translations/zh/4-manufacturing/lessons/3-run-fruit-detector-edge/README.md b/translations/zh/4-manufacturing/lessons/3-run-fruit-detector-edge/README.md index 6565adbb0..7bc3b9fe7 100644 --- a/translations/zh/4-manufacturing/lessons/3-run-fruit-detector-edge/README.md +++ b/translations/zh/4-manufacturing/lessons/3-run-fruit-detector-edge/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 在边缘设备上运行水果检测器 -![本课的手绘笔记概览](../../../../../translated_images/zh/lesson-17.bc333c3c35ba8e42cce666cfffa82b915f787f455bd94e006aea2b6f2722421a.jpg) +![本课的手绘笔记概览](../../../../../translated_images/zh-CN/lesson-17.bc333c3c35ba8e42cce666cfffa82b915f787f455bd94e006aea2b6f2722421a.jpg) > 手绘笔记由 [Nitya Narasimhan](https://github.com/nitya) 提供。点击图片查看大图。 @@ -42,11 +42,11 @@ CO_OP_TRANSLATOR_METADATA: 边缘计算是指尽可能靠近数据生成位置的地方处理物联网数据。与在云端处理不同,边缘计算将处理移至云的边缘——即你的内部网络。 -![一个架构图,显示云端的互联网服务和本地网络上的物联网设备](../../../../../translated_images/zh/cloud-without-edge.b4da641f6022c95ed6b91fde8b5323abd2f94e0d52073ad54172ae8f5dac90e9.png) +![一个架构图,显示云端的互联网服务和本地网络上的物联网设备](../../../../../translated_images/zh-CN/cloud-without-edge.b4da641f6022c95ed6b91fde8b5323abd2f94e0d52073ad54172ae8f5dac90e9.png) 到目前为止的课程中,你的设备一直在收集数据并将其发送到云端进行分析,在云端运行无服务器函数或 AI 模型。 -![一个架构图,显示本地网络上的物联网设备连接到边缘设备,这些边缘设备再连接到云端](../../../../../translated_images/zh/cloud-with-edge.1e26462c62c126fe150bd15a5714ddf0be599f09bacbad08b85be02b76ea1ae1.png) +![一个架构图,显示本地网络上的物联网设备连接到边缘设备,这些边缘设备再连接到云端](../../../../../translated_images/zh-CN/cloud-with-edge.1e26462c62c126fe150bd15a5714ddf0be599f09bacbad08b85be02b76ea1ae1.png) 边缘计算将部分云服务从云端移到与物联网设备同一网络上的计算机上,仅在需要时与云端通信。例如,你可以在边缘设备上运行 AI 模型来分析水果的成熟度,仅将分析结果(如成熟水果与未成熟水果的数量)发送回云端。 @@ -94,7 +94,7 @@ CO_OP_TRANSLATOR_METADATA: ## Azure IoT Edge -![Azure IoT Edge 的标志](../../../../../translated_images/zh/azure-iot-edge-logo.c1c076749b5cba2e8755262fadc2f19ca1146b948d76990b1229199ac2292d79.png) +![Azure IoT Edge 的标志](../../../../../translated_images/zh-CN/azure-iot-edge-logo.c1c076749b5cba2e8755262fadc2f19ca1146b948d76990b1229199ac2292d79.png) Azure IoT Edge 是一项服务,可以帮助你将工作负载从云端移到边缘。你可以将设备设置为边缘设备,并从云端向该边缘设备部署代码。这使得你可以混合使用云和边缘的功能。 @@ -108,7 +108,7 @@ IoT Edge 内置于 IoT Hub 中,因此你可以使用与管理物联网设备 IoT Edge 从 *容器* 中运行代码——容器是独立的应用程序,运行时与计算机上的其他应用程序隔离。当你运行一个容器时,它就像在你的计算机中运行的一个独立计算机,拥有自己的软件、服务和应用程序。大多数情况下,容器无法访问计算机上的任何内容,除非你选择共享某些内容(例如文件夹)给容器。容器通过开放端口暴露服务,你可以连接到这些端口或将其暴露到网络。 -![一个网络请求被重定向到容器](../../../../../translated_images/zh/container-web-browser.4ee81dd4f0d8838ce622b2a0d600b6a4322b5d4fe43159facd87b7b34f84d66a.png) +![一个网络请求被重定向到容器](../../../../../translated_images/zh-CN/container-web-browser.4ee81dd4f0d8838ce622b2a0d600b6a4322b5d4fe43159facd87b7b34f84d66a.png) 例如,你可以在端口 80(默认 HTTP 端口)上运行一个带有网站的容器,然后也在你的计算机上通过端口 80 暴露它。 @@ -204,11 +204,11 @@ IoT Edge 从 *容器* 中运行代码——容器是独立的应用程序,运 ## 为部署准备容器 -![容器被构建后推送到容器注册表,然后通过 IoT Edge 从容器注册表部署到边缘设备](../../../../../translated_images/zh/container-edge-flow.c246050dd60ceefdb6ace026a4ce5c6aa4112bb5898ae23fbb2ab4be29ae3e1b.png) +![容器被构建后推送到容器注册表,然后通过 IoT Edge 从容器注册表部署到边缘设备](../../../../../translated_images/zh-CN/container-edge-flow.c246050dd60ceefdb6ace026a4ce5c6aa4112bb5898ae23fbb2ab4be29ae3e1b.png) 下载模型后,需要将其构建为容器,然后推送到容器注册表——一个在线存储容器的位置。IoT Edge 可以从注册表下载容器并将其推送到你的设备。 -![Azure 容器注册表标志](../../../../../translated_images/zh/azure-container-registry-logo.09494206991d4b295025ebff7d4e2900325e527a59184ffbc8464b6ab59654be.png) +![Azure 容器注册表标志](../../../../../translated_images/zh-CN/azure-container-registry-logo.09494206991d4b295025ebff7d4e2900325e527a59184ffbc8464b6ab59654be.png) 本课程中使用的容器注册表是 Azure 容器注册表。这不是一个免费服务,因此为了节省费用,请确保在完成后[清理你的项目](../../../clean-up.md)。 diff --git a/translations/zh/4-manufacturing/lessons/4-trigger-fruit-detector/README.md b/translations/zh/4-manufacturing/lessons/4-trigger-fruit-detector/README.md index 5f1419605..b3cc898c7 100644 --- a/translations/zh/4-manufacturing/lessons/4-trigger-fruit-detector/README.md +++ b/translations/zh/4-manufacturing/lessons/4-trigger-fruit-detector/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 从传感器触发水果质量检测 -![本课的手绘笔记概览](../../../../../translated_images/zh/lesson-18.92c32ed1d354caa5a54baa4032cf0b172d4655e8e326ad5d46c558a0def15365.jpg) +![本课的手绘笔记概览](../../../../../translated_images/zh-CN/lesson-18.92c32ed1d354caa5a54baa4032cf0b172d4655e8e326ad5d46c558a0def15365.jpg) > 手绘笔记由 [Nitya Narasimhan](https://github.com/nitya) 提供。点击图片查看更大版本。 @@ -48,7 +48,7 @@ CO_OP_TRANSLATOR_METADATA: ### 参考物联网架构 -![参考物联网架构](../../../../../translated_images/zh/iot-reference-architecture.2278b98b55c6d4e89bde18eada3688d893861d43507641804dd2f9d3079cfaa0.png) +![参考物联网架构](../../../../../translated_images/zh-CN/iot-reference-architecture.2278b98b55c6d4e89bde18eada3688d893861d43507641804dd2f9d3079cfaa0.png) 上图展示了一个参考物联网架构。 @@ -58,7 +58,7 @@ CO_OP_TRANSLATOR_METADATA: * **洞察** 来自无服务器应用程序,或存储数据上的分析。 * **行动** 可以是发送给设备的命令,或数据的可视化以帮助人类做出决策。 -![参考物联网架构](../../../../../translated_images/zh/iot-reference-architecture-azure.0b8d2161af924cb18ae48a8558a19541cca47f27264851b5b7e56d7b8bb372ac.png) +![参考物联网架构](../../../../../translated_images/zh-CN/iot-reference-architecture-azure.0b8d2161af924cb18ae48a8558a19541cca47f27264851b5b7e56d7b8bb372ac.png) 上图展示了这些课程中涉及的一些组件和服务,以及它们如何在参考物联网架构中链接在一起。 @@ -98,7 +98,7 @@ CO_OP_TRANSLATOR_METADATA: ### 应用原型设计 -![水果质量检测的参考物联网架构](../../../../../translated_images/zh/iot-reference-architecture-fruit-quality.cc705f121c3b6fa71c800d9630935ac34bc08223a04601e35f41d5e9b5dd5207.png) +![水果质量检测的参考物联网架构](../../../../../translated_images/zh-CN/iot-reference-architecture-fruit-quality.cc705f121c3b6fa71c800d9630935ac34bc08223a04601e35f41d5e9b5dd5207.png) 上图展示了该原型应用的参考架构。 @@ -115,7 +115,7 @@ CO_OP_TRANSLATOR_METADATA: 物联网设备需要某种触发器来指示水果准备好进行分类。一个触发器可以是通过测量传感器到水果的距离来判断水果是否在传送带上的正确位置。 -![接近传感器通过激光束测量到物体(如香蕉)的距离,并计算光束反射回来的时间](../../../../../translated_images/zh/proximity-sensor.f5cd752c77fb62fe.webp) +![接近传感器通过激光束测量到物体(如香蕉)的距离,并计算光束反射回来的时间](../../../../../translated_images/zh-CN/proximity-sensor.f5cd752c77fb62fe.webp) 接近传感器可以用来测量传感器到物体的距离。它们通常发射电磁辐射束,例如激光束或红外光,然后检测从物体反射回来的辐射。发送激光束和信号反射回来的时间间隔可以用来计算到传感器的距离。 @@ -133,7 +133,7 @@ CO_OP_TRANSLATOR_METADATA: 原型水果检测器有多个组件相互通信。 -![组件之间的通信](../../../../../translated_images/zh/fruit-quality-detector-message-flow.adf2a65da8fd8741ac7af11361574de89adc126785d67606bb4d2ec00467e380.png) +![组件之间的通信](../../../../../translated_images/zh-CN/fruit-quality-detector-message-flow.adf2a65da8fd8741ac7af11361574de89adc126785d67606bb4d2ec00467e380.png) * 接近传感器测量到水果的距离并将数据发送到 IoT Hub * 控制摄像头的命令从 IoT Hub 发送到摄像头设备 diff --git a/translations/zh/4-manufacturing/lessons/4-trigger-fruit-detector/pi-proximity.md b/translations/zh/4-manufacturing/lessons/4-trigger-fruit-detector/pi-proximity.md index 74fb1e3e2..98b67891b 100644 --- a/translations/zh/4-manufacturing/lessons/4-trigger-fruit-detector/pi-proximity.md +++ b/translations/zh/4-manufacturing/lessons/4-trigger-fruit-detector/pi-proximity.md @@ -29,13 +29,13 @@ Grove 飞行时间传感器可以连接到树莓派。 连接飞行时间传感器。 -![一个 Grove 飞行时间传感器](../../../../../translated_images/zh/grove-time-of-flight-sensor.d82ff2165bfded9f485de54d8d07195a6270a602696825fca19f629ddfe94e86.png) +![一个 Grove 飞行时间传感器](../../../../../translated_images/zh-CN/grove-time-of-flight-sensor.d82ff2165bfded9f485de54d8d07195a6270a602696825fca19f629ddfe94e86.png) 1. 将 Grove 电缆的一端插入飞行时间传感器上的插座。电缆只能以一种方向插入。 1. 在树莓派断电的情况下,将 Grove 电缆的另一端连接到 Grove Base Hat 上标有 **I²C** 的插座之一。这些插座位于底部一排,与 GPIO 引脚相对的一端,靠近摄像头电缆插槽。 -![Grove 飞行时间传感器连接到 I²C 插座](../../../../../translated_images/zh/pi-time-of-flight-sensor.58c8dc04eb3bfb57.webp) +![Grove 飞行时间传感器连接到 I²C 插座](../../../../../translated_images/zh-CN/pi-time-of-flight-sensor.58c8dc04eb3bfb57.webp) ## 编程飞行时间传感器 @@ -106,7 +106,7 @@ Grove 飞行时间传感器可以连接到树莓派。 测距仪位于传感器背面,因此在测量距离时请确保使用正确的一侧。 - ![飞行时间传感器背面的测距仪对准一根香蕉](../../../../../translated_images/zh/time-of-flight-banana.079921ad8b1496e4.webp) + ![飞行时间传感器背面的测距仪对准一根香蕉](../../../../../translated_images/zh-CN/time-of-flight-banana.079921ad8b1496e4.webp) > 💁 你可以在 [code-proximity/pi](../../../../../4-manufacturing/lessons/4-trigger-fruit-detector/code-proximity/pi) 文件夹中找到这段代码。 diff --git a/translations/zh/4-manufacturing/lessons/4-trigger-fruit-detector/virtual-device-proximity.md b/translations/zh/4-manufacturing/lessons/4-trigger-fruit-detector/virtual-device-proximity.md index b3cb47a6e..11336dbe8 100644 --- a/translations/zh/4-manufacturing/lessons/4-trigger-fruit-detector/virtual-device-proximity.md +++ b/translations/zh/4-manufacturing/lessons/4-trigger-fruit-detector/virtual-device-proximity.md @@ -45,11 +45,11 @@ CO_OP_TRANSLATOR_METADATA: 1. 点击 **Add** 按钮以创建距离传感器。 - ![距离传感器设置](../../../../../translated_images/zh/counterfit-create-distance-sensor.967c9fb98f27888d95920c9784d004c972490eb71f70397fe13bd70a79a879a3.png) + ![距离传感器设置](../../../../../translated_images/zh-CN/counterfit-create-distance-sensor.967c9fb98f27888d95920c9784d004c972490eb71f70397fe13bd70a79a879a3.png) 距离传感器将被创建并显示在传感器列表中。 - ![已创建的距离传感器](../../../../../translated_images/zh/counterfit-distance-sensor.079eefeeea0b68afc36431ce8fcbe2f09a7e4916ed1cd5cb30e696db53bc18fa.png) + ![已创建的距离传感器](../../../../../translated_images/zh-CN/counterfit-distance-sensor.079eefeeea0b68afc36431ce8fcbe2f09a7e4916ed1cd5cb30e696db53bc18fa.png) ## 编程距离传感器 diff --git a/translations/zh/4-manufacturing/lessons/4-trigger-fruit-detector/wio-terminal-proximity.md b/translations/zh/4-manufacturing/lessons/4-trigger-fruit-detector/wio-terminal-proximity.md index 59f9c2aea..2913a42e3 100644 --- a/translations/zh/4-manufacturing/lessons/4-trigger-fruit-detector/wio-terminal-proximity.md +++ b/translations/zh/4-manufacturing/lessons/4-trigger-fruit-detector/wio-terminal-proximity.md @@ -29,13 +29,13 @@ Grove 飞行时间传感器可以连接到 Wio Terminal。 连接飞行时间传感器。 -![一个 Grove 飞行时间传感器](../../../../../translated_images/zh/grove-time-of-flight-sensor.d82ff2165bfded9f485de54d8d07195a6270a602696825fca19f629ddfe94e86.png) +![一个 Grove 飞行时间传感器](../../../../../translated_images/zh-CN/grove-time-of-flight-sensor.d82ff2165bfded9f485de54d8d07195a6270a602696825fca19f629ddfe94e86.png) 1. 将 Grove 电缆的一端插入飞行时间传感器上的插座。它只能以一种方式插入。 1. 在 Wio Terminal 未连接到您的计算机或其他电源时,将 Grove 电缆的另一端连接到 Wio Terminal 左侧的 Grove 插座(屏幕方向)。这是靠近电源按钮的插座,是一个数字和 I2C 组合插座。 -![Grove 飞行时间传感器连接到左侧插座](../../../../../translated_images/zh/wio-time-of-flight-sensor.c4c182131d2ea73d.webp) +![Grove 飞行时间传感器连接到左侧插座](../../../../../translated_images/zh-CN/wio-time-of-flight-sensor.c4c182131d2ea73d.webp) 1. 现在可以将 Wio Terminal 连接到您的计算机。 @@ -101,7 +101,7 @@ Grove 飞行时间传感器可以连接到 Wio Terminal。 测距仪位于传感器的背面,因此在测量距离时请确保使用正确的一侧。 - ![飞行时间传感器背面的测距仪对准香蕉](../../../../../translated_images/zh/time-of-flight-banana.079921ad8b1496e4.webp) + ![飞行时间传感器背面的测距仪对准香蕉](../../../../../translated_images/zh-CN/time-of-flight-banana.079921ad8b1496e4.webp) > 💁 您可以在 [code-proximity/wio-terminal](../../../../../4-manufacturing/lessons/4-trigger-fruit-detector/code-proximity/wio-terminal) 文件夹中找到此代码。 diff --git a/translations/zh/5-retail/lessons/1-train-stock-detector/README.md b/translations/zh/5-retail/lessons/1-train-stock-detector/README.md index fccb6dae6..66e16de0a 100644 --- a/translations/zh/5-retail/lessons/1-train-stock-detector/README.md +++ b/translations/zh/5-retail/lessons/1-train-stock-detector/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 训练库存检测器 -![本课的手绘笔记概览](../../../../../translated_images/zh/lesson-19.cf6973cecadf080c4b526310620dc4d6f5994c80fb0139c6f378cc9ca2d435cd.jpg) +![本课的手绘笔记概览](../../../../../translated_images/zh-CN/lesson-19.cf6973cecadf080c4b526310620dc4d6f5994c80fb0139c6f378cc9ca2d435cd.jpg) > 手绘笔记由 [Nitya Narasimhan](https://github.com/nitya) 提供。点击图片查看大图。 @@ -45,7 +45,7 @@ CO_OP_TRANSLATOR_METADATA: 图像分类是对整个图像进行分类——判断整个图像与每个标签匹配的概率。你会得到模型训练时使用的每个标签的概率。 -![腰果和番茄酱的图像分类](../../../../../translated_images/zh/image-classifier-cashews-tomato.bc2e16ab8f05cf9ac0f59f73e32efc4227f9a5b601b90b2c60f436694547a965.png) +![腰果和番茄酱的图像分类](../../../../../translated_images/zh-CN/image-classifier-cashews-tomato.bc2e16ab8f05cf9ac0f59f73e32efc4227f9a5b601b90b2c60f436694547a965.png) 在上面的例子中,两个图像使用一个训练过的模型进行分类,该模型可以分类腰果罐或番茄酱罐。第一个图像是一个腰果罐,图像分类器的结果如下: @@ -69,7 +69,7 @@ CO_OP_TRANSLATOR_METADATA: > 🎓 *边界框* 是围绕对象的框。 -![腰果和番茄酱的对象检测](../../../../../translated_images/zh/object-detector-cashews-tomato.1af7c26686b4db0e709754aeb196f4e73271f54e2085db3bcccb70d4a0d84d97.png) +![腰果和番茄酱的对象检测](../../../../../translated_images/zh-CN/object-detector-cashews-tomato.1af7c26686b4db0e709754aeb196f4e73271f54e2085db3bcccb70d4a0d84d97.png) 上图中包含一个腰果罐和三个番茄酱罐。对象检测器检测到了腰果罐,返回了包含腰果罐的边界框以及该边界框包含该对象的概率(此处为97.6%)。对象检测器还检测到了三个番茄酱罐,并提供了三个单独的边界框,每个检测到的罐子都有一个概率,表示该边界框包含一个番茄酱罐。 @@ -120,7 +120,7 @@ CO_OP_TRANSLATOR_METADATA: 创建项目时,请确保使用之前创建的 `stock-detector-training` 资源。选择 *对象检测* 项目类型,并选择 *货架上的商品* 域。 - ![Custom Vision 项目设置,名称设置为 fruit-quality-detector,无描述,资源设置为 fruit-quality-detector-training,项目类型设置为分类,分类类型设置为多类,域设置为食品](../../../../../translated_images/zh/custom-vision-create-object-detector-project.32d4fb9aa8e7e7375f8a799bfce517aca970f2cb65e42d4245c5e635c734ab29.png) + ![Custom Vision 项目设置,名称设置为 fruit-quality-detector,无描述,资源设置为 fruit-quality-detector-training,项目类型设置为分类,分类类型设置为多类,域设置为食品](../../../../../translated_images/zh-CN/custom-vision-create-object-detector-project.32d4fb9aa8e7e7375f8a799bfce517aca970f2cb65e42d4245c5e635c734ab29.png) ✅ *货架上的商品* 域专门用于检测货架上的库存。阅读更多关于不同域的信息,请参阅 [Microsoft Docs 中的选择域文档](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/select-domain?WT.mc_id=academic-17441-jabenn#object-detection)。 @@ -142,11 +142,11 @@ CO_OP_TRANSLATOR_METADATA: 1. 按照 Microsoft 文档中 [构建对象检测器快速入门的上传和标记图像部分](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/get-started-build-detector?WT.mc_id=academic-17441-jabenn#upload-and-tag-images) 的说明上传你的训练图像。根据你想检测的对象类型创建相关标签。 - ![上传对成熟和未成熟香蕉图片的对话框](../../../../../translated_images/zh/image-upload-object-detector.77c7892c3093cb59b79018edecd678749a75d71a099bc8a2d2f2f76320f88a5b.png) + ![上传对成熟和未成熟香蕉图片的对话框](../../../../../translated_images/zh-CN/image-upload-object-detector.77c7892c3093cb59b79018edecd678749a75d71a099bc8a2d2f2f76320f88a5b.png) 绘制对象的边界框时,请尽量紧贴对象。标记所有图像可能需要一些时间,但工具会检测它认为是边界框的部分,从而加快速度。 - ![标记一些番茄酱](../../../../../translated_images/zh/object-detector-tag-tomato-paste.f47c362fb0f0eb582f3bc68cf3855fb43a805106395358d41896a269c210b7b4.png) + ![标记一些番茄酱](../../../../../translated_images/zh-CN/object-detector-tag-tomato-paste.f47c362fb0f0eb582f3bc68cf3855fb43a805106395358d41896a269c210b7b4.png) > 💁 如果你每个对象有超过15张图像,你可以在15张图像后进行训练,然后使用 **建议标签** 功能。此功能将使用训练过的模型检测未标记图像中的对象。你可以确认检测到的对象,或者拒绝并重新绘制边界框。这可以节省大量时间。 @@ -164,7 +164,7 @@ CO_OP_TRANSLATOR_METADATA: 1. 使用 **快速测试** 按钮上传测试图像并验证对象是否被检测到。使用你之前创建的测试图像,而不是任何用于训练的图像。 - ![检测到3个番茄酱罐,概率分别为38%、35.5%和34.6%](../../../../../translated_images/zh/object-detector-detected-tomato-paste.52656fe87af4c37b4ee540526d63e73ed075da2e54a9a060aa528e0c562fb1b6.png) + ![检测到3个番茄酱罐,概率分别为38%、35.5%和34.6%](../../../../../translated_images/zh-CN/object-detector-detected-tomato-paste.52656fe87af4c37b4ee540526d63e73ed075da2e54a9a060aa528e0c562fb1b6.png) 1. 尝试所有你能获得的测试图像并观察概率。 diff --git a/translations/zh/5-retail/lessons/2-check-stock-device/README.md b/translations/zh/5-retail/lessons/2-check-stock-device/README.md index a2dda79bb..7c7f091f6 100644 --- a/translations/zh/5-retail/lessons/2-check-stock-device/README.md +++ b/translations/zh/5-retail/lessons/2-check-stock-device/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 从物联网设备检查库存 -![本课的手绘笔记概览](../../../../../translated_images/zh/lesson-20.0211df9551a8abb300fc8fcf7dc2789468dea2eabe9202273ac077b0ba37f15e.jpg) +![本课的手绘笔记概览](../../../../../translated_images/zh-CN/lesson-20.0211df9551a8abb300fc8fcf7dc2789468dea2eabe9202273ac077b0ba37f15e.jpg) > 手绘笔记由 [Nitya Narasimhan](https://github.com/nitya) 提供。点击图片查看大图。 @@ -39,7 +39,7 @@ CO_OP_TRANSLATOR_METADATA: 例如,如果摄像头对准一个可以放置8罐番茄酱的货架,而对象检测器只检测到7罐,那么说明少了一罐,需要补货。 -![货架上有7罐番茄酱,顶部4罐,底部3罐](../../../../../translated_images/zh/stock-7-cans-tomato-paste.f86059cc573d7bec.webp) +![货架上有7罐番茄酱,顶部4罐,底部3罐](../../../../../translated_images/zh-CN/stock-7-cans-tomato-paste.f86059cc573d7bec.webp) 在上图中,对象检测器检测到货架上有7罐番茄酱,而货架最多可以放置8罐。物联网设备不仅可以发送需要补货的通知,还可以提供缺失物品的位置,这对于使用机器人补货的场景尤为重要。 @@ -51,7 +51,7 @@ CO_OP_TRANSLATOR_METADATA: 对象检测可以用来检测意外的物品,并提醒人类或机器人尽快将其归位。 -![番茄酱货架上的一罐婴儿玉米](../../../../../translated_images/zh/stock-rogue-corn.be1f3ada8c457854.webp) +![番茄酱货架上的一罐婴儿玉米](../../../../../translated_images/zh-CN/stock-rogue-corn.be1f3ada8c457854.webp) 在上图中,一罐婴儿玉米被放在了番茄酱货架上。对象检测器检测到了这一情况,使物联网设备能够通知人类或机器人将这罐玉米归还到正确的位置。 @@ -71,7 +71,7 @@ CO_OP_TRANSLATOR_METADATA: 1. 点击该迭代版本的 **Publish** 按钮。 - ![发布按钮](../../../../../translated_images/zh/custom-vision-object-detector-publish-button.34ee379fc650ccb9856c3868d0003f413b9529f102fc73c37168c98d721cc293.png) + ![发布按钮](../../../../../translated_images/zh-CN/custom-vision-object-detector-publish-button.34ee379fc650ccb9856c3868d0003f413b9529f102fc73c37168c98d721cc293.png) 1. 在 *Publish Model* 对话框中,将 *Prediction resource* 设置为你在上一课中创建的 `stock-detector-prediction` 资源。保持名称为 `Iteration2`,然后点击 **Publish** 按钮。 @@ -85,7 +85,7 @@ CO_OP_TRANSLATOR_METADATA: 同时复制 *Prediction-Key* 值。这是一个安全密钥,调用模型时必须传递。只有传递此密钥的应用程序才能使用模型,其他应用程序将被拒绝。 - ![预测 API 对话框显示 URL 和密钥](../../../../../translated_images/zh/custom-vision-prediction-key-endpoint.30c569ffd0338864f319911f052d5e9b8c5066cb0800a26dd6f7ff5713130ad8.png) + ![预测 API 对话框显示 URL 和密钥](../../../../../translated_images/zh-CN/custom-vision-prediction-key-endpoint.30c569ffd0338864f319911f052d5e9b8c5066cb0800a26dd6f7ff5713130ad8.png) ✅ 当一个新迭代版本发布时,它会有一个不同的名称。你认为如何更改物联网设备使用的迭代版本? @@ -104,7 +104,7 @@ CO_OP_TRANSLATOR_METADATA: 在 Custom Vision 的 **Predictions** 标签中,预测结果会在发送预测的图像上绘制边界框。 -![货架上4罐番茄酱的预测结果,分别为35.8%、33.5%、25.7%和16.6%](../../../../../translated_images/zh/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.png) +![货架上4罐番茄酱的预测结果,分别为35.8%、33.5%、25.7%和16.6%](../../../../../translated_images/zh-CN/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.png) 在上图中,检测到4罐番茄酱。结果中,每个检测到的对象在图像上都叠加了一个红色方框,表示该对象的边界框。 @@ -112,7 +112,7 @@ CO_OP_TRANSLATOR_METADATA: 边界框由4个值定义:top、left、height 和 width。这些值的范围是0-1,表示相对于图像大小的百分比位置。原点(0,0位置)是图像的左上角,因此 top 值是距离顶部的距离,边界框的底部是 top 加上 height。 -![番茄酱罐的边界框](../../../../../translated_images/zh/bounding-box.1420a7ea0d3d15f71e1ffb5cf4b2271d184fac051f990abc541975168d163684.png) +![番茄酱罐的边界框](../../../../../translated_images/zh-CN/bounding-box.1420a7ea0d3d15f71e1ffb5cf4b2271d184fac051f990abc541975168d163684.png) 上图的宽度为600像素,高度为800像素。边界框从320像素处开始,因此 top 坐标为0.4(800 x 0.4 = 320)。从左侧开始,边界框从240像素处开始,因此 left 坐标为0.4(600 x 0.4 = 240)。边界框的高度为240像素,因此 height 值为0.3(800 x 0.3 = 240)。边界框的宽度为120像素,因此 width 值为0.2(600 x 0.2 = 120)。 @@ -127,7 +127,7 @@ CO_OP_TRANSLATOR_METADATA: 你可以结合边界框和概率来评估检测的准确性。例如,对象检测器可能会检测到多个重叠的对象,例如一个罐子在另一个罐子内部。你的代码可以检查边界框,理解这种情况是不可能的,并忽略任何与其他对象有显著重叠的对象。 -![两个边界框重叠在一个番茄酱罐上](../../../../../translated_images/zh/overlap-object-detection.d431e03cae75072a2760430eca7f2c5fdd43045bfd72dadcbf12711f7cd6c2ae.png) +![两个边界框重叠在一个番茄酱罐上](../../../../../translated_images/zh-CN/overlap-object-detection.d431e03cae75072a2760430eca7f2c5fdd43045bfd72dadcbf12711f7cd6c2ae.png) 在上图中,一个边界框表示一个概率为78.3%的番茄酱罐。另一个边界框稍小,位于第一个边界框内,概率为64.3%。你的代码可以检查边界框,发现它们完全重叠,并忽略较低概率的检测,因为一个罐子不可能在另一个罐子内部。 diff --git a/translations/zh/5-retail/lessons/2-check-stock-device/single-board-computer-count-stock.md b/translations/zh/5-retail/lessons/2-check-stock-device/single-board-computer-count-stock.md index 2177debe8..5839485d9 100644 --- a/translations/zh/5-retail/lessons/2-check-stock-device/single-board-computer-count-stock.md +++ b/translations/zh/5-retail/lessons/2-check-stock-device/single-board-computer-count-stock.md @@ -81,7 +81,7 @@ CO_OP_TRANSLATOR_METADATA: 1. 运行应用程序,并将摄像头对准货架上的一些库存。您将在 VS Code 的资源管理器中看到 `image.jpg` 文件,并可以选择它查看边界框。 - ![4 罐番茄酱,每罐周围都有边界框](../../../../../translated_images/zh/rpi-stock-with-bounding-boxes.b5540e2ecb7cd49f.webp) + ![4 罐番茄酱,每罐周围都有边界框](../../../../../translated_images/zh-CN/rpi-stock-with-bounding-boxes.b5540e2ecb7cd49f.webp) ## 统计库存 diff --git a/translations/zh/5-retail/lessons/2-check-stock-device/single-board-computer-object-detector.md b/translations/zh/5-retail/lessons/2-check-stock-device/single-board-computer-object-detector.md index 4aebca4a2..12f5dec84 100644 --- a/translations/zh/5-retail/lessons/2-check-stock-device/single-board-computer-object-detector.md +++ b/translations/zh/5-retail/lessons/2-check-stock-device/single-board-computer-object-detector.md @@ -76,7 +76,7 @@ CO_OP_TRANSLATOR_METADATA: 你将能够在 Custom Vision 的 **Predictions** 标签中看到拍摄的图像和这些预测值。 - ![货架上有 4 罐番茄酱,预测结果为 35.8%、33.5%、25.7% 和 16.6%](../../../../../translated_images/zh/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.png) + ![货架上有 4 罐番茄酱,预测结果为 35.8%、33.5%、25.7% 和 16.6%](../../../../../translated_images/zh-CN/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.png) > 💁 你可以在 [code-detect/pi](../../../../../5-retail/lessons/2-check-stock-device/code-detect/pi) 或 [code-detect/virtual-iot-device](../../../../../5-retail/lessons/2-check-stock-device/code-detect/virtual-iot-device) 文件夹中找到这段代码。 diff --git a/translations/zh/5-retail/lessons/2-check-stock-device/wio-terminal-count-stock.md b/translations/zh/5-retail/lessons/2-check-stock-device/wio-terminal-count-stock.md index 263974f6e..7fbe67af9 100644 --- a/translations/zh/5-retail/lessons/2-check-stock-device/wio-terminal-count-stock.md +++ b/translations/zh/5-retail/lessons/2-check-stock-device/wio-terminal-count-stock.md @@ -13,7 +13,7 @@ CO_OP_TRANSLATOR_METADATA: ## 统计库存 -![4罐番茄酱,每罐周围都有边界框](../../../../../translated_images/zh/rpi-stock-with-bounding-boxes.b5540e2ecb7cd49f.webp) +![4罐番茄酱,每罐周围都有边界框](../../../../../translated_images/zh-CN/rpi-stock-with-bounding-boxes.b5540e2ecb7cd49f.webp) 在上图中,边界框之间有一些小的重叠。如果这种重叠更大,那么边界框可能会指向同一个物体。为了正确统计物体数量,需要忽略那些有显著重叠的边界框。 diff --git a/translations/zh/5-retail/lessons/2-check-stock-device/wio-terminal-object-detector.md b/translations/zh/5-retail/lessons/2-check-stock-device/wio-terminal-object-detector.md index 48418a704..e1772af27 100644 --- a/translations/zh/5-retail/lessons/2-check-stock-device/wio-terminal-object-detector.md +++ b/translations/zh/5-retail/lessons/2-check-stock-device/wio-terminal-object-detector.md @@ -104,7 +104,7 @@ CO_OP_TRANSLATOR_METADATA: 您将能够看到拍摄的图像,以及这些值在 Custom Vision 的 **Predictions** 标签中显示。 - ![货架上的4罐番茄酱及预测结果,概率分别为35.8%、33.5%、25.7%和16.6%](../../../../../translated_images/zh/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.png) + ![货架上的4罐番茄酱及预测结果,概率分别为35.8%、33.5%、25.7%和16.6%](../../../../../translated_images/zh-CN/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.png) > 💁 您可以在 [code-detect/wio-terminal](../../../../../5-retail/lessons/2-check-stock-device/code-detect/wio-terminal) 文件夹中找到此代码。 diff --git a/translations/zh/6-consumer/lessons/1-speech-recognition/README.md b/translations/zh/6-consumer/lessons/1-speech-recognition/README.md index 48558ce86..515e6af06 100644 --- a/translations/zh/6-consumer/lessons/1-speech-recognition/README.md +++ b/translations/zh/6-consumer/lessons/1-speech-recognition/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 使用物联网设备进行语音识别 -![本课的手绘笔记概览](../../../../../translated_images/zh/lesson-21.e34de51354d6606fb5ee08d8c89d0222eea0a2a7aaf744a8805ae847c4f69dc4.jpg) +![本课的手绘笔记概览](../../../../../translated_images/zh-CN/lesson-21.e34de51354d6606fb5ee08d8c89d0222eea0a2a7aaf744a8805ae847c4f69dc4.jpg) > 手绘笔记由 [Nitya Narasimhan](https://github.com/nitya) 提供。点击图片查看更大版本。 @@ -60,19 +60,19 @@ CO_OP_TRANSLATOR_METADATA: 动圈麦克风无需电源即可工作,电信号完全由麦克风生成。 - ![Patti Smith 使用 Shure SM58(动圈心形类型)麦克风演唱](../../../../../translated_images/zh/dynamic-mic.8babac890a2d80dfb0874b5bf37d4b851fe2aeb9da6fd72945746176978bf3bb.jpg) + ![Patti Smith 使用 Shure SM58(动圈心形类型)麦克风演唱](../../../../../translated_images/zh-CN/dynamic-mic.8babac890a2d80dfb0874b5bf37d4b851fe2aeb9da6fd72945746176978bf3bb.jpg) * 带状麦克风 - 带状麦克风与动圈麦克风类似,但它们使用金属带代替振膜。金属带在磁场中移动时会产生电流。与动圈麦克风一样,带状麦克风无需电源即可工作。 - ![美国演员 Edmund Lowe 在广播麦克风(标有 NBC 蓝网)前站立,手持剧本,1942年](../../../../../translated_images/zh/ribbon-mic.eacc8e092c7441ca.webp) + ![美国演员 Edmund Lowe 在广播麦克风(标有 NBC 蓝网)前站立,手持剧本,1942年](../../../../../translated_images/zh-CN/ribbon-mic.eacc8e092c7441ca.webp) * 电容麦克风 - 电容麦克风有一个薄金属振膜和一个固定的金属背板。电流会施加到这两个部件上,当振膜振动时,板之间的静电荷发生变化,从而生成信号。电容麦克风需要电源才能工作,这种电源被称为 *幻象电源*。 - ![AKG Acoustics 的 C451B 小振膜电容麦克风](../../../../../translated_images/zh/condenser-mic.6f6ed5b76ca19e0ec3fd0c544601542d4479a6cb7565db336de49fbbf69f623e.jpg) + ![AKG Acoustics 的 C451B 小振膜电容麦克风](../../../../../translated_images/zh-CN/condenser-mic.6f6ed5b76ca19e0ec3fd0c544601542d4479a6cb7565db336de49fbbf69f623e.jpg) * MEMS 麦克风 - 微机电系统麦克风,简称 MEMS,是芯片上的麦克风。它们在硅芯片上蚀刻了一个压力敏感的振膜,工作原理类似于电容麦克风。这些麦克风可以非常小,并集成到电路中。 - ![电路板上的 MEMS 麦克风](../../../../../translated_images/zh/mems-microphone.80574019e1f5e4d9ee72fed720ecd25a39fc2969c91355d17ebb24ba4159e4c4.png) + ![电路板上的 MEMS 麦克风](../../../../../translated_images/zh-CN/mems-microphone.80574019e1f5e4d9ee72fed720ecd25a39fc2969c91355d17ebb24ba4159e4c4.png) 在上图中,标有 **LEFT** 的芯片是一个 MEMS 麦克风,其振膜宽度不到一毫米。 @@ -84,7 +84,7 @@ CO_OP_TRANSLATOR_METADATA: > 🎓 采样是将音频信号转换为数字值,表示该时刻的信号。 -![显示信号的折线图,固定间隔处有离散点](../../../../../translated_images/zh/sampling.6f4fadb3f2d9dfe7.webp) +![显示信号的折线图,固定间隔处有离散点](../../../../../translated_images/zh-CN/sampling.6f4fadb3f2d9dfe7.webp) 数字音频使用脉冲编码调制(PCM)进行采样。PCM 通过读取信号的电压,并根据定义的大小选择最接近该电压的离散值。 @@ -168,7 +168,7 @@ CO_OP_TRANSLATOR_METADATA: ## 将语音转换为文字 -![语音服务标志](../../../../../translated_images/zh/azure-speech-logo.a1f08c4befb0159f2cb5d692d3baf5b599e7b44759d316da907bda1508f46a4a.png) +![语音服务标志](../../../../../translated_images/zh-CN/azure-speech-logo.a1f08c4befb0159f2cb5d692d3baf5b599e7b44759d316da907bda1508f46a4a.png) 就像之前项目中的图像分类一样,有一些预构建的AI服务可以将音频文件中的语音转换为文字。其中一个服务是语音服务,它是认知服务的一部分,你可以在应用程序中使用这些预构建的AI服务。 diff --git a/translations/zh/6-consumer/lessons/1-speech-recognition/pi-audio.md b/translations/zh/6-consumer/lessons/1-speech-recognition/pi-audio.md index 486d2d067..ab5355531 100644 --- a/translations/zh/6-consumer/lessons/1-speech-recognition/pi-audio.md +++ b/translations/zh/6-consumer/lessons/1-speech-recognition/pi-audio.md @@ -25,13 +25,13 @@ CO_OP_TRANSLATOR_METADATA: #### 任务 - 连接按钮 -![一个 Grove 按钮](../../../../../translated_images/zh/grove-button.a70cfbb809a8563681003250cf5b06d68cdcc68624f9e2f493d5a534ae2da1e5.png) +![一个 Grove 按钮](../../../../../translated_images/zh-CN/grove-button.a70cfbb809a8563681003250cf5b06d68cdcc68624f9e2f493d5a534ae2da1e5.png) 1. 将 Grove 电缆的一端插入按钮模块上的插座。它只能以一种方式插入。 1. 在树莓派断电的情况下,将 Grove 电缆的另一端连接到 Grove 基座 HAT 上标记为 **D5** 的数字插座。这个插座位于 GPIO 引脚旁边的一排插座中,从左数第二个。 -![Grove 按钮连接到 D5 插座](../../../../../translated_images/zh/pi-button.c7a1a4f55943341ce1baf1057658e9a205804d4131d258e820c93f951df0abf3.png) +![Grove 按钮连接到 D5 插座](../../../../../translated_images/zh-CN/pi-button.c7a1a4f55943341ce1baf1057658e9a205804d4131d258e820c93f951df0abf3.png) ## 捕捉音频 diff --git a/translations/zh/6-consumer/lessons/1-speech-recognition/pi-microphone.md b/translations/zh/6-consumer/lessons/1-speech-recognition/pi-microphone.md index 287842193..e11ac73d1 100644 --- a/translations/zh/6-consumer/lessons/1-speech-recognition/pi-microphone.md +++ b/translations/zh/6-consumer/lessons/1-speech-recognition/pi-microphone.md @@ -43,7 +43,7 @@ CO_OP_TRANSLATOR_METADATA: 1. 如果您使用的是ReSpeaker 2-Mics Pi HAT,可以移除Grove基座帽,然后将ReSpeaker帽安装到位。 - ![带有ReSpeaker帽的树莓派](../../../../../translated_images/zh/pi-respeaker-hat.f00fabe7dd039a93e2e0aa0fc946c9af0c6a9eb17c32fa1ca097fb4e384f69f0.png) + ![带有ReSpeaker帽的树莓派](../../../../../translated_images/zh-CN/pi-respeaker-hat.f00fabe7dd039a93e2e0aa0fc946c9af0c6a9eb17c32fa1ca097fb4e384f69f0.png) 在本课程后续部分,您将需要一个Grove按钮,但此帽子内置了一个按钮,因此不需要Grove基座帽。 diff --git a/translations/zh/6-consumer/lessons/1-speech-recognition/wio-terminal-audio.md b/translations/zh/6-consumer/lessons/1-speech-recognition/wio-terminal-audio.md index ef34c1b99..24b8b1ad2 100644 --- a/translations/zh/6-consumer/lessons/1-speech-recognition/wio-terminal-audio.md +++ b/translations/zh/6-consumer/lessons/1-speech-recognition/wio-terminal-audio.md @@ -19,7 +19,7 @@ CO_OP_TRANSLATOR_METADATA: ✅ 在 [Wikipedia 的直接内存访问页面](https://wikipedia.org/wiki/Direct_memory_access) 上了解更多关于 DMA 的信息。 -![音频从麦克风进入 ADC,然后到 DMAC。DMAC 将数据写入一个缓冲区。当该缓冲区满时,数据被处理,DMAC 写入第二个缓冲区](../../../../../translated_images/zh/dmac-adc-buffers.4509aee49145c90bc2e1be472b8ed2ddfcb2b6a81ad3e559114aca55f5fff759.png) +![音频从麦克风进入 ADC,然后到 DMAC。DMAC 将数据写入一个缓冲区。当该缓冲区满时,数据被处理,DMAC 写入第二个缓冲区](../../../../../translated_images/zh-CN/dmac-adc-buffers.4509aee49145c90bc2e1be472b8ed2ddfcb2b6a81ad3e559114aca55f5fff759.png) DMAC 可以以固定间隔从 ADC 捕获音频,例如以每秒 16,000 次的速率捕获 16KHz 音频。它可以将捕获的数据写入预分配的内存缓冲区,当缓冲区满时,通知您的代码进行处理。使用此内存可能会延迟音频捕获,但您可以设置多个缓冲区。DMAC 写入缓冲区 1,当缓冲区 1 满时,通知您的代码处理缓冲区 1,同时 DMAC 写入缓冲区 2。当缓冲区 2 满时,它通知您的代码,然后返回写入缓冲区 1。这样,只要您在填满一个缓冲区所需的时间内处理每个缓冲区,就不会丢失任何数据。 diff --git a/translations/zh/6-consumer/lessons/1-speech-recognition/wio-terminal-microphone.md b/translations/zh/6-consumer/lessons/1-speech-recognition/wio-terminal-microphone.md index f46f14d27..5f30ff63d 100644 --- a/translations/zh/6-consumer/lessons/1-speech-recognition/wio-terminal-microphone.md +++ b/translations/zh/6-consumer/lessons/1-speech-recognition/wio-terminal-microphone.md @@ -15,11 +15,11 @@ CO_OP_TRANSLATOR_METADATA: Wio Terminal 已内置麦克风,可用于捕捉音频以进行语音识别。 -![Wio Terminal 上的麦克风](../../../../../translated_images/zh/wio-mic.3f8c843dbe8ad917.webp) +![Wio Terminal 上的麦克风](../../../../../translated_images/zh-CN/wio-mic.3f8c843dbe8ad917.webp) 要添加扬声器,您可以使用 [ReSpeaker 2-Mics Pi Hat](https://www.seeedstudio.com/ReSpeaker-2-Mics-Pi-HAT.html)。这是一个外部板,包含两个 MEMS 麦克风,以及一个扬声器连接器和耳机插孔。 -![ReSpeaker 2-Mics Pi Hat](../../../../../translated_images/zh/respeaker.f5d19d1c6b14ab16.webp) +![ReSpeaker 2-Mics Pi Hat](../../../../../translated_images/zh-CN/respeaker.f5d19d1c6b14ab16.webp) 您需要添加耳机、带有 3.5mm 插头的扬声器,或者带有 JST 接口的扬声器,例如 [Mono Enclosed Speaker - 2W 6 Ohm](https://www.seeedstudio.com/Mono-Enclosed-Speaker-2W-6-Ohm-p-2832.html)。 @@ -35,7 +35,7 @@ Wio Terminal 已内置麦克风,可用于捕捉音频以进行语音识别。 引脚需要按以下方式连接: - ![引脚图](../../../../../translated_images/zh/wio-respeaker-wiring-0.767f80aa65081038.webp) + ![引脚图](../../../../../translated_images/zh-CN/wio-respeaker-wiring-0.767f80aa65081038.webp) 1. 将 ReSpeaker 和 Wio Terminal 放置好,使 GPIO 插座面朝上,并位于左侧。 @@ -43,33 +43,33 @@ Wio Terminal 已内置麦克风,可用于捕捉音频以进行语音识别。 1. 按此方式连接左侧 GPIO 插座的所有插孔。确保引脚牢固插入。 - ![左侧引脚连接到 Wio Terminal 左侧引脚的 ReSpeaker](../../../../../translated_images/zh/wio-respeaker-wiring-1.8d894727f2ba2400.webp) + ![左侧引脚连接到 Wio Terminal 左侧引脚的 ReSpeaker](../../../../../translated_images/zh-CN/wio-respeaker-wiring-1.8d894727f2ba2400.webp) - ![左侧引脚连接到 Wio Terminal 左侧引脚的 ReSpeaker](../../../../../translated_images/zh/wio-respeaker-wiring-2.329e1cbd306e754f.webp) + ![左侧引脚连接到 Wio Terminal 左侧引脚的 ReSpeaker](../../../../../translated_images/zh-CN/wio-respeaker-wiring-2.329e1cbd306e754f.webp) > 💁 如果您的跳线是连接成带状的,请保持它们整齐排列——这样可以更容易确保所有线缆按顺序连接。 1. 使用 ReSpeaker 和 Wio Terminal 的右侧 GPIO 插座重复上述过程。这些线缆需要绕过已经连接的线缆。 - ![右侧引脚连接到 Wio Terminal 右侧引脚的 ReSpeaker](../../../../../translated_images/zh/wio-respeaker-wiring-3.75b0be447e2fa930.webp) + ![右侧引脚连接到 Wio Terminal 右侧引脚的 ReSpeaker](../../../../../translated_images/zh-CN/wio-respeaker-wiring-3.75b0be447e2fa930.webp) - ![右侧引脚连接到 Wio Terminal 右侧引脚的 ReSpeaker](../../../../../translated_images/zh/wio-respeaker-wiring-4.aa9cd434d8779437.webp) + ![右侧引脚连接到 Wio Terminal 右侧引脚的 ReSpeaker](../../../../../translated_images/zh-CN/wio-respeaker-wiring-4.aa9cd434d8779437.webp) > 💁 如果您的跳线是连接成带状的,请将它们分成两组带状线缆。分别从现有线缆的两侧通过。 > 💁 您可以使用胶带将引脚固定成一个块,以防止在连接过程中引脚脱落。 > - > ![用胶带固定的引脚](../../../../../translated_images/zh/wio-respeaker-wiring-5.af117c20acf622f3.webp) + > ![用胶带固定的引脚](../../../../../translated_images/zh-CN/wio-respeaker-wiring-5.af117c20acf622f3.webp) 1. 您需要添加一个扬声器。 * 如果您使用的是带有 JST 线缆的扬声器,请将其连接到 ReSpeaker 的 JST 接口。 - ![通过 JST 线缆连接到 ReSpeaker 的扬声器](../../../../../translated_images/zh/respeaker-jst-speaker.a441d177809df945.webp) + ![通过 JST 线缆连接到 ReSpeaker 的扬声器](../../../../../translated_images/zh-CN/respeaker-jst-speaker.a441d177809df945.webp) * 如果您使用的是带有 3.5mm 插头的扬声器或耳机,请将其插入 3.5mm 插孔。 - ![通过 3.5mm 插孔连接到 ReSpeaker 的扬声器](../../../../../translated_images/zh/respeaker-35mm-speaker.ad79ef4f128c7751.webp) + ![通过 3.5mm 插孔连接到 ReSpeaker 的扬声器](../../../../../translated_images/zh-CN/respeaker-35mm-speaker.ad79ef4f128c7751.webp) ### 任务 - 设置 SD 卡 @@ -79,7 +79,7 @@ Wio Terminal 已内置麦克风,可用于捕捉音频以进行语音识别。 1. 将 SD 卡插入 Wio Terminal 左侧的 SD 卡插槽,插槽位于电源按钮下方。确保卡完全插入并卡住——您可能需要使用薄工具或另一张 SD 卡帮助将其完全推入。 - ![将 SD 卡插入电源开关下方的 SD 卡插槽](../../../../../translated_images/zh/wio-sd-card.acdcbe322fa4ee7f.webp) + ![将 SD 卡插入电源开关下方的 SD 卡插槽](../../../../../translated_images/zh-CN/wio-sd-card.acdcbe322fa4ee7f.webp) > 💁 要弹出 SD 卡,您需要稍微按压卡片,它会弹出。您可能需要使用薄工具,例如平头螺丝刀或另一张 SD 卡。 diff --git a/translations/zh/6-consumer/lessons/2-language-understanding/README.md b/translations/zh/6-consumer/lessons/2-language-understanding/README.md index b1f0eb5fb..67fca064f 100644 --- a/translations/zh/6-consumer/lessons/2-language-understanding/README.md +++ b/translations/zh/6-consumer/lessons/2-language-understanding/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 理解语言 -![本课的手绘笔记概览](../../../../../translated_images/zh/lesson-22.6148ea28500d9e00c396aaa2649935fb6641362c8f03d8e5e90a676977ab01dd.jpg) +![本课的手绘笔记概览](../../../../../translated_images/zh-CN/lesson-22.6148ea28500d9e00c396aaa2649935fb6641362c8f03d8e5e90a676977ab01dd.jpg) > 手绘笔记由 [Nitya Narasimhan](https://github.com/nitya) 提供。点击图片查看更大版本。 @@ -55,7 +55,7 @@ CO_OP_TRANSLATOR_METADATA: ## 创建语言理解模型 -![LUIS标志](../../../../../translated_images/zh/luis-logo.5cb4f3e88c020ee6df4f614e8831f4a4b6809a7247bf52085fb48d629ef9be52.png) +![LUIS标志](../../../../../translated_images/zh-CN/luis-logo.5cb4f3e88c020ee6df4f614e8831f4a4b6809a7247bf52085fb48d629ef9be52.png) 你可以使用LUIS(Language Understanding Intelligent Service)创建语言理解模型,这是微软认知服务的一部分。 @@ -126,7 +126,7 @@ CO_OP_TRANSLATOR_METADATA: 然后你需要告诉LUIS这些句子的哪些部分映射到实体: -![句子“设置一个计时器,时间为1分12秒”分解为实体](../../../../../translated_images/zh/sentence-as-intent-entities.301401696f992259.webp) +![句子“设置一个计时器,时间为1分12秒”分解为实体](../../../../../translated_images/zh-CN/sentence-as-intent-entities.301401696f992259.webp) 句子`设置一个计时器,时间为1分12秒`的意图是`设置计时器`。它还有2个实体,每个实体有2个值: @@ -178,7 +178,7 @@ CO_OP_TRANSLATOR_METADATA: 1. 每输入一个示例,LUIS会开始检测实体,并会下划线并标记它找到的任何实体。 - ![LUIS对示例中的数字和时间单位进行下划线标记](../../../../../translated_images/zh/luis-intent-examples.25716580b2d2723cf1bafdf277d015c7f046d8cfa20f27bddf3a0873ec45fab7.png) + ![LUIS对示例中的数字和时间单位进行下划线标记](../../../../../translated_images/zh-CN/luis-intent-examples.25716580b2d2723cf1bafdf277d015c7f046d8cfa20f27bddf3a0873ec45fab7.png) ### 任务 - 训练和测试模型 diff --git a/translations/zh/6-consumer/lessons/3-spoken-feedback/README.md b/translations/zh/6-consumer/lessons/3-spoken-feedback/README.md index d32602ec3..3df6f50d7 100644 --- a/translations/zh/6-consumer/lessons/3-spoken-feedback/README.md +++ b/translations/zh/6-consumer/lessons/3-spoken-feedback/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 设置计时器并提供语音反馈 -![本课的手绘笔记概览](../../../../../translated_images/zh/lesson-23.f38483e1d4df4828990d3f02d60e46c978b075d384ae7cb4f7bab738e107c850.jpg) +![本课的手绘笔记概览](../../../../../translated_images/zh-CN/lesson-23.f38483e1d4df4828990d3f02d60e46c978b075d384ae7cb4f7bab738e107c850.jpg) > 手绘笔记由 [Nitya Narasimhan](https://github.com/nitya) 提供。点击图片查看更大版本。 @@ -37,7 +37,7 @@ CO_OP_TRANSLATOR_METADATA: 文本转语音,顾名思义,是将文本转换为包含该文本的语音的过程。其基本原理是将文本中的单词分解为构成声音的基本单位(称为音素),然后通过预录音频或AI模型生成音频,将这些声音拼接起来。 -![典型文本转语音系统的三个阶段](../../../../../translated_images/zh/tts-overview.193843cf3f5ee09f.webp) +![典型文本转语音系统的三个阶段](../../../../../translated_images/zh-CN/tts-overview.193843cf3f5ee09f.webp) 文本转语音系统通常分为三个阶段: diff --git a/translations/zh/6-consumer/lessons/4-multiple-language-support/README.md b/translations/zh/6-consumer/lessons/4-multiple-language-support/README.md index e3d874e0f..a4fb28d13 100644 --- a/translations/zh/6-consumer/lessons/4-multiple-language-support/README.md +++ b/translations/zh/6-consumer/lessons/4-multiple-language-support/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 支持多语言 -![本课的手绘笔记概览](../../../../../translated_images/zh/lesson-24.4246968ed058510ab275052e87ef9aa89c7b2f938915d103c605c04dc6cd5bb7.jpg) +![本课的手绘笔记概览](../../../../../translated_images/zh-CN/lesson-24.4246968ed058510ab275052e87ef9aa89c7b2f938915d103c605c04dc6cd5bb7.jpg) > 手绘笔记由 [Nitya Narasimhan](https://github.com/nitya) 提供。点击图片查看大图。 @@ -83,7 +83,7 @@ CO_OP_TRANSLATOR_METADATA: ### 认知服务语音服务 -![语音服务标志](../../../../../translated_images/zh/azure-speech-logo.a1f08c4befb0159f2cb5d692d3baf5b599e7b44759d316da907bda1508f46a4a.png) +![语音服务标志](../../../../../translated_images/zh-CN/azure-speech-logo.a1f08c4befb0159f2cb5d692d3baf5b599e7b44759d316da907bda1508f46a4a.png) 你在过去几课中使用的语音服务具有语音识别的翻译功能。当你识别语音时,可以请求不仅以相同语言显示的文本,还可以请求其他语言的文本。 @@ -91,7 +91,7 @@ CO_OP_TRANSLATOR_METADATA: ### 认知服务翻译器服务 -![翻译器服务标志](../../../../../translated_images/zh/azure-translator-logo.c6ed3a4a433edfd2f11577eca105412c50b8396b194cbbd730723dd1d0793bcd.png) +![翻译器服务标志](../../../../../translated_images/zh-CN/azure-translator-logo.c6ed3a4a433edfd2f11577eca105412c50b8396b194cbbd730723dd1d0793bcd.png) 翻译器服务是一个专门的翻译服务,可以将文本从一种语言翻译成一种或多种目标语言。除了翻译,它还支持许多额外功能,包括屏蔽不雅词汇。它还允许你为特定单词或句子提供特定翻译,以处理你不希望翻译的术语,或具有特定公认翻译的术语。 @@ -130,7 +130,7 @@ CO_OP_TRANSLATOR_METADATA: 在理想情况下,你的整个应用程序应该能够理解尽可能多的语言,从语音识别到语言理解,再到语音响应。这需要大量工作,而翻译服务可以加快应用程序的交付时间。 -![一个智能计时器架构,将日语翻译成英语,在英语中处理,然后再翻译回日语](../../../../../translated_images/zh/translated-smart-timer.08ac20057fdc5c37.webp) +![一个智能计时器架构,将日语翻译成英语,在英语中处理,然后再翻译回日语](../../../../../translated_images/zh-CN/translated-smart-timer.08ac20057fdc5c37.webp) 想象你正在构建一个智能计时器,它从头到尾使用英语,理解英语语音并将其转换为文本,在英语中运行语言理解,用英语构建响应并用英语语音回复。如果你想添加日语支持,可以先将日语语音翻译成英语文本,然后保持应用程序的核心部分不变,再将响应文本翻译成日语,最后用日语语音回复。这将使你能够快速添加日语支持,之后可以扩展为提供完整的端到端日语支持。 diff --git a/translations/zh/6-consumer/lessons/4-multiple-language-support/pi-translate-speech.md b/translations/zh/6-consumer/lessons/4-multiple-language-support/pi-translate-speech.md index 4ae16cd39..6e092fb93 100644 --- a/translations/zh/6-consumer/lessons/4-multiple-language-support/pi-translate-speech.md +++ b/translations/zh/6-consumer/lessons/4-multiple-language-support/pi-translate-speech.md @@ -34,7 +34,7 @@ CO_OP_TRANSLATOR_METADATA: > > 例如,如果您用英语训练 LUIS,但希望使用法语作为用户语言,您可以使用必应翻译将像“设置一个2分27秒的计时器”这样的句子从英语翻译成法语,然后使用 **听翻译** 按钮将翻译内容通过麦克风说出。 > - > ![必应翻译上的听翻译按钮](../../../../../translated_images/zh/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.png) + > ![必应翻译上的听翻译按钮](../../../../../translated_images/zh-CN/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.png) 1. 在 `speech_api_key` 下添加翻译 API 密钥: diff --git a/translations/zh/6-consumer/lessons/4-multiple-language-support/virtual-device-translate-speech.md b/translations/zh/6-consumer/lessons/4-multiple-language-support/virtual-device-translate-speech.md index 0d08593e5..ee86b733c 100644 --- a/translations/zh/6-consumer/lessons/4-multiple-language-support/virtual-device-translate-speech.md +++ b/translations/zh/6-consumer/lessons/4-multiple-language-support/virtual-device-translate-speech.md @@ -46,7 +46,7 @@ CO_OP_TRANSLATOR_METADATA: > > 例如,如果您用英语训练 LUIS,但希望用户语言为法语,您可以使用必应翻译将诸如“设置一个2分27秒的计时器”这样的句子从英语翻译为法语,然后使用**收听翻译**按钮将翻译内容通过麦克风输入。 > - > ![必应翻译上的收听翻译按钮](../../../../../translated_images/zh/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.png) + > ![必应翻译上的收听翻译按钮](../../../../../translated_images/zh-CN/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.png) 1. 替换 `recognizer_config` 和 `recognizer` 的声明,使用以下内容: diff --git a/translations/zh/6-consumer/lessons/4-multiple-language-support/wio-terminal-translate-speech.md b/translations/zh/6-consumer/lessons/4-multiple-language-support/wio-terminal-translate-speech.md index da6eada83..b85a35a10 100644 --- a/translations/zh/6-consumer/lessons/4-multiple-language-support/wio-terminal-translate-speech.md +++ b/translations/zh/6-consumer/lessons/4-multiple-language-support/wio-terminal-translate-speech.md @@ -114,7 +114,7 @@ CO_OP_TRANSLATOR_METADATA: > > 例如,如果您用英语训练 LUIS,但希望使用法语作为用户语言,您可以使用 Bing Translate 将诸如 "set a 2 minute and 27 second timer" 的句子从英语翻译成法语,然后使用 **Listen translation** 按钮将翻译语音播放到您的麦克风中。 > - > ![Bing Translate 的听翻译按钮](../../../../../translated_images/zh/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.png) + > ![Bing Translate 的听翻译按钮](../../../../../translated_images/zh-CN/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.png) 1. 在 `SPEECH_LOCATION` 下添加翻译器 API 密钥和位置: diff --git a/translations/zh/README.md b/translations/zh/README.md index 81c4790e0..c20ae762b 100644 --- a/translations/zh/README.md +++ b/translations/zh/README.md @@ -57,7 +57,7 @@ CO_OP_TRANSLATOR_METADATA: 项目涵盖食品从农场到餐桌的全过程,包括农业、物流、制造、零售及消费者——这些都是物联网设备常见的行业领域。 -![课程路线图,展示了涵盖入门、农业、运输、加工、零售和烹饪的24节课](../../translated_images/zh/Roadmap.bb1dec285dda0eda.webp) +![课程路线图,展示了涵盖入门、农业、运输、加工、零售和烹饪的24节课](../../translated_images/zh-CN/Roadmap.bb1dec285dda0eda.webp) > 绘图由 [Nitya Narasimhan](https://github.com/nitya) 制作。点击图片查看大图。 diff --git a/translations/zh/hardware.md b/translations/zh/hardware.md index ef118422c..e3501f3be 100644 --- a/translations/zh/hardware.md +++ b/translations/zh/hardware.md @@ -21,7 +21,7 @@ IoT中的**T**代表**Things**,指的是与周围环境交互的设备。每 ## 购买套件 -![Seeed Studios的标志](../../translated_images/zh/seeed-logo.74732b6b482b6e8e.webp) +![Seeed Studios的标志](../../translated_images/zh-CN/seeed-logo.74732b6b482b6e8e.webp) Seeed Studios非常贴心地将所有硬件整理成易于购买的套件: @@ -29,13 +29,13 @@ Seeed Studios非常贴心地将所有硬件整理成易于购买的套件: **[适用于初学者的IoT套件 - Seeed和Microsoft合作的Wio Terminal入门套件](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Wio-Terminal-Starter-Kit-p-5006.html)** -[![Wio Terminal硬件套件](../../translated_images/zh/wio-hardware-kit.4c70c48b85e4283a.webp)](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Wio-Terminal-Starter-Kit-p-5006.html) +[![Wio Terminal硬件套件](../../translated_images/zh-CN/wio-hardware-kit.4c70c48b85e4283a.webp)](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Wio-Terminal-Starter-Kit-p-5006.html) ### Raspberry Pi **[适用于初学者的IoT套件 - Seeed和Microsoft合作的Raspberry Pi 4入门套件](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Raspberry-Pi-Starter-Kit-p-5004.html)** -[![Raspberry Pi硬件套件](../../translated_images/zh/pi-hardware-kit.26dbadaedb7dd44c73b0131d5d68ea29472ed0a9744f90d5866c6d82f2d16380.png)](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Raspberry-Pi-Starter-Kit-p-5004.html) +[![Raspberry Pi硬件套件](../../translated_images/zh-CN/pi-hardware-kit.26dbadaedb7dd44c73b0131d5d68ea29472ed0a9744f90d5866c6d82f2d16380.png)](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Raspberry-Pi-Starter-Kit-p-5004.html) ## Arduino