学校通常会覆盖无线信号,但不让带手机,于是我希望能拥有一个设备,即使是没有网络的情况下,也能让校外的A同学联系到校内的我。
不让带手机?那就自己造一个“聊天设备”!
连不上“网”?那就自己创造“网”!
只要有wifi信号,我自制的聊天设备,就能用!!
本文会对本项目的:硬件设计、软件设计、服务器端搭建进行详细步骤教学。
项目首先,我需要介绍这个硬件设备——QucikChatBox 。
它是一个客户端,没有网络和手机的情况下,可以接收手机发送的信息,可以给手机发送信息。
在对该设备进行初始化配置后,设备会自动连接网络并从服务器端拉取数据并进行处理。
硬件设计原理与选型1.指示灯
上文的实物图中可以看,按钮下方有两个LED。
- 左侧为充电状态指示灯,当TypeC口有外部电源接入时,设备开始充电,该状态灯亮起,当电量满或者外部电源移除时为灭。
- 右侧则是状态指示灯,该灯连接到主控的GPIO2引脚,当上点电时该灯闪烁一次,其他情况我还没想好。
2.充电管理与修改充电电流
设备使用TC4056A作为锂电池的充电管理芯片,选择该芯片一是因为兼容TP4056,二是因为便宜。
用嘉立创EDA专业版设计的原理图
在电路中,该芯片引脚PROG的接地电阻阻值改变充电电流,该电阻阻值在原理图中默认3K(充电电流400mA),建议该电阻阻值不大于4K,您可根据电阻与充电电流关系表自行改变充电速度。
框内的LED为充电指示引脚,亮起代表充电中。
3.ADC获取锂电池电压
ESP8266 ADC 引脚具有10 位分辨率,可以获得值范围为 0 - 1023,因此要检测电压最大为4.2V的锂电池,需要建立ADC分压电路,原理图如下:
用嘉立创EDA专业版设计的原理图
当锂电池电量不足,设备会在屏幕上显示电量不足,提醒使用者充电,另外当向服务器请求数据时会将电压作为参数上传。
目前,该电压取的近似值与实际电压相差约0.1v,上传至服务器的电压会作为返回值给到对应账号的Anroid端QuickChatApp,详情请结合代码。
4.锂电池选型
影响锂电池规格的主要有两个参数,一个是续航,一个是放置电池的空间,在空间允许的范围内续航越大越好!
本项目锂电池的规格为:高 <= 13mm 宽 <= 42mm。(803040-1000mAh)
高取决于四周螺丝孔柱的高,宽度取决于预留空间的宽度。
5.OLED显示屏选型
中景园1.3寸OLED显示屏。
6.微动按钮