ESP8266刷入micropython之后,使用数据线连接电脑会出现一个u盘的空间。
只需要将写好的.py文件拷贝到这个u盘,然后点击控制板上的rest键即可启动python程序。
由于micropython系统的不稳定性,
需要仔细检查编写的python程序不要出现错误。
驱动损坏。在使用esp32cam时,其中的“micropython”无法启动的原因是驱动损坏。esp32cam是安信可发布小尺寸的摄像头模组,该模块可以作为最小系统独立工作。
可以。
1、在micropython里配置OpenCV,添加系统环境变量。
2、右键点击计算机,选择高级系统设置选项,选中环境变量即可引用OpenCV了。
# -*- code: utf-8 -*-。
# 在 micropython 中运行, 注意在运行目录下有 hzk12/16。
# '啊' 是汉字区第1个汉字,对应数据为 ?不对?
# 0x00, 0x00, 0x0E, 0xFC, 0xEA, 0x08, 0xAA, 0x08,。
# 0xAA, 0xE8, 0xAA, 0xA8, 0xAC, 0xA8, 0xAA, 0xA8,。
# 0xAA, 0xA8, 0xAA, 0xA8, 0xEA, 0xE8, 0xAA, 0xA8,。
# 0x0C, 0x08, 0x08, 0x08, 0x08, 0x28, 0x08, 0x10。
# hzk16 试验: '一','我'正确, '啊' 不对?。
# hzk12 字库的位长度是16*12。
# seek位置 '一': 111168, '五': 103152, '我':102196。
'''
int(x [,base ]) 将x转换为一个整数 。
long(x [,base ]) 将x转换为一个长整数 。
float(x ) 将x转换到一个浮点数 。
complex(real [,imag ]) 创建一个复数 。
str(x ) 将对象 x 转换为字符串 。
repr(x ) 将对象 x 转换为表达式字符串 。
eval(str ) 用来计算在字符串中的有效Python表达式,并返回一个对象 。
tuple(s ) 将序列 s 转换为一个元组 。
list(s ) 将序列 s 转换为一个列表 。
chr(x ) 将一个整数转换为一个字符 。
unichr(x ) 将一个整数转换为Unicode字符 。
ord(x ) 将一个字符转换为它的整数值 。
hex(x ) 将一个整数转换为一个十六进制字符串 。
oct(x ) 将一个整数转换为一个八进制字符串。
bytearray(x) 列表转为数组。
'''
from machine import Pin, I2C。
import framebuf。
import ssd1306
i2c = I2C(sda=Pin(5), scl=Pin(4))。
o = ssd1306.SSD1306_I2C(128,64,i2c)。
def drawhz( hzs, xp, yp ):。
for x in range( len(hzs)//2 ):。
c = ((hzs[x*2] - 0xA1)* 94 + (hzs[x*2+1] - 0xA1)) * 24 #gb2312 转成 区位号。
f = open( 'uc_hzk12', 'rb' )。
f.seek( c )
hz = bytearray( f.read(24) )。
f.close()
# 创建 hzk12:16x12 or hzk16:16x16 大小帧缓存区储存图片帧,水平扫描。
fb1 = framebuf.FrameBuffer(hz, 16, 12, framebuf.MONO_HLSB)。
o.blit( fb1, xp + x*12, yp ) # 将fb1帧缓存送至oled显示,起始位(38,16)。
xp += 1
#在 repl 中, 粘贴的中文件变码了, 装载文件形式才正常。
def drawhz2(hzs, xp, yp):。
for x in range(len(hzs)):。
f = open('uni2gb', 'rb')。
f.seek( (ord(hzs[x])-0x4e00)*2 )。
gb23 = bytearray(f.read(2))。
f.close()
c = ((gb23[0] - 0xA1) * 94 + (gb23[1] - 0xA1)) * \。
24 # gb2312 转成 区位号。
f = open('uc_hzk12', 'rb')。
f.seek(c)
hz = bytearray(f.read(24))。
f.close()
# 创建 hzk12:16x12 or hzk16:16x16 大小帧缓存区储存图片帧,水平扫描。
fb1 = framebuf.FrameBuffer(hz, 16, 12, framebuf.MONO_HLSB)。
o.blit(fb1, xp + x*12, yp) # 将fb1帧缓存送至oled显示,起始位(38,16)。
xp += 1
o.fill(0)
# uPY没法实现unicode 转 gb2312, 要借助cpython 转化成 gb2312。
#现在可用 文件查表法 uni2gb (unicode-0x4e00)转gb2312码。
hzs = ( 206,210, 185,253, 193,249, 210,187, 189,218 ) #每两字节表示一个汉字。
drawhz2( '\u98de\u96ea\u8fde\u5929', 0, 0 )。
drawhz2( '\u98de\u96ea\u8fde\u5929\u5c04\u767d\u9e7f', 0, 13 ) #飞雪连天。
drawhz( hzs, 0, 26 )。
drawhz( hzs, 16, 39)。
drawhz( hzs, 16, 52 )。
o.show()
你会不会在pc上实现相应功能
如果没有,先pc实现
pc实现了,再尝试在开发板安装测试相应模块。
开发板测试失败再提问
==========
github.com/shawwwn/uMail。
uMail A lightweight, scalable SMTP client for sending email in MicroPython。