3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

前回、ESP32-C3 + CANトランシーバ で OBD2コネクタから情報取得に成功しました。
ただし、Serialへ出力しているため、有線でした(ESP32-C3 を USBケーブルでPCと接続し、シリアルモニターで表示)。

そこで 今回は、BLEを使って無線化します。
無線化の他に、クルマから追加の情報取得、マルチフレーム対応も合わせて行います。

1. OTA化

せっかく無線化しますので、プログラム(スケッチ)のアップロードも USBではなく、OTA(Over-The-Air)化します。
しかし、BLE + CAN と Wifi + OTA を同時に走らせると、片側がまったく無駄であり、かつ、SRAM(400KB)が枯渇することが想定されます。

そこで、プッシュスイッチ(タクトスイッチ)を追加して、スイッチを押しながら起動した場合に OTA を開始、スイッチが押されていない通常起動の場合は、BLE + CAN を開始 するようにします。

IMG_9016.jpeg 左側に出ている 赤いプッシュスイッチがソレです。

なお、OTA には ElegantOTA を使いました。
また、車載のままアップデートすることも考慮して、WiFi は APモード とし、PCやスマホ の Wifi設定で ESP32C3_OTA_APに接続して、http://192.168.4.1/updateを開きます。

2. ESP32-C3側プログラム

BLE + CAN と Wifi + OTA を実装するため、コード量が倍増しました。

クルマから取得する情報
0x0C : エンジン回転数
0x0D : 車速
0x05 : 冷却水の温度
0x0F : 吸入空気温度
0x11 : アクセル開度
0x04 : エンジン負荷
0x42 : ECU電圧
0x46 : 外気温度
0x33 : 大気圧
0x70 : ターボチャージャー過給圧特性(マルチフレーム)
0x78 : 排気温度センサー(EGT)(マルチフレーム)

PID=0x70 と 0x78 のマルチフレームで返る情報を追加しましたが、デコード方法の詳細が不明のため、16進数での出力です。次回、もう少し研究したいと思います。

can_v2.ino
// for ESP32-C3 Supermini and SN65HVD230 CAN receiver
//     Wifi AP & ElegantOTA

#include <WiFi.h>
#include <WiFiClient.h>
#include <WebServer.h>
#include <ElegantOTA.h>

#undef LED_BUILTIN
#define LED_BUILTIN 8 //actve low
#define LED_ON  LOW
#define LED_OFF HIGH

const char *ssid = "ESP32C3_OTA_AP";
const char *password = "876543210";
uint32_t last_ota_time = 0;

// モード切替用のピン(スイッチを押すとGNDに落ちる)
const int MODE_SWITCH_PIN = 10; 

// 動作モードを保持するフラグ
bool isOtaMode = false;

WebServer server(80);


#include "driver/twai.h"
#include <stdio.h>
#include <BLEDevice.h>
#include <BLEServer.h>
#include <BLEUtils.h>
#include <BLE2902.h>

// ESP32-C3のGPIOピン設定
#define TX_PIN GPIO_NUM_2
#define RX_PIN GPIO_NUM_3

// OBD2の標準的なCAN ID
#define OBD_REQUEST_ID       0x7DF
#define OBD_RESPONSE_ID      0x7E8

// BLE-UART (Nordic NUS) 標準のUUID定義
#define SERVICE_UUID "6E400001-B5A3-F393-E0A9-E50E24DCCA9E"            // UARTサービス
#define TX_CHARACTERISTIC_UUID "6E400003-B5A3-F393-E0A9-E50E24DCCA9E"  // Notify用ピン(ESP32 -> セントラル)

// 一括出力用のグローバル固定長バッファ
char outputBuffer[384];

// BLE関連のグローバル変数
BLEServer* pServer = NULL;
BLECharacteristic* pTxCharacteristic = NULL;
bool deviceConnected = false;

// 受信ステートマシンの定義
enum CanRxState {
  STATE_IDLE,
  STATE_WAIT_FIRST,
  STATE_WAIT_CONSECUTIVE,
  STATE_COMPLETE
};

// 各PIDのデータを格納する配列の構造体定義
struct ObdParameter {
  uint8_t pid;       // OBD2のPIDコード
  const char* name;  // 表示名
  void (*parser)(uint8_t* data, const char* name, char* buf, size_t max_len, bool isLast);
};

// --- BLE接続状態のコールバッククラス ---
class MyServerCallbacks : public BLEServerCallbacks {
  void onConnect(BLEServer* pServer) {
    deviceConnected = true;
  };
  void onDisconnect(BLEServer* pServer) {
    deviceConnected = false;
    delay(500);
    pServer->startAdvertising();
  }
};

// --- シリアル出力と同時に、BLEへNotify送信する共通関数 ---
void logWithTimestamp(const char* message, bool addNewLine = true) {
  unsigned long currentMillis = millis();
  unsigned long total_seconds = currentMillis / 1000;
  unsigned long hours = total_seconds / 3600;
  unsigned long minutes = (total_seconds % 3600) / 60;
  unsigned long seconds = total_seconds % 60;
  unsigned long ms = currentMillis % 1000;

  // タイムスタンプバッファ
  char timestamp[32];
  snprintf(timestamp, sizeof(timestamp), "[%lu:%02lu:%02lu.%03lu] ", hours, minutes, seconds, ms);

  // 1. USBシリアルへの出力
  Serial.print(timestamp);
  if (addNewLine) {
    Serial.println(message);
  } else {
    Serial.print(message);
  }

  // 2. BLE接続中のセントラルがあればデータをNotify送信
  if (deviceConnected) {
    // 送信データ用のバッファを一時確保
    char bleBuffer[416];
    if (addNewLine) {
      snprintf(bleBuffer, sizeof(bleBuffer), "%s%s\r\n", timestamp, message);  // 改行付き
    } else {
      snprintf(bleBuffer, sizeof(bleBuffer), "%s%s", timestamp, message);
    }

    // BLEの標準最大パケットサイズ(MTU)の制限を考慮し、ループで細切れに送る
    size_t bleLen = strlen(bleBuffer);
    size_t sentBytes = 0;

    while (sentBytes < bleLen) {
      size_t chunkLen = bleLen - sentBytes;
      if (chunkLen > 20) chunkLen = 20;  // 1パケット最大20バイト制限の安全策

      pTxCharacteristic->setValue((uint8_t*)(bleBuffer + sentBytes), chunkLen);
      pTxCharacteristic->notify();
      sentBytes += chunkLen;
      delay(3);  // セントラル側の受信オーバーフローを防ぐためのウェイト
    }
  }
}

// 引数 data は、ヘッダー(41 PID)を除いた、純粋なOBD2データ本体(Data A, B, C, ...)の先頭ポインタ
void parseRPM(uint8_t* data, const char* name, char* buf, size_t max_len, bool isLast) {
  // Data A = data[0], Data B = data[1]
  uint16_t rpm = ((data[0] << 8) | data[1]) / 4;
  size_t current_len = strlen(buf);
  snprintf(buf + current_len, max_len - current_len, "%s: %u rpm%s", name, rpm, isLast ? "" : " | ");
}

void parseSpeed(uint8_t* data, const char* name, char* buf, size_t max_len, bool isLast) {
  uint8_t speed = data[0];
  size_t current_len = strlen(buf);
  snprintf(buf + current_len, max_len - current_len, "%s: %u km/h%s", name, speed, isLast ? "" : " | ");
}

void parseCoolantTemp(uint8_t* data, const char* name, char* buf, size_t max_len, bool isLast) {
  int temp = data[0] - 40;
  size_t current_len = strlen(buf);
  snprintf(buf + current_len, max_len - current_len, "%s: %d °C%s", name, temp, isLast ? "" : " | ");
}

void parseIntakeTemp(uint8_t* data, const char* name, char* buf, size_t max_len, bool isLast) {
  int temp = data[0] - 40;
  size_t current_len = strlen(buf);
  snprintf(buf + current_len, max_len - current_len, "%s: %d °C%s", name, temp, isLast ? "" : " | ");
}

void parseThrottle(uint8_t* data, const char* name, char* buf, size_t max_len, bool isLast) {
  float throttle = (data[0] * 100.0) / 255.0;
  size_t current_len = strlen(buf);
  snprintf(buf + current_len, max_len - current_len, "%s: %.1f %%%s", name, throttle, isLast ? "" : " | ");
}

void parseEngineLoad(uint8_t* data, const char* name, char* buf, size_t max_len, bool isLast) {
  float load = (data[0] * 100.0) / 255.0;
  size_t current_len = strlen(buf);
  snprintf(buf + current_len, max_len - current_len, "%s: %.1f %%%s", name, load, isLast ? "" : " | ");
}

void parseVolt(uint8_t* data, const char* name, char* buf, size_t max_len, bool isLast) {
  float volt = ((data[0] << 8) | data[1]) / 1000.0;
  size_t current_len = strlen(buf);
  snprintf(buf + current_len, max_len - current_len, "%s: %.2f V%s", name, volt, isLast ? "" : " | ");
}

void parseAmbientTemp(uint8_t* data, const char* name, char* buf, size_t max_len, bool isLast) {
  int temp = data[0] - 40;
  size_t current_len = strlen(buf);
  snprintf(buf + current_len, max_len - current_len, "%s: %d °C%s", name, temp, isLast ? "" : " | ");
}

void parseBaroPressure(uint8_t* data, const char* name, char* buf, size_t max_len, bool isLast) {
  uint16_t hpa = data[0] * 10;
  size_t current_len = strlen(buf);
  snprintf(buf + current_len, max_len - current_len, "%s: %u hPa%s", name, hpa, isLast ? "" : " | ");
}

void parseRailPressure(uint8_t* data, const char* name, char* buf, size_t max_len, bool isLast) {
  uint32_t raw = ((uint32_t)data[1] << 8) | data[2];
  float bar = (raw * 10) / 100.0;
  size_t current_len = strlen(buf);
  snprintf(buf + current_len, max_len - current_len, "%s: %.1f bar%s", name, bar, isLast ? "" : " | ");
}

void parseExhaustTemp(uint8_t* data, const char* name, char* buf, size_t max_len, bool isLast) {
  uint16_t raw_temp = ((uint16_t)data[1] << 8) | data[2];
  float temp = (raw_temp / 10.0) - 40.0;
  size_t current_len = strlen(buf);
  snprintf(buf + current_len, max_len - current_len, "%s: %.1f °C%s", name, temp, isLast ? "" : " | ");
}

void parsePID70(uint8_t* data, const char* name, char* buf, size_t max_len, bool isLast) {
  size_t current_len = strlen(buf);
  snprintf(buf + current_len, max_len - current_len, "%s: %02X%02X %02X%02X %02X%02X %02X%02X %02X%02X%s",
           name, data[0], data[1], data[2], data[3], data[4], data[5], data[6], data[7], data[8], data[9], isLast ? "" : " | ");
}
void parsePID78(uint8_t* data, const char* name, char* buf, size_t max_len, bool isLast) {
  size_t current_len = strlen(buf);
  snprintf(buf + current_len, max_len - current_len, "%s: %02X%02X %02X%02X %02X%02X %02X%02X %02X%s",
           name, data[0], data[1], data[2], data[3], data[4], data[5], data[6], data[7], data[8], isLast ? "" : " | ");
}


// --- 取得情報の配列 ---
ObdParameter obd_pids[] = {
  { 0x0C, "RPM", parseRPM },               // Engine speed [rpm]
  { 0x0D, "Speed", parseSpeed },           // Vehicle speed [km/h]
  { 0x05, "WaterTemp", parseCoolantTemp }, // Engine coolant temperature [°C]
  { 0x0F, "IA-Temp", parseIntakeTemp },    // Intake air temperature [°C]
  { 0x11, "Throttle", parseThrottle },     // Throttle position [%]
  { 0x04, "Load", parseEngineLoad },       // Calculated engine load [%]
  { 0x42, "Volt", parseVolt },             // Control module voltage [V]
  { 0x46, "AmbTemp", parseAmbientTemp },   // Ambient air temperature  [%]
  { 0x33, "Baro", parseBaroPressure },     // Absolute Barometric Pressure [kPa]

  { 0x70, "PID70", parsePID70 },    // Boost pressure control (10bytes)
  { 0x78, "PID78", parsePID78 },    // Exhaust Gas temperature (9bytes)  
};

const uint8_t total_pids = sizeof(obd_pids) / sizeof(obd_pids[0]);
unsigned long lastLoopTime = 0;


void sendObdRequest(uint8_t pid);
void sendFlowControl(uint32_t target_id);

// TWAI / BLE の初期化関数
void setupTWAIandBLE() {
  Serial.println("--- 通常モード: TWAI & BLE を起動します ---");
  
  BLEDevice::init("ESP32-C3_OBD2_Logger");
  pServer = BLEDevice::createServer();
  pServer->setCallbacks(new MyServerCallbacks());
  BLEService* pService = pServer->createService(SERVICE_UUID);
  pTxCharacteristic = pService->createCharacteristic(TX_CHARACTERISTIC_UUID, BLECharacteristic::PROPERTY_NOTIFY);
  //pTxCharacteristic->addDescriptor(new BLE2902());
  pService->start();
  pServer->getAdvertising()->start();

  logWithTimestamp("OBD2 Logger Initializing...");

  twai_general_config_t g_config = TWAI_GENERAL_CONFIG_DEFAULT(TX_PIN, RX_PIN, TWAI_MODE_NORMAL);
  twai_timing_config_t t_config = TWAI_TIMING_CONFIG_500KBITS();
  twai_filter_config_t f_config;
  f_config.acceptance_code = (OBD_RESPONSE_ID << 21);
  f_config.acceptance_mask = 0x001FFFFF;
  f_config.single_filter = true;

  if (twai_driver_install(&g_config, &t_config, &f_config) == ESP_OK && twai_start() == ESP_OK) {
    logWithTimestamp("TWAI driver started.");
  } else {
    logWithTimestamp("Failed to start TWAI driver.");
    return;
  }
}

// TWAI / BLE のメイン処理
void loopTWAIandBLE() {
  unsigned long currentMillis = millis();

  if (currentMillis - lastLoopTime >= 1000) {
    lastLoopTime = currentMillis;
    outputBuffer[0] = '\0';

    for (uint8_t i = 0; i < total_pids; i++) {
      bool isLastItem = (i == total_pids - 1);
      twai_message_t rx_msg;

      while (twai_receive(&rx_msg, 0) == ESP_OK) {}  // 受信バッファクリア

      sendObdRequest(obd_pids[i].pid);

      // 一時データ格納用ワークスペース
      uint8_t payload[256];  // OBD2純粋データ(ヘッダー除外後)を貯めるバッファ
      uint16_t payload_idx = 0;
      uint16_t total_data_len = 0;

      CanRxState rxState = STATE_WAIT_FIRST;
      unsigned long startTime = millis();
      bool timeoutError = false;

      while(rxState != STATE_COMPLETE) {
        if (millis() - startTime > 100) {
          timeoutError = true;
          break;
        }


        if (twai_receive(&rx_msg, pdMS_TO_TICKS(1)) == ESP_OK) {
            if (rx_msg.identifier != OBD_RESPONSE_ID) continue;

            uint8_t pci_type = rx_msg.data[0] & 0xF0;

            switch (rxState) {
                case STATE_WAIT_FIRST:
                    // Single Frame
                    if (pci_type == 0x00 && rx_msg.data[1] == 0x41 && rx_msg.data[2] == obd_pids[i].pid) {
                        uint8_t data_bytes = rx_msg.data[0] - 2;
                        for (uint8_t b = 0; b < data_bytes; b++) {
                            payload[payload_idx++] = rx_msg.data[3 + b];
                        }
                        rxState = STATE_COMPLETE;
                    }
                    // Multi Frames - First Frame
                    else if (pci_type == 0x10 && rx_msg.data[2] == 0x41 && rx_msg.data[3] == obd_pids[i].pid) {
                        uint32_t responding_ecu_id = rx_msg.identifier;                        
                        uint16_t ecu_declared_len = ((uint16_t)(rx_msg.data[0] & 0x0F) << 8) | rx_msg.data[1];
                        total_data_len = ecu_declared_len - 2;
                        for (uint8_t b = 0; b < 4; b++) {
                            payload[payload_idx++] = rx_msg.data[4 + b];
                        }
                        sendFlowControl(responding_ecu_id - 8);
                        rxState = STATE_WAIT_CONSECUTIVE;
                    }
                    break;

                case STATE_WAIT_CONSECUTIVE:
                    // Multi Frames - Consecutive Frame
                    if (pci_type == 0x20) {
                        // このCFフレームに実際に含まれる有効データバイト数(DLC - PCI 1バイト)
                        uint8_t available = (rx_msg.data_length_code > 0) ? rx_msg.data_length_code - 1 : 0;
                        uint16_t remaining = total_data_len - payload_idx;
                        uint8_t copy_bytes = (remaining < available) ? remaining : available;
                        for (uint8_t b = 0; b < copy_bytes; b++) {
                            payload[payload_idx++] = rx_msg.data[1 + b];
                        }
                        if (payload_idx >= total_data_len) {
                            rxState = STATE_COMPLETE;
                        }
                    }
                    break;
  
                default: break;
            }
        }
      }

      if (!timeoutError && rxState == STATE_COMPLETE) {
        // 結合された純粋データポインタを関数に引き渡す
        obd_pids[i].parser(payload, obd_pids[i].name, outputBuffer, sizeof(outputBuffer), isLastItem);
      } else {
        size_t current_len = strlen(outputBuffer);
        snprintf(outputBuffer + current_len, sizeof(outputBuffer) - current_len, "%s: N/A%s", obd_pids[i].name, isLastItem ? "" : " | ");
      }
      delay(10);  // ECUのインターフレームウェイト保護
    }
    logWithTimestamp(outputBuffer);
  }
}

void setup() {
  Serial.begin(115200);
  delay(1000); // シリアル安定用

  pinMode(LED_BUILTIN, OUTPUT);
  digitalWrite(LED_BUILTIN, LED_OFF);

  // スイッチピンを内部プルアップで初期化
  pinMode(MODE_SWITCH_PIN, INPUT_PULLUP);
  delay(100); // チャタリング・電位安定待ち

  // 起動時のピンの状態をチェック (LOW = スイッチが押されている)
  if (digitalRead(MODE_SWITCH_PIN) == LOW) {
    isOtaMode = true;

    digitalWrite(LED_BUILTIN, LED_ON); // OTA mode

    while (digitalRead(MODE_SWITCH_PIN) == LOW) delay(10);
  }

  // モード分岐
  if (isOtaMode) {
    // 【OTAモードの処理】
    logWithTimestamp("--- OTAモード: Wi-Fi & OTA を起動します ---");
    
    WiFi.mode(WIFI_AP);
    WiFi.softAP(ssid, password);
    {
      outputBuffer[0] = '\0';
      sprintf(outputBuffer, "AP Wi-Fi Started. SSID: %s", ssid);
      logWithTimestamp(outputBuffer);
    }
    {
      // APモード時のESP32のIPアドレスを取得(デフォルトは通常 192.168.4.1)
      IPAddress IP = WiFi.softAPIP();
      outputBuffer[0] = '\0';
      sprintf(outputBuffer, "WebサーバのURL: http://%s/update", IP.toString().c_str());
      logWithTimestamp(outputBuffer);
    }

    // ルートページ(アクセス確認用)
    server.on("/", []() {
      server.send(200, "text/plain", "ESP32-C3 OTA Server is Running!");
    });
    
    // ElegantOTAの設定
    ElegantOTA.begin(&server); 
    server.begin();
    Serial.println("HTTP server started");

  } else {
    // 【通常モードの処理】
    logWithTimestamp("--- 通常モード: TWAI & BLE を起動します ---");
    // Wi-Fiの電波を完全にオフにしてメモリと電力を節約
    WiFi.mode(WIFI_OFF); 
    // TWAIとBLEの初期化を実行
    setupTWAIandBLE();
  }
}

void loop() {
  if (isOtaMode) {
    // OTAモード時はOTAの監視のみを行う(TWAI/BLEは動かない)
    server.handleClient();
    // ElegantOTAの内部ループ処理
    ElegantOTA.loop();

  } else {
    // 通常モード時はTWAI/BLE処理のみを行う(Wi-Fi/OTAは動かない)
    loopTWAIandBLE();
  }
}

void sendObdRequest(uint8_t pid) {
  twai_message_t tx_msg = {}; // all 0
  tx_msg.identifier = OBD_REQUEST_ID;
  tx_msg.extd = 0;
  tx_msg.rtr = 0;
  tx_msg.data_length_code = 8;
  tx_msg.data[0] = 2;
  tx_msg.data[1] = 1;
  tx_msg.data[2] = pid;
  twai_transmit(&tx_msg, pdMS_TO_TICKS(10));
}

// 国際規格準拠のフロー制御(Flow Control)フレーム送信
void sendFlowControl(uint32_t target_id) {
  twai_message_t tx_msg = {}; // all 0
  tx_msg.identifier = target_id;
  tx_msg.extd = 0;
  tx_msg.rtr = 0;
  tx_msg.data_length_code = 8;
  tx_msg.data[0] = 0x30;  // Flow Control (Clear To Send)
  tx_msg.data[1] = 0;     // Block Size = 0 (全フレーム一気に送ってよい)
  tx_msg.data[2] = 0;     // Separation Time = 0 (ウェイトなしで最速要求)
  twai_transmit(&tx_msg, pdMS_TO_TICKS(10));
}

Arduino-IDEメニュー「ツール」→「Partition Scheme」で"Minimal SPIFFS (1.9MB APP with OTA/128KB SPIFFS)"を選択すること(これ重要)。

Arduino-IDEメニュー「スケッチ」→「コンパイル済みバイナリをエクスポート」にて、バイナリファイルを出力します。

http://192.168.4.1/update (ElegantOTA) の Select Filecan_v2.ino.binを指定すると、直ちにアップロードが始まります。

ElegantOTA-e.png

すぐに 90%を超え、パーティションテーブルやBootloaderを書き込まないせいか、USBによる書き込みより かなり早いと感じます。

100%になると、Update Successfulとなり、デバイスがリセットされます。
ElegantOTA-s.png

3. セントラル側アプリ

BLE-UARTプロトコルを利用するため、BLEセントラル側は、例えば、LightBlue®のような汎用アプリでも受信できます。が、
今回は、PCで簡単に受信できるアプリをPythonで作りました。Notifyを受信して出力するだけの汎用アプリです。
bleakを使用します。(未インストールの場合は、pip install bleakでインストール)

ble_receiver.py
import asyncio
import logging
from bleak import BleakScanner, BleakClient

# ターゲットとなるESP32-C3のBLEデバイス名
TARGET_DEVICE_NAME = "ESP32-C3_OBD2_Logger"

# ESP32側で設定したNordic NUS互換のTX特性UUID
TX_CHARACTERISTIC_UUID = "6e400003-b5a3-f393-e0a9-e50e24dcca9e"

# ログ受信時のコールバック関数
def notification_handler(characteristic, data: bytearray):
    try:
        # バイトデータを文字列に変換
        log_text = data.decode('utf-8', errors='ignore')
        if log_text:
            print(log_text, end="", flush=True)
    except Exception as e:
        print(f"[-] パースエラー: {e}")

async def main():
    print(f"[*] '{TARGET_DEVICE_NAME}' を検索中...")

    # 1. 周囲のBLEデバイスをスキャンして名前で探す
    device = await BleakScanner.find_device_by_filter(
        lambda d, adv: adv.local_name == TARGET_DEVICE_NAME,
        timeout=10.0
    )

    if not device:
        print(f"[-] デバイス '{TARGET_DEVICE_NAME}' が見つかりませんでした。ESP32の電源や距離を確認してください。")
        return

    print(f"[+] デバイスを発見しました。")
    print(f"    名前: {device.name}")
    print(f"    UUID: {device.address}")
    print(f"[*] 接続を試みています...")

    # 2. クライアントとして接続を開始
    async with BleakClient(device) as client:
        if client.is_connected:
            print(f"[+] 接続成功! ログ受信を開始します... (終了するには Ctrl+C)")

            # 3. Notifyの受信(購読)を開始
            await client.start_notify(TX_CHARACTERISTIC_UUID, notification_handler)

            # 接続を維持するためのループ
            while True:
                await asyncio.sleep(1.0)
        else:
            print("[-] 接続に失敗しました。")

if __name__ == "__main__":
    # bleakの内部エラーなどを抑止するためロギングレベルを設定
    logging.basicConfig(level=logging.WARNING)

    try:
        asyncio.run(main())
    except asyncio.CancelledError:
        pass
    except KeyboardInterrupt:
        print("\n[*] ユーザーによって終了されました。")

  • 実行方法
    $ python ble_receiver.py
    # 終了は Ctrl+C
    

4. 実車テスト

$ python3 ble_receive.py
[*] 'ESP32-C3_OBD2_Logger' を検索中...
[+] デバイスを発見しました。
    名前: ESP32-C3_OBD2_Logger
    UUID (macOS識別子): 1B5B8159-3FA3-40FF-199F-5434B62B243E
[*] 接続を試みています...
[+] 接続成功! ログ受信を開始します... (終了するには Ctrl+C)
[0:00:09.011] RPM: N/A | Speed: N/A | WaterTemp: N/A | IA-Temp: N/A | Throttle: N/A | Load: N/A | Volt: N/A | AmbTemp: N/A | Baro: N/A | PID70: N/A | PID78: N/A
[0:00:10.036] RPM: N/A | Speed: N/A | WaterTemp: N/A | IA-Temp: N/A | Throttle: N/A | Load: N/A | Volt: N/A | AmbTemp: N/A | Baro: N/A | PID70: N/A | PID78: N/A
[0:00:11.056] RPM: N/A | Speed: N/A | WaterTemp: N/A | IA-Temp: N/A | Throttle: N/A | Load: N/A | Volt: N/A | AmbTemp: N/A | Baro: N/A | PID70: N/A | PID78: N/A
[0:00:12.081] RPM: N/A | Speed: N/A | WaterTemp: N/A | IA-Temp: N/A | Throttle: N/A | Load: N/A | Volt: N/A | AmbTemp: N/A | Baro: N/A | PID70: N/A | PID78: N/A
[0:00:13.101] RPM: N/A | Speed: N/A | WaterTemp: N/A | IA-Temp: N/A | Throttle: N/A | Load: N/A | Volt: N/A | AmbTemp: N/A | Baro: N/A | PID70: N/A | PID78: N/A
[0:00:14.126] RPM: N/A | Speed: N/A | WaterTemp: N/A | IA-Temp: N/A | Throttle: N/A | Load: N/A | Volt: N/A | AmbTemp: N/A | Baro: N/A | PID70: N/A | PID78: N/A
[0:00:14.328] RPM: 0 rpm | Speed: 0 km/h | WaterTemp: 86 °C | IA-Temp: 53 °C | Throttle: 10.6 % | Load: 0.0 % | Volt: 8.92 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:00:15.328] RPM: 812 rpm | Speed: 0 km/h | WaterTemp: 87 °C | IA-Temp: 59 °C | Throttle: 10.6 % | Load: 19.6 % | Volt: 12.24 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:00:16.328] RPM: 777 rpm | Speed: 0 km/h | WaterTemp: 87 °C | IA-Temp: 57 °C | Throttle: 10.6 % | Load: 20.8 % | Volt: 12.26 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:00:17.328] RPM: 778 rpm | Speed: 0 km/h | WaterTemp: 87 °C | IA-Temp: 56 °C | Throttle: 10.6 % | Load: 20.4 % | Volt: 12.26 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:00:18.328] RPM: 775 rpm | Speed: 0 km/h | WaterTemp: 87 °C | IA-Temp: 56 °C | Throttle: 10.6 % | Load: 22.0 % | Volt: 12.48 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:00:19.328] RPM: 780 rpm | Speed: 0 km/h | WaterTemp: 87 °C | IA-Temp: 55 °C | Throttle: 10.6 % | Load: 29.4 % | Volt: 12.76 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:00:20.330] RPM: 775 rpm | Speed: 0 km/h | WaterTemp: 87 °C | IA-Temp: 54 °C | Throttle: 10.6 % | Load: 40.0 % | Volt: 13.06 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:00:21.329] RPM: 785 rpm | Speed: 0 km/h | WaterTemp: 87 °C | IA-Temp: 54 °C | Throttle: 10.6 % | Load: 55.7 % | Volt: 13.52 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:00:22.328] RPM: 784 rpm | Speed: 0 km/h | WaterTemp: 87 °C | IA-Temp: 54 °C | Throttle: 10.6 % | Load: 59.2 % | Volt: 14.96 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:00:23.329] RPM: 784 rpm | Speed: 0 km/h | WaterTemp: 87 °C | IA-Temp: 54 °C | Throttle: 10.6 % | Load: 54.9 % | Volt: 15.10 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:00:24.329] RPM: 786 rpm | Speed: 0 km/h | WaterTemp: 87 °C | IA-Temp: 54 °C | Throttle: 10.6 % | Load: 52.9 % | Volt: 14.92 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:00:25.329] RPM: 779 rpm | Speed: 0 km/h | WaterTemp: 87 °C | IA-Temp: 54 °C | Throttle: 10.6 % | Load: 50.2 % | Volt: 14.74 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:00:26.329] RPM: 778 rpm | Speed: 0 km/h | WaterTemp: 87 °C | IA-Temp: 54 °C | Throttle: 10.6 % | Load: 50.6 % | Volt: 14.58 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:00:27.329] RPM: 780 rpm | Speed: 0 km/h | WaterTemp: 87 °C | IA-Temp: 54 °C | Throttle: 10.6 % | Load: 51.0 % | Volt: 14.52 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:00:28.329] RPM: 779 rpm | Speed: 0 km/h | WaterTemp: 87 °C | IA-Temp: 54 °C | Throttle: 10.6 % | Load: 49.0 % | Volt: 14.38 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:00:29.330] RPM: 766 rpm | Speed: 0 km/h | WaterTemp: 87 °C | IA-Temp: 54 °C | Throttle: 10.6 % | Load: 64.7 % | Volt: 14.38 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:00:30.329] RPM: 779 rpm | Speed: 3 km/h | WaterTemp: 87 °C | IA-Temp: 54 °C | Throttle: 10.6 % | Load: 58.8 % | Volt: 14.36 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:00:31.329] RPM: 784 rpm | Speed: 3 km/h | WaterTemp: 87 °C | IA-Temp: 54 °C | Throttle: 10.6 % | Load: 59.2 % | Volt: 14.36 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:00:32.331] RPM: 782 rpm | Speed: 2 km/h | WaterTemp: 86 °C | IA-Temp: 54 °C | Throttle: 10.6 % | Load: 58.4 % | Volt: 14.38 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:00:33.329] RPM: 779 rpm | Speed: 1 km/h | WaterTemp: 86 °C | IA-Temp: 54 °C | Throttle: 10.6 % | Load: 59.6 % | Volt: 14.30 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:00:34.329] RPM: 780 rpm | Speed: 1 km/h | WaterTemp: 86 °C | IA-Temp: 53 °C | Throttle: 10.6 % | Load: 60.0 % | Volt: 14.32 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:00:35.329] RPM: 955 rpm | Speed: 3 km/h | WaterTemp: 86 °C | IA-Temp: 53 °C | Throttle: 10.6 % | Load: 62.7 % | Volt: 14.38 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:00:36.329] RPM: 1085 rpm | Speed: 6 km/h | WaterTemp: 86 °C | IA-Temp: 53 °C | Throttle: 10.6 % | Load: 61.2 % | Volt: 14.38 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:00:37.329] RPM: 1083 rpm | Speed: 7 km/h | WaterTemp: 86 °C | IA-Temp: 53 °C | Throttle: 10.6 % | Load: 97.6 % | Volt: 14.38 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:00:38.329] RPM: 1493 rpm | Speed: 12 km/h | WaterTemp: 86 °C | IA-Temp: 53 °C | Throttle: 10.6 % | Load: 78.4 % | Volt: 14.36 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:00:39.329] RPM: 2085 rpm | Speed: 17 km/h | WaterTemp: 86 °C | IA-Temp: 52 °C | Throttle: 10.6 % | Load: 46.7 % | Volt: 14.32 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:00:40.329] RPM: 1681 rpm | Speed: 23 km/h | WaterTemp: 86 °C | IA-Temp: 51 °C | Throttle: 10.6 % | Load: 18.0 % | Volt: 14.32 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:00:41.329] RPM: 1144 rpm | Speed: 23 km/h | WaterTemp: 86 °C | IA-Temp: 51 °C | Throttle: 65.1 % | Load: 0.0 % | Volt: 14.76 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:00:42.329] RPM: 1178 rpm | Speed: 24 km/h | WaterTemp: 86 °C | IA-Temp: 51 °C | Throttle: 10.6 % | Load: 0.0 % | Volt: 14.88 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:00:43.329] RPM: 1206 rpm | Speed: 25 km/h | WaterTemp: 86 °C | IA-Temp: 51 °C | Throttle: 10.6 % | Load: 0.0 % | Volt: 14.82 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:00:44.329] RPM: 959 rpm | Speed: 20 km/h | WaterTemp: 86 °C | IA-Temp: 51 °C | Throttle: 10.6 % | Load: 0.0 % | Volt: 14.76 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:00:45.329] RPM: 999 rpm | Speed: 16 km/h | WaterTemp: 86 °C | IA-Temp: 51 °C | Throttle: 10.6 % | Load: 0.0 % | Volt: 14.74 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:00:46.329] RPM: 903 rpm | Speed: 13 km/h | WaterTemp: 86 °C | IA-Temp: 51 °C | Throttle: 10.6 % | Load: 51.0 % | Volt: 14.62 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:00:47.330] RPM: 777 rpm | Speed: 8 km/h | WaterTemp: 86 °C | IA-Temp: 51 °C | Throttle: 10.6 % | Load: 62.4 % | Volt: 14.26 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:00:48.319] RPM: 772 rpm | Speed: 3 km/h | WaterTemp: 86 °C | IA-Temp: 52 °C | Throttle: 10.6 % | Load: 65.1 % | Volt: 13.96 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:00:49.319] RPM: 794 rpm | Speed: 7 km/h | WaterTemp: 86 °C | IA-Temp: 51 °C | Throttle: 10.6 % | Load: 42.7 % | Volt: 14.08 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:00:50.330] RPM: 892 rpm | Speed: 9 km/h | WaterTemp: 86 °C | IA-Temp: 51 °C | Throttle: 10.6 % | Load: 47.5 % | Volt: 14.22 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:00:51.319] RPM: 1266 rpm | Speed: 12 km/h | WaterTemp: 86 °C | IA-Temp: 51 °C | Throttle: 10.6 % | Load: 27.5 % | Volt: 14.26 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:00:52.319] RPM: 997 rpm | Speed: 14 km/h | WaterTemp: 86 °C | IA-Temp: 51 °C | Throttle: 10.6 % | Load: 43.5 % | Volt: 14.24 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:00:53.329] RPM: 939 rpm | Speed: 17 km/h | WaterTemp: 86 °C | IA-Temp: 51 °C | Throttle: 10.6 % | Load: 42.4 % | Volt: 14.26 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:00:54.329] RPM: 1218 rpm | Speed: 19 km/h | WaterTemp: 86 °C | IA-Temp: 51 °C | Throttle: 10.6 % | Load: 60.8 % | Volt: 14.30 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:00:55.319] RPM: 1490 rpm | Speed: 20 km/h | WaterTemp: 86 °C | IA-Temp: 51 °C | Throttle: 10.6 % | Load: 48.2 % | Volt: 14.30 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:00:56.319] RPM: 1214 rpm | Speed: 15 km/h | WaterTemp: 86 °C | IA-Temp: 51 °C | Throttle: 10.6 % | Load: 1.2 % | Volt: 14.30 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:00:57.330] RPM: 803 rpm | Speed: 11 km/h | WaterTemp: 86 °C | IA-Temp: 51 °C | Throttle: 10.6 % | Load: 52.9 % | Volt: 14.24 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:00:58.329] RPM: 772 rpm | Speed: 13 km/h | WaterTemp: 86 °C | IA-Temp: 51 °C | Throttle: 10.6 % | Load: 63.9 % | Volt: 14.24 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:00:59.330] RPM: 1408 rpm | Speed: 15 km/h | WaterTemp: 86 °C | IA-Temp: 50 °C | Throttle: 10.6 % | Load: 98.4 % | Volt: 14.30 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:00.330] RPM: 1383 rpm | Speed: 17 km/h | WaterTemp: 87 °C | IA-Temp: 50 °C | Throttle: 10.6 % | Load: 89.8 % | Volt: 14.32 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:01.330] RPM: 1538 rpm | Speed: 20 km/h | WaterTemp: 87 °C | IA-Temp: 49 °C | Throttle: 10.6 % | Load: 85.1 % | Volt: 14.32 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:02.330] RPM: 1683 rpm | Speed: 22 km/h | WaterTemp: 87 °C | IA-Temp: 48 °C | Throttle: 10.6 % | Load: 78.4 % | Volt: 14.26 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:03.330] RPM: 1758 rpm | Speed: 23 km/h | WaterTemp: 87 °C | IA-Temp: 48 °C | Throttle: 10.6 % | Load: 71.8 % | Volt: 14.24 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:04.330] RPM: 1841 rpm | Speed: 23 km/h | WaterTemp: 87 °C | IA-Temp: 47 °C | Throttle: 10.6 % | Load: 92.5 % | Volt: 14.26 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:05.330] RPM: 2054 rpm | Speed: 27 km/h | WaterTemp: 87 °C | IA-Temp: 46 °C | Throttle: 10.6 % | Load: 74.5 % | Volt: 14.26 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:06.330] RPM: 2400 rpm | Speed: 32 km/h | WaterTemp: 88 °C | IA-Temp: 46 °C | Throttle: 10.6 % | Load: 72.9 % | Volt: 14.30 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:07.330] RPM: 2651 rpm | Speed: 35 km/h | WaterTemp: 88 °C | IA-Temp: 45 °C | Throttle: 10.6 % | Load: 22.0 % | Volt: 14.26 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:08.330] RPM: 1626 rpm | Speed: 35 km/h | WaterTemp: 88 °C | IA-Temp: 45 °C | Throttle: 10.6 % | Load: 1.2 % | Volt: 14.74 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:09.331] RPM: 1596 rpm | Speed: 32 km/h | WaterTemp: 88 °C | IA-Temp: 44 °C | Throttle: 10.6 % | Load: 0.0 % | Volt: 14.88 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:10.330] RPM: 1470 rpm | Speed: 30 km/h | WaterTemp: 88 °C | IA-Temp: 44 °C | Throttle: 10.6 % | Load: 0.0 % | Volt: 14.84 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:11.330] RPM: 1364 rpm | Speed: 28 km/h | WaterTemp: 88 °C | IA-Temp: 45 °C | Throttle: 10.6 % | Load: 0.0 % | Volt: 14.78 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:12.330] RPM: 1199 rpm | Speed: 25 km/h | WaterTemp: 88 °C | IA-Temp: 45 °C | Throttle: 10.6 % | Load: 0.0 % | Volt: 14.76 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:13.330] RPM: 833 rpm | Speed: 19 km/h | WaterTemp: 88 °C | IA-Temp: 45 °C | Throttle: 10.6 % | Load: 36.5 % | Volt: 14.58 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:14.331] RPM: 1144 rpm | Speed: 15 km/h | WaterTemp: 88 °C | IA-Temp: 45 °C | Throttle: 10.6 % | Load: 73.3 % | Volt: 14.38 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:15.330] RPM: 1252 rpm | Speed: 16 km/h | WaterTemp: 88 °C | IA-Temp: 45 °C | Throttle: 10.6 % | Load: 83.1 % | Volt: 14.22 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:16.330] RPM: 1378 rpm | Speed: 18 km/h | WaterTemp: 88 °C | IA-Temp: 45 °C | Throttle: 10.6 % | Load: 86.7 % | Volt: 14.08 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:17.330] RPM: 1560 rpm | Speed: 20 km/h | WaterTemp: 88 °C | IA-Temp: 44 °C | Throttle: 10.6 % | Load: 83.5 % | Volt: 14.14 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:18.330] RPM: 1704 rpm | Speed: 22 km/h | WaterTemp: 88 °C | IA-Temp: 44 °C | Throttle: 10.6 % | Load: 21.6 % | Volt: 14.18 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:19.340] RPM: 809 rpm | Speed: 18 km/h | WaterTemp: 88 °C | IA-Temp: 44 °C | Throttle: 12.2 % | Load: 34.5 % | Volt: 13.66 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:20.340] RPM: 746 rpm | Speed: 14 km/h | WaterTemp: 88 °C | IA-Temp: 45 °C | Throttle: 10.6 % | Load: 54.5 % | Volt: 14.30 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:21.340] RPM: 1204 rpm | Speed: 10 km/h | WaterTemp: 88 °C | IA-Temp: 45 °C | Throttle: 10.6 % | Load: 79.2 % | Volt: 14.30 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:22.341] RPM: 1574 rpm | Speed: 9 km/h | WaterTemp: 88 °C | IA-Temp: 45 °C | Throttle: 10.6 % | Load: 87.5 % | Volt: 14.32 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:23.340] RPM: 1497 rpm | Speed: 12 km/h | WaterTemp: 88 °C | IA-Temp: 45 °C | Throttle: 10.6 % | Load: 78.0 % | Volt: 14.30 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:24.340] RPM: 1908 rpm | Speed: 15 km/h | WaterTemp: 88 °C | IA-Temp: 44 °C | Throttle: 10.6 % | Load: 86.7 % | Volt: 14.26 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:25.341] RPM: 2705 rpm | Speed: 22 km/h | WaterTemp: 88 °C | IA-Temp: 44 °C | Throttle: 10.6 % | Load: 43.5 % | Volt: 14.30 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:26.341] RPM: 2030 rpm | Speed: 26 km/h | WaterTemp: 88 °C | IA-Temp: 44 °C | Throttle: 10.6 % | Load: 54.1 % | Volt: 14.26 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:27.341] RPM: 1648 rpm | Speed: 28 km/h | WaterTemp: 88 °C | IA-Temp: 43 °C | Throttle: 10.6 % | Load: 31.4 % | Volt: 14.30 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:28.341] RPM: 1303 rpm | Speed: 27 km/h | WaterTemp: 88 °C | IA-Temp: 43 °C | Throttle: 10.6 % | Load: 0.0 % | Volt: 14.26 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:29.341] RPM: 1211 rpm | Speed: 25 km/h | WaterTemp: 89 °C | IA-Temp: 43 °C | Throttle: 11.4 % | Load: 0.0 % | Volt: 14.84 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:30.341] RPM: 1119 rpm | Speed: 21 km/h | WaterTemp: 89 °C | IA-Temp: 44 °C | Throttle: 10.6 % | Load: 0.0 % | Volt: 14.82 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:31.341] RPM: 1306 rpm | Speed: 18 km/h | WaterTemp: 89 °C | IA-Temp: 44 °C | Throttle: 10.6 % | Load: 0.0 % | Volt: 14.82 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:32.341] RPM: 1084 rpm | Speed: 14 km/h | WaterTemp: 89 °C | IA-Temp: 44 °C | Throttle: 10.6 % | Load: 0.0 % | Volt: 14.76 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:33.341] RPM: 759 rpm | Speed: 12 km/h | WaterTemp: 89 °C | IA-Temp: 44 °C | Throttle: 10.6 % | Load: 46.7 % | Volt: 14.60 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:34.341] RPM: 785 rpm | Speed: 11 km/h | WaterTemp: 88 °C | IA-Temp: 45 °C | Throttle: 10.6 % | Load: 49.4 % | Volt: 14.36 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:35.341] RPM: 782 rpm | Speed: 9 km/h | WaterTemp: 88 °C | IA-Temp: 45 °C | Throttle: 10.6 % | Load: 53.3 % | Volt: 14.16 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:36.341] RPM: 776 rpm | Speed: 6 km/h | WaterTemp: 88 °C | IA-Temp: 45 °C | Throttle: 10.6 % | Load: 53.3 % | Volt: 13.94 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:37.341] RPM: 770 rpm | Speed: 4 km/h | WaterTemp: 88 °C | IA-Temp: 45 °C | Throttle: 10.6 % | Load: 71.4 % | Volt: 14.18 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:38.341] RPM: 772 rpm | Speed: 0 km/h | WaterTemp: 89 °C | IA-Temp: 45 °C | Throttle: 10.6 % | Load: 63.5 % | Volt: 14.22 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:39.351] RPM: 797 rpm | Speed: 0 km/h | WaterTemp: 89 °C | IA-Temp: 45 °C | Throttle: 10.6 % | Load: 44.3 % | Volt: 14.24 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:40.351] RPM: 786 rpm | Speed: 0 km/h | WaterTemp: 89 °C | IA-Temp: 45 °C | Throttle: 10.6 % | Load: 72.9 % | Volt: 14.26 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:41.352] RPM: 872 rpm | Speed: 1 km/h | WaterTemp: 89 °C | IA-Temp: 45 °C | Throttle: 10.6 % | Load: 56.1 % | Volt: 13.44 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:42.352] RPM: 765 rpm | Speed: 2 km/h | WaterTemp: 89 °C | IA-Temp: 45 °C | Throttle: 10.6 % | Load: 67.1 % | Volt: 14.36 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:43.352] RPM: 791 rpm | Speed: 2 km/h | WaterTemp: 89 °C | IA-Temp: 45 °C | Throttle: 10.6 % | Load: 62.0 % | Volt: 14.26 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:44.352] RPM: 774 rpm | Speed: 2 km/h | WaterTemp: 89 °C | IA-Temp: 45 °C | Throttle: 10.6 % | Load: 66.7 % | Volt: 14.06 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:45.352] RPM: 778 rpm | Speed: 2 km/h | WaterTemp: 89 °C | IA-Temp: 45 °C | Throttle: 10.6 % | Load: 62.4 % | Volt: 14.32 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:46.352] RPM: 781 rpm | Speed: 2 km/h | WaterTemp: 89 °C | IA-Temp: 45 °C | Throttle: 10.6 % | Load: 62.0 % | Volt: 14.30 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:47.352] RPM: 775 rpm | Speed: 0 km/h | WaterTemp: 89 °C | IA-Temp: 45 °C | Throttle: 10.6 % | Load: 62.0 % | Volt: 14.30 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:48.352] RPM: 780 rpm | Speed: 0 km/h | WaterTemp: 89 °C | IA-Temp: 45 °C | Throttle: 10.6 % | Load: 62.7 % | Volt: 14.22 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:49.352] RPM: 753 rpm | Speed: 0 km/h | WaterTemp: 89 °C | IA-Temp: 45 °C | Throttle: 10.6 % | Load: 67.8 % | Volt: 14.24 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:50.352] RPM: 778 rpm | Speed: 3 km/h | WaterTemp: 89 °C | IA-Temp: 45 °C | Throttle: 10.6 % | Load: 62.4 % | Volt: 14.24 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:51.352] RPM: 786 rpm | Speed: 2 km/h | WaterTemp: 89 °C | IA-Temp: 45 °C | Throttle: 10.6 % | Load: 59.2 % | Volt: 14.30 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:52.352] RPM: 782 rpm | Speed: 0 km/h | WaterTemp: 89 °C | IA-Temp: 46 °C | Throttle: 10.6 % | Load: 54.1 % | Volt: 14.24 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:53.352] RPM: 797 rpm | Speed: 0 km/h | WaterTemp: 89 °C | IA-Temp: 46 °C | Throttle: 10.6 % | Load: 63.1 % | Volt: 14.22 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:54.351] RPM: 814 rpm | Speed: 1 km/h | WaterTemp: 89 °C | IA-Temp: 46 °C | Throttle: 10.6 % | Load: 54.9 % | Volt: 14.24 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:55.352] RPM: 823 rpm | Speed: 1 km/h | WaterTemp: 89 °C | IA-Temp: 46 °C | Throttle: 10.6 % | Load: 57.6 % | Volt: 14.36 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:56.352] RPM: 977 rpm | Speed: 1 km/h | WaterTemp: 89 °C | IA-Temp: 46 °C | Throttle: 10.6 % | Load: 83.9 % | Volt: 14.36 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:57.352] RPM: 830 rpm | Speed: 4 km/h | WaterTemp: 89 °C | IA-Temp: 46 °C | Throttle: 10.6 % | Load: 51.0 % | Volt: 14.26 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:58.352] RPM: 776 rpm | Speed: 2 km/h | WaterTemp: 89 °C | IA-Temp: 46 °C | Throttle: 10.6 % | Load: 62.4 % | Volt: 14.32 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:01:59.352] RPM: 768 rpm | Speed: 2 km/h | WaterTemp: 89 °C | IA-Temp: 46 °C | Throttle: 10.6 % | Load: 65.9 % | Volt: 14.24 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:02:00.352] RPM: 789 rpm | Speed: 2 km/h | WaterTemp: 89 °C | IA-Temp: 46 °C | Throttle: 10.6 % | Load: 57.6 % | Volt: 14.36 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:02:01.362] RPM: 784 rpm | Speed: 1 km/h | WaterTemp: 89 °C | IA-Temp: 46 °C | Throttle: 10.6 % | Load: 60.4 % | Volt: 14.32 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:02:02.362] RPM: 788 rpm | Speed: 1 km/h | WaterTemp: 89 °C | IA-Temp: 46 °C | Throttle: 10.6 % | Load: 59.2 % | Volt: 14.32 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:02:03.362] RPM: 775 rpm | Speed: 0 km/h | WaterTemp: 89 °C | IA-Temp: 46 °C | Throttle: 10.6 % | Load: 62.0 % | Volt: 14.32 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:02:04.362] RPM: 786 rpm | Speed: 0 km/h | WaterTemp: 89 °C | IA-Temp: 46 °C | Throttle: 10.6 % | Load: 59.2 % | Volt: 14.36 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:02:05.362] RPM: 777 rpm | Speed: 0 km/h | WaterTemp: 89 °C | IA-Temp: 46 °C | Throttle: 10.6 % | Load: 61.6 % | Volt: 14.38 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:02:06.362] RPM: 783 rpm | Speed: 0 km/h | WaterTemp: 89 °C | IA-Temp: 46 °C | Throttle: 10.6 % | Load: 59.2 % | Volt: 14.32 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:02:07.362] RPM: 782 rpm | Speed: 0 km/h | WaterTemp: 89 °C | IA-Temp: 46 °C | Throttle: 10.6 % | Load: 60.0 % | Volt: 14.38 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:02:08.362] RPM: 780 rpm | Speed: 0 km/h | WaterTemp: 89 °C | IA-Temp: 46 °C | Throttle: 10.6 % | Load: 62.0 % | Volt: 14.36 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:02:09.362] RPM: 810 rpm | Speed: 0 km/h | WaterTemp: 89 °C | IA-Temp: 46 °C | Throttle: 10.6 % | Load: 43.9 % | Volt: 14.24 V | AmbTemp: 34 °C | Baro: 1000 hPa | PID70: 0200 000C 7900 0000 0000 | PID78: 0703 BE03 9E02 F800 00
[0:02:11.183] RPM: N/A | Speed: N/A | WaterTemp: N/A | IA-Temp: N/A | Throttle: N/A | Load: N/A | Volt: N/A | AmbTemp: N/A | Baro: N/A | PID70: N/A | PID78: N/A
[0:02:12.208] RPM: N/A | Speed: N/A | WaterTemp: N/A | IA-Temp: N/A | Throttle: N/A | Load: N/A | Volt: N/A | AmbTemp: N/A | Baro: N/A | PID70: N/A | PID78: N/A
[0:02:13.228] RPM: N/A | Speed: N/A | WaterTemp: N/A | IA-Temp: N/A | Throttle: N/A | Load: N/A | Volt: N/A | AmbTemp: N/A | Baro: N/A | PID70: N/A | PID78: N/A
[0:02:14.253] RPM: N/A | Speed: N/A | WaterTemp: N/A | IA-Temp: N/A | Throttle: N/A | Load: N/A | Volt: N/A | AmbTemp: N/A | Baro: N/A | PID70: N/A | PID78: N/A
[0:02:15.273] RPM: N/A | Speed: N/A | WaterTemp: N/A | IA-Temp: N/A | Throttle: N/A | Load: N/A | Volt: N/A | AmbTemp: N/A | Baro: N/A | PID70: N/A | PID78: N/A
[0:02:16.298] RPM: N/A | Speed: N/A | WaterTemp: N/A | IA-Temp: N/A | Throttle: N/A | Load: N/A | Volt: N/A | AmbTemp: N/A | Baro: N/A | PID70: N/A | PID78: N/A
[0:02:17.318] RPM: N/A | Speed: N/A | WaterTemp: N/A | IA-Temp: N/A | Throttle: N/A | Load: N/A | Volt: N/A | AmbTemp: N/A | Baro: N/A | PID70: N/A | PID78: N/A
^C
[*] ユーザーによって終了されました。

アイドリング時の Throttle は 10.6 % でした。
Load は Speed や Throttle との比例関係はなさそう(?)です。

log.png


次回は、マルチフレーム応答のデータの中身を、詳しく確認したいと思います。

(3) へ続く

3
1
0

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
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?