MQTT Link dla Mobilus Cosmo GTW

Witam,

Projekt moblink jest odpowiedzią na potrzebę wokół możliwości podpięcia Cosmo GTW do dowolnego brokera MQTT w celu jego integracji z innymi platformami. Wewnętrzny topic clients z Cosmo GTW jest tłumaczony na zrozumiałą postać topic’ow oraz każda wiadomość jest odpowiednio dekodowana i deszyfrowana.

link do repozytorium

Topics do subskrpycji:

  • mobilus/devices/{deviceId}/state — biężący stan urządzenia (po wykonaniu rozkazu)
  • mobilus/devices/{deviceId}/error— błędy, które wystąpiły w trakcie operacji
  • mobilus/devices/{deviceId}/pending-command — otrzymane komendy zlecone do wykonania

Topics do publikowania:

  • mobilus/devices/{deviceId}/command —do wysyłania komend do urządzenia

{deviceId} to liczbowy ID przypisany przez Cosmo GTW

Instalacja

Najprostszym sposobem jest zainstalowanie paczki DEB (Debian/Ubuntu) na systemie. Dostępne są 2 wersje paczek: amd64 i arm64, ten pierwszy targetowany jest na wszystkie PC x64, drugi natomiast jest przeznaczony na urządzenia aarch64 tj. Raspberry Pi.

Link do ścignięcia paczki: click

sudo apt install ./moblink-*.deb

Domyślnie appka spróbuję się połączyć z Cosmo GTW oraz domyślnie publikuję przetłumaczone topicki na samym Cosmo GTW, a dokładniej jego broker MQTT - Mosquitto.

W celu naniesienia zmian otwórz plik konfiguracyjny /etc/moblink.conf.

Variable Description
MOBILUS_DSN DSN dla Cosmo GTW (mqtt:// or mqtts://)
MOBILUS_USERNAME mobilus login
MOBILUS_PASSWORD mobilus hasło
TARGET_DSN DSN dla target MQTT broker do którego mają trafiać wiadomości
ROOT_TOPIC Główny topic dodawany na początku do każdego topic, domyślnie: mobilus

W celu sprawdzenia czy moblink działa:

sudo systemctl status moblink

Można również wyświetlić na bieżąco jego logi:

sudo journalctl -fu moblink

Instalacja na Cosmo GTW

Instalacja odbywa się poprzez SSH na Cosmo GTW. Aby uaktywnić dostęp po SSH przejdź tutaj.

Do uruchomienia moblink na Cosmo GTW będzie wymagany runtime, który posiada nowsze biblioteki (pochodzą z OpenWRT 24.10) konieczne do uruchomienia nowszych appek.

wget --no-check-certificate -qO- https://raw.githubusercontent.com/piku235/mobgtw-runtime/main/install.sh | sh

Teraz, możesz zainstalować moblink taką prostą komendą:

/opt/jungi/bin/pkg install moblink

Odpowiednio dostosuj dane logowania do Mobilus jeżeli używasz innych danych logowania niż te domyślne w Cosmo GTW:

vim /opt/jungi/etc/moblink.conf

Po dokonanych zmianach w moblink.conf wykonaj komendę do przeładowania usługi:

/etc/init.d/moblink reload

Aby sprawdzić czy moblink poprawnie działa możesz zobaczyć log usługi:

logread -e moblink

Usunięcie

Dla DEB komenda jest następująca:

sudo apt remove moblink

W przypadku instalacji na Cosmo GTW:

/opt/jungi/bin/pkg remove moblink
4 polubienia