使用 ESP32 作为蓝牙 adapter (适配器)

Ubuntu 系统使用 ESP32 作为蓝牙 adapter (适配器)

蓝牙可以通过 HCI 将 HOST 部分与 Controller 部分进行连接。

这篇文章说明了如何使用 ESP32-IDF 中包含的蓝牙示例应用程序 controller_hci_uart 通过主机控制器接口(Host Controller Interface)与 ESP32 蓝牙 controller 进行连接和通信。使用任何操作系统(Mac,Linux或Windows)的电脑都可以来编译此工程。

在此示例中使用的 Host 是 BlueZ 蓝牙协议栈。由于 BlueZ 是用于基于 Linux 内核的操作系统系列的蓝牙协议栈,因此本示例需要在一台运行 Linux OS 且安装了 BlueZ 的计算机与 ESP32 开发板进行通讯。

ESP8266开发学习笔记_ws2812三原色灯

ESP8266 开发学习笔记_By_GYC 【spi方式驱动 ws2812 三原色灯(稳定优化)】

本章介绍ESP8266 IDF 框架下 如何使用 骚操作 的使用SPI总线,发送更高精度的脉冲信号,ws2812作为控制芯片三色灯的使用方法,实现三原色显示灯带。在研究过程中,发现ESP8266的引脚响应速度有些慢,输出2.5us才能够翻转一次,而ws2812的控制电平分辨率要求在百纳秒级,所以需要其他方法来输出控制信号才能保证灯光稳定。本次选用SPI信号输出口,使灯光达到了稳定。

ESP8266开发学习笔记_BH1750光强传感器

ESP8266 开发学习笔记_By_GYC 【BH1750光强传感器】

BH1750是一个光强传感器,能够对环境光强度进行量化,转化为环境中的光强度lux。它是使用IIC总线进行通信,通过读取寄存器来获得传感器的真实数据。我们常说的智能调光,就要用到此类传感器,因为这个传感器的精度还是很不错的,可以使用这个传感器作为反馈,将环境光照度稳定在一个期望的数值。本章主要介绍在 ESP8266 上使用 IIC 总线驱动 BH1750 光强传感器的方法。通过PID稳定环境光强度的内容将在后面介绍。

ESP8266开发学习笔记_OLED屏幕的IIC驱动

ESP8266 开发学习笔记_By_GYC 【OLED屏幕的IIC驱动】

在我之前的文章中简单介绍过oled的IIC驱动程序,包括SSD1306芯片手册的一些内容,并参考了Arduino大神的代码,将OLED在Arduino上的的驱动改写为了能够应用于ESP8266 RTOS SDK的C语言版本,并作为我的常用库使用。在发现ESP8266可以使用C++编程之后我决定将 ThingPulse 的OLED驱动库(c++版本)完整的进行移植,让我能够在SDK中也能够方便的使用。

最近我也在研究应用在stm32单片机的FreeRtos操作系统,所以本次OLED的驱动也考虑了在其他FreeRtos操作系统中的适配,可以方便的通过宏定义配置的方式,直接应用在支持FreeRtos操作系统的单片机上。

(目前库中仅支持ESP8266 IDF版本和STM32F103 FreeRTOS及 STM32F103 无操作系统版本。 如果使用其他系列单片机 通信协议还是需要自己修改的)。

ESP8266开发学习笔记_使用C++进行嵌入式编程

ESP8266 开发学习笔记_By_GYC 【使用C++进行嵌入式编程】

由于C++具有封装、继承与多态的优秀特性,所以我将很多项目封装成了类方便调用,本部分会简单介绍一下如何在ESP8266中使用C++进行编程和一些注意事项。

ESP8266开发学习笔记_浮点数打印支持

ESP8266 开发学习笔记_By_GYC 【更新 ets_printf 函数 使ESP_IDF 能够支持浮点数打印】

在我们日常的开发过程中,经常使用到的一个功能就是串口打印功能。在ESP8266的IDF框架中,提供了类似控制台的printf操作,可以向串口打印一些信息,但是ESP8266的printf函数被封装经过了简化,不支持浮点数的格式控制符%f。IDF框架中拥有ets_printf函数可以替代封装的printf函数,这个函数在SDK中有源码,可以供我们学习和修改。这篇文章就是总结一下我自己对ESP-IDF工程中的ets_printf.c文件的修改,以实现在ESP8266系统中ets_printf对浮点数的格式控制符的支持。

ESP8266开发学习笔记_Ubuntu系统安装

ESP8266 开发学习笔记_By_GYC 【虚拟机Ubuntu系统的安装】

本来是想最后有时间再写这篇博客的,奈何皂滑弄人,昨天晚上在写上一篇还未出世的博客文章的时候,手滑更新了一下ubuntu系统,再加之前几天更新了主机的显卡驱动,我的Ubuntu虚拟机挂了,驱动不兼容在无法加载登陆界面。虽然通过一些骚操作能够进入桌面系统,但已经不是最好的Linux体验了,所以打算重新安装最新版本的Ubuntu系统,重新搭建一下开发环境。正好填一下自己留的坑,记录一下这次虚拟机Ubuntu系统搭建的过程。


:D 一言句子获取中...