Eu hackeio bastante hardware, no Inanimate e em casa.
A IA está na nuvem. A interação está no meu quarto e nas minhas mãos. O trabalho sempre começa conectando essas duas extremidades.
Então, a segunda coisa que faço, sempre, é trazer mensagens em tempo real usando JSON em websockets para que eu possa conectar meu novo dispositivo a um servidor e fazer com que ele emita eventos e ouça comandos.
(A primeira coisa que faço é abrir o hardware e obter luzes piscantes básicas.)
Quero que meu cliente de websockets no dispositivo tenha uma interface super fácil: dê-me um onMessage manipulador para lidar com mensagens recebidas.
Preciso de configuração de wi-fi integrada (para poder transportar meu protótipo para lugares diferentes). E não quero ter que escolher quais bibliotecas usarei a cada vez, quero bons padrões.
Isso é o que Courier faz, em apenas algumas linhas.
Honestamente, isso não é ciência de foguetes. Não é nada demais. Mas são as decisões que tomo e os padrões que tenho que escrever para cada novo projeto, e considero o Courier útil pessoalmente. Então, no espírito de compartilhar, espero que seja útil para você também.
Encontre o código e o README aqui: Courier no GitHub

Início rápido
Courier faz um trabalho pequeno e necessário (mensagens) da maneira mais direta possível.
Digamos que você esteja usando o Arduino no ESP32. Direi mais sobre o ESP32 em um minuto.
Adicione Courier ao seu projeto (recomendamos gerenciar seu projeto com PlatformIO):
lib_deps = https://github.com/inanimate-tech/courier.git
Então aqui está todo o código C++ que você precisa:
#include
CourierConfig makeConfig() {
CourierConfig cfg;
cfg.host = "api.example.com";
cfg.port = 443;
cfg.path = "/ws";
return cfg;
}
Courier courier(makeConfig());
void setup() {
courier.onConnected(()() { courier.send(R"({"type":"hello"})"); });
courier.onMessage(()(const char* type, JsonDocument& doc) {
Serial.printf("Got: %s\n", type);
});
courier.setup();
}
void loop() { courier.loop(); }
Agora seu servidor pode enviar mensagens em tempo real em JSON para o seu dispositivo, e seu dispositivo pode lidar com elas. (Ele tira o type automaticamente para facilitar o roteamento.)
É isso!
Você não precisa codificar detalhes de Wi-Fi em seu código. Courier inclui WiFiManager para conectividade portátil: se uma rede não for encontrada, esta biblioteca abre seu próprio ponto de acesso e abre um portal cativo.
Além disso, você obtém gratuitamente: recuperação automática sã do soquete e do wi-fi, sincronização de horário NTP para que o relógio interno não desvie e interrompa sua conexão segura (o que acontece após cerca de 72 horas) e um caminho de atualização fácil para MQTT.
Experimente Courier com um M5Stick
ESP32 é uma família de microcontroladores que ocupa um lugar especial no ecossistema de hardware: graças ao seu baixo custo, wi-fi e Bluetooth integrados e facilidade de desenvolvimento,
- é a plataforma preferida para novas startups de hardware
- e é ótimo na produção para o mercado de massa.
Ele ainda possui uma estrutura de compatibilidade com Arduino, então você pode começar com ela e depois iterar conforme avança. É bastante singular passar da bancada para a produção assim.
Então, amamos o ESP32 no Inanimate.
Um grande player no ecossistema ESP32 é o M5: eles são baseados na China e têm cerca de 400 SKUs que envolvem microcontroladores ESP32 em todos os tipos de gabinetes com todos os tipos de periféricos e sensores. Eu me diverti muito fazendo um tour pessoal pelo M5 quando visitei Shenzhen no ano passado – eles usam seus próprios sensores em uma rede IoT industrial para operar e monitorar sua linha de montagem.
Agora você deve ter visto um ou dois M5Stick nas redes sociais. Eles são super populares, pelo menos no meu círculo, as pessoas adoram hackeá-los.
Compre um M5Stick-C Plus2 na Amazon por menos de 30 dólares! É um ESP32 com tela, botões, campainha, giroscópio, bateria e microfone em um minúsculo pacote amarelo brilhante.
Compre um ou dois, abra-o seguindo a documentação e instale o Courier…
…ou use nosso código de exemplo. Nosso exemplo também suporta o M5StickS3 mais recente, que é cinza e possui um chip mais poderoso.
Isto é o que fiz com mensagens em tempo real e meu servidor websocket backend:
Meu pequeno traficante me conta as páginas principais do meu blog em tempo real ^_^ v
Tenho cursores ativos em todas as páginas do meu blog (redação e código-fonte aberto) para que o mesmo sistema envie mensagens JSON via websockets para o M5Stick em minha mesa.
Se uma postagem ficar grande, coloco meu bastão na mesa para ver imediatamente, depois vou até a página e digo oi para todos com o bate-papo do cursor.
Mais visitantes = mais flores!
Além disso: código shake-for-QR, para que eu possa seguir rapidamente o link de volta à postagem principal.
É incrível quando o hardware começa a parecer vivo.
Mostre-me se você faz alguma coisa também.
Experimente o Courier agora
Para usar o Courier agora, primeiro abra seu M5Stick ou outro hardware ESP32 para saber se funciona bem e, em seguida, vá para o repositório Courier no GitHub, onde você pode encontrar instruções de instalação, documentos de API e exemplos.
Está em desenvolvimento ativo: é isso que usamos para prototipagem na Inanimate.
Courier é distribuído sob uma licença do MIT.
Eu hackeio bastante hardware, no Inanimate e em casa.
A IA está na nuvem. A interação está no meu quarto e nas minhas mãos. O trabalho sempre começa conectando essas duas extremidades.
Então, a segunda coisa que faço, sempre, é trazer mensagens em tempo real usando JSON em websockets para que eu possa conectar meu novo dispositivo a um servidor e fazer com que ele emita eventos e ouça comandos.
(A primeira coisa que faço é abrir o hardware e obter luzes piscantes básicas.)
Quero que meu cliente de websockets no dispositivo tenha uma interface super fácil: dê-me um
onMessagemanipulador para lidar com mensagens recebidas.Preciso de configuração de wi-fi integrada (para poder transportar meu protótipo para lugares diferentes). E não quero ter que escolher quais bibliotecas usarei a cada vez, quero bons padrões.
Isso é o que Courier faz, em apenas algumas linhas.
Honestamente, isso não é ciência de foguetes. Não é nada demais. Mas são as decisões que tomo e os padrões que tenho que escrever para cada novo projeto, e considero o Courier útil pessoalmente. Então, no espírito de compartilhar, espero que seja útil para você também.
Encontre o código e o README aqui: Courier no GitHub
Início rápido
Courier faz um trabalho pequeno e necessário (mensagens) da maneira mais direta possível.
Digamos que você esteja usando o Arduino no ESP32. Direi mais sobre o ESP32 em um minuto.
Adicione Courier ao seu projeto (recomendamos gerenciar seu projeto com PlatformIO):
lib_deps = https://github.com/inanimate-tech/courier.gitEntão aqui está todo o código C++ que você precisa:
Agora seu servidor pode enviar mensagens em tempo real em JSON para o seu dispositivo, e seu dispositivo pode lidar com elas. (Ele tira o
typeautomaticamente para facilitar o roteamento.)É isso!
Você não precisa codificar detalhes de Wi-Fi em seu código. Courier inclui WiFiManager para conectividade portátil: se uma rede não for encontrada, esta biblioteca abre seu próprio ponto de acesso e abre um portal cativo.
Além disso, você obtém gratuitamente: recuperação automática sã do soquete e do wi-fi, sincronização de horário NTP para que o relógio interno não desvie e interrompa sua conexão segura (o que acontece após cerca de 72 horas) e um caminho de atualização fácil para MQTT.
Experimente Courier com um M5Stick
ESP32 é uma família de microcontroladores que ocupa um lugar especial no ecossistema de hardware: graças ao seu baixo custo, wi-fi e Bluetooth integrados e facilidade de desenvolvimento,
Ele ainda possui uma estrutura de compatibilidade com Arduino, então você pode começar com ela e depois iterar conforme avança. É bastante singular passar da bancada para a produção assim.
Então, amamos o ESP32 no Inanimate.
Um grande player no ecossistema ESP32 é o M5: eles são baseados na China e têm cerca de 400 SKUs que envolvem microcontroladores ESP32 em todos os tipos de gabinetes com todos os tipos de periféricos e sensores. Eu me diverti muito fazendo um tour pessoal pelo M5 quando visitei Shenzhen no ano passado – eles usam seus próprios sensores em uma rede IoT industrial para operar e monitorar sua linha de montagem.
Agora você deve ter visto um ou dois M5Stick nas redes sociais. Eles são super populares, pelo menos no meu círculo, as pessoas adoram hackeá-los.
Compre um M5Stick-C Plus2 na Amazon por menos de 30 dólares! É um ESP32 com tela, botões, campainha, giroscópio, bateria e microfone em um minúsculo pacote amarelo brilhante.
Compre um ou dois, abra-o seguindo a documentação e instale o Courier…
…ou use nosso código de exemplo. Nosso exemplo também suporta o M5StickS3 mais recente, que é cinza e possui um chip mais poderoso.
Isto é o que fiz com mensagens em tempo real e meu servidor websocket backend:
Meu pequeno traficante me conta as páginas principais do meu blog em tempo real
^_^ vTenho cursores ativos em todas as páginas do meu blog (redação e código-fonte aberto) para que o mesmo sistema envie mensagens JSON via websockets para o M5Stick em minha mesa.
Se uma postagem ficar grande, coloco meu bastão na mesa para ver imediatamente, depois vou até a página e digo oi para todos com o bate-papo do cursor.
Mais visitantes = mais flores!
Além disso: código shake-for-QR, para que eu possa seguir rapidamente o link de volta à postagem principal.
É incrível quando o hardware começa a parecer vivo.
Mostre-me se você faz alguma coisa também.
Experimente o Courier agora
Para usar o Courier agora, primeiro abra seu M5Stick ou outro hardware ESP32 para saber se funciona bem e, em seguida, vá para o repositório Courier no GitHub, onde você pode encontrar instruções de instalação, documentos de API e exemplos.
Está em desenvolvimento ativo: é isso que usamos para prototipagem na Inanimate.
Courier é distribuído sob uma licença do MIT.