【立创开源】基于N32/STM32物联网终端设备
1、项目功能介绍
STM32终端控制器,设计的初衷是做一款拥有蓝牙BLE与LORA传输功能的室内外传感控检测控制的产品。
该项目基于目前DIY爱好者经常使用的STM32F103C8T6型号,通过LORA或BLE,从而实现远程主控的实时显示。该系统最大特色在于拥有远程控制与后备电源系统。
部分代码已支持国民技术N32G430C8L7方案芯片,详见底部说明。
基于N32/STM32物联网终端设备,支持lora网络 嘉立创EDA开源硬件平台https://oshwhub.com/gbn2333/ji-yustm32
*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/
蓝牙控制演示视频:STM32终端传感器-蓝牙演示_哔哩哔哩_bilibili
【立创开源】基于N32/STM32物联网终端设备相关推荐
- 立创开源 | 基于ESP-01的物联网继电器
本工程全部内容已在立创开源平台完全开源,有感兴趣的可以去看看:开源链接 (一)前期准备 (1)手机端下载"点灯 blinker"APP,并按照附件中"Blinker手机端 ...
- 立创开源|基于国产雅特力制作的多层全键自定义小键盘
本项目已开源至立创开源硬件平台:点击传送 一.确定键盘布局 布局编辑网站: http://www.keyboard-layout-editor.com/ 定位板生成网站: http://builder ...
- 立创开源 | 基于ESP-01的桌面小彩灯
1.工程简介 该工程下包含原理图一份,PCB两份,分别是方形灯PCB与圆形灯PCB.采用ESP-01模块(华秋电子商城新人1元购)作为主控,其IO2引脚输出控制5颗WS2812B灯珠(17元100颗) ...
- 立创开源(基于亚特联的二路电量统计插板)
描述 基于亚特联的二路电量统计插板 项目简介: 这是一款基于亚特联CB3S模块,采用亚特联零代码开发的智能二路电量统计插座,通过一键配网和手机端对二路插座的开关控制. 软件开发: 软件开发基于亚特联零 ...
- 开源物联网终端设备操作系统
终端设备开源操作系统,已从移动手机市场转向物联网市场. 文章目录 前言 一.物联网终端操作系统的特点 二.常见的物联网操作系统 1.两大派系 2.诸多厂家 1. 华为鸿蒙HarmonyOS 2. 华为 ...
- 【毕业设计】基于云平台的火灾报警器 - stm32 物联网 单片机 OneNET云平台
文章目录 0 简介 1 项目简介 2 开发环境 3 火焰传感器 4 连接OneNET云平台 5 演示效果 6 最后 0 简介 Hi,大家好,这里是丹成学长,今天向大家介绍一个 单片机项目 基于云平台的 ...
- 毕业设计 基于云平台的火灾报警系统设计与实现 - stm32 物联网 单片机 OneNET云平台
文章目录 0 简介 1 项目简介 2 开发环境 3 火焰传感器 4 连接OneNET云平台 5 演示效果 6 最后 0 简介 Hi,大家好,学长今天向大家介绍一个 单片机项目 基于云平台的火灾报警器 ...
- 基于STM32物联网WiFi智能家居控制系统设计(原理图+源代码+系统资料)
基于STM32物联网WiFi智能家居控制系统设计(原理图+源代码+系统资料) 原理图:Altium Designer 程序编译器:keil 5 编程语言:C语言 设计编号:C0053 主要功能: 1. ...
- 基于stm32物联网开发板(1)
基于stm32物联网开发板(1) 本开发板采用了STM32F103RET6作为核心CPU,72MHZ工作频率,512KB flash,64KB Sram.本开发平台外设模块有ESP8266 WIF ...
最新文章
- 【AI参赛经验】深度学习入门指南:从零开始TinyMind汉字书法识别——by:Link
- java生成缩略图类源码
- Oracle数据库之PL/SQL
- vivado安装_Vivado下载与安装指南
- command对象和DataReader的学习
- JavaScript中必须掌握的10个难点(必看)
- 如何安装Python3.7,小白必看!
- 腾讯翻译君在线翻译怎么翻译整个文件_What?还能翻译年报?!
- linux安装CacheCloud
- AD硬件电路学习笔记(一)常见的管脚名字以及FPGA、Lora等常见的物联网组网
- 常见杀软对应的进程名
- 利用 Maxima 求解常微分方程
- C++求最大与最小值
- 微信是一个计算机信息系统么,电脑微信不登录也能收到信息怎么办啊
- iphone与android共享位置,苹果手机,相互始终共享位置了以后,查看不了对方的位置...
- 推荐模型评价指标 AUC
- 用matlab计算卫星的瞬时位置,用MATLAB计算GPS卫星位置.PDF
- TOEFL口语模板--小站
- 英雄联盟手游发布!我却从中总结了4个万能PPT公式
- UDP FLood拒绝服务攻击
热门文章
- 搜狐某频道sql多处注入,还有phpinfo()
- 一位三年测试经验的测试告诉你一些常用的知识点
- python实现md5算法_MD5算法详述及python实现2 zz
- 纯java视频转图片,对图片换脸,再次图片合成视频,java视频换脸
- 25,verilog之generate生成块
- 今天只有残留的躯壳,风雨中抱紧自由
- mysql5.7安装包免费下载
- MySQL能够承受上亿万条的数据量的架构
- DM数据库备份:错误[-8003]:缺少本地或者远程归档
- Mac下JDK、Maven、Tomcat、Git开发安装及环境变量配置