MQTT教學(二):安裝MQTT伺服器Mosquitto,Windows系統篇
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”(原生編譯版):
下載之後直接雙按它進行安裝。在安裝過程中,安裝程式會提示需要額外下載OpenSSL和pthreads程式元件:
請按下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系統篇的更多相关文章
- [SharePoint 2010] 如何安裝啟用多國語系支援的SharePoint網站
SharePoint 2010的多國語系支援與前一版的SharePoint 2007有所不同,SharePoint 2010內允許使用者自行決定使用介面語系的選擇. SharePoint 2010的多 ...
- MQTT教學(一):認識MQTT
http://swf.com.tw/?p=1002 本系列文章旨在補充<超圖解物聯網IoT實作入門>,採用Arduino.ESP8266和Node.js實作MQTT物聯網通訊實驗. MQT ...
- (转)Ubuntu 16.04 安裝Docker(PS:本文适用amd64位的ubuntu系统)
1.前置安裝,確保你的系統是64位 $ sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ software-p ...
- 鸟哥之安裝 CentOS7.x
http://linux.vbird.org/linux_basic/0157installcentos7.php since 2002/01/01 新手建議 開始閱讀之前 網站導覽 Linux 基礎 ...
- [转]Oracle Client 11g安裝經驗
本文转自:http://www.dotblogs.com.tw/shadow/archive/2011/11/08/54759.aspx 開發環境:本機(Win XP)的ASP.net 4 WebSi ...
- windows 下使用免安裝版MySql5.5
windows 下使用面安裝版MySql5.5步驟如下 1.解壓下載的壓縮文件到指定文件夾.如:F:\DB\mysql-5.5.18-win32\mysql-5.5.18-win32: 2.在根目錄F ...
- Ubuntu 12.04不能在華碩F81se系列電腦上安裝解决辦法
本人華碩F81se系列的電腦,剛開始是裝的ubuntu 10.04的系統,周末閑的無聊,就想把系統換成ubuntu 12.04的,從ubuntu官網上下載了12.04的安裝包,下了個usb insta ...
- [Python學習筆記] 在Centos上安裝 Django
曾在模擬器跟Digital Ocean上安裝成功,我在 Digital Ocean上的是CentOS 7 x64,模擬器的則是Centos 6.雖然Centos 本身已經裝好 Python 但是是2. ...
- Gazebo機器人仿真學習探索筆記(一)安裝與使用
Gazebo提供了多平臺的安裝和使用支持,大部分主流的linux,Mac以及Windows,這裏結合ROS以Ubuntu爲例進行介紹. 首先是參考資料:http://gazebosim.org/tut ...
随机推荐
- 时间模块time和datetime的使用
日期和时间 一 time模块 import time 时间的表示形式: 时间戳 时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现 ...
- VLAN实验3:理解Hybrid接口的应用
实验环境 实验拓扑图 实验编址 实验步骤1.基本配置按照实验编址为PC配置IP地址,以PC5为例 在PC5与PC1通过ping命令测试,发现通讯正常.(以此为例,其他的我就不一一截图测试了.) 在S1 ...
- C++(四十三) — 函数模板机制
1.普通函数与模板函数调用原则 函数模板可以像普通函数一样被重载: 当函数模板和普通函数都符合条件时,编译器优先考虑普通函数: 但如果函数模板产生一个更好的匹配,则选择函数模板: 可以通过空模板实参 ...
- ModelForm的简单使用-注册用modelform编写
1.前端的ajax代码不用改动 2.modelform,在原来基础上稍作改动 from django import forms from app01.models import UserInfo fr ...
- Samba服务安装
安装Samba服务 1.在可以联网的机器上使用yum工具安装,如果未联网,则挂载系统光盘进行安装. # yum install samba samba-client samba-swat 有依赖关 ...
- C++第三章课后作业答案及解析---指针的使用
今天继续完成上周没有完成的习题---C++第三章课后作业,本章题涉及指针的使用,有指向对象的指针做函数参数,对象的引用以及友元类的使用方法等 它们具体的使用方法在下面的题目中会有具体的解析(解析标注在 ...
- 解决SQL Error: 0, SQLState: S1009,Invalid value for getLong() - 'XX'的问题
内容简介 今天遇到一个异常,报出消息为SQL Error: 0, SQLState: S1009,Invalid value for getLong() - 'PH',排查问题后,结果令人哑然失笑,也 ...
- python - 一键复习知识点
## rest规范: 通过不同的 method 找到对应的 url ## Django 请求生命周期 - wsgi ,它就是socket 服务端,服务端接收用户请求并将请求初次封装,然后交给 D ...
- Windows系统错误处理机制
一.什么是错误 意为意为不正确,与正确答案相反.我们这里讲的是Windows操作系统里进程运行时产生的错误.对我们程序员来说,其实也就是我们编程过程中,调用Windows系统提供的API.COM 接口 ...
- LibreOJ #527. 「LibreOJ β Round #4」框架
二次联通门 : LibreOJ #527. 「LibreOJ β Round #4」框架 /* LibreOJ #527. 「LibreOJ β Round #4」框架 %% xxy dalao 对于 ...