1、mqtt伺服器用哪一個好
^
2、怎麼將消息發送到mqtt代理伺服器
通過Cocoa Pods添加MQTTKit
MQTTKit在github上鏈接https://github.com/NormanLeeIOS/MQTTKit#send-a-message,down下來。
cd到工程目錄,輸入pod install,用xcode打開工程的打開xcworkspace擴展名的文件。
如果不是MQTTKit存在更新的版本,則輸入pod update。
新建一個MQTT的服務請求
NSString *clientID = ...
MQTTClient *client = [[MQTTClient alloc] initWithClientId:clientID];
發送消息,每次發送消息包括目標host和本地MQTT消息.具體MQTT格式消息見代碼。這里Host可以是Server的IP,不需要host表解析。
// connect to the MQTT server
[self.client connectToHost:@"iot.eclipse.org"
completionHandler:^(NSUInteger code) {
if (code == ConnectionAccepted) {
// when the client is connected, send a MQTT message
[self.client publishString:@"Hello, MQTT"
toTopic:@"/MQTTKit/example"
withQos:AtMostOnce
retain:NO
completionHandler:^(int mid) {
NSLog(@"message has been delivered");
}];
}
}];
訂閱主題並接受MQTT格式的消息,這部分在viewdidload中實現。
// define the handler that will be called when MQTT messages are received by the client
[self.client setMessageHandler:^(MQTTMessage *message) {
NSString *text = [message.payloadString];
NSLog(@"received message %@", text);
}];
// connect the MQTT client
[self.client connectToHost:@"iot.eclipse.org"
completionHandler:^(MQTTConnectionReturnCode code) {
if (code == ConnectionAccepted) {
// when the client is connected, subscribe to the topic to receive message.
[self.client subscribe:@"/MQTTKit/example"
withCompletionHandler:nil];
}
}];
斷開連接
[self.client :^(NSUInteger code) {
// The client is disconnected when this completion handler is called
NSLog(@"MQTT client is disconnected");
}];
整個連接建立、發送消息、接受消息、斷開連接都是通過Block的消息機制來實現,因此需要對block有很好地理解。
3、嵌入式終端可以作為 MQTT伺服器 嗎
可以,但是你需要一個公網IP,一般終端是沒有公網IP的,除非當成二道販子,用公網IP伺服器進行轉發
4、php適合做MQTT伺服器嗎
Apache-Apollo:一個代理伺服器,在ActiveMQ基礎上發展而來,可以支持STOMP、AMQP、MQTT、Openwire、SSL和WebSockets等多種協議,並且Apollo提供後台管理頁面,方便開發者管理和調試。
EMQ:EMQ 2.0,號稱百萬級開源MQTT消息伺服器,基於Erlang/OTP語言平台開發,支持大規模連接和分布式集群,發布訂閱模式的開源MQTT消息伺服器。
HiveMQ:一個企業級的MQTT代理,主要用於企業和新興的機器到機器M2M通訊和內部傳輸,最大程度的滿足可伸縮性、易管理和安全特性,提供免費的個人版。HiveMQ提供了開源的插件開發包。
Mosquitto:一款實現了消息推送協議MQTT v3.1的開源消息代理軟體,提供輕量級的、支持可發布/可訂閱的消息推送模式。
5、如何判斷mqtt伺服器是否正常
windows的平台 由於有32位的 也有64位的 所以 去下一個和自己的電腦 相區配的。
下載後直接雙擊安裝就行 之後 進入安裝目錄 最好用命令行的方式 啟動mosquitto.exe 然後就是 編寫 android 客戶端代碼 mqtt 是訂閱/發布的方式 eoeandroid 安卓開發社區上有詳細的教程,你自己可以找一下。。
6、設備將數據發送到MQTT伺服器,那伺服器怎麼數據轉發到後台系統?
網上有很多的實際案例,多看幾個就明白了,比如這個:
7、如何設置mqtt伺服器的賬號密碼
Mosquitto用戶認證配置
前言:基於Mosquitto伺服器已經搭建成功,大部分都是採用默認的是允許匿名用戶登錄模式,正式上線的系統需要進行用戶認證。
1.用戶參數說明
Mosquitto伺服器的配置文件為/etc/mosquitto/mosquitto.conf,關於用戶認證的方式和讀取的配置都在這個文件中進行配置。
allow_anonymous允許匿名
password_file密碼文件
acl_file訪問控制列表
# 不允許匿名
allow_anonymous false
# 配置用戶密碼文件
password_file /etc/mosquitto/pwfile
# 配置topic和用戶
acl_file /etc/mosquitto/acl
2.添加用戶信息
添加用戶'chisj'密碼』chisj『,
#mosquitto_passwd -c /etc/mosquitto/pwfile chisj
3.添加Topic和用戶的關系
4.用戶認證測試
重啟Mosquitto
通過Ctrl+C關閉mosquitto,然後通過下面命令啟動Mosquitto
# mosquitto-c /etc/mosquitto/mosquitto.conf
(訂閱端)客戶端啟動:
#mosquitto_sub -h 192.168.1.100 -t mtopic -u chisj -P chisj
(發布者)客戶端啟動:
#mosquitto_pub -h 192.168.1.100 -t mtopic -u chisj -P chisj -m "test"