发作品
专业版

#第七届立创电赛#基于N32/STM32物联网终端设备

3.0w
0
0
45
简介:基于N32/STM32物联网终端设备,支持lora网络
开源协议:GPL 3.0
创建时间:2022-05-20 12:06:31更新时间:2023-08-03 14:56:11

描述

注:* 为必填项

请在报名阶段填写 ↓

 

* 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/

 

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

附件

序号文件名称下载次数
1
STM32主机代码.rar
710
2
STM32接收机代码.rar
489
3
128x64取字软件.rar
245
4
Photo.rar
2165
5
V1.4增加电量显示.zip
1957
克隆工程
添加到专辑
0
0
分享
侵权投诉
全部评论(1
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程