本文列舉《超圖解 Python 物聯網實作入門:使用 ESP8266 與 MicroPython》書本所使用的電子零組件。「全部零件清單」是假設採用麵包板組裝,重複使用零件所需要的最少數量。接線時請留意,同類型的電子零組件往往有不同的供應來源,你所採購的零件接腳位置可能和書本當中的描述不一樣。像底下的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控制板
第3章 MicroPython基本操作
第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章 控制伺服馬達
第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個 |
請問RICELEE 所販售的Wemos D1 mini 是否要自行焊接針腳呢?
不需要。Rice Lee販售的Wemos D1 mini板也已事先焊接好針腳。
thanks,
jeffrey
請問多久會到貨呢
我只是幫忙宣傳,商品資訊和售後服務,煩請跟台灣樹莓派公司客服聯繫。
thanks,
jeffrey
老師您好,Wemos D1 mini板 可以換成 ESP8266-01使用嗎?預算實在不夠只好先詢問您
如果你指的是只有8個接腳的ESP-01模組,只要快閃記憶體大於等於1MB以上,建議4MB即可;我自己沒有嘗試過。
但是,做基礎實驗時,強烈建議採用書本的Wemos D1 mini,因為ESP-01只有兩個可用的I/O腳,而且燒錄韌體比較麻煩,需要額外的接線及USB轉序列線。
替ESP-01模組燒錄MicroPython韌體時,SPI介面選擇DOUT (Dual Output)。
thanks,
jeffrey
老師您好,關於書本中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
拍謝,問題應該是出在Signal(),請參閱這一則留言,謝謝!
thanks,
jeffrey
老師您好
我的問題是我的筆電抓不到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專業版
可否幫我解答
謝謝
Windows 10會自動下載USB通訊晶片的驅動程式,不需要手動安裝。
如果把開發板接上電腦USB時,電腦沒有任何反應,通常是USB線材的問題:有些USB線只能用於充電,沒有數據傳輸功能,請先換一條線試試看。
那個開發板是旗標科技販售的,如果換了USB線材還不行,我再請旗標的銷售人員跟你聯繫,謝謝!
thanks,
jeffrey
謝謝您
我試了幾條USB線後
已抓到了
感謝告知!
thanks,
jeffrey
之前有發問問題,得到解答,但是找不到發文,在此先跟你說聲謝謝:)
想請教另外一個電源的問題,假設Lolin32接了一個超音波元件HC-SR04
是不是就HC-SR04開始耗電了? 如果想斷開元件省電,應該怎樣設計比較正確呢?
有想過中間接個開關,但是手動開關感覺怪怪/傻傻的
HC-SR04的工作電流約15mA,跟一個小型LED差不多,你可用電晶體控制它的電源,電晶體電路的計算方式《超圖解Arduino互動設計入門》第10章有說明 🙂
謝謝。我有買喔,還有買您出版的ESP32:)
做了個耗電實驗,ESP32在每20分鐘掃描一次周邊的Wifi訊號,每次大概會送出10次網路請求到IFTTT紀錄。電池使用小米行動電源,實際容量約6500amh。
如果不使用深度睡眠,大約可以使用4天,使用深度睡眠之後可以使用8天。
自己在做兩個小玩具,想要使用電池,希望儘量能夠長時間使用。一個水位的測量,大約每一個小時測量一次即可,滿了閃紅色LED燈號,想要儘量省電。另外一個是基於您書上寫的氣象站做改寫,順便使用溫溼度測量計,想放在桌上,也不是需要常常更新資訊,所以也想盡量可以省電一點
了解,感謝分享!
老師您好,我想問有關中文輸入與顯示的問題:因為micropython好像不支援中文,所以如果想在命令列輸入或輸出中文都會亂碼,不知道有沒有辦法解決?(我在網路上看到的都是用字庫的方法但不太懂,我想把gps的座標跟輸入的名稱存進資料庫裡)
請問你有試過用網頁表單解決嗎?
抱歉 不是很懂 可以說詳細一點嗎 謝謝
我不清楚你的專案內容,我猜想伺服器從某些執行micropython的微控板,接收GPS資料。GPS資料本身只是英數字和符號構成的字串,沒有牽涉到中文。
我想像的畫面是,有個表單頁面,使用者從選單選取某個代號的裝置,這個裝置傳回GPS值,接著使用者在另一個欄位輸入一些中文資料,最後按下「儲存」。
這個負責寫入資料庫的表單處理程式放在伺服器端(電腦),為何有中文的問題?
==== 更新 =====
拍謝,重新看了一下你的問題,我好像想太多了,你只要從命令行操控單一微控板然後儲存資料 …
可是你的電腦端還是要有個寫入資料庫的程式啊?
應該是從電腦端的程式去讀取GPS資料,再附加其他資料,寫入資料庫。
您好,感謝您耐心回答,我目前是做到: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上顯示:輸入目前地點名稱:,打進去後執行上面說的操作,但中文沒法顯示導致輸出輸入都有問題。希望這樣有說的清楚一點
了解,抱歉我目前沒有使用Node-RED`…