#第七届立创电赛#基于N32/STM32物联网终端设备
简介
基于N32/STM32物联网终端设备,支持lora网络
简介:基于N32/STM32物联网终端设备,支持lora网络开源协议
:GPL 3.0
描述
注:* 为必填项
请在报名阶段填写 ↓
* 1、项目功能介绍
STM32终端控制器,设计的初衷是做一款拥有蓝牙BLE与LORA传输功能的室内外传感控检测控制的产品。
该项目基于目前DIY爱好者经常使用的STM32F103C8T6型号,通过LORA或BLE,从而实现远程主控的实时显示。该系统最大特色在于拥有远程控制与后备电源系统。
部分代码已支持国民技术N32G430C8L7方案芯片,详见底部说明。
*2、项目属性
此项目完全原创,首次公开,代码、自制代码、PCB以及原理图完全开源,禁止资料倒卖否则后果自负。此项目前后历时2个月,PCB打样两版,遵循GPL3.0协议。也请“嘉”人们多多支持开源,共同维护国内开源环境。
* 3、开源协议
GPL3.0开源协议
原理图、PCB、代码完全开源,但不允许个人制作出售以及倒卖资料,如需使用,请标明来源。
首先,感谢杜洋老师的“STM32入门30步”,详细的教程资料带我入门STM32CubeIDE,代码参考于此,希望大家致敬开源精神。其次,感谢立创开源平台中开源的各种工程,为我提供了创新的想法和理论支持。最后,感谢立创EDA提供此次难能宝贵的机会,也十分感激立创EDA为开源建设所付出的一切,相信在立创开源平台的带领下,国内开源环境会越来越好,我们一起加油!
*4、硬件部分
•产品名:基于STM32物联网终端设备
•主要功能:
1.可读出环境的温湿度值,在设置的温度时通过继电器打开/关闭用电器;
2.可通过手机蓝牙BLE连接设备,连接后显示温湿度值,亮度,电压值,连接状态,控制LED,系统重启、继电器开关等功能;
3.可通过LORA 模块扩频调制进行无线串口多机通讯(型号:A39C-T400A22D1A),实测极复杂传输距离最远可达 1000 米(官方宣传无遮挡5000米)。通过使用该模块的主从模式、自动中继、传输方式。实现超低功耗,可广泛应用于各种环境下,轻松实现低频无线数据传输。请注意:该项目在USART2使用9600波特率,其余均为115200;
4.在系统出现故障时蜂鸣器报警,并将报警事件上传用户,继电器异常自动断电;
5.从机包含HLK-5G人体传感器,可实时判断当前人员存在状态;
6.从机包含BH1750光照传感器,可准确、实时判断当前环境亮度;
7.从机包含0.96寸OLED屏幕,使得调试更加方便,数据更为直观;
8.从机包含CH340N串口芯片,可实现与PC端通信调试;
9.从机与接收机均使用充放电一体电路,检测到电池电量低于极限电压时,强制MCU进入待机状态降低功耗;
10.利用双路ADC检测,实现外置电源与电池供电检测。预留MQ-X传感器接口(当外置电源5V输入时正常工作);
11.接收机搭载1.44TFT显示屏幕,实时显示接收到的温湿度、光照、电压等数据。
V1.0版本照片:
V1.1版本照片:
(1)从机-正面
(2)从机-背面
(3)从机-工作状态
(4)从机-工作状态
(5)接收器-工作状态
(6)主从机-工作状态
国民技术N32G430C8L7方案芯片:
如您使用的是该系列芯片。请自行更改ADC部分的代码,其余部分(蓝牙,串口,I2C,按键等)可不做修改,直接使用由CUBE IDE编辑器完成的代码
最新完整版本已更新,详见附件,效果如下:
*5、软件部分
从机(传感器端)代码使用STM32CubeIDE 1.8.0编辑;接收端代码使用Keil5 MDK编辑。
STM32Cube端部分代码如下:
while (1)
{
HAL_NVIC_DisableIRQ(DMA1_Channel1_IRQn);//关DMA中断
DHT11_ReadData(DHT11_BUF);//读出DHT11传感器数据(参数是存放数据的数组指针)
HAL_NVIC_EnableIRQ(DMA1_Channel1_IRQn);//开DMA中断
bh1750_lux = Get_BH1750_Value();
if(USART2_RX_STA&0x8000){//判断中断接收标志位(蓝牙模块BT,使用USART2)
if((USART2_RX_STA&0x7FFF) == 1) //判断接收数量1个(手机控制程序)
{
switch (USART2_RX_BUF[0]){//判断接收数据的内容
case 0x41:
RELAY_1(1);////继电器的控制程序(0继电器放开,1继电器吸合)
BT_printf("Relay ON");//返回数据内容,在手机APP上显示
break;
case 0x44:
RELAY_1(0);////继电器的控制程序(0继电器放开,1继电器吸合)
BT_printf("Relay OFF");//返回数据内容,在手机APP上显示
break;
case 0x42:
LED_2(1);//LED2控制
BT_printf("LED1 ON");//返回数据内容,在手机APP上显示
break;
case 0x45:
LED_2(0);//LED2控制
BT_printf("LED1 OFF");//返回数据内容,在手机APP上显示
break;
case 0x43:
BUZZER_SOLO1();//蜂鸣器输出单音的报警音
BT_printf("BEEP");//返回数据内容,在手机APP上显示
break;
case 0x46:
BT_printf("CPU Reset");//返回数据内容,在手机APP上显示
HAL_Delay(1000);//延时
NVIC_SystemReset();//系统软件复位函数
break;
default:
//冗余语句
break;
}
}
USART2_RX_STA=0;//标志位清0,准备下次接收
}
if(dmaadc[0]<3200){
BT_printf("进入停机状态!\n\r");
HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON,PWR_STOPENTRY_WFI);
SystemClock_Config();
BT_printf("退出停机状态!\n\r");
}
*6、BOM清单
BOM参考原理图即可,与商城元件编号基本一致
下图分别为从机、接收机BOM表
如您对该项目使用的LORA模块有兴趣,请点击AS15-USB-T3串口模块转接板项目,内附有购买链接。
*7、大赛LOGO验证
* 8、演示您的项目并录制成视频上传
请点击:https://www.bilibili.com/video/BV1PW4y1U7hx/
蓝牙控制演示视频:https://www.bilibili.com/video/BV11N4y1V7FH/
评论