Crie projetos de IoT com a Particle Photon

Crie projetos de IoT com a Particle Photon

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? Ajude-nos a melhorar o blog atribuindo uma nota a este tutorial (estrelas no final do artigo), comente e visite nossa loja FILIPEFLOP!

3
Crie projetos de IoT com a Particle Photon
25 votos, 4.77 classificação média (95% pontuação)

Graduado em Engenharia de Computação com ênfase em Sistemas Embarcados pela USP, campus São Carlos, possui MBA em gestão de TI pela UNIFRAN e Mestrado em Ciências pela EESC-USP. Atua como Analista de Tecnologia para Sistemas Embarcados na Padtec S/A, sendo também professor de pós-graduação e instrutor de cursos na área de sistemas embarcados. Como hobby, gosta de programar tudo que pode ser programado, escovando bits sempre ao lado de um bom café. Gosta de compartilhar seu conhecimento por meio de palestras, e publicando artigos como colaborador dos sites FILIPEFLOP e Embarcados.

Compartilhe este Post

10 Comentários

  1. Programação do ESP8266 via OTA com wifi | Blog FILIPEFLOP - 22 de junho de 2017

    […] Na FILIPEFLOP 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. […]

  2. Thiago - 21 de maio de 2017

    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.

  3. Geraldo Lima - 25 de outubro de 2016

    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

  4. Mauricio Reale - 24 de outubro de 2016

    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. Paulo vercosa - 24 de outubro de 2016

    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.

  6. Promoção Particle Photon IoT- FilipeFlop - 24 de outubro de 2016

    […] 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 FilipeFlop. E não tem como negar, na linha de desenvolvimento para Embarcados com Wifi […]

  7. Roberto - 13 de outubro de 2016

    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.

  8. Pablo Pestana - 12 de outubro de 2016

    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.

  9. Darci - 11 de outubro de 2016

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

Deixe uma resposta