Header Ads

Como programar seus próprios botões do painel com AWS

Embora os botões do Dash possam ter sido descontinuados, seu design continua com os botões IoT da AWS. Em vez de pedir junk food, eles podem ser configurados para acionar funções do AWS Lambda, permitindo que você crie seu próprio script de funcionalidade com NodeJS e Python.

O que o botão IoT Enterprise faz?

O conceito é muito simples. Você pressiona o botão e ele aciona uma função Lambda, que é um aplicativo sem servidor executado na nuvem Amazon Web Services e executa qualquer comando ou script que você quiser. Por exemplo, você pode fazer com que este botão se conecte à API LIFX para controlar suas luzes inteligentes ou qualquer outro dispositivo inteligente que tenha uma API. Você pode até mesmo fazer com que eles se conectem à sua conta da Amazon para solicitar produtos para você, completando o círculo e criando seu próprio botão de traço. As possibilidades realmente dependem de você; contanto que você possa programar, você pode fazer com que este botão faça praticamente qualquer coisa.

O que é ainda melhor é que o botão tem três modos — clique único, clique duplo e toque longo — que é passado para a função Lambda e pode acionar diferentes ações com base no pressione tipo. Isso basicamente transforma este botão em três com os modos alternativos.

Eles são um pouco mais caros do que os botões Dash de $ 5, custando $ 26 cada. Isso provavelmente se deve ao fato de que o custo não é subsidiado por você alimentar o dinheiro da Amazon apenas pressionando-o. Mas, por quão úteis essas coisas são, não é um preço ruim, mesmo em comparação com botões similares de casa inteligente com menos recursos. Você pode pegá-los (você adivinha) na Amazon.

Eles são ótimos e, na verdade, são surpreendentemente simples de configurar e fazer funcionar. O principal problema, porém, é a latência — porque essas coisas são projetadas para funcionar com uma única bateria para milhares de prensas, elas permanecem no modo de baixa energia até que você as pressione. Por causa disso, leva cerca de quatro segundos para o botão ligar, conectar-se ao Wi-Fi e acionar a função Lambda. Dependendo do seu caso de uso, isso pode ser um obstáculo, mas tenho usado um para controlar minhas luzes inteligentes em vez de um hub de automação e não achei isso muito chato.

A AWS cria alguns tipos desses botões IoT, mas o botão IoT Enterprise é a versão de atualização do antigo “ Botão IoT ”. Mais notavelmente, é muito mais fácil configurar e gerenciar implantações por meio do AWS &’ s “ IoT 1-Click ” serviço sem ter que instalar ou gerenciar certificados. Custando US $ 20 e sendo pequenos o suficiente para caber no bolso, esses botões são ótimos.

A AWS também cria uma variante LTE deste botão, em conjunto com a AT & T. Devido à natureza da configuração de um dispositivo IoT baseado em Wi-Fi como este, não é muito viável fornecer os botões IoT Enterprise padrão para clientes remotos sem configurar os botões no local em sua rede. É um pouco mais caro, de US $ 40, e um pouco maior, mas funcionará em qualquer lugar onde houver sinal de celular e é supostamente muito mais rápido do que a variante baseada em Wi-Fi. A configuração para eles deve ser basicamente a mesma, já que usam o mesmo back-end sob o capô.

De qualquer maneira, você não pode realmente prosseguir com a configuração antes de fazer o pedido, então você provavelmente desejará marcar esta página para mais tarde e voltar em alguns dias assim que ela chegar.

Configurando um botão IoT

Quando o botão chegar, baixe o aplicativo de configuração do botão IoT para iOS ou Android. Isso funciona como um scanner que vinculará os botões à sua conta. Isso requer que você esteja na mesma rede Wi-Fi que eles, o que torna a configuração muito simples para os botões IoT Enterprise.

Abra o aplicativo, faça login com sua conta AWS ou credenciais de usuário IAM e selecione “ Configurar WiFi ” na seção IoT Enterprise:

Isso abrirá um scanner que solicitará que você digitalize o ID do dispositivo encontrado na embalagem do dispositivo. Depois de digitalizado, você terá que reivindicar os dispositivos e colocá-los em modo de emparelhamento pressionando o botão por 6 segundos. Isso se conectará ao dispositivo por Bluetooth e o configurará com as credenciais de WiFi que você escolheu.

Você pode adicionar qualquer número de dispositivos dessa maneira e, se já tiver configurado seu projeto IoT, poderá adicioná-los diretamente a partir do aplicativo.

Se você está apenas acompanhando, terá que criar um projeto para definir as configurações de seus dispositivos e lidar com os canais. Vá até o Console IoT em seu navegador e crie um novo projeto em Gerenciar > Projetos:

Dê um nome a ele e vá para a próxima tela. A primeira coisa que você precisa adicionar é um modelo de dispositivo. Isso basicamente define o tipo de dispositivo que você está implantando e que ação ele aciona quando é pressionado. Se você estiver apenas configurando um dispositivo, ainda precisará criar um modelo para adicioná-lo. Se você tiver vários dispositivos, pode criar modelos de vários dispositivos para ações diferentes ou adicionar vários dispositivos ao mesmo modelo para ter dois botões que fazem a mesma coisa.

Suas opções são enviar SMS, e-mail ou acionar uma função Lambda. Você provavelmente desejará acionar uma função Lambda, então selecione a função aqui. Irritantemente, não há opção para atualizar esta lista, então se você acabou de criar uma função Lambda para este modelo, você terá que atualizar a página e começar a configuração do projeto novamente.

Isso deve completar a configuração do projeto. Na próxima tela, escolha adicionar um novo “ Posicionamento do dispositivo, ” que basicamente associa um dispositivo físico a um modelo e projeto de dispositivo e é usado para rastrear dispositivos em campo.

Depois de fazer isso, o botão deve ser conectado. Se você pressioná-lo, ele deve executar a função Lambda escolhida e gerar um novo evento de pressionamento no log. Se não estiver funcionando, você deve testar sua função Lambda para ter certeza de que não é um problema com isso, e certifique-se de que a imprensa está aparecendo no log.

As informações de imprensa são passadas para a função Lambda no parâmetro de evento da função de manipulador:

 {deviceInfo: {deviceId: 'G030PM037162UXE3', type: 'button', restanteLife: 99,05, atributos: {projectRegion: 'us-east-1', projectName: 'LightSwitch', placementName: 'BathroomLightSwitch' , deviceTemplateName: 'DeviceType'}}, deviceEvent: {buttonClicked: {clickType: 'DOUBLE', ReportingTime: '2019-12-22T04: 32: 28.325Z'}}, placementInfo: {projectName: 'LightSwitch', placementName: ' BathroomLightSwitch ', atributos: {}, dispositivos: {DeviceType:' G030PM037162UXE3 '}}} 

A coisa mais útil aqui é o deviceEvent e clickType, que você pode usar em sua função para executar ações diferentes dependendo se o usuário clicou uma vez, clicou duas vezes ou pressionou longamente. Se você ignorar esse valor em seu script, todos os tipos de impressão serão iguais.

A partir daqui, a programação depende de você. Você pode ler nosso guia para trabalhar com funções Lambda para saber mais.

Nenhum comentário