LoginSignup
7

More than 3 years have passed since last update.

posted at

updated at

Organization

obniz SDK対応パーツの各ショップ価格一覧

はじめに

本当はobniz SDK対応パーツのAliExpress最安値の一覧を作りたかったのですが、AliExpressがいつの間にかログイン必須&ボット対策厳しめになってしまったので諦めました…
代わりにパーツライブラリに掲載のあるショップより、件数の多い秋月電子通商Switch ScienceAdafruitの価格の一覧と、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))

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
7