Czy komuś udało się uruchomić od początku do końca na RPI?
Jutro robię drugie podejście
Jak zainstalować MQTT Explorer? Najlepeij komenda po komendzie. Pobrałem z Githuba, ale nie wiem co dalej
Supla - MQTT - Dashing
-
- Posts: 453
- Joined: Tue Nov 06, 2018 1:49 pm
MQTT Explorer instalujesz z tej strony:
Tam jest wersja instalacyjna pod Windows
http://mqtt-explorer.com/
Tam jest wersja instalacyjna pod Windows
http://mqtt-explorer.com/
-
- Posts: 78
- Joined: Wed Jul 26, 2017 8:15 am
- Location: Czernichów
Na razie udało mi się uruchomić na windowsowym mqtt broker bo z wersją rpi chwilowo nie działa.
Ale @Beku obiecuje, że w kilka dni będzie mieć wersje działająca na malinach.
Protestuj póki co na windowsie:)
-
- Posts: 714
- Joined: Mon May 07, 2018 8:00 pm
Na czystym rasbianie z docker-compose zrobiłem tak:
i mam
To jest ten błąd o którym piszesz @kaowiec?
Code: Select all
git clone https://github.com/toke/docker-mosquitto.git
cd docker-mosquitto
docker build .
docker run -ti -p 1883:1883 -p 9001:9001 toke/mosquitto
Code: Select all
Digest: sha256:3c18df61133085cec34050ed3d2f851bbe8d883483fb9167a05c616950b5e94b
Status: Downloaded newer image for toke/mosquitto:latest
standard_init_linux.go:211: exec user process caused "exec format error"
-
- Posts: 453
- Joined: Tue Nov 06, 2018 1:49 pm
Dlaczego nie korzystasz z tego co opisałem??Beku wrote: ↑Mon Nov 04, 2019 10:02 am Cześć!
Nadszedł moment na opisanie poszczególnych klocków mojego rozwiązania.
Aby osiągnąć efekt jaki prezentowałem musimy zainstalować kilka komponentów.
Ja wszystkie z nich instaluję w kontenerach i taką instalację tutaj opiszę, ale jak ktoś nie chce nie musi. Feel free.
Do zarządzania kontenerami polecam Portainer - https://www.portainer.io/
Oczywiście samo w sobie działa również jako kontener. Ale nie jest ono konieczne aby działało wszystko co opisałem poniżej.
Chciałbym na wstępie zaznaczyć, że nie biorę odpowiedzialności za to, że ktoś popsuje sobie swoją instalacje Linuxa, Rpi itd.
Każdy robi to na własną odpowiedzialność. Mogę jedynie zapewnić, że kroki opisane poniżej wykonywałem sam u siebie i wszystko działa.
W każdym bądź razie potrzebne nam będą:
1. Serwer MQTT
2. Smashing
3. Supla-mqtt-client
Instalacja serwera Mosquitto MQTT - docker
W poniższym opisie zakładam, że Użytkownik ma podstawowe pojecie o docke'rze i potrafi go używać.
Zakładam również że Użytkownik ma zainstalowanego dockera
Instalacja wersji dockerowej serwera MQTT Mosquitto jest stosunkowo prosta.
Ja skorzystałem z kodu udostępnionego pod adresem:
https://github.com/toke/docker-mosquitto
lub to samo na Docker Hub:
https://hub.docker.com/r/toke/mosquitto/
Zasadniczo wszystko sprowadza się do polecenia:Spowoduje to pobranie obrazu z Docker Hub i uruchomienie kontenera.Code: Select all
mkdir -p /srv/mqtt/config/ mkdir -p /srv/mqtt/data/ mkdir -p /srv/mqtt/log/ # place your mosquitto.conf in /srv/mqtt/config/ # NOTE: You have to change the permissions of the directories # to allow the user to read/write to data and log and read from # config directory # For TESTING purposes you can use chmod -R 777 /srv/mqtt/* # Better use "-u" with a valid user id on your docker host # Copy the files from the config directory of this project # into /src/mqtt/config. Change them as needed for your # particular needs. docker run -ti -p 1883:1883 -p 9001:9001 \ -v /srv/mqtt/config:/mqtt/config:ro \ -v /srv/mqtt/log:/mqtt/log \ -v /srv/mqtt/data/:/mqtt/data/ \ --name mqtt toke/mosquitto
W powyższych wpisach opisane jest jak sprawić aby kontener ruszył przy starcie systemu itd.
Jeśli wszystko się powiedzie możemy sprawdzić czy nas serwer MQTT jest widoczny w sieci.
Może do tego posłużyć narzędzie MQTT Explorer dostępne pod adresem: http://mqtt-explorer.com/
Wpisujemy w nim adres naszego serwera MQTT i port (domyślnie 1883). Jeśli serwer działa to MQTT Explorer się do niego podłączy.
Zalecam od razu po zainstalowaniu MQTT przejście przez poradnik dotyczący zabezpieczenia serwera użytkownikiem i hasłem (link poniżej)
UWAGA!!! Niektóre z operacji opisanych w poniższym poradniku dotyczącym zabezpieczania serwera MQTT wymagają użycia narzędzi dostępnych w MQTT.
Jeśli zainstalowaliśmy mosquitto jako kontener musimy podłączyć się do tego kontenera poleceniem:
docker exec -it <containerIdOrName> bash
wtedy dostępne będzie np. narzędzie mosquitto_passwd
http://www.steves-internet-guide.com/mq ... d-example/
MQTT Explorer wspiera również autoryzację user/pass wiec możemy od razu ją przetestować.
Jeśli MQTT Explorer może się połączyć do naszego serwera to znaczy, że wszystko jest OK. Możemy przejść do kolejnego kroku.
Jeśli nie - nie idźcie dalej. Lepiej rozwiązywać problemy po kolei. Piszcie w wątku postaram się pomóc.
Ok, w tej części to tyle. Po południu wrzucę źródła z mojego Smashing'a i opis jak go zainstalować. Pozdro!
-
- Posts: 453
- Joined: Tue Nov 06, 2018 1:49 pm
Jedyne co musisz zrobić to to:
I nie, nieprawda że nie działa na Mosquitto na RPi. Nie zrobiłem wsparcia dla wersji 3.1.1 MQTT, dla nowszej wszystko działa a powyższy kod taka właśnie wersję instaluje.
Mam wszystko postawione na RPi w kontenerach.
Code: Select all
mkdir -p /srv/mqtt/config/
mkdir -p /srv/mqtt/data/
mkdir -p /srv/mqtt/log/
# place your mosquitto.conf in /srv/mqtt/config/
# NOTE: You have to change the permissions of the directories
# to allow the user to read/write to data and log and read from
# config directory
# For TESTING purposes you can use chmod -R 777 /srv/mqtt/*
# Better use "-u" with a valid user id on your docker host
# Copy the files from the config directory of this project
# into /src/mqtt/config. Change them as needed for your
# particular needs.
docker run -ti -p 1883:1883 -p 9001:9001 \
-v /srv/mqtt/config:/mqtt/config:ro \
-v /srv/mqtt/log:/mqtt/log \
-v /srv/mqtt/data/:/mqtt/data/ \
--name mqtt toke/mosquitto
Mam wszystko postawione na RPi w kontenerach.
-
- Posts: 78
- Joined: Wed Jul 26, 2017 8:15 am
- Location: Czernichów
Racja.
Wersja kontenerowa na rpi działa.
Nie działa tylko ta, którą się instaluje bezpośrednio z repozytoriow.
Ale będzie działać...
-
- Posts: 453
- Joined: Tue Nov 06, 2018 1:49 pm
Stosowna zmiana już czeka na akceptację przez naczelnego wodza
-
- Posts: 714
- Joined: Mon May 07, 2018 8:00 pm
chyba jednak coś nie tak
Code: Select all
root@raspberrypi:/home/pi# docker run -ti -p 1883:1883 -p 9001:9001 \
> -v /srv/mqtt/config:/mqtt/config:ro \
> -v /srv/mqtt/log:/mqtt/log \
> -v /srv/mqtt/data/:/mqtt/data/ \
> --name mqtt toke/mosquitto
Unable to find image 'toke/mosquitto:latest' locally
latest: Pulling from toke/mosquitto
3d77ce4481b1: Pull complete
846891b17e6d: Pull complete
34157dd498aa: Pull complete
ed5d19727749: Pull complete
0969bf11f82b: Pull complete
2e3e26bab9eb: Pull complete
Digest: sha256:3c18df61133085cec34050ed3d2f851bbe8d883483fb9167a05c616950b5e94b
Status: Downloaded newer image for toke/mosquitto:latest
standard_init_linux.go:211: exec user process caused "exec format error"
root@raspberrypi:/home/pi#
-
- Posts: 453
- Joined: Tue Nov 06, 2018 1:49 pm
Wykonaj:
I spróbuj jeszcze raz. U mnie na RPi nie ma problemu z tym obrazem dokerowym.
Możesz również spróbować innej instancji z docker huba:
Code: Select all
sudo apt-get update
sudo apt-get upgrade
Możesz również spróbować innej instancji z docker huba:
Code: Select all
docker run -it -p 1883:1883 -p 9001:9001 -v mosquitto.conf:/mosquitto/config/mosquitto.conf -v /mosquitto/data -v /mosquitto/log eclipse-mosquitto