目录

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 *)&currentDataPoint);

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之间互相通信相关推荐

  1. 【安信可A9G专题③】安信可A9G模块连接机智云APP教程;

    本系列博客学习由 安信可科技 - 官方博客 技术分享,如有疑问请留言或联系邮箱. 1.A9G环境在windows上搭建并编译,串口打印 Hello GPRS 2.A9G在微信公众号上的定位功能笔记分享 ...

  2. 安信可A9G模块连接机智云APP教程

    文章目录 一.准备 1.1 硬件准备 二.开发过程 2.1 注册机智云APP 2.2 硬件连接 2.3 连接机智云 2.4 注册模块到机智云产品 2.5 手机App查询状态以及控制设备 一.准备 1. ...

  3. 快速导入机智云APP并且修改ui界面

    记录一下第二次修改机智云app,对于一个没有什么使用android studio的人来说,太难了. 导入编译就报错,网上查资料说是版本问题,按着网络教程一通乱改,报错越来越多.我就介绍下我自己的修改的 ...

  4. 使用机智云APP控制战舰V3 (转)

    源:使用机智云APP控制战舰V3 转载于:https://www.cnblogs.com/LittleTiger/p/10725586.html

  5. 智能硬件APP开发之路:基于机智云APP开源框架

    为什么使用开源软件? 开源软件是Open Source音译过来的.我们知道所有的软件都是由代码编写,经编译生成的系统或者应用.而一旦你把它开源,意味着任何人.任何组织都可以使用你的代码或者软件,当然也 ...

  6. android广播不同app,用广播(Broadcast)实现不同app之间的通信

    Android中广播类型可以分为2种,一种是系统的自动广播,比说说:电量偏低,网络状态改变,系统时间改变等等.另外一种是我们自己自定义的广播,这种就最常见了. 系统发送来的广播可以被我们自己的或是第三 ...

  7. 分享一下使用机智云APP控制战舰V3

    第一步:注册机智云,然后进入到开发者中心,然后开始创建新产品 具体代码,已经上传共享 设置好后点击保存,这个时候会跳转到开发向导界面,选择去添加数据点 我们建3个数据节点,分别用来打开LED1,LED ...

  8. 【STM32-机智云平台】ESP8266模块,如何烧录机智云固件,参考经验贴

    1.首先需要知道如何找到并烧录机智云固件.

  9. 基于RT-Thread系统的机智云数字仪表教程(一)——移植RT-Thread的BSP模板

    基于RT-Thread系统的机智云数字仪表教程(一) 目录: 实验内容: 实验平台: 实验前准备工作: 代码: 联系作者: 移植RT-Thread的BSP模板: 1.学习RT-Thread系统(学过的 ...

最新文章

  1. pip install skimage安装skimage库出错的解决办法
  2. 产品经理也能动手实践的AI(一)- FastAI介绍
  3. delphi存取图片
  4. 目前可用的微博秀的嵌入方法大全(亲测2019年2月仍有效)
  5. jsp动作之 getProperty
  6. 函数调用和尾递归的一点认识
  7. 《数据结构与抽象:Java语言描述(原书第4版)》一2.1.4 让实现安全
  8. java netfox_SpringFox集成原理
  9. linux环境将python程序做成可执行
  10. oracle undo 缩小,缩小Oracle的系统表空间(SYSTEM、TEMP、UNDOTBS1、SYSAUX)
  11. 剖析Picasso中的内存缓存机制——LruCache
  12. 第三次学JAVA再学不好就吃翔(part102)--拷贝图片
  13. Sass:一种CSS预处理器语言
  14. 【POJ - 1502】MPI Maelstrom(Dijkstra单源最短路--求一点到其余个点的最小值的最大值)
  15. 【BZOJ4515】游戏,树链剖分+永久化标记线段树维护线段信息(李超线段树)
  16. (53)Xilinx时钟原语-BUG与IBUFG(第11天)
  17. bim软件32位计算机条件,哪些bim软件能在在win732位上运行?
  18. Eclipse快捷键 10个最有用的快捷键
  19. 机械革命Z2air实现 Wake On Lan 远程开机
  20. MSF之persistence权限维持

热门文章

  1. 【雷达仿真 | FMCW TDMA-MIMO毫米波雷达信号处理仿真(可修改为DDMA-MIMO)】
  2. python mp4 视频格式压缩
  3. 编程初学者如何缓解迷茫和焦虑?墙裂推荐此文,助你赢在起跑线
  4. 祭祀扫墓网站php源码,斗破苍穹:不可错过的玄幻
  5. 【基础入门题026】佩尔数列Pell(n)
  6. 汇兑损益中间科目,系统情况
  7. 安全基线规范之Cisco核心交换机
  8. JAVA 强制终止程序
  9. 理财就是理生活 —— 小白理财训练营(上)
  10. 2022电大国家开放大学网上形考任务-贸易实务(山东)非免费(非答案)