
断路器接入天猫精灵
简介
STM32G070RBT6 通过TG12F接入阿里飞燕平台 带过温保护
简介:STM32G070RBT6 通过TG12F接入阿里飞燕平台 带过温保护开源协议
:Public Domain
描述
项目说明
STM32G070RBT6 通过TG12F接入阿里飞燕平台
OLED显示运行参数
1路测温 可以监控线路温度 避免线路过载
使用BS812A-1触摸感应芯片 提升使用体验
扩展USART接口 可扩展电能计量模块
10A继电器 可接小型电器 也可以接 大型断路器
设计原理
家里有个天猫精灵 但一直没用 想做一个无线开关连到 阿里云飞燕平台 通过可语音控制也可以使用天猫精灵APP控制
电器开关要防范电气火灾隐患 故添加路温度检测 可以将探头绑在电线表皮 实时监控电线是否发烫 超温自动断电
软件说明
软件使用的前后台模式 本来想使用rtos的 奈何活动明天结束!
使用到的模块有 ntc100k、oled、BS812A-1触摸感应芯片、TG12F、stm32G030RBT6、继电器、蜂鸣器(想做定时报警,来不及了)
ntc100k使用的是查表法 取10次采样的平均值 有三路温度监测没用上 所以程序屏蔽了
void NTC100K_Poll(void)
{
uint8_t i;
adc_t[0]=0;
adc_t[1]=0;
adc_t[2]=0;
adc_t[3]=0;
for(i=0,adc_t[0]=0,adc_t[1]=0,adc_t[2]=0,adc_t[3]=0;i<40;)
{
adc_t[0]+=adcValue[i++];
adc_t[1]+=adcValue[i++];
adc_t[2]+=adcValue[i++];
adc_t[3]+=adcValue[i++];
}
// adc1 = ntc100_getTemperature(adc1/10)-ntc_pos;
// adc2 = ntc100_getTemperature(adc2/10)-ntc_pos;
// adc3 = ntc100_getTemperature(adc3/10)-ntc_pos;
adc_t[3] = ntc100_getTemperature(adc_t[3]/10)-ntc_pos;
}
oled没啥说的,参照江协的就行
BS812A-1触摸感应芯片 网络不好时可以本地开关继电器 共两个接口 只用到了1个。 当普通按键处理就行 但实际使用要考虑干扰 可以加个长按检测
// 循环检测
void KEY_Poll(void)
{
/* 读取KEY0引脚电平 */
if (!KEY_STATE) // 按键按下时为低电平
{
cnt++;
if (cnt == 0xffff)
{
cnt = 100;
}
if (cnt == 100)
{ // 长按
buttonState = LONG_PRESSED;
}
}
else if (KEY_STATE) // 按键松开
{
if (cnt < 100)
{ // 短按
buttonState = SHORT_PRESSED;
}
cnt = 0;
}
}
TG12F AT方式 连接阿里云的wifi+蓝牙芯片 参照教程:https://blog.csdn.net/Boantong_/article/details/109451425
printf("AT+RESTORE\r\n"); //恢复出厂默认模式
HAL_Delay(5000);
printf("AT+LINKKEYCONFIG=\"a15sBmj3kHQ\",\"7cb94c481f5f\",\"57f5f80f928024242998ab5b81f9e291\",\"K5qV8RDJrQwzGZjr\",\"20957197\"\r\n"); // 设置 TG_12F的五元组参数
HAL_Delay(1000);
printf("AT+RST\r\n");
HAL_Delay(1000);
printf("AT+ALIBTSMARTCONFIG\r\n"); // 发送配网指令
HAL_Delay(1000);
继电器、蜂鸣器
#define RELAY_ON HAL_GPIO_WritePin(GPIOC, GPIO_PIN_10, GPIO_PIN_SET)
#define RELAY_OFF HAL_GPIO_WritePin(GPIOC, GPIO_PIN_10, GPIO_PIN_RESET)
#define RELAY_TOGGLE HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_10)
#define RELAY_READ HAL_GPIO_ReadPin(GPIOC, GPIO_PIN_10)
实物展示
自己网上买的壳,刚刚好,又买了根NTC
自己焊接的板子,惨不忍睹,本来想走STM贴片的,申请没通过,64针脚的MCU焊麻了都
试下电容按键 手动控制下继电器
板子上电10s后 就可以搜到了设备了
至此设备已连上了 可以愉快的玩耍了
看下后台的监测数据 搞定
其他
最近较忙 收到板子后已经20号了 赶着这最后两天 把作业先交了
也遇到了一些问题 继电器没驱动成功 于是飞线三极管来驱动 原理图 及 PCB已更新错误
板子的还可以加上定时功能 电能计量检测等 后续有时间会接着更新
设计图

BOM


评论