STM32接入OneNET平台远程控制风扇
小编使用STM32已经接近一年,在去年寒假期间师兄教学STM32最小系统接入OneNET云平台上传DHT11的温湿度数据,今年参加很多的专业竞赛。在参加数学建模期间,写下这一个简单的教程。一开始使用OneNET云平台,都不知道还有麒麟座开发板的源代码可以借鉴,所以接入云平台就比较麻烦或者说是困难,在多次实践中不断的摸索,在今年3月份成功的用正点原子开发板和ESP8266,EDP协议接入了中移物联网的云平台,实现了控制开发板上面的灯。暑假期间,参加竞赛之余,实现云端控制继电器,进而实现远程控制风扇。
既然在使用ONEnet云平台你自己对云平台还是要有一定的了解,首先登陆页面建立一个项目如图
项目建立完,你需要保存一个设备ID和秘钥,在设备概况中找到APIKEY这就是密码,在设备详情中可以找到设备ID,分别如下图
下面进入正题,项目工程文件主要包含了主函数main.c、esp8266.c、esp8266.h、edp.c、edp.h、onenet.c、onenet.h,因为整体代码难度不大所以就直接简单的看一下工程文件截图
工程项目图
代码中首先看到的是继电器初始化函数,继电器就是选择一个高低电平来触发继电器,通俗的来说继电器就是一个开关。一般单路继电器可以用3.3V到5V电源驱动供电进行工作,继电器右边有常闭常开,两个回路,看自己的需求进行连接,当继电器被触发打开,继电器会有一个很清脆的声音表示继电器已经接通电路,具体继电器怎么使用还要自己多摸索。
下面进入硬件初始化函数,相当于写了一个子函数将所有初始化集中到一个函数中,在主函数中一开始进行调用,实现所有的初始化
系统初始化
下面进入主函数
int main(void){unsigned short timeCount = 0; //发送间隔变量unsigned char *dataPtr = NULL;Hardware_Init(); //初始化外围硬件ESP8266_Init(); //初始化ESP8266while(OneNet_DevLink()) //接入OneNETdelay_ms(500);while(1){if(++timeCount >= 1000) //发送间隔10s{UsartPrintf(USART_DEBUG, "OneNet_SendData\r\n");OneNet_SendData(); //发送数据timeCount = 0;ESP8266_Clear();}dataPtr = ESP8266_GetIPD(0);if(dataPtr != NULL)OneNet_RevPro(dataPtr);delay_ms(10);
}}
因为EDP协议下发命令需要一个数据流所以必须提前发一个数据上去出现一个数据流来进行下发命令,通俗的讲就是两个人对话需要借助电话或者其他通讯工具进行通信
主函数前段主要做的工作就是实现系统的初始化和接入云平台,while(1)循环中实现的就是10秒发送一个数据保持EDP连接。
本程序最重要的几个点就是实现改程序的接口在ESP8266.C中你需要修改无线热点名称和密码如下图。你需要修改 的就是第16行代码前面是热点名称,后面是热点密码
你还需要修改的就是onenet.c中的设备ID和秘钥如下图
你需要修改第42行44行代码,就是你自己的设备ID和秘钥。
最重要的一步到了,你如果想创新你可以修改onenet中的第249行代码实现你自己想做的东西,我控制的是风扇所以我在这行代码中用的是
if(strstr((char *)req, “fengshan”))
当然你也可以改成你自己想要的,这样传感器下端的代码接口就改好了,现在需要在平台上新建一个应用。进入应用管理,点击添加应用,编辑应用依次操作马上进入最关键的一步
添加开关,开关格式必须改成我对应的格式,不然命令下发过后,开发板识别不了也不会进行相应的操作。
具体编辑如下图
你如果将代码中的fengshan改了上图中的fengshan也得改成对应的代码,至此远程控制风扇已经成功。
第一次发帖有不足的地方,多包涵最后附上源码仅供参考。
有啥问题的加我QQ359870477联系,以后就不在论坛回复了,论坛回复比较慢,且不方便。
熟悉STM32单片机应用设计,竞赛作品设计,熟悉使用gps,gprs,oled lcd1602显示,温湿度传感器,
MQ-2,MQ135,MQ9等气体传感器,对接学生主流OneNET云端远程控制,可以接单片机类的项目、
熟悉易安卓手机小型APP开发、HMI智能串口屏开发、熟悉红外光电管控制格力空调,AD绘制PCB接常规的双面板任务
PS:https://m.tb.cn/h.UuHXtzb?tk=krGFdOAPkbj CZ3457 「我在闲鱼发布了【嵌入式设计STM32咨询,解决方案,资料!9.9入群,领取资】」下单后可以申请加入嵌入式STM32学习交流群,群主免费在线解答各种问题。有偿提供嵌入式解决方案,熟悉各类传感器,使用51单片机、STM32F1、F4系列产品,智能小车解决方案,BI也设计、代码咨询加QQ1334813453。
STM32接入OneNET平台远程控制风扇相关推荐
- 基于STM32与OneNet平台的智能家居系统设计(代码开源含自制APP代码)
前言:本文为手把手教学的基础物联网开发设计,项目包含对下位机(MCU对外设数据读取与控制)和上位机(包含服务平台和APP端)的设计.下位机选取STM32作为MCU,外设有LED灯和DHT11温湿度传 ...
- NBIOT 设备接入ONENET平台
NBIOT 设备接入ONENET平台 一.ONENET平台的注册与配置 1.1.注册与创建产品 1.2.添加设备: 1.2.1 获取 IMEI 及 IMSI 二.连接NB-IOT 2.1 ONETET ...
- ESP8266_19MQTT协议接入ONENET平台_订阅主题
ESP8266_01搭建开发环境 ESP8266_02程序的编译与下载 ESP8266_03SDK与Makefile的基本用法 ESP8266_04管脚控制与软件定时器 ESP8266_05 ESP8 ...
- 4G 模块DTU网关+传感器接入OneNET平台 (MQTT新版)智慧农业解决方案
4G 模块DTU网关+传感器上传到 OneNET平台 (MQTT新版)智慧农业解决方案 在上一篇<4G模块 DTU网关 ZL-LTE系列 OneNET平台连接教程(MQTT新版)>的基础上 ...
- NBIOT模组M5310接入OneNET平台
一.OneNET平台介绍 中国移动物联网开放平台OneNET是由中国移动打造的PaaS物联网开放平台.平台能够帮助开发者轻松实现设备接入与设备连接,快速完成产品开发部署,为智能硬件.智能家居产品提供完 ...
- 物联网仪表ADW300接入ONENET平台介绍
摘要 物联网时代的蓬勃发展,促成了各行各业的智能化变革,传统的电力行业也开始向着智能电网进发.安科瑞电气股份有限公司作为一家为智能电网用户端提供各类解决方案的企业,也推出了物联网系列智能仪表.本文将介 ...
- 麒麟座V3.1接入OneNET平台初体验--上传温湿度
一..前言 这篇文章不得不有前言, 一直在搭建自己的云服务器, 最后还是觉得OneNet的平台更加方便, 省时省力, 功能强大, 调用方便. 这次开发麒麟座也没有硬件基础, 用着官方的例程就成功连接到 ...
- m5310模组数据上传至onenet_NB-IoT模块 YNH-M5310A全网通接入OneNET平台MQTT协议实现数据传输...
void ClearRAM(u8* ram,u32 n) { u32 i; for (i = 0;i < n;i++) { ram[i] = 0x00; } } //构建MQTT连接包 u16 ...
- 【IoT】物联网NB-IoT之移动oneNET平台硬件接入
主要实现开发者实际的终端设备在 OneNET 平台上的创建.连接和数据交互.在完成用户注册和产品创建后,即可根据相关所创建产品的协议类型选择相应的硬件接入的开发. 接入流程可参见下图: 1.LWM2M ...
最新文章
- JavaWeb项目第三次总结_成绩查询的实现
- VoVNet、VarGNet、PeleeNet:轻量级实时网络(嵌入端)
- java时钟面板clock
- ABAP入门程序,你会了嘛?
- java转json jar包_java转换json需导入的jar包说明
- Struts2之一个Action包含多个控制处理逻辑
- Android:日常学习笔记(6)——探究活动(3)
- 创建字符串枚举的最好方法
- Spark(idea)操作mysql进行查询和插入 (代码+理解)
- oracle10g数据库复制,oracle -10g 中Duplicate 复制数据库
- 多线程NSObjectNSThreadNSOperationGCD
- python经济统计学论文_统计学论文
- 第四章计划:制定项目使命、愿景、目的和目标
- animejs走马灯_Javript动画特效插件anime.js
- 微信企业红包php,微信公众号发红包和企业付款实现方法
- 电话按键单词问题(C/C++)
- Nuxt.js 如何做SEO
- 2020安徽省大数据与人工智能网络赛题目
- 腾讯文档的表格设置行高
- Font Awesome文字图标的使用
热门文章
- Mac虚拟机安装win7攻略 必须点赞
- 两个74HC595驱动共阳4位段选数码管
- pkr车牌识别系统服务器,车牌识别系统车牌录入的操作步骤
- C#表达式求值算法(干货)
- hdu 6599 I Love Palindrome String hash+PAM
- CSS line-height 和 vertical-align 精解
- python opencv 播放网络视频_opencv 网络视频流
- 视频压缩软件哪个最好用在线视频压缩的工具
- 快讯 | 整数智能携手格拉斯哥大学举办AI圆桌分享会
- [管理]ERP实施40问——60分钟外行变专家