- 博客(25)
- 收藏
- 关注
原创 小熊派Nano接入华为云
是一个结构体,用于存储MQTT相关的配置和状态,其中 cmd_rsp_cb成员用于存储命令响应的回调函数。中,该函数是一个用于构建和发布 MQTT 消息,上报设备服务属性。通过这两个结构体构建上报属性的消息更加方便,能够动态添加属性。函数,这些函数协同工作,以 JSON 格式创建服务属性,并通过 MQTT 发布。在小熊派源码中通过结构体封装了属性上报的函数,调用方便代码分析如下。创建如下服务,并添加对应的属性和命令。(创建各个属性内容的json对象)函数中设置了mqtt的回调函数。
2024-11-20 15:52:07
1241
原创 小熊派Nano-LiteOS内核开发
这样在共享资源被取完,即信号量计数减至0时,其他需要获取信号量的任务将被阻塞,从而保证了共享资源的互斥访问。当该任务释放锁后,任务失去该互斥锁的所有权,互斥锁处于开锁状态。此时,可以使用信号量作为互斥锁,确保多个任务不会同时访问同一临界资源,从而避免资源冲突和数据不一致的问题。Huawei LiteOS的任务模块可以给用户提供多个任务,实现任务间的切换,帮助用户管理业务程序流程。任务1获取信号量而阻塞,直到任务2或者某中断释放信号量,任务1才得以进入Ready或Running态,从而达到了任务间的同步。
2024-11-18 17:28:49
766
原创 小熊派Nano|HarmonyOS初体验-LiteOS内核
注意:新建文件夹的名字和C文件的名字后续会用到,我这里的文件夹名为led,C文件名为myled。华为推出的HarmonyOS(鸿蒙操作系统),自诞生以来便备受瞩目,它不仅承载着华为对未来智能生态的愿景,更以其独特的分布式技术,为用户带来了前所未有的使用体验。建议按照官方给的十分钟上手教程完成环境安装,也可以通过官方的教学视频自行配置环境,不过可能会出现比较多问题,如果没有linux相关基础建议直接使用官方提供的镜像,后期熟悉后可以尝试自己配置环境。采用IoTCluB的E53接口标准,可接入所有的。
2024-11-18 17:07:09
1068
原创 Android MQTT调试助手开发
在Android开发中,与远程服务器进行通信是一个常见的需求。MQTT(Message Queuing Telemetry Transport)是一种轻量级的、基于发布/订阅模式的消息传输协议,广泛应用于物联网(IoT)场景中。在阿里云物联网平台中,物联网设备与APP之间的交互是通过云产品消息转发实现,所以需要讲APP通过mqtt方式接入平台。
2024-10-12 16:50:09
910
原创 阿里云物联网平台云产品流转(新版)—— APP与设备之间通信(MQTT.fx模拟)
阿里云物联网平台云产品流转(新版),能够实现两个设备之间的相互通信,采用MQTT.fx模拟设备与APP之间通信
2024-10-12 16:50:01
1889
1
原创 STM32单片机与cJSON:构建并解析JSON数据
cJSON是一个轻量级的、易于使用的C语言库,用于解析和生成JSON数据。cJSON.c和cJSON.h,非常适合资源受限的嵌入式系统。cJSON的设计目标是简单、快速和高效,因此它非常适合在STM32这样的微控制器上运行。
2024-09-24 16:19:18
5862
原创 设备接入阿里云物联网平台
通阿里云平台搭建、产品创建、以及设备接入,并且能够完成相关属性上报、事件上报和服务接收,后续只需要利用单片机和通信模块进行数据构建和发送,主要会用到MQTT连接和cjson库的调用,后续内容将继续更新。
2024-09-24 16:12:38
2847
原创 STM32固件升级OTA
本文将详细介绍如何在STM32微控制器上实现基本OTA升级,涵盖从环境搭建、协议选择、固件打包、传输及更新流程等关键环节。
2024-09-23 17:29:55
4558
2
原创 STM32与华为云IoTDA的上传下达
实现了Mqtt的链接后,需要与华为云IoTDA进行属性上报、命令解析、命令应答等。需要参照华为云官网给出的API参考;
2024-08-15 16:28:19
1336
原创 STM32+有人LET-7S1接入华为云IoTDA
STM32单片机接入IoTDA主要用到的就是串口透传,所以把无线模块配置为透传模式连上服务器即可,本次实验通过有人4G模块"WH-LET-7S1"接入华为云IoTDA具体流程如下图。
2024-08-15 16:26:46
1188
原创 华为云——设备接入IoTDA平台搭建
创建产品成功后,点击对应产品,在模型定义中点击自定义模型弹出添加服务对话框。填写“服务ID”、“服务类型”和“服务描述”,单击“确定”。注意:服务类型:建议和服务ID保持一致;服务ID在后续连接中需要用到在对应服务的菜单中点击“新增属性”,填写相关信息后,单击“确定”。“属性名称”:temp“数据类型”:int(整型)“访问权限”:可读、可写“取值范围”:0~65535“步长”:0“单位”:不填写以上按上传温度为例。点击添加命令,弹出新增命令对话框,输入命令名称。
2024-08-12 18:20:25
2360
原创 STM32 HAL HAL_UART_DMAStop遇到的坑
最近在写串口DMA空闲中断接收的时候,发现一个问题。之后跳转HAL_UART_DMAStop()函数,发现函数内部主要由两部分组成: 停止发送DMA + 停止接收DMA;因此想要不互相影响,只需要把此函数停止接收DMA部分复制出来即可;HAL库还是特别方便的;
2023-06-29 16:46:26
1947
2
原创 STM32解决串口频繁接收串口死所问题
最近在使用STM32空闲中断接收数据的时候发现一旦发送端发送数据较频繁,串口就会出现死锁的情况,即使在接收到数据以后关闭空闲中断,解析完数据后立马打开中断,也会有这个情况。小白一枚,有问题希望大家多多指正。
2023-06-29 16:33:34
2553
原创 STM32L072 多路ADC DMA方式采集电压
最近在使用STM32L072采集ADC采集电压值时遇到一个问题,采集电压值不准且两路采集会有冲突导致两路采集值偏差都较大,最后经过查阅资料发现是因为ADC采集频率的问题,ADC采集频率最好小于8M,修改配置后ADC采集正常。
2023-06-23 23:35:29
460
原创 linuxC 自制copy功能 & 获取文件大小
只有在你了解了人生的真谛后,才能真正地生活。虽然人生苦忧参半,但依旧美妙,而且即使在悲剧中也藏着迷人之处。如果你只是活着,那就再努力点吧,试着活得精彩。通过以上运行可以看出 ./num01.out 属于第一个入参。通过指令查看文件大小,发现源文件与目标文件大小相同。此时打开目标文件,复制成功。内容如下,还是比较顺利的。Ubuntu运行如下。
2023-06-09 09:20:22
251
原创 自定义字节协议传输float数据类型
float类型数据的传输有很多种,例如将float放大为整形进行传输,例如float有两位小数,在传输的过程*100放大为整型进行发送,接收端在收到后/100还原,但这种方法仅仅适用于已知小数位数的操作,如果小数位数未知则不适用,所以通过字节方式直接传输更为方便。本文中用于Android上位机通过自定义字节协议向STM32下位机传输用户输入的不定长小数位的float数据。
2023-06-02 11:54:15
734
Android Studio开发MQTT调试助手(源码)
2024-10-12
Android StudioMQTT调试助手安装包
2024-10-12
华为云设备接入IOTDA安卓APP开发
2024-10-08
stm32+cjson库实现json格式创建与解析
2024-09-24
stm32f103rct6串口DMA空闲中断接收不定长数据
2024-09-19
stm32采集0-20mA电流
2024-08-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人