本帖最后由 沙漠之痕 于 2018-11-7 13:10 編輯
一 . 在本地電腦上安裝emqtt服務器:
1.首先安裝補丁:把補丁拷貝到" C:\Windows\System32 "文件夾下
1.png (112.52 KB, 下載次數: 64)
下載附件
2018-11-7 11:14 上傳
2. 控制臺模式下啟動:emqttd console
(1) 控制臺下切換到emqtt的bin目錄下。如:
2.png (26.92 KB, 下載次數: 55)
下載附件
2018-11-7 11:36 上傳
快速切換方法:在此目錄下按住“Shift”同時點擊鼠標右鍵選擇“在此處打開 命令窗口”
3.png (67.34 KB, 下載次數: 53)
下載附件
2018-11-7 11:36 上傳
(2)啟動mqtt服務器 “emqttd console”
4.png (28.35 KB, 下載次數: 55)
下載附件
2018-11-7 11:40 上傳
3. 通過網頁登陸查看鏈接信息 用戶名:admin 密碼:public
5.png (11.4 KB, 下載次數: 52)
下載附件
2018-11-7 11:41 上傳
6.png (19.21 KB, 下載次數: 44)
下載附件
2018-11-7 11:41 上傳
查看本機ip:
7.png (1.69 KB, 下載次數: 52)
下載附件
2018-11-7 11:41 上傳
8.png (49.93 KB, 下載次數: 45)
下載附件
2018-11-7 11:43 上傳
鏈接上一個客戶端
9.png (22.99 KB, 下載次數: 53)
下載附件
2018-11-7 11:43 上傳
我們再啟動一個客戶端讓兩個客戶端通信
10.png (25.85 KB, 下載次數: 40)
下載附件
2018-11-7 11:44 上傳
我們在查看下鏈接的客戶端
11.png (38.87 KB, 下載次數: 45)
下載附件
2018-11-7 11:44 上傳
客戶端通信
12.png (112.36 KB, 下載次數: 60)
下載附件
2018-11-7 11:44 上傳
13.png (33.39 KB, 下載次數: 49)
下載附件
2018-11-7 11:45 上傳
此種方法會打開一個窗口,關掉窗口emqtt服務也關閉; 讓emqtt服務器一直運行的 (1)控制臺先定位到emqtt的bin目錄下“D:\MqttServer\emqttd\bin” (2)emqttd install (3)啟動emqttd服務:emqttd start (4)停止emqttd服務:emqttd stop (5)卸載emqttd服務:emqttd uninstall
14.png (84.26 KB, 下載次數: 50)
下載附件
2018-11-7 11:45 上傳
二. ESP8266 模塊連接emqtt服務器進行遠程控制
init.lua文件: - RELAY_Pin = 1
- gpio.mode(RELAY_Pin, gpio.OUTPUT)
- gpio.write(RELAY_Pin,0)
- tmr.alarm(0,4000,0,function()
- dofile("mqtt.lua")
- end)
復制代碼
init.lua文件結束 mqtt.lua文件: - MqttServerIP="192.168.0.105"
- MqttServerPort=1883
- MqttUserName="admin"
- MqttUserPassword="public"
- MqttLinkStat = 0
- UartReceData = ""
- UartReceCnt = 0
- UartReceTempCnt = 0
- wifi.setmode(wifi.STATION)
- local stacfg={
- ssid="qqqqq",
- pwd="11223344"
- }
- wifi.sta.config(stacfg)
- wifi.sta.autoconnect(1)
- Clientid = wifi.sta.getmac()
- ClientSubscribeTopic = "AAA"
- ClientPublishTopic = "111"
- MqttClient=mqtt.Client(Clientid,3,MqttUserName,MqttUserPassword)
- MqttClient:lwt(ClientPublishTopic,"offline",1,1)
- local function ConnectSuccess(client)
- print("MqttServer connect sucess")
- client:subscribe(ClientSubscribeTopic,0,function(client)print("subscribe sucess")end)
- MqttLinkStat = 1
- tmr.stop(3)
- end
- local function ConnectFailed(client, reason)
- print("MqttServer connect fail"..reason)
- MqttLinkStat = 0
- tmr.start(3)
-
- end
- tmr.alarm(3, 2000, 1, function()
- MqttClient:connect(MqttServerIP, MqttServerPort, 0,ConnectSuccess,ConnectFailed)
- end)
- MqttClient:on("offline", function(client, topic, data) tmr.start(3) end)
- MqttClient:on("message", function(client, topic, data)
- if data == "open" then
- gpio.write(RELAY_Pin,1)
- if gpio.read(RELAY_Pin)==1 then
- if MqttClient ~= nil then
- MqttClient:publish(ClientPublishTopic,"ON-RELAY",1,1,function(client) end)
- end
- end
- end
- if data == "close" then
- gpio.write(RELAY_Pin,0)
- if gpio.read(RELAY_Pin)==0 then
- if MqttClient ~= nil then
- MqttClient:publish(ClientPublishTopic,"OFF-RELAY",1,1,function(client) end)
- end
- end
- End
- uart.write(0,data)
- end)
- tmr.alarm(2,10,1,function()
- if UartReceCnt ~= 0 then
- if UartReceTempCnt == UartReceCnt then
- UartReceTempCnt = 0
- UartReceCnt = 0
- --send to-Mqtt
- if MqttClient ~= nil then
- MqttClient:publish(ClientPublishTopic,UartReceData,1,1,function(client) end)
- end
- else
- UartReceTempCnt = UartReceCnt
- end
- end
- end)
- uart.on("data",0,function(data)
- UartReceData = UartReceData..data
- UartReceCnt = UartReceCnt + 1
- end,0)
- printip = 0
- wifi.eventmon.register(wifi.eventmon.STA_DISCONNECTED, function(T)
- printip = 0
- end)
- wifi.eventmon.register(wifi.eventmon.STA_GOT_IP, function(T)
- if printip == 0 then
- print("+IP "..T.IP)
- end
- printip = 1
- end)
復制代碼mqtt.lua文件結束
15.png (83 KB, 下載次數: 44)
下載附件
2018-11-7 11:48 上傳
16.png (74.54 KB, 下載次數: 49)
下載附件
2018-11-7 11:49 上傳
17.png (33.18 KB, 下載次數: 54)
下載附件
2018-11-7 11:49 上傳
模塊通過串口發送數據
18.png (88.94 KB, 下載次數: 43)
下載附件
2018-11-7 11:49 上傳
19.png (728.02 KB, 下載次數: 56)
下載附件
2018-11-7 11:50 上傳
PC客戶端發送”open”開繼電器
20.png (92.01 KB, 下載次數: 53)
下載附件
2018-11-7 11:50 上傳
PC客戶端發送”close”關繼電器
21.png (92.15 KB, 下載次數: 53)
下載附件
2018-11-7 11:51 上傳
22.png (994.85 KB, 下載次數: 60)
下載附件
2018-11-7 11:51 上傳
mqtt客戶端.zip
(118.4 KB, 下載次數: 34)
2018-11-7 11:52 上傳
點擊文件名下載附件
PC端mqtt測試軟件 下載積分: 黑幣 -5
ESP8266 連接mqtt遠程控制 lua源碼.zip
(700 Bytes, 下載次數: 30)
2018-11-7 12:52 上傳
點擊文件名下載附件
源碼 下載積分: 黑幣 -5
emqtt安裝包:https://pan.baidu.com/s/1EyPovGzNPAePmx4JT5urew提取碼:za3g
交流QQ:1813763867 QQ群:607064330
ESP8266 制作自己的wifi開關資料匯總:
鏈接:https://pan.baidu.com/s/1wtIwd5csjieme7O-PfGhbA
提取碼:71kt
連接失效請聯系本人及時更改
|