自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(63)
  • 资源 (2)
  • 收藏
  • 关注

原创 STM32学习笔记——UART

STM32学习笔记——UART串口收发函数HAL_UART_Transmit();串口轮询模式发送,一直询问HAL_UART_Receive();串口轮询模式接收,一直询问HAL_UART_Transmit_IT();串口中断模式发送HAL_UART_Receive_IT();串口中断模式接收HAL_UART_Transmit_DMA();串口DMA模式发送HAL_UART_Transmit_DMA();串口DMA模式接收串口中断服务程序HAL_UART_TxHalfCpltC

2021-06-30 20:28:15 444 4

原创 STM32学习笔记——NVIC

STM32学习笔记——NVIC1、设置中断分组HAL_NVIC_SetPriorityGroupingvoid HAL_NVIC_SetPriorityGrouping(uint32_t PriorityGroup){ /* Check the parameters */ assert_param(IS_NVIC_PRIORITY_GROUP(PriorityGroup)); /* Set the PRIGROUP[10:8] bits according to the Priori

2021-06-27 16:52:38 4024 4

原创 STM32学习笔记——systick

STM32HAL库之HAL_Delay()HAL_Init()初始化hal库,其中有一个函数是初始化systick的,HAL_InitTick是用于初始化systick。systick 上电初始化(外部晶振还没开始工作,此时系统默认使用内部 HSI 提供时钟源)main() -> HAL_Init() -> HAL_InitTick() -> HAL_SYSTICK_Config() -> SysTick_Config(SystemCoreClock / (1000U /

2021-06-26 22:47:30 778 1

原创 一个简单的回调函数

/********************************************************************************* * Copyright: (C) 2021 9305 * All rights reserved. * * Filename: calback.c * Description: This file callback * *

2021-06-24 12:33:37 178

原创 Linux编译器——gcc

Linux编译器——GCC1、GCC简介GCC(GNU Compiler Collection)是GUN开发的一套编译器集合,因为我们做嵌入式的都知道GCC不仅仅可以编译c语言,还能编译其他如g++、Ada等其他语言,而且GCC还支持不同的处理器,我们在做交叉编译器的时候就知道,在x86上用GCC编译的程序会拿到arm、atmel、mips等处理器上。2、GCC组成部分GCC由三部分组成。Binutils:它是一组开发工具。这个软件包依赖于不同的目标机的平台。因为不同目标机的指令集是不一样的

2021-05-16 12:59:07 641

原创 储存器的区别之——RAM、ROM、FLASH

储存器的区别之——RAM、ROM、FLASHRAMRAM指的是“随机存取存储器”,即Random Access Memory。它可以随时读写,而且速度很快,缺点是断电后信息丢失。SDRAMSDRAM(Synchronous Dynamic Random Access Memory),同步动态随机存储器,动态是指存储阵列需要不断的刷新来保证数据不丢失;SDRAM是属于上电就可以运行程序的。一般我们把bootstrap放在SDRAM运行来初始化SRAM,SRAM来运行uboot,这样做可以节约空间。

2021-05-12 01:35:48 2127 1

原创 SPI传输协议讲解——linux应用层开发RC522案例

SPI传输协议讲解——RC522案例https://github.com/yjc-123/RC522这是我的博客,里面的README.md比较详细的写了spi跟rc522,大家可以看看

2021-04-19 14:47:24 2383

原创 项目托管软件使用——Git

项目托管软件使用——Gitgit简介git是创建linux的牛人Linus,觉得svn、cvs不好用然后自己花费两周写出来的,不得不佩服~集中式版本CVS及SVN都是集中式的版本控制系统,也就是说所有东西集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,写完了再推上去。分布式每个人的电脑上都是一个完整的版本库,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上。git安装sudo apt-get install gitsudo apt

2021-04-17 11:30:07 1795

原创 socket通信安全——openssl

socket通信安全——openssl前面学习了https,了解到https用到了tls协议,是介于应用层和传输层之前的一层协议,他主要用来验证身份和安全传输数据。主要的算法都在openssl中,所以我就自己学习了一下openssl,顺便对知识进行巩固。了解openssl我们需要知道三个概念。1、对称加密2、非对称加密3、单向加密对称加密使用AES算法进行加密和解密。双方算法是一样的但是会存在一个问题,黑客先把你们的解密方式获取到就可以破解你们的信息了。除非你们将加密算法自己协商好。但是

2021-04-02 02:29:32 3522

原创 可靠的信息传输——HTTPS

http和https的区别谈到区别,我们不得不分别说一下http和https分别是什么,以其其是怎么实现连接的。HTTP1、建立tcp连接2、client发送请求包给server(请求包包括请求行、请求头、请求内容)3、server发送相应包给client(响应包包括响应行、响应头、响应内容)4、closeHTTPS如何发起请求1)客户端发起https请求,发送支持的加密算法,连接到服务端的443端口2)服务端采用的https有一套数字证书,这个证书可以自己配置,也可以像证书管理组织申请,

2021-03-29 22:59:56 806 1

原创 浅谈HTTP协议包

浅谈HTTP协议包我们知道http包主要分为三个部分:1、请求行请求方法,GET和POST是最常见的HTTP方法,除此以外还包括DELETE、HEAD、OPTIONS、PUT、TRACE。URL地址,它和报文头的Host属性组成完整的请求URL。协议名称及版本号。2、请求头(hearder)Accept:指定客户端能够接收的内容类型,可以是文本、图片、视频类型。Accept-Encoding:指定浏览器支持接收的数据格式,有gzip、br等类型Accept-Languag

2021-03-28 19:08:25 494

原创 wireshark抓tcp三次握手四次挥手包

wireshark抓tcp三次握手四次挥手包首先大家要连接,tcp建立连接的过程是我们要了解的,了解了之后才能传送数据嘛。大家要搞清除过程才行,在我前面的博客具体的讲了怎么样建立的,这里只讲抓包。链接:https://blog.csdn.net/qq_45125250/article/details/108549338抓包过程打开服务器#include <stdio.h>#include <stdlib.h>#include <string.h>

2021-03-22 17:41:12 2029

原创 IIC原理及Linux应用空间IIC编程

IIC原理及Linux应用空间IIC编程IIC就是master/slave模式,通过数据线和时钟线两根线实现主从设备通信,其传输熟虑标准模式下可达100kbit/s,快速模式下可达400kbit/s,高速模式下可达3.4Mbit/s。其主要由两根线组成是SDA、SCL、上拉电阻组成。通信原理是通过对SCL和SDA线高低电平时序的控制,**在总线空闲状态时,这两根线一般被上面所接的上拉电阻拉高,保持着高电平。**上拉电阻的作用就是:1、IIC连线VCC:提供电源GND:接地SDA:串联数据线,传输

2021-03-17 19:39:41 1349 2

原创 上下文切换详解及进程调度

上下文切换详解首先谈谈上下文切换的概念。上下文切换指的是内核(操作系统的核心)在CPU上对进程或者线程进行切换。上下文切换只能发生在内核态中,上下文切换过程中的信息被保存在进程控制块(PCB)中。上下文切换的信息会一直被保存在CPU的内存中,直到被再次使用。...

2021-03-17 10:59:34 2919 1

原创 ubuntu 编译安装 OpenCV

ubuntu编译安装OpenCV安装依赖库sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-devsudo apt-get install libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev下载源码

2021-03-08 15:54:30 103

原创 Buildroot-2011.11 交叉编译器制作

bulidroot制作交叉编译器1、下载源码包并解压wget https://buildroot.org/downloads/buildroot-2011.11.tar.bz2tar -xjvf buildroot-2011.11.tar.bz22、修改/opt目录权限sudo chmod 777 /opt3、进入buildroot-2011.11cd buildroot-2011.114、配置交叉编译器选项Target Architecture选择arm框架Target Ar

2021-03-06 16:22:02 219 7

原创 闲谈闲谈闲谈

关于arm处理器闲谈首先呈上c语言常用数据类型对应字节数32位编译器: char :1个字节 char*(即指针变量): 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节。同理64位编译器) short int : 2个字节 int: 4个字节 unsigned int : 4个字节 float: 4个字节 double: 8个字节 long: 4个字节 long long: 8个字节 unsigned long: 4个字节

2021-01-09 00:51:53 1510 1

原创 gcc编译过程及简单实战

gcc编译过程及简单项目实战1、gcc编译过程其实我们用c或者cpp的时候用到很多的库,那是别人写好的给我们直接使用的,极大的方便了我们,但是我们做项目的时候往往要自己将函数分离出来,然后再main函数中引用,就需要用到编译的过程了。如图:上图中我们的main文件跟input、calcu文件是一个文件夹,input、calcu文件是分别实现的两个功能一个是输入,一个是计算,main实现的是数字加法计算,但是为了功能分明我们就将他们分开,这样在大型项目中是低耦合表现。项目源码:https://gi

2021-01-04 16:59:08 782

原创 基于nao机器人实现语音对话(智能版本)

nao机器人实现语音对话1、语音获取nao耳麦有一个功能,它可以通过声音大小判断能力值,也就是声音越大能量越大。所以我们此次项目主要运用的就是nao 的这个功能,来展开实现的。下面是流程图。功能流程图我们可以看见上面的流程图,从录音开始到录音结束逻辑还是比较复杂的,而且还有一些我没画出来,这只是大概。录音的代码 def recorder(self): self.audio_recorder.stopMicrophonesRecording() time.sl

2021-01-04 10:45:18 4116 12

原创 使用kail进行arp欺骗

使用kail进行arp欺骗其基本原理就是告诉目标主机,并刷新arp表,让他把我的地址修改成网关ip,所以目标主机的请求都会发给我,但是必须同一个网段,虚拟机要桥接。使用如下命令即可:192.168.1.100目标主机192.168.1.1 网关sudo arpspoof -i eth0 -t 192.168.1.100 192.168.1.1 解决虚拟机桥接没网的情况再上图选择桥接,添加自己的网卡就行了。...

2020-12-15 00:02:21 226

原创 C语言实现mosquitto发布、订阅消息

C语言实现mosquitto发布、订阅消息1、安装mosquitto1.1、编译安装安装依赖sudo apt-get install libssl-devsudo apt-get install uuid-devsudo apt-get install cmake下载资源包下载地址:https://mosquitto.org/download/wget https://mosquitto.org/files/source/mosquitto-1.6.12.tar.gz解压

2020-11-30 16:39:46 6753 3

原创 通过qq进行ip定位

通过qq进行ip定位1、下载wireshark抓包这里会抓包就行2、找一个人进行qq视频通话大家可以看到这里不是他的就是我的ip,我是本地ip他是公网ip。3、查询ip通过这个网站就可以查询 https://mall.ipplus360.com/...

2020-11-30 03:38:43 14690 5

原创 iniparser库的使用

iniparser库的使用iniparser库的作用是让我们在c文件中用iniparser库中的方法处理ini文件。1、github上下载源码git clone https://github.com/ndevilla/iniparser我们要使用的代码在/iniparser/src中2、文件实例文件ini.conf;地址池[ipaddrpool]start = 192.168.1.1end

2020-11-30 01:24:24 5474

原创 ubuntu下允许普通用户ssh登录,禁止root

ubuntu下允许普通用户ssh登录,禁止root1、创建用户sudo adduser username2、添加sudo权限sudo vim /etc/sudoer修改前:# User privilege specificationroot ALL=(ALL:ALL) ALL修改后# User privilege specificationroot ALL=(ALL:ALL) ALLly_1 ALL=(ALL:ALL) ALL也就是给你用户添加root权限。

2020-11-29 15:21:18 8321 1

原创 树莓派连接EC20模块

树莓派连接EC20模块1、下载串口助手sudo apt-get install minicom2、配置串口输入 sudo minicom按下ctrl+A,松开然后按下Z输入O选择Serial port setup按下A,修改串口名称 /dev/ttyUSB2保存并退出3、安装驱动识别程序 sudo apt-get install usb-modeswitch usb-modeswitch-data4、安装拨号软件sudo apt-get install wvdial5、

2020-11-28 15:43:10 6366

原创 python实现mqtt订阅、发布

python实现mqtt订阅、发布发布# -*- coding: utf-8 -*-import paho.mqtt.client as mqttimport jsonimport timeHOST = "xxxxxx"PORT = 1883client_id = time.strftime('%Y%m%d%H%M%S',time.localtime(time.time()))if __name__ == '__main__': client = mqtt.Client(clie

2020-11-25 13:23:01 2438

原创 Navicat如何连接ubuntu数据库

Navicat连接ubuntu数据库基本步骤mysql -u root -pUSE mysql;select user, plugin from mysql.user;update user set authentication_string=password("123456"),plugin='mysql_native_password' where user='root';FLUSH PRIVILEGES;exit;修改配置文件root@yjc:/etc/mysq

2020-11-22 12:33:40 850 1

原创 Ubuntu安装MySQL

Ubuntu安装MySQL1、安装服务sudo apt-get updatesudo apt-get upgradesudo apt-get install mysql-server2、配置mysqlsudo mysql_secure_installation3、开启服务systemctl start mysql.service4、进入mysqlmysql -u root -p

2020-11-22 12:08:03 1566

原创 百度语音识别+图灵机器人+python实现智能对话(小爱机器人)

百度语音识别+图灵机器人+python实现智能对话1、展示效果对于简单的对话需要普通话比较标准,当然可以设置成四川话,不过对于名字也可能出错,因为近音词太多了。2、实现过程2.1、首先获取语音通俗点讲就是你说话生成语音文件def save_wave_file(filepath, data): wf = wave.open(filepath, 'wb') wf.setnchannels(channels) wf.setsampwidth(sampwidth) wf.setfram

2020-11-17 17:56:06 2783

原创 ubuntu搭建wordpress个人博客

ubuntu搭建wordpress个人博客1、准备LAMP环境LAMP 是 Linux、Apache、MySQL 和 PHP 的缩写,是 Wordpress 系统依赖的基础运行环境。我们先来准备 LAMP 环境:1.1、安装apache2终端命令输入:sudo apt-get install apache2 -y安装成功后可以输入http://ip,访问网页看到"it work"说明安装成功。1.2、安装PHP终端命令输入:sudo apt-get install php7.0 -y

2020-11-17 17:55:51 441 2

原创 python爬取全国疫情数据写入mysql

python爬取全国疫情数据1、实现效果2、实现代码import pymysqlimport requestsimport reimport jsonfrom time import sleepdef A(): try: url = "https://services9.arcgis.com/N9p5hsImWXAccRNI/arcgis/rest/services/Nc2JKvYFoAEOFCG5JSI6/FeatureServer/2/query?f=json&

2020-11-17 17:55:38 1316 3

原创 赫夫曼树及赫夫曼代码讲解

赫夫曼树及赫夫曼代码讲解1、赫夫曼树讲解赫夫曼树(Huffman Tree),又称最优二叉树,是一类带权路径长度最短的树。首先了解几个赫夫曼树的名词。路径:在一棵树中,一个结点到另一个结点之间的通路,称为路径。图 1 中,从根结点到结点 a 之间的通路就是一条路径。路径长度:在一条路径中,每经过一个结点,路径长度都要加 1 。例如在一棵树中,规定根结点所在层数为1层,那么从根结点到第 i 层结点的路径长度为 i - 1 。图 1 中从根结点到结点 c 的路径长度为 3。结点的权:给每一个结点赋

2020-11-16 22:28:35 2241

原创 基于树莓派实现AS608指纹识别

基于树莓派实现AS608指纹识别1、展示效果1.1、按压手指1.2、录入手指1.3、匹配成功注意:别人只是实现基本功能,还有许多的功能依葫芦画瓢自己加进去就行了。2、具体过程2.1、连接usb首先使用ttl转接头跟AS608指纹模块相连接,插入树莓派,在命令行输入lsusb,查看是否出现HL-3402.2、查看串口端口输入如下命令:2.3、下载串口助手...

2020-11-16 00:31:51 8162 20

原创 Paho实现MQTTCient的实现订阅消息

Paho实现MQTTCient的实现订阅消息订阅消息跟发布消息如出一辙,大家看我的写的如何发布消息,订阅消息也应该是可以实现的https://blog.csdn.net/qq_45125250/article/details/1092718381、修改信息//mqtt服务器地址#define ADDRESS “tcp://m2m.eclipse.org:1883”//客户端号#define CLIENTID “ExampleClientPub”//主题#define TOPIC “MQTT

2020-11-15 10:52:33 3107

原创 linux中搭建EMQ服务器实现MQTT消息传输

linux中安装EMQ服务器实现MQTT消息传输下载安装EMQ链接:https://www.emqx.io/cn/downloads#broker我是直接通过命令安装的,没有下安装包编译,你们可以下载安装包,下载好了就是这样解压 unzip emqx-ubuntu14.04-v4.1.1.zip启动cd emqx && ./bin/emqx console大家会看到这样的界面Starting emqx on node emqx@127.0.0.1Start

2020-11-15 10:52:20 3136 6

原创 基于MQTT协议实现微信小程序控制树莓派

基于MQTT协议实现微信小程序控制树莓派在我的github上有源码,大家可以直接下载来用https://github.com/yjc-123/-MQTT- ,这里给大家说一下实现的过程。小程序端:需要将我的github文件引入这三个文件这是github上的源码,具体网站https://github.com/mqttjs/MQTT.js,我们需要讲上述文件引入才可已使用mqtt。源码你只需要修改opt的信息就行了。test是你在EMQ创建的用户和密码。另外就是你服务器的域名,这里需要ssl,

2020-11-15 10:52:09 4213 11

原创 paho实现MQTTClient发布消息

paho实现MQTTClient发布消息接下来会用paho开源的一个项目,实现mqtt客户端发布消息,此文主要参考MQTT Client library for C,Paho给出的创建一个客户端有如下类似的步骤:1、安装//从github上下载项目git clone https://github.com/eclipse/paho.mqtt.c.git//进入文件夹cd paho.mqtt.c//编译make2、目录介绍src:源文件、库文件目录build:编译过后的动态库及执行文件

2020-11-15 10:52:00 7544 9

原创 调用百度API实现人脸识别

1、代码from aip import AipFaceimport cv2import timeimport base64from PIL import Imagefrom io import BytesIOimport pyttsx3# """ 你的 APPID AK SK """APP_ID = '1965####'API_KEY = 'YXL65ekIloykyjrT4kzc####'SECRET_KEY = 'lFiapBoZ5eBwOFyxMbiwQDmClg1u####'

2020-11-13 21:07:53 6722 9

原创 树莓派将DHT11温度湿度上传到阿里云物联网平台

树莓派将DHT11温度湿度上传到阿里云物联网平台1、自定义功能添加的过程就是如此,因为温度是有小数点的,所以用float比较好,其他的比如时间等等也可以使用text类型,视情况而定。定义好之后就可以发布了,当前只有一个温度,还需要添加是湿度。2、环境准备下载Node.js安装mtqq库npm install aliyun-iot-mqtt -S安装阿里云SDKsudo pip install aliyun-python-sdk-coresudo pip install al

2020-11-13 21:07:35 3949 28

原创 摄像头人脸检测的树莓派指纹识别系统

摄像头人脸检测的树莓派指纹识别系统前言:此项目主要用了摄像头、指纹识别、继电器、Led模块等设备。用于实现智能门锁功能,即摄像头检测到人来之后,打开继电器给指纹模块供电,led显示文字。代码:import binasciiimport serialimport serial.tools.list_portsimport timeimport cv2import Adafruit_GPIO.SPI as SPIimport Adafruit_SSD1306from PIL import I

2020-11-13 19:15:48 1641 5

ec20 AT指令全集,需要请下载

AT指令

2022-04-10

isolinux源码制作Linux启动光盘.pdf

isolinux源码制作Linux启动光盘.pdf

2021-05-10

空空如也

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

TA关注的人

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