ESP8266 在 OLED 屏上绘制图形
写在前面
在购买 ESP8266 开发板时,选择了带 0.96 OLED 屏的套餐,于是研究了一下怎么在屏幕上显示图像,自己用画图写了一个 Hello! ,将它显示到了 OLED 屏幕上。将信息显示到屏幕上是一种比较方便的交互方式,可以直观的查看设备运行状况。

概述
这篇文章主要讲述了用 Arduino 编写代码,将自己绘制的图片显示到 ESP8266 连接的 OLED 屏幕上。要点包括:
- ESP8266 开发板的引脚分布:讲解如何连接 4 针的 OLED 屏,接线方式
- Arduino 库管理的使用:下载 Arduino 的 ACROBOTIC SSD 1306 库
- 使用第三方库中的示例:修改其中的 DrawLogo 示例,替换成自己的图片
- 将位图(png)转换成字节数组。
ESP8266初体验 hello world
写在前面
近期在 B站 上看到了一些使用 esp8266 开发板制作小东西的视频,有 wifi 杀手、实时显示B站粉丝数、显示天气信息等等,而一块 esp8266 开发板才十几块钱,也就一顿饭钱,于是心痒痒上淘宝买了一块来玩玩,花了两小时下软件和资源类库,花了半小时调通一个 hello world 代码,把其中过程记录一下。
概要
本文主要内容包括购买 ESP8266 开发板,安装与配置开发使用的 Arduino IDE,使用 Arduino 编写一个 hello world 代码,然后烧录到 ESP8266 中,使用 Arduino 查看串口输出结果。

什么是 ESP8266
ESP8266 是 乐鑫信息科技公司 开发的一款 wifi 模块,具有低功耗、高集成度的 wifi 芯片,内封了 8 Mbit 的 Flash,集成了低功耗的 32 位 MCU,带有 16 位精简模式,主频支持 80 MHz 和 160 Mhz,支持 RTOS,支持标准 IEEE802.11 b/g/n 协议,完整的 TCP/IP 协议栈。用户可以使用该模块为现有的设备添加联网功能,也可以构建独立的网络控制器。
简单来说就是一个 wifi 模块,可以通过 wifi 联网或提供 wifi 服务,带了一个微处理器,我们可以写入自己的程序,比如联网调取 bilibili 接口获取用户粉丝数量,并通过 LCD 屏显示出来。
Postman 测试接口 API
概述
这篇文章主要在讲述使用 Postman 工具测试 api 接口的操作,从最基础的发送一个 get 请求到自动接口测试,还包含一些 postman 的使用技巧。
Postman 是什么?
Postman 是一个强大且好用的接口测试工具。早期是 Chrome 浏览器的一个插件,后续插件版不再维护,开发成了一个桌面测试工具。
现在, Postman 被设计成 API 开发工具,不仅包含了接口测试功能,还添加了一些接口设计、自动化测试、模拟接口服务、监控、文档生成以及接口发布功能,最新版本的 Postman 还支持团队协作开发使用。
Postman 提供企业版,提供了更加强大的测试功能。

vim 学习笔记
概述
这篇文章介绍了文本编辑器 vim 的用法, 以及一些实用插件。
vim 是个啥?

Vim 是一个开源的、高度可配置的文本编辑器, 能够高效的创建、修改多种类型文本。在多数 UNIX 系统和 Apple OS X 中集成了 vi。vi 是 vim 的子集, vim 具有 vi 的所有功能, 且拥有更多的实用特性。
官网: https://www.vim.org/
Github: https://github.com/vim/vim
Spring Boot 使用模板引擎 Thymeleaf
markdown 语法学习
概述
这篇文章主要讲解了 markdown 的语法规则、编辑器以及一些使用技巧。
在线测试一下
可以到下面这些在线网站可以在线编辑并实时预览 markdown 语法:
- Markdown 在线编辑器 - Markdown Live Preview - 打开网页后左侧编辑 markdown,右侧实时预览结果
- Dillinger - 在线 markdown 编辑器,支持导出 HTML/PDF
- jbt markdown editor - 简单的分栏在线编辑器
使用云服务器搭建 frp 服务实现内网穿透
概述
本文介绍了在云服务器(Windows Server 2012)上搭建 frp 服务,以及域名 DNS 解析配置,实现内网穿透功能,使用自定义域名访问部署于内网的 web 服务。
背景
开发过微信公众号程序的同学都知道,微信公众号的服务器配置中,需要指定服务器地址,微信平台会往这个地址推送消息。这个地址必须是公网能够访问的,我们在本地开发测试时,就需要一个地址,能够在公网中访问本地运行的程序,内网穿透就是干这个的。以前我使用的是别人的 ngrok ,但有一些问题,比如不能指定 url 前缀,使用自定义的需要交费,再比如别人服务器关了,我就要满世界去找其它的工具了。
frp 是一款开源的用于内网穿透的反向代理工具,支持 tcp、udp 协议,为 http、https 协议提供了额外的能力。

SpringBoot 使用 Liquibase
概述
本文主要介绍了 什么是 Liquibase,以及在 SpringBoot 项目中集成使用 Liquibase 对数据库表进行管理,包括自动创建数据库表、自动初始化数据、更新表结构。
认识 Liquibase
官网:Liquibase | Database Refactoring | Liquibase: http://www.liquibase.org/
Liquibase 是用于数据库重构、管理、记录变化与回滚的开源工具。
在写代码的时候,我们使用 Git 或 subversion 对代码进行版本控制,在数据库中,我们可以使用 liquibase 对数据库表进行版本控制。
SpringBoot 使用 Elasticsearch
本文概述
本文简单介绍了 Elasticsearch 是什么,在 windows 环境下的安装 Elasticsearch,在 SpringBoot 项目中使用 Elasticsearch 对数据进行增删改查操作。

什么是 Elasticsearch?
Elasticsearch(简称 ES) 是一个开源的、高扩展性的分布式全文搜索和分析引擎,能够迅速、近乎实时的对大量数据进行存储、分析、检索,可以满足应用复杂的搜索特性和需求。
官网:https://www.elastic.co/products/elasticsearch
Elasticsearch 的核心是 Lucene ,使用 Java 进行封装,隐藏了 Lucene 的复杂性,提供 Java API 和 RESTful API,方便使用。
