CCS811二氧化碳传感器基于Arduino的升级固件(刷机)教程

本文档介绍了如何使用Arduino IDE和STM32F103C8T6对CCS811传感器进行固件升级。通过将新固件转换为C语言数组并利用I2C接口传输到传感器中。详细步骤包括背景介绍、所需硬件和软件、转换过程以及升级效果的展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CCS811二氧化碳传感器基于Arduino的升级固件(刷机)教程

背景信息

这篇文章主要是根据ams官方文档整理出来, 用于升级传感器的内部新固件FW,体验优化的功能,具体可看fw的历史,初始版是1.1.0,新买的sensor需要先刷2.0.0,用了几天,老化过后再刷2.0.1,猜测是内部数据校验不一样。
在这里插入图片描述

准备工作

  1. 硬件使用STM32F103C8T6 + CCS811;
  2. 软件部分是Arduino IDE + JDK1.8+ 记事本
  3. 硬件连接:
    stm32F1 pin | CCS811 pin
    3.3v —> VCC
    GND --> GND
    PB6 --> SCL
    PB7 --> SDA
    PC13 --> Wake

ps: STM32F103C8T6+Arduino 环境搭建方法,另外PC13是同时控制一个LED灯,可以通过它间接看升级时的状态

实现思路

java工具 转
include包含
I2C
xx.bin固件
xx.h
Arduino项目文件
CCS811传感器

新固件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 = args[0]+".bin";
		String outFileName = args[0]+".h"
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值