自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

桦桦的博客

桦桦不秃头,不秃继续学

  • 博客(65)
  • 收藏
  • 关注

原创 iniparser 库的简单使用

文章目录1 iniparser介绍2 ini文件格式3 iniparser.h4 dictionary.h5 常用的几个函数6 测试代码1 iniparser介绍iniparser是一个C语言库,是针对INI文件的开源解析器。ini文件则是一些系统或者软件的配置文件。github地址如下:https://github.com/ndevilla/iniparser直接git clone关键的头文件和c文件在src下2 ini文件格式我自己定义了一个配置文件,和测试代码ini文

2020-08-18 22:15:31 1186

原创 makefile之patsubst,wildcard和notdir

文章目录1 patsubst: 替换通配符2 wildcard: 扩展通配符3 notdir: 去除路径4 综合应用5 扩展参考原地址因为项目中用到了patsubst,所以记录一下。1 patsubst: 替换通配符格式:$(patsubst <pattern>,<replacement>,<text> ) 名称:模式字符串替换函数——patsubst。功能:查找text中的单词(单词以“空格”、“Tab”或“回车”“换行”分隔)是否符合模式patte

2020-08-11 16:35:56 346

原创 通过ESP8266上传温度到腾讯云

文章目录1 腾讯云操作1.1 新建项目1.2 新建产品1.3 创建设备2 MQTT.fx测试3 ESP8266模块上传温度1 腾讯云操作1.1 新建项目创建完后进入项目。1.2 新建产品点击新建产品创建产品完毕后,点击进入,下面就是给产品自定义功能然后下一步交互可以跳过1.3 创建设备点击调试,可以查看三元组,然后可以用官方生成工具生成MQTT.fx需要的东西下面是生成小工具的地址https://cloud.tencent.com/document/p

2020-08-10 22:42:57 3341 7

原创 AT命令使ESP8266对接腾讯云

文章目录0 准备工作0 准备工作1 注册了腾讯云2 使用MQTT.fx测试了云平台3 已经给你的ESP8266模块烧录了支持MQTT的固件,腾讯云和阿里云都有提供相应的固件。4 打开安信可官方的串口调试工具...

2020-08-10 15:57:50 3169 5

原创 一文讲不清楚的MQTT

文章目录1 概述1.1 先谈http1.2 MQTT特点2 MQTT的基本框架2.1 Broker2.2 MQTT Client3 MQTT协议4 MQTT的几个概念4.1 服务质量(QoS)4.2 遗嘱4.3 安全性5 测试工具MQTT.fx6 Paho库和mosquitto库6.1 paho6.2 mosquitto其实在桦桦看来MQTT和现在的微博,抖音是一样的,你订阅了哪个博主,或者网红后,当他们发布一个视频内容后,就会先发布在微博或者抖音的云服务器上,然后云服务器是知道你订阅了这些博主,就会把这

2020-08-09 19:12:26 660

原创 MQTT连接阿里云随笔记录

文章目录0 MQTT协议1 阿里云平台使用2 MQTT模拟器连接阿里云3 MQTT.fx 连接阿里云4 树莓派使用Mosquitto连接阿里云桦桦接下来将提供三种方式连接阿里云,从简到难逐步深入,但是在这之前都需要在阿里云平台上创建以及产品。0 MQTT协议MQTT是一个客户端服务端架构的发布/订阅模式的消息传输协议。它的设计思想是轻巧、开放、简单、规范,易于实现。这些特点使得它对很多场景来说都是很好的选择,特别是对于受限的环境如机器与机器的通信(M2M)以及物联网环境(IoT)。MQTT 协议的数

2020-08-09 11:54:42 879

原创 ESP8266的AT指令详解

文章目录树莓派包含两个串口,一个称之为硬件串口(/dev/ttyAMA0),一个称之为mini串口(/dev/ttyS0)。硬件串口由硬件实现,有单独的波特率时钟源,性能高、可靠。mini串口时钟源是由CPU内核时钟提供,波特率受到内核时钟的影响,不稳定。想要通过树莓派的GPIO引脚进行稳定的串口通信,需要修改串口的映射关系。PL011 UART串口默认用于蓝牙/无线模块,在需要数据连接可靠的情况下,可以使用PL011 UART串口,如果同时需要使用蓝牙模块,可以使用mini UART串口。seria

2020-07-26 00:41:36 7312

原创 使用树莓派SPI接口实现RFID门禁功能

文章目录0 背景知识0.1 什么是RFID0.2 组成0.2 工作原理1 准备工作1.1 器件1.2 连线2 代码思路0 背景知识0.1 什么是RFID射频识别,RFID(Radio Frequency Identification)技术,又称无线射频识别,是一种通信技术,俗称电子标签,可通过无线电讯号识别特定目标并读写相关数据,而无需识别系统与特定目标之间建立机械或光学接触。射频的话,一般是微波,1-100GHz,适用于短距离识别通信。RFID读写器也分移动式的和固定式的,目前RFID技术应用很

2020-07-23 17:18:55 2966 4

原创 使用树莓派GPIO点亮LCD灯

文章目录0 库安装0.1 bcm2835的安装0.2 wiringpi的安装0.3 Python GPIO的安装0 库安装树莓派中有3个库可以用于操控GPIO,分别是wiringPi, bcm2835库,和python库。0.1 bcm2835的安装BCM2835 C Library可以理解为使用C语言实现的相关底层驱动,BCM2835C Library的驱动库包括GPIO. SPI和UART等,可以通过学习BCM2835 C Library熟悉BCM2835相关的寄存器操作。如果有机会开发树莓派上

2020-07-18 08:56:19 944

原创 树莓派SPI回环测试

文章目录1 准备工作2 基于bcm2835的测试代码1 准备工作首先将树莓派的MISO,MOSI引脚用杜邦线短接。然后使能树莓派的SPIsudo raspi-config然后查看是否成功2 基于bcm2835的测试代码#include <bcm2835.h>#include <stdio.h> int main(int argc, char **argv){ // If you call this, it will not actua

2020-07-16 19:09:43 1389 2

原创 UART,SPI和I2C介绍

文章目录0 几个概念1 UART2 SPI2.1 SPI 信号线2.2 SPI 传输数据模式(时序)3 I2C3.1 空闲状态3.2 起始位与停止位3.3 数据的有效性0 几个概念发送器:发送数据到总线的器件;接收器:从总线接收数据的器件;主机:启动数据传送并产生时钟信号的设备;从机:被主机寻址的器件;多主机:同时有多于一个主机尝试控制总线但不破坏传输;主模式:用I2CNDAT支持自动字节计数的模式;位I2CRM,I2CSTT,I2CSTP控制数据的接收和发送;从模式:发送和接收操作都是由

2020-07-15 11:13:54 545

原创 串口通信

文章目录0 背景知识回顾0.1 总线0.2 总线通信分类按传输方向分类按通信方式分类1 串行通信1.1 串行同步通信优点缺点1.2 串行异步通信1.2.1 异步通信的数据格式1.2.3 通用异步收发器UART1.2.4 DB90 背景知识回顾0.1 总线地址总线(1)CPU是通过地址总线来指定存储单元的。(2)地址总线决定了cpu所能访问的最大内存空间的大小。(3)地址总线是地址线数量之和。数据总线(1) 是CPU与内存或其他器件之间的数据传送的通道。(2)数据总线的宽度决定了CP

2020-07-15 10:13:20 1028

原创 Packet forward 介绍与配置

文章目录下面给出github上的地址。https://github.com/Lora-net/packet_forwarder官方是这么描述packer forward的LoRa数据包转发器是在LoRa网关的主机上运行的程序,该程序将集中器接收的RF数据包通过IP / UDP链接转发到服务器,并发出服务器发送的RF数据包。关键在这4个文件,下面我们解释以下这4个文件的作用,其中第一个项目包是核心。...

2020-07-11 16:17:20 2299

原创 ChirpStack应用服务器的使用

文章目录1 添加网络服务器2 添加网关profiles3 添加网关设备4 管理用户5 添加sevice-profiles6 添加device-profile7 添加应用AS1 添加网络服务器2 添加网关profiles3 添加网关设备4 管理用户5 添加sevice-profiles6 添加device-profile这里我们选择class A节点选择入网方式,如果不选择OTAA,默认APB入网7 添加应用AS...

2020-07-11 11:33:39 8136 1

原创 使用docker搭建lnmp

文章目录1 LNMP简单介绍2 安装Mysql3 安装PHP3.1 安装并运行3.2 测试主机目录是否映射到php目录中3.3 安装php依赖应用4 安装nginx4.1 运行容器4.2 配置nginx的配置文件5 检查是否成功1 LNMP简单介绍LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian、centos、ubuntu、fedora、gentoo等。Ng

2020-07-10 10:25:10 349

原创 docker的简单使用之安装nginx

文章目录1 安装Nginx1.1 查看可用的 Nginx 版本1.2 取最新版的 Nginx 镜像1.3 查看本地镜像1.4 运行容器1.5 安装成功,进入页面1.6 查看容器内正在运行的进程1.8 查看容器运行日志1.9 进入容器1.10 停止容器前面桦桦简单介绍了docker,但是并没有具体讲解docker是如何使用的,以及命令,我接下来打算一边实战一边讲解docker,这样更容易理解docker的使用原理。1 安装NginxNginx 是一个高性能的 HTTP 和反向代理 web 服务器,同时

2020-07-10 10:24:23 325

原创 一文明白docker是什么

文章目录预备知识1 Docker是什么?2 Docker引擎3 Docker的架构4 Docker能做什么?5 Docker的优点6 docker的安装7 Doker 镜像加速7.1 修改加速器源7.2 第二步、服务重启7.3 验证是否配置成功运维工程师及后端开发人员是肯定需要学习docker的,但是得益于其方便,近些年越来越火,桦桦最近在部署chirp stack服务器的时候,也用到了docker,今天就来谈谈。网上很多关于docker的教程不能说不行,但是感觉都是去直接搬用官方的概念,根本没有消化就

2020-07-09 11:35:54 354

原创 认识LoRa以及LoRaWAN

文章目录1, 了解物联网1, 了解物联网话不多说,直接上图,就知道整个物联网的架构,下面的图是网上搜索来的图。服务层:其实服务层其实是属于应用层,服务层就是用来处理从传输层传来的海量数据的。应用层:就是交互界面,我们可以从交互界面直观的看到数据,并且可以下感知层传送控制命令。传输层:就是用来传输数据的,我们下面的LORA 技术就是一种传输数据的射频技术。感知层: 就是各种由各种传感器构成的,用于将环境的变量转换成二进制数据。...

2020-07-07 18:00:52 1256

原创 Linux下快速部署ChirpStack项目

文章目录1, 安装ubuntu18.042, 安装docker-ce2.1 设置Docker存储库2.2 安装Docker-ce2.3 测试Docker-ce2.4 升级Docker-ce2.5 卸载Docker-ce2.6 docker 常用命令3, 安装docker-compose3.2 卸载compose3.3 常用命令4, 下载ChirpStack-docker5, 配置文件6, 运行web6, 遇到的问题及解决方案下面两个是docker和chirpstack的官方站点https://docs.

2020-07-02 19:44:10 3032 3

原创 使用docker部署ChirpStack过程中的一些巨坑

文章目录List item

2020-07-02 19:38:12 1494 1

原创 Cisco Packet Tracer利用三层交换机实现VLAN间路由

文章目录1, 原理图绘制2, 配置二层交换机3, 三层交换机的配置4, 结果验证之前做了一个关于二层交换机的模拟,可以参考https://blog.csdn.net/weixin_46027505/article/details/107051597接下来的步骤其实和上面博客中的相差无几,就是将原本的一个交换机换成三层交换机,然后进行相应的配置,从而达到使不同VLAN的主机也能进行通信。1, 原理图绘制2, 配置二层交换机将连接三层交换机的端口配置成trunk模式。3, 三层交换机的配

2020-07-01 12:03:02 3811 3

原创 Cisco Packet Tracer交换机划分VLAN

文章目录1.1, 单交换机构建一个VLAN1.2, 单交换机划分两个VLAN1.3, 使用两个交换机进行VLAN划分1.1, 单交换机构建一个VLAN我们使用一个交换机将两台PC划分在一个VLAN中,这里不需要配置交换机。第一步,画出原理图.第二步,单击主机标志,分别配置IP地址和网关最后一步,打开任何一个pc的命令窗口,ping另外一台主机进行验证。因为这里没有划分vlan,所以两台主机是在同一个局域网下的,是可以进行通信的。1.2, 单交换机划分两个VL

2020-07-01 09:24:11 7581

原创 嵌入式系统总结

文章目录1, 指令集比较2, 存储器结构比较3, 处理器分类4, ARM 处理器高速缓存cache流水线总线BUSARM 运行模式ARM 存储模式指令系统下面的内容都是围绕这2幅图进行的。1, 指令集比较2, 存储器结构比较哈佛结构将程序指令存储和数据存储分开的存储器结构。中央处理器首先到程序指令存储器中读取程序指令内容,解码后得到数据地址,再到相应的数据存储器中读取数据,并进行下一步的操作(通常是执行)。程序指令存储和数据存储是分开,可以使指令和数据有不同的数据宽度,通常具有较高的执行效

2020-07-01 09:15:54 649

原创 计算机网络之网络层

文章目录1.1 网络层该提供哪种服务?1.2 网络层协议1.3 各层中间设备1.4 路由器1.5 IP地址分类1.6 硬件地址1.7 地址解析协议1.8 IP数据报的格式1.1 网络层该提供哪种服务?在计算机网络领域,网络层应该向运输层提供怎样的服务(“面向连接”还是“无连接”)曾引起了长期的争论。争论焦点的实质就是:在计算机通信中,可靠交付应当由谁来负责?是网络还是端系统?网络就是指ISP,端系统就是我们使用的主机。如今,我们使用的是后者,数据报服务。1.2 网络层协议网际协议 IP

2020-06-10 16:03:23 293

原创 使用wireshark分析ARP协议

Character is the ability to carry out a good resolution long after the excitement of moment has passed.--------毅力是兴奋的片刻久久过后,继续执行优秀决策的能力。文章目录1, ARP协议2, ARP报文格式2.1 ARP部分2.2 以太网帧头2.3 ARP映射表3, 使用wireshark分析ARP3.1 搭建模拟环境3.2 登录路由器查看电脑和手机的IP3.2 管理者身份运行cmd3.3 pi

2020-05-30 16:57:05 12437 4

原创 计算机网络之概述篇

文章目录1.1 计算机网络的作用和特点1.2 计算机网络长什么样?1.2.1 计算机网络组成(工程视角)1.2.2 计算机网络的分类1.3 因特网长啥样?1.3.1 因特网的发展1.3.2 因特网的组成1.3.3 因特网主要的两种技术1.4 两种通信方式1.5 计算机网络的性能指标速率带宽时延1.6 计算机网络的体系结构通信协议三要素应用层传输层网络层数字链路层计算机网络就是 把许多计算机连接在一起,实现通信。那么如何连接、如 何通信就是这个学科要研究的东西。小黑之前就写了一篇从业余的角度计算机网络的入

2020-05-27 13:55:54 372

原创 51单片机大大大汇总

Without the element of enjoyment, it is not worth trying to excel at anything.---------缺乏兴趣,在任何领域达到卓越都是不值得的。文章目录0, 微型计算机组成指令集7种寻址方式数据传送类指令(8条助记符)3个周期1, 80C51单片机引脚复位2, 单片机存储器结构2.1定时/计数器0, 微型计算机组成指令...

2020-05-08 18:54:20 961

原创 Proteus+MDK+STM32cubeMX联合开发流程介绍

文章目录1, proteus 流程2, cubemx 设置参数3, MDK编写代码4, 运行仿真最近在忙一个小项目,过程不可谓曲折,终于明白了基础的重要性,没有基石,想要建高楼总是摇摇晃晃,还有看到罗志祥的新闻,小黑如果能学会他的半丁点时间管理的方法,可能就不用像现在这样狼狈了,哈哈哈哈这是插科打诨,不过时间管理真的很重要,因为每天都有一大堆不同的知识要学,如果不分配好,最后一样都学不好,小黑现...

2020-04-27 21:08:53 1599 2

原创 Linux获取时间函数介绍

Thinking needs constant practice with enthusiam;enthusiasm generates interest and sustains thingking.--------思考需要在热情中不断进行。热情会激发兴趣,使思考继续。文章目录1, 函数介绍localtime()gmtime()结构体2, 代码演示时间的观念很重要,那我们如何在程序中获取格式...

2020-04-03 16:22:19 221

原创 Linux网络编程之域名解析(DNS)

Be open to learning new lessons even if they contradict the lessons you learned yesterday.--------敞开心胸学习新的东西,即使他与你昨天学到的互相矛盾。文章目录1, 预备知识2, 不含命令函解析的代码3, 含命令行解析的代码1, 预备知识我们平常往往都是通过网站的域名上网,那我们如何使用程序获取相...

2020-04-03 14:43:02 442

原创 手把手教学制作静态库和动态库

In life, as in whist, hope nothing from the way card may be dealt to you. Play the card, whatever they be, to the best of your skill.-------人生如牌戏,别希望可以拿到什么样的牌。 不管拿到什么牌,用尽你的技巧来打好牌文章目录1,回顾知识及准备工作2,静态库2...

2020-04-01 09:51:39 390

原创 makefile编程(超容易入门的讲解)

To achieve great things, two things are needed: a plan and not quite enough time.--------完成杰出的事需要两件事情: 一个计划以及不是很充足时间。文章目录1, makefile简单介绍2, makefile结构3, make使用4, 例子4.1 第一个makefile4.2 第二个makefile4.3 第三...

2020-04-01 09:46:47 812

原创 vim+gcc+gdb使用合集

You have to believe in yourswlf when no one else does-that makes you a winner right there--------你必须在没有人相信你时相信自己,这能使你成为赢家。文章目录一, vim常用命令:二, gcc基本用法编译过程博客5555555555555555制作动态库博客11111111111111111三, gd...

2020-03-31 15:13:10 1031

原创 深挖程序编译过程

A ship in port is safe. but that is not what ships are builts for.--------船舶在港湾里当然是安全的,但是船不是为了停泊在港湾里而建造的。文章目录1, 全过程图示2, 预处理3, 编译4, 汇编5, 链接5.1 静态链接:缺点:优点:5.2 动态链接:优点:缺点:1, 全过程图示2, 预处理预编译主要处理源代码文件中...

2020-03-31 15:08:09 269

原创 静态库和动态库

The purpose of our lives is to give birth to the best which is within us.--------我们生活的目的是要孕育我们内在最好的东西.文章目录1, 什么是库?2, 静态链接库3, 动态链接库(共享库)3.1 名称3.2 优点:3.3 缺点:4, 静态库和动态库区别用过python,你肯定import过很多库,然后直接调用库...

2020-03-31 15:06:22 418

原创 进程间通信之命名管道(完成一个类似QQ的聊天应用)

The world is more malleable than you think, and it is waiting for you ti hammer it into shape.--------这个世界的可塑性比你想的还要大,而它正等着你去敲打成型文章目录1,管道以及无名管道回顾2,为什么叫做命名管道?3,FIFO文件和普通文件区别4,有名管道相关操作API函数mkfifo()创建管道...

2020-03-28 12:54:18 501 1

原创 进程间通信之管道(用水管思维理解)

Nothing is ever a setback. If anghing, it just motivate you for what is next.--------没有挫折这回事,他若具有任何意义,那只是激励你再下一个挑战中表现更好.文章目录1, 前景回顾2,管道真的就是管道2.1 管道通俗理解2.2 为什么管道是半双工通信?2.3 管道特点3, 无名管道(有时会直接叫做管道,不要混淆)3...

2020-03-28 09:50:16 453

原创 3分钟故事学会用信号机制完成进程间同步

A successful man is one who can lay a firm foundation with the bricks others have thrown at him.--------成功的人会利用别人丢他的砖头来建构一个坚固的基础。文章目录1, Linux下信号概念以及如何安装信号2, 多进程回顾3, 如何利用信号实现进程间通信1, Linux下信号概念以及如何安装信...

2020-03-27 15:47:59 214

原创 多进程编程就是孙悟空拔猴毛--变猢狲

Our bravest and best lessons are not learned through success, but through misadventure.--------我们最好的教训不是透过成功而学到,而是透过不幸的遭遇。文章目录1, 进程回顾2, 进程内存空间回顾3, 系统调用fork()4, 系统调用vfork()5, fork和vfork的区别6, 写时复制6.1 ...

2020-03-27 15:04:10 293 1

原创 Linux系统限制

It is better to be boldly decisive and risk being wrong than to agnonize at length and be right too late.--------宁可大胆果断,冒险犯错,而不要犹豫不定,正确的太晚文章目录1, 如何修改文件最大句柄数方法一方法二2, 修改系统限制API函数Linux下每种资源都有相关的软硬限制,譬如...

2020-03-26 15:08:43 562

空空如也

空空如也

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

TA关注的人

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