資料介紹
描述
概述
這個項目的目的是制作一個簡單的智能設備,它可以真正改善你的早晨并減輕你的壓力。我為我的女朋友開發了這個解決方案,她每天都使用公共交通工具,并且在記憶時間表、路線規劃和準時方面遇到困難。這個簡單的設備可以幫助任何使用公共交通工具的人檢查他們最常用的公交線路的預計到達時間,并讓用戶保持更新。為了盡可能減少維護,該設備由鋰離子電池供電,每 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開源資料
- 開源高精度電壓電流表庫侖計容量測試下載 36次下載
- 電子紙顯示技術的介紹及其在IoT中的應用 13次下載
- 基于S1D13521的電子紙閱讀器的設計 129次下載
- 電子紙顯示器(Electronic paper Display)的介紹 71次下載
- 基于MSP430的電子紙驅動接口設計
- ?【AWTK開源智能串口屏方案】方案介紹和工作原理 744次閱讀
- 基于紙基微流控芯片的工作原理 3356次閱讀
- 時刻繼電器的構造原理 1980次閱讀
- 時刻繼電器的外形和圖形符號 2723次閱讀
- 紙電池的作用_紙電池特性及發展前景 1819次閱讀
- 微雪電子電子紙墨水屏網絡驅動板介紹 3107次閱讀
- 微流控紙芯片專利技術綜述 1.6w次閱讀
- 深圳先進院等研發出一體式離電子傳感紙 3351次閱讀
- 更小更智能的電機控制器推進HEV/EV市場 1105次閱讀
- 盤點未來物聯網新能源——紙基電池 4513次閱讀
- NASA的開源軟件是什么?NASA的開源軟件的詳細分析 7188次閱讀
- 中國人工智能開源軟件前生今生到底如何? 5563次閱讀
- 5個頂級的人工智能開源工具 6100次閱讀
- 開發者不可錯過的開源項目—人工智能篇 6184次閱讀
- 復古手環:用開源硬件打造你自己的可穿戴設備 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次下載 | 免費
評論
查看更多