资料介绍
描述
概述
这个项目的目的是制作一个简单的智能设备,它可以真正改善你的早晨并减轻你的压力。我为我的女朋友开发了这个解决方案,她每天都使用公共交通工具,并且在记忆时间表、路线规划和准时方面遇到困难。这个简单的设备可以帮助任何使用公共交通工具的人检查他们最常用的公交线路的预计到达时间,并让用户保持更新。为了尽可能减少维护,该设备由锂离子电池供电,每 10 分钟唤醒一次以更新其表格,该表格显示在电子纸显示屏上,几乎可以减少功耗。
硬件布线和低功耗技巧
通过使用 TTGO T5 esp32 epaper 模块,由于它是内置的,因此无需接线。确保购买带有正确连接器的锂离子电池,这样它就可以即插即用。您应该采取一些小技巧来降低电路板的功耗。当你插上电源并打开电源开关时,你会看到天线附近有一个绿色的 LED 灯亮起;这个 led 直接连接到 3.3v 导轨,所以它会一直亮着,并且会消耗一些能量。要解决此问题,只需拿起烙铁并将其取下即可。
软件
项目的软件方面才是真正的事情发生的地方。该程序的流程是唤醒、连接到硬编码的 Wi-Fi 网络、连接到公共交通 API、在显示屏上打印结果并进入睡眠状态。
为了方便起见,我构建了一个struct busTable来保存行号、ETA 和一个指示预测是否正确的实时变量。
数据通过requestTo方法从 API 中提取。通过提供停靠点编号,API 返回一个包含时间表信息的 JSON 数组。正在解析此数组,数据填充 busTable 对象。
void requestTo(String stopN, busTable *table){
client.begin("https://gpa.madbob.org/query.php?stop="+stopN);
if(client.GET()>0){
String payload = client.getString();
DynamicJsonDocument doc(1500);
deserializeJson(doc, payload);
uint8_t arraySize = doc.size();
for(uint8_t i = 0; i String line = doc[i]["line"];
String hour = doc[i]["hour"];
bool realtime = doc[i]["realtime"]=="true"?1:0;
table[i].line = line;
table[i].hour = hour;
table[i].realtime = realtime;
}
}
client.end();
};>
在printBusLine()方法中,在 busTable 数组中搜索特定的行号。然后将匹配的公交车打印在显示屏上:如果预测正确则为粗体,否则为普通。如果没有找到数据,则打印NO SERVICE 。
void printBusLine(String line, String endstop, int pos, busTable* table){
display.setFont(&BOLD_FONT);
display.setCursor(2,pos);
display.print(endstop);
display.setCursor(150,pos);
int bus_n = 0;
for(int i = 0; i < 9; i++){
if(table[i].line == line){
bus_n ++;
if(table[i].realtime){
display.setFont(&BOLD_FONT);
}else{
display.setFont(&DEFAULT_FONT);
}
if(bus_n < 4) display.print(table[i].hour+" ");
}
}
if(bus_n ==0){
display.setFont(&DEFAULT_FONT);
display.print("NO SERVICE");
}
}
要在你所在的城市使用它,你必须找到一个免费的公共交通 API 并从中提取数据。
为了低功耗运行,所有代码都在setup()中运行,并通过PowerOff()方法关闭。此方法关闭显示控制器,使定时器唤醒 10 分钟,然后使 MCU 进入深度睡眠。
void PowerOff(){
display.update();
display.powerDown();
esp_sleep_enable_timer_wakeup(6e8);
delay(10);
esp_deep_sleep_start();
}
组装
为了让它看起来不那么古怪,我设计了一个简单的 3D 打印外壳,您可以根据自己的需要对其进行修改。
接下来的发展
如果你喜欢这个项目并且想自己构建它,你可以在下面找到我的代码库和我的案例的所有 3D 文件。我想检查一下电池能用多久;我会用我的进一步测试更新你。
- 面向 E Ink® Vizplex™电子纸显示屏的PMIC TPS65186数据表
- 如何修复纸机烘缸引纸轮轴承位磨损 0次下载
- 智能设备开源项目
- 电子纸潮汐和天气追踪器开源分享
- 智能表物联网开源
- SWED癫痫症智能可穿戴设备开源分享
- paperd.ink电子纸开发板开源分享
- Avnet SmartEdge Agile智能设备开源
- 智能设备控制器开源分享
- 通用电子纸适配器PCB开源资料
- 开源高精度电压电流表库仑计容量测试下载 44次下载
- 电子纸显示技术的介绍及其在IoT中的应用 13次下载
- 基于S1D13521的电子纸阅读器的设计 129次下载
- 电子纸显示器(Electronic paper Display)的介绍 72次下载
- 基于MSP430的电子纸驱动接口设计
- 【AWTK开源智能串口屏方案】方案介绍和工作原理 1036次阅读
- 基于纸基微流控芯片的工作原理 3890次阅读
- 时刻继电器的构造原理 2107次阅读
- 时刻继电器的外形和图形符号 2935次阅读
- 纸电池的作用_纸电池特性及发展前景 1956次阅读
- 微雪电子电子纸墨水屏网络驱动板介绍 3386次阅读
- 微流控纸芯片专利技术综述 1.6w次阅读
- 深圳先进院等研发出一体式离电子传感纸 3410次阅读
- 更小更智能的电机控制器推进HEV/EV市场 1186次阅读
- 盘点未来物联网新能源——纸基电池 4636次阅读
- NASA的开源软件是什么?NASA的开源软件的详细分析 7444次阅读
- 中国人工智能开源软件前生今生到底如何? 5691次阅读
- 5个顶级的人工智能开源工具 6240次阅读
- 开发者不可错过的开源项目—人工智能篇 6286次阅读
- 复古手环:用开源硬件打造你自己的可穿戴设备 1.1w次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多