《超圖解 Python 物聯網實作入門:使用 ESP8266 與 MicroPython》零件清單

本文列舉《超圖解 Python 物聯網實作入門:使用 ESP8266 與 MicroPython》書本所使用的電子零組件。「全部零件清單」是假設採用麵包板組裝,重複使用零件所需要的最少數量。接線時請留意,同類型的電子零組件往往有不同的供應來源,你所採購的零件接腳位置可能和書本當中的描述不一樣。像底下的0.97吋OLED螢幕,第一腳可能是電源,也可能是接地,請仔細確認電路板上面的標示。

0.97吋OLED螢幕

全部零件清單

台灣樹莓派公司有販售本書的材料包,有興趣的讀者可參考《超圖解 Python 物聯網實作入門實驗套件包》商品說明。在結帳時輸入此折扣代碼:SWF5OFF 可享台灣樹莓派公司提供的95折優惠。

Wemos D1 mini板 1片
   
電阻220Ω 1個
電阻620Ω 1個
電阻1KΩ 1個
電阻2.2KΩ 1個
可變電阻10KΩ 1個
光敏電阻 1個
   
電容0.1μF 1個
   
TIP120電晶體 1個
1N4004二極體 1個
1N4148二極體 1個
   
LED(顏色不拘) 1個
共陰極RGB LED模組 1個
內建8個WS2812晶片的彩燈板(直列或圓形) 1個
0.97吋、128×64像素、單色的OLED圖像顯示模組 1個
採用MAX7219的8×8 LED矩陣模組 1個
輕觸開關 1個
1路(或4路)觸控開關模組 1個
旋轉編碼器 1個
   
DHT11溫濕度感測模組 1個
採UART序列介面的GPS接收模組 1個
類比搖桿模組 1個
PCF8591類比數位轉換模組 1個
採MAX9812 IC的聲音放大模組 1個
超音波距離感測模組(SRF05) 1個
MicroSD或SD記憶卡模組 1個
Wemos繼電器模組 1個
   
Wemos馬達擴展板 1個
採用雙馬達驅動的模型玩具或DIY小車套件 1個
FA-130馬達 1個
SG90微型伺服馬達 2個
   
電源供應板(5V和3.3V輸出) 1個

直流電壓轉換板(驅動直流馬達用,輸出:3V/2A)

1個
USB轉TTL序列線(具3.3V輸出) 1個
   
Wemos Buzzer(蜂鳴器)擴展板 1個
蜂鳴器擴展板可用下列零件代替  
蜂鳴器(5V) 1個
8050電晶體 1個

電阻470Ω

1個

按章節劃分的零件清單

第1章 認識MicroPython與ESP8266控制板

Wemos D1 mini控制板 1片

第3章 MicroPython基本操作

電阻220Ω 1個
LED(顏色不拘) 1個

第4章 開關電路

輕觸開關 1個
電阻1KΩ(或4.7KΩ或10KΩ) 1個
電容0.1μF(或0.2μF) 1個
1路(或4路)觸控開關模組 1個

第7章 序列埠通信

DHT11溫濕度感測模組 1個
採UART序列介面的GPS接收模組 1個
電阻1KΩ 1個

第8章 數位調節電壓強弱與全彩LED控制

電阻220Ω 1個
LED(顏色不拘) 1個
RGB LED模組 1個
旋轉編碼器 1個
共陰極RGB LED模組 1個
內建8個WS2812晶片的彩燈板(直列或圓形) 1個

第9章 電晶體與蜂鳴器和直流馬達控制

Buzzer(蜂鳴器)擴展板 1個
蜂鳴器擴展板可用下列零件代替  
蜂鳴器(5V) 1個
8050電晶體 1個

電阻470Ω

1個
   
單芯導線 約15cm
FA-130馬達 1個
TIP120電晶體 1個
1N4004二極體 1個
電阻620Ω 1個
旋轉編碼器 1個
電源供應板(5V和3.3V輸出) 1個
直流電壓轉換板(驅動直流馬達用,輸出:3V/2A) 1個

第10章 控制伺服馬達

9G伺服馬達 1個
微觸開關 1個

第11章 類比信號處理

可變電阻10KΩ 1個
電阻 10KΩ 1個
熱敏電阻 1個
光敏電阻 1個
9g伺服馬達 1個
雷射簡報筆(實驗時,可用一般光源替代) 1個
採MAX9812 IC的聲音放大模組 1個

第12章 I2C介面:連接週邊與擴充ESP8266的類比輸入埠

PCF8951模組 1個
SG90微型伺服馬達 2個
類比搖桿模組 1個
PCF8591類比數位轉換模組 1個
0.97吋、128×64像素、單色的OLED圖像顯示模組 1個
DHT11溫濕度感測模組 1個

第13章 超音波距離感測器與I2C直流馬達驅動控制板實驗

超音波距離感測模組(SRF05) 1個
電阻2.2KΩ 1個
USB轉TTL序列線(具3.3V輸出) 1個
超音波感測器模組 1個
Wemos馬達擴展板 1個
採用雙馬達驅動的模型玩具或DIY小車套件 1個

第14章 製作GPS軌跡記錄器

採UART序列介面的GPS接收模組 1個
0.97吋、128×64像素、單色的OLED圖像顯示模組 1個
輕觸開關或D1 mini專屬「按鍵擴展板」 1個
GPS衛星定位接收模組 1個

第15章 SPI介面控制:LED矩陣和MicroSD記憶卡

採用MAX7219的8×8 LED矩陣模組 1個
MicroSD或SD記憶卡模組 1個

第17章 物聯網應用初步

DHT11溫濕度感測模組 1個
直流5V驅動的繼電器控制 1個
Posts created 483

22 thoughts on “《超圖解 Python 物聯網實作入門:使用 ESP8266 與 MicroPython》零件清單

    1. 我只是幫忙宣傳,商品資訊和售後服務,煩請跟台灣樹莓派公司客服聯繫。

      thanks,
      jeffrey

  1. 老師您好,Wemos D1 mini板 可以換成 ESP8266-01使用嗎?預算實在不夠只好先詢問您

    1. 如果你指的是只有8個接腳的ESP-01模組,只要快閃記憶體大於等於1MB以上,建議4MB即可;我自己沒有嘗試過。

      但是,做基礎實驗時,強烈建議採用書本的Wemos D1 mini,因為ESP-01只有兩個可用的I/O腳,而且燒錄韌體比較麻煩,需要額外的接線及USB轉序列線。

      替ESP-01模組燒錄MicroPython韌體時,SPI介面選擇DOUT (Dual Output)。

      thanks,
      jeffrey

  2. 老師您好,關於書本中p13-12利用超音波控制燈光亮度,我執行範例程式碼後出現以下的錯誤訊息:
    Traceback (most recent call last):
    File “”, line 14, in
    TypeError: can’t convert PWM to int
    程式碼:
    1 from hcsr04 import HCSR04
    2 from machine import Pin, PWM, Signal
    3 import time
    4
    5 sr04 = HCSR04()
    6 ledPin = PWM(Pin(2), freq=1000)
    7 led = Signal(ledPin, invert=True)
    8 pwm = 0
    9
    10 def setPWM(dist, pin):
    11 dist = max(minDist, min(dist, maxDist))
    12 pwm = (dist-minDist) / (maxDist – minDist) * 1024
    13 pin.duty(pwm);
    14

  3. 老師您好

    我的問題是我的筆電抓不到WEMOS D1 Mini

    我依封面的網址已購入WEMOS D1 Mini
    實際插上USB的兩端後,板子上的LED也有閃了一下,所以應該已正常過電
    依書本1-24到http://goo.gl/rWhMSL下載USB驅動程式,但該網址已呈現不存在
    另行Google下載forwindows 8的驅動程式
    https://escapequotes.net/esp8266-wemos-d1-mini-ch340-windows-driver/

    但安裝後在裝置管理員仍沒有顯示任何「連接埠(COM和LPT)」
    利用Arduino IDE中來看「序列埠」也為灰階
    我的作業系統是Windows 10專業版

    可否幫我解答
    謝謝

    1. Windows 10會自動下載USB通訊晶片的驅動程式,不需要手動安裝。

      如果把開發板接上電腦USB時,電腦沒有任何反應,通常是USB線材的問題:有些USB線只能用於充電,沒有數據傳輸功能,請先換一條線試試看。

      那個開發板是旗標科技販售的,如果換了USB線材還不行,我再請旗標的銷售人員跟你聯繫,謝謝!

      thanks,
      jeffrey

  4. 之前有發問問題,得到解答,但是找不到發文,在此先跟你說聲謝謝:)

    想請教另外一個電源的問題,假設Lolin32接了一個超音波元件HC-SR04
    是不是就HC-SR04開始耗電了? 如果想斷開元件省電,應該怎樣設計比較正確呢?
    有想過中間接個開關,但是手動開關感覺怪怪/傻傻的

    1. HC-SR04的工作電流約15mA,跟一個小型LED差不多,你可用電晶體控制它的電源,電晶體電路的計算方式《超圖解Arduino互動設計入門》第10章有說明 🙂

  5. 謝謝。我有買喔,還有買您出版的ESP32:)

    做了個耗電實驗,ESP32在每20分鐘掃描一次周邊的Wifi訊號,每次大概會送出10次網路請求到IFTTT紀錄。電池使用小米行動電源,實際容量約6500amh。

    如果不使用深度睡眠,大約可以使用4天,使用深度睡眠之後可以使用8天。

    自己在做兩個小玩具,想要使用電池,希望儘量能夠長時間使用。一個水位的測量,大約每一個小時測量一次即可,滿了閃紅色LED燈號,想要儘量省電。另外一個是基於您書上寫的氣象站做改寫,順便使用溫溼度測量計,想放在桌上,也不是需要常常更新資訊,所以也想盡量可以省電一點

  6. 老師您好,我想問有關中文輸入與顯示的問題:因為micropython好像不支援中文,所以如果想在命令列輸入或輸出中文都會亂碼,不知道有沒有辦法解決?(我在網路上看到的都是用字庫的方法但不太懂,我想把gps的座標跟輸入的名稱存進資料庫裡)

    1. 我不清楚你的專案內容,我猜想伺服器從某些執行micropython的微控板,接收GPS資料。GPS資料本身只是英數字和符號構成的字串,沒有牽涉到中文。

      我想像的畫面是,有個表單頁面,使用者從選單選取某個代號的裝置,這個裝置傳回GPS值,接著使用者在另一個欄位輸入一些中文資料,最後按下「儲存」。

      這個負責寫入資料庫的表單處理程式放在伺服器端(電腦),為何有中文的問題?

      ==== 更新 =====

      拍謝,重新看了一下你的問題,我好像想太多了,你只要從命令行操控單一微控板然後儲存資料 …
      可是你的電腦端還是要有個寫入資料庫的程式啊?
      應該是從電腦端的程式去讀取GPS資料,再附加其他資料,寫入資料庫。

  7. 您好,感謝您耐心回答,我目前是做到:esp32接上neo6m接收gps資料,然後連接無線網路及mqtt(esp32是直接用線接到筆電供電),並將位置弄成json格式送到mqtt;同時筆電端開啟mqtt,接收json格式的訊息(像這樣{“name”: “test”, “lat”: lat, “lon”: long},最後筆電端開node-red及mqtt in節點接收並傳到worldmap節點並顯示在地圖上。我目前想要的是,在走到某個地點(學校的某個建築物)時,能輸入此處的地名,然後esp32將這個地名和同時讀取到的gps位置儲存並發送mqtt,然後再傳入mysql的table(如table下有name,latitude,longtitude這三欄去存一個位置),同時nodered也要讀取mysql儲存的位置資訊並顯示在worldmap節點上。原本我是想在python的terminal上顯示:輸入目前地點名稱:,打進去後執行上面說的操作,但中文沒法顯示導致輸出輸入都有問題。希望這樣有說的清楚一點

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

Related Posts

Begin typing your search term above and press enter to search. Press ESC to cancel.

Back To Top