本教程开发基于机智云AIoT自助开发平台、机智云Gokit3开发板、机智云物联网平台的DEMO APP,采用高精度红外传感器MLX90614ESF测量传感器(常见集成模块GY-906,精度可达0.02℃),实现高精度智能红外体温测量,实时上传体温数据、APP/云端监测体温曲线,提升自我检测/应急处理能力及效率。
本教程软硬件开源,提供开发文档及视频教学、社区技术支持在线协助学习开发,详细资料及开发程序请至机智云开发者社区。
02 准备工具
03 主要步骤
云端部署:
进入机智云开发者中心创建一个新的产品,按照下图创建一个新的产品。
创建好产品之后,点击导航栏数据点,新增一个数据点,由于传感器的范围是-70-380℃,所以为了使用用范围广,创建如下图所示的温度数据点。
如果要手机APP显示中文测量温度,那么添加之后点击数据点后面的修改,将显示名称改成测量温度即可。
利用机智云自动代码功能,生成SOC代码,点击基本信息复制里面的Product Secret备用。
点击MCU开发,将复制的Product Secret粘贴进去,然后生成代码,将生成的代码下载到电脑备用。尽量避免中文路径的出现。
将代码解压到非中文路径备用
开发环境部署:
在此处,我们需要用到2个软件,一个用来给esp8266烧录程序,一个用来开发编译程序。2个软件打包云盘。将下载的2个软件分别解压(链接:https://pan.baidu.com/s/1Day4WA5HJNV9LlUqs4LFyQ 提取码:2x6a ),将解压过后开发软件里面的文件复制到英文路径下面。一定要是英文路径,否则不能编译或者编译出错。固件下载软件随便解压到就行。
程序实现:
1、项目导入。
打开开发环境,在左侧右键单击,导入项目(import)
选择Makefile项目,然后next
选择项目所在的路径,一定不要选错了,选错编译出错,根目录如图所示,编译器选择cygwin GCC
正确导入项目如下图所示。
打开根目录下面的Makefile文件
修改23、24、27行内容,这几个内容还是编译相关的,可以查阅乐鑫相关的手册,有对应的介绍,此处不在说明,照着修改就行了,修改了之后要记得保存,所有文件修改过后都需要保存再编译,否则修改内容不生效。到此就完成了项目的导入以及初步编译部署。
2、代码修改。
由于是基于机智云物联网平台的gokit3,自动代码生成的按键就是和开发板对应的,因此我们只需要添加传感器数据的采集,关于代码介绍,我只介绍核心部分,为了方便理解协议,此处我将不采用SDK的IIC驱动,也不单独创建新的.c,h文件。直接将代码写到gizwits_product里面。数据手册自行下载附件查看。我将会加在文章末尾作为附件。需要修改的文件如下图3个。
根据手册和gokit3原理图。我选用串口0作为IIC的通讯口,为啥要用串口0 ,因为串口0没有被板子其他传感器给占用。开发板和传感器接线如下(TXD RXD在gokit arduino引脚上标注的TXD RXD)。
GPIO1(TxD)----SCL
GPIO3(RxD)----SDA
5V------------VCC
GND----------GND
关于代码介绍,可以看程序代码里面的注释说明。
gizwits_product.h新增以下代码。
gizwits_product.c末尾新增如下函数
gizwits_product.c的userHandle新增如下代码
user_main.c的user_init函数新增初始化代码
修改完代码之后编译代码
正确无误编译信息如下
代码烧录:
打开下载软件,选择ESP8266
按照图片选择固件进行烧录
成功烧录之后手机APP配网绑定设备即可实时查看采集温度。开发板key2长按为一键配置,短按为热点配置。
本教程软硬件开源,提供开发文档及视频教学、社区技术支持在线协助学习开发,详细资料及开发程序请至机智云开发者社区下载.