備忘錄_20160105(定位) 修改 回首頁

程式 2026-05-05 16:39:14 1777970354 100
製作 gps logger 心得 (esp32 lolin d32, esp32 c3 supermini + u-blox neo-6m, u-blox neo-m8n)

製作 gps logger 心得 (esp32 lolin d32, esp32 c3 supermini + u-blox neo-6m, u-blox neo-m8n)


【mcu 微控制器】
  
  mcu 比較
    esp32 lolin d32 雙核記憶體大,可用 thonny [micropython] 開發
    esp32 c3 supermini 單核記憶體小,使用 arduino [c++] 開發
  
  esp32 c3 supermini 的燒錄問題
    按住 boot 不放
    再按 reset
    放開 reset
    再放開 boot
    這時候可以 erase flash 、 upload programs
    
  esp32 c3 supermini 的 wifi 問題
    最後用 WiFi.setTxPower(WIFI_POWER_8_5dBm); 解決

【電腦與微控制器之間的溝通-序列埠】
  
  USB:Universal Serial Bus
  
  UART:Universal Asynchronous Receiver/Transmitter 通用非同步收發傳輸器
  (e.q.RS232[COM1, COM2, ......], RS449, ......)
  
  通訊埠
   Windows 用 COM (COMunication)
   MacOS X, Linux 用 TTY (teletypewriter)
  
  傳輸速率(Baud rate)
   e.q.9600bps, 115200bps
  
  CDC:Communications Device Class 通訊裝置
  ACM:Abstract Control Model 抽象控制模型
  JTAG:Joint Test Action Group 聯合測試工作群組
  
  USB TO UART:USB→CH340/CP2102晶片→UART TX/RX→MCU
   Win7─COM1, ......
   Win11─COM1, ......
   Ras~PiOS(rpi4,rpi5)─/dev/ttyUSB0, ......
  
  USB CDC ACM:USB→MCU內建的USB Peripheral(虛擬UART,但已非bit傳輸,而是packet傳輸)
   Win7─不支援
   Win11─COM1, ......
   Ras~PiOS(rpi4,rpi5)─/dev/ttyACM0, ......
  
  USB JTAG:透過USB直接對MCU偵錯
   e.q.breakpoint, single step, watch variable
    
  ※rx, tx 衝突問題
    內建序列埠 是 PC 跟 MCU 溝通的管道,thonny與arduino都需要。
    當 gps 模組也要用到 rx, tx 時,就得閃過內建的序列埠。

【gps 模組(neo-6m, neo-7m, neo-m8n, ......)】
  
  neo-6m 抓到衛星時,會閃藍燈。
  neo-m8n 電源導通會有固定紅燈,抓到衛星時,另一個紅燈會閃爍。
  添購時,一定要選有附天線的版本。(通常是陶瓷天線)
  陶瓷天線要遠離雜訊 (mcu, 行動電源, ......)
  
【整合開發環境 ide】

  thonny https://thonny.org/
    
    使用 micropython 語言
    
    工具小而美。寫入的 *.py 檔案可以讀取出來。
    
    win7/win11:到官網下載安裝程式
    Ras~PiOS(rpi4,rpi5):sudo apt install thonny
    
    需要先將 micropython 韌體燒錄到 mcu 中。
  
      https://micropython.org/
      要選對應的 mcu 型號
      esp32 lolin d32 -- 韌體可用
      esp32 c3 supermini -- 韌體可下載,可燒錄,但無法正常使用。
    
  arduino https://www.arduino.cc/ (Products/Arduino IDE)
  
    使用 c++ 語言
    
    工具大很多,但功能較強。
    
    win7:下載舊版來使用 (e.q.arduino 1.8.19)
    win11:下載最新版本並安裝 (e.q.arduino-ide_2.3.8_Windows_64bit.exe)
    Ras~PiOS(rpi4,rpi5):sudo apr install arduino
    
    Arduino IDE
      Board
        (需要用 Boards Manager 下載安裝 Espressif Systems 的 esp32 相關資訊)
        esp32 lolin d32 要選擇 LOLIN D32
        esp32 c3 supermini 要選擇 ESP32C3 Dev Module
      Port
        選擇 COMx 或 ttyUSBx/ttyACMx

【硬體配置】
  
  底板選擇
    1.麵包板+杜邦線
    2.麵包板+短導線
    3.萬用板(洞洞板)+銅線 (電腦纖維萬用板-用這個)(電木PC板-錫黏不住)
    4.PCB(印刷電路板)(EASYEDA+JLCPCB)
  
  外殼挑選
    可到大創、無印良品挑選適合的外殼

  銲接
    電烙鐵 (e.q.日製100W, 臺製40W)
    烙鐵頭 (筆型,刀型)(跟瓦數對應,不能亂買)
    烙鐵架
    錫筆 (含銀錫筆、錫筆)
    鍍錫銅線
    剪刀、小刀
    鑷子
    吸錫線
    
    燈光架+手機架 (老花小幫手)

    麵包板
    排針 (一短一長,兩邊等長)
    
    固定用的硬紙盒
    挖洞器
    螺絲、螺帽
    
    三用電表 (測量有無導通、有無虛銲)

【購買管道-mcu,gps,pcb】
  
  shopee 蝦皮 (mcu、gps模組)
  taobao 淘寶 (mcu、gps模組)
  
  tlcpcb 嘉立創 (pcb板)
  
  easyway (若是境外產品,需要授權,可能要付稅金)