爱喝纯牛奶的柠檬
码龄6年
关注
提问 私信
  • 博客:134,459
    社区:1
    134,460
    总访问量
  • 59
    原创
  • 25,521
    排名
  • 267
    粉丝
  • 5
    铁粉
  • 学习成就

个人简介:物联网工程专业,擅长C语言、STM32、ESP8266……

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:江苏省
  • 加入CSDN时间: 2019-05-31
博客简介:

热爱生活、奋斗前行

查看详细资料
  • 原力等级
    成就
    当前等级
    4
    当前总分
    839
    当月
    1
个人成就
  • 获得283次点赞
  • 内容获得42次评论
  • 获得676次收藏
  • 代码片获得572次分享
创作历程
  • 27篇
    2024年
  • 1篇
    2023年
  • 28篇
    2022年
  • 3篇
    2021年
成就勋章
TA的专栏
  • 基于STM32的智慧宿舍系统
    6篇
  • 基于LORA的一主多从监测系统
    15篇
  • 物联网项目专栏
    2篇
  • 太阳能环境监测系统
    2篇
  • ROS记录
    1篇
  • RT-Thread
    1篇
  • Linux学习记录
    2篇
  • C语言学习记录
    3篇
  • C语言库函数归纳
    1篇
  • FPGA原理和结构
  • C++学习记录
    7篇
  • STM32学习记录
    1篇
  • QT学习记录
    4篇
兴趣领域 设置
  • 人工智能
    opencv计算机视觉
  • 嵌入式
    单片机stm32mcu物联网嵌入式硬件iot
  • 硬件开发
    硬件工程
  • 服务器
    linux
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

342人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

基于stm23的智慧宿舍系统

这个功能就是可以手动控制,也可以自动控制,比如检测到光照不足且此时为晚上6点之后,此时会自动关闭窗帘,并且窗帘支持关闭比例,比如关闭25%,50%,75%,100%等,加湿器模块主要是联动温湿度检测模块,当检测到湿度过小,就会自动开启加湿器,直到湿度达到最佳值后自动关闭。基于stm32的智慧宿舍,主要功能分为智能门锁,环境数据监测,火灾预警、功率监测、可燃气体泄漏监测,三路继电器设备控制、加湿器模块(暂未添加)、窗帘控制、rtc时钟、oled模块。三路继电器主要表示电闸、照明、电器,均支持小程序远程操作。
原创
发布博客 2024.11.30 ·
180 阅读 ·
7 点赞 ·
0 评论 ·
5 收藏

基于STM32的智慧宿舍系统(DAY4)_DS1307

在本系统里使用了一个RTC模块DS1307,并且通过STM32来控制,显示标准时间,日历、计时等功能,这个芯片使用i2c接口,同多对对应寄存器的读取就能获取当前时间,当然这个时间是需要我们先设置一下的,具体内容感兴趣可以参考芯片手册,我这里值展示我们能用到的相关内容。DS1307_SetRegByte和DS1307_GetRegByte是封装的两个函数接口,下面是获取当前时间的一些函数,我们通过调用即可获取。我把比较关键的函数接口写在下面,供参考,我们首先从硬件层面来说是初始化操作,启动计时。
原创
发布博客 2024.11.20 ·
182 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

基于STM32的智慧宿舍系统(DAY4)_EEPROM

在本系统中,设想使用EPPROM来保存用户信息,比如用户A的卡号,用户B的卡号,这样做的目的也是尽可能最大程度模拟接近实际生产生活中的使用场景,因为我们不可能固定卡号,我们会涉及一些增加用户删除用户修改用户的操作,这个模块简单理解为一个存储空间,我们可以把一些信息存储到这个空间,而不是简单的在代码里写死。下面是这个库的测试过程,我们先给data这部分缓存填入随机值,然后将这部分值写入EEPROM,然后延时100ms后再读对应地址,如果读出的值与我们写入的一样则说明是被正常,并且我们已经可以正常操作了。
原创
发布博客 2024.11.20 ·
270 阅读 ·
3 点赞 ·
0 评论 ·
1 收藏

基于STM32的智慧宿舍系统(DAY3)_RFID-RC522

这个小节的驱动主要是来做RC522,我们使用的是硬件spi接口,RC522这个芯片用的还是比较多的,RC522可以使用I2C或者SPI接口,某宝上能买到的大多是SPI接口,这里我们从接口配置开始到读取卡片来走一遍整个过程。这两个是卡号,我们可以先指定两个卡号,当时别到卡号之后会与我们保存的卡号进行对比,这样就可以实现对不同身份的认证了。{0x44, 0x33, 0x43, 0x38, 0x42, 0x35, 0x30, 0x42}, // 用户 1。这个函数是初始化函数,函数注释已经详细表明函数过程。
原创
发布博客 2024.11.19 ·
133 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

基于STM32的智慧宿舍系统(DAY2)_ESP8266连接ONENET

ESP8266驱动主要是使用AT命令来做的,我们需要先给ESP8266模块刷一下固件,具体的AT命令我们可以参考乐鑫的手册,基本配置就是复位、设置模式、连接WiFi的操作,然后连接MQTT服务器。下面是硬件的一些简单操作,主要是复位,设置模式,开启DHCP,连接WiFi,注意在连接WiFi的地方需要延时一段时间等待WiFi连接,我这里延时5秒,个人根据情况而定。至此ESP8266连接ONENET的过程结束,有需要具体代码的可以后台联系。这个地方我们首先放一个AT手册的链接,具体的可以参考这个手册。
原创
发布博客 2024.11.19 ·
595 阅读 ·
14 点赞 ·
0 评论 ·
4 收藏

基于STM32的智慧宿舍系统(DAY1)_系统概况

最随着科技的不断进步和智能化技术的广泛应用,智能家居、智能建筑等概念已经逐渐进入我们的日常生活。特别是在学校的宿舍环境中,如何利用现代科技提升学生的居住体验和管理效率,已成为当前教育领域中亟待解决的问题。传统宿舍管理方式大多依赖人工或手动控制,存在着效率低、管理难度大、安全隐患等问题,急需一种创新性的解决方案。智慧宿舍系统正是在这样的背景下应运而生。智慧宿舍通过集成物联网、传感器、云平台等技术,实现对宿舍环境、设备、人员等的智能化管理和服务。
原创
发布博客 2024.11.17 ·
597 阅读 ·
6 点赞 ·
0 评论 ·
16 收藏

stm32使用cJSON_Print返回空

最近在做JSON相关的内容时,调用了cJSON库,想格式化输出JSON字符串的时候发现返回的指针一直为空,上网查询之后发现可能是。百度之后发现原因如下,我更改了启动文件的堆区大小之后发现可以正常打印了。时间:2024年11月16日16:19:55。下面是我的debug信息。
原创
发布博客 2024.11.16 ·
307 阅读 ·
3 点赞 ·
0 评论 ·
0 收藏

基于LORA的一主多从监测系统_实物展示

提供:成品硬件 + 4G模块 + 详细开发流程 + 源码 + 原理图。主节点和子节点A的合照来一张。
原创
发布博客 2024.11.09 ·
324 阅读 ·
6 点赞 ·
0 评论 ·
0 收藏

基于lora的一主多从监测系统

关联:基于lora的智慧农业、基于lora的智慧农场、基于lora的智慧矿井、基于lora的智慧牧场。这个算是一个目录吧,涵盖了我这个专题下的所有文章,感兴趣的小伙伴可以去看看。
原创
发布博客 2024.11.09 ·
259 阅读 ·
5 点赞 ·
0 评论 ·
5 收藏

基于LORA的一主多从监测系统_状态维护

这个状态维护是最近加的,可能是由于工作后的习惯,总会特意关注系统的整体状态,因为用到了4G模块,并且还要和子节点交互,所以我们必须要有个状态来维护4G和云平台之间的连接,同时也要维护和子节点的连接状态,我的实现想法是,每次上传数据前对MQTT的连接状态进行判断,如果状态不对,则重新连接云平台,如果云平台尚未连接成功,则放弃上传将收到的数据保存下来,等待网络恢复后进行上传。这样做的好处是如果云平台丢失连接设备也能有一些自我恢复的能力,算是往成品靠近。并且也会统计与云平台断开的次数。
原创
发布博客 2024.11.03 ·
217 阅读 ·
3 点赞 ·
0 评论 ·
0 收藏

基于LORA的一主多从监测系统_实物设计

最近代码写的差不多了,基本一主一从已经定下,并且经过24小时测试还算比较稳定,所以打算把硬件实物定下,之前用的杜邦线,看着也比较杂乱不是很好看,于是打算使用pcb来替代,这样也比较整洁可靠,二来也看着高级一点,哈哈哈。主节点PCB如下图所示,主节点,我习惯叫网关板,他主要是有4G、LORA、STM32、RTC模块、三个双色LED用来表示设备状态,三个按键用来为后面功能做预留,蜂鸣器、OLED屏幕可以展示一些必要信息。目前都已经在检查阶段了,估计很快就能打板拿到实物了。
原创
发布博客 2024.11.03 ·
428 阅读 ·
15 点赞 ·
0 评论 ·
0 收藏

基于LORA的一主多从监测系统_4G模块上巴法云

临时添加一个更新,更换云平台为巴法云,事情的起因是因为阿里云这个老六,早上睡了一觉起来发短信告诉我云平台给我停了,得交钱,好嘛,不过也没办法现在这基本都收费,当然还有onenet可以用,别问我为什么不用,主要是因为onenet现在整的太复杂了,以前用的多现在也不想用了。巴法云这个显示还是很明了的,个人比较喜欢这种,但是同样这个也看不了设备的在线情况,只能看到订阅者,如果我是推送消息上云那就看不到我的在线情况,这个或许也是我没整明白,等我研究研究,目前上云测试是没什么问题了。
原创
发布博客 2024.10.31 ·
261 阅读 ·
8 点赞 ·
0 评论 ·
0 收藏

基于LORA的一主多从监测系统_主从节点交互

上面就是大概的流程,如果没有在指定时间收到子节点回复的数据则认为子节点收超时,进入到下一个节点的问询过程,这个过程基本都差不多,目前这个过程比较简单,没有太过复杂的东西,下面是我处理单个节点的函数,仅供参考。------>解析数据,判断数据的完整性,如果数据完整则对数据进行转化保存,等待上传。------>延时等待子节点回复。------>主节点发送问询帧。------>子节点回复。
原创
发布博客 2024.10.31 ·
205 阅读 ·
3 点赞 ·
0 评论 ·
0 收藏

基于LORA的一主多从监测系统_4G模块基本驱动

4G模块我这边使用的是大夏龙雀的4G模块,如果是新人购买,9.9就能买到测试套装,还是比较划算的,这个模块也是通过串口使用AT命令交互的,对之前使用过ESP8266的小伙伴来说应该不会很难,之所以选择4G模块而不选择ESP8266也是因为考虑到整体系统的使用场景,以野外或者长距离为主,使用WiFi会有很多局限性,所以选择4G。所有的指令以 AT 开头,结束,在本文档中表现命令和响应的表格中,省略了,仅显示命令和响应。内为可选内容,如果命令中有多个参数,以逗号"。
原创
发布博客 2024.10.30 ·
317 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

基于LORA的一主多从监测系统_4G模块连接阿里云

4G模块我这边使用的是大夏龙雀的4G模块,如果是新人购买,9.9就能买到测试套装,还是比较划算的,这个模块也是通过串口使用AT命令交互的,对之前使用过ESP8266的小伙伴来说应该不会很难,之所以选择4G模块而不选择ESP8266也是因为考虑到整体系统的使用场景,以野外或者长距离为主,使用WiFi会有很多局限性,所以选择4G。上述是我实际测试所填,具体可以参考代码内容,大夏龙雀这个4G模块还是很良心的,厂家也提供了一个测试代码,我们可以用这个测试代码加以修改就可以使用,如下。下面是我实际的debug信息。
原创
发布博客 2024.10.30 ·
309 阅读 ·
12 点赞 ·
0 评论 ·
5 收藏

基于LORA的一主多从监测系统_数据发送

数据上传我这里使用了问询的方式,这样的好处一是可以用来统计节点的存活状态,二是可以避免冲突,主节点通过向从节点发送问询帧,从节点收到问询帧后开始向主节点发送数据,同时我们也可以加入不同的帧类型,比如控制帧、问询帧、心跳帧等等,拓展性会好很多。大概的流程如下,如果收状态机触发,则清除状态机后开始判断帧内容,如果为问询帧则将数据发送,发送完后清空缓存为下一次做准备。目前设计的很简单还是透传的过程,也不涉及对lora模块的具体配置。
原创
发布博客 2024.10.20 ·
261 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

基于LORA的一主多从监测系统_协议制定

【注2】帧内容中的7E转义为7D 5E, 7D转义为7D 5D。帧内容长度计算转义后的帧内容长度。帧内容就是我们实际发送的数据,数据需要按照下述表格中的顺序填充。该字节以后所有内容(即关键字+帧内容+校验和)字节数。【注1】协议中使用大端字节(高字节在前低字节在后)。【注1】协议中如果需要添加关键字,依次顺添加就可。心跳帧是主机到从机,从机再到主机双向。从机到主机,表示请求新增一个设备。累加转义后的关键字+帧内容。应答帧是对主机来检查。
原创
发布博客 2024.10.15 ·
272 阅读 ·
5 点赞 ·
0 评论 ·
5 收藏

基于LORA的一主多从监测系统_光照强度传感器

我们使用准备好的空间接收返回值即可HAL_ADC_GetValue(&hadc1);,这个返回的是一个电压值,我们通过公式计算就能换算到相对光照值,至此我们光照强度传感器的驱动代码已经完成。本系统使用了普通的ADC光照强度传感器,我们需要再CUBEMAX里面配置好ADC的相关参数,这里我们使用PB1来做光照传感器的接口,对C8T6来说也就是ADC1的第九个通道。我们先按照上图配置,将gpio绑定到ADC1_IN9,同时使能为。
原创
发布博客 2024.10.10 ·
262 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

基于LORA的一主多从监测系统_BMP280气压传感器

网上目前能找到的寄存器手册是博士的,手册是全英文的,但我们只需要关系重点信息,比如这个ID,这个ID就是我们去读器件指定的一个地址,可以读到一个值,这个值就是这个器件的ID,这个寄存器是可读寄存器,一般这个ID是出厂就固定的,不可修改。这个是我们需要好好去研究的寄存器,我们所需要的压力数据就是从这个寄存器获得,分别有三个寄存器,这三个寄存器分别保存压力数据的高位、低位、小数位,注意0xF9里面只有bit7-bit4是我们的需要的,其余四个bit我们不用关心。这些地址我们无需关心,
原创
发布博客 2024.10.10 ·
567 阅读 ·
9 点赞 ·
0 评论 ·
10 收藏

基于LORA的一主多从监测系统_0.96OLED

我这里使用硬件I2C,使用HAL的I2C操作函数HAL_I2C_Mem_Write,这个函数是在阻塞模式下将大量数据写入特定的内存地址,函数原型为:HAL_StatusTypeDef HAL_I2C_Mem_Write(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddress, uint16_t MemAddSize, uint8_t *pData, uint16_t Size, uint32_t Timeout)
原创
发布博客 2024.10.09 ·
479 阅读 ·
8 点赞 ·
0 评论 ·
1 收藏
加载更多