Quando você está sentado em sua cadeira confortável em seu escritório moderno e legal, qualquer coisa que o distraia da sua rotina favorita é realmente irritante. Alguns podem chamar isso de indolência, mas, na verdade, está relacionado à otimização dos fluxos de trabalho. Nossos computadores e smartphones nos oferecem muitas oportunidades de fazer muito sem sair do nosso lugar. O software se preocupa com o nosso controle sobre o mundo físico, basta clicar e tocar. De fato, a digitalização avança: o que as pessoas tiveram que fazer com seus músculos durante séculos no passado, poderia ser feito com um comando de voz ou uma mensagem de texto hoje, graças a vários aparelhos controlados remotamente. E a IoT desempenha um papel crucial em tudo isso por um motivo.
Artigo original -
Smart Lock: Por que a preguiça é um impulsionador do progresso da IoTVamos ajudar as fechaduras a evoluir
Tome uma ação tão mundana como abrir uma porta. Nada radicalmente novo foi inventado com um projeto básico de portas ao longo de milênios. Nem formas diferentes nem materiais aplicados podem alterar a função principal de qualquer porta - controlar todas as entradas e saídas. O que realmente está mudando no que diz respeito à funcionalidade das portas é o método de como consertar as portas abertas e fechadas. As pessoas inventaram as fechaduras de portas de vários projetos, começando de fechaduras primitivas e fechaduras eletrônicas de alta tecnologia com sistemas de reconhecimento de rosto. A complexidade de cada projeto contemporâneo de uma fechadura de porta depende de um procedimento específico de entrada em uma sala: um cofre de banco deve ser mais difícil de acessar do que o campus de uma faculdade.
Uma ideia lógica para criar uma
solução simples de IoT para uma trava de porta de escritório é lembrar a
empresa de desenvolvimento de IoT mais cedo ou mais tarde. Quando o número de funcionários conta em dezenas, um leitor de cartão comum na fechadura da porta pode pregar peças em alguns desenvolvedores esquecidos que costumavam deixar seus cartões-chave em casa de vez em quando. Como seus colegas estão cansados de interromper seu trabalho por apenas ajudar a abrir uma porta do escritório, a tarefa de criar uma solução relevante de IoT se transforma em uma verdadeira motivação. No entanto, as pessoas criativas sempre podem explorar qualquer situação para se divertir e revelar sua criatividade ao mesmo tempo. Portanto, um procedimento de desenvolvimento bastante comum de criação de um aplicativo de bloqueio inteligente foi transformado pelo Indeema em um desafio engraçado a ser resolvido por meio de outro Hackathon.
Todos são bem vindos
Uma das maiores vantagens das soluções de IoT, quando representadas como tarefas para Hackathons, é a diversidade de especialistas que podem estar envolvidos em um desenvolvimento colaborativo. Em contraste com muitos outros desafios puramente de software, a IoT sempre exige especificações de hardware. No ambiente da IoT, os componentes de hardware muitas vezes podem definir o tom para todo o projeto. É por isso que o Smart Lock Hackathon dificilmente poderia prescindir dos engenheiros de hardware. E as especificações de hardware de várias empresas amigas foram convidadas pela Indeema - quanto mais, melhor. E eles chegaram.
Obviamente, APIs, back-end, um site e um software específico que poderia servir ao hardware selecionado eram responsáveis pelos programadores que constituíam a maioria no Hackathon. Além disso, os designers foram convidados a criar uma interface atraente e fácil de usar. Qualquer solução de IoT não pode evitar testes, é por isso que os testadores e as especificações de controle de qualidade participaram do processo. Além disso, outros membros da equipe, como gerentes de vendas, profissionais de marketing e até mesmo contadores, participaram do evento para reforçar o brainstorming, porque a geração de novas idéias pertence à imaginação mais natural do que a uma proficiência específica. A propósito, Hackathon é uma classe especial dos encontros dos desenvolvedores, onde todos podem experimentar coisas novas e oferecer algo diferente, sem levar em consideração nenhuma experiência específica. Em outras palavras, os Hackathons foram inventados para aumentar a criatividade, quaisquer que sejam as formas.

Por que hackathon?
A combinação explosiva de café, doces, “Red Bull” e a verdadeira motivação do concurso durante toda a sessão sem interrupção de 24 horas fazem de qualquer Hackathon um evento extraordinário para os desenvolvedores cuja rotina deve ser periodicamente interrompida de uma maneira boa. Fortes emoções positivas, juntamente com uma atmosfera extremamente informal, ajudam as pessoas a resolver muitos problemas de um ângulo diferente. Além disso, os Hackathons podem eliminar a distância entre juniores e seniores, gerentes de alto escalão e funcionários de nível inferior, fazendo com que toda a equipe trabalhe em uma tarefa conjunta sem subordinação comum. Algo remotamente semelhante era praticado nos tempos antigos, quando os nobres organizavam festas especiais para seus empregados uma vez por ano. Nesses eventos, os servos se tornaram iguais a seus senhores que os chamavam por nomes sem título.
Escusado será dizer que a emancipação muito psicológica que ocorre em Hackathons pode revelar algumas capacidades criativas que permanecem ocultas quando os fluxos de trabalho mundanos são executados. Nesse caso, alguns podem perguntar, por que não organizar Hackathons o mais rápido possível? O argumento contra isso está na psicologia humana: estamos nos acostumando a qualquer coisa praticada regularmente. Tanto um efeito estimulante quanto uma nova experiência podem ser rapidamente compensados pela recorrência. É por isso que desfrutamos de férias que acontecem apenas algumas vezes por ano.
Condições iniciais e hardware
Uma fechadura eletromagnética comum é usada como uma solução padrão em muitos edifícios de escritórios. Ele normalmente está fechado e, para abri-lo, você deve usar um cartão RFID do lado externo (o próprio cartão-chave que geralmente é deixado pelos desenvolvedores em casa) ou um botão do lado interno. Um relé simples pode ser conectado ao botão para abrir a trava por um tempo. O relé, por sua vez, deve ser controlado por um microcontrolador (ou um micro computador) que envia sinais relevantes. O Raspberry Pi foi escolhido como o microcontrolador que deve controlar o relé após a verificação de solicitações de um aplicativo cliente. A entidade principal desse algoritmo funcional é um aplicativo que trabalha com os sistemas operacionais iOS e Android. Portanto, todo o projeto do smart lock implica uma solução complexa de IoT de software de hardware que integra várias tecnologias, como back-end da web, clientes para iOS e Android, parte incorporada no Linux, bem como várias estruturas e bibliotecas específicas do Raspberry Pi.
Como o aplicativo funciona

Todo o sistema consiste em 3 aplicativos desenvolvidos sob medida:
- cliente iOS
- Cliente Android
- Servidor
e um sistema de autenticação de terceiros - Redmine.
Para não sobrecarregar o aplicativo com funções redundantes, apenas três telas foram desenvolvidas para sua interface com o usuário: a tela principal, a tela de login e as configurações. O abridor de porta remoto baseado em smartphone deve ser simples, certo? O aplicativo é uma solução servidor-cliente que utiliza a autenticação de terceiros por meio das credenciais Redmine da empresa, como segurança nos mais importantes. Após o login, uma chave de API individual de um usuário do Redmine pode ser gerada para envio para um servidor. O servidor verifica uma chave de API específica para descobrir se pode acessar a empresa Redmine ou não permitindo, portanto, abrir a fechadura da porta ou não. O aplicativo do cliente para iOS, por exemplo, é um aplicativo simples escrito em Swift, em que o 3D Touch está envolvido para facilitar o acesso. O recurso que impede a abertura ocasional de uma porta quando um usuário está longe do escritório fornece uma tabela pop-up adicional na qual o usuário pode confirmar a intenção de abrir uma porta. A versão Android do aplicativo não difere da versão iOS no que diz respeito a uma funcionalidade geral. Portanto, a solução final de IoT oferece aos usuários a capacidade de entrar em um escritório com apenas alguns toques em seus smartphones.
Desafios e nuances do desenvolvimento
O Python foi escolhido como uma linguagem de programação de uma parte do servidor do aplicativo. A escolha foi motivada por várias considerações relacionadas a um período bastante apertado de 24 horas do Hackathon e ao processador ARM da plataforma de destino incorporada. O último é um pouco inferior aos processadores x86 em termos de compilação e implantação. É por isso que o Python, como uma linguagem de programação de alto nível interpretada, que permite editar o código tanto na plataforma de destino quanto na plataforma de host, foi aplicado para executar o aplicativo imediatamente para teste. Outro motivo para usar o Python foi sua biblioteca padrão, que poderia ser facilmente estendida com módulos escritos em C para acessar vários recursos do sistema operacional, juntamente com um serviço de sistema de chamada. Além disso, um aplicativo Python é executado como um serviço Linux quando o sistema operacional fornece vários recursos, como executar um aplicativo na inicialização, reiniciar quando um aplicativo falha, executar um aplicativo como um processo em segundo plano etc. Portanto, as vantagens do Python forneceram a implantação do aplicativo em uma plataforma de destino sem uma compilação preliminar de um código fonte nas instruções da máquina.
Aqui está um esquema principal para o nosso projeto.

Além disso, a microestrutura da Web Flask foi aplicada para implantar o aplicativo Smart Lock, uma vez que a estrutura possui dependências mínimas, além de requisitos minimizados das bibliotecas de terceiros para a execução de aplicativos de servidor.
Em termos de alguns meios específicos de programação usados no projeto, a biblioteca RPi.GPIO foi aplicada para fornecer controle sobre as saídas de pinos na placa de destino Raspberry Pi 3. A biblioteca fornece uma maneira direta de manipular pinos físicos na placa em apenas algumas linhas de código.
De volta à preguiça
Apesar de inúmeros preconceitos, a preguiça humana “natural” nem sempre é tóxica quando se trata de um progresso tecnológico. O aplicativo Smart Lock tem preguiça em seu fundo? É questionável, já que apenas o Hackathon dinâmico gerou uma solução de IoT tão viável. No entanto, o aplicativo Smart Lock, como resultado direto dessa sessão de desenvolvimento que dura a noite toda, pode levar a períodos ininterruptos mais longos, quando os desenvolvedores da Indeema não precisam mais sair de suas cadeiras para deixar seus colegas esquecidos entrarem. Além disso, existem muitos outros tipos de atividade física além de abrir uma porta do escritório. Uma coisa é certa: a eficiência de trabalho dos desenvolvedores inevitavelmente aumentará. Portanto, as soluções Hackathons e IoT de bloqueio inteligente são altamente recomendadas. E, é claro, a Indeema sempre fica feliz em compartilhar o
código do aplicativo com todos os profissionais de IoT interessados (GitHub) .