自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 小熊派Nano接入华为云

是一个结构体,用于存储MQTT相关的配置和状态,其中 cmd_rsp_cb成员用于存储命令响应的回调函数。中,该函数是一个用于构建和发布 MQTT 消息,上报设备服务属性。通过这两个结构体构建上报属性的消息更加方便,能够动态添加属性。函数,这些函数协同工作,以 JSON 格式创建服务属性,并通过 MQTT 发布。在小熊派源码中通过结构体封装了属性上报的函数,调用方便代码分析如下。创建如下服务,并添加对应的属性和命令。(创建各个属性内容的json对象)函数中设置了mqtt的回调函数。

2024-11-20 15:52:07 1241

原创 小熊派Nano驱动开发

根据输入参数从指定的ADC通道读取一段采样数据。GPIO引脚对应的功能以及命名在源码的。

2024-11-20 15:18:45 775

原创 小熊派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

原创 HL7协议简介及其在STM32上的解析实现

本文将首先介绍HL7协议的基本概念,然后探讨如何在STM32微控制器上实现HL7消息的解析。

2024-10-13 20:08:35 1330

原创 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

原创 华为云应用侧Android测试APP

华为云设备接入IoTDA应用侧开发Android测试APP

2024-10-08 11:57:40 459

原创 华为云应用侧Android Studio开发

华为云设备接入IoTDA安卓APP开发

2024-10-08 11:46:26 1959 3

原创 STM32+有人4G模块接入阿里云平台

本次实验采用的4G模块为有人LET-7S1模块,利用模块的透传功能完成硬件设备与云端的通信。

2024-09-29 17:20:25 2842

原创 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-HAL库串口空闲中断DMA接收数据Demo

串口1、2、3、4采用空闲中断+DMA方式接受不定长数据

2024-09-23 17:22:53 1582

原创 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

原创 0-20mA电流采集

单片机采集0-20mA电流,已验证

2024-08-12 18:08:13 2154 2

原创 STM32 boot启动程序跳转

小白一枚,有不对的地方欢迎指教。

2023-07-20 14:57:25 2522

原创 STM32 串口输出乱码解决方法

如遇到别的原因,希望与大家多多探讨,继续补充。

2023-07-20 10:09:17 1209

原创 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调试助手(源码)

在Android开发中,与远程服务器进行通信是一个常见的需求。MQTT(Message Queuing Telemetry Transport)是一种轻量级的、基于发布/订阅模式的消息传输协议,广泛应用于物联网(IoT)场景中。在阿里云物联网平台中,物联网设备与APP之间的交互是通过云产品消息转发实现,所以需要讲APP通过mqtt方式接入平台,具体内容参照博文。

2024-10-12

Android StudioMQTT调试助手安装包

在Android开发中,与远程服务器进行通信是一个常见的需求。MQTT(Message Queuing Telemetry Transport)是一种轻量级的、基于发布/订阅模式的消息传输协议,广泛应用于物联网(IoT)场景中。在阿里云物联网平台中,物联网设备与APP之间的交互是通过云产品消息转发实现,所以需要讲APP通过mqtt方式接入平台,具体内容参照博文。

2024-10-12

华为云设备接入IOTDA安卓APP开发

AndroidStudio开发华为云设备接入IOTDA,该源码能够获取用户Token、获取设备影子消息、下发设备命令。实现了APP与硬件设备之间通过华为云的上传下达。详细内容可参考博文。

2024-10-08

华为云IOTDA调试助手.apk

采用Androidstudio开发实现应用侧token获取、设备影子消息获取、设备命令下发功能。

2024-10-07

STM32+有人4G模块接入阿里云平台

本次实验采用的4G模块为有人LET-7S1模块,利用模块的透传功能完成硬件设备与云端的通信详细内容见博客

2024-09-29

stm32+cjson库实现json格式创建与解析

单片机接入云端大部分都会用到json字符串的构建和解析,该资源是通过stm32f1系列单片机构建了json并完成解析,具体内容可参考博客文章。

2024-09-24

stm32f103rct6串口DMA空闲中断接收不定长数据

通过cubemx配置了rct6的5个串口,串口1-4使用空闲中断+dma方式接收不定长数据,串口5通过接收中断和空闲中断的方式接收数据,同时也配置了定时器,可以完成定时器任务。

2024-09-19

STM32升级例程,bootloader程序+APP程序

bootloader程序可以在开机3s内传输升级文件进行升级,升级结束后自动运行;运行APP是可以随时升级。

2024-09-19

stm32采集0-20mA电流

项目开发中有一些工业传感器输出信号为0-20mA或者4-20mA的电流信号,例如压力变送器,使用这类传感器时往往利用到单片机的ADC采集功能,通过欧姆定律将采集到的电压值和采样电阻的阻值进行计算,得出电流值。具体内容可参照https://blog.youkuaiyun.com/LJ_96/article/details/141138285,对两种电路进行了分析并且已经验证。 主控采用STM32G030F6P6,采集电路采用两种方法分别测试。

2024-08-12

自定义字节协议传输float数据类型

实现float类型转为IEEE754标准的4字节byte数组构建自定义协议,解析IEEE754协议的数据

2023-06-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除