A questão do que incluir no currículo quando você começa a criar um curso é completamente não trivial. Especialmente se este for um curso de IoT. Hoje, queremos compartilhar nossa experiência, como desenvolvemos o programa de treinamento para
a Samsung IoT Academy , quais objetivos buscamos e o que fizemos.
Nosso principal objetivo era ajudar as universidades a levantar o tópico da Internet das coisas e nas áreas em que é difícil para as universidades fazerem sozinhas. De fato, os problemas existentes no campo da Internet das coisas, começando com terminologia pouco clara, falta de padrões comuns e um "zoológico" de equipamentos, terminando com a ausência desse tópico nos currículos das universidades russas, tornaram-se a base para a formulação de requisitos:
- O conteúdo do programa deve atender às necessidades do mercado moderno: o estudo de casos reais da indústria da Internet das Coisas, padrões aceitos, equipamentos industriais, trabalhos de design etc.
- O programa deve ter um limite de entrada suficiente para uma ampla variedade de estudantes de TI de especialidades técnicas de universidades técnicas, ou seja, ser um "programa educacional" na Internet das coisas.
- O programa deve levar à criação de laboratórios nas universidades da IoT, atuando como um funil para a seleção de estudantes e professores que se encontram em uma enorme pilha de tecnologias da IoT.
E é isso que conseguimos.

Para quem é este curso?
Nosso foco é um aluno que possua as seguintes habilidades na entrada:
- Práticas básicas de engenharia de software: estilo de programação, controle de versão, experiência em autodesenvolvimento de projetos educacionais ou pessoais.
- Proficiência em linguagem de programação de alto nível (Python, C ++, Java).
- Conhecimento dos conceitos básicos de programação na Web, a linguagem JavaScript.
- Capacidade de trabalhar no console do Linux.
Como você pode ver, não há nada super complicado, e esperamos que no 3-4º curso o aluno os tenha dominado com sucesso.
E, é claro, a principal coisa - ele deve ter interesse no assunto da Internet das coisas.
Estojos
Eles decidiram organizar o material na forma de cinco estudos de caso. Cada um é tirado da vida real. Muitos casos nasceram graças a Oleg Artamonov, que sugeriu histórias reais com base em sua experiência profissional única.
Uma característica importante de nossos casos: oferecemos declarações de problemas próximas de como um cliente real poderia entregá-las. De tarefas, há uma transição para tarefas, por exemplo:
- Para estudar a variedade de sensores existentes, selecione a partir deles o parâmetro preço-qualidade adequado ao parâmetro. Preste atenção à diferença entre o barato e o novo, caro - do antigo e do chinês - do sensor Bosch.
- Examine as soluções existentes, observe os momentos de sucesso e os que não obtiveram êxito. Sugerimos onde procurar.
- Escolha a tecnologia de comunicação apropriada: quantos roteadores você precisará instalar se escolhermos o WiFi? Quantos módulos você precisará comprar se escolhermos o ZigBee? Que cobertura temos com LoRa? E assim por diante
- Calcule a relação custo-benefício da solução. Estime quanto custará em diferentes configurações. Onde comprar tudo isso? Qual é o tempo de entrega?
Propõe-se estudar essas questões em preparação para a lição. Durante a discussão geral em sala de aula moderada pelo professor, o aluno passa a entender as vantagens e desvantagens de várias soluções.
Vamos analisar brevemente os casos:
Caso 1: Fazenda e LoRa
Para o primeiro caso, eles fizeram o seguinte gráfico: monitoramento de temperatura e umidade em um armazém de produtos farmacêuticos. Esta é uma tarefa vital: a insulina não pode ser congelada e as ervas medicinais não podem ser úmidas.
Desde o início, decidimos dar aos alunos a oportunidade de "sentir" algo novo por eles mesmos. E este novo, oferecido no primeiro caso, é a tecnologia sem fio LoRa. Para quem ouviu apenas o BlueTooth e o WiFi, parece ficção científica:
- A distância de transmissão de dados é de vários quilômetros.
- Trabalhe com uma bateria - vários anos.
- As dimensões do transceptor são em miniatura.
- Sem taxa mensal para o operador: você coloca sua estação base e pode começar a trabalhar.
Mas milagres não acontecem e, no caso da LoRa, obtemos efeitos colaterais que os alunos sentem assim que começam a trabalhar com o equipamento:
- Taxa de transferência de dados muito baixa: você ficará entediado enquanto o pacote chegar.
- Quantidades muito pequenas de dados: ler bytes.
Dos componentes, os alunos recebem um módulo de microcontrolador, um transceptor LoRa e um sensor integrado de umidade, temperatura e pressão. O firmware existente do módulo baseado no sistema operacional RIOT OS em tempo real é suficientemente desenvolvido para se desvencilhar completamente do que está acontecendo no nível do microcontrolador e permitir que o aluno trabalhe imediatamente com os dados em alto nível - o nível de escrita de um aplicativo.
Componentes para o primeiro gabinete: microcontrolador + transceptor, adaptador, sensorCaso 2: Bloqueio eletrônico e MQTT
A tarefa educacional aqui é o sistema de controle e gerenciamento de acesso. Simplificando, criamos um bloqueio que, ao ler uma chave eletrônica, envia dados para o servidor.

No âmbito do Case, é realizado um workshop com o protocolo MQTT amplamente utilizado na Internet, através de dados sensoriais, ações de controle e todas as informações que conectam os nós do sistema.
Quais tarefas o MQTT ajuda a resolver:
- Separe adequadamente os dados dos aplicativos: para que qualquer programador possa reutilizar seu dispositivo com o programa
- Estabelecer comunicação em uma linguagem comum entre dispositivos heterogêneos de diferentes fabricantes.
Infelizmente, MQTTs universitários geralmente não são estudados. E é interessante porque é construído sobre o modelo de "Publicador / Assinante" e apresenta o paradigma orientado a eventos, que os alunos só podem ver na programação da GUI.
Um pequeno bônus: nessa tarefa, você pode atrair os alunos que “nadam” no tópico de circuitos. Afinal, aqui eles precisarão ligar o relé e controlar a lâmpada RGB através de um transistor.
Um microcontrolador com dois módulos: transistores para controlar uma fita RGB e uma unidade de botãoCaso 3. Iluminação Adaptativa e 6LoWPAN
Todo mundo sabe a tarefa de economizar eletricidade: à tarde, quando o sol está alto, a luz diminui e, quando escurece à noite, torna a luz mais brilhante.
Como você deve ter adivinhado, tudo se resume à tarefa de regulação automática. Aqui está um exemplo de gráfico: no eixo Y - iluminação em lux, no eixo X - instantes de tempo. O gráfico mostra o momento em que a luz ambiente mudou e o dispositivo começou a se ajustar ao novo valor:

Aqui está outro exercício para quem deseja apertar os circuitos. Os alunos aprenderão o que é PWM (Modulação por Largura de Pulso) e como controlar o brilho de uma lâmpada LED.
No processo, quem não sabe como - dominar o osciloscópioPropomos conectar cada dispositivo a uma rede de lâmpadas e sensores usando o protocolo 6LoWPAN - este é outro protocolo novo que, diferentemente do LoRa, funciona rapidamente, possui um pequeno alcance de comunicação, mas pode criar uma rede em malha. Este protocolo é muito adequado para redes Smart Home, onde a velocidade de resposta é crítica e a distância é sem princípios.
Finalmente, neste caso, outro conceito é introduzido - um microcomputador como o hub central do sistema de Internet das Coisas. Ninguém instalará um computador de mesa onde seja mais compacto e mais barato instalar um microcomputador com Linux. No nosso caso, este é um computador Artik fabricado pela Samsung. Você pode conectar o módulo de comunicação dos protocolos LoRa ou 6LoWPAN discutidos e usá-lo como um servidor do seu sistema. Obviamente, os alunos precisarão de habilidades no console do Linux.
Nós bombeamos o computador Samsung Artik 10 - fornecemos um módulo LoRa (na foto em branco)Caso 4: Lixeira e nuvem
O enredo de Case é uma economia urbana inteligente. Imagine um sistema que otimiza as rotas dos caminhões de lixo para não levá-los em vão. Aqui fazemos apenas parte deste sistema.
O caso se resume a rastrear os seguintes parâmetros:
- Lixeira cheia - com um telêmetro ultrassônico
- A presença de fogo - usando um sensor de temperatura
- Localização - usando um sensor GPS.
O mapa de deslocamento do dispositivo simulado. Na realidade, quase ninguém pode se mover por Moscou a essa velocidade.Nesse caso, estamos falando da plataforma Internet das Coisas e do serviço de nuvem como um de seus componentes. A plataforma IoT acelera o teste e a implementação de soluções.
Por que as tecnologias em nuvem são importantes? Quando o número de dispositivos na rede começa a crescer exponencialmente, o custo de manutenção de seus servidores força as empresas a usar serviços em nuvem. As capacidades do servidor em nuvem possibilitam o uso bem-sucedido de métodos de mineração de dados. Portanto, nossos planos são adicionar aos Casos tarefas complicadas relacionadas ao uso de métodos de aprendizado de máquina.
Oferecemos aos alunos que trabalham com a plataforma Samsung Artik Cloud. Já existe
um artigo sobre isso, portanto não o repetiremos.
Caso 5: Desenvolvimento de estufas e equipes
E, finalmente, o último caso.
A parcela, considerada no caso, é uma estufa e existem subtarefas suficientes: rega automática, ciclos diários de iluminação para plantas, interface com o usuário, registro, plotagem.
Tela da GUI do aluno da escola de verão 2017As ferramentas básicas já foram dominadas, focamos no desenvolvimento da equipe. Organizamos um pequeno jogo no qual o professor desempenha o papel de cliente e os alunos desempenham o papel da equipe de uma pequena empresa de desenvolvimento. O "Cliente" diz que deseja o sistema e os alunos devem elaborar os termos de referência com competência, destacar os elementos mais importantes e urgentes da funcionalidade a ser implementada, distribuir tarefas entre si e selecionar um gerente de projeto dentro do grupo.
Queríamos demonstrar aos alunos as dificuldades de comunicação entre o desenvolvedor e o cliente. Mergulhe em uma situação em que o cliente não pode explicar o que deseja e o desenvolvedor precisa obter os requisitos para o projeto.
Como está indo o curso
No outono de 2017, lançamos nosso currículo em duas universidades - MIPT e MIREA. Na primeira metade do ano, os alunos concluíram os casos e agora começaram o trabalho individual em seus projetos.
Todos os materiais são fornecidos em um sistema de treinamento eletrônico. Até criamos pastas de trabalho em papel para se preparar para as aulas.

Mais de 100 alunos se inscreveram no curso de treinamento. Estatísticas sobre os resultados do primeiro semestre - na figura. Avaliamos esse resultado como bom: o curso era opcional, mas os alunos frequentavam, apesar da carga horária do currículo principal.

Curiosamente, entre os que abandonaram o curso, as respostas foram diametralmente opostas: disseram que era muito difícil ou muito fácil!
Parece que adivinhamos o nível médio de alunos. Ainda não descobrimos como diminuir adequadamente o nível de entrada no programa, mas para os caras fortes, decidimos oferecer isso.
Mais perto do hardware
Inicialmente, não incluímos a programação de baixo nível dos microcontroladores STM32 do treinamento definido no curso, considerando que os alunos não o dominariam no tempo previsto. Nós estávamos errados! O tópico despertou um forte interesse.
Como resultado, no meio do ano, o Instituto de TI MIREA organizou um curso adicional de Oleg Artamonov “Programação de microcontroladores modernos”. Oleg constrói seu curso de cima para baixo, ou seja, ele sugere estudar o tópico por meio da programação para o sistema operacional RIOT OS em tempo real. Em nossos recursos, você pode encontrar
notas e
vídeos de suas palestras.
E no MIPT, professores e alunos começaram a conduzir seu próprio curso sobre o mesmo tópico por conta própria. Além disso, nossos jovens professores do MIPT foram muito além do nível de abstração: antes de trabalhar diretamente com os registros. Aqui está o
grupo VKontakte e
palestras no YouTube.
Resumindo sua experiência, complementaremos nosso curso básico da IoT Academy para o próximo ano letivo. Afinal, não há nada melhor do que resolver o problema em um nível alto, depois em um nível baixo, e sentir-se livre no mundo das abstrações.
(Nulo, Lobur - Fundamentos de organização e arquitetura de computadores)O que vem a seguir?
Como vamos avaliar os resultados do programa? Obviamente, antes de tudo, de acordo com os projetos individuais finais dos graduados. Primeiro, os projetos serão protegidos no nível universitário e, em seguida, organizaremos um concurso interuniversitário.
E em setembro de 2018, lançaremos um curso atualizado em 10 universidades da Rússia:
- MIPT (Moscou)
- MIREA (Moscou)
- HSE (Moscou)
- SPbSU (São Petersburgo)
- NSTU (Novosibirsk)
- UrFU (Ecaterimburgo)
- KFU (Kazan)
- SUSU (Chelyabinsk)
- TUSUR (Tomsk)
- NEFU (Yakutsk)
É curioso que agora nosso curso, refletindo as especificidades de uma universidade em particular, esteja adquirindo características distintas. Por exemplo:
- TUSUR (Tomsk) escolheu a segurança da informação como a direção básica do laboratório da Internet das Coisas - estamos aguardando trabalhos científicos e aplicados interessantes nesta área mais importante da Internet!
- Na Universidade Estadual do Sul dos Urais (Chelyabinsk), foi decidido que o curso será oferecido como base para várias faculdades ao mesmo tempo - um total de mais de 500 estudantes (!)
- Na Universidade Federal de Ural (Ecaterimburgo), a interdisciplinaridade é de grande importância. A equipe de professores: matemático, engenheiro de circuito, programador, economista, engenheiro de rádio, especialista em segurança e especialista em visão de máquina!
A IoT Academy da Samsung tem um ano escolar intenso, mas muito interessante pela frente.