O que o vendedor se esqueceu de te dizer #2 – ou porque a Lucky FF918 desenha peixes que nunca mediu
Na primeira parte mostrei como um sensor de estacionamento acaba dentro de uma caixa e é vendido como medidor de profundidade. Hoje tenho na bancada um aparelho que é mesmo uma sonda de pesca e que mede mesmo a profundidade: a sonda sem fios mais popular do mercado, a Lucky FF918. 🎣
Não critico a Lucky FF918 por não funcionar. Funciona. A pergunta é outra: quanto do que vês nesse ecrã colorido é medição e quanto é desenho? Para descobrir, liguei um analisador lógico à linha de dados entre o módulo de rádio e o ecrã e gravei o que chega exatamente da água. Sete gravações independentes, a profundidades diferentes.

O resultado surpreendeu-me, e penso que também te vai surpreender.

1. Toda a conversa entre a sonda Lucky FF918 e o ecrã são nove bytes
A boia da Lucky FF918 transmite em 433 MHz, a cerca de 333 bits por segundo. É muito lento: para comparar, o mais antigo modem telefónico dos anos 80 era mais rápido. Um pacote de dados tem exatamente 9 bytes, ou seja, menos do que uma palavra curta numa SMS. Um novo pacote chega a cada 0,77 segundos.

E é tudo. Entre a boia e o ecrã não passa mais nada:
- número do emissor – para que o ecrã saiba que é a sua sonda e não a do colega do posto ao lado
- profundidade – uma medição verdadeira
- temperatura da água – uma medição verdadeira
- quatro campos de alvos – um byte cada
- soma de verificação – controlo de que nada se corrompeu pelo caminho
2. Esses quatro bytes transportam apenas a altura – mais nada
Cada byte de alvo é um número de 0 a 255, esticado entre a superfície e o fundo. Zero significa «aqui não há nada», 255 significa «mesmo junto ao fundo», 128 significa «a meia água». É tudo.
Atenção, porque isto é importante ao ler o ecrã: um byte de alvo é uma fração da profundidade, não uma distância. O mesmo byte vale 1 metro quando o fundo está a 2 metros, e 10 metros quando o fundo está a 20. A escala estende-se sempre da superfície ao fundo.
Vamos verificar isto na foto promocional da Lucky FF918 do fabricante. Vê-se 13,6 m de profundidade e um peixe identificado como 3,7 m. O byte que o transporta vale 70. A conta: 70 a dividir por 256, vezes 13,6 metros, dá 3,72 metros. Coincide ao decímetro com o número impresso por cima do peixe.
Nesse byte, porém, não existe uma única informação sobre a intensidade do eco. Nem sobre o tamanho do alvo. Nem sobre a força com que algo refletiu o som. A sonda envia unicamente a resposta à pergunta «a que altura», nunca «o quê» e «de que tamanho».
3. A Lucky FF918 não sabe se debaixo de ti está um peixe, uma planta ou uma árvore caída
Isto decorre diretamente do ponto dois, mas vale a pena dizê-lo à parte, porque tem efeito direto na pesca. A boia da Lucky FF918 assinala um alvo na coluna de água, ou seja, o facto de que algures entre o fundo e a superfície algo refletiu o sinal. E o conhecimento dela acaba aqui.
Nessa transmissão não existe nenhum campo que diga «isto é um peixe» ou «isto é uma planta». Nenhuma classificação. Nenhum reconhecimento. E mesmo assim o ecrã desenha um peixe em cada um desses casos, porque simplesmente não tem outro ícone.
Na prática significa que no ecrã qualquer coisa se torna peixe: um tufo de vegetação que cresce do fundo, uma árvore caída, um ramo saliente, um cepo ou qualquer outro obstáculo, bolhas de ar, uma termoclina, sedimento em suspensão depois da chuva e até o eco da tua própria linha ou montagem. O aparelho não mente: simplesmente não tem com que distinguir uma coisa da outra.
Há ainda outra armadilha, muito menos evidente. Uma planta alta, uma árvore caída ou um ramo saliente devolvem eco de várias alturas ao mesmo tempo, desde o fundo até ao topo. A sonda assinala então vários alvos uns por cima dos outros, e o ecrã desenha com eles vários peixes separados dispostos em coluna. Essa característica «pilha de peixes» acima do fundo, que parece um cardume a alimentar-se, é muitas vezes apenas um arbusto ou um ramo submerso.
Por isso, três «peixes» parados no mesmo sítio durante um quarto de hora são quase de certeza vegetação, um obstáculo ou uma estrutura submersa, e não um grupo de carpas à espera da tua montagem. E funciona nos dois sentidos: também não ficas a saber do obstáculo, porque o aparelho mostra-o como peixe em vez de avisar que ali é melhor não pousar a montagem.
4. O tamanho do peixe no ecrã da Lucky FF918 é sorteado
Chegamos aqui à coisa que na bancada me fez mesmo parar e que mais diz sobre a Lucky FF918. Se na transmissão não há campo que descreva o tamanho do alvo, de onde tira o ecrã peixes pequenos, médios e grandes?
Sorteia-os. A cada pacote de dados recebido, para cada alvo, é acionado um gerador de números aleatórios que atribui uma classe de tamanho:
| Resultado do sorteio | Probabilidade | O que vês no ecrã |
|---|---|---|
| 1 | 18,75% | peixe grande – o maior ícone, mais alarme sonoro |
| 2 | 50,00% | peixe médio |
| 3 | 31,25% | peixe pequeno |
Desse único sorteio decorre depois tudo o que distingue um «peixe grande» de um «pequeno»: qual a imagem pré-feita colada no ecrã, qual o tamanho da marca colorida e se o aparelho toca o alarme sonoro.
E para que fique claro de onde vem esta certeza: o problema não é o algoritmo ser mau. O problema é que na trama de rádio não existe um campo capaz de transportar o tamanho do alvo. Mesmo que o ecrã quisesse muito mostrá-lo honestamente, não teria de onde.
Como verificar isto sozinho, sem qualquer equipamento
Não precisas de acreditar na minha palavra nem de saber ler código:
- Desce com um fio uma lata, uma pedra ou um ramo, mais ou menos a meia profundidade.
- Olha para a altura do ícone – será estável, porque a posição é calculada honestamente.
- Agora olha para o tamanho – essa mesma lata imóvel será ora um «peixe pequeno», ora um «grande», mudando a cada segundo.
Este único teste mostra as duas coisas ao mesmo tempo: a altura constante prova que a medição da posição é verdadeira, e o tamanho que salta prova que o tamanho é inventado. Filma com o telemóvel, vê-se logo.
5. O ecograma colorido da Lucky FF918 na maior parte não é uma medição
Volta por um momento à imagem da Lucky FF918 do início do artigo. À esquerda está tudo o que chegou da água: uma linha vermelha do fundo e quatro pontos. À direita, o mesmo conjunto de dados depois de processado no ecrã.
Repara que a linha vermelha do fundo coincide pixel a pixel nas duas imagens. Porque o contorno do fundo é verdadeiro: uma medição honesta por cada pacote de dados. Verdadeira é também a altura de onde o eco voltou, embora a sonda não diga nada sobre o que o refletiu.
Todo o resto, porém, nasce ali mesmo, no ecrã, a partir de padrões pré-feitos guardados na sua memória:
| Elemento da imagem | De onde vem |
|---|---|
| Linha do fundo, profundidade em números | medição |
| Temperatura | medição |
| Altura de onde o eco voltou | medição |
| Tamanho e tipo do ícone de peixe | sorteio no ecrã |
| Textura amarela e vermelha do fundo | padrão da memória do aparelho |
| Vegetação verde junto ao fundo | gerador de formas, independente da água |
| Faixa de ruído junto à superfície | desenhada sempre, com espessura aleatória |
| Deslocamento suave da imagem | preenchimento entre os pacotes de dados |
A coluna de água nesse ecrã tem 445 pixels de altura. É desenhada a partir de quatro números.
6. Porque é que a Lucky FF918 funciona assim? Porque em 433 MHz a imagem não cabe
E aqui quero ser justo com o fabricante: isto não é maldade nem poupança. É física e regulamentação.
Calculemos quanto precisa uma sonda decente que desenhe uma imagem real do fundo. Tomemos uns modestos 300 amostras por ping:
| Componente | Quantos bits |
|---|---|
| Imagem: 300 amostras de 8 bits | 2 400 |
| Telemetria: profundidade, temperatura, tensão, estado, soma de verificação | + 80 |
| Total por ping | 2 480 |
| Ping a cada 100 ms, ou seja, 10 vezes por segundo | 24 800 bits por segundo |
| Sobrecarga do protocolo de rádio, cerca de 30% | 32 000 |
| Ocupação da banda apenas de 65%, para deixar margem para repetir tramas perdidas | cerca de 50 000 bits por segundo |
A Lucky FF918 transmite cerca de 94 bits por segundo. Isso é aproximadamente 500 vezes pouco. Em 433 MHz não se consegue empurrar uma imagem real do fundo, portanto a imagem tem de nascer no ecrã. E nasce.
Porque é importante a margem para repetições? Porque a longa distância as tramas perdem-se. Se a ligação estiver cheia até acima, um pacote perdido não pode ser repetido e a imagem rasga-se. E porquê fazer ping mais vezes do que a cada 100 ms? Porque cada ping é uma coluna da imagem: com 10 pings por segundo cada coluna é uma medição verdadeira. Com menos pings abre-se entre elas um vazio que o aparelho tem de preencher com alguma coisa.
O que isto significa ao comprares um barco isqueiro com sonda
Esta é a conclusão que vale a pena levar contigo para as compras. Se alguém te oferece um barco isqueiro que, numa única ligação de rádio estreita, tem de governar o barco ao mesmo tempo – motores, leme, luzes, portinholas, espalhador – e transmitir imagem de sonda, então essas duas coisas lutam pelo mesmo tubo, muito estreito.
O comando tem de viajar em contínuo e sem atraso, porque disso depende se o barco vira. A imagem precisa de largura de banda. Na banda dos 868 MHz acresce ainda um limite legal: só se pode transmitir uma fração do tempo, pelo que mesmo um modem rápido dá em média algumas centenas de bits por segundo.
| Banda | Débito real | Aguenta um ecograma verdadeiro? |
|---|---|---|
| 433 MHz (é o que está na FF918) | cerca de 94 b/s | Não – 500 vezes pouco |
| 868 MHz | de algumas dezenas de bits até 1 kb/s | Não – limite do tempo de emissão |
| 2,4 GHz LoRa | algumas dezenas de kb/s | Sim, com margem razoável |
| 2,4 GHz WiFi | 20-35 Mb/s | Sim, com margem enorme |
Por isso vale a pena fazer ao vendedor uma pergunta simples: em que frequência e a que velocidade viaja a vossa imagem de sonar? A resposta diz-te mais do que toda a descrição do produto.
Resumo – o que a Lucky FF918 não te diz abertamente
Resumindo com honestidade, porque isto não é um aparelho de fachada e não vou fingir que é:
- A profundidade e a temperatura são verdadeiras – como ferramenta para verificar o pesqueiro antes de lançar, o aparelho cumpre.
- A altura do eco é representada fielmente, mas isso não significa que ali esteja um peixe. Se a sonda assinalou um alvo a 4 metros, o ícone ficará a 4 metros, só que por baixo pode crescer um arbusto em vez de nadar uma carpa.
- Não trates o tamanho do ícone como informação – é sorteado, um ícone grande não significa um peixe grande.
- Um ícone de peixe não significa «peixe» – a sonda assinala apenas um alvo na água, e uma planta, uma árvore caída, um obstáculo ou bolhas parecem idênticos no ecrã.
- O ecograma colorido não é uma imagem do fundo – a textura, a vegetação e as cores são gráficos da memória do aparelho.
- Quatro alvos ao mesmo tempo é o teto – um cardume não tem como mostrar-se.
Por outras palavras: a Lucky FF918 é um medidor de profundidade com termómetro decente e um indicador de «está ali algo suspenso na água». Não é uma sonda no sentido que um pescador entende ao olhar para uma imagem do fundo.
Como analisei a sonda Lucky FF918
Um analisador lógico ligado à linha de dados da Lucky FF918, entre o módulo de rádio e o ecrã, sete gravações independentes a diferentes profundidades e temperaturas. Os dados viajam ali em texto aberto, sem qualquer cifra. As sete gravações decompõem-se nos mesmos pacotes de 9 bytes, e a temperatura lida deles fica pregada em cada gravação, enquanto a profundidade muda de forma contínua. É assim que se vê um protocolo corretamente lido. Além disso segui a lógica do próprio ecrã, para determinar o que ele faz com esses dados.
O que não verifiquei e por isso não escrevo: não me pronuncio sobre a qualidade do transdutor em si nem sobre quão bem a sonda deteta alvos na água, não tenho dados para isso. Também não afirmo que o aparelho meça mal a profundidade. Descrevo apenas o que provei: o que a sonda envia e o que o ecrã faz com isso. A análise diz respeito a um exemplar concreto e à versão de firmware que nele encontrei.
A imagem comparativa no início do artigo é a minha reconstrução, desenhada com o mesmo algoritmo que encontrei no ecrã, e não uma captura do aparelho.
Fontes e material para verificares
- Decisão da Comissão 2006/771/CE – harmonização do espetro para dispositivos de curto alcance na UE, origem dos limites para as bandas de 433 e 868 MHz
- ETSI EN 300 220-2 – norma harmonizada que define potências e tempo de emissão permitido
- ANACOM – o regulador português, utilização do espetro isenta de licenciamento
- Semtech SX1280 – circuito LoRa de 2,4 GHz, exemplo de banda com débito suficiente para uma imagem de sonar
Ressalva. A análise diz respeito a um exemplar concreto e ao firmware que nele encontrei: outros lotes e variantes do modelo (FF918-C, CWLS e derivados) podem diferir. Os limites de rádio e os débitos são indicativos, de acordo com as regras da UE para dispositivos de curto alcance; os valores exatos dependem da sub-banda e da solução concreta. Se contigo isto parecer diferente, escreve-me, verifico com gosto outro exemplar.
É assim que funciona connosco: antes de qualquer coisa entrar nos nossos barcos, passa por esta bancada. E se algo não passa, dizemo-lo em voz alta, mesmo quando ninguém quer ouvir.

Asystent pomocy Extreme One