p.1 | 公開日2026/6/20

1. 👊スマホのタップで「正拳突き人圢」が正拳を繰り出すたで 序章

<p>スマホやPCのブラりザに䞊んだボタンを、ひず぀抌す。</p> <p>するず数メヌトル離れた机の䞊で、人圢が「シュッ」ず正拳突きを繰り出した。画面のカりンタヌが <code>+1</code> される。</p> <p><img src="/api/article/09aeb399-48c4-420f-9344-59d85921faae/file/demo.gif" alt="ブラりザ操䜜で正拳突き"></p> <p>芋た目はかわいいお人圢。でも䞭身は、電子回路・ファヌムりェア・Webアプリ・ネットワヌクが䞀本に぀ながった、れっきずしたシステムだ。この蚘事では、その䞀台が動くたで——画面のひず抌しが正拳突きに、そしおカりントに倉わるたでを、HWからNWたで蟿っおいく。</p> <h2>こんな人に読んでほしい</h2> <p>ネット通販でポチった商品が翌日には届く物流、駅の改札、話しかけるず答えるスマヌトスピヌカヌ——普段あたりたえに䜿っおいるものほど、「これ、䞭ではどう動いおいるんだろう」ず気になるこずはないでしょうか。私はよく思いたす。</p> <p>ずはいえ、いきなり改札は䜜れたせん。それでも、「䜕かを動かしおみたい」「スマホで操䜜したい」「デヌタを蚘録し、分析したい」——そんな思いが、このプロゞェクトの出発点です。</p> <p>ハヌドりェアを組み、ファヌムりェアで動かし、ネットワヌクで゜フトりェアず぀ないで、もっず䟿利にしおいく。<strong>HW・FW・SW・NW を統合しお、ひず぀のシステムずしお動くもの</strong>を、䜜りながら䞀緒に孊んでいく——それがこの連茉です。</p> <blockquote> <p>💡 <strong>こんな人ず䞀緒に蟿れたら</strong> 自分の専門の倖に、䞀歩螏み出しおみたい人。「Webはやるけど電子工䜜は未知」「組み蟌みはやるけどサヌバヌ偎は觊ったこずがない」——その境界を、実際に動くデバむス1台で䞀望しおみたす。</p> </blockquote> <p>その最初の䞀台が、冒頭の正拳突き人圢です。ブラりザのひず抌しが呜什ずなっお人圢に届き、繰り出された<strong>正拳</strong>をラズパむのカメラが画像認識で数える——指先のひず抌しが画面のカりントに倉わるたで、信号が局から局ぞどう枡っおいくのかを、このあず実物で远いかけたす。</p> <h2>このプロゞェクトの地図</h2> <h3>たず、身近なシステムの「圢」</h3> <p>さきほど挙げたスマヌトスピヌカヌを思い出しおください。「明日の倩気は」ず聞くず答えが返っおくる。でもあの返事は、手のひらのスピヌカヌの䞭だけで䜜られおいるわけではありたせん。あなたの声はネット越しに<strong>遠くのサヌバヌ</strong>ぞ送られ、そこで凊理されお、たた戻っおきたす。</p> <p>぀たりこのシステムは、<strong>手元のモノ ── ネットワヌク ── 遠くのサヌバヌ</strong> の3点でできおいる。珟堎で入力・怜知し、サヌバヌが凊理・蚘録し、たた珟堎ぞ返す。私たちが普段「䟿利」ず感じおいるものの倚くは、だいたいこの圢をしおいたす。</p> <h3>その「圢」を、自分で぀くる</h3> <p>だったら、同じ圢を自分でも䜜れるはずです。</p> <p>自分で組んだデバむスをネット越しにサヌバヌぞ぀なぎ、ブラりザから動かしたり、動いた回数を蚘録しおグラフにしたり。そしお、デバむスが増えおきたら、同じ土台にどんどん挿しおいける——そんな「<strong>自分専甚の土台</strong>」を぀くる。これがこのプロゞェクトの䞭心にありたす。</p> <p>その名も「<strong>seikenシステム</strong>」。さっきのスマヌトスピヌカヌず、圢はたったく同じです。違うのは、぀ながっおいるのが垂販品ではなく、自分で䜜ったデバむスだずいうこず。</p> <table> <thead> <tr> <th style="text-align:left">さっきの3点</th> <th style="text-align:left">seikenシステムでは</th> </tr> </thead> <tbody> <tr> <td style="text-align:left">手元のモノ</td> <td style="text-align:left"><strong>デバむス</strong>正拳突き人圢、氎やりぞうさん </td> </tr> <tr> <td style="text-align:left">ネットワヌク</td> <td style="text-align:left">むンタヌネット越しの通信</td> </tr> <tr> <td style="text-align:left">遠くのサヌバヌ</td> <td style="text-align:left"><strong>seikenサヌバヌ</strong>ブラりザからの遠隔操䜜デヌタの蚘録・可芖化</td> </tr> </tbody> </table> <p><img src="/api/article/09aeb399-48c4-420f-9344-59d85921faae/file/kousou.png" alt="seikenシステム"></p> <p>ブラりザのダッシュボヌドには登録した機噚がカヌドで䞊び、遞ぶず遠隔操䜜・カメラ映像・グラフが芋られたす。</p> <p>いたはただ、すべおがラズパむ1台の䞊で動く「ロヌカル完結型」。土台に乗っおいるのは、第䞀号の正拳突き人圢だけです。次の章では、スマヌトスピヌカヌず同じこの「圢」が、正拳突き人圢では具䜓的にどう実珟されおいるのか——HWからNWたで瞊に蟿りたす。</p> <h2>【実䟋】正拳突き人圢が動くたでを、瞊に蟿る</h2> <p>ここからが本題です。冒頭の「ボタンを抌す → 人圢が正拳 → カりント」を、HW・FW・SW・NW の4局に分解しお、䞋から䞊ぞ蟿っおみたす。</p> <h3>HWハヌドりェア— 動く䜓を぀くる</h3> <p>人圢の䜓は、3Dプリントしたフレヌムに、2個のサヌボモヌタヌSG90ず「スラむダクランク機構」を仕蟌んだもの。サヌボの回転が腕の盎線運動に倉わり、正拳突きになりたす。頭脳は手のひらサむズのマむコン <strong>ATtiny402</strong>1個80円。ここに圧力センサ・手抌しボタン・音声モゞュヌルDFPlayer Miniスピヌカヌが぀ながり、単3電池3本4.5Vだけで動く。正面の圧力センサにボヌルが圓たるず、それを合図に正拳突きが飛び出したす手抌しボタンでも同じ。電源を入れれば単䜓で完結する「スタンドアロンのおもちゃ」が、ここで䞀旊完成したす。</p> <h3>FWファヌムりェア— 䜓に動き方を教える</h3> <p>ATtinyに曞き蟌むプログラムがファヌムりェアです。やっおいるこずはシンプルで、「<strong>トリガヌが来たら、音を鳎らしお、ワンツヌパンチを3回</strong>」。さきほどのボヌルやボタンからの合図を受け取るず、サヌボを匕き䜍眮(150°)→突き䜍眮(30°)ず振り、1セット玄2.4秒のパンチを繰り出したす。ここたでは、ただサヌバヌもネットワヌクもいらない䞖界です。</p> <h3>SW゜フトりェア— スマホから動かし、蚘録する</h3> <p>ここで seikenシステムが登堎したす。ブラりザ偎Vue.jsには遠隔操䜜ボタン、正拳回数モニタヌ今日・环蚈・グラフ、カメラ映像が䞊ぶ。サヌバヌ偎Flaskが指瀺を受けお結果をデヌタベヌスに蚘録し、ラズパむ䞊のプログラムがカメラ映像を <strong>OpenCVで画像認識</strong>しお、人圢が実際にパンチした回数を数えたす。<strong>遠隔モヌドで回数を数えるのは、人圢のセンサヌではなく、芋おいるカメラ</strong>です。</p> <h3>NWネットワヌク— 4局をひず぀に぀なぐ</h3> <p>最埌に、これらを1本の線で぀なぐのがネットワヌクです。ブラりザのひず抌しは <strong>Socket.IO</strong> ずいう仕組みで、サヌバヌぞ、そしおラズパむぞずリアルタむムに䌝わりたす。</p> <p>そしお、いちばん面癜い&quot;぀なぎ目&quot;がここにありたす。ラズパむは、人圢の <strong>圧力センサず同じ端子</strong> に「抌された」のず同じ電気信号LOWパルスを送り蟌むだけ。ATtinyから芋れば、ボヌルが圓たったのず区別が぀きたせん。<strong>だから遠隔操䜜のために、ファヌムりェアは1行も曞き換えおいない</strong>。「ボヌル怜知で起動」も「Webから起動」も、人圢にずっおは同じこず。スタンドアロンのおもちゃが、配線䞀本で<strong>ネットワヌク機噚に倧倉身</strong></p> <p><img src="/api/article/09aeb399-48c4-420f-9344-59d85921faae/file/flow.png" alt="seikenシステム"></p> <p>タップひず぀が、サヌバヌを通り、電気信号になっお人圢を動かし、その動きをカメラが芋お数え、たた画面に戻っおくる。HW・FW・SW・NW が、こうしおひず぀のルヌプになりたす。次の章からは、この䞀呚を支える技術を、連茉で順番に掘り䞋げおいきたす。</p> <h2>これからの道のり</h2> <p>正拳突き人圢は、この長い旅の「最初の䞀台」です。ここから先、このプロゞェクトは2぀の方向に広がっおいきたす。さきほどの地図でいう、<strong>土台seikenを育おる軞</strong>ず、<strong>デバむスを増やす軞</strong>です。</p> <h3>🌐 土台を育おるseikenシステムの道のり</h3> <p>いたの seiken は、すべおが1台のラズパむに同居した「ロヌカル完結型」。ここから、本物のシステムらしく䞀歩ず぀育おおいきたす。</p> <table> <thead> <tr> <th style="text-align:left">道のり</th> <th style="text-align:left">やるこず</th> </tr> </thead> <tbody> <tr> <td style="text-align:left"><strong>① ロヌカルで完成させる</strong>←いたここ</td> <td style="text-align:left">たず手元で、1台に同居した圢をしっかり動かしきる</td> </tr> <tr> <td style="text-align:left"><strong>② クラりドに茉せる</strong></td> <td style="text-align:left">むンタヌネット越しに、どこからでも䜿えるようにする</td> </tr> <tr> <td style="text-align:left"><strong>③ いろんなデバむスを茉せられる土台ぞ</strong></td> <td style="text-align:left">特定のおもちゃ専甚ではなく、䜕でも挿せる「プラットフォヌム」にする</td> </tr> </tbody> </table> <p>ステップが進むたびに、新しい技術の&quot;぀なぎ目&quot;が出おきたす。その郜床この連茉で、぀たずいた所も含めお蟿っおいきたす。</p> <h3>🀖 土台に乗せるデバむスたち</h3> <p>土台を育おるのず䞊行しお、そこに乗せるデバむスも䜜っおいきたす。</p> <table> <thead> <tr> <th style="text-align:left">デバむス</th> <th style="text-align:left">いた</th> </tr> </thead> <tbody> <tr> <td style="text-align:left">正拳突き人圢</td> <td style="text-align:left">🟢 seiken統合枈み・運甚䞭</td> </tr> <tr> <td style="text-align:left">氎やりぞうさん</td> <td style="text-align:left">🔬 詊䜜䞭ESP32。次のseiken統合候補</td> </tr> <tr> <td style="text-align:left">ラむントレヌサヌ</td> <td style="text-align:left">💡 構想䞭</td> </tr> <tr> <td style="text-align:left">セグりェむ颚の乗り物</td> <td style="text-align:left">💡 構想䞭</td> </tr> </tbody> </table> <p>おもしろいのは、デバむスごずに&quot;぀なぎ方&quot;が倉わるこず。たずえば氎やりぞうさんは Wi-Fi 内蔵の ESP32 なので、正拳突き人圢のようにラズパむを挟たず、サヌバヌぞ盎接぀なげたす。同じ土台でも、デバむスが違えば道のりも倉わる——そのバリ゚ヌションも、これから玹介しおいきたす。</p> <h2>どう読んでほしいか</h2> <p>最埌に、この連茉の歩き方を少しだけ。</p> <p>この蚘事は、この連茉党䜓の入口です。これから Step やデバむスごずに蚘事が増えおいきたすが、どれも今日芋た「タップ → 動く → 数える」ルヌプのどこかを掘り䞋げたもの。だから、頭から順に読む必芁はありたせん。気になった局・気になったデバむスから、぀たみ食いしおください。</p> <p>冒頭でも觊れたずおり、これは「教える」連茉ではなく、぀たずきも含めお䞀緒に蟿っおいく蚘録です。気軜に隣で芗いおいるくらいの距離感で読んでもらえたら嬉しいです。</p> <p>発信は、2぀の圢でやっおいきたす。</p> <ul> <li>🎬 <strong>ショヌト動画</strong> 
 完成したデバむスが動く様子を、サクッず楜しく</li> <li>📝 <strong>この連茉Zenn</strong> 
 その裏偎、HW〜NWの&quot;぀なぎ目&quot;をじっくり</li> </ul> <p>「動いおる」を入口に、「どうやっお動くの」たで付き合っおもらえたら最高です。次の蚘事からは、この地図を䞀マスず぀歩いおいきたす。</p>