自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 NodeMCU学习系列(六) ---- 连接本地服务器(下)

文章目录1. 编译固件2.屏幕显示3.连接MQTT服务器4.组合测试5.总结在上一篇章中,实现了使用Golang开发的MQTT broker,并部署到本地网络中。本篇继续将NodeMCU接入本地MQTT服务器,并通过外接的OLED显示屏来显示其他设备发送来的消息。 在一年前接触NodeMCU后陆续写了几篇学习的博文,中间由于各种原因间隔比较久,本篇将会是这个系列的最后一篇。通过学习以后有需要用到wifi联网的简单功能可以直接通过NodeMCU来快速demo,简单的几行代码就可以实现功能。但是,正如一

2020-09-01 23:51:47 548

原创 基于Micropython的桌面信息小摆件

在这个简短的文章中,介绍了基于Micropython的桌面信息小摆件。这个小摆件可以显示实时时间、日期、天气、股票等信息,为您的办公或生活空间增添一抹趣味。

2023-09-17 01:06:26 245

原创 通过普通IO模拟SPI主机

文章目录1. 模拟SPI主机代码2.测试代码3.总结 之前介绍过I2C协议的模拟,本次介绍另一个常用的协议SPI,使用普通GPIO模拟SPI主机。由于正常使用中SPI频率都比较高,模拟SPI的频率比较低,并不常用。通常在SPI读一些传感器数据,而又没有硬件SPI可用时,可以通过普通GPIO模拟SPI。 模拟SPI时序要比I2C简单,根据时钟收发数据即可,不过SPI分很多种模式(CPOL,CPHA),LSB在前还是MSB在前等。1. 模拟SPI主机代码 这里使用的是Stm32L4的开发板,基于HAL库

2022-05-24 23:01:34 2957 4

原创 基于ESP32的TCP服务器

文章目录1. 模块选型2. 启动SoftAP模式3. 创建TCP服务端4.总结 最近实现了一个无线数据采集模块,可以通过无线方式传输采集到的数据到手机或者PC,免除了连线的烦恼。使用手机作为上位机可以接收数据及发送控制命令,不用带着沉重的PC,在现场调试或者不方便连线的情况下方便快捷。 模块使用stm32作为主控采集数据,ESP32作为无线模块,芯片间使用SPI交互数据,数据量小可以使用蓝牙BLE/SPP,数据量大使用Wifi,并且ESP32价格便宜使用方便。如果要采集的数据少可以直接使用ESP32作主

2022-05-04 13:55:12 6609 9

原创 DIY多电压输出模块

文章目录1. LDO芯片 平时经常需要使用到3.3v、1.8v等电源,或者给其他小模块供不同电平,以前都是用可调电源来供电,感觉特别不方便,所以DIY了一个LDO板子,可以连接到USB Type-c接口并提供5v、3.3v和1.8v的输出。1. LDO芯片 这里使用了两个LDO芯片AP7333和AM1117分别将USB的5v电压转换成3.3v和1.8v,选择这两个只是因为看他们最大电流比较大,以防出现供电不足的情况。 原理图也比较简单,就是直接参考芯片datasheet上推荐的设计,然后在嘉立创免费

2022-02-25 00:47:05 5297

原创 通过普通IO模拟I2C主机

文章目录1. 模拟I2C主机代码2.测试代码3.总结 I2C协议是嵌入式开发中常用的一种总线协议,使用方便占用IO少,多个从设备可以挂在同一个主机总线上。在一些特殊的情况下,需要多个I2C接口,硬件模块不够用;或者硬件设计原因无法使用硬件I2C,这时候就需要使用普通IO模拟I2C,通常模拟为主机。使用GPIO模拟I2C方便灵活,不受硬件资源限制,移植方便。1. 模拟I2C主机代码 这里使用的是Stm32L4的开发板,基于HAL库实现了GPIO模拟I2C主机,可以支持模拟多个I2C接口,不同接口可以有不

2022-02-23 00:12:37 9247 5

原创 解决Matplotlib内存泄漏问题

文章目录1. GUI框架2.内存泄漏现象3.内存泄漏解决办法4.总结 Matpotlib是在Python中使用的非常广泛的数据可视化库,使用也比较简单。在最近的项目中需要做一个简单的GUI并动态显示从串口读取的数据,想到用Python就可以实现,并且用Matplotlib库动态刷新。然而,这个功能却发现了Matplotlib中内存泄漏的问题,每次刷新图片GUI占用内存就快速增大,网络上搜索了一通好像也没有好的解决办法。本文实现了一种避免matplotlib动态刷新数据内存泄漏的方法,实测在GUI应用中不停

2022-01-17 01:12:22 1256

原创 NodeMCU学习系列(五) ---- 连接本地服务器(上)

文章目录1. 编程语言选择1.1 开发环境搭建2. 整体框架2.1 TCP服务模块2.1.1 分配cid2.1.2 客户端2.1.3 任务处理2.2 Log模块2.3 MQTT borker模块2.4 HTTP服务模块2.5 交叉编译3 连接设备及测试4.总结通过之前的介绍已经可以将NodeMCU通过WIFI接入阿里云或腾讯云IOT平台,本篇将分上下两部分介绍通过本地建立MQTT服务器,将No...

2020-04-30 22:45:11 1425

原创 Nordic蓝牙芯片下载工具

文章目录1. 基本结构2. 使用方法3. 总结接触过BLE开发的盆友基本都听过Nordic蓝牙芯片,Nordic通过提供完善的SDK给开发者,降低了开发BLE应用的难度。但是对于芯片的固件下载只能通过命令行工具或者安装一整套开发工具,如果只是临时需要下载用一下就显得很不方便,并且官方的工具对于HEX文件支持比较好,而BIN文件下载就比较麻烦。  由于Nordic芯片下载麻烦,本文基于Pyt...

2020-03-01 23:38:17 1050

原创 NodeMCU学习系列(四)----连接公有云

前面介绍了如何对NodeMCU进行配网并连接到WIFI,下面到问题就是有了这些之后有什么用?本文将介绍如何连接NodeMCU到公有云(如阿里云,腾讯云),上传数据到云端,订阅云端数据,如何进行设备间通信M2M(Machine to Machine)。 连接到公有云常用方式有MQTT、CoAP、HTTP,NodeMCU通过WIFI连接到网络,使用MQTT方式比较方便,各个平台上都有MQTT客户...

2019-12-01 22:49:31 2151

原创 NodeMCU学习系列(三)----配置网络

上一篇文章中介绍了NodeMCU连接网络的方法,可以看到联网非常简单。但是其中存在一个问题,WIFI的SSID和password必须写在代码中,如果换一个网络环境需要修改代码重新下载。如何让WIFI的信息可以动态修改,将在本文配置网络中介绍。NodeMCU包含enduser setup模块,用于对模块进行无线配网,但是作为学习系列,本文会创建一个http服务器来实现配网功能,原理上是类似的。...

2019-07-22 22:31:37 2935 5

原创 NodeMCU学习系列(二)----连接网络

文章目录1. WIFI模块2. NodeMCU联网3. 总结物联网应用首先要能联网,统一管理,否则各个节点各自为政就失去了物联网的优势。物联网设备联入网络的方式主要有:(1) 设备直接连接到路由器的WIFI(2) 设备连接到三大运营商的网络中,如NB-IOT(3) 设备通过蓝牙、zigbee、Sub-G等方式连接到网关,再由网关连接到网络NodeMCU的ESP8266芯片包含WIFI模块...

2019-06-16 23:14:53 2259

原创 NodeMCU学习系列(一)----环境搭建

文章目录1. 环境搭建2. 开发流程2.1 编译基础固件2.2 基础固件下载2.3 Lua脚本下载3. 总结NodeMCU是开源的硬件平台,适用于物联网应用的原型开发,功能验证。使用Lua作为开发语言,只需几行脚本就能实现联网等功能。基于乐鑫esp8266的NodeMCU开发板,具有GPIO、PWM、I2C、ADC等功能,还包含了4M外部flash,TB上只卖十几软妹币,性价比很高。使用L...

2019-06-12 23:22:09 3335 3

原创 嵌入式开发输出调试信息的几种方法

嵌入式开发输出调试信息的几种方法嵌入式开发输出调试信息的几种方法1、输出log信息到SRAM2、通过SWO输出log2.1 通过IDE输出2.2 通过STM32 ST-LINK Utility输出3、通过串口输出log4、使用IO模拟串口输出log总结 《论语》有云:“工欲善其事,必先利其器”。输出调试信息是软件开发中必不可少的调试利器,在出现b...

2018-06-23 00:02:52 4657 2

原创 Python实现SM4算法

Python实现SM4算法 SM4算法:SM4分组密码算法是我国自主设计的分组对称密码算法,用于实现数据的加密/解密运算,以保证数据和信息的机密性。要保证一个对称密码算法的安全性的基本条件是其具备足够的密钥长度,SM4算法与AES算法具有相同的密钥长度分组长度128比特,因此在安全性上高于3DES算法。  最近在写Python脚本时,需要用到SM4算法,通过百度查找SM4算法实现基本

2018-01-20 10:45:50 15235 10

原创 CRC算法实现

循环冗余校验(Cyclic Redundancy Check, CRC)是一种根据网络数据包或电脑文件等数据产生简短固定位数校验码的一种散列函数,主要用来检测或校验数据传输或者保存后可能出现的错误。它是利用除法及余数的原理来作错误侦测的。具体算法原理可以参考百度,简单说就是用来检测传输数据是否出错。  正好要用到CRC7,学习之余记录下来,以备查阅。

2016-08-13 13:05:35 7888 3

原创 FreeRTOS源码阅读(一)

之前阅读了RT_thread 的源码,rtt源码是unix风格,看起来比较熟悉. 最近有些空闲时间,打算阅读FreeRTOS的源码,看看两者的差别。FreeRTOS操作系统是完全免费的操作系统,具有源码公开、可移植、可裁减、调度策略灵活的特点,可以方便地移植到各种单片机上运行--《来自度娘》。如今物联网风头正劲,采用FreeRTOS的也比较多,可见稳定性、易用性都有保障。Updat

2016-08-12 00:10:02 3490

原创 STM32+RTT 应用(2)

基于usb的IAP + vcom输出log

2016-05-03 00:57:33 1715

原创 STM32+RTT 应用(1)

STM32F103C8 移植+手机消息提醒功能

2016-02-13 01:44:48 2569

原创 Rt_thread 源码注释

最近看到Rt_thread这个开源rtos,正好可以用在stm32上,就花了些时间看了源码。看的过程中做了注释,希望有用处。rtt源码是unix风格,看起来比较熟悉,先大概看了整体框架,有时间再仔细看更细节的内容。Update:(不定期更新..)2015-12-11 看了自带的led例程,基本是了解运行流程了,可以增加device driver,用户自定义任务。Do

2015-12-11 01:50:45 1258

原创 Android条码扫描及图片生成

Android条码扫描及图片生成 上周和老婆去超市,结账的时候老婆拿出手机拍的会员卡照片,但是怎么都扫不出来。于是就产生的做一个扫码应用的想法,并且可以把扫到的内容生成图片,方便使用。Android条码扫描及图片生成简介效果图QA1导入工程各种zxing的类找不到各种ClassNotFoundException2从相册选择图片及剪切功能实现3对imageview的bitmap手动回收

2015-06-16 00:53:46 2433 2

原创 Stm32+STemWin+LCD

Stm32+STemWin+LCD 手里有块STM32F4Discovery的板子,最近拿出来玩玩,移植了STemWin配上4.6寸触摸屏,效果还是不错的。Stm32STemWinLCD简介效果图QA1LCD驱动移植问题2STemWin移植3触摸屏驱动触点会跳问题4emWin在模拟器调试简介    STemWin、emWin& ucGui都差不多,可以当作一个东西,STemWin

2015-06-15 23:41:46 12901 11

空空如也

空空如也

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

TA关注的人

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