particle photon

Crie projetos de IoT com a Particle Photon 16

Na linha das placas/kits de desenvolvimento para Embarcados com WiFi embutido, a ESP8266 é uma que se consagrou. Todavia, ela não é a única, e existem oponentes de peso disponíveis atualmente no mercado. Um desses é a Particle Photon, alvo do presente artigo, e que agrega um conjunto de características que a tornam uma opção interessante para aplicações que envolvam computação em nuvem e Internet das Coisas.

Particle Photon

Um breve unboxing da Particle Photon

A Particle Photon vem uma simples, porém bem ajeitada caixa, contendo a placa apoiada em uma espuma, envolto em uma fita de papel com uma breve piada envolvendo os termos photonlight, em inglês. Traduzido, o texto da fita de papel é:

“Um fóton chega a um hotel. O recepcionista pergunta: Posso te ajudar com a bagagem? E o fóton responde: Não tenho nenhuma, estou viajando leve.”

Unboxing

Melhor em inglês!  A piadinha brinca com o fato de que light significa tanto luz quanto leve, em inglês. E é isso que a Particle Photon é: Uma solução para IoT leve e ao mesmo tempo brilhante. Simples, prática, funcional para começar a desenvolver para a Internet das Coisas.

Um notável diferencial

A abordagem da Particle para Internet das Coisas é usar ao máximo a computação em nuvem, e não é pra menos: Com a Photon, o desenvolvimento, a compilação e o upload de código se dá pela Internet!

O Poder da Nuvem

Toda essa infraestrutura acontece na Particle Cloud, que pode ser usada tanto em modo público quanto privado, para quem quer mais recursos, privacidade e proteção dos dados em IoT.

particle_cloud
Particle Cloud.

Dessa forma, não é necessário instalar nenhum programa em seu computador para desenvolver programas para a Photon. Basta criar seu acesso no Particle Build, a solução online que permite desenvolver os programas.

build_particle
IDE Online Particle Build

Um aspecto muito interessante de usar o Particle Build é que além de desenvolver o código na nuvem, o mesmo código também pode ser compilado e carregado na Particle Photon diretamente pela Internet! Essa é uma técnica chamada de Upload via OTA – Over-The-Air, que no caso usa a conexão WiFi da Photon para carregar o firmware programado.

Se vocês observaram bem a imagem do Particle Build, devem ter visto uma semelhança com código do Arduino. Pois não é para menos: O ecossistema Particle tem a mesma abordagem do desenvolvimento para Arduino, sendo inclusive compatível com uma ampla gama de bibliotecas para Arduino, salvo aquelas que fazem uso de recursos bem específicos de microcontroladores ATmega empregados nas placas Arduino tradicionais.

Modo Offline

Agora, voltando ao ponto do desenvolvimento na nuvem… E se não houver conexão com a Internet, como fazer? Também há outras soluções, arquitetadas pela Particle. A primeira delas é usar uma versão modificada do editor Atom chamada de Particle Dev, que permite compilar código em modo “offline” e carregar o firmware via USB na Photon. Todavia, o recurso de compilar código offline ainda é experimental, sendo que mesmo com o Particle Dev o código é compilado na nuvem, e baixado na máquina para ser carregado na Photon via USB.

Modo Offline
IDE baseada no Atom para Particle Photon.

A segunda opção de desenvolvimento para a Photon é mais “profissional”, envolvendo o uso da IDE Eclipse configurada para o microcontrolador ARM empregado na placa. Em detalhes, esse setup pode ser visto na SparkFun.

Para todos os gostos, um setup que é Mobile

Inicialmente, a Particle Photon vem configurada em modo SoftAP de fábrica. Isso significa que, do ponto de vista de uma rede WiFi, ela se parece como um Ponto de Acesso (AccessPoint), possuindo nome e senha tal como outra rede qualquer. E para ser devidamente utilizada, ela precisa ser configurada para acessar uma rede WiFi com Internet!

Se você tem um celular Android, basta baixar o programa Particle na Play Store, ou caso tenha um iPhone/iPad, basta baixar o Particle na Apple Store.

Particle Mobile
Telas da aplicação Mobile para interface com Particle Photon.

A aplicação Android/iOS é capaz de iniciar o usuário desenvolvedor para Particle Photon permitindo a criação de uma nova conta na Particle Cloud, e, principalmente, o programa é usado para configuração inicial da Photon, sendo capaz de automaticamente detectar uma Photon em modo de Setup/softAP, e configurá-la para conectar em uma rede WiFi informada pelo usuário no momento da configuração.

O programa também permitir visualizar a listagem de placas associadas à conta do usuário, de modo a acompanhar quais estão online ou não, e até mesmo atualizar o firmware das placas remotamente.

Há também a opção de configurar a Particle Photon diretamente pelo computador. Para isso,  é preciso conectá-la via USB em um computador com Windows/Linux/Mac contendo um ambiente NodeJS, de modo a ser capaz de rodar o utilitário Particle-CLI.

Características Técnicas da Particle Photon

Falando um pouco mais sobre a Photon, ela é uma placa pequena, medindo 36.58 x 20.32 mm. Ou seja, se você quer desenvolver alguma aplicação/solução, que precisa ter um bom poderio computacional com pouco espaço, ela é uma boa escolha.

Dimensões Photon
Dimensões da Particle Photon.

Com base na legenda apresentada abaixo, a Photon possui conexão microUSB, que é usada para alimentar a placa e também para programar o microcontrolador ARM presente nela. Lateralmente, ela possui uma sequência de sinais de Entrada/Saída com múltiplas funcionalidades, podendo operar como simples leitura/escrita de sinais digitais (os bons e velhos 0/1), como também possui sinais que podem operar como conversores Digital-Analógico, Analógico-Digital, PWM, interfaces de comunicação I2C, SPI, I2S e até mesmo CAN. Ou seja, é bastante coisa!

Detalhes
Particle Photon – Em detalhes.

Outro ponto válido, é que a Photon possui tanto uma antena cerâmica embutida, como também conector para antena externa, caso o desenvolvedor prefira usar uma outra antena (útil em casos onde a Photon pode estar dentro de uma caixa metálica, e uma antena externa estaria ligada para o devido sinal WiFi sem complicações).

A Photon é o poder de 2 em 1. Ao contrário dos módulos ESP8266 que possuem WiFi embutido no próprio chip, a Photon é a agregação de um ARM Cortex-M3, modelo STM32F205RGY6, que faz toda a parte de controle e operação embarcada, juntamente com o chip Broadcom BCM43362, que faz a interface com rede WiFi. Vejam o esquemático abaixo que detalha a interface entre ambos os componentes.

Diagrama de blocos Photon
Diagrama de Blocos entre componentes da Particle Photon.

Em termos práticos, a Particle Photon tem as seguintes características:

  • STM32F205 ARM Cortex M3 120Mhz – Microcontrolador de 32 Bits para tarefas de controle e interfaces de comunicação.
    • 1MB flash, 128KB RAM;
  • Broadcom BCM43362 Wi-Fi – Unidade de interface para rede WiFi.
    • 802.11b/g/n Wi-Fi;
  • LED RGB para Status – Programável, serve para feedback funcional de operação da placa.
  • 18 sinais de GPIO – Podem ser usados para sinais digitais, analógicos, comunicação, etc.
  • Design em Código Aberto – Você pode ter acesso aos esquemáticos e lista de materiais, para confeccionar e fazer a sua própria Photon.
  • Sistema de Tempo Real FreeRTOS – Usa o sistema FreeRTOS para gerir as atividades de códigos de programa para aplicações com a Photon.
  • Setup SoftAP – Em modo Setup, a placa funciona como um Ponto de Acesso WiFi, com nome e senha de rede para conexão de setup.
  • Certificada FCC, CE e IC – Já certificado para operação com rádiofrequência nos órgãos citados.
  • Pinos pré-soldados – Fácil de usar e plugar em placas de prototipação.

Um dado interessante é que operando com sinal WiFi ligado com tensão de alimentação em 5V, o consumo da Photon fica em 80 mA, valor consideravelmente abaixo dos quase 170 mA do ESP8266. Ou seja, usando a Photon em um sistema com bateria, o rendimento será quase o dobro.

A despeito de usar alimentação pela USB, que é energizada por 5V, os sinais de entrada e saída da Photon operam em 3V3, e apesar de muitos dos sinais serem “tolerantes” a 5V, recomenda-se evitar. Ou seja, cuidado para não ligar sinais de controle de 5V nos pinos da Photon! A questão da “tolerância” é mais como um recurso de proteção, do que para uso propriamente.

Vamos falar da Pinagem da Photon

Com relação à pinagem, a documentação da Photon revela o seguinte padrão para os sinais à direita da placa, conforme observado na legenda da tabela abaixo. Na coluna “Pin” está o nome do sinal tal como aparece impresso na placa Photon, e nas demais colunas aparecem as múltiplas funções que cada pino pode executar.

Pinos - Direita
Legendas dos pinos à DIREITA da Photon, sinal 3V3 a D0 –

Mesmo padrão vale para os sinais localizados à esquerda da Particle Photon. Observem a tabela abaixo.

Pinos - Esquerda
Legendas dos pinos à ESQUERDA da Photon – Sinal VIN a A0.

A Photon também possui mais alguns sinais que podem ser explorados pelo programador, tais como os sinais de controle do LED RGB presente na palca, como também sinais de Setup, Reset, dentre outros, conforme mostrado na tabela abaixo.

Outros sinais
Legenda de outros sinais com funcionalidades específicas da Photon.

Em resumo, a Photon tem a seguinte quantidade de periféricos de sinais de controle e comunicação:

Tabela pinos
Listagem de Periféricos da Particle Photon.

 

Aplicações Práticas

Com a Photon, é possível trabalhar com os seguintes tipos de aplicações:

  • Domótica – Seu reduzido tamanho o torna interessante para criar “tomadas” inteligentes, plugs de controle e até mesmo pode ser “embarcado” em eletrônicos e eletrodomésticos em geral.
  • Áudio – Por possuir interface e controlador para o protocolo I2S, muito usado para transmissão de sinais de áudio, a Photon pode ser usada em aplicações de streaming e controle de áudio via WiFi.
  • Automotivo – Pequena, mas robusta, ela possui interface com rede CAN. Para um uso completo, ainda precisaria de um transceiver, mas já é uma mão na roda para aplicações com essa rede muito usada em sistemas automotivos e até mesmo industriais.
  • Robótica – Se tamanho é problema, a Photon pode resolver. Seu tamanho bem reduzido, somado ao seu alto poder computacional, torna possível desenvolver robôs controlados via WiFi, contando ainda com um consumo de 80mW da Photon.

E em termos gerais, usado o ecossistema Particle, é possível atualizar as Photons remotamente, desde que elas estejam conectadas em uma rede WiFi com acesso à Internet. Ou seja, basta que estejam ligadas e conectadas, o resto é pela nuvem!

Gostou? Deixe seu comentário logo abaixo.

Faça seu comentário

Acesse sua conta e participe

16 Comentários

  1. Tem um erro aqui: (Voce quis dizer: palca?)
    “A Photon também possui mais alguns sinais que podem ser explorados pelo programador, tais como os sinais de controle do LED RGB presente na palca”.

    É muito legal poder programar algo a distância, eu já tive que viajar apenas para regravar o firmware de um aparelho, desde então, ano de 2011, eu pensava como seria bom ter essa facilidade. Porém agora com a utilização de Inteligências artificiais, cada vez mais frequente, duvido que demore muito para algum desses equipamentos AI tomem o controle de equipamentos que podem ser reprogramados a distância, e claro, no final, tudo sendo defendido pelos direitos humanos :p

  2. Olá equipe do blog,
    Fiquei com dúvida a respeito do Particle Photon, ele tem saida de 5v? Se tiver em qual dos pinos devo ligar para obter uma saida com 5v.
    Agradeço pela atenção de vocês, e tenha uma ótima semana.

    1. Quando um pino é tolerante a 5V, significa que suporta até 5V apenas em modo entrada, sendo a saída apenas o nominal do chip, procure informações sempre no datasheet, que é fornecido pelo fabricante, caso a placa tenha um código de chip específico, pesquise pelo datasheet dele, e caso tenha um datasheet da placa, pode facilitar um pouco, mas ainda assim é recomendado ler todo datasheet do chip: https://docs.particle.io/datasheets/photon-(wifi)/photon-datasheet/

  3. Eu ja comprei 4 placas dessas. O mais legal que achei foi o fato de você poder alterar o código do projeto com tudo montado e instalado no local. Isso facilita muito a vida. Pois depois de tudo montado sempre lembramos de algo que faltou no código e as vezes é uma trabalheira desmontar o experimento, codificar e montar tudo novamente novamente. Assim você pode montar varias versões do seu projeto e a medida que as ideias de melhorias forem surgindo você consegue atualizar o programa/codigo da placa a partir da WEB sem necessidade de desmontar o experimento. Eu achei inclusive o IDE WEB melhor que o LOCAL (ATOM).
    Abs

    1. Excelente observação.

  4. Definitivamente vou dar uma olhada nessa plaquinha, me pareceu muito interessante. Gosto da ideia de usar a nuvem para compilar o código e a instalação OTA, especialmente para o público iniciante em IoT, mas não me agrada ter que ficar online sempre que tiver que fazer algo – espero que a solução com Eclipse resolva isso.

  5. Nos eletromesticos(geladeiras, ar condicionado, máquinas de lavar) geralmente existe placas eletrônicas para controle e muitas marcas aqui no Brasil ou não tem reposição ou os preços são altos. Usando o raspberry, consegui fazer interfaces utilizando reles e sensores mas o custo ainda e alto. Este sistema atende o propósito acima e com a vantagem de se monitorar via celular toda programação, o que tenho dúvida e se o custo valeria uma comercialização.

    1. Tudo isso é muito legal, de início parece tudo mágico, mas na hora de usar tem que ter homologação na ANATEL, mesmo que seja para uso doméstico. Por isso é tão deficiente e caro o comércio legalizado de placas deste tipo.

      1. E para falar a verdade, me estranha muito que sejam poucas pessoas ou empresas que comentam sobre isso, acredito que todas as postagens de empresas sérias deveriam advertir sobre a homologação, pois quem sabe um dia de tanta ser mau visto essa necessidade, a ANATEL resolva aceitar automaticamente a homologação feita internacionalmente, o que muitas das placas de comunicação já tem.

  6. André,
    Muito bom o texto. Minha primeira incursão em IoT, ou programação de hardware foi feita em dois Photons que comprei logo no lançamento. Muito divertido e fácil de operar.

    Um errinho no seu texto:
    > Com relação à pinagem, a documentação da Photon revela o seguinte padrão para os sinais à ****esquerda**** da placa,
    E depois de novo:
    Mesmo padrão vale para os sinais localizados à ***esquerda*** da Particle Photon. Observem a tabela abaixo.

  7. Excelente artigo!
    Estou interessado em utilizar a Photon em meu TCC e sua publicação abriu novos horizontes.
    Parabéns pela matéria.
    Abraços.

  8. Parabéns pelo post. Muito bom.
    Para aplicação comercial, é válido e confiável?
    Abs

    1. Olá Darci, bom dia!
      Sim, é válido e confiável para aplicações comerciais.
      Inclusive, há vários cases de produtos que usam Photon.
      Veja exemplos na seção “Use cases”, no Menu superior em https://www.particle.io/
      Abs

Trackbacks and Pingbacks

  1. […] e ao mesmo tempo brilhante. Essa foi a definição da Particle Photon feita pelo André Curvello em seu post sobre a placa no blog da MakerHero. E não tem como negar, na linha de desenvolvimento para Embarcados com Wifi […]

  2. […] Na MakerHero há uma outra plaquinha que é programada via WiFi por padrão, desde que a rede WiFi tenha conexão com a Internet – é a Particle Photon. […]