把灵龟八法程序改为了嵌入式芯片

作者基于兴趣开发了灵龟八法桌面程序,为方便针灸师使用,计划将其转化为嵌入式设备。选择了nanoframework和ESP32芯片进行开发,遇到了屏幕接口兼容性、代码移植和系统时间获取等问题。通过调整设计,如预计算穴位结果并存储,解决了芯片容量限制,同时使用RTC时间存储器解决时间问题。下一步将设计外壳和组装成品。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前基于兴趣,再业余时间完成灵龟八法桌面的程序开发后,感觉实际应用起来仍然不算简便。真正的针灸师再治疗时不会去看手机查穴位,比较靠谱的方式是做成一个嵌入式产品,就想一个台历时钟一样,下针时扫一眼即可。

按照这个想法说干就干,调研了下技术框架,朋友推荐了nanoframework,这个是用 .NET封装的嵌入式框架,正适合我的技术路线。芯片选用目前便宜、功能强大和流行的ESP32,正好nanoframework也是支持这款芯片的。

买来芯片后开始动手却发现嵌入式开发和桌面开发有很大的不同。首先面临第一个问题是开发板芯片和OLED屏幕接线,买的第一个OLED是SPI协议线比较多没搞定。后来换成了一个IIC协议的OLED(一共4根线)才成功点亮屏幕。

再一个问题就是移植程序,发现之前用.NET CORE架构写的程序很多class和方法,嵌入式是不支持的,特别是计算天干地支的中国历不支持,开始尝试把底层用到的方法做移植,如找了用到的中国历中用到的方法的源代码,但是发现很多方法是一个套一个,所以这个方法放弃了。然后想到一个方法是通过网络方式获取最终计算结果,嵌入式只做显示,但是这又涉及到需要芯片进行网络连接,我更希望他是本地单机的不依赖网络,这样操作更简单更稳定,所以这个方法没有做尝试。最后想到的一个方法是把一天12个时辰的穴位通过之前的桌面程序计算好结果,并把结果输出到txt文件里存储,最后拷贝到芯片存储里。但这个方式遇到的难题是芯片容量只有4m,所以把输出结果的穴位汉字用中间的计算结果数字代替,然后把一部分计算逻辑写在芯片程序里,最后终于可以正确输出穴位结果了。

最后遇到的一个问题是最常见的系统时间,嵌入式中默认是无法获取到的,单独买了个一个RTC时间存储器,并增加相关代码才得到时间。但可能存在问题是一旦电池没电了芯片里存储的时间就会失效,导致无法使用。

后面还要做的工作是通过3Dmax设计一个外壳,再把线路焊接再芯片上,最后进行一个组装,然后基本原型就出来了。

b9ed5561-65f0-4ce6-9330-432043c99dcd
### 关于 Turtle Graphics 的诗意表达 虽然 `Turtle Graphics` 是一种编程工具,主要用于教育目的帮助学习者理解计算机图形学基础,但它也可以通过艺术创作的方式与文学相结合。尽管没有直接提到关于 `Turtle Graphics` 或海龟绘图的具体古诗[^1],可以尝试从其功能出发,将其与自然界的描绘联系起来。 以下是几首可能与海龟绘图主题相关的现代诗歌灵感: #### 《数字世界的旅人》 ```plaintext 在像素的海洋里游弋, 一只虚拟的小乌龟划破寂静。 它听命于每一行代码, 留下色彩斑斓的轨迹。 红色的火焰,蓝色的溪流, 每一步都书写着创造者的意志。 从简单的线条到复杂的图案, 它是程序员手中的画笔。 ``` 这段文字试图捕捉程序控制下的海龟移动过程以及由此产生的视觉效果[^2]。 对于更传统的中国古典诗词风格,我们可以想象如果古代诗人看到今天的电脑屏幕上这些动态图像会如何描述它们: #### 假想中的唐风吟咏 - 《屏上灵龟舞墨图》 ```plaintext 银屏展素卷,灵龟能写真。 彩线随心转,丹青任意陈。 红莲生水国,翠柳拂河滨。 妙手无丝竹,何须问六尘。 ``` 这里把现代化的`turtle graphics`融入到了传统山水田园意境之中。“灵龟”指代的就是执行命令不断作画的小海龟;“彩线随心转”,形容各种颜色按照设定路径变化多端;最后一句则强调即便是在这样一个由逻辑和算构成的世界里也能营造出超越物质享受的精神境界[^3]。 至于具体的历史文献或者已发表作品中是否存在完全匹配上述需求的内容,则尚未发现确切记录[^4]。 ```python import turtle # 设置背景颜色为黑色以便突出显示彩色图案 screen = turtle.Screen() screen.bgcolor('black') # 创建一个新的海龟对象并设置初始状态 artist_turtle = turtle.Turtle() artist_turtle.speed(0) colors = ['red', 'blue', 'green', 'yellow'] for i in range(180): artist_turtle.pencolor(colors[i % 4]) artist_turtle.forward(i) artist_turtle.right(97) turtle.done() ``` 此段 Python 程序利用了循环结构让小海龟绘制出了一个渐变色螺旋形图案,正好呼应前面所构思的那种既具有科技感又不失浪漫情怀的画面场景[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值