1、如何構建最適合自己的MQTT私有雲?
你說的私有雲是指IAAS還是PAAS,也就是說是要做一個數據存儲的空間,還是要一個平台,如果是平台的話,可以採用MQTT物聯網通信雲平台,行業唯一的。
2、java 實現串口接收到數據,立馬將接收到的數據通過mqtt上傳到阿里雲。
也不是來特別麻煩,你先源要清楚串口和伺服器用的什麼協議,假設串口用232,伺服器採用TCP,那麼你需要做的是建立一個客戶端的發送模塊,和一個串口的操作模塊(結合必須要用到多線程,以隊列或者委託來做數據交換);在測試之前一定要保證串口和客戶端發送接收是ok的才能做結合功能。
因為你串口已經做好了,那你需要的是將採集到的數據(字元串)保存到數組中,然後創建一個指向數組的指針p,然後在客戶端模塊里,將發送的數據寫成&p。建議先將數據轉16進制發,應該沒毛病。
3、怎麼將消息發送到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有很好地理解。
4、第三方軟體使用的MQTT協議,能向雲端伺服器要數據嗎?如果可以該怎麼做?
可以的
MQTT協議是為大量計算能力有限,且工作在低帶寬、不可靠的網路的遠程感測器和控制設備通訊而設計的協議,國內很多企業都廣泛使用MQTT作為Android手機客戶端與伺服器端推送消息的協議.
5、設備將數據發送到MQTT伺服器,那伺服器怎麼數據轉發到後台系統?
網上有很多的實際案例,多看幾個就明白了,比如這個:
6、mqtt 伺服器如何使用設置最大發送數量
1、在這里下載伺服器,下載後解壓,然後運行apache-apollo-1.6\bin\apollo.cmd,輸入create mybroker(名字任意取,這里是根據官網介紹的來取的)創建伺服器實例,伺服器實例包含了所有的配置,運行時數據等,並且和一個伺服器進程關聯。
2、create mybroker之後會在bin目錄下生成mybroker文件夾,裡麵包含有很多信息,其中etc\apollo.xml文件下是配置伺服器信息的文件,etc\users.properties文件包含連接MQTT伺服器時用到的用戶名和密碼,後面會介紹,可以修改原始的admin=password,可以接著換行添加新的用戶名密碼。
3、打開cmd,運行…apache-apollo-1.6\bin\mybroker\bin\apollo-broker.cmd run 開啟伺服器,可以在瀏覽器中輸入http://127.0.0.1:61680/查看是否安裝成功,該界面展示了topic,連接數等很多信息。
經過上面的簡單步驟,伺服器基本上就已經完成,下一篇將介紹Android客戶端的編寫和注意事項。
客戶端使用的API,開始我使用的是mqtt-client,使用過後發現問題百出,不能很好的滿足要求,後來使用了官方推薦的Eclipse Paho,
7、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的開源消息代理軟體,提供輕量級的、支持可發布/可訂閱的消息推送模式。
8、基於mqtt 數據怎麼實時上傳到雲平台
1.數據收集Gartner的對大數據有這樣一個定義:「大數據讓常用硬體軟體工具無法在用戶可容忍時間內對數據進行採集、管理和處理。」[1]麥肯錫全球研究院在2011年5月也有這樣一個概念:「大數據是指超出典型資料庫軟體工具採集、存儲、管理和分析能力的數據集。」[2]從上面的定義可以看出,大數據最大的挑戰在於如何在有限時間內對數據進行處理和分析,並得到有用信息。2.數據處理大數據處理中最著名的工具是Hadoop,不過它並不是一套實時系統。為了解決這個問題,計算機工程師們又開發了Storm和Kafka。ApacheStorm是一套開源的分布式實時計算系統。最早由NathanMarz[3]開發,在被Twitter收購後開源,並在2014年9月起成為Apache頂級開源項目。Storm被廣泛用於各種商業網站,包括Twitter、Yelp、Groupon、網路、淘寶等。Storm的使用場景非常廣泛,例如實時分析、在線機器學習、連續計算、分部署RPC、ET|等。Storm有著非常快的處理速度,單節點可以達到百萬個元組每秒,此外它還具有高擴展、容錯、保證數據處理等特性。圖1是Storm的一個簡單的架構。