Configurando o avahi no raspberry pi

0

Estou tentando configurar o avahi-daemon no meu raspberry pi para transmitir o serviço que acabei de programar, que precisa ser descoberto automaticamente. É meio que funciona, mas não completamente, e não consigo descobrir por que não.

Se eu usar:

avahi-publish -s myservice _mqtt._tcp 1883

funciona muito bem, mas isso não o configura para iniciar automaticamente. Para isso, preciso adicioná-lo a uma configuração, então fiz exatamente isso. Adicionei myservice.service em / etc / avahi / services com o seguinte conteúdo:

<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
 <name replace-wildcards="yes">myservice</name>
  <service>
   <type>_mqtt._tcp</type>
   <port>1883</port>
   </service>
</service-group>

Isso deve funcionar na inicialização (de acordo com toda a documentação que eu vi), mas não funciona. Também não funciona se eu correr

sudo systemctl status avahi-daemon

Não dá um erro. Ele simplesmente não publica meu serviço (apesar do log dizendo que ele leu meu arquivo de configuração).

No entanto, e é aqui que fica estranho: se eu copiar o ssh.service padrão da documentação da avahi e executar novamente o comando systemctl acima, ele reconhecerá uma "alteração" nos arquivos de serviço, recarregará e, em seguida, ambos ssh e myservice serão publicado corretamente. Além disso, se eu remover o ssh.service e executar o systemctl novamente, ele reconhecerá que o ssh.service se foi e removerá esse serviço, mas deixará o myservice completamente funcional. No entanto, se eu reiniciar o dispositivo, ele deixará de funcionar novamente.

Além disso, se eu deixar o ssh.service e reiniciar, ele também não funcionará ...

Eu não entendo o que está errado.

Acrofales
fonte
Site errado. Publique isso em raspberrypi.stackexchange.com
Fusseldieb