上海羊羽卓进出口贸易有限公司

esp8266传感器 计算器能联网?还能聊天?南都科创对话这位印度小哥

发布时间:2024-10-08 15:10:41

计算器能联网?还能聊天?南都科创对话这位印度小哥

一台带有OLED显示屏、能连WiFi和用来聊天的“升级版”卡西欧计算器在国外火了。南都科创记者近日对话了这位改装计算器的印度技术达人Srinivasan。

事情是这样的:

最近,一位名叫“Neutrino”的用户在视频网站Youtube中上传了一个他改装卡西欧计算器的视频,引发不少网友围观。

视频里,一台卡西欧fx-991MS计算器表面看上去非常普通,但被磁铁一碰,右上角太阳能电池板的位置就亮起来变成了一个显示屏。这台计算器还可以连接WiFi,加载提前上传到Google Firebase的资料文档,甚至和附近设备聊天通信。

他是如何做到的?

改装出这台神奇计算器的印度小哥Srinivasa向南都科创记者表示,自己是一名电子工程专业本科生,对一切电子设备感到好奇。他希望通过这个计算器改装项目,让更多人感受到技术作用、“创客精神”。

技术揭秘:普通计算器全新升级

可以连WiFi、收信息、发短信

“前段时间印度(由于新冠疫情)也采取了社交隔离措施,我在家里就想做一些‘真正有趣的事’,可以让我用一两个星期完全投入进去。”Srinivasan说,这个改装版计算器的诞生确实有点特别。

据Srinivasan介绍,他过去在拆解电子设备和做电子工程项目时积累过一些经验,不过并没有对计算器做过专门研究。

但他发现一件非常巧合的事,那就是为卡西欧计算器充电的太阳能电池板和微型OLED显示屏的尺寸基本相同,这可以让他在把显示屏放到计算器上的同时不改变计算器的任何外观。由此,他产生了改装计算器的想法。

从Youtube视频中可以看到,改装这台卡西欧fx-991MS计算器需要分别对硬件和软件进行操作。

首先,Srinivasan将计算器后面的螺丝拧下来,用一块128X32的OLED显示屏替代计算器太阳能电池板。

然后,他又把ESP8266开发板与OLED面板焊接起来并进行调试,随后加入了两个霍尔传感器。最后,通过对软件库的一系列操作,计算器就能开始通过网络收发信息。

Srinivasan告诉南都科创记者,ESP8266是由中国制造商生产的WiFi模块,因为价格亲民、性能优秀而在全世界极客圈中广受欢迎。

南都科创记者查阅资料后了解到,ESP8266开发板售价在20-30元左右,其使用的ESP8266芯片由上海乐鑫信息科技公司出品,被广泛用于智能家居和智能物联网应用的开发设计中。

Srinivasan采用霍尔传感器和磁铁配合实现“隔空”操控。霍尔传感器能够检测附近磁场变化。Srinivasan将磁铁嵌入圆珠笔帽中,隐藏在计算器内部的霍尔传感器通过感知圆珠笔靠近或远离计算器、短按长按等操作时磁场的不同变化,来对应滚动显示屏上的菜单、选择相关内容的各种交互操作。

最后,完成一系列硬件改造后,Srinivasan还要编写硬件驱动程序和实现计算器与网络服务器之间的数据传输功能。

Srinivasan说,他先将文本数据放到GoogleFirebase项目中,然后发送网络数据包给藏在计算器内的ESP8266开发板。计算器通过Arduino JSON库解析数据包,最终通过Adafruit-SSD1306驱动OLED屏幕显示储存在Firebase的文本信息。

通过前述流程,一个可以连WiFi获取信息甚至聊天发短信的“升级版”卡西欧计算器就诞生了。Srinivasan在采访中指出,开源的软件工具包、富有活力的开源社区和简单易用的云端数据库服务在这次改造计算器时帮了他很大的忙。

技术遭到质疑:

一度陷入开源代码版权争端

Srinivasan是一名来自印度班加罗尔的电子工程专业本科生,也是一个资深的电子设备DIY爱好者。

这两年,他在网上发布了不少DIY改造的视频和图片,其中有例如能在迷宫中迅速找到最短路线的机器人和会提醒人们洗手的自动洗手液机。

不过,这次改装的卡西欧计算器算是最火的一次了,Youtube视频一下子收获了几十万的播放量,还受到不少科技媒体报道。

但令人意外的是,现在再打开Srinivasan的视频时,会发现页面提示了这样一行字:“由于第三方提出了版权主张,此视频已无法播放。”

对此,Srinivasan解释道,这是因为他的DIY计算器项目引起了版权保护组织REACT的注意,对方认为他使用的代码侵犯了美国著作权法律DMCA(数字千年版权法案)。

知识产权制度是科技和产业发展的产物。作为一家非盈利的版权保护组织,REACT在打击版权侵犯事件方面有超过30年的经验。从苹果公司(Apple)到时尚品牌YSL等数十家不同行业的知名企业都是REACT的会员,卡西欧公司当然也是其中之一。

开源代码平台GitHub 被誉为“广大开发者的圣地与乐园”,这是因为其中除了有各大科技公司的顶级开源项目,还活跃着众多具有业界影响力的开源先锋。

这些开源代码通常都会带有开源许可协议,例如是否可以商用、是否可以进行二次开发等等。

Srinivasan也将自己改造卡西欧计算器的代码放上了GitHub,以供其他有兴趣的开发者效仿借鉴。但REACT上周向GitHub提出DMCA投诉,认为Srinivasan在Github公开的项目使用了卡西欧计算器的私有商业源码,这侵犯了卡西欧公司的代码版权。

南都科创记者就此事询问了Srinivasan,他的回应是:“老实说,我不知道REACT为什么要这么做。我使用的代码与卡西欧无关、完全是自己从零开始写的,我的项目所包含的所有库和文件也都是开源的。只能说这种情况真的很少见,而且相关法规对开发者和创客而言非常苛刻。”

收到REACT的投诉后,Srinivasan立即向Github提出了抗辩通知,要求恢复自己的开源代码项目。

呼吁更多年轻人加入创客文化

除了版权问题外,一度有媒体质疑Srinivasan改造项目的作用。

Srinivasan坦言,“我希望自己的发明能够激发其他人的创造力并吸引他们加入创客队伍。可以用你的知识做更多有意义的事情。

“(在创客社区)你会遇到很多志趣相投的人,这为你和其他优秀创客合作提供了大量机会。毕竟,单个开发者的力量是有限的,如果没有开源社区其他开发者贡献的代码,我可能需要多花几个月的时间来完成许多开源库早已实现的功能。”Srinivasan说,创客文化也是互相帮助、共同成长的文化,所以开发者也常常会对曾经帮助他们的开源代码贡献者表示感谢和称赞。

4月,Srinivasan还DIY了一台自动洗手液机。

当人们把手伸到洗手液泵口下的时候,机器就会发出语音提示:“现在开始挤洗手液了”“谢谢你来洗手”“你的手好脏,快过来洗手”…… “创意无处不在,我永远不会放弃尝试(发明)新事物。” 采访时,Srinivasan说道。

Srinivasan说,他的发明创意大部分时候来自实习工作经验与生活经验的结合,对于将传感器和软硬件模块组合起来实现一些有意义的功能常常是出于自己的偶然想法。

获得灵感的另一个好办法是关注别人在网上公布的创新发明,并尝试理解他们在做什么。“也许你会想到一种比别人更简单的技术方案,这就是驱动整个开源社区不断进步的动力。”

出品:南都科创工作室

采写:南都记者 任先博 实习生 郭静怡

大泡泡的DIY:咸鱼廉价电子价签拆解,DIY 墨水屏 8266 显示驱动

本内容来源于@什么值得买APP,观点仅代表作者本人 |作者:BigBubbleGum

逛闲鱼的时候发现了这样一种墨水屏——电子价签 ,大家在盒马、7Fresh、小米之家等互联网线下店里面应该见到过,用电子价签替代传统的纸质价签,可以统一管理显示价签内容,并给消费者营造出一种科技感、高端感。

常见的价签尺寸有 2.13 寸、2.9 寸和 4.2 寸,海鲜市场上价格分别为几块钱、十几块钱和二三十块钱。电子价签个人是没法直接更改其显示内容的,需要有专门的基站才能改写。电子价签的内部就是单片机驱动板+电子墨水屏,于是我研究了下如何让这块墨水屏显示自定义图案。

内容比较多,我将分为上下两篇,本文将介绍下电子墨水屏的工作原理、价签拆解、各种硬件驱动方案。下一篇将介绍墨水屏驱动板故障排除、通讯协议和驱动程序相关的内容。

我也是从零开始接触的电子墨水屏,各种 QQ 群潜水、论坛找资料,学习途中遇到了不少坑,相信这将是你能找到最详细的电子价签 DIY 攻略。

一、电子墨水屏简介

电子墨水屏也叫电子纸,常见的电子纸采用“微胶囊电泳显示”技术(EPD)。其基本原理是悬浮在液体中的带电纳米粒子受到电场作用而产生迁移。电子墨水涂布在一层塑料薄膜上,再贴覆上薄膜晶体管(TFT)电路,经由驱动 IC 控制,形成像素图形。

电子墨水由数百万个微胶囊所构成,微胶囊的大小约等同于人类头发的直径。每个微胶囊里含有电泳粒子──带负电荷的白色以及带正电荷的黑色粒子,悬浮于透明液体中。

利用正负相吸的原理,当电场接通时,该区块对应的黑或白粒子会移动至微胶囊的顶端,使用者在该区块上,就能看见白色或黑色。

常见的电子纸是黑白色的,电子价签还有一种三色电子墨水屏,系统运作原理与双色系统类似,施加不同的电压,使不同颜色的粒子移动至上层,看见不同的颜色。

电子墨水屏易于阅读 :电子纸显示屏是靠反射环境光来显示图案的,它具有纸张印刷般的效果;

轻薄灵活 : 因为结构上比较简单外,加上电子纸本身是基于柔软的塑料薄膜的材料,造就了它天生柔韧、可弯曲的特点,可以根据需要任意裁切成各种形状。

省电节能 :当显示静态图像的时候,电子纸可以完全不耗电,就是即使断开所有电源,电子纸显示器依然能够保留最后一幅画面。

比如下面这款应用了电子纸技术的智能卡,就具备了显示余额的功能。

还有这种 NFC 无源智能吊牌,可以通过手机 NFC 刷新显示内容,可以用作电子「狗牌」、电子行李牌,放在店里展示收款二维码,放在车上显示挪车电话啥的。

二、价签拆解

言归正传,首先来拆解这块 2.13 寸的电子价签,2.9 寸和 4.2 寸方法一样。

价签背面是电池仓,可以用拆机撬棒撬开,里面是两枚 CR2450 锂电池并联。(不拆电池仓不影响下面的步骤)

2.13 寸价签的型号为 Stellar-M;2.9 寸型号为 Stellar-L;4.2 寸型号为 Stellar-XL。

价签正面的塑料面板是胶水固定,无法无损拆解。

用刀片以四周边缘为突破口,刀片插入部分后就能轻松撬开整个面板。

过程一定要注意安全,千万小心别割到手指,血与泪的教训!

取下盖板,就能掀开墨水屏,主板是卡在塑料外壳中的,轻轻一撬就能取下。

2.9 寸/4.2 寸墨水屏与主板是插座连接,可以轻松取下;

2.13 寸墨水屏跟主板是粘在一起的,首先刮除表面白色软胶,用 180 度热风枪(吹风机应该也可以的)边吹边撕,别用力,就能取下屏幕。

2.9 寸/4.2 寸屏幕是 24P 的,2.13 寸屏幕是 34P,都是 2015 年产的。

最后看一下主板,左侧为墨水屏驱动电路,中间是一颗德州仪器的单片机 MSP4302553,顶上有一颗兆易 SOP8 存储器芯片 25VQ21BT,右侧是 2.4G 射频收发芯片 A7106,负责与基站通讯。

三、墨水屏驱动基础

1. 墨水屏驱动原理

墨水屏内置驱动器 IC,采用 COG 封装, IC 厚度 300um,根据 FPC(柔性电路板)宽度的不同,分为 24P 和 34P。墨水屏正面朝向自己,排线朝左边,从上往下分别是引脚 1-24。

24P 墨水屏比较常见,一些驱动板的排座也是 24P 的。

2.13 寸电子墨水屏的排线宽度是 34P 的,实际引脚数量是 26 个,裁剪时需要将上下两个没有连接的引脚一并减掉,就变成 24P 了。

电子价签里面墨水屏丝印 HINK-E0213A04,跟大连佳显公司(Good Display)的“ GDEH0213B73”屏幕型号一样,可以在他们的网站上查询到详细的信息,或者去资料更齐全的微雪(Waveshare)家查看更多内容。电子墨水屏通用驱动电路如下。(24P 引脚定义和驱动电路原理详解放在下一篇)

单片机的话推荐使用 ESP8266 模块,比较常用的是 12E 和 12F。网络上有丰富的例程,使用 Arduino 的开发环境,简单易上手。

ESP8266 模块加上串口通讯电路和电源电路就是 NodeMCU 开发板,直接用杜邦线连接墨水屏驱动板就行。

墨水屏与单片机采用 SPI 协议通讯(原理见下一篇),墨水屏的 9-14 号引脚与单片机连接,加上 3V3 和 GND,需要使用 8p 的排线将墨水屏驱动板和 NodeMCU 开发板连接。

其中引脚 10 和引脚 12、13、14 这四个墨水屏引脚 ESP8266 的连接一般是固定的,不同人写的程序里面 BUSY 和 DC 引脚与 ESP8266 的连接会有不同,在烧录程序的时候需要注意在源程序里面修改相关定义。

微雪家的墨水屏产品功能引脚定义如下表。

2. 24P、34P、上接、下接

刚接触墨水屏时,被上接还是下接搞得比较迷糊,这里对这些概念做一个详细的解释。

24P 和 34P 是指墨水屏 FPC 排线的宽度,比如 2.9 寸和 4.2 寸以及微雪自家的墨水屏是 24P 的,排线引脚数量也是 24P;而 2.13 的价签墨水屏排线宽度是 34P 的,排线引脚数量是 26 个,修剪掉两旁空白部分和上下两个引脚就是 24P 了。24P 和 34P 墨水屏引脚定义是一样的,驱动电路通用。

对应插排线的座子叫做 FPC 母座,因为 FPC 排线只有一面有引脚,如果 FPC 座子的上面跟排线接触就是 FPC 上接,FPC 座与排线的接触面在下面的话就是 FPC 下接。

通常上接的 FPC 座子是抽拉式的,下接的座子是翻盖式的,24P 还有上下面都有触点的 FPC 座。

一般 DIY 的话屏幕跟主板平放在桌面上,排线朝上与 FPC 座子相连,用抽拉上接的座子。

2.9 寸价签里的屏幕是翻折到 PCB 顶部,用的是 24P 翻盖下接母座。

24P 的墨水屏的排线比较厚,跟 FPC 母座连接较紧。2.13 寸电子价签里的 34P 墨水屏是粘贴在 PCB 上的,排线很薄,在 FPC 座子里压不紧,可以用胶带增加厚度。

四、墨水屏驱动方案

1. 破解通讯协议,直接驱动

真正的大佬可以不用管上面的驱动电路,自己 DIY 一个基站,连价签外壳都不用拆,直接给墨水屏传图。

比如 CSDN博主 @myfish3 使用一块伊拉克成色的 STM32 开发板和 A7105 射频芯片在廉价的电木洞洞板上搭建了一个简单电路,在 PC 机运行上位机,使用串口和 STM32 通信,STM32 使用 A7105 和价签的 A7106 通信,MSP430 从 A7106 获取并执行命令。

技术大牛往往就是这么朴实无华。

2. 下载器直接写入程序

如果你懂 MSP430 单片机开发的话,可以用 430 launchpad 直接往电子价签主板上的单片机烧录程序,这个相对来说会简单一点,网上也有很多的例程。

3. 原生墨水屏驱动电路板

对于普通的 DIYer,使用墨水屏驱动板+ESP8266 更加简单易学。

第一种方案可以利用电子价签 PCB 板上的原有驱动电路,首先将 msp430 和 A7106 拆下,防止干扰,节约电能。

虽然板子上留有测试点,但是与墨水屏没有关系,不能直接利用。

经过测试,驱动电路的 9-14 号通讯引脚如下图所示,分别接在了 430 单片机的左上部分 6 个引脚,BS 引脚要接地,方框里面有一个 MOS 管,原用于控制墨水屏的电源通断,拆除后把红点处的两个引脚相连即可。

用细导线将焊盘引出,与 ESP8266 开发板相连。

3V3 和 GND 可以从背面的电池正负极上引线,这样无需拆下电子墨水屏,也不用单独购买驱动板,利用价签原来的驱动电路,直接就能刷入程序改写显示画面。

4. 墨水屏驱动板

上面的飞线操作过于繁琐,建议买一个墨水屏驱动板,也就几块钱,用排线跟 ESP8266 相连也更加稳定。

5. ESP8266 墨水屏驱动开发板

微雪有款墨水屏开发板,将 ESP8266 和墨水屏驱动电路集成到一起,省去了排线的连接,开发更方便。

但是这种成品开发板的墨水屏跟 8266 的引脚是固定的,比如微雪开发板的引脚定义如下,网上一些墨水屏应用程序只提供固件,没有源代码,如果引脚定义跟微雪不一样的话就不能使用了。

而且微雪开发板的 FPC 座是 24P 的,34P 的 2.13 寸墨水屏使用时需要裁减排线,开发板的价格也比较贵,要六七十元。

五、DIY 墨水屏驱动板

于是我自己画了一个 ESP8266 墨水屏驱动板,毕竟嘉立创的羊毛不薅白不薅,成本只要十几块钱,墨水屏引脚与 8266 的连接根据自己需求修改(图中是微雪定义),此外还有以下优点:

采用 Type-C 接口;24p/34p FPC 座均可使用体积小巧,仅跟 2.13 寸墨水屏一样大;贴片元件采用 0805 封装,串口通讯芯片采用 CH340C,Type-C 和 FPC 焊盘加长,所有元件均在正面,方便手工焊接;

电路中有两个地方可供选择,一是 BS 接地(0)为默认的 4 线 SPI,接 3V3(1)为 3 线 SPI;二是 RESE 电阻通过拨动开关选择,1.54/2.13/2.9 寸墨水屏选择 3R,2.7/4.2 以及三色墨水屏选择 0.47R。

PCB 已打样验证能用,电路里面用到的电阻电容电感、三极管 MOS 管都可以从价签 PCB 上获取。16P 的 Type-C 和 0.5mm 间距的 FPC 插座引脚密集,对于新手来说可能有些难焊,建议大量使用助焊剂。

PCB 四周留有螺丝孔,可以加上锂电池。3D 打印个外壳,做一个墨水屏时钟。

PCB 留有 8 个墨水屏通讯排针接口,可以只焊接墨水屏驱动电路部分,当做独立的驱动板使用。

原理图和 PCB 都是基于立创 EDA 设计,已开源,可以自行打样。

国产的立创 EDA 和嘉立创免费打印真是太好用了,让我来继续安利一下。

PCB打样全免费!手把手教你在嘉立创0元下单 创作立场声明:种草免费PCB打印网站-嘉立创我最早接触电子电路设计是刚上大学那会,加入了一个叫做「电信科协」的学校社团学习51单片机,部长手把手教我们焊接最小系统板,后来焊接技术有了长进,陆续将数码管、点阵、按键、各种传感器全都焊接了上去,把一块15x10cm的洞洞板焊的满满当当。几年下来单片机编程BigBubbleGum|赞15评论7收藏71查看详情

六、上传自定义图片

ESP8266 墨水屏驱动的硬件部分搞定后,就可以往里面上传程序,显示自定义图案,这里以 2.13 电子价签墨水屏为例,使用的是上面我自己做的 ESP8266 墨水屏驱动板。

软件部分使用的是 Arduino IDE 环境,下载和安装可以看我之前的教程。

1. 微雪本地例程

在微雪官网下载示例程序。

进入 example 文件夹中,把 esp8266-waveshare-epd 文件夹整个复制到 %LOCALAPPDATA%Arduino15packagesesp8266hardwareesp82662.7.1libraries,其中“2.7.1”需要根据安装的 ESP8266 支持包版本进行相应更改。

打开 IDE,选择正确的开发板和端口号。

打开”文件-示例-NodeMCU 1.0-waveshare-e-Paper“,找到 2.13 屏幕驱动程序。

如果你是按照微雪的引脚定义设计的驱动板的话,直接编译下载,墨水屏就能显示图案了。

如果你是其他的引脚定义,需要修改下 DEV_Config.h 里的引脚定义。

新手估计很难一次性成功点亮墨水屏,我也翻车了好多次。下一篇中将介绍下硬件电路常见问题以及故障排除思路。

2. 自定义图片上传程序

微雪的示例程序作为出厂测试用的,我精简了下,只保留了自定义图片上传功能。

2.13 寸墨水屏的分辨率为 250x122,先用 PS 或者画图软件制作一张 250x122 像素的.bmp 格式的图像。打开取模软件,扫描模式设置为垂直扫描,宽度和高度设置为 250x122,取消勾选包含图像头数据,勾选颜色反转,设置为上下颠倒,点击保存为 .c 文件。 图传程序由很多文件组成,引脚定义在 epdif.h 文件里修改。 将取模软件生产的 .c 文件里面{}里面的内容复制到图传程序 imagedata.cpp 文件里 gImage 数组的大括号里。 编译下载,此时屏幕就能显示这张图片了。

墨水屏断电后能保持最后显示的画面,可以当做电子相册或者挪车电话牌。

拆解电子价签,获得墨水屏并成功点亮,相信没有比这更全面的新手教程了。

ESP8266 电子墨水屏驱动电路原理图与 PCB、取模软件与示例程序,已发布到立创开源广场。

下一篇将进一步介绍电子墨水屏驱动电路原理、DIY 注意事项、故障排除,SPI 通讯,驱动程序讲解等内容,敬请期待。

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

相关问答

esp8266 芯片哪里出的?

esp8266是由乐鑫公司出品的一款物联网的芯片。esp8266,简单理解,就是一个可以连接家里路由器的一个模块,像我们手机一样,能分配独立的局域网IP,能通过他...

esp8266 是哪个公司的?

esp8266是由乐鑫公司出品的一款物联网的芯片。esp8266,简单理解,就是一个可以连接家里路由器的一个模块,像我们手机一样,能分配独立的局域网IP,能通过他...

esp8266 有rtc吗?

ESP8266是一款低成本、低功耗的Wi-Fi模块,它本身并没有集成实时时钟(RTC)功能。RTC是一种独立的硬件设备,用于提供精确的时间和日期信息。然而,尽管ESP8266...

8266 的io口都可以用么?

可以。智能家居,esp8266有两个通用的IO口(IO0、IO2),我们可以选择所有只需要一到两个IO口控制的传感器,搭配点灯平台,连上小爱、小度、天猫精灵等语音助手...

esp8266 wifi模块,要怎么弄才能把 传感器 的数据上传到TLink平台去!过程?

1、进入命令模式2、AT+CWMODE设置AP模式3、AT+CWSAP设置此时用手机连接步骤3设置的wifi信号4、下载一个手机网络调试助手,查看模块的ip和port,连接之后就可以...

esp8266 wifi模块,要怎么弄才能把 传感器 的数据上传到TLink...

[最佳回答]1、进入命令模式2、AT+CWMODE设置AP模式3、AT+CWSAP设置此时用手机连接步骤3设置的wifi信号4、下载一个手机网络调试助手,查看模块的ip和port,...

esp8266 的按键是干什么的?

ESP8266按键可以用来控制板载的设备,比如Wi-Fi终端和传感器,并能够实现快速和灵活的配置。它也可以用来在对等现场网络中重新引导设备,或者用来调节板载的设备...

nrf2401与 esp 区别?

nRF2401和ESP都是无线通信模块,但它们的特性和应用场景略有不同:1.特性不同:nRF2401是一种2.4GHz无线收发器,不支持无线芯片的复杂功能,但其可靠性和稳定...

esp8266 esp 32有什么区别?

esp32和esp8266的区别一:两款芯片都属于32位处理器。esp32是双核160MHz至240MHzCPU,而esp8266是单核处理器,运行频率为80MHz。esp32和esp8266的...

8266 模块是哪个厂家的?

是由乐鑫公司出品的一款物联网的芯片。8266,简单理解,就是一个可以连接家里路由器的一个模块,像我们手机一样,能分配独立的局域网IP,能通过他进行网络上...

展开全部内容