- 博客(59)
- 收藏
- 关注

原创 51单片机详解
51大致就是对定时器,计算器,中断,串口的一些操作,前面我浅谈一下51的基本操作,后面我会对Sg-90舵机,超声波,LCD1602,DHT11温湿度传感器,IIC-OLED,HC-05蓝牙模块,esp8266-01sWI-FI模块,4G模块,4驱小车进行一个详细的汇总,希望能对大家有所帮助。......
2022-06-26 21:19:53
34116
15
原创 基于MQTT阿里云服务器的物联网关灯项目--舵机
MQTT是基于服务端/客户端订阅发布通信协议,建立在TCP/ip协议之上,最大的优点在于用极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。paho-mqtt3c : c 表示的应该是同步(Synchronize),一般性能较差,是发送+等待模式。2.小程序控制:香橙派作为客户端,小程序作为客户端,用MQTT协议,连接阿里云服务器,进行消息分发。小
2023-07-28 00:36:15
504
原创 c++快速入门
c++其实就比c多了一点内容,如:类,继承,多态..面向对象的内容,如果你学习过C语言,学C++就非常简单,本文章写的比较简单,适合快速入门
2023-07-21 23:16:10
1714
原创 车牌识别--http协议
基于https协议访问网址实现车牌识别一、libcurllibcurl是一个跨平台的网络协议库,支持http, https, ftp, gopher, telnet, dict, file, 和ldap 协议库下载:https://github.com/curl/curl/releases/tag/curl-7_71_1二、车牌识别1.curl使用2.函数介绍curl_easy_setopt()3.登录翔云去购买key4.通过https协议调用翔云车牌识别接口
2023-07-11 21:55:53
680
原创 Linux文件系统
什么是文件系统?文件系统就是管理操作系统存储文件的方法,也就是根目录一、文件系统类型文件系统就是管理操作系统存储文件的方法,其中有很多方法,就叫做文件系统类型Linux:存在几十个文件系统类型:ext2,ext3,ext4,xfs,brtfs,zfs..用df等命令可以查看二、什么是分区window:C盘,D盘,随意存储Linux:按照功能进行分区bootloadr: 启动代码para: 启动代码向内核传递参数的位置kernel: 内核分区根分区:文件系统结构等。
2023-07-09 17:55:02
167
原创 香橙派配置交叉编译工具
为什么需要交叉编译交叉编译实质就是在一个平台生成另一个平台可执行的代码,例:我通过file 命令查看Ubuntu是x86架构,但是我的orangePi是ARM架构,因为架构不一样对应的架构指令集就不一样,我在x86架构编译的代码放到ARM架构就执行不了一、交叉编译工具下载交叉编译下载去下载对应的交叉编译工具二、安装交叉编译(1)解压到当前文件夹(2)进入到bin目录去,拷贝当前路径(3)设置环境变量(4)export PATH=$PATH:拷贝的路径 仅限当前窗口。
2023-07-08 18:22:49
740
原创 香橙派外设开发
为什么我们要跑ARM+Linux?因为在Linux内核下帮我们完成了很多底层的一些东西,我们在应用时常常只需要调用就行了,且Linux 开源,移植性好,可裁剪软硬件,功能强大。一、wiringPi库在Linux上进行arm开发,往往会用到GPIO,串口,定时器....,这些特定的功能接口,就是由wiringPi库所提供的。wiringPi下载。
2023-07-07 18:05:43
402
原创 Makefile的基础用法
我们用makefile进行编译,每次只需要make一下就行了,它可以使我们编译项目变得自动化,不需要每次编译都要输很多参数,且makefile它只编译我们修改过的文件,没有修改它就不进行编译。
2023-07-04 11:47:47
110
原创 UDP 广播/组播
广播UDP与单播UDP的区别就是IP地址不同,广播使用广播地址xxx.xxx.xxx.255,将消息发送到在同一广播网络上的每个主机,广播/组播只能用udp进行实现。
2023-06-24 20:06:10
1409
原创 linux select机制 I/O口多路复用
阻塞:列如read函数,读不到数据我就一直卡在这里,知道有数据,内核来唤醒我,我在返回非阻塞:我read不到数据,我就立即返回,在轮询,我就不卡在这里,会消耗大量cpu的资源I/O口多路复用:我可以设置成非阻塞模式,我把我关心的文件描述符或者网络描述符加入到fd-set这个集里面,通过select把这个集放进去,如果有就绪了的,就只返回就绪的描述符
2023-06-23 23:57:48
448
原创 Linux udp--recvfrom/sendto
函数原型: ssize_t recvfrom(int sockfd, void *buf, size_t len, int flags, struct sockaddr *src_addr, socklen_t *addrlen);参数3:0--默认接收,可以搭配一些flag使用。参数3:0--默认发送,可以搭配一些flag使用。参数4:接收发送主机的ip信息。参数5:接收发送主机信息的长度。参数4:接收主机的ip信息。参数5:接收主机信息的长度。参数2:接收存放的数据。参数2:发送存放的数据。
2023-06-22 18:30:54
1005
原创 Linux DNS域名解析
1.gethostbyname()//利用这个函数完成域名到IP地址的转换。DNS域名解析,实现了主机域名地址到IP地址转换的过程。成功时返回hostent结构体,失败返回NULL。
2023-06-22 00:14:16
286
原创 Linux用信号量实现共享内存全双工
用信号量来管理临界资源(一次性只能一个进程访问的资源),由于共享内存没有阻塞,多个进程同时打开读和写会发生错误,我们可以用信号量来实现管理。
2023-06-20 01:14:44
262
原创 Linux下gdb调试的基本用法
gdb是GUN组织开发的Linux下的调试利器。一般用于调试C/C++程序。1.用于调试逻辑错误,语法错误是gcc直接给出的。2.设置断点来一步步看程序执行所发生的事进行调试。
2023-06-07 20:56:50
113
原创 Linux 软链接和硬链接的区别
不能跨分区,每个新加入的链接都跟原文件的链接一样,删除硬链接,原文件还在,删除原文件,也还在,改变其内容,会跟着改变。可以跨分区,每个新加入的链接的索引节点都不同,删除原文件,软链接就不能用了,改变软链接内容,原文件跟着改变。
2023-05-23 17:18:48
311
原创 stm32、IO口、中断、串口、定时器讲解
空输入:浮空,顾名思义,就相当与此端口在默认情况下什么都不接,呈高阻态,这种设置在数据传输时用的比较多。上拉输入:即通过一个上拉电阻,使它接到vcc下拉输入:即通过一个下拉电阻,使它接到gnd模拟输入:一般用于adc数模转换
2022-09-04 10:13:37
5550
原创 安装编译openssl支持https访问
HTTPS 协议是由 SSL+HTTP 协议构建的可进行加密传输、身份认证的网络协议,要比 HTTP 协议安全,可防止数据在传输过程中不被窃取、改变,确保数据的完整性。
2022-08-22 21:01:54
738
原创 人脸识别--翔云API
进入翔云官网购买人脸识别的接口,得到一个key和secret,我们要用到这两个参数才能访问到人脸识别的网址。的编码方式之一,Base64编码是从二进制到字符的过程,可用于在。Base64是网络上最常见的用于传输8Bit。环境下传递较长的标识信息。
2022-08-22 20:31:13
375
原创 libcurl库安装和使用
1. libcurl是一个跨平台的网络协议库,支持http, https, ftp, gopher, telnet, dict, file, 和ldap 协议。libcurl同样支持HTTPS证书授权,HTTP POST, HTTP PUT, FTP 上传, HTTP基本表单上传,代理,cookies,和用户认证。库下载下载完成后通过共享文件夹或者FileZill或者直接拖拽将压缩包移动到虚拟机。
2022-08-22 19:58:48
1712
原创 树莓派3b/3b+/、Pi(raspberry)摄像头安装
5. git clone https://github.com/jacksonliam/mjpg-streamer.git(若未安装git,则需先进行安装sudo apt-get install git)1. cd mjpg-streamer/mjpg-streamer-experimental #进入下载目录后进入左侧路径。3. sudo apt-get install libv4l-dev #4l是小写"L"4. sudo apt-get install cmake #下载编译工具。
2022-08-22 19:58:10
803
原创 https协议
http协议是明文传输的,因此很容易被截取和解析,泄漏个人数据。https协议是在http和tcp之间多添加了一层,进行身份验证和数据加密。
2022-08-21 20:03:24
93
原创 socket、tcp、http三者之间的区别
我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如 果没有应用层,便无法识别数据内容,则必须使用到应用层协议
2022-08-21 16:38:22
496
原创 C语言实现简单工厂模式
工厂模式是一种面向对象的模式,是23种里面的一种,c语言是面向过程,但我们可以用类与对象(结构体)实现一个简单的面向对象模式,跟分文件编程很像。
2022-08-17 17:13:30
1232
原创 动态连接创建与输出
这里我们创建动态链表用的尾插法,即创建的每一个新的节点给它挂在一个尾指针上面,所以我们需要3个指针,头指针、尾指针、new(创建节点的指针),头指针和尾指针指向同一个节点,直到有创建新的节点,在把尾指针始终指向新创建的指针...
2022-08-16 15:47:03
371
原创 物理地址、总线地址、虚拟地址
虚拟地址:是一个假的地址,是把物理地址映射成虚拟地址(树莓派是靠ARM MMU进行映射的)是一个逻辑地址(基于算法实现的假地址)
2022-08-13 09:15:17
469
原创 静态库和动态库
静态库和动态库的用处都是一样的,假如我们想给别人用我们的功能性代码,但是又不想让他看到我们的源码,这时静态库和动态库的作用就出来了
2022-08-12 20:40:14
240
原创 Linux树莓派综合应用---刷机、换源、配置网络、登录、树莓派和windows的文件共享
Linux树莓派综合应用---刷机、换源、登录、树莓派和windows的文件共享的讲解...
2022-08-12 20:38:08
351
空空如也
EMQ平台 为什么我连接服务器,服务器不显示连接数呢,还是我客户端id这些参数有问题
2023-07-25
TA创建的收藏夹 TA关注的收藏夹
TA关注的人