ESP8266教程5 — MCU和机智云APP之间互相通信
目录
1、前期准备
1.1、材料准备
1.2、理论准备
2、创建项目数据点
3、下载MCU开发固件包
4、esp8266模块输入官方的SDK固件
5、实际操作
这段时间里有空就自己玩玩ESP8266,想着熟练以后也可以用8266通过wifi做点什么有意思的玩意,比如实现个远程控制、获取下位机数据到上位机或者手机上显示啥的,总感觉这样玩才有点意思。
之前研究了一下esp8266的AT指令使用、TCP客户端、TCP服务器等操作,大致熟悉了esp8266在一个产品中一般都充当些什么角色。总而言之,要完成一个项目,无论大小,理论总是要先行的,理论上想通了,东西做起来才能得心应手吧!
废话不多说,说说怎么实现通过esp8266模块、机智云APP、单片机之间互相通信的。
先上一张搭建的简陋图,如下:
1、前期准备
1.1、材料准备
需要准备的材料如下:
ESP8266模块、正点原子探索者STM32F407VET6开发板(其他的也行)、装了机智云APP的手机一个、一个注册好的机智云登录账号。对于独立ESP8266的模块还要准备一个USB转TTL模块,用于esp8266烧写固件。
1.2、理论准备
首先,要理解如何将作为下位机的单片机和作为上位机的机智云APP之间互相通信控制,就要先搞明白这当中的逻辑原理。
简单而言,就是使用机智云官方提供的esp8266通信协议,在单片机上和服务器(手机app)之间通信使用相同的协议,两者之间通信交互的媒介是esp8266,esp8266中输入机智云官方的二次开发SDK固件,确保能够实现两者之间的交互通信。
大致的示意图可以参照如下:
2、创建项目数据点
数据点指的是你系统上的功能,也就是项目功能的属性,是项目功能的一个抽象表现。
比如:一个智能温室系统,它可能具有的功能有:室内温度、室内湿度、室内光线、空调控制等的功能属性。这些功能属性展现为用户可视的信息,就可以是app或者网页监控平台上的温度数字、湿度数值、灯光亮度调节旋钮、空调开关等的交互可视控件。
机智云上创建自己的项目可以参考:
http://docs.gizwits.com/zh-cn/quickstart/UseMCU.html
产品创建、发布可以参考:
http://docs.gizwits.com/zh-cn/UserManual/NewDev/ProductCreationTutorial.html
其中,注册、登录、创建产品可以参考链接中的内容:
创建数据点可以参考链接中的内容:
3、下载MCU开发固件包
对于使用MCU开发的话,机智云官方提供了自动生成MCU平台代码的功能,极大的方便了开发。可以参见如下的生成固件开发包的方式:
而对于一些没有提供具体MCU型号的情况,可以选择其他平台的代码,然后将协议移植到自己的MCU平台上,也是一样的。如下操作:
http://docs.gizwits.com/zh-cn/UserManual/NewDev/ProductCreationTutorial.html
其他平台移植SDK协议,可以参考如下:
http://docs.gizwits.com/zh-cn/deviceDev/GoKit3_DEV_SDK_Common_transplant.html
代码中的通信包处理主要集中在以下两个函数:
userHandle();
gizwitsHandle((dataPoint_t *)¤tDataPoint);
4、esp8266模块输入官方的SDK固件
想要接入机智云的服务,那esp8266也是必须要输入官方开发的固件才可以的,刷入固件可以参考:
http://docs.gizwits.com/zh-cn/deviceDev/ESP8266%E4%B8%B2%E5%8F%A3%E7%83%A7%E5%86%99%E8%AF%B4%E6%98%8E.html
如下图:
有关GAgent固件的介绍如下:
http://docs.gizwits.com/zh-cn/deviceDev/gagent_info.html
5、实际操作
(1)连接硬件
MCU中刷入MCU开发固件、ESP8266的串口TX、RX分别连接到MCU的RX、TX上,esp8266输入GAgent固件。
如下演示:
(2)手机APP给esp8266配网
配网之前要让esp8266进入SoftAP模式,用于进行智能配网,在机智云提供的代码中,用于配网的部分代码如下:
//AirLink mode
GIZWITS_LOG("KEY2 PRESS LONG ,AirLink mode\n");
#if !MODULE_TYPE
gizwitsSetMode(WIFI_AIRLINK_MODE);
#endif
这段代码是用于使esp8266进入ap模式配网的,要在一开始的时候就完成配网的操作。至于选择什么样的方式触发esp8266进行配网,需要根据项目情况选择,比如按键触发,事件触发等。
打开机智云app,选择一键配网,如下:
输入想要给esp8266连接的wifi的账户和密码,如下:
等待配置成功,即可以进行通信了。有些配网要求开启手机的定位权限!!!
(3)查看数据的交互
我自己用于测试的产品的数据点如下:
机智云app上看到的数据点如下:
手机上改变hydory的值,MCU上是可以收到的,比如我下面通过串口助手接收到的内容:
MCU上报数据的话,在如下的代码段中:
MCU处理APP发下来的数据,在如下代码段中:
对嵌入式技术感兴趣的,欢迎关注微信公众号“嵌入式之入坑笔记”,一起学习讨论啊!
ESP8266教程5 — MCU和机智云APP之间互相通信相关推荐
- 【安信可A9G专题③】安信可A9G模块连接机智云APP教程;
本系列博客学习由 安信可科技 - 官方博客 技术分享,如有疑问请留言或联系邮箱. 1.A9G环境在windows上搭建并编译,串口打印 Hello GPRS 2.A9G在微信公众号上的定位功能笔记分享 ...
- 安信可A9G模块连接机智云APP教程
文章目录 一.准备 1.1 硬件准备 二.开发过程 2.1 注册机智云APP 2.2 硬件连接 2.3 连接机智云 2.4 注册模块到机智云产品 2.5 手机App查询状态以及控制设备 一.准备 1. ...
- 快速导入机智云APP并且修改ui界面
记录一下第二次修改机智云app,对于一个没有什么使用android studio的人来说,太难了. 导入编译就报错,网上查资料说是版本问题,按着网络教程一通乱改,报错越来越多.我就介绍下我自己的修改的 ...
- 使用机智云APP控制战舰V3 (转)
源:使用机智云APP控制战舰V3 转载于:https://www.cnblogs.com/LittleTiger/p/10725586.html
- 智能硬件APP开发之路:基于机智云APP开源框架
为什么使用开源软件? 开源软件是Open Source音译过来的.我们知道所有的软件都是由代码编写,经编译生成的系统或者应用.而一旦你把它开源,意味着任何人.任何组织都可以使用你的代码或者软件,当然也 ...
- android广播不同app,用广播(Broadcast)实现不同app之间的通信
Android中广播类型可以分为2种,一种是系统的自动广播,比说说:电量偏低,网络状态改变,系统时间改变等等.另外一种是我们自己自定义的广播,这种就最常见了. 系统发送来的广播可以被我们自己的或是第三 ...
- 分享一下使用机智云APP控制战舰V3
第一步:注册机智云,然后进入到开发者中心,然后开始创建新产品 具体代码,已经上传共享 设置好后点击保存,这个时候会跳转到开发向导界面,选择去添加数据点 我们建3个数据节点,分别用来打开LED1,LED ...
- 【STM32-机智云平台】ESP8266模块,如何烧录机智云固件,参考经验贴
1.首先需要知道如何找到并烧录机智云固件.
- 基于RT-Thread系统的机智云数字仪表教程(一)——移植RT-Thread的BSP模板
基于RT-Thread系统的机智云数字仪表教程(一) 目录: 实验内容: 实验平台: 实验前准备工作: 代码: 联系作者: 移植RT-Thread的BSP模板: 1.学习RT-Thread系统(学过的 ...
最新文章
- pip install skimage安装skimage库出错的解决办法
- 产品经理也能动手实践的AI(一)- FastAI介绍
- delphi存取图片
- 目前可用的微博秀的嵌入方法大全(亲测2019年2月仍有效)
- jsp动作之 getProperty
- 函数调用和尾递归的一点认识
- 《数据结构与抽象:Java语言描述(原书第4版)》一2.1.4 让实现安全
- java netfox_SpringFox集成原理
- linux环境将python程序做成可执行
- oracle undo 缩小,缩小Oracle的系统表空间(SYSTEM、TEMP、UNDOTBS1、SYSAUX)
- 剖析Picasso中的内存缓存机制——LruCache
- 第三次学JAVA再学不好就吃翔(part102)--拷贝图片
- Sass:一种CSS预处理器语言
- 【POJ - 1502】MPI Maelstrom(Dijkstra单源最短路--求一点到其余个点的最小值的最大值)
- 【BZOJ4515】游戏,树链剖分+永久化标记线段树维护线段信息(李超线段树)
- (53)Xilinx时钟原语-BUG与IBUFG(第11天)
- bim软件32位计算机条件,哪些bim软件能在在win732位上运行?
- Eclipse快捷键 10个最有用的快捷键
- 机械革命Z2air实现 Wake On Lan 远程开机
- MSF之persistence权限维持