[![Licença do GitHub](https://img.shields.io/github/license/microsoft/IoT-For-Beginners.svg)](https://github.com/microsoft/IoT-For-Beginners/blob/master/LICENSE) [![Contribuidores do GitHub](https://img.shields.io/github/contributors/microsoft/IoT-For-Beginners.svg)](https://GitHub.com/microsoft/IoT-For-Beginners/graphs/contributors/) [![Problemas do GitHub](https://img.shields.io/github/issues/microsoft/IoT-For-Beginners.svg)](https://GitHub.com/microsoft/IoT-For-Beginners/issues/) [![Pull Requests do GitHub](https://img.shields.io/github/issues-pr/microsoft/IoT-For-Beginners.svg)](https://GitHub.com/microsoft/IoT-For-Beginners/pulls/) [![PRs Bem-vindos](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com) [![Observadores do GitHub](https://img.shields.io/github/watchers/microsoft/IoT-For-Beginners.svg?style=social&label=Watch)](https://GitHub.com/microsoft/IoT-For-Beginners/watchers/) [![Forks do GitHub](https://img.shields.io/github/forks/microsoft/IoT-For-Beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/IoT-For-Beginners/network/) [![Estrelas do GitHub](https://img.shields.io/github/stars/microsoft/IoT-For-Beginners.svg?style=social&label=Star)](https://GitHub.com/microsoft/IoT-For-Beginners/stargazers/) ### Participe da Comunidade Azure AI Foundry [![Microsoft Azure AI Foundry Discord](https://dcbadge.limes.pink/api/server/ByRwuEEgH4)](https://discord.com/invite/ByRwuEEgH4) Siga estas etapas para começar a usar esses recursos: 1. **Faça um Fork do Repositório**: Clique em [![Forks do 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. **Clone o Repositório**: `git clone https://github.com/microsoft/IoT-For-Beginners.git` 3. [**Participe do Azure AI Foundry Discord e conheça especialistas e outros desenvolvedores**](https://discord.com/invite/ByRwuEEgH4) ### 🌐 Suporte Multilíngue #### Suportado via GitHub Action (Automatizado e Sempre Atualizado) [Árabe](../ar/README.md) | [Bengali](../bn/README.md) | [Búlgaro](../bg/README.md) | [Birmanês (Myanmar)](../my/README.md) | [Chinês (Simplificado)](../zh/README.md) | [Chinês (Tradicional, Hong Kong)](../hk/README.md) | [Chinês (Tradicional, Macau)](../mo/README.md) | [Chinês (Tradicional, Taiwan)](../tw/README.md) | [Croata](../hr/README.md) | [Tcheco](../cs/README.md) | [Dinamarquês](../da/README.md) | [Holandês](../nl/README.md) | [Finlandês](../fi/README.md) | [Francês](../fr/README.md) | [Alemão](../de/README.md) | [Grego](../el/README.md) | [Hebraico](../he/README.md) | [Hindi](../hi/README.md) | [Húngaro](../hu/README.md) | [Indonésio](../id/README.md) | [Italiano](../it/README.md) | [Japonês](../ja/README.md) | [Coreano](../ko/README.md) | [Malaio](../ms/README.md) | [Marata](../mr/README.md) | [Nepalês](../ne/README.md) | [Norueguês](../no/README.md) | [Persa (Farsi)](../fa/README.md) | [Polonês](../pl/README.md) | [Português (Brasil)](./README.md) | [Português (Portugal)](../pt/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romeno](../ro/README.md) | [Russo](../ru/README.md) | [Sérvio (Cirílico)](../sr/README.md) | [Eslovaco](../sk/README.md) | [Esloveno](../sl/README.md) | [Espanhol](../es/README.md) | [Suaíli](../sw/README.md) | [Sueco](../sv/README.md) | [Tagalo (Filipino)](../tl/README.md) | [Tailandês](../th/README.md) | [Turco](../tr/README.md) | [Ucraniano](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamita](../vi/README.md) # IoT para Iniciantes - Um Currículo Os Azure Cloud Advocates da Microsoft têm o prazer de oferecer um currículo de 12 semanas e 24 aulas sobre os fundamentos de IoT. Cada aula inclui questionários antes e depois da aula, instruções escritas para completar a lição, uma solução, uma tarefa e muito mais. Nossa abordagem baseada em projetos permite que você aprenda enquanto constrói, uma maneira comprovada de fazer com que novas habilidades "grudem". Os projetos cobrem a jornada dos alimentos do campo à mesa. Isso inclui agricultura, logística, manufatura, varejo e consumidor - todas áreas populares para dispositivos IoT. ![Um mapa do curso mostrando 24 aulas cobrindo introdução, agricultura, transporte, processamento, varejo e culinária](../../translated_images/Roadmap.bb1dec285dda0eda691788b95ddfc96d31d76bb7649e3f04a135e4ad395f323e.br.jpg) > Sketchnote por [Nitya Narasimhan](https://github.com/nitya). Clique na imagem para uma versão maior. **Agradecimentos especiais aos nossos autores [Jen Fox](https://github.com/jenfoxbot), [Jen Looper](https://github.com/jlooper), [Jim Bennett](https://github.com/jimbobbennett), e à nossa artista de sketchnote [Nitya Narasimhan](https://github.com/nitya).** **Agradecemos também à nossa equipe de [Microsoft Learn Student Ambassadors](https://studentambassadors.microsoft.com?WT.mc_id=academic-17441-jabenn) que revisaram e traduziram este currículo - [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), e [Zina Kamel](https://www.linkedin.com/in/zina-kamel/).** Conheça a equipe! [![Vídeo promocional](../../images/IOT.gif)](https://youtu.be/-wippUJRi5k) **Gif por** [Mohit Jaisal](https://linkedin.com/in/mohitjaisal) > 🎥 Clique na imagem acima para assistir a um vídeo sobre o projeto! > **Professores**, incluímos [algumas sugestões](for-teachers.md) sobre como usar este currículo. Se você quiser criar suas próprias aulas, também incluímos um [modelo de aula](lesson-template/README.md). > **[Estudantes](https://aka.ms/student-page)**, para usar este currículo por conta própria, faça um fork do repositório inteiro e complete os exercícios por conta própria, começando com um questionário pré-aula, depois lendo a aula e completando o restante das atividades. Tente criar os projetos compreendendo as lições em vez de copiar o código da solução; no entanto, esse código está disponível nas pastas /solutions em cada lição baseada em projetos. Outra ideia seria formar um grupo de estudo com amigos e passar pelo conteúdo juntos. Para estudos adicionais, recomendamos [Microsoft Learn](https://docs.microsoft.com/users/jimbobbennett/collections/ke2ehd351jopwr?WT.mc_id=academic-17441-jabenn). Para uma visão geral em vídeo deste curso, confira este vídeo: [![Vídeo promocional](https://img.youtube.com/vi/bccEMm8gRuc/0.jpg)](https://youtube.com/watch?v=bccEMm8gRuc "Vídeo promocional") > 🎥 Clique na imagem acima para assistir a um vídeo sobre o projeto! ## Pedagogia Escolhemos dois princípios pedagógicos ao construir este currículo: garantir que ele seja baseado em projetos e que inclua questionários frequentes. Ao final desta série, os estudantes terão construído um sistema de monitoramento e irrigação de plantas, um rastreador de veículos, uma configuração de fábrica inteligente para rastrear e verificar alimentos, e um temporizador de cozinha controlado por voz, além de terem aprendido os fundamentos da Internet das Coisas, incluindo como escrever código para dispositivos, conectar-se à nuvem, analisar telemetria e executar IA na borda. Ao alinhar o conteúdo com projetos, o processo se torna mais envolvente para os estudantes e a retenção dos conceitos é aumentada. Além disso, um questionário de baixa pressão antes da aula define a intenção do estudante para aprender um tópico, enquanto um segundo questionário após a aula garante uma maior retenção. Este currículo foi projetado para ser flexível e divertido, podendo ser realizado total ou parcialmente. Os projetos começam pequenos e se tornam progressivamente mais complexos ao longo do ciclo de 12 semanas. Cada projeto é baseado em hardware real disponível para estudantes e entusiastas. Cada projeto explora o domínio específico do projeto, fornecendo conhecimento de fundo relevante. Para ser um desenvolvedor bem-sucedido, é útil entender o domínio no qual você está resolvendo problemas. Fornecer esse conhecimento de fundo permite que os estudantes pensem sobre suas soluções de IoT e aprendizados no contexto do tipo de problema do mundo real que podem ser chamados a resolver como desenvolvedores de IoT. Os estudantes aprendem o "porquê" das soluções que estão construindo e ganham uma apreciação pelo usuário final. ## Hardware Temos duas opções de hardware IoT para usar nos projetos, dependendo da preferência pessoal, conhecimento ou preferências de linguagem de programação, objetivos de aprendizado e disponibilidade. Também fornecemos uma versão de "hardware virtual" para aqueles que não têm acesso ao hardware ou desejam aprender mais antes de decidir por uma compra. Você pode ler mais e encontrar uma "lista de compras" na [página de hardware](./hardware.md), incluindo links para comprar kits completos com nossos amigos da Seeed Studio. > 💁 Encontre nosso [Código de Conduta](CODE_OF_CONDUCT.md), [Contribuição](CONTRIBUTING.md) e diretrizes de [Tradução](TRANSLATIONS.md). Aguardamos seu feedback construtivo! ## Cada aula inclui: - sketchnote - vídeo suplementar opcional - questionário de aquecimento antes da aula - aula escrita - para aulas baseadas em projetos, guias passo a passo sobre como construir o projeto - verificações de conhecimento - um desafio - leitura suplementar - tarefa - [questionário pós-aula](https://ff-quizzes.netlify.app/en/) > **Uma observação sobre os questionários**: Todos os questionários estão contidos na pasta quiz-app, totalizando 48 questionários com três perguntas cada. Eles estão vinculados dentro das lições, mas o aplicativo de questionários pode ser executado localmente ou implantado no Azure; siga as instruções na pasta `quiz-app`. Eles estão sendo gradualmente localizados. ## Lições | | Nome do Projeto | Conceitos Ensinados | Objetivos de Aprendizagem | Aula Vinculada | | :---: | :---------------------------------------: | :-------------------------------------------------------------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------: | | 01 | [Introdução](./1-getting-started/README.md) | Introdução ao IoT | Aprenda os princípios básicos do IoT e os blocos fundamentais de soluções IoT, como sensores e serviços em nuvem, enquanto configura seu primeiro dispositivo IoT | [Introdução ao IoT](./1-getting-started/lessons/1-introduction-to-iot/README.md) | | 02 | [Introdução](./1-getting-started/README.md) | Um mergulho mais profundo no IoT | Aprenda mais sobre os componentes de um sistema IoT, bem como microcontroladores e computadores de placa única | [Um mergulho mais profundo no IoT](./1-getting-started/lessons/2-deeper-dive/README.md) | | 03 | [Introdução](./1-getting-started/README.md) | Interagir com o mundo físico usando sensores e atuadores | Aprenda sobre sensores para coletar dados do mundo físico e atuadores para enviar feedback, enquanto constrói uma luz noturna | [Interagir com o mundo físico usando sensores e atuadores](./1-getting-started/lessons/3-sensors-and-actuators/README.md) | | 04 | [Introdução](./1-getting-started/README.md) | Conecte seu dispositivo à Internet | Aprenda como conectar um dispositivo IoT à Internet para enviar e receber mensagens, conectando sua luz noturna a um broker MQTT | [Conecte seu dispositivo à Internet](./1-getting-started/lessons/4-connect-internet/README.md) | | 05 | [Fazenda](./2-farm/README.md) | Prever o crescimento das plantas | Aprenda como prever o crescimento das plantas usando dados de temperatura capturados por um dispositivo IoT | [Prever o crescimento das plantas](./2-farm/lessons/1-predict-plant-growth/README.md) | | 06 | [Fazenda](./2-farm/README.md) | Detectar umidade do solo | Aprenda como detectar a umidade do solo e calibrar um sensor de umidade do solo | [Detectar umidade do solo](./2-farm/lessons/2-detect-soil-moisture/README.md) | | 07 | [Fazenda](./2-farm/README.md) | Irrigação automatizada de plantas | Aprenda como automatizar e programar a irrigação usando um relé e MQTT | [Irrigação automatizada de plantas](./2-farm/lessons/3-automated-plant-watering/README.md) | | 08 | [Fazenda](./2-farm/README.md) | Migrar sua planta para a nuvem | Aprenda sobre a nuvem e serviços IoT hospedados na nuvem e como conectar sua planta a um desses serviços em vez de um broker MQTT público | [Migrar sua planta para a nuvem](./2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md) | | 09 | [Fazenda](./2-farm/README.md) | Migrar a lógica do aplicativo para a nuvem | Aprenda como escrever lógica de aplicativo na nuvem que responde a mensagens IoT | [Migrar a lógica do aplicativo para a nuvem](./2-farm/lessons/5-migrate-application-to-the-cloud/README.md) | | 10 | [Fazenda](./2-farm/README.md) | Manter sua planta segura | Aprenda sobre segurança no IoT e como manter sua planta segura com chaves e certificados | [Manter sua planta segura](./2-farm/lessons/6-keep-your-plant-secure/README.md) | | 11 | [Transporte](./3-transport/README.md) | Rastreamento de localização | Aprenda sobre rastreamento de localização GPS para dispositivos IoT | [Rastreamento de localização](./3-transport/lessons/1-location-tracking/README.md) | | 12 | [Transporte](./3-transport/README.md) | Armazenar dados de localização | Aprenda como armazenar dados IoT para serem visualizados ou analisados posteriormente | [Armazenar dados de localização](./3-transport/lessons/2-store-location-data/README.md) | | 13 | [Transporte](./3-transport/README.md) | Visualizar dados de localização | Aprenda sobre como visualizar dados de localização em um mapa e como os mapas representam o mundo 3D real em 2 dimensões | [Visualizar dados de localização](./3-transport/lessons/3-visualize-location-data/README.md) | | 14 | [Transporte](./3-transport/README.md) | Geofences | Aprenda sobre geofences e como eles podem ser usados para alertar quando veículos na cadeia de suprimentos estão próximos ao destino | [Geofences](./3-transport/lessons/4-geofences/README.md) | | 15 | [Manufatura](./4-manufacturing/README.md) | Treinar um detector de qualidade de frutas | Aprenda como treinar um classificador de imagens na nuvem para detectar a qualidade das frutas | [Treinar um detector de qualidade de frutas](./4-manufacturing/lessons/1-train-fruit-detector/README.md) | | 16 | [Manufatura](./4-manufacturing/README.md) | Verificar a qualidade das frutas com um dispositivo IoT | Aprenda como usar seu detector de qualidade de frutas em um dispositivo IoT | [Verificar a qualidade das frutas com um dispositivo IoT](./4-manufacturing/lessons/2-check-fruit-from-device/README.md) | | 17 | [Manufatura](./4-manufacturing/README.md) | Executar seu detector de frutas na borda | Aprenda como executar seu detector de frutas em um dispositivo IoT na borda | [Executar seu detector de frutas na borda](./4-manufacturing/lessons/3-run-fruit-detector-edge/README.md) | | 18 | [Manufatura](./4-manufacturing/README.md) | Acionar a detecção de qualidade de frutas a partir de um sensor | Aprenda como acionar a detecção de qualidade de frutas a partir de um sensor | [Acionar a detecção de qualidade de frutas a partir de um sensor](./4-manufacturing/lessons/4-trigger-fruit-detector/README.md) | | 19 | [Varejo](./5-retail/README.md) | Treinar um detector de estoque | Aprenda como usar detecção de objetos para treinar um detector de estoque para contar itens em uma loja | [Treinar um detector de estoque](./5-retail/lessons/1-train-stock-detector/README.md) | | 20 | [Varejo](./5-retail/README.md) | Verificar estoque com um dispositivo IoT | Aprenda como verificar o estoque com um dispositivo IoT usando um modelo de detecção de objetos | [Verificar estoque com um dispositivo IoT](./5-retail/lessons/2-check-stock-device/README.md) | | 21 | [Consumidor](./6-consumer/README.md) | Reconhecer fala com um dispositivo IoT | Aprenda como reconhecer fala de um dispositivo IoT para construir um temporizador inteligente | [Reconhecer fala com um dispositivo IoT](./6-consumer/lessons/1-speech-recognition/README.md) | | 22 | [Consumidor](./6-consumer/README.md) | Compreender linguagem | Aprenda como compreender frases faladas para um dispositivo IoT | [Compreender linguagem](./6-consumer/lessons/2-language-understanding/README.md) | | 23 | [Consumidor](./6-consumer/README.md) | Configurar um temporizador e fornecer feedback falado | Aprenda como configurar um temporizador em um dispositivo IoT e dar feedback falado sobre quando o temporizador é configurado e quando termina | [Configurar um temporizador e fornecer feedback falado](./6-consumer/lessons/3-spoken-feedback/README.md) | | 24 | [Consumidor](./6-consumer/README.md) | Suportar múltiplos idiomas | Aprenda como suportar múltiplos idiomas, tanto para serem falados quanto para as respostas do seu temporizador inteligente | [Suportar múltiplos idiomas](./6-consumer/lessons/4-multiple-language-support/README.md) | ## Acesso offline Você pode executar esta documentação offline usando [Docsify](https://docsify.js.org/#/). Faça um fork deste repositório, [instale o Docsify](https://docsify.js.org/#/quickstart) em sua máquina local e, na pasta raiz deste repositório, digite `docsify serve`. O site será servido na porta 3000 do seu localhost: `localhost:3000`. ## Quiz Agradecemos à comunidade por hospedar o quiz interativo que testa seu conhecimento sobre cada um dos capítulos. Você pode testar seu conhecimento [aqui](https://ff-quizzes.netlify.app/en/). ### PDF Você pode gerar um PDF deste conteúdo para acesso offline, se necessário. Para fazer isso, certifique-se de ter [npm instalado](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) e execute os seguintes comandos na pasta raiz deste repositório: ```sh npm i npm run convert ``` ### Slides Há apresentações de slides para algumas das lições na pasta [slides](../../slides). ## Outros Currículos Nossa equipe produz outros currículos! Confira: - [Agentes de IA para Iniciantes](https://aka.ms/ai-agents-beginners) - [MCP para Iniciantes](https://aka.ms/mcp-for-beginners) - [IA Generativa para Iniciantes](https://aka.ms/genai-beginners) - [IA Generativa para Iniciantes .NET](https://github.com/microsoft/Generative-AI-for-beginners-dotnet) - [IA Generativa com JavaScript](https://github.com/microsoft/generative-ai-with-javascript) - [IA Generativa com Java](https://github.com/microsoft/Generative-AI-for-beginners-java) - [IA para Iniciantes](https://aka.ms/ai-beginners) - [Ciência de Dados para Iniciantes](https://aka.ms/datascience-beginners) - [ML para Iniciantes](https://aka.ms/ml-beginners) - [Cibersegurança para Iniciantes](https://github.com/microsoft/Security-101) - [Desenvolvimento Web para Iniciantes](https://aka.ms/webdev-beginners) - [IoT para Iniciantes](https://aka.ms/iot-beginners) - [Desenvolvimento XR para Iniciantes](https://github.com/microsoft/xr-development-for-beginners) - [Dominando o GitHub Copilot para Uso Agente](https://github.com/microsoft/Mastering-GitHub-Copilot-for-Paired-Programming) - [Dominando o GitHub Copilot para Desenvolvedores C#/.NET](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers) - [Escolha Sua Própria Aventura com Copilot](https://github.com/microsoft/CopilotAdventures) ## Atribuições de imagens Você pode encontrar todas as atribuições para as imagens usadas neste currículo, quando necessário, na pasta [Attributions](./attributions.md). --- **Aviso Legal**: Este documento foi traduzido utilizando o serviço de tradução por IA [Co-op Translator](https://github.com/Azure/co-op-translator). Embora nos esforcemos para garantir a precisão, esteja ciente de que traduções automáticas podem conter erros ou imprecisões. O documento original em seu idioma nativo deve ser considerado a fonte oficial. Para informações críticas, recomenda-se a tradução profissional realizada por humanos. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações equivocadas decorrentes do uso desta tradução.