はじめに
本当はobniz SDK対応パーツのAliExpress最安値の一覧を作りたかったのですが、AliExpressがいつの間にかログイン必須&ボット対策厳しめになってしまったので諦めました…
代わりにパーツライブラリに掲載のあるショップより、件数の多い秋月電子通商、Switch Science、Adafruitの価格の一覧と、AliExpressの最安値検索リンクの一覧を作りました。
(AliExpressのリンクはSearch queryにパーツ名突っ込んでるだけなので、検索結果は中々適当です)
obniz SDK対応パーツ価格一覧
2019/12/10時点のものです。
カテゴリー |
パーツ |
秋月電子通商 |
Switch Science |
Adafruit |
AliExpress |
Light |
LED |
¥25 / 1個 |
¥1,214 / 25個 |
- |
link |
Light |
FullcolorLED |
¥50 / 1個 |
- |
- |
link |
Light |
WS2811 |
¥40 / 1個 |
¥704 / 5個 |
- |
link |
Light |
WS2812 |
- |
- |
- |
link |
Light |
WS2812B |
- |
¥1,078 / 1個 |
$7.50 / 1個 |
link |
Infrared |
InfraredLED |
¥100 / 5個 |
¥55 / 1個 |
$0.75 / 1個 |
link |
Infrared |
IRSensor |
¥100 / 2個 |
¥330 / 1個 |
- |
link |
Infrared |
IRModule |
- |
- |
- |
link |
Infrared |
YG1006 |
¥400 / 1セット |
- |
- |
link |
Display |
7SegmentLED |
¥40 / 1個 |
- |
- |
link |
Display |
7SegmentLEDArray |
- |
- |
- |
link |
Display |
7SegmentLED_MAX7219 |
- |
- |
$11.95 / 1個 |
link |
Display |
MatrixLED_MAX7219 |
販売終了 / - |
- |
- |
link |
Display |
SainSmartTFT18LCD |
- |
- |
- |
link |
Display |
SharpMemoryTFT |
- |
- |
$24.95 / 1個 |
link |
Camera |
ArduCAMMini |
- |
¥3,540 / 1個 |
- |
link |
Camera |
JpegSerialCam |
¥3,850 / 1セット |
- |
$35.95 / 1個 |
link |
Moving |
DCMotor |
¥120 / 1個 |
¥247 / 1個 |
$1.95 / 1個 |
link |
Moving |
ServoMotor |
¥850 / 1個 |
¥1,023 / 1個 |
$12.00 / 1個 |
link |
Moving |
StepperMotor |
¥1,380 / 1個 |
- |
$4.95 / 1個 |
link |
Moving |
Solenoid |
¥450 / 1個 |
- |
- |
link |
Moving |
PCA9685 |
¥950 / 1キット |
¥2,134 / 1個 |
$14.95 / 1個 |
link |
Sound |
Speaker |
¥30 / 1個 |
¥104 / 1個 |
$0.95 / 1個 |
link |
GasSensor |
MQ2 |
- |
- |
- |
link |
GasSensor |
MQ3 |
- |
- |
- |
link |
GasSensor |
MQ4 |
- |
- |
- |
link |
GasSensor |
MQ5 |
- |
- |
- |
link |
GasSensor |
MQ6 |
- |
- |
- |
link |
GasSensor |
MQ7 |
- |
- |
- |
link |
GasSensor |
MQ8 |
- |
- |
- |
link |
GasSensor |
MQ9 |
- |
- |
- |
link |
GasSensor |
MQ135 |
- |
- |
- |
link |
Logic |
SNx4HC595 |
販売終了 / - |
¥375 / 1個 |
- |
link |
Accessory |
USB |
- |
- |
- |
link |
Wireless |
RN42 |
¥2,800 / 1セット |
¥3,303 / 1個 |
- |
link |
Wireless |
XBee |
¥4,050 / 1個 |
¥4,125 / 1個 |
$37.95 / 1個 |
link |
Wireless |
MFRC522 |
- |
- |
- |
link |
Movement Sensor |
Button |
¥30 / 1個 |
¥62 / 1個 |
$5.95 / 15 pack |
link |
Movement Sensor |
JoyStick |
¥850 / 1個 |
- |
$5.95 / 1個 |
link |
Movement Sensor |
Potentiometer |
¥40 / 1個 |
- |
- |
link |
Movement Sensor |
ENC03R_Module |
¥400 / 1個 |
- |
- |
link |
Movement Sensor |
HC-SR505 |
- |
- |
- |
link |
Movement Sensor |
PaPIRsVZ |
¥480 / 1個 |
- |
- |
link |
Movement Sensor |
FSR-40X |
¥500 / 1枚 |
- |
- |
link |
Movement Sensor |
KXR94-2050 |
¥850 / 1個 |
- |
- |
link |
Movement Sensor |
MPU9250 |
- |
- |
- |
link |
Movement Sensor |
MPU6050 |
- |
- |
- |
link |
Movement Sensor |
MPU6886 |
- |
- |
- |
link |
Movement Sensor |
AK8963 |
- |
- |
- |
link |
Movement Sensor |
IPM-165 |
¥2,100 / 1個 |
- |
- |
link |
Distance Sensor |
HC-SR04 |
¥450 / 1個 |
- |
- |
link |
Distance Sensor |
GP2Y0A21YK0F |
¥450 / 1個 |
- |
$14.95 / 1個 |
link |
GPS |
GYSFDMAXB |
¥2,100 / 1個 |
- |
- |
link |
Magnet |
HMC5883L |
- |
- |
$9.95 / 1個 |
link |
Magnet |
CT10 |
- |
- |
- |
link |
ADConverter |
hx711 |
¥350 / 1キット |
- |
- |
link |
Soil Moisture Sensor |
SEN0114 |
¥500 / 1セット |
- |
- |
link |
Biological Sensor |
PULSE08-M5STICKC-S |
- |
- |
- |
link |
Temperature Sensor |
LM35DZ |
¥110 / 1個 |
- |
- |
link |
Temperature Sensor |
LM60 |
¥100 / 1個 |
- |
- |
link |
Temperature Sensor |
LM61 |
¥60 / 1個 |
- |
- |
link |
Temperature Sensor |
LMT87 |
- |
- |
- |
link |
Temperature Sensor |
MCP9700 |
¥40 / 1個 |
- |
- |
link |
Temperature Sensor |
MCP9701 |
¥200 / 8個 |
- |
- |
link |
Temperature Sensor |
SHT31 |
¥950 / 1キット |
- |
$13.95 / 1個 |
link |
Temperature Sensor |
BME280 |
- |
¥1,650 / 1個 |
$19.95 / 1個 |
link |
Temperature Sensor |
AMG8833 |
- |
¥4,950 / 1個 |
$39.95 / 1個 |
link |
Temperature Sensor |
DHT12 |
- |
- |
- |
link |
Temperature Sensor |
D6T44L |
- |
¥7,150 / 1個 |
- |
link |
Temperature Sensor |
AM2320 |
¥600 / 1個 |
- |
- |
link |
Light/Color Sensor |
S11059 |
¥500 / 1セット |
- |
- |
link |
Light/Color Sensor |
PT550 |
¥450 / 1セット |
- |
- |
link |
Grove |
Grove_Button |
- |
¥286 / 1個 |
- |
link |
Grove |
Grove_Buzzer |
- |
¥4,257 / 1個 |
- |
link |
Grove |
Grove_EarHeartRate |
- |
¥1,837 / 1個 |
- |
link |
Grove |
Grove_MP3 |
¥1,200 / 1個 |
- |
- |
link |
Grove |
Grove_GPS |
- |
¥4,257 / 1個 |
- |
link |
Grove |
Grove_3AxisAccelerometer |
- |
- |
- |
link |
Ble |
2JCIE |
- |
- |
- |
link |
テーブルの元データ
上記の情報はスクレイピングで取得しています。
一応アクセス先サーバーにあまり負荷がかからないよう1秒ずつsleep入れたり、念の為各サイトの利用規約はチェックしています…
とはいえスクレイピングソースの公開はあれなので、スクレイピングした結果取得できるJSONデータをGistへ公開しています。
お好みのフォーマットに整形して管理してみてください。
result.json (Gist)
Markdownテーブル生成
一例として上記のJSONからMarkdownテーブルを生成するソースです。
インプットのJSONファイル名はresult.json
決め打ちになってます。
const json = require("./result")
const makeMdTable = json => {
const header = ["カテゴリー", "パーツ", "秋月電子通商", "Switch Science", "Adafruit", "AliExpress"]
const separator = ["---","---",":-:",":-:",":-:",":-:"]
const table = [header, separator]
json.map(parts => {
const row = []
row.push(parts.category)
row.push(`[${parts.name}](${parts.url})`)
const shopList = ["akizuki", "switch-science", "adafruit"]
shopList.map((shopName, index) => {
parts.shopList.map(shop => {
if (shop.name === shopName) row.push(shop.data.price ? `[${shop.data.price} / ${shop.data.num || "1個(多分)"}](${shop.url})` : "-")
})
if (row.length < index + 3) row.push("-")
})
// aliexpress
parts.shopList.map(shop => {
if (shop.name === "aliexpress") row.push(`[link](${shop.url})`)
})
table.push(row)
})
const mdTable = table.map(row => `|${row.join("|")}|`).join("\n")
return mdTable
}
console.log(makeMdTable(json))