【开源】安卓app 控制ESP8266,通过mqtt,app inventor开发

原理简述:利用发布订阅模式,即:ESP8266 订阅了一个主题,再利用app inventor 编写得app 往这个主题发布消息,由于ESP8266 订阅了这个消息,所以就可以收到app发布得消息,从而执行相应得动作。

基于MQTT协议,ESP8266通过MQTT连接到服务器,app也同样通过MQTT连接到服务器,两者通过主题(topic)进行交流。

第一 下载ESP8266示例(arduino ide 编程开发)

下载地址: 点击下载

本demo 是利用arduino IDE开发,关于arduino IDE 的ESP8266环境配置可参考:环境配置: 点击跳转

第二 修改demo例程

需要修改的信息有WIF名称,WIFI密码,用户私钥UID,设备主题topic。

用户私钥可以巴法云mqtt控制台点击跳转获取,注册绑定邮箱即可在巴法mqtt控制台点击跳转获取。

登陆完成后,可在控制台看到自己的私钥UID,如图所示:

uid.png

创建主题,在控制台,可创建主题。

  • 第一输入主题,字母或数字或字母+数字组合。
  • 点击创建主题。
topic.png

WIFI名称为自己的路由器WIFI名称,区分大小写,写错会导致连接不上网络的。

关于主题topic:主题可在控制台新建,字母+数字自定义组合即可。如下,例程的主题为light01002。

//********************需要修改的部分*******************//

const char* ssid = "newhtc";//修改,你的路由去WIFI名字
const char* password = "qq123456";//你的WIFI密码
#define ID_MQTT  "4d9ec352e0376f2110a0c601a2857225"     //修改,你的Client ID
const char*  topic = "light01002";  //主题名字,可在巴法云控制台自行创建,名称随意
//**************************************************//

在本demo中是控制的ESP8266的D4口,可根据自己需求更改。

//单片机LED引脚值
const int B_led = D4;

如果不是nodemcu开发板,请将D4改为自己的开发板引脚,比如改成1、2、3、4、5。

下载程序到ESP8266中,如果WIFI信息没有填错的话ESP8266就会自动连接到云服务器上。

开发者可进行测试,测试方法,在控制台该主题处推送消息,可观察ESP8266是否收到该消息。可通过串口调试助手,打开esp8266串口,查看esp8266日志输出。

消息检测代码:

//********************可修改的部分*******************//

  if (Mqtt_Buff == "on") {//如果接收字符on,亮灯
    turnOnLed();//开灯函数
  } else if (Mqtt_Buff == "off") {//如果接收字符off,亮灯
    turnOffLed();//关灯函数
  }

//**************************************************//

当检测到消息为on 时,执行开灯,当检测到消息为off 时,执行关灯。开发者可在控制台推送on或者off,然后检测esp8266是否收到,如果收到,说明正常可进行下一步app编写。

说明:消息不单单局限于on或off,开发者可以张大脑洞随意定义的,你推送什么消息,在单片机处做什么消息检测就可以了。

第三 app inventor 开发

原理:同样通过MQTT连接到服务器,当按下按钮,就向服务器该主题推送个消息,ESP8266就可以收到该消息了。

简介:Google App Inventor是一个完全在线开发的Android编程环境,抛弃复杂的程式代码而使用积木式的堆叠法来完成您的Android程式。 而且这款编程软件不一定非要是专业的研发人员,甚至根本不需要掌握任何的程序编制知识。因为这款软件已经事先将软件的代码全部编写完毕,用户只需要根据自己的需求向其中添加服务选项即可。也就是我们所要做的只是写简单的代码拼装程序。

安装appInventor 点击安装

本操作只提供一个app的demo,界面过于丑陋,大家可自由发挥更改界面。

demo 程序下载 点击下载

顶部导航栏,依次点击(项目-->导入项目aia),选择上一步骤下载的aia文件导入即可。点击导入的项目,即可看到控制面板,面板主要分为在组建设计和逻辑设计,用户可在右上角进行模式切换。

app

(组建设计)面板可以向屏幕添加组建以进行二次开发。(逻辑面板)则进行相关逻辑编写。

app

导入aia文件后,如果只是简单使用,只需要修改两个地方,一个是主题名字,一个是UID,均需开发者置换成自己的topic(主题名字)和UID(用户私钥),均可在mqtt控制台获取点击跳转

此处的主题topic应该和ESP8266程序里面设定的主题修改为一样,不然会收不到消息。UID修改为自己的私钥。巴法云的ip和端口默认就可以。

appuid.png
app

控制逻辑

当点击'打开'按钮,发送on,ESP8266即可收到on消息
当点击'关闭'按钮,发送off,ESP8266即可收到off消息

appOn.png

具体发送的消息,开发者可自定义,例程中只是发送简单的字符串,开发者也可发送json之类的,

如果想控制家里的灯具,加个继电器即可,通过引脚输出高低电平控制继电器的开和关,从而达到控制220v交流电的效果。继电器需要用3.3V继电器。

在这里插入图片描述
appCren.jpg

这里app只实现了简单的订阅、发布功能,还需要大家根据自己的喜好,自己修改界面,如果添加漂亮的背景图、修改颜色、修改app名字、修改app图标等等,具体教程可百度搜索,这里就不过多介绍了。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,053评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,527评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,779评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,685评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,699评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,609评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,989评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,654评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,890评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,634评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,716评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,394评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,976评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,950评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,191评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,849评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,458评论 2 342

推荐阅读更多精彩内容