Showing posts with label ESP32. Show all posts
Showing posts with label ESP32. Show all posts

2026/05/12

我的第一片 PCB 冒險 - Day 3 請教專家來幫忙

這幾天花不少時間, 把電路全部都在看一次, 確定接線都有正確連到, 
也請教幾位有實戰經驗的專家, 聽從他們的建議, 如 5V 的正確位置, 接線, 接地散熱, 再接上紅綠LED電源充電指示...

那麼就送洗吧...一週後就知道會不會動了... 😅


TP4056 很容易發熱, 聽取專家建議
Pin9 GND 大量的鋪銅, 可以幫 TP4056 散熱


ezsyEDA Pro 無法直接鋪,還是我不會操作?
聽取以前專家建議, 把 GND 全部加粗

加上 Via 過孔把熱由正面傳到背面, 把熱源散到背面


依照 TP4056 基本電路設計, 加上了紅綠 SMD LED, 
將來可以知道電池充電狀態

充電中-紅燈
充完結束-綠燈
電壓不對, 溫度太高太低, 無電池, 不亮燈


2026/05/09

我的第一片 PCB 冒險 - Day 2 - PCBA 不會動 ~~

EasyEDA Pro - DRC check 都過了, Auto routing 也完成...
我就膽大心粗的送洗~~😅

等了幾天, JLCPCB 板子也洗好, 送到了....結果~ 不會動就是不會動~ 🥲

尺寸大小都是我想要的, 間隔距離也都剛好...但拉線錯一大堆~~🙂

仔細瞧瞧...

On/Off Switch 上居然沒有接線, 原來 PCB 上標註了 $1N14616, $1N14616 這樣的符號要特別注意...它可能就是原理圖上的線沒有接好....

Day 2 的冒險讓我深刻體會到:

  • DRC ≠ ERC,製造規則檢查不代表邏輯正確。

  • Netlabel 名稱一致性非常重要,哪怕是一個小小的 + 都可能造成斷線。

  • 社群的力量不可或缺,很多錯誤自己看不出來,卻能靠朋友的提醒避免大災難。

雖然一路踩坑,但每解決一個問題就更有成就感。這些錯誤與修正過程,正是 PCB 學習最寶貴的經驗。

打開 PCB Layout,竟然看到 On/Off 開關完全沒有接線! 這代表原理圖裡的連線沒有真正拉好,EasyEDA 就會生成 $1N14616 這樣的臨時符號。看起來像有線,其實是孤立的網路。 😣

這顆 C6 電容也沒有接線😣

更慘的是,原理圖裡的 GND Netlabel 不見了,結果 PCB 上就變成 $1N10953。🥲 解法很簡單:刪掉錯誤的線,重新加上正確的 GND Netlabel,馬上就恢復正常。




檢查 SS14 二極體的 VBAT_SW,發現線長顯示 0mm,代表完全沒有接線。😣 這提醒我:除了看 Ratsnest,也要用 Net Length 來驗證線路是否真的存在。


原來原理圖裡有 VBAT_SW+VBAT_SW 兩個不同字串,結果 PCB 上就連不起來。 更糟的是,移動文字時 EasyEDA 有時會自動加上 +,必須小心檢查。最後我刪掉錯誤的 Netlabel,重新放置正確的 VBAT_SW,線路才全部回來。😅



把原理圖裡的 + 移掉之後, PCB 上的線都連回來了~ 😅



最驚險的錯誤是 H5/H6 的 female header 居然左右相反!🥲 這個問題完全是我自己看不出來,還好有網友呂大哥幫忙指出,否則打樣出來就會變成「反插」災難。

接下加入分壓電路, 可以較準確計算電量剩下量...把 5V 的線變的短, 減少短路機會...
好多坑啊~~

待續...😣


2026/05/02

我的第一片 PCB 冒險 - Day 1

 原理圖的魔法與 PCB, 差很多~


我使用 EasyEDA Pro 網頁版來畫電路板, 它看起來很簡單,直到開始才發現...Gemini AI 跟你說的名詞, 或是選單位置...有時, 找不到就是找不到啊...

今天是我挑戰 PCB 自製初體驗的第一天! 目標是打造一個「智慧喝水提醒器裝置」。剛開始在 Gemini AI 的幫忙下,一個一個原件放到原理圖(Schematic)自己覺得還蠻順利的...😊。
看著那些 NodeMCU、MPU-6050 陀螺儀和 OLED 螢幕的邏輯連線井然有序,我心裡還偷笑....😏

然而,當我滿懷自信地按下「轉 PCB」的那一刻,哈哈哈…怎麼亂成一團?! 😅 螢幕上出現的不是想像中精美的電路板,而是散落一地的零件,還有無數糾結在一起、像亂掉的毛線球一樣的藍色飛線 (Ratsnest)!

原理圖畫好後, 零件會灑落一地


課後筆記:

  1. 原理圖 ≠ 實體空間:原理圖只管 "誰連誰"(邏輯),但 PCB 是真實的 "排位賽" 。你要考慮零件的大小、正反面,還要預留放電池的空間。
  2. 電源線不能太細:AI 提醒,ESP8266(對的, 我在 ESP8266上做的實驗. 在發射訊號時會有瞬間脈衝大電流,所以電源走線(3.3V/GND)要設定到 20-25 mil 以上才安全,不能像普通訊號線一樣細。
在 Design rules 裡新增一條 Power line, 這裡設成 0.65mm 已後 auto-routing (自動拉線時), 指定 5V, 3.3V, VBAT...等等, 相關的線路就是會用到 0.65mm, 真方便!

雖然第一步就卡在 - 找不到板框邊界(Board OutLine)」,還差點把鋪銅當成邊界!,但搞懂這些邏輯後,對這片板子更有感情了! 😅 歡迎在下方留言拉我一把,或分享你當年的「初次佈線慘劇」!

Gemini 設計提示:

將整個專案整合進一片 PCB (印刷電路板) 是將實驗原型轉化為專業產品的關鍵步驟。使用 JLCPCB 旗下的 EasyEDA (嘉立創 EDA) 工具,我們可以依照以下四個核心階段來完成設計。

身為資深工程師,我會引領你完成這項「一體化電路」的佈局:


第一階段:電路原理圖 (Schematic) 繪製

在 PCB 佈線前,必須先在 EasyEDA 中建立正確的邏輯連接。

  1. 核心模組化佈局

    • NodeMCU 插座:使用兩個 1x15 排母 (Female Header),讓 NodeMCU 可以插拔,方便教學。

    • I2C 總線匯流:將 NodeMCU 的 D1 (SCL)D2 (SDA) 線路拉出,並聯至 OLEDMPU-6050 的對應腳位

    • 中斷喚醒線路:預留一條走線將 MPU-6050 的 INT 腳位連接到 NodeMCU 的 RST 。建議中間加一個 0Ω 跳線電阻 或排針,方便切換是否使用 WoM 喚醒模式。

  2. 旗艦級電源管理 (Power Management)

    • 充電區:配置 TP4056 充電電路,輸入端接 USB-C 母座,輸出端接 700mAh 鋰電池

    • 穩壓區:使用 HT7333-A (SOT-89 封裝) 作為核心。將電池正極接至 HT7333 輸入,HT7333 輸出接至 NodeMCU 的 3V3 腳位 (繞過板載 AMS1117 以省電)

    • 濾波電容:在 HT7333 的輸入與輸出端各並聯一個 10uF 陶瓷電容。並在電源輸入端並聯一個 220uF 以上的電解電容,以緩衝 ESP8266 啟動時的脈衝電流


第二階段:PCB 佈局 (Layout) 策略

佈局決定了產品的實用性。考慮到這是一個水壺掛件,建議採用長條形設計:

  1. 分層與空間分配

    • 正面 (Top Side):放置 SSD1306 OLED。將螢幕放在 PCB 的最頂端或正中央。

    • 背面 (Bottom Side):放置 700mAh 鋰電池。可以使用電池背膠固定在 PCB 背面無零件處。

    • 內嵌式 MPU-6050:MPU-6050 必須固定得非常穩固。建議將其放置在 PCB 的幾何中心,減少因電路板形變導致的數值偏差。

  2. 操作介面優化

    • FLASH 按鈕:雖然 NodeMCU 自帶按鈕,但在 PCB 上加焊一個較大的側面輕觸按鈕(並聯至 GPIO 0),會讓使用者在切換顯示模式時更好操作


第三階段:佈線 (Routing) 與工程細節

  1. 電源走線 (Power Traces):電源線(3.3V 與 GND)必須夠寬(建議 20-25 mil),因為 ESP8266 發射訊號時會有大電流突發

  2. 訊號線:I2C 訊號線使用標準 8-10 mil 即可。保持 SDA 與 SCL 平行且盡量縮短長度

  3. 鋪銅 (Copper Pour):在 PCB 頂層與底層進行大面積 GND 鋪銅,有助於散熱與減少雜訊干擾。

待續👋

2026/01/02

還在為了 ESP32 韌體更新、檔案管理而煩惱嗎?

 還在為了 ESP32 韌體更新、檔案管理而煩惱嗎?傳統方式需要安裝命令列工具、設定環境,甚至還要懂程式語言,對非工程師來說真是門檻超高。



每次刷機都要花上好幾個小時排錯,指令一旦輸入錯誤就可能導致失敗,浪費時間又增加風險。更別提要同時備份、檔案管理、監控輸出,繁瑣又不直覺。

ESPConnect Web 工具讓你直接在瀏覽器完成所有操作!

https://github.com/thelastoutpostworkshop/ESPConnect 

⭐Browser-based:免安裝、免程式碼,打開 Chrome/Edge 就能用。

⭐Flash Firmware:一鍵刷機,支援備份與完整檔案還原。

⭐File System Manager:支援 SPIFFS/LittleFS,拖曳上傳、即時預覽。

⭐Live Monitoring:即時串流 UART 輸出,方便除錯與追蹤。

⭐OTA Slots:清楚顯示目前韌體版本與下一版狀態。

👉 把時間留給創意,不要浪費在命令列!ESPConnect 讓 ESP32 管理變得像點擊網頁一樣簡單。

2025/12/11

CrowPanel ESP32 5.79" 電子紙開箱+PlatformIO 實作教學(含天氣 API 範例)

前言

大家好,我是 Stonez56。這篇文章要帶大家一起來看看 Elecrow 推出的 CrowPanel ESP32 5.79 吋電子紙 HMI Display,並示範如何把官方 Arduino Demo 改成 PlatformIO 專案,最後成功顯示 OpenWeather 的即時天氣資訊。

如果你習慣用 VS Code + PlatformIO 開發 ESP32,這篇文章會非常適合你。



✅ 一、CrowPanel ESP32 5.79" 電子紙開箱

這次收到的是一片 5.79 吋的 E‑Paper HMI Display,內建 ESP32‑S3,支援 Wi‑Fi 與 Bluetooth,並提供多種介面:

  • SPI

  • UART

  • GPIO

  • TF/SD 卡

  • USB

  • 電池接頭

電子紙本身是黑白顯示,適合做低功耗、長時間顯示的應用。

📦 盒內內容

  • CrowPanel ESP32 5.79" 電子紙模組

  • USB 連接埠

  • SD 卡槽

  • 三個操作按鈕(Home / Back / Dial Switch)

✅ 二、內建 Demo 介紹

接上電後,電子紙會自動跑內建 Demo,包括:

  • 圖片顯示

  • 簡單 UI 操作

  • 情境控制(Scenario)

    • Living Room

    • Bedroom

    • Dining Room

    • Kitchen(可切換 On/Off)

電子紙在更新畫面時會閃爍一下,這是正常現象。



✅ 三、產品規格整理

項目規格
顯示尺寸5.79 吋
解析度272 × 792
顯示顏色黑 / 白
驅動 ICSSD1683 × 2(並排)
MCUESP32‑S3
Flash / PSRAM8MB
介面SPI / UART / GPIO / TF 卡 / USB
電壓2.2V – 3.7V
特點Partial Refresh、低功耗、廣視角


✅ 四、電子紙的特性與注意事項

✅ 1. 低更新速度(Low Refresh Speed)

電子紙更新畫面時需要閃爍幾次,因此比較適合:

  • 靜態畫面

  • 少量更新的資訊(例如:天氣、溫度、濕度)

✅ 2. 高對比度(Contrast)

在光線充足的環境下非常清晰。 但在昏暗環境下需要外部光源。

✅ 3. 無灰階、無彩色

電子紙只有黑白兩色。 灰階可以透過「抖動(dithering)」方式模擬。



✅ 4. Partial Refresh

可以只更新某個區塊,省電又快速。

✅ 五、開始實作:把官方 Arduino Demo 改成 PlatformIO 專案

官方提供的 Demo 在 GitHub 上,但原始結構是 Arduino IDE 用的。 我們要做的是:

✅ 下載 Demo ✅ 改成 PlatformIO 專案格式 ✅ 加入 credentials.h ✅ 修改城市與 API Key ✅ 編譯、燒錄、顯示天氣資訊

✅ Step 1:下載官方 Demo

官方 Wiki 提供 Arduino 範例:

程式碼
5.79_wifi_http_openweather

你可以從 Elecrow Wiki 或 GitHub 下載。 我也把整理過的版本放在自己的 GitHub Repo,方便直接使用。

✅ Step 2:建立 PlatformIO 專案

  1. 開啟 VS Code

  2. 點 PlatformIO

  3. New Project

  4. 專案名稱:epaper

  5. 開發板:esp32-s3-devkitm-1

✅ Step 3:整理檔案結構(PlatformIO 必做)

Arduino Demo 通常是 .ino,但 PlatformIO 需要:

  • .cpp 放在 /src

  • .h 放在 /include

✅ 你需要做:

  1. 5.79_wifi_http_openweather.ino 改名為: main.cpp

  2. 所有 .cpp/src

  3. 所有 .h/include

✅ Step 4:新增 credentials.h(存放 Wi‑Fi 與 API Key)

/include 新增:

程式碼
credentials.h

內容格式:

cpp
#define WIFI_SSID "你的 Wi-Fi 名稱"
#define WIFI_PASSWORD "你的 Wi-Fi 密碼"
#define OPENWEATHER_API_KEY "你的 API Key"


✅ 這樣可以避免把敏感資訊寫死在 main.cpp 裡。

✅ Step 5:修改 main.cpp(城市與國家代碼)

找到:

cpp
String city = "Hsinchu";
String countryCode = "TW";

改成你自己的城市與國家代碼。

如果不知道代碼,可以問 AI 或查 OpenWeather 網站。

✅ Step 6:編譯與燒錄

  1. 接上 USB

  2. 點 PlatformIO → Upload

  3. 等待燒錄完成

  4. 開啟 Serial Monitor(建議 delay 設 10 秒)

✅ 六、成果展示:電子紙顯示即時天氣

燒錄成功後,電子紙會顯示:

  • 溫度

  • 濕度

  • 可見度

  • 風速

  • 天氣狀態(Mist、Clouds…)

你影片中示範的是新竹的天氣資訊,顯示效果非常清晰。



✅ 七、結語:這片電子紙可以做什麼?

CrowPanel ESP32 5.79" 電子紙非常適合:

  • 天氣看板

  • IoT Dashboard

  • 電子標籤(Shelf Label)

  • 智慧家庭控制面板

  • 低功耗資訊顯示器

如果你有想做的應用,也歡迎在影片底下留言分享。


2025/04/16

線上活動 - 4/16 20:00pm 如何使用 ⭐線上免費工具 getBitmap V0.1⭐!

本活動教你如何使用 ⭐線上免費工具 getBitmap V0.1⭐!

會使用一個 ESP32 + SSD1306 0.96" OLED 來做示範,

如果你手上也有的話, 也請先把線材 SDA, SCL, VCC, GND 接好,

大家一起跟著我, 一步一步的來把圖放到顯示器上.



* Arduino or VS code + Platform I/O 請先安裝 * 本次採用 u8g2 library, 請先安裝 * 其它的板子及顯示器也能用, 但我手上沒有的話, 無法先幫各位測試~ * 這是本社團第一次活動, 歡迎參加~

本次會議採用 Microsoft Teams!

2025/01/17

u8g2 字型產生器網站 / u8g2 uni-font generator web site (stonez56.com/u8g2)

開發 Arduino / ESP32 顯示器 (OLED/LCD) 相關專案時, 常會用到的中文字型, 一般都會採用 u8g2 字型庫, 不過它內建的使用方法較不方便, 需要手動下指令, 或是把一整個字型檔全部帶入, 造成記憶體的浪費.

介紹一個我開發的 u8g2 中文產生器網站. 只要打入要你的中文, 日文, 韓文, 或是其它 UTF-8 的文字, 它都可以幫你快速的產生字型檔, 使用時, 只要把產生字型檔帶入即可, 方便, 快速, 節省大量的記憶體. 

有需要的朋友快來試試吧~ https://stonez56.com/u8g2 



詳細的的字型使用方法也可以參考這裡: https://youtu.be/Ksdwd87JpPs 

Happy weekend!! 😁


-------------------------------------------------------

When developing Arduino/ESP32 projects with displays, Chinese /Japanese/Korean and other UTF fonts are often needed. The u8g2 font library is commonly used, but its built-in usage is inconvenient, requiring manual commands or loading the entire font file, which wastes memory.

I'm introducing a u8g2  font generator website I developed. Just enter the Chinese, Japanese, Korean, or other UTF-8 text you need, and it can quickly generate font files for you. When using them, simply include the generated font file, which is convenient, fast, and saves a lot of memory.

If you're interested, please give it a try! https://stonez56.com/u8g2

You can also refer to this link for detailed instructions on how to use the fonts: https://youtu.be/-bntyE8UYTY

Happy weekend!! 😁

2024/06/13

Arduino #43使用LoRa模組,輕鬆實現長距離免費通訊!(How to use LoRa modules with ESP32 for long distance communication)

 歡迎來到本週的Weekend project with Stonez56!你準備好體驗超炫的科技應用了嗎?本週的主題是使用Arduino #43 LoRa模組,輕鬆實現長距離免費通訊!

這次的影片內容可謂豐富多元,包括以下精彩部分:


* 什麼是LoRa技術以及其應用

* 使用ESP32 LED燈顯示連線狀態,簡單易懂

* 深入探索LoRa模組,一步步教你如何使用

* 教你使用SSD1306 OLED顯示器,方便實用

* 帶你體驗DHT11溫濕度感測器,監測環境變化

* 最後還有程式碼解說,讓你輕鬆上手


這次的Weekend project一定不會讓你失望,絕對值得一看!快來點開影片,體驗科技的樂趣吧!


00:00 開始 00:16 本集影片概要 02:12 LoRa 適用的場合 02:42 RYLR998 LoRa 模組的特性 04:17 使用前所需之基本設定 07:12 AT Command 設定實作(以 VS Code做設定) 09:45 點對點連線實際運作展示 11:15 發射端程式解析 21:00 接收端程式解析


Source code:

2023/01/02

Arduino #42集, “快速取得u8g2的字型代碼” (Get u8g2 unifont code quick & easy, u8g2 のフォント コードをすばやく取得する」です, u8g2용 폰트코드 빠르게 받아보기" 입니다)

歡迎收看Weekend project with Stonez56。 
本周是Arduino #42集, “快速取得u8g2的字型代碼”
我們將使用Stonez56 這個網站來快速取得字型代碼

目前為測試版: https://stonez56.com/u8g2/

這個 Stonez56 轉碼網站過人之處:

* 簡單易用用省時
* 自動移除重複字
* 產生極小的檔案 

使用方法簡單:

* 輸入你要轉換的字詞
* 按下送出
* 下載產生的字型代碼
* 存到 Arduino 專案目錄下
* 在你的主程式中, 用 include 帶進 字型.h 程式
* 用 u8g2.setFont(u8g2_font_unifont_myfonts) 

目前為測試版: https://stonez56.com/u8g2/




===========================
Stonez56 の Weekend プロジェクトへようこそ。
今週は Arduino #42 のエピソード「u8g2 のフォント コードをすばやく取得する」です。
Web サイト Stonez56 を使用して、フォント コードをすばやく取得します。

現在ベータ版:https://stonez56.com/u8g2/

この Stonez56 トランスコーディング サイトの優れた点:
*使いやすく、時間を節約
*重複する単語を自動的に削除
* 非常に小さいファイルを生成します

使いやすい:
*変換したい単語を入力してください
※押すと送信されます
* 生成されたフォント コードをダウンロードする
* Arduino プロジェクト ディレクトリに保存します。
* メイン プログラムで、include を使用して font.h プログラムを取り込みます。
* u8g2.setFont(u8g2_font_unifont_myfonts) を使用

現在ベータ版:https://stonez56.com/u8g2/


=============================
Stonez56과 함께하는 주말 프로젝트에 오신 것을 환영합니다.
이번주는 아두이노 #42편 "u8g2용 폰트코드 빠르게 받아보기" 입니다.
Stonez56 웹 사이트를 사용하여 글꼴 코드를 빠르게 얻습니다.

현재 베타 버전: https://stonez56.com/u8g2/

이 Stonez56 트랜스코딩 사이트의 장점:
* 사용하기 쉽고 시간을 절약
* 중복 단어 자동 제거
* 매우 작은 파일 생성

사용하기 쉬운:
* 변환하려는 단어를 입력하십시오
* 누르면 보내기
* 생성된 글꼴 코드 다운로드
* Arduino 프로젝트 디렉토리에 저장
* 기본 프로그램에서 include를 사용하여 font.h 프로그램을 가져옵니다.
* u8g2.setFont(u8g2_font_unifont_myfonts) 사용

현재 베타 버전: https://kidsgo.net/u8g2/

#arduino #u8g2 #font #lcd #display #weekendprojectwithstonez56 #diy #maker #oled #esp32 #esp8266 #stonez56 #fontgenerator #kidsgo.net #CJKfonts #CJK

2022/12/04

App Inventor #11自己來寫 App - 骰子遊戲 (Dice Game)

大家好, 歡迎收看本週的Weekend project with Stonez56。 

本周要進行的是 App Inventor 第10集 -  自己來寫 App - 骰子遊戲

這個影片適合稍進階同學來觀看&學習, 想要越級挑戰的朋也也歡迎拿來這個單元來學習 App Inventor 2! 

這是一個學習任意組件的好範例, Android, iPad 都可以使用!




本次教學你可以學到:

 * 本集會使用到:

 * 感測器 (Sensor)

 * 變數應用 (Variables)

 * 清單的應用 (List)

 * 圖片的應用 (Image)

 * 為APP加上音音效 (Audio)

 * 亂數的應用 (Randomized)

 * 用任意組件 (Any component)

 * 程序的應用 (Procedure)


參考資料: 

App inventor 語法 & 使用方式: http://ai2.appinventor.mit.edu/reference/blocks/ 

音效來源: https://pixabay.com/ 

圖片製作:  https://figma.com 


如果你時間不夠, 也可以從以下的時間軸挑選想看的部份即可! 


影片時間軸: 

00:00 開始

00:24 骰子 App 示範

01:20 App 畫面的配置 / 素材上傳

04:39 App 程式設計

05:18 如何使用變數/變數種子

06:31 設定音效

11:54 如何使用任意元件

15:22 使用任意組件來移除重複的運算

16:26 把骰子元件放入清單中

23:11 使用任意組件 vs 未使用任意組件


App Inventor 相關教學影片:


* App Inventor #11自己來寫 App - 骰子遊戲 (Dice Game)

https://youtu.be/2d6Si6u8FVE


* App Inventor #10 集 自己來寫 APP YouBike 2.0 (下). 

https://youtu.be/Cli-_lUPjgU


* App Inventor #9 集 - 自己來寫 APP YouBike 2.0 (上) 

https://youtu.be/D78-eDRFiXM


*App Inventor #8 AI2 Companion 一直斷線怎麼辦? AI2 小技巧 (How to keep AI2 always connected for Android) https://youtu.be/_HeM9GyVmIE


* App Inventor #7 ESP32 語音辨識控制 IOT 專案, 使用 IoT Essential Library Example (CC available)  https://youtu.be/senjdb-cREY


* App Inventor #6 使用’ 繪圖動畫' 製作使用者介面 (App Inventor 2 UI design with Draw and Animation) https://youtu.be/RfYi8h9y6kE


* App Inventor #5 - “無線搖控 ESP32-CAM APP 下集 (Write ESP32-CAM remote APP 2/2) https://youtu.be/J8b3zWX1FXM


* App Inventor #4 無線搖控 ESP32-CAM APP 上集 (Write ESP32-CAM remote APP 1/2)

https://youtu.be/x545mFSZWgg


* App Inventor #3 “自己來寫APP 快篩何處買?” (How to process .csv files in App Inventor)

https://youtu.be/u5J4FJQ5UQQ


* App Inventor #2 “自己來寫mqtt APP Android & iOS都能用” (Create MQTT Apps with App Inventor 2)

https://youtu.be/kIONEfLO4sI


* MIT App Inventor 2 #1 - 語音辨識 (Voice Recognition)

https://youtu.be/msV4V6af6tA 

2022/11/06

Arduino #38 YouBike 2.0 餘車通知器 (Arduino #38 ESP32 1306 YouBik 2.0 remain notifier)

大家好, 歡迎收看本週的Weekend project with Stonez56。 

本周要進行的是Arduino 第38集 -  UBike 2.0 餘車通知器.



大多數坐捷運上下班的朋友, 一定有這樣的經驗:下班時,匆匆忙忙趕到捷運站,卻發現捷運站的Ubike已經都沒有了, 只好在那邊癡癡的等候.

如果下班之前, 看一下YouBike 2.0, 餘車通知器, 確定站點還有較多的Ubike, 這時候再過去牽車, 是不是很安心呢? 我們來看看怎麼做吧!


如果你時間不夠, 也可以從以下的時間軸挑選想看的部份即可! 

影片時間軸:

00:00 開始

00:43 UBike 2.0 餘車通知器使用方法

03:22 Google Sheet 設定

14:44 Google Sheet 發佈API設定

17:19 Google Script doPost(e) 程式解釋

20:27 Google Script doGet(e) 程式解釋

21:46 ESP32 程式解釋

26:51 ESP32 refreshYouBike2data (更新SHEET資料)

28:52 ESP32 goGetData 由Sheet取得資料

30:03 showUTF8String 顯示餘車資料


App Inventor 相關教學影片:

* App Inventor #11自己來寫 App - 骰子遊戲 (Dice Game)
https://youtu.be/2d6Si6u8FVE

* App Inventor #10 集 自己來寫 APP YouBike 2.0 (下).
https://youtu.be/Cli-_lUPjgU

* App Inventor #9 集 - 自己來寫 APP YouBike 2.0 (上)
https://youtu.be/D78-eDRFiXM

*App Inventor #8 AI2 Companion 一直斷線怎麼辦? AI2 小技巧 (How to keep AI2 always connected for Android) https://youtu.be/_HeM9GyVmIE

* App Inventor #7 ESP32 語音辨識控制 IOT 專案, 使用 IoT Essential Library Example (CC available)  https://youtu.be/senjdb-cREY

* App Inventor #6 使用’ 繪圖動畫' 製作使用者介面 (App Inventor 2 UI design with Draw and Animation) https://youtu.be/RfYi8h9y6kE

* App Inventor #5 - “無線搖控 ESP32-CAM APP 下集 (Write ESP32-CAM remote APP 2/2) https://youtu.be/J8b3zWX1FXM

* App Inventor #4 無線搖控 ESP32-CAM APP 上集 (Write ESP32-CAM remote APP 1/2)

https://youtu.be/x545mFSZWgg

* App Inventor #3 “自己來寫APP 快篩何處買?” (How to process .csv files in App Inventor)

https://youtu.be/u5J4FJQ5UQQ

* App Inventor #2 “自己來寫mqtt APP Android & iOS都能用” (Create MQTT Apps with App Inventor 2)   https://youtu.be/kIONEfLO4sI

* MIT App Inventor 2 #1 - 語音辨識 (Voice Recognition)
https://youtu.be/msV4V6af6tA 

2022/10/23

App Inventor 第10集 - 自己來寫 YouBike 2.0 APP (下集)

 大家好, 歡迎收看本週的Weekend project with Stonez56。 

本周要進行的是 App Inventor 第10集 -  自己來寫 YouBike 2.0 APP (下集), 這個影片適合初學者來觀看學習, 想拿來這個單元來學習 App Inventor 2 也是很 Ok 的!  

上集影片請點此: https://youtu.be/D78-eDRFiXM 




對了,如果你沒有看過上一集, 請記得到右上角這邊, 按一下先觀看上集再來看下集.  那相信看過上一集的朋友都在等待這一集呢!   這個是一個專門為初學者來開發的一個系列, 所以會講的比較詳細, 相信各位只要仔細收看內容並進行實作, 一定會收獲滿滿滿。好, 那我們就開始吧今天的練習吧~


本集目標:

* 資料由政府資料開放平臺即時更新

* 美化使用者介面 (加入 Splash)

* 加入 App 開機畫面

* 移動 maker 更加順暢

* 打開 App 自動讀入 Json

* 取得手機所在位置定位

* 顯示附近 YouBike 車輛數目 (比對 YouBike 2.0 App 數量)


使用位置感測器, 注意權限:

* 位置權限要授權給 MIT App Companion 

* 若是下載為 APK, 位置權限要授權給 APK

* GPS 精準要打開


如果時間不夠的朋友, 也可以從以下的時間軸挑選想看的部份即可! 

影片時間軸:

00:00 Start

00:37 本集可以學到什麼?

02:14 YouBike 2.0 App 示範

03:28 美化 YouBike 2.0 App

04:30 App 起始畫面 (Splash) 

14:25 直讀政府公開YouBike資料

22:34 設定位置感測器(GPS)

35:17 顯示所有站點及每一站點車輛數

47:54 在我位置做標記


上集影片請點此: https://youtu.be/D78-eDRFiXM 

App Inventor 相關教學影片: * MIT App Inventor 2 #1 - 語音辨識 (Voice Recognition) https://youtu.be/msV4V6af6tA * App Inventor #2 “自己來寫mqtt APP Android & iOS都能用” (Create MQTT Apps with App Inventor 2) https://youtu.be/kIONEfLO4sI * App Inventor #3 “自己來寫APP 快篩何處買?” (How to process .csv files in App Inventor) https://youtu.be/u5J4FJQ5UQQ * App Inventor #4 無線搖控 ESP32-CAM APP 上集 (Write ESP32-CAM remote APP 1/2) https://youtu.be/x545mFSZWgg * App Inventor #5 - “無線搖控 ESP32-CAM APP 下集 (Write ESP32-CAM remote APP 2/2) https://youtu.be/J8b3zWX1FXM * App Inventor #6 使用’ 繪圖動畫' 製作使用者介面 (App Inventor 2 UI design with Draw and Animation) https://youtu.be/RfYi8h9y6kE * App Inventor #7 ESP32 語音辨識控制 IOT 專案, 使用 IoT Essential Library Example (CC available) https://youtu.be/senjdb-cREY *App Inventor #8 AI2 Companion 一直斷線怎麼辦? AI2 小技巧 (How to keep AI2 always connected for Android) https://youtu.be/_HeM9GyVmIE


2022/10/16

App Inventor 第9集, 自己來寫 YouBike 2.0 APP (上集)

大家好, 歡迎收看本週的Weekend project with Stonez56。
本周要進行的是 App Inventor 第9集 - 自己來寫 YouBike 2.0 APP (上集) 
這個影片適合初學者來觀看學習, 想拿來這個單元來學習 App Inventor 2 也是很 Ok 的!



上集內容主要包括程式流程:
  1. 讀入 YouBike 2.0 JSON 資料並做先期處理
  2. 把所有地區送入, 清單選擇器按鈕
  3. 使用者選擇某一地區後
  4. 在清單顯示器內顯示所有的站點, 位置, 總共單車量, 剩餘單車量
  5. 移動地圖到所選的地點, 並呈現出 YouBike 圖示

下集內容包括: (製作中, 敬請期待~ 10/22 TBD)
  1. 資料由政府資料開放平臺即時更新
  2. 更新程式流程並且美化使用者介面
  3. 取得手機所在位置定位
  4. 顯示附近 YouBike 車輛數目
YouBike 2.0 資料是由政府資料開放平臺的下載而來的, 每幾分鐘便會做更新. 本程式會把 YouBike 2.0 json 資料下載到電腦上, 以節省去一直查詢政府雲端資料庫的時間.

參考資料:

如果你時間不夠, 也可以從以下的時間軸挑選想看的部份即可!


影片時間軸:

00:00 開始
00:21 取得 YouBike 即時資訊
01:04 Json 線上編排後讀取 (Json Parser Online)
02:20 YouBike 2.0 APP 成果展示
03:32 開始APP頁面設計
07:23 簡化資料方便偵錯
17:52 開始程式設計
18:29 讀取上傳檔案的位置以 // 表示
29:50 如何取得站別的資訊 (Json)
55:19 如何移動地圖到 YouBike 站點
1:02:15 如何顯示 YouBike 圖示

App Inventor 相關教學影片:

* MIT App Inventor 2 #1 - 語音辨識 (Voice Recognition) https://youtu.be/msV4V6af6tA * App Inventor #2 “自己來寫mqtt APP Android & iOS都能用” (Create MQTT Apps with App Inventor 2) https://youtu.be/kIONEfLO4sI * App Inventor #3 “自己來寫APP 快篩何處買?” (How to process .csv files in App Inventor) https://youtu.be/u5J4FJQ5UQQ * App Inventor #4 無線搖控 ESP32-CAM APP 上集 (Write ESP32-CAM remote APP 1/2) https://youtu.be/x545mFSZWgg * App Inventor #5 - “無線搖控 ESP32-CAM APP 下集 (Write ESP32-CAM remote APP 2/2) https://youtu.be/J8b3zWX1FXM * App Inventor #6 使用’ 繪圖動畫' 製作使用者介面 (App Inventor 2 UI design with Draw and Animation) https://youtu.be/RfYi8h9y6kE * App Inventor #7 ESP32 語音辨識控制 IOT 專案, 使用 IoT Essential Library Example (CC available) https://youtu.be/senjdb-cREY *App Inventor #8 AI2 Companion 一直斷線怎麼辦? AI2 小技巧 (How to keep AI2 always connected for Android) https://youtu.be/_HeM9GyVmIE