http://swf.com.tw/?p=1005

認識MQTT」文章提到,MQTT的訊息全都透過稱為代理人(broker)的伺服器交流。本文將說明頗受歡迎的開放原始碼MQTT伺服器Mosquitto,在Windows系統上的安裝流程,以及替MQTT伺服器開啟Windows防火牆埠號的步驟。

下載與安裝Mosquitto

Mosquitto(註:這個名稱和英文的蚊子只差一個字母,所以Mosquitto的標誌中間帶有一個尖刺)是非營利軟體供應商聯盟Eclipse基金會的開源物聯網專案計畫(iot.eclipse.org)中的一環,支援MQTT 3.1和3.1.1版通訊協定,可在Windows, macOS和Linux等作業系統上安裝執行。適用於Windows系統的安裝程式,可直接從Mosquitto官網下載(mosquitto.org/download),請選擇“Native build”(原生編譯版):

下載之後直接雙按它進行安裝。在安裝過程中,安裝程式會提示需要額外下載OpenSSLpthreads程式元件

請按下Next(下一步)繼續安裝,最後,螢幕上將出現如下的兩個錯誤訊息,告訴我們因為缺乏必要的.DLL元件,Mosquitto伺服器無法啟動。

下載與安裝Mosquitto所需的元件

請下載pthreads裡的pthreadVC2.dll元件:

接著下載Win32_OpenSSL_v1.0.2k_Light,32位元版本的OpenSSL安裝程式並執行它。

底下是OpenSSL的數個安裝步驟畫面之一,為了方便複製DLL檔,請選擇第二個選項,將OpenSSL的二進制檔(以及.DLL檔)存放到/bin資料夾(第一個選項是「存入系統資料夾」)。

這是OpenSSL最後一個安裝畫面,詢問你要捐助多少美金,如果目前尚未準備捐款,請取消勾選並按下Finish(完成)鈕。

選取OpenSSL安裝路徑(預設為C:\OpenSSL-Win32)的bin資料夾裡的libeay32.dll和ssleay32.dll:

把它們連同之前下載的pthreadVC2.dll元件,全都複製到Mosquitto安裝資料夾(預設路徑是C:\Program Files (x86)\mosquitto)。

重新安裝Mosquitto,就能順利安裝成功。

啟動Mosquitto伺服器

在Windows的「服務」或者「工作管理員」的「服務」項目中,找到mosquitto服務,然後在它的「狀態」欄位按滑鼠右鍵,選擇「啟動」。

若要確認Mosquitto伺服器是否在運作狀態。可在「命令提示字元」視窗中執行netstat -an,列舉目前作用中的連線。Mosquitto服務預設運作於1883埠,因此我們也可以執行netstat -an|find “1883”,確認Mosquitto伺服器目前正在執行中:

開通防火牆埠號1883

Windows的防火牆預設沒有開通1883埠號,因此本機電腦以外的MQTT裝置無法和Mosquitto伺服器連線。

設定Windows防火牆,允許外部裝置透過1883埠連入本機電腦的步驟如下:

1. 按下Windows防火牆設定面板左下角的「進階設定」,開啟「具有進階安全性的Windows防火牆」面板:

2. 底下畫面顯示所有可連入(輸入)和連出(輸出)本機的安全規則設定。請按右上角的「新增規則」,準備新增一個1883埠號的輸入規則。

3. 在「新增輸入規則精靈」的第一個設定選項,選擇「連接埠」,再按「下一步」。

4. 選擇“TCP”並指定1883連接埠。

5. 選擇「允許連線」。

6. 套用此規則的時機,可全部勾選,至少勾選前面兩項。

7. 最後,替此規則設定一個名稱和說明。

MQTT教學(二):安裝MQTT伺服器Mosquitto,Windows系統篇的更多相关文章

  1. [SharePoint 2010] 如何安裝啟用多國語系支援的SharePoint網站

    SharePoint 2010的多國語系支援與前一版的SharePoint 2007有所不同,SharePoint 2010內允許使用者自行決定使用介面語系的選擇. SharePoint 2010的多 ...

  2. MQTT教學(一):認識MQTT

    http://swf.com.tw/?p=1002 本系列文章旨在補充<超圖解物聯網IoT實作入門>,採用Arduino.ESP8266和Node.js實作MQTT物聯網通訊實驗. MQT ...

  3. (转)Ubuntu 16.04 安裝Docker(PS:本文适用amd64位的ubuntu系统)

    1.前置安裝,確保你的系統是64位 $ sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ software-p ...

  4. 鸟哥之安裝 CentOS7.x

    http://linux.vbird.org/linux_basic/0157installcentos7.php since 2002/01/01 新手建議 開始閱讀之前 網站導覽 Linux 基礎 ...

  5. [转]Oracle Client 11g安裝經驗

    本文转自:http://www.dotblogs.com.tw/shadow/archive/2011/11/08/54759.aspx 開發環境:本機(Win XP)的ASP.net 4 WebSi ...

  6. windows 下使用免安裝版MySql5.5

    windows 下使用面安裝版MySql5.5步驟如下 1.解壓下載的壓縮文件到指定文件夾.如:F:\DB\mysql-5.5.18-win32\mysql-5.5.18-win32: 2.在根目錄F ...

  7. Ubuntu 12.04不能在華碩F81se系列電腦上安裝解决辦法

    本人華碩F81se系列的電腦,剛開始是裝的ubuntu 10.04的系統,周末閑的無聊,就想把系統換成ubuntu 12.04的,從ubuntu官網上下載了12.04的安裝包,下了個usb insta ...

  8. [Python學習筆記] 在Centos上安裝 Django

    曾在模擬器跟Digital Ocean上安裝成功,我在 Digital Ocean上的是CentOS 7 x64,模擬器的則是Centos 6.雖然Centos 本身已經裝好 Python 但是是2. ...

  9. Gazebo機器人仿真學習探索筆記(一)安裝與使用

    Gazebo提供了多平臺的安裝和使用支持,大部分主流的linux,Mac以及Windows,這裏結合ROS以Ubuntu爲例進行介紹. 首先是參考資料:http://gazebosim.org/tut ...

随机推荐

  1. OSI标准协议分析

    1.各个层的作用 物理层:(physical Layer):物理层负责传送比特(Bit),涉及到接口和传输媒体的机械 电气特性 数据链路层:(data link layer):数据链路层负责传送的帧( ...

  2. oracle添加序列

    原文地址 http://blog.itpub.net/24099965/viewspace-1116923/ 1.创建.删除 create sequence seq_newsId increment ...

  3. 在PHP中使用CURL实现GET和POST请求的方法

    1.CURL介绍 CURL是一个利用URL语法规定来传输文件和数据的工具.支持很多协议,如HTTP.FTP.TELNET等. 幸运的是PHP也支持CURL库.本文将介绍curl的一些高级特性,以及在P ...

  4. MySQL复制介绍及搭建

    MySQL复制介绍 MySQL复制就是一台MySQL服务器(slave)从另一台MySQL服务器(master)进行日志的复制然后再解析日志并应用到自身,类似Oracle中的Data Guard. M ...

  5. Mac上搭建Python集成环境

    Jenkins安装 第一种方式下载安装包 官网 https://jenkins.io/download/ 下载安装包 第二种通过homebrew安装,前提需要安装jdk(推荐) brew instal ...

  6. neo4j安装部署

    链接: https://blog.csdn.net/u013946356/article/details/81736232

  7. learning java AWT MenuBar Menu MenuItem菜单

    import java.awt.*; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java ...

  8. leetcode解题报告(31):Kth Largest Element in an Array

    描述 Find the kth largest element in an unsorted array. Note that it is the kth largest element in the ...

  9. 洛谷 P1842 奶牛玩杂技 题解

    P1842 奶牛玩杂技 题目背景 Farmer John 养了N(1<=N<=50,000)头牛,她们已经按1~N依次编上了号.FJ所不知道的是,他的所有牛都梦想着从农场逃走,去参加马戏团 ...

  10. 洛谷 P5436 【XR-2】缘分 题解

    P5436 [XR-2]缘分 题目背景 世间万物都置身于缘分编织的大网中.缘分未到,虽历经千劫,却不能相遇.缘分到了,在草原上都能等到一艘船.--<一禅小和尚> 题目描述 一禅希望知道他和 ...