自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 纯手动创建STM32项目,不借助Keil的Pack管理以及CubeMX

手动创建STM32项目,以STM32GO30芯片为例

2024-06-03 17:38:53 816

原创 IOT终端设备-门磁传感器设计

选择门磁传感器作为智能家居系统的第一款设备,主要有以下几个方面的考虑.功能简单:目前主要构想通过门磁传感器来检测冰箱门是否长时间未关闭 而产生警报物料简单:目前市面上可以各种门磁提供选择开发简单:目前门磁传感器主要可以通过IO来接入,不需要协议上的对接,这样可以大程度上减少前期的开发时间。

2024-04-19 11:17:22 265 2

原创 ESP8266开发中遇到坑汇总

目前想要自己搭建一套智能家具系统,在终端设备的数据上报以及控制下发的需求中,选中了使用ESP8266作为终端设备传输数据和实现逻辑的芯片.主要的考量是:ESP8266是WIFI芯片,可以比较简单的接入到自己部署的服务器中,来进行数据传输.如果使用蓝牙或其他无线信号获取数据传输接口,则需要额外采用网关(数据转网络数据)传输,使得开发的工作量增加.所以选择了ESP8266开发环境:操作系统:Ubuntu22.04编辑软件:Vscode编译烧录工具:官方工具链。

2024-04-19 10:40:07 659

原创 智能家居系统终端设备物模型设计

物模型是物联网平台为产品定义的数据模型,用于描述产品的功能。本文介绍物模型相关概念和使用限制。

2024-04-19 10:36:12 1083 2

原创 智能家居网关总体架构

本架构设计采用多进程,功能解耦的模块化架构,每个模块是一个可运行的二进制执行文件(bin),基于C++语言进行开发,模块化的好处是工程师可以根据接口定义进行独立/协同开发,模块之间通过长连接进行通信,降低甚至不使用第三方库的依赖,以达到程序的通用型和安全性,支持部署到包含AR502 lxc容器/自研网关和任何运行linux的其他网关,也支持跨网关分布式组网部署;Redis是开源内存数据库组件,采用C语言编写,运行速度快,可提供订阅发布的消息机制,且redis作为内存数据库,可以提供临时数据存储功能。

2024-04-18 14:40:26 691 1

原创 Ubuntu22.10 英文环境安装中文输入法

选择输入法框架fcitx,然后单击Close,重启系统。打开一个终端或者文本编辑器,按“CTRL+空格”键,在中文/英文输入法之间切换;按“CTRL+SHIFT”键,在fcitx框架中的多种中文输入法之间切换。如果安装不成功,可以先把Ubuntu使用的软件源换成国内的,比如:阿里源、清华源等。之外,还会安装其他的一些输入法,比如:五笔、五笔拼音等等。时,会自动安装拼音输入法。

2024-01-02 14:04:51 705

原创 I2C基本概念讲解(时序,架构,速率)

I2C是一种同步串口总线的协议,由NXP公司设计。使用一主多从的设计框架,本文从基础出发,主要讲解I2C基本概念讲解(时序,架构,速率),分析IIC的时序图,以及拆分讲解IIC时序的各个部分内容

2023-06-07 11:03:40 4469 1

原创 串口的基本定义以及RS232,RS485和UART,USAT,SPI的联系和区别

一种串口通讯由两部分组成,物理电气层(RS232,RS485)以及协议层(UART,MODBUS)。物理电气层规定0以及1的电压范围,接线方式以及电气层面的内容。协议层是从电气层获取01组成的数据进行获取,校验,组合等一系列处理。最终的目的是获取到一个正确的有效的数据。

2023-05-25 13:55:44 1781

原创 定时器的基本原理概念以及应用

单片机定时器是嵌入式系统中常见的关键模块,用于实现精确的时间控制和事件触发。本文将介绍单片机定时器的基本概念、分类以及常见的使用场景,旨在帮助读者理解和应用定时器在嵌入式系统中的重要性和灵活性

2023-05-23 14:43:06 3632 1

原创 STM32寄存器开发以及库函数开发的区别,库函数基础工程创建以及源文件和头文件的作用,手把手教你创建第一个STM32的LL库开发的工程

什么是寄存STM32器开发和库函数开发,库函数开发的优点是什么?为什么现在库函数开发是目前的主流?怎么从零开始构建一个库函数开发的工程文件架构,以及工程中每个文件的作用以及意义,如何使用LL库去点亮自己的第一个LED。

2022-12-25 16:13:39 4439

原创 FreeRTOS内核 基于stm32 学习个人理解笔记(1)

最直接的做法就是取出B函数的指针,跳转到B函数的地址区域执行。那从切换前,需要把当前的执行的位置以及状态(临时变量、寄存器的值、执行位置)记录下来,以便于下次从这个断点执行。这个和普通函数不一样的地方是TCB函数会有两部分,第一部分恢复上次断点的数据,第二部分就是从上一次断点的地方执行(在属于这个任务的时间内)。如果要实现这种操作的话,除了函数指针,还需要栈的初始地址(栈底),以及栈顶(栈底的相对偏移量),如果要实现优先级的话还需要记录该任务的优先级的任务节点,以及这个任务的名称(用于调试)。...

2022-07-23 00:16:36 195

原创 获取网页的html文本(用selenium+chrome headless进行js异步加载内容),返回BeautifulSoup的soup对象

import requestsfrom bs4 import BeautifulSoupfrom selenium import webdriverdef gethtml(url,js=False): if(js==False): return gethtml1(url) elif (js==True): return gethtml2(ur...

2018-06-08 19:12:00 1526

原创 获取屏幕指定像素截图(PIL)

import pyautoguifrom PIL import Image from PIL import ImageGrabinput('请把鼠标放到第一个坐标,按下回车')x,y=pyautogui.position()input('请把鼠标放到第二个坐标,按下回车')n,m=pyautogui.position()boxx=(x,y,n,m)img = ImageGrab...

2018-06-07 20:36:25 3846

空空如也

空空如也

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

TA关注的人

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