AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题

问题[mqtt](unix)

Martin Hope
vico
Asked: 2020-01-01 01:24:13 +0800 CST

禁用客户端 SSL 证书

  • 0

我已经在自签名安全Mosquitto服务器上生成了客户端密钥证书。我已将带有客户端密钥的 CA 和客户端证书复制到客户端计算机中。客户端订阅运行良好:

mosquitto_sub -h 192.168.1.8 -t sensor --cafile ca.crt --cert client.crt --key client.key -p 8883 -d

但是,如果有人破解了我的客户端机器并获得了凭据怎么办。如何在服务器机器中禁用此证书?

ssl mqtt
  • 1 个回答
  • 200 Views
Martin Hope
gatorback
Asked: 2019-08-07 12:50:24 +0800 CST

MQTT 错误:连接丢失

  • 3

设置了“侦听器”控制台:

mosquitto_sub -h test.mosquitto.org -t "myTopic" -v

mosquitto_pub返回错误:

pi@raspberrypi:~ $ mosquitto_pub -h test.mosquitto.org  -t 'myTopic' -m 'hello world'
**Error: The connection was lost.**

可以从命令行采取哪些步骤来诊断是否存在语法问题?

更新:

将 MQTT 服务器替换为iot.eclipse.org不会出现错误并按预期返回有效负载。

侦听器控制台设置:

mosquitto_sub -h iot.eclipse.org -t "myTopic" -v

发送有效载荷:

mosquitto_pub -h iot.eclipse.org -t 'myTopic' -m 'hello world'

mosquitto_pub返回:

pi@raspberrypi:~ $ mosquitto_sub -h iot.eclipse.org -t "myTopic" -v
myTopic hello world

发布有效载荷:

pi@raspberrypi:~ $ mosquitto_pub -h test.mosquitto.org  -t 'myTopic' -m 'hello world'

更改 MQTT 代理表明没有语法错误,但是问题仍然是为什么在原始测试中返回错误

mqtt
  • 2 个回答
  • 4912 Views
Martin Hope
Milliways
Asked: 2019-01-16 16:49:45 +0800 CST

我似乎无法在 MQTT 中配置持久性

  • 0

我正在运行 Raspbian 的 Raspberry Pi 上尝试 MQTT。基本设置有效,但我似乎无法配置持久性。

关注https://tutorials-raspberrypi.com/raspberry-pi-mqtt-broker-client-wireless-communication/

我安装了mosquitto mosquitto-clients

我在后台进程中安装paho-mqtt并运行以下脚本,以从连接的传感器发布温度和湿度读数。

#!/usr/bin/python3
import os
import time
import sys
import Adafruit_DHT as dht
import paho.mqtt.client as mqtt
import json
import datetime
#
# Sensor should be set to Adafruit_DHT.DHT11, Adafruit_DHT.DHT22, or Adafruit_DHT.AM2302.
sensor = dht.DHT11
pin = 4

BROKER = 'localhost'

# Data capture and upload interval in seconds.
INTERVAL=15

sensor_data = {'date': 0, 'temperature': 0, 'humidity': 0}

next_reading = time.time()

client = mqtt.Client()

# Connect to BROKER using default MQTT port and 60 seconds keepalive interval
client.connect(BROKER, 1883, 60)

client.loop_start()

try:
    while True:
        humidity,temperature = dht.read_retry(sensor, pin)
        humidity = round(humidity, 2)
        temperature = round(temperature, 2)
        print(u"Temperature: {:g}\u00b0C, Humidity: {:g}%".format(temperature, humidity))
        sensor_data['temperature'] = temperature
        sensor_data['humidity'] = humidity
        sensor_data['date'] = datetime.datetime.now().replace(microsecond=0).isoformat()

#         client.publish('test_channel', json.dumps(sensor_data), 1)
        client.publish('test_channel', json.dumps(sensor_data), 2)

        next_reading += INTERVAL
        sleep_time = next_reading-time.time()
        if sleep_time > 0:
            time.sleep(sleep_time)
except KeyboardInterrupt:
    pass

client.loop_stop()
client.disconnect()

这有效,我可以在另一个 Pi 上看到消息,mosquitto_sub -h IPaddress -v -t test_channel但这仅在进程运行时有效。我希望代理保存消息,直到订阅者连接。

我在文件中添加了“persistence true”,/etc/mosquitto/conf.d/Milliways.conf日志文件显示如下消息

1547597521: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.

该数据库似乎不包含任何相关数据。

我已阅读https://pypi.org/project/paho-mqtt/#publishing和manfor mosquitto 上的文档。

mqtt
  • 1 个回答
  • 228 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve