#第七届立创电赛#基于N32/STM32物联网终端设备 - 嘉立创EDA开源硬件平台

编辑器版本 ×
标准版 Standard

1、简单易用,可快速上手

2、流畅支持300个器件或1000个焊盘以下的设计规模

3、支持简单的电路仿真

4、面向学生、老师、创客

专业版 professional

1、全新的交互和界面

2、流畅支持超过3w器件或10w焊盘的设计规模,支持面板和外壳设计

3、更严谨的设计约束,更规范的流程

4、面向企业、更专业的用户

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

简介:基于N32/STM32物联网终端设备,支持lora网络

开源协议: GPL 3.0

(未经作者授权,禁止转载)

创建时间: 2022-05-20 12:06:31
更新时间: 2023-10-19 14:39:52
描述

注:* 为必填项

请在报名阶段填写 ↓

 

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

 

设计图
原理图
1 /
PCB
1 /
未生成预览图,请在编辑器重新保存一次
工程视频/附件
侵权投诉
相关工程
换一批
加载中...
添加到专辑 ×

加载中...

温馨提示 ×

是否需要添加此工程到专辑?

温馨提示
动态内容涉嫌违规
内容:
  • 153 6159 2675

服务时间

周一至周五 9:00~18:00
  • 技术支持

support
  • 开源平台公众号

MP