基于ZigBee的智能家居设计与实现—MQTT服务器搭建+APP开发

MQTT服务器搭建

emqx-windows-4.2.7 安装包链接:https://pan.baidu.com/s/1SU_p1La85CLSWa-opcoJQA
提取码:LK5B
复制这段内容后打开百度网盘手机App,操作更方便哦
提取码:LK5B

将压缩包解压到D盘根目录

在这里插入图片描述

Win+R 输入CMD打开命令窗口

依次输入以下命令

D:
cd emqx-windows-4.2.7\emqx\bin
emqx start

命令的作用是切换地址到EMQ X安装目录下,然后启动EMQ X。

等待命令运行完成。

在这里插入图片描述

启动浏览器 输入网址:http://127.0.0.1:18083/ 到达登录页面。用户名:admin密码:public

在这里插入图片描述

至此MQTT服务器搭建完成

APP开发

易安卓环境搭建

易安卓6.8安装包链接:https://pan.baidu.com/s/1kC3J3S3M8wOkemlVZ4EkzQ
提取码:LK5B
复制这段内容后打开百度网盘手机App,操作更方便哦
提取码:LK5B

解压安装包到你想要的的安装目录下。

打开文件夹。

D:\...E4A_6.8_Green_jb51\E4A_6.8_Green

打开 E4A.exe。就可以正常使用。

易安卓基础介绍

关于易安卓

E4A就是一种中文APP编程软件,专注于中文安卓开发 。APP的界面设计采用功能组件的方式,功能实现是基于组件对象,编程语言是易语言。

新建工程

点击新建,设置工程名。设置应用名,点…点…点…就行了。

界面介绍

在这里插入图片描述

标红的接个箭头从左往右依次是:

属性区:

  • 类库:易语言语法和设计组件介绍,
  • 工程:工程设置
  • 属性:设置组件属性

开发窗口:

  • 设计区:添加组件设计APP界面
  • 代码区:使用易语言进行编程实现APP功能

组建区:各种功能组件

易安卓使用到的操作演示

添加一个编辑框到设计区,通过属性区可以设计相关属性。其余组件也是相同。选择类库可以看到关于组件更多的性质,组件的性质一般有三种:属性;方法;事件。

在添加一个按钮到设计区,双击按钮会进入代码区,在这里实现对一个事件:按钮1.单击的功能开发。

易语言使用到的语法演示

变量定义:
	变量 K7开关 为 文本型
	变量 提示计数 为 整数型

变量赋值:
	K7开关="0" 
	提示计数 = 0

判断:
	如果 K7开关="0" 则
		按钮7.图片="ON.png"
		K7开关="1"
	 否则
	    按钮7.图片="OFF.png"
		K7开关="0"
	 结束 如果

MQTT实现

MQTT组件介绍与添加

打开右边的扩展库,选择mqtt通信。将它添加到页面。

打开左边的类库,找到mqtt通信类库,学习mqtt通信模块的属性。

重点介绍

1.连接到服务器

命令格式:连接服务器(服务器地址端口 为 文本型, 账号 为 文本型, 密码 为 文本型, 客户端ID 为 文本型, 是否自动重连 为 逻辑型, 是否删除会话session 为 逻辑型, 心跳包间隔 为 整数型)

命令使用实例:mqtt通讯1.连接服务器("tcp://192.168.137.1:1883","asmin","public","Android",真,假,5)

这里采用是登录账号是管理员账户,有兴趣的同学也可以通过EMQ X的网络管理页面自行创建账户使用。

2.订阅主题

命令格式:方法:订阅消息(主题 为 文本型, 策略 为 整数型)

命令使用实例:mqtt通讯1.订阅消息("post",1)

3.发送消息

命令格式:发送消息(消息主题 为 文本型,消息内容 为 字节型(),消息策略 为 整数型,是否保留 为 逻辑型)

命令使用实例:mqtt通讯1.发送消息("set",文本到字节(控制命令,"UTF-8"),0,真)

4.事件 收到消息

通过这个事件可以接收到服务器下发的消息。收到数据后首先应该对消息主题进行校验,然后形参中的消息内容,就是消息内容。我们可以提取它进行相关操作。

使用实例:

事件 mqtt通讯1.收到消息(消息主题 为 文本型, 消息内容 为 字节型(), 消息策略 为 整数型)
	如果 消息主题 = "post" 则
			... ... ... ...
	结束 如果
结束 事件

APP样例

在这里插入图片描述

事件 主窗口.创建完毕()
	mqtt通讯1.连接服务器("tcp://192.168.137.1:1883","asmin","public","LWS's Android",真,假,5)
结束 事件

事件 主窗口.按下某键(键代码 为 整数型,传址 屏蔽 为 逻辑型)
	如果 键代码 = 返回键 则
		返回桌面()
	结束 如果
结束 事件


事件  mqtt通讯1.订阅成功()
	弹出提示("outTopic1订阅成功!")
结束 事件

事件 mqtt通讯1.连接成功()
	弹出提示("连接成功")
	mqtt通讯1.订阅消息("post",1)
结束 事件


事件 按钮1.被单击()
	mqtt通讯1.发送消息("set",文本到字节("kuaikuaikuaixiewanl","UTF-8"),0,真)
结束 事件

事件 mqtt通讯1.收到消息(消息主题 为 文本型, 消息内容 为 字节型(), 消息策略 为 整数型)
	如果 消息主题 = "post" 则
		编辑框1.内容 = 字节到文本(消息内容,"UTF-8")
	结束 如果
结束 事件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值