stm32f103c8t6+ESP8266利用onenet平台上传数据到云平台,再利用云平台远程下发命令给单片机控制LED灯亮灭

接触stm32已经有一年半的时间了,从最开始的stm32F103ZET6 V3战舰版开始学习,慢慢看视频,学会自己查手册找相应引脚功能等,再到现在用stm32f103c8t6最小系统板,积累的经验已经有一定程度了,今天就在这跟大家分享一个挺有趣的小实验!!!
本实验用到的器件:
stm32f103c8t6最小系统板
ESP8266-01S(ESP8266固定波特率115200)
接着再附上这个WIFI模块的连接图

整体连接图片如下:

这个实验有以下两个功能:
单片机可以上传数据到云平台
云平台可以远程下发命令控制单片机上面的LED灯(当然你也可以控制其他的器件,如:电饭锅、空调、窗帘、插座等)
首先,你要使用onenet云平台就需要先注册一下自己的账号,日后可以登陆用,现在云平台更新了新版本的,你进入云平台时,点击右上角的控制台,然后就进入另一个页面,在另一个页面左上角有一个切换到旧版,这样你就可以进入旧版创建产品,新版的还不太适应,建议用旧版比较好。步骤如下:
1
2
3

接着就是要添加一个产品


上面产品名称、行业、类别应该可以随便填,那个设备接入协议默认EDP,操作系统无,网络运营商:移动
添加完产品后,点击进入你的产品,如下图:

然后就是添加设备了

上面图中设备名称,鉴权信息,数据保密性你都可以随便填,填好点击添加。
然后在下面就会出现一个你刚刚添加的设备,点击详情。

点击添加后会出现如下图所示:这里面随便填

接着点击提交,会在APIKey处生成一串英文,如下所示:

到这里,我们需要保存的东西有设备的ID以及APIKey(也就是上面我用红色箭头指出的那两个要记住的)
这样,我们的onenet平台的产品算是创建好了,接着我就来说说程序方面的。
程序主要有main.c、onenet.c、esp8266.c、EdpKit.c
在代码中可以看到,我这里主要是控制stm32f103c8t6上面的LED灯的亮灭,所以初始化了PA.1这个引脚,下面给了他低电平,因为PA.1是上拉电阻给了它低电平,在初始化后他就自动亮起。
附上主程序:

因为EDP协议下发命令需要一个数据流,所以必须提前发一个数据上去出现一个数据流来进行下发命令,通俗的讲就是两个人对话需要借助电话或者其他通讯工具进行通信
主函数前段主要做的工作就是实现系统的初始化和接入云平台,while(1)循环中实现的就是10秒发送一个数据保持EDP连接。
本程序最重要的几个点就是实现改程序的接口,在ESP8266.C中你需要修改无线热点名称和密码如下图。(这里需要注意的是,你要下载程序之前需要提前先开启笔记本电脑上面的热点或者手机上面的热点,让WIFI模块可以连接上你所开的热点)
你需要修改的也就是程序中第16行热点的名称,以及热点的密码;而下面第18行不需要修改。

你还需要修改的就是onenet.c中的设备ID和秘钥如下图:(程序中的第42行和第44行,也就是上面我要求你们记住保存的那个ID和APIKey)

你如果想创新,你可以修改onenet中的第256行代码实现你自己想做的东西,我控制的是LED灯,所以我在这行代码中用的是

当然你也可以改成你自己想要的,这样下端的代码接口就改好了。你现在就可以下载程序到开发板上面(再次提醒一次,要前开热点,否则WIFI模块连接不上热点是无法发送数据给云台的)
在程序中我发送给云台的数据是数字3,如下图所示:

在云台上面收到的数据如下所示:


到这里,单片机上的数据上传到平台已经结束了。下面就说说平台如何下发命令给单片机控制你所需要控制的东西。
现在需要在平台上新建一个应用。点击应用管理,点击添加应用,在弹出的界面中随便填写如下图所示:


点击新增,接着操作如下界面:


点击编辑应用,进入编辑模式:

点击左下角控制元素中的开关,接着会在中间空白地方出现一个开关按钮,点击开关按钮,在右边会出现如下图所示:

这里强调一下,有些人点击右边的设备后,下面的数据流没有可选的,就是因为我前面说的那个需要先上传数据到云台上面后,数据流那里才可以有选择的东西,如果你不先上传数据到云台,数据流那里是没有让你选择的东西的。
添加开关,开关格式必须改成我对应的格式(下图中红色箭头所指地方,图上是显示led:{V}),不然命令下发过后,开发板识别不了也不会进行相应的操作。


你如果将代码中的led改了(也就是onenet.c中第256行上的led),上图中的led也得改成对应的代码,至此远程控制LED灯已经成功。
远程操作除了在电脑上面的云台操作外,手机上面onenet也提供了APP,叫设备云(APP也可以在onenet官网上面扫码下载)。
参考的相关资料我也在下面一并发出来(这能进一步让你了解ESP8266):
CSDN上面一位博主的ESP8266使用教程(一)(二)(三)(四)
一位楼主讲述遇到的各种问题
ESP8266指令集(本人看来是最全面的)
最后附上相关程序:
stm32+ESP8266远程控制LED灯相关资料
代码要的下方留言邮箱我会第一时间发给你们的,有什么问题也可以下面评论!

stm32f103c8t6+ESP8266利用onenet平台上传数据到云平台,再利用云平台远程下发命令给单片机控制LED灯亮灭相关推荐

  1. 2-STM32+ESP8266连接onenet并上传数据(HTTP)

    上一篇文章内容链接为下 1-ESP8266-AT指令初试化及部分基础知识 2-STM32+ESP8266连接onenet并上传数据(HTTP) 一.预备知识小插曲 ESP8266,onenet云平台, ...

  2. 安卓手机与蓝牙模块联合调试(二)—— 单片机蓝牙控制LED灯亮灭(上)

    系列博文: (1)安卓手机与蓝牙模块联合调试(一)--蓝牙模块的串口通讯 (2)安卓手机与蓝牙模块联合调试(二)-- 单片机蓝牙控制LED灯亮灭(上) (3)安卓手机与蓝牙模块联合调试(三)-- 单片 ...

  3. 【MQTT】利用MQTT.fx上传数据节点到中移OneNET云平台

    在学习使用OneNET云平台过程中,使用MQTT协议向平台上传数据,利用MQTT.fx输入发布tpoic,为了确保设备上传消息确实被平台所接受处理,设备可以订阅系统 topic ,从而获取上传数据点的 ...

  4. stm32f103c8t6控制蓝牙模块实现led灯亮灭

    stm32f103c8t6控制蓝牙模块实现led灯亮灭 之前利用蓝牙模块是用arduino控制板的,现在已经渐渐接触stm32,所以,这次想着用stm32来控制蓝牙模块. 首先的话,需要配置蓝牙模块的 ...

  5. Arduino+ESP8266手机控制小灯亮灭及常见问题

    最近在接触Arduino和ESP8266模块,比较基础的就是运用Arduino IDE软件.ESP8266模块和一款手机软件来控制8266测试板上的小灯亮灭. 项目软件: Arduino IDE软件 ...

  6. 7天搭建物联网项目 STM32 + ESP8266 第 1 节 上传数据到云平台

    开发环境准备: 硬件平台我们需要如下设备,一个stm32开发板(STM3F103C8T6型号,使用其他型号只需要修改下软件工程配置,也可以直接买我做好的开发板哈).ESP8266 wifi 芯片.jl ...

  7. ESP8266-3-连接物联网云平台上传数据

    1.连接物联网云平台需要先去http://www.nlecloud.com注册一个账号,然后进入开发者中心,新增项目即可.协议选择TCP 要记住设备标识,传输秘钥,这些都是esp8266要使用的. 2 ...

  8. [PHP]利用XAMPP搭建本地服务器, 然后利用iOS客户端上传数据到本地服务器中(四. iOS端代码实现)...

    一.安装XAMPP   http://www.cnblogs.com/lidongxu/p/5256330.html 二. 配置MySql  http://www.cnblogs.com/lidong ...

  9. STM32F4+Wi-Fi+EDP 向 OneNet 上传数据

    源地址:https://www.arduino.cn/thread-19000-1-1.html     利用STM32F4+WIFI+EDP向OneNet平台上传数据,虽然非常简单,但是在个人调试过 ...

最新文章

  1. 信阳农林技术学院经纬度_信阳农林学院全景-360度,720度,高清全景地图-expoon网展...
  2. 洛谷 - P3356 火星探险问题(最大费用最大流+拆点+路径打印)
  3. 前端学习(1115):call apply bind的区别
  4. 合并两个链表数据结构c语言,合并两个链表.
  5. 硬件时间,操作系统时间,Windows 和linux 双系统时间差8小时问题说明
  6. fatal: unable to access ‘https://XXXXX‘: : OpenSSL SSL_read: Connection was reset, errno 10054……
  7. Python——彩票(大乐透)模拟随机选号
  8. 码栈使用手册(一)----安装说明
  9. 机器学习系列8:逻辑回归的代价函数
  10. [Jetson TX2] NVIDIA Jetson TX2 参数介绍
  11. win10操作系统点击鼠标右键反应很慢怎么办
  12. JavaWeb下载文件时文件名乱码
  13. python中offset的意思_python覆盖从offset1到offset2的字节
  14. 未能加载 mysql.data,未能加载文件或程序集“MySql.Data”或它的某一个依赖项
  15. 动感影集制作音乐相册,超简单实用的方法!风靡QQ空间、微信、抖音
  16. PostgreSQL之外键约束
  17. MySQL数据打标_易打标(标签条码打印软件)
  18. Canvas transform浅析
  19. 计算机网络第七版(谢希仁) 第一章 概述 1-10,1-17作业答案
  20. C1任务-10:域名解析

热门文章

  1. 人体中数量最多的神经元,人体内有多少个神经元
  2. 获取数组最大值和最小值的简便方法
  3. 有关AOP术语(织入、增强等)的个人理解
  4. 学习笔记-应用光学 第二章 球面和球面系统
  5. 旁路、去耦、Bulk以及耦合电容的作用与区别
  6. 暮光之城 - Eclipse的DVD发行 - 另一个重磅炸弹DVD
  7. 大数据项目一般金额多少_大数据工作月薪多少 就业前景好不好?
  8. circular 字体_DebevicCircular字体ttf下载 最新版
  9. Spring框架的ImportSelector到底可以干嘛
  10. 在try-catch机制优化IO流关闭时,OutputStreamWriter 数据流被截断 新语法