STM32F407-OV7670(无FIFO)-ONENET-实现摄像头画面上传到onenet(EDP协议)

本文档介绍了如何使用STM32F4微控制器与OV7670摄像头模块进行初始化和图像捕获,并通过ESP8266 WiFi模块实现数据传输。涉及到EDP协议的登录流程,以及设备ID和鉴权信息的使用。同时提供了OV7670的初始化代码和ESP8266的初始化程序,为基于STM32F4的物联网设备提供了一种集成摄像头和无线通信的解决方案。

EDP协议

EDP协议文档说明:https://leoeinstein.lanzous.com/ifX1Ckfkaaf

服务器登录

登录流程:

(1)客户端发送连接请求(CONN_REQ)
(2)服务器验证请求的合法性
(3)服务器发送一个回执(CONN_RESP)给客户端

Onenet 上的EDP、HTTP、MQTT服务器地址和端口号如下:

E D P: 183.230.40.39 PORT: 876
HTTP: 183.230.40.33 PORT: 80
MQTT: 183.230.40.39 PORT: 6002

在这里插入图片描述
其中请求包含三部分:消息头、选项和消息体。

1、消息头

包括消息的类型和剩余消息长度。

2、选项

包括协议名称、协议版本、连接标志、保持连接时间。

3、消息体

可能包含设备ID、用户ID(可选)、鉴权信息(看采取什么方式登录)。

设备ID、用户ID(可选)、鉴权信息,这三项内容都为长度+内容的字符串格式

设备ID必须传递,若认证方式中不使用设备ID,应将设备ID长度设置为0;用户ID和鉴权信息,根据标志位若存在必须按顺序出现。

在这里插入图片描述

(绿色为消息头部分,黄色为可选的多个选项部分和蓝色为可选的消息体

各部分具体如下图
在这里插入图片描述

登录方式

在这里插入图片描述

方式1:

设备ID+鉴权信息(api-key)

设备ID:申请设备时平台返回的ID; 鉴权信息:在平台申请的可以操作该设备的api-key字符串;

api-key:
在这里插入图片描述

方式2:

产品ID + 鉴权信息(auth_info)

产品ID:在平台添加产品时平台生成的ID;

鉴权信息:在平台申请设备时填写设备的auth_info属性(json对象字符串),该属性需要产品内具备唯一性

具体EDP协议解读可参考以下文章:
https://open.iot.10086.cn/bbs/thread-632-1-1.html

onenet初始化程序

ONENET\EDP协议部分代码可参考onenet论坛的资料:
https://open.iot.10086.cn/bbs/thread-863-1-1.html

论坛里面有很详细的资料哦,几乎都是稍微修改以下就可以用的了。


OV7670摄像头模块

引脚定义及连线

ov7670 stm32f4
VCC 3.3V
GND GND
SCL PF10
SDA PF9
VSYNC PB7
HREF PA4
PCLK PA6
XCLK PA8
D7 PE6
D6 PE5
D5 PB6
D4 PE4
D3 PC9
D2 PC8
D1 PC7
D0 PC6
RET PG8
PWDN PG9

OV7670中文资料手册:
https://wenku.baidu.com/view/e60f19ea81c758f5f61f67df.html

OV7670初始化程序

ov7670.h

#ifndef _OV7670_H
#define _OV7670_H

#include "stm32f4xx.h"

#define OV7670_RST_PW_RCC		RCC_AHB1Periph_GPIOG
#define OV7670_RST_PW_Pin		GPIO_Pin_8|GPIO_Pin_9
#define OV7670_RST_PW_GPIO		GPIOG

#define OV7670_PWDN_H  			GPIO_SetBits(GPIOG,GPIO_Pin_9)			//POWER DOWN控制信号 
#define OV7670_PWDN_L  			GPIO_ResetBits(GPIOG,GPIO_Pin_9)		//POWER DOWN控制信号 

#define OV7670_RST_H  			GPIO_SetBits(GPIOG,GPIO_Pin_8)			//复位控制信号 
#define OV7670_RST_L  			GPIO_ResetBits(GPIOG,GPIO_Pin_8)		//复位控制信号 


#define PIC_START_X				0		//起始坐标x
#define PIC_START_Y				0		//起始坐标y
#define PIC_WIDTH
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值