【巴法云】开源安卓App控制ESP8266,通过MQTT协议,APP Inventor 开发

AI摘要

本教程详细介绍了如何使用ArduinoIDE配置ESP8266,修改示例代码以连接到MQTT服务器,并通过GoogleAppInventor创建安卓应用程序,实现远程控制ESP8266。用户需要获取私钥和主题,在ESP8266代码中设置,并在AppInventor中修改相应参数,确保主题一致。通过发送'on'和'off'指令,控制ESP8266的LED灯。此教程适合物联网初学者,提供了从硬件到软件的完整连接方案。

【巴法云】APP Inventor 开发安卓app,通过MQTT控制ESP8266

原理简述:利用发布订阅模式,即: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,如图所示:

在这里插入图片描述

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

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

在这里插入图片描述

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和端口默认就可以。

在这里插入图片描述

app

控制逻辑

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

在这里插入图片描述

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

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

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

相关推荐

ESP8266读DHT11温湿度,开发微信小程序实时显示

ESP8266读DHT11温湿度,开发微信小程序实时显示第一、原理讲解第二、ESP8266读取DHT11第三、温湿度推送到云端第四、微信小程序开发第一、原理讲解原理简述:利用发布订阅模式。第一步,先读取DHT11温湿度数值,第二步,新建主题,然后esp8266往这个主题发送消息,第三步。app inventor 订阅这个主题,因为app inventor 制作的app 订阅了这个主题,就可收到来自这个主题的消息,也就是可以收到温湿度数值。app控制原理:esp8266订阅了一个主题,app往这个主题发消

巴法云 4万+

(开源)微信小程序控制esp8266

微信小程序控制esp8266第一、远程App控制或手动控制下载esp8266示例程序第二、微信小程序开发流程说明:首先要使esp8266能够联网,能联网就可以控制,使用示例程序,修改WIFI、密钥等信息即可联网控制。微信小程序控制是使用http协议完成,通过接口实现对ESP8266的控制。第一、远程App控制或手动控制下载esp8266示例程序下载地址: 点击下载本demo 是利用arduino IDE开发,关于arduino IDE 的ESP8266环境配置可参考:环境配置: 点击跳转程序下

巴法云 5万+

esp32-cam图片上传巴法云,http协议传输post

esp32-cam图片上传,http协议传输1、ESP32-cam开发环境配置2 、程序下载连线3、 控制台查看图片4 、(附)发布订阅模式1、ESP32-cam开发环境配置本例程 是利用arduino IDE开发,关于arduino IDE 的esp32环境配置可参考:环境配置: 点击跳转安装好esp32 环境,开发板选择esp32 wrover module开发板,其他默认即可。2 、程序下载示例程序下载:点击下载需要修改的信息有WIF名称,WIFI密码,用户私钥UID,设备主题topic。

巴法云 2万+

利用ESP8266制作环境监测系统+APP inventor制作手机App实时显示

利用ESP8266制作环境监测系统+APP inventor制作手机App实时显示原理讲解ESP8266读取各种传感器数值传感器数据推送到云端app inventor 制作app 接收实时数据关键程序讲解效果展示原理讲解原理简述:利用发布订阅模式。第一步,先ESP8266获取各种传感器数值,第二步,新建主题,然后esp8266往这个主题发送消息,第三步。app inventor 订阅这个主题...

巴法云 2万+

(开源)ESP8266改装小风扇,手机app远程控制+天猫精灵控制

ESP8266改装小风扇,app控制+天猫精灵控制材料准备拆解风扇第一 下载ESP8266示例(arduino ide 编程开发)第二 修改demo例程关于主题topic第三 app inventor 开发第四 天猫精灵控制材料准备USB风扇一个ESP8266一块3.3继电器一块拆解风扇第一次,没有经验,后面全给撬没了,引出电源线即可,由于操作的时候太暴力,直接引出了电机线。。。...

巴法云 1万+

(远程控制)App inventor 编写安卓app控制 ESP8266

App inventor 编写安卓app控制 ESP8266第一 下载ESP8266示例(arduino ide 编程开发)第二 修改demo例程第三 app inventor 开发原理简述:利用发布订阅模式,即:ESP8266 订阅了一个主题,再利用app inventor 编写得app 往这个主题发布消息,由于ESP8266 订阅了这个消息,所以就可以收到app发布得消息,从而执行相应得动作...

巴法云 3万+

利用天猫精灵控制ESP8266(NodeMCU开发板)arduino ide开发

利用天猫精灵控制NodeMCU(ESP8266)(ESP12F)第一 下载demo例程第二 修改demo例程第三 绑定天猫精灵第三 天猫精灵控制ESP8266第四 扩展操作使用微信小程序控制App inventor 编写安卓app控制第一 下载demo例程下载地址: 点击下载本demo 是利用arduino IDE开发,关于arduino IDE 的ESP8266环境配置可参考:环境配置: ...

巴法云 1万+

巴法esp32蓝牙配网

巴法 App 蓝牙配网这套方案,对于 ESP32 开发板来说是比较友好的。它的核心并不在于协议有多复杂,而在于流程统一、状态明确、接入成本低。BLE 广播要规范GATT 的WRITE和NOTIFY要稳定JSON 命令格式要统一WiFi 联网状态要持续回传配网完成后要及时收尾如果你正在做巴法云智能硬件,尤其是灯、插座、开关、传感器这类 ESP32 设备,那么蓝牙配网是很值得优先采用的一种方式。ESP32 Arduino 蓝牙配网完整示例代码NimBLE 版本配网最小工程。

巴法云 1414

巴法云接入Home Assistant

巴法云 是一个流行的物联网云平台,提供了简单易用的设备接入方案。许多ESP8266、ESP32等开发板的智能家居项目都选择使用巴法云作为云端服务。Home Assistant 是目前最流行的开源智能家居平台之一,支持数千种智能设备的接入。它提供了统一的控制界面、强大的自动化功能和完善的生态系统。

巴法云 5924

ESP32-C6接入巴法云,Arduino方式

配网时,会自动把用户私钥发送到esp32-c6开发板,设备拿到用户私钥,会自动创建主题,该程序可配合TCP协议或MQTT协议进行远程控制。,表示开发板已经进入配网模式,即可进行配网测试,可以下载巴法app进行配网。注意:如果是旧版ESP32的SDK,可能没有esp32-c6的开发板选项,需要安装新版的SDK库,新版下载地址可见上面第二步。如需重新配网,可连续重启5次,可清除配网信息,或在需要清除配网信息的地方,调用函数:restoreFactory()大约等待几分钟即可安装成功,电脑性能越好,安装越快。

巴法云 1万+

手机app控制esp32-cam拍照上传,tcp和mqtt协议

1、示例说明往期课程:第一讲:esp32-cam图片上传第二讲:esp32-cam图片上传,安卓app显示第三讲:esp32-cam图片上传,微信小程序显示本期课程是第四讲,在使用这个示例前,最好先实现前几节课的esp32-cam自动拍照上传,然后在可以拍照上传的基础上,实现使用手机app控制拍照上传。2、原理讲解采用订阅\发布模式。首先esp32通过tcp或者mqtt服务,订阅xxx主题,订阅之后,就可以接收到发往xxx主题的消息,app向xxx主题发送消息,esp32订阅之后就可以收到消息

巴法云 1万+

树莓派接入巴法云

最近有小伙伴咨询树莓派接入的问题,其实简单,使用直接在树莓派中运行python程序就可以。示例说明:示例中使用的python3.x版本,如果是2.x版本的python,运行前把 print 指令的()括号去掉,应该就可以了。如果需要控制树莓派io引脚,推送使用 RPi.GPIO ,百度上面教程很多,这里就不细说了。第一,tcp协议连接说明:tcp服务器地址:bemfa.com 端口 8344tcp协议详细订阅、发布指令,见接入文档:点击跳转# -*- coding: utf-8import s

巴法云 3600

esp8266 接入 Amazon alexa智能家居

esp8266 接入 Amazon alexa智能家居第一步 下载程序到esp8266第二步 alexa控制第三步 (附)开源app控制第一步 下载程序到esp8266下载地址: 点击下载本demo 是利用arduino IDE开发,关于arduino IDE 的ESP8266环境配置可参考:环境配置: 点击跳转程序下载好,需要修改的信息有:需要修改的信息有WIF名称,WIFI密码,用户私钥UID,设备主题topic。//********************需要修改的部分*********

巴法云 1万+

ap配网示例,esp8266和esp32微信小程序ap配网

第一、下载程序esp8266示例程序:: 点击下载esp32示例程序:: 点击下载示例程序是利用arduino IDE开发:关于arduino IDE 的ESP8266环境配置可参考:环境配置: 点击跳转关于arduino IDE 的ESP8266环境配置可参考:环境配置: 点击跳转第二、微信小程序配网微信内搜索小程序 一键配网,切换到SoftAp配网协议,或者扫描下方ap配网的专用码,扫码进去的不需要手动切换配网协议:第三、配网步骤说明当单片机烧写进去配网程序后,应该就处在配网模式,

巴法云 1万+

MircoPython接入巴法云,esp8266和esp32

第一、搭建MircoPython开发环境下载 micropython 环境包:点击下载下载后解压,首先双击打开 uPyCraft 软件,刷入固件,首先点击 tools–>BurnFirmware ,再选择esp8266或者esp32,选择开发板端口,选择需要刷入的固件,固件在下载的环境包中,点击ok即可刷入,如下图所示:等待进度条走完就刷入成功了。附,其他链接:单片机串口驱动:点击下载micropython官方文档:点击跳转第二、hello world 程序测试点击file–new

巴法云 1万+

esp32 OTA远程无线升级

第一步、编译生成.bin升级固件本教程需要用到 arduino IDE的esp32开发环境,关于arduino IDE 的ESP32环境配置可参考:环境配置: 点击跳转如果已安装好esp32 开发环境,继续:使用arduino IDE软件,打开随便一个需要升级的程序,点击「项目」-「导出已编译的二进制文件」即可生成.bin固件,如下图。生成的固件在程序所在文件夹中如下图所示:第二步、上传.bin固件到巴法云在巴法云控制台 ,点击跳转,随便新建个主题,例如 主题 light002,如下图所示:

巴法云 7590

esp8266 OTA远程无线升级

第一步、编译生成.bin升级固件本教程需要用到 arduino IDE的esp8266开发环境,关于arduino IDE 的ESP8266环境配置可参考:环境配置: 点击跳转如果已安装好esp8266 开发环境,继续:使用arduino IDE软件,打开随便一个需要升级的程序,点击「项目」-「导出已编译的二进制文件」即可生成.bin固件,如下图。生成的固件在程序所在文件夹中如下图所示:第二步、上传.bin固件到巴法云在巴法云控制台 ,点击跳转,随便新建个主题,例如 主题 light002,

巴法云 1万+

(巴法云)小程序一键配网,自动生成密钥和主题

第一,Airkiss协议示例程序下载:点击下载本程序使用arduino ide 开发,使用前需按照arduino esp8266开发环境:安装教程程序下载完成后,可扫码进行配网,或者微信搜索《一键配网》小程序。如下图:配网说明:使用《一键配网》小程序进行配网,当进行配网时,小程序会根据微信已经绑定的巴法云账号,自动创建用户私钥和主题,当微信未注册巴法云账号时,微信小程序会自动创建你的巴法云账号,以后在电脑端使用巴法云时,使用微信扫码登录即可。当配网后需要重新配网:ESP8266连续按5次rese

巴法云 1万+

python接入巴法云,TCP协议,MQTT协议示例

第一,tcp协议连接说明:tcp服务器地址:bemfa.com 端口 8344# -*- coding: utf-8import socketimport threadingdef connTCP(): global tcp_client_socket # 创建socket tcp_client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # IP 和端口 server_ip =

巴法云 8036

lua语言开发esp8266接入巴法云,mqtt和tcp协议

第一步,lua语言开发环境配置下载安装jave环境,下载地址:点击下载选择windows版本下载安装即可,如图所示:

巴法云 6712

esp32-cam拍照上传,app inventor 制作安卓app实时显示

esp32-cam拍照上传,app inventor 制作安卓app实时显示1、ESP32-cam开发环境配置2 、程序下载连线3、 控制台查看图片第四、app 开发1、ESP32-cam开发环境配置本例程 是利用arduino IDE开发,关于arduino IDE 的esp32环境配置可参考:环境配置: 点击跳转安装好esp32 环境,开发板选择esp32 wrover module开发板,其他默认即可。2 、程序下载示例程序下载:点击下载需要修改的信息有WIF名称,WIFI密码,用户私钥U

巴法云 1万+

巴法云 mixly 扩展库

第一,安装扩展库扩展库下载链接:点击下载下载完成后解压,在mixly软件中,选择「导入库」→「本地导入」,选择解压文件夹中的「Bemfa.xml」即可。或者使选择云端导入,点击「巴法云」导入即可。第二,tcp协议使用教程一、订阅控制订阅主题light002,收到 on 打印“turn on light”,收到 off 打印“turn off light”。二、可订阅多个主题订阅主题 light002 和 outlet001 主题 , 可根据不同的主题,执行不同的动作。三、推送消息在需要

巴法云 1万+

esp8266接入小爱同学,通过mqtt

原理:esp8266连接mqtt服务,并订阅mqtt的主题,当通过小爱语音发出指令,相当于mqtt的消息推送,由于esp8266订阅了主题,就可以收到小爱同学推送的消息,从而进行控制esp8266。第一步 下载程序到esp8266下载地址: 点击下载本demo 是利用arduino IDE开发,关于arduino IDE 的ESP8266环境配置可参考:环境配置: 点击跳转程序下载好,需要修改的信息有:需要修改的信息有WIF名称,WIFI密码,用户私钥UID,设备主题topic。//*****

巴法云 2万+

esp8266接入小度语音,小度音箱控制,附开源app控制

超简单,两步完事第一步 下载程序到esp8266第二步 绑定到小度第三步 (附)开源app控制第四步 微信小程序控制:第一步 下载程序到esp8266下载地址: 点击下载本demo 是利用arduino IDE开发,关于arduino IDE 的ESP8266环境配置可参考:环境配置: 点击跳转程序下载好,需要修改的信息有:需要修改的信息有WIF名称,WIFI密码,用户私钥UID,设备主题topic。//********************需要修改的部分******************

巴法云 8374

微信小程序 airkiss 配网,SmartConfig配网,ap配网教程

第一步,下载配网程序到esp8266arduinoIDE开发:esp8266程序下载可参考:https://bemfa.blog.youkuaiyun.com/article/details/117717525此程序是arduino ide开发,由于8266SDK在arduino限制,使用arduino开发的程序默认使用的是airkiss配网,不支持SmartConfig协议。esp8266 SDK开发:在esp8266 SDK开发中,支持airkiss和SmartConfig这两种协议,例程可参考SDK中的

巴法云 9838

巴法云官方微信小程序,控制esp8266

第一,使用教程微信内搜索小程序 巴法云,或者扫下方二维码进入。如果使用过微信扫码登录巴法云,或者在巴法云控制台绑定过微信,打开小程序后,设备都会自动同步到小程序,目前仅支持灯、插座、风扇类型的设备,当主题名字后三位是001时为插座设备。当主题名字后三位是002时为灯泡设备。当主题名字后三位是003时为风扇设备。界面如下图所示:长按设备,可以进行设备分享、删除、中文命名,定时等操作,中文名称可以用于智能音箱的控制,如下图所示:第二,esp8266 使用可参考博客中的其他文章:博客主

巴法云 1万+

巴法云esp8266接入home assistant,通过mqtt

第一步,home assistant 配置采用 mqtt 接入方式,找到 home assistant 的配置文件 configuration.yaml,在里面加入巴法云mqtt的配置信息,如下所示:# mqtt服务设置mqtt: # MQTT Broker的IP地址或者域名 broker: bemfa.com # MQTT Broker的端口号 port: 9501 #客户端ID client_id: 7d54f85af42976ee3c2693e692a6bb59 #

巴法云 1万+

app inventor 2022离线版下载使用教程

第一步,下载需登录后下载下载连接:点击下载第二步,安装双击下载好的文件进行安装,接受并点击next,如下图:

巴法云 2万+

ESP8266微信一键配网smartconfig,esp32可用

ESP8266微信一键配网smartconfig第一步 下载程序微信配网恢复出厂设置ESP32 接入第一步 下载程序简单配网例程:点击下载配网并控制LED例程:点击下载例程下载后,需要使用arduino ide 软件打开,并且安装esp8266开发环境。关于arduino IDE 的ESP8266环境配置可参考:环境配置: 点击跳转。如果是配网程序可以使用第一个,什么都不需要修改。如果需要配网并通过巴法云控制LED,可下载第二个程序,但是需要把程序中的用户密钥和主题修改为自己的。//*****

巴法云 1万+

esp32-cam拍照上传,微信小程序照片显示

esp32-cam图片上传,http协议传输1、ESP32-cam开发环境配置2 、程序下载连线3、 控制台查看图片4 、(附)发布订阅模式1、ESP32-cam开发环境配置本例程 是利用arduino IDE开发,关于arduino IDE 的esp32环境配置可参考:环境配置: 点击跳转安装好esp32 环境,开发板选择esp32 wrover module开发板,其他默认即可。2 、程序下载示例程序下载:点击下载需要修改的信息有WIF名称,WIFI密码,用户私钥UID,设备主题topic。

巴法云 1万+
上一篇: esp32 OTA远程无线升级
下一篇: MircoPython接入巴法云,esp8266和esp32
巴法云
巴法云 企业官方账号 企业官方账号
博客等级 码龄8年 3169粉丝 58原创
评论 30
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值