发作品签到
专业版

基于ESP32 蓝牙/wifi的天气和时间小键盘

工程标签

1.3k
0
0
2

简介

wifi连接阿里云服务器更新时间;连接心知天气获取天气和生活指数。 蓝牙可连接PC、手机。 外壳采用亚克力层叠。 偶尔当小键盘方便输入数字;大部分时间作为一个时钟摆件。

简介:wifi连接阿里云服务器更新时间;连接心知天气获取天气和生活指数。 蓝牙可连接PC、手机。 外壳采用亚克力层叠。 偶尔当小键盘方便输入数字;大部分时间作为一个时钟摆件。

开源协议

GPL 3.0

创建时间:2024-01-11 16:11:24更新时间:2024-03-29 09:31:51

描述

利用之前项目剩下的ESP32-WROOM-32D做一个简单的蓝牙小键盘。

只需要一点点动手能力:)

[过程]

    1. 键盘配列:在www.keyboard-layout-editor.com制作keyboard layout。
    2. 定位板:然后将keyboard layout拷入builder.swillkb.com进行定位板制作,这里可以直接出整个键盘的叠层文件。因为是DIY要加屏幕之类,所以只利用它出一个定位板的DXF。
    3. 原理图:懒,按键没用阵列,正好IO口数量也够直连(旋钮的按下忽略,因为没打算做菜单)。
    4. PCBA布局:将定位板的DXF导入layout进行布局。
    5. 亚克力层叠:将PCBA转为STEP文件后导入Solidworks, 键盘为三明治结构,需要画5个层叠:顶层,顶层下,框架,定位板,底板,挡板。打样的时候<框架>可以多打一些,整体做厚点,这样放在桌面当时钟/天气看比较稳(小键盘利用率实在不高)。通过4个2mm内六角螺丝固定。实际DIY用的黑色28mm长的。
    6. 代码: Arduino框架。没用RTOS,直接轮询。编译&烧录环境:VSCODE Platformio。主要用了以下库:
      • 用于控制背光灯
      • Wifi库
      • 屏幕显示
      • 解析天气Json文本
      • 蓝牙库 
      • 轻量化蓝牙库。重要!否则留给HTTP的heap不够,无法正常使用HTTP。注意要在蓝牙库头文件
        BleKeyboard.h中定义USE_NIMBLE。已在代码中注释如下:
        屏幕左边为年月日时间。右上角为Wifi、蓝牙、电量/充电指示、下面为天气、天气符号和温度。生活提示为滚动状态,可以和下面的符号温度交换下。
        代码比较粗糙,使劲喷;-)  
    7. 等打板时准备其他物料:

轴座:凯华热插拔轴座 

轴体:凯华知夏轴 (比较喜欢这个声音和颜色)+ 厂润卫星轴

电池:中顺芯402764便携仪器仪表聚合物锂电池3.7V 1000mAh + DF57插头线 

键帽:五星电竞的PBT磨砂透光  灰黑21键numpad键帽

旋帽:韩度铝合金机械键盘旋钮帽球

显示屏:中景园2.08寸OLED显示屏25664 sh1122 白色SPI接口模块[排针默认不焊接] 需要自己调整下2.54排针长度 

RGB灯:WS2812B灯珠贴片(随便找个)

 

[组装和配网]

      • 先焊接好PCBA(RGB贴片、轴座)
      • 将轴体和定位板和PCBA组装起来,特别小心卫星轴的部分不要断裂,因为亚克力比较脆,局部小的断裂没关系。
      • 大概摆放各个亚克力叠层,顺序依次为顶层、顶层下、框架*n、定位板、框架*n、底板;挡板插在底板和顶层下之间。修剪屏幕的引脚长度和调整使用的<框架>叠层数量。插上屏幕,屏幕尽量贴近顶层&顶层下。离屏幕插座远的一端可以用泡绵固定住屏幕。
      • 锁上4个2mm内六角螺丝。
      • 上电,第一次联网需要手机下载Esptouch连入同一个wifi进行配网。之后上电可以自动连。

 

[待优化]

      • 没做低功耗。1000mAh的电池WIFI+蓝牙全开差不多只能撑五六个小时。主要还是插着USB当时钟。
      • 连天气API处的城市string改为“ip"可自动连当前所在城市。

String url_weather = "https://api.seniverse.com/v3/weather/now.json";   
String url_life = "https://api.seniverse.com/v3/life/suggestion.json";

String city = "Jiangsu Suzhou";   //可以改为"ip"以自动获取当前城市

      • 旋钮上下转得快会有错误响应,可以优化下。
      • 修改按键为阵列,可以组合然后代码中增加菜单,可以调RGB颜色,显示内容等。
      • USB开口在上方会有光漏到屏幕,可以修改PCBA和框架从侧边出USB和开关。

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

附件

序号文件名称下载次数
1
3D_PCB_ESP32KB_2024-01-16.SLDASM
16
2
myESP32NumPad
40
3
platformio.ini
19
4
IMG_4800.Mp4
11
克隆工程
添加到专辑
0
0
分享
侵权投诉

工程成员

评论

全部评论(1
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航