项目简介
本项目开发了一个基于CC2500无线收发器的ESPHome外部组件,通过ESPHome系统对CC2500设备进行控制和管理。采用C++和Python混合编程,结合ESPHome框架与CC2500芯片功能,为用户提供便捷、灵活的无线传感器网络控制与管理方案,适用于智能家居和物联网领域。
项目的主要特性和功能
- 支持使用兼容的CC2500收发器进行数据的发送和接收。
- 针对ESP8266基于的板,当GDO0连接到A0时,可读取CC2500传感器的温度值并发布出去。
- 具备可扩展性,其他依赖CC2500组件的组件可在此基础上构建。
- 在调试和详细日志模式下,会记录默认通道上使用默认设置的所有传入流量。
安装使用步骤
硬件准备
- 准备ESP8266、ESP32或其他ESPHome支持的微控制器。
- 准备CC2500收发器模块,并按照以下方式进行接线:
| CC2500 | NodeMcu V3 |Wemos D1 mini
Shield V1|Wemos D1 mini
Shield V2|Wemos C3 mini
Shield V1|Wemos C3 mini
Shield V2| |:----------------:|:----------:|:-------------:|:-------------:|:-------------:|:-------------:| | GND | G | GND | GND | GND | GND | | VDD | 3V | 3V3 | 3V3 | 3V3 | 3V3 | | SI | D7/GPIO13 | GPIO13 | GPIO13 | GPIO4 | GPIO4 | | SCLK | D5/GPIO14 | GPIO14 | GPIO14 | GPIO2 | GPIO2 | | SO | D6/GPIO12 | GPIO12 | GPIO12 | GPIO3 | GPIO3 | | GDO2 (interrupt) | D1/GPIO5 | GPIO5 | GPIO15 | GPIO10 | GPIO5 | |GDO0 (temperature)| A0 | NC | A0 | NC | GPIO0 | | CSn | D8/GPIO15 | GPIO15 | GPIO16 | GPIO5 | GPIO1 |
配置设置
- 首先需要放置一个顶级SPI组件,定义要使用的引脚。以下是不同硬件组合的示例配置:
Wemos C3 mini和CC2500 Shield
```yaml esphome: name: cc2500
external_components: - source: type: git components: [cc2500]
esp32: board: lolin_c3_mini variant: esp32c3
logger: level: DEBUG
api: encryption: key: ...
ota: - platform: esphome password: ...
wifi: ssid: !secret wifi_ssid password: !secret wifi_password ```
Wemos D1 mini和CC2500 Shield V1.0
```yaml spi: clk_pin: GPIO14 mosi_pin: GPIO13 miso_pin: GPIO12
cc2500: cs_pin: GPIO15 gdo2_pin: GPIO5 # Interrupt output_power: 0xFF ```
Wemos D1 mini和CC2500 Shield V2.0
```yaml spi: clk_pin: GPIO14 mosi_pin: GPIO13 miso_pin: GPIO12
cc2500: cs_pin: GPIO16 gdo0_pin: A0 gdo2_pin: GPIO15 # Interrupt output_power: 0xFF
sensor: - platform: cc2500 temperature: name: "Temperature" update_interval: 5s ```
Wemos C3 mini和CC2500 Shield V1.0
```yaml spi: clk_pin: GPIO2 mosi_pin: GPIO4 miso_pin: GPIO3
cc2500: cs_pin: GPIO5 gdo2_pin: GPIO10 # Interrupt output_power: 0xFF ```
Wemos C3 mini和CC2500 Shield V2.0
```yaml spi: clk_pin: GPIO2 mosi_pin: GPIO4 miso_pin: GPIO3
cc2500: cs_pin: GPIO1 gdo0_pin: GPIO0 gdo2_pin: GPIO5 # Interrupt output_power: 0xFF ```
编译和上传
完成上述配置后,使用ESPHome工具编译项目并上传到对应的微控制器上,即可开始使用CC2500无线收发器进行数据收发和温度监测等操作。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】