可以收集哪些信息来采取纠正措施以启用对示例 MQTT 主题的订阅?
目标是根据以下内容重现测试(订阅和发布) 指令的步骤 3:已安装 MQTT 服务器并尝试使用 MQTT 客户端订阅失败:
pi@raspberrypi:~ $ mosquitto_sub –d –t armtronix_mqtt
**Error: Unknown option '–d'.**
Use 'mosquitto_sub --help' to see usage.
帮助页面:
pi@raspberrypi:~ $ mosquitto_sub --help
mosquitto_sub is a simple mqtt client that will subscribe to a single topic and print all messages it receives.
mosquitto_sub version 1.4.10 running on libmosquitto 1.4.10.
Usage: mosquitto_sub [-c] [-h host] [-k keepalive] [-p port] [-q qos] [-R] -t topic ...
[-C msg_count] [-T filter_out]
[-A bind_address] [-S]
[-i id] [-I id_prefix]
[-d] [-N] [--quiet] [-v]
[-u username [-P password]]
[--will-topic [--will-payload payload] [--will-qos qos] [--will-retain]]
[{--cafile file | --capath dir} [--cert file] [--key file]
[--ciphers ciphers] [--insecure]]
[--psk hex-key --psk-identity identity [--ciphers ciphers]]
[--proxy socks-url]
mosquitto_sub --help
-A : bind the outgoing socket to this host/ip address. Use to control which interface
the client communicates over.
-c : disable 'clean session' (store subscription and pending messages when client disconnects).
-C : disconnect and exit after receiving the 'msg_count' messages.
-d : enable debug messages.
-h : mqtt host to connect to. Defaults to localhost.
-i : id to use for this client. Defaults to mosquitto_sub_ appended with the process id.
-I : define the client id as id_prefix appended with the process id. Useful for when the
broker is using the clientid_prefixes option.
-k : keep alive in seconds for this client. Defaults to 60.
-N : do not add an end of line character when printing the payload.
-p : network port to connect to. Defaults to 1883.
-P : provide a password (requires MQTT 3.1 broker)
-q : quality of service level to use for the subscription. Defaults to 0.
-R : do not print stale messages (those with retain set).
-S : use SRV lookups to determine which host to connect to.
-t : mqtt topic to subscribe to. May be repeated multiple times.
-T : topic string to filter out of results. May be repeated.
-u : provide a username (requires MQTT 3.1 broker)
-v : print published messages verbosely.
-V : specify the version of the MQTT protocol to use when connecting.
Can be mqttv31 or mqttv311. Defaults to mqttv31.
--help : display this message.
--quiet : don't print error messages.
--will-payload : payload for the client Will, which is sent by the broker in case of
unexpected disconnection. If not given and will-topic is set, a zero
length message will be sent.
--will-qos : QoS level for the client Will.
--will-retain : if given, make the client Will retained.
--will-topic : the topic on which to publish the client Will.
--cafile : path to a file containing trusted CA certificates to enable encrypted
certificate based communication.
--capath : path to a directory containing trusted CA certificates to enable encrypted
communication.
--cert : client certificate for authentication, if required by server.
--key : client private key for authentication, if required by server.
--ciphers : openssl compatible list of TLS ciphers to support.
--tls-version : TLS protocol version, can be one of tlsv1.2 tlsv1.1 or tlsv1.
Defaults to tlsv1.2 if available.
--insecure : do not check that the server certificate hostname matches the remote
hostname. Using this option means that you cannot be sure that the
remote host is the server you wish to connect to and so is insecure.
Do not use this option in a production environment.
--psk : pre-shared-key in hexadecimal (no leading 0x) to enable TLS-PSK mode.
--psk-identity : client identity string for TLS-PSK mode.
--proxy : SOCKS5 proxy URL of the form:
socks5h://[username[:password]@]hostname[:port]
Only "none" and "username" authentication is supported.
MQTT 客户端安装日志:
pi@raspberrypi:~ $ sudo apt-get install mosquitto-clients
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
coinor-libipopt1v5 libmumps-seq-4.10.0 libraw15
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
libmosquitto1
The following NEW packages will be installed:
libmosquitto1 mosquitto-clients
0 upgraded, 2 newly installed, 0 to remove and 1 not upgraded.
Need to get 99.5 kB of archives.
After this operation, 222 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://raspbian.raspberrypi.org/raspbian stretch/main armhf libmosquitto1 armhf 1.4.10-3+deb9u4 [47.2 kB]
Get:2 http://raspbian.raspberrypi.org/raspbian stretch/main armhf mosquitto-clients armhf 1.4.10-3+deb9u4 [52.3 kB]
Fetched 99.5 kB in 1s (86.7 kB/s)
Selecting previously unselected package libmosquitto1:armhf.
(Reading database ... 141867 files and directories currently installed.)
Preparing to unpack .../libmosquitto1_1.4.10-3+deb9u4_armhf.deb ...
Unpacking libmosquitto1:armhf (1.4.10-3+deb9u4) ...
Selecting previously unselected package mosquitto-clients.
Preparing to unpack .../mosquitto-clients_1.4.10-3+deb9u4_armhf.deb ...
Unpacking mosquitto-clients (1.4.10-3+deb9u4) ...
Processing triggers for libc-bin (2.24-11+deb9u4) ...
Processing triggers for man-db (2.7.6.1-2) ...
Setting up libmosquitto1:armhf (1.4.10-3+deb9u4) ...
Setting up mosquitto-clients (1.4.10-3+deb9u4) ...
Processing triggers for libc-bin (2.24-11+deb9u4) ...
.list
Raspbian buster 的文件安装:
pi@raspberrypi:~ $ cd /etc/apt/sources.list.d/
pi@raspberrypi:/etc/apt/sources.list.d $ sudo wget http://repo.mosquitto.org/debian/mosquitto-buster.list
--2019-08-01 00:01:16-- http://repo.mosquitto.org/debian/mosquitto-buster.list
Resolving repo.mosquitto.org (repo.mosquitto.org)... 85.119.83.194, 2001:ba8:1f1:f271::2
Connecting to repo.mosquitto.org (repo.mosquitto.org)|85.119.83.194|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 50 [application/octet-stream]
Saving to: ‘mosquitto-buster.list’
mosquitto-buster.list 100%[===================================================================>] 50 --.-KB/s in 0s
2019-08-01 00:01:17 (1.14 MB/s) - ‘mosquitto-buster.list’ saved [50/50]
pi@raspberrypi:/etc/apt/sources.list.d $ mosquitto_sub –t armtronix_mqtt
Error: Unknown option '–t'.
Use 'mosquitto_sub --help' to see usage.
pi@raspberrypi:/etc/apt/sources.list.d $ sudo apt-get install mosquitto-clients
Reading package lists... Done
Building dependency tree
Reading state information... Done
mosquitto-clients is already the newest version (1.4.10-3+deb9u4).
The following packages were automatically installed and are no longer required:
coinor-libipopt1v5 libmumps-seq-4.10.0 libraw15
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
pi@raspberrypi:/etc/apt/sources.list.d $ mosquitto_sub –t armtronix_mqtt
Error: Unknown option '–t'.
Use 'mosquitto_sub --help' to see usage.
pi@raspberrypi:/etc/apt/sources.list.d $ mosquitto_sub -d –t armtronix_mqtt
Error: Unknown option '–t'.
Use 'mosquitto_sub --help' to see usage.
答案1
我不知道你输入的是什么字符-
,但它是错误的。您应该使用简单的减号/连字符/破折号字符,但您似乎使用了某种较长的破折号:
–t incorrect
-t correct
0在我的英国键盘上,它是和之间的键=,无需换档即可使用。