Mosquitto-PHP Библиотека в малине и окнах

Я устанавливаю PHP-клиент для MQTT, используя Mosquitto-PHP

Библиотека в малине
php библиотека москитов/

после этого создайте pub.php в /var/www/html/mqtt когда пишешь в браузере http://xxx.xxx.xxx.xx/mqtt/pup.php и не вижу никаких данных

Я тогда попробовал

$mosquitto_pub -h localhost -t "/mqtt" -m "HelloWorld"

и получить

bash: -h: command not found

Я не знаю, где проблема, для информации напишите в команде

$mosquitto -v
1464002857: mosquitto version 1.4.8 (build date Tue, 17 May 2016 11:26:59 +0100) starting
1464002857: Using default config.
1464002857: Opening ipv4 listen socket on port 1883.
1464002857:Error: Address already in use

У меня также есть такая же проблема в моих окнах, я устанавливаю москит, см. Эту ссылку шаг за шагом-установка-и-настраиваемой-mosquitto-с-Windows-7

Я вижу, что сервис для Mosquitto Broker (брокер MQTT v3.1) работает и
проверьте пример pub.php, чтобы протестировать результат — ошибка Mosquitto\Client() не найден

Я искал и нашел mosquitto.php и положил этот код в pub.php

require "mosquitto.php";

Я не знаю, в чем проблема, может ли кто-нибудь помочь мне запустить москит в моих окнах и малину.

Мне нужно попробовать mqtt, связанный с localhost, и проверить, что соединение в порядке или нет, а также подписаться, опубликовать и прочитать сообщение.

0

Решение

эта информация для установки москиттолиба с php в малину

 wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key

sudo apt-key add mosquitto-repo.gpg.key

cd /etc/apt/sources.list.d/

sudo wget http://repo.mosquitto.org/debian/mosquitto-jessie.list

sudo apt-get update

apt-get install mosquitto

sudo apt-get install mosquitto-clients

sudo apt-get install php5-dev

sudo apt-get install libmosquitto-dev

sudo pecl install Mosquitto-alpha

и в /etc/php5/mods-available/mosquitto.ini

добавить этот код

extension=mosquitto.so

этот код для проверки версии библиотеки Mosquitto

dpkg -l | grep mosquito

и конец позволил, что с комара sudo php5enmod

 sudo php5enmod mosquitto
echo "<?php phpinfo(); ?>" > ~/tester.php
php ~/tester.php

код pub.php

   <?php

$client = new Mosquitto\Client();
$client->onConnect('connect');
$client->onDisconnect('disconnect');
$client->onPublish('publish');
$client->connect("localhost", 1883, 5);

while (true) {
try{
$client->loop();
$mid = $client->publish('/hasan', "Hello from PHP");
$client->loop();
}catch(Mosquitto\Exception $e){
return;
}
sleep(2);
}

$client->disconnect();
unset($client);

function connect($r) {
echo "I got code {$r}\n";
}

function publish() {
global $client;
echo "Mesage published\n";
$client->disconnect();
}

function disconnect() {
echo "Disconnected cleanly\n";
}

код sub.php

     <?php

$client = new Mosquitto\Client();
$client->onConnect('connect');
$client->onDisconnect('disconnect');
$client->onSubscribe('subscribe');
$client->onMessage('message');
$client->connect("localhost", 1883, 60);
$client->subscribe('/hasan', 1);while (true) {
$client->loop();
sleep(2);
}

$client->disconnect();
unset($client);

function connect($r) {
echo "I got code {$r}\n";
}

function subscribe() {
echo "Subscribed to a topic\n";
}

function message($message) {
printf("\nGot a message on topic %s with payload:%s",
$message->topic, $message->payload);
}

function disconnect() {
echo "Disconnected cleanly\n";
}

проверить sub.php и pub.php

1

Другие решения

Ошибка при запуске посредника заключается в том, что mosquitto уже работает как служба. Если вы хотите запустить его на переднем плане в подробном режиме, вам придется сначала остановить его.

Запустите следующее на TRaspberry Pi, чтобы остановить службу.

sudo service stop mosquitto

Ошибка с mosquitto_pub подразумевает, что вы нажимаете возврат между mosquitto и -h localhost...

Проблемы с PHP должны быть подняты как отдельный вопрос.

0

Теперь мне нужен тестовый код pub.php и sub.php, как это можно сделать

Я поставил sup.php & pub.php в / var / www / html

sub.php

 <?php

$client = new Mosquitto\Client();
$client->onConnect('connect');
$client->onDisconnect('disconnect');
$client->onSubscribe('subscribe');
$client->onMessage('message');
$client->connect("localhost", 1883, 60);
$client->subscribe('/#', 1);while (true) {
$client->loop();
sleep(2);
}

$client->disconnect();
unset($client);

function connect($r) {
echo "I got code {$r}\n";
}

function subscribe() {
echo "Subscribed to a topic\n";
}

function message($message) {
printf("\nGot a message on topic %s with payload:%s",
$message->topic, $message->payload);
}

function disconnect() {
echo "Disconnected cleanly\n";
}

pub.php

   <?php

$client = new Mosquitto\Client();
$client->onConnect('connect');
$client->onDisconnect('disconnect');
$client->onPublish('publish');
$client->connect("localhost", 1883, 5);

while (true) {
try{
$client->loop();
$mid = $client->publish('/mqtt', "Hello from PHP");
$client->loop();
}catch(Mosquitto\Exception $e){
return;
}
sleep(2);
}

$client->disconnect();
unset($client);

function connect($r) {
echo "I got code {$r}\n";
}

function publish() {
global $client;
echo "Mesage published\n";
$client->disconnect();
}

function disconnect() {
echo "Disconnected cleanly\n";
}
0

Сейчас работа
Установите в этой команде по этой ссылке
http://mosquitto.org/2013/01/mosquitto-debian-repository/

также установить москитные клиенты

sudo apt-get install mosquitto-clients

после этого я использую эти команды для тестирования

$ mosquitto_sub -h 192.168.1.2 -d -t hello/world

а также

$ mosquitto_pub -h 192.168.1.2 -d -t hello/world -m "Message To Send"

Где 192.168.1.2 — IP-адрес вашего Raspberry Pi
пожалуйста, смотрите эту ссылку
https://rasspberrypi.wordpress.com/2012/09/16/mosquitto-mqtt-on-raspberry-pi-broker-publish-and-subscribe-client/

pi @ raspberrypi: ~ $ mosquitto_sub -h 210.201.4.114 -d -t привет / мир

Клиент mosqsub / 1796-raspberryp отправляет CONNECT

Клиент mosqsub / 1796-raspberryp получил CONNACK

Клиент mosqsub / 1796-raspberryp отправляет ПОДПИСАТЬСЯ (Mid: 1, Тема: hello / world, QoS: 0)

Клиент mosqsub / 1796-raspberryp получил SUBACK
Подписано (середина: 1): 0

Клиент mosqsub / 1796-raspberryp отправляющий PINGREQ

Клиент mosqsub / 1796-raspberryp получил PINGRESP

Клиент mosqsub / 1796-raspberryp отправляющий PINGREQ

Клиент mosqsub / 1796-raspberryp получил PINGRESP

Клиент mosqsub / 1796-raspberryp получил PUBLISH (d0, q0, r0, m0, «привет / мир», … (15 байт))

Сообщение для отправки

Клиент mosqsub / 1796-raspberryp отправляющий PINGREQ

Клиент mosqsub / 1796-raspberryp получил PINGRESP

============================================

pi @ raspberrypi: ~ $ mosquitto_pub -h 210.201.4.114 -d -t hello / world -m «Сообщение для отправки»

Клиент mosqpub / 1800-raspberryp отправляет CONNECT

Клиент mosqpub / 1800-raspberryp получил CONNACK

Клиент mosqpub / 1800-raspberryp отправляет PUBLISH (d0, q0, r0, m1, «привет / мир», … (15 байт))

Клиент mosqpub / 1800-raspberryp отправляет DISCONNECT

0
По вопросам рекламы [email protected]