自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(85)
  • 资源 (1)
  • 收藏
  • 关注

原创 神奇又有趣的utf8字符,附遍历的源代码。

遍历了utf8字符集,发现有很多有趣的字符。

2025-02-19 15:56:21 13821

原创 microPython搭建webServer--(三)使用microdot库实现用户提交设定后断电保存

很多用esp32diy的产品中,用户需要在首次使用时设定好wifi参数,基本思路就是开机之后,esp32自身作为热点,用户连接此热点后,访问网页设定参数,esp32将参数存入自身,保证断电保存。之后的使用中,如果要改变网络环境,使用某种触发方式,比如开机时长按某个按钮,进入esp32热点状态。先判读用户的请求是get还是post,如果是post,就分析用户提交的颜色,这里是从request.body中提取的,request.body是二进制字符串,所以先解码,然后根据关键词“=”来分割,得到颜色。

2025-01-16 16:31:58 307

原创 microPython搭建webServer--(二)使用microdot库实现对用户提交数据的响应

可以看到,浏览器提交的request,body内容为b’username=&password=456&fruits=apple’,你可以根据自己的需要分割字符串来提取各个变量,也可以直接调用request.form,这是microdot根据body解码出来的。如果想给esp32一个简易的指令,比如开灯,那只要定义对应命令的装饰器,比如"/on",收到on请求后,执行对应的开灯动作,操作某个gpio,并返回浏览器处理结果。用js的fetch提交之后,服务器显示收到的form为空,json有内容。

2025-01-15 16:20:41 1068

原创 microPython搭建webServer--(一)使用microdot库实现基本页面显示

这段代码有两个装饰器,一个是当路由到根目录时,使用send_file送出index.html文件,另一个是访问具体的path时,使用send_file送出任意文件。当然,从服务器的安全性考虑,一个webServer允许访问所有文件显然是不对的,可以增加一个安全策略,比如只send指定目录、指定扩展名的文档。先遍历esp32中的所有文件,然后动态添加到html变量中,生成带超链接的网页,发送给浏览器,这样就可以下载esp32中的所有文件。通过前面的代码,可以遍历出文档名字,然后点击超链接下载回来。

2025-01-13 16:07:59 559

原创 stc8最小系统使用usb下载程序,关于断电的避坑

我一开始的操作是,按住p3.2的按钮,然后插上usb线,给开发板上电,这样怎么都无法识别usb cdc。之后经过别人指点才知道,usb线不能拔掉,按住p3.2的按钮,只断开usb的vcc供电,再上电,就能正确识别设备了。那么,坑在哪里呢,就是这里所说的重新上电,是只断开开发板的vcc,其中的usb线是不能从电脑上拔下来的。3、点击下载软件中的“下载/编程”按钮(注意:USB 下载与串口下载的操作顺序不同)下载成功!===传统的机械自锁紧开关是按上来停电,按下去是上电。了,这时可以松开 P3.2 按键。

2024-10-08 10:53:40 694 1

原创 GPX文件的元素内容详解

新版本的GPX文件支持更多的扩展元素和属性,比如身体健康方面的心率、骑行运动方面的踏频等,这样容纳更丰富的数据和更复杂的GPS数据结构。GPX文件(GPS eXchange Format)是一种用于存储GPS数据的开放标准格式,它可以包含航路点、轨迹和路线等信息。航点是单独的、不相关的点,通常用于标记重要的地理位置,如地标、检查点或特定的兴趣点。轨迹段track segment,可以将轨迹拆成几段,比如上午走一段,中午休息的时候停止记录,此时可以关闭一个航段,下午出行重新开启一个航段,总体是一天的轨迹。

2024-07-11 11:11:38 1540

原创 几个收集来的过压保护电路、防止反接电路

过压保护、防止反接电路

2024-05-29 11:15:26 236

原创 tl431作为电压比较器的使用心得

V1的跳变是没法利用的,因为对于被驱动的mos来说,这都是高电平,V2处的跳变就比较好,分别为高电平和低电平。1、r1的阻值是根据tl431的最小工作电流1ma来计算,假设tl431在钳位的时候,降低的电压为10v,此时使用10k的电阻,电流为1ma,为了稳妥起见,我使用了5k左右,实际使用的时候,选择5.1k。调节变阻器,使其提供的电压大于2.5v,此时tl431相当于稳压二极管,经过测试,V1处的电压被钳位在1.8v,V2处的电压由r2和r3对1.8v分压,V2=0.3v。

2024-05-23 16:05:20 2439

原创 用ps显示出淘宝裸眼3d立体画中的内容

淘宝前段时间在弄猜数字的游戏,其中有一题是3d立体画,如果我们把图片用ps处理一下,结果马上就出来了。打开原图,再复制进一个新图层,新图层混合模式选“差值”,左右移动新图层,就看到答案啦。

2024-05-11 08:38:34 278

原创 mos管的常见封装

mos的常见封装

2024-05-08 14:59:04 665

原创 esp8266各引脚使用时,对上拉下拉的限制,用错了会无法启动

8266gpio的使用模式

2024-04-29 15:45:05 729

原创 乐鑫芯片支持的无线协议

几种图标内容。

2024-03-14 15:10:03 265

原创 js脚本-在新窗口中单独显示稻壳(道客)网的单页内容

在新窗口中单独显示稻壳(道客)网的单页内容,便于完整的打印某一页。

2024-03-04 09:25:43 143

原创 js脚本-屏蔽百度搜索结果页中的网站

百度搜出来的东西穿插着很多无效、重复的结果,或者明知某些网站点进去也是要充会员的,用下面的脚本可以隐藏这些结果。需要使用油猴扩展调用。

2024-03-04 09:19:51 338

原创 js脚本-从蛋糕英语中提取对话字幕

将蛋糕英语中的字幕提取出来,打印后便于复习背诵。需要使用油猴之类的扩展调用。

2024-03-04 09:09:22 258

原创 使用vs code开发microPython,消除库文件报错

使用vs code 写microPython代码的时候,总是遇到库文件报错,也就是类似machine之类的库下面会有波浪线,看起来很是别扭。命令行是linux的方式,win10要在我的电脑-高级设置-环境变量中添加对应的变量名和路径。前几天在翻看树莓派pico的文档,发现里面提供了很好的方法。git仓库选择官方的,考虑到速度,我选用的是gitee上面的。鼠标悬停在类名,有对应的提示。安装sdk(win10)

2023-12-18 09:31:23 746

原创 microPython使用异步实现两个led不同频率闪烁

2、如果异步中需要等待,要使用await asyncio.sleep_ms(时间),这样才不会堵塞,如果没有await,即使用了asyncio.sleep_ms(时间),也是会堵塞,不知道这样堵住,与用time.sleep有何区别。软件:MicroPython v1.18 on 2022-01-17;硬件:使用的开发板为合宙esp32c3,板载两个led,对应的io为12/13。3、用 await asyncio.gather把各个异步的函数汇总。

2023-09-06 15:12:15 709 2

原创 C语言加载lib静态库-加载ch347的官方库

其中,#pragma comment就是用来加载lib的,#pragma 称为预处理指令,还有很多其他的用法。

2023-06-24 12:36:52 626

原创 从c进入c++学习笔记

c++的学习笔记

2023-06-21 09:16:11 520

原创 单个按钮实现长按开关机,短按可以当普通按钮控制单片机

单按钮复用实现长按开机和关机

2023-05-24 10:02:30 2217 4

原创 twen32f003引脚定义-sop8

sop8的引脚定义

2023-04-28 13:43:45 1092

原创 防止ip5306在低功耗时自动关机

ip5306时常见的锂电池充放电芯片,它在检测到一段时间输出低功耗后,就会自动关机。防止意外关机。

2023-04-22 22:46:35 3833

原创 用二进制数值设定整组GPIO的值

单片机中,使用二进制翻转GPIO

2023-01-25 15:50:10 232

原创 adc组合按键电阻阻值参考

在adc电路中,设置多种阻值的组合,提取出按键。

2023-01-09 15:32:05 672

原创 python向microPython的repl发送串口命令驱动ws2812(附避坑指南)

python向microPython的rpel发送串口命令驱动ws2812

2022-09-13 15:53:18 1851

原创 microPython中的esp32,从neopixel到bitstream,再到bytearray。

探索neopixel的数据发送

2022-09-05 10:36:52 840

原创 microPython 中neopixel的实现方法

可以看到neopixel是如何实现的

2022-09-04 09:52:38 1247

转载 外置USB供电与内置锂电池供电自动切换电路

外置USB供电与内置锂电池供电自动切换电路,便携电子设备常用

2022-08-03 11:27:50 850

原创 合宙esp32c3+合宙air101LCD屏幕跑通microPython

先感谢这篇文章esp32c3+air101Lcd用micropython点亮这个屏幕虽然可以配合esp32c3使用,但是很显然这个lcd不是原生搭配的,因为看针脚的定义,esp32c3的IO10是硬件spi的MISO引脚,在屏幕中,这个引脚定义为RES,看起来还是略显尴尬。根据官方介绍屏幕驱动使用的是st7735s,在使用的时候,先引用st7735.py,然后定义软SPI,不理res针脚这件事情,还是把IO10定义为MISO。测试代码如下:from machine import Pin, Soft

2022-05-31 16:41:03 3616

原创 microPython学习笔记5 Timer定时器的使用

使用esp32的板载led和板载按钮演示。1、创建定时器2、定义回调函数3、响应按键,停止定时器import machinefrom machine import Timertim1=Timer(1)pin2=machine.Pin(2,machine.Pin.OUT)pin0=machine.Pin(0,machine.Pin.IN)def blink(t): pin2.value(not pin2.value())tim1.init(period=2000, mode=Tim

2022-05-28 10:54:34 3796

原创 模拟电路的一些进阶知识

1、lm358与光敏、热敏电阻配合组成控制电路时,为了防止在临界点频繁震荡,可以再lm358上面增加积分电路,也就是在反相端和输出端增加电容。2、MOC3041是带有过零检测功能的光耦,在使用BT138-600E控制交流电的时候,可以防止晶闸管在零点关闭。3、...

2022-05-04 09:07:46 559 2

原创 esp32、esp32c3刷microPython固件的主要步骤

1、先去mpy官网下载最新的固件2、安装esptoolpip install esptool3、执行esptool.py.exe ,这里格外注意,不是esptool.pyesptool.py --chip esp32 --port COM3 write_flash -z 0x1000 F:\esp32.bin

2022-04-24 11:30:15 4163

原创 microPython学习笔记5 json的解析

import ujsondict = {} #创建一个空字典dict["deviceType"] = "Temperature" #对字典赋值dict["values"] = [23,22,25]print(dict) #校验一下创建的情况,用来跟json对比格式。print("++++++++++++++++++++++++++++")encoded = ujson.dumps(dict) #把字典编码成jsonprint(encoded)print("****************.

2022-04-16 21:05:15 1635

原创 microPython学习笔记4 NeoPixel灯带驱动

NeoPixel驱动程序使用neopixel模块:from machine import Pinfrom neopixel import NeoPixelpin = Pin(0, Pin.OUT) # set GPIO0 to output to drive NeoPixelsnp = NeoPixel(pin, 8) # create NeoPixel driver on GPIO0 for 8 pixelsnp[0] = (255, 255, 255) # set the firs

2022-01-08 14:25:08 1626 1

原创 arduino 对多个led实现不同频率的呼吸灯

常见的呼吸灯代码例程,在调节亮度的时候,都是用的delay,那么对于多个led,要实现不同频率的呼吸,就要用多个delay,相互之间会干扰频率的计算,所以,我试验了一下c++的面向对象方式,创建一个led类,再创建几个led对象,对象之间不会相互干扰。源代码如下,led接在3、5端口。class LedClass{ public: int pin; void on(void); void off(void); void flash(void); unsig

2021-11-28 10:02:10 4169 12

原创 python学习笔记3-利用空对象传递属性值

def b(): def c(): return None setattr(c, 'r', 3135789 >> 16 & 0xff) setattr(c, 'g', 3135789 >> 8 & 0xff) setattr(c, 'b', 3135789 & 0xff) return ca=b().rprint(a)定义个空的c,c本身没有用处,但是可以附加三个参数属性...

2021-11-24 10:19:54 553

原创 python学习笔记2-获取参数的名字

m="monday"s="sunday"def foo(**kws): loc = locals()#把locals()方法 print(loc) print(kws) # 这样试试 for i in kws: print(i,"=",kws[i])foo(s=s)print("********************")# 现在的打印效果some code <class 'str'> monday# 希望的打印效果 t <.

2021-11-11 16:15:26 583

原创 microPython学习笔记3--sdcard的操作

先贴代码import machine, sdcard, osfrom machine import SPIfrom machine import PinSD_CS = machine.Pin(5)sd = sdcard.SDCard(machine.SPI(2,sck=Pin(18), mosi=Pin(23),miso=Pin(19)), SD_CS)vfs = os.VfsFat(sd) # 初始化fat文件系统os.mount(sd, "/sd") # 挂载SD卡到/sd目录下

2021-11-04 10:37:53 1753

原创 python语法笔记

1、 (7 // 2)=3,两个除号可以得到除法的整数部分2、3**5=243,两个乘号表示幂3、判断变量类型>>> a = '44.2'>>> b = 44.2>>> type(a)<class 'str'>>>> type(b)<class 'float'>4、print() 相当于是在所键入的字符串的末尾按下回车键。加上,end=’’ 的话,就等于告诉 print() 不需要在字符串末

2021-11-02 10:44:58 686

原创 microPython学习笔记2-i2c总线、spi总线的控制

一、i2c总线的使用1、基本功能2、驱动ssd1306屏幕(12864)import machinei2c = machine.I2C(scl = machine.Pin(21), sda = machine.Pin(22), freq = 100000)print(i2c.scan())

2021-11-01 11:27:40 478

GT-10_PA.pdf

boss gt-10 综合效果器 预设音色表,可以看看原厂是怎么归类各个风格的,在网上找了很久,希望能给大家帮助。

2020-03-12

空空如也

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

TA关注的人

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