关闭视频

以BH1750为例,使用ESP8266的iic功能对接进机智云

发表于:2021年08月11日 17:33更新于:2024年05月04日 18:38

 

简单介绍

 

♦ 机智云

机智云给开发者提供了大量开发支持,如开源的安卓/苹果SDK、APP等,开发者直接在开源的架构上二次开发即可,从而减少开发工作量。文档中心提供大量的接入教程,非常详细,机智云官方文档中心链接,还没有接触过的小伙伴可以进去了解一下。

 

♦ ESP8266-12E

ESP8266 是上海乐鑫研发的高性能无线 SOC,旨在以最低成本提供最大实用性,为 WiFi 功能嵌入其他系统提供无限可能,被称为业界里程碑。ESP8266EX 内置 Tensilica L10632 位微型控制器(MCU),具有超低功耗和 16 位 RSIC,时钟速度最高可达 160MHz。持实时操作系统 (RTOS),目前 Wi-Fi 协议栈只用了 20% 的 MIPS,其他均可用于用户编程和开发。(由于32位,故可以先在自己比较熟练的32位单片机上运行一下,然后再仿写可以节省大量的时间)

 

♦ BH1750

是一款光照传感器,IIC通信方式,范围为(1 - 65535 勒克斯)

在这里插入图片描述

 

 

操作步骤

 

► 登录机智云开发者中心,创建一个智能硬件产品,生成ESP8266版本的MCU代码包。

► 机智云平台下载自动生成的MCU程序文件下来,使用eclipse软件将代码导入,按照图片所示改一下Makefile文件。

► 编译一下整个项目。

在这里插入图片描述

 

► 将main.c文件中的双按键接入改为一个按键就个接入机智云,如图所示。

► 对应的引脚可以自行改掉,这里使用GPIO0

在这里插入图片描述

 

► 在app-driver文件上建立bh1750.c和在app-include-driver文件上建立个bh1750.h文件,如图所示。

► 这里我们使用官方提供的IIC库i2c_master.h/i2c_master.c,更改自己的总线引脚。

在这里插入图片描述

 

► 编写bh1750的驱动文件,打开数据手册,找到高分辨率情况下的时序图。

在这里插入图片描述

 

► 编写读取数据程序。

在这里插入图片描述

 

► 时序比较简单,对照程序看一下时序就会懂了。其它的iic驱动可以不用理会,想了解自行看看就行。头文件如图所示

 

► 在user_init()函数中调用bh1750_init()函数,放在keyInit()下面即可。

► 上传数据到机智云。

在这里插入图片描述

► 将bh1750.h头文件包括在改文件里面,在此处调用即可。

 

 

电路图及成品

 

硬件电路图如图所示:

在这里插入图片描述

RGB的使用是在接入wifi时使用的,可以不用理会,就是个简单的控制io口。

 

最后成品如图