从零开始的DIY智能家居 - 基于 ESP32 的智能水浊度传感器


前言

家里有个鱼缸养了几条鱼来玩玩,但是换水的问题着实头疼,经常一个不注意就忘记换水,鱼儿就没了。o(╥﹏╥)o

在获得 Spirit 1 边缘计算机 后就相当于有了一个人智能设备服务器,可以自己开发在家里开发智能设备,于是准备做一个智能水浊度传感器来解决一下我这个换水难的问题。

目前的想法就是看看水啥时候改换了提醒我一下手动换水,自动换水过滤的设备太贵了 ,穷逼只能看看怎么 DIY 一套。

硬件选择

这次依然还是用着安信可的 ESP32S ,别问,问就是便宜,至于那个 IOT PI ?已经被我做成智能甲醛检测器 塞柜子里面去了 ,有兴趣的朋友可以去看看哦!把 IOT PI 换成ESP32S 成本也就60块钱。
传感器用的 DFrboot 的水浊度传感器
服务器用的翼辉的 Spirit 1

我是不是该让安信可 给我广告费啊?天天用他家板子 ̄ω ̄=,我选择安信可的具体原因可以看arduino开发指导手把手带你 arduino 开发:基于ESP32S 的第一个应用-红外测温枪(带引脚图) 里面还有很详细的 arduino 入门教程。

传感器接线:使用 A0 控制(SVP/IO36),电源接5V。

代码解析

获取代码

为了方便讲解逻辑,我会打乱代码的顺序可能还会进行裁剪,要是想直接拿代码跑的朋友可以直接去 灵感桌面的秘密宝库 获取代码,或者直接 clone:

https://gitee.com/inspiration-desktop/DEV-lib-arduino.git

要是连 git 是什么都不知道,可以参考简单无脑,上手即用 - 手把手教你使用 智能红外温度传感器代码以及依赖的 gitee 库!
下载或者 clone代码后这次用到的是这个三个文件夹:

在这里插入图片描述
cjson:我移植的 cjson 库,就是标准的 cjson 库,放到 arduino 安装目录下的 libraries 文件夹里,百度一下 cjson 的函数使用就行了。

libsddc:是我移植自官方的SDDC库和自己写的 SDK,也是放入 libraries 文件夹里就行。里面是 SDDC 协议的处理函数,我们不用管。

demo 文件夹里面就是我们各种传感器的 demo 代码了:

在这里插入图片描述
红圈的 TurbidityA_sddc_demo 文件夹里面就是我们代码,点进去就能看见 TurbidityA_sddc_sdk_demo.ino 文件,双击文件会自动启动 arduino-IDE 打开代码。在工具 -> 端口 选择对应的 COM 口然后点击上传就可以把代码烧录到板子里:
在这里插入图片描述
具体 arduino 使用教程可以看我之前的文章 arduino开发指导手把手带你 arduino 开发:基于ESP32S 的第一个应用-红外测温枪(带引脚图)

设备控制命令:

通过 Spirit 1 的应用程序或者嗅探器 向传感器设备发送的命令:

{
   
  "method": "get",          // 这个命令可以让传感器主动发送一个当前水浊度
  "obj": ["turbidity"]
}
{
   
  "method": "set",         // 这个命令可以调整传感器主动上报的时间间隔,水浊度变化应该不会很快,可以设置慢一些
  "periodic_time": 1000
}

设备和协议初始化流程:

基于官方 demo 写的不需要做什么修改,主要是设备初始化,管脚配置,和协议初始化部分。

/*
 * 初始化传感器
 */
void sensor_init()
{
   
    // 创建传感器任务,周期性获取水浊度传感器的数据并发送给 EdgerOS
    xTaskCreate(periodic_sensor_task, "periodic_sensor_task", ESP_TASK_STACK_SIZE, NULL, ESP_TASK_PRIO, NULL);
}

void setup() {
   
    byte mac[6];
    Serial.begin(115200);
    Serial.setDebugOutput(true);
    Serial.println();

    
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值