本文主要是介绍CCS811二氧化碳传感器基于Arduino的升级固件(刷机)教程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
CCS811二氧化碳传感器基于Arduino的升级固件(刷机)教程
- 背景信息
- 准备工作
- 实现思路
- 效果打印
- 固件转换成数组部分
- 固件主要下载部分:
- 转换好的.h文件
背景信息
这篇文章主要是根据ams官方文档整理出来, 用于升级传感器的内部新固件FW,体验优化的功能,具体可看fw的历史,初始版是1.1.0,新买的sensor需要先刷2.0.0,用了几天,老化过后再刷2.0.1,猜测是内部数据校验不一样。
准备工作
- 硬件使用STM32F103C8T6 + CCS811;
- 软件部分是Arduino IDE + JDK1.8+ 记事本
- 硬件连接:
stm32F1 pin | CCS811 pin
3.3v —> VCC
GND --> GND
PB6 --> SCL
PB7 --> SDA
PC13 --> Wake
ps: STM32F103C8T6+Arduino 环境搭建方法,另外PC13是同时控制一个LED灯,可以通过它间接看升级时的状态
实现思路
把新固件FW里面的xx.bin文件,转换成C语言数组形式,附加到Arduino项目里面去,再经过I2C把新固件FW推送到CCS811里面去。
ps:本来想是用串口发给stm32的,但是用Arduino IDE发现数据接收不完整,放弃这个方法。
效果打印
新买的sensor固件的状态:
升级过程中,升级过程预计在30-40S,要稍微等一下:
升级完再看下版本,新买的需要先升级到2.0.0:
老化后再升级到2.0.1:
固件转换成数组部分
Java工具源码 bin2arry.java ,转换前的xx.bin文件需要在同目录下:
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.BufferedWriter;
import java.io.IOException;class bin2arry{public static void main(String[] args) throws IOException {String binName =
这篇关于CCS811二氧化碳传感器基于Arduino的升级固件(刷机)教程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!