Slide 1

Slide 1 text

by TakSan 2023/5/30 LINE API Input for TechSeeker Hackathon! サ終で文鎮化したCLOVAを分解・解析・魔改造して 復活させたハック事例のご紹介

Slide 2

Slide 2 text

自己紹介 本職:組み込みSE 名前:TakSan (佐野) 拠点:東大阪 https://elchika.com/user/TakSan0/ https://protopedia.net/prototyper/taksan 作品をこの辺で ⇐ 公開中 ⇒ 出現:ハッカソン・コンテスト・LT 特技:地雷ふみ

Slide 3

Slide 3 text

ごめんなさい ガチのハード ウェアハックで ディープ領域に 遠慮なく 踏みこみます

Slide 4

Slide 4 text

ハードウェアとLINEの連携? 入力系 各種センサー スイッチ カメラ 音声 等 からLINE に通知 出力系 各種モーター LED ディスプレイ 音声 等 を LINE から制御

Slide 5

Slide 5 text

コンピュータは? ESP32 M5STACK Raspberry Pi obniz

Slide 6

Slide 6 text

ガチ勢にお勧め 豊富な資源のラズパイ 豊富な開発環境 (Python / C++ / nodejs/ Node-red etc.) 豊富なネット環境 (充実したプロトコル スタック) ハード拡張性 (センサーやアクチュエータ等 後付け可能) 開発情報 (様々な作成事例や ネット記事 etc.) CUIインタフェース コピペでコマンド 叩けば何でもできる UNIX系シンプルCUI 豊富なリソース メモリ・動作速度面

Slide 7

Slide 7 text

今回のターゲット達

Slide 8

Slide 8 text

10月末突然の悲報が…

Slide 9

Slide 9 text

分解しないと始まらない

Slide 10

Slide 10 text

CLOVA 構成調査 リチウム イオン電池 小型マイク ×2 前面SW(口) スピーカー 底面 イルミ LED USBコネクタ スイッチ・ LEDパネル CPU+周辺回路(ARM) 電源+充電回路 オーディオ回路

Slide 11

Slide 11 text

CLOVAの改造計画 リチウム イオン電池 小型マイク ×2 前面SW(口) スピーカー 底面 イルミ LED USBコネクタ スイッチ・ LEDパネル CPU+周辺回路(ARM) 電源+充電回路 オーディオ回路 容量不足+ スペース無し ソフトは流用不可、電源 オーディオ分離不可 アナログマイクは 使用できない。

Slide 12

Slide 12 text

CLOVAの改造案 前面SW(口) スピーカー 底面 イルミ LED USBコネクタ スイッチ・ LEDパネル 小型 I2S マイク ×2 CPU+周辺回路 (ラズパイ) i2S アンプ デジタル タイプに変更 豊富なリソース とプロトコル スタック デジタル タイプに変更

Slide 13

Slide 13 text

改造前後比較 Before After

Slide 14

Slide 14 text

測定機は必須⁉ お勧め3種の神器搭載 Analog Discovery 2 手軽に測定 マルチメーター(テスター) ・オシロスコープ ・ロジックアナライザ ・プロトコルアナライザ ・電圧測定 ・電流測定 ・導通確認 ・抵抗値 ・周波数 等 オール インワン でお得!!!

Slide 15

Slide 15 text

まず電源回りから +5V +5V GND D+ D- D- D+ GND +5V GND

Slide 16

Slide 16 text

測定器取付ハック開始

Slide 17

Slide 17 text

色々と部品を解析 生産時の基板検査用のランド から測定用の電線を引き出す。

Slide 18

Slide 18 text

マイク基板

Slide 19

Slide 19 text

フロントスイッチ基板 GND Front SW

Slide 20

Slide 20 text

リアスイッチ・LED基板 LED R LED G LED B GND LED 電源 MUTE SW BT SW Vol+ SW Volー SW RGB各色のトランジスタ スイッチング回路+抵抗 らしきもの発見。

Slide 21

Slide 21 text

底面LED基板 LED制御用チップ 型番からは詳細が わからない。

Slide 22

Slide 22 text

オシロで典型的なI2C信号を発見

Slide 23

Slide 23 text

順番に読んでコマンド発見 (FE C5), (FD 01), (02 00), (22 00), (42 00), (12 00), (32 00), (52 00), (01 00), (21 00), (41 00), (11 00), (31 00), (51 00), (00 00), (20 00), (40 00), (10 00), (30 00), (50 00), (60 54), (80 48), (A0 0D), (70 54), (90 48), (B0 0D), (61 A8), (81 90), (A1 1B), (71 A8), (91 90), (B1 1B), (62 54), (82 48), (A2 0D), (72 54), (92 48), (B2 0D), (63 00), (83 00), (A3 00), (73 00), (93 00), (B3 00), (64 00), (84 00), (A4 00), (74 00), (94 00), (B4 00), (65 00), (85 00), (A5 00), (75 00), (95 00), (B5 00), (05 54), (25 48), (45 0D), (15 54), (35 48), (55 0D), (04 A8), (24 90), (44 1B), (14 A8), (34 90), (54 1B), (03 54), (23 48), (43 0D), (13 54), (33 48), (53 0D),

Slide 24

Slide 24 text

様々な色を自由に点灯

Slide 25

Slide 25 text

測定器取付ハック開始

Slide 26

Slide 26 text

配線図作成 試作版の為最終版 とは少し異なります。

Slide 27

Slide 27 text

改造前後比較 Before After

Slide 28

Slide 28 text

結構難易度高いので

Slide 29

Slide 29 text

回路図を起こして 試作版の為最終版 とは少し異なります。

Slide 30

Slide 30 text

専用基板を設計

Slide 31

Slide 31 text

基板を置き換えるだけの簡単改造 元基板 改造基板

Slide 32

Slide 32 text

マイク基板 ・MEMSマイク(アナログ)×2 最終改造プラン マイク基板 ・MEMSマイク(I2S) フロントスイッチ基板 ・タクトSW×1 リアスイッチ基板 ・タクトSW×4 ・3色(RGB) LED 電源コネクタ基板 ・USB type C コネクタ×1 メイン基板 ・CPU(ARM)及び周辺回路 ・音声関連回路 ・電源回路 他 メイン基板 ・ラズパイZero ・D級アンプ(I2S) ・電源回路 他 筐体+スピーカー ・スピーカー×1 バッテリー ・リチウムイオン×1 ラズパイがアナログを扱えないので デジタルマイクに置き換え 容量不足で嵩張るだけなので撤去 底面イルミLED基板 ・LED制御用IC ・電源分配回路 ・他…詳細不明 元ソフトのハックは不可能なので ラズパイで新たにシステム構築 流用 改造後 改造前

Slide 33

Slide 33 text

基板を置き換えるだけの簡単改造 改造前基板 改造基板

Slide 34

Slide 34 text

改造の仕方はこちら https://elchika.com/article/38d8127b-7cb4-44b9-ae63-ece591d777f9/ 公開中

Slide 35

Slide 35 text

ソフト構成 TextToSpeech SpeechToText 音声をテキストに テキストを音声に 自前プログラム (Python) Chat-GPT (OPENAI API) 機能選択 ニュース、天気、 日時、タイマー LINE 等 学習データ以外 上記以外 (自前プログラムで 実装していないもの) プログラムと AI の ハイブリッド構成 現在絶賛 実装中

Slide 36

Slide 36 text

自前プログラムの場合 SpeechToText 音声をテキストに 機能選択 ニュース、天気、 日時、タイマー LINE 等 学習データ以外 自前プログラム (Python) TextToSpeech テキストを音声に

Slide 37

Slide 37 text

AIを使用する場合 SpeechToText 音声をテキストに 機能選択 上記以外 (自前プログラムで 実装していないもの) Chat-GPT (OPENAI API) TextToSpeech テキストを音声に

Slide 38

Slide 38 text

GitHubで公開中のアプリ https://github.com/TakSan0/CLOVA_RasPi 現在絶賛 開発中 開発協力者 も募集中⁉

Slide 39

Slide 39 text

ありがとうございました https://elchika.com/article/38d8127b-7cb4-44b9-ae63-ece591d777f9/ 公開中 デモ内で以下の音声合成を使用しています。 「VOICEVOX:ずんだもん」