CHIRIMEN for Raspberry Pi ハンズオン (導入)
Find a file
2025-08-22 16:44:10 +09:00
.github/workflows update upload-pages-artifact and deploy-pages actions 2025-02-07 14:39:41 +09:00
assets update 2025-08-09 18:03:12 +09:00
public archived 2023 okayama 2024-07-19 13:29:23 +09:00
.gitignore add webiotmakers-gallery 2022-10-06 15:56:56 +09:00
.marprc.yml add advanced example 2022-10-09 10:56:37 +09:00
Makefile move assets/2022 to 2022 2022-11-25 21:41:14 +09:00
README.md スケジュールを更新 2025-08-22 16:44:10 +09:00

title marp paginate style
Raspberry Pi Zero 版 CHIRIMEN true true section :is(h1, h2, h3, h4, h5, h6) { border-bottom: 10px solid #F5CE52; }

2025-08-23 ハンズオン


bg


Raspberry Pi Zero 版 CHIRIMEN ハンズオン

WebDINO Japan シニアエンジニア 渡邉浩平


「モノのインターネット」を見たら、「人のインターネット」に変えていこう。

台湾元デジタル担当大臣 オードリー・タン


プロフィール

w:200

渡邉浩平 (わたなべ こうへい) 一般社団法人 WebDINO Japan シニアエンジニア

1992 年生まれ。岡山県総社市出身。鳥取大学工学部卒。専攻は電気電子工学。 2019 年より WebDINO Japan でエンジニアとして従事。Web 技術を軸にソフトウェアシステムのコンサルティングから設計、構築、開発、運用まで担当。 OSS を組み合わせたりして遊ぶおじさん。


CHIRIMEN とは

bg right:45% fit

プロトタイピング環境

JavaScript からハードウェアを制御 センサーやモーターなど組み合わせた さまざまなものをつくることができる!

オープンな仕様

  • 利用者が自由に開発に携われる!
  • 無償で閲覧可能・誰でも参加可能
  • ⇆ 一般的な IoT のイメージ
    • 例: スマートスピーカーの消費者

h:600


本日の内容

Raspberry Pi Zero 版 CHIRIMEN 導入編


本日のゴール

センサーやモーターの使い方を理解する

bg right:45%


Slack にアクセス

QRコード h:350 https://webiotmakerschallenge.slack.com

  • 参加者のみなさま 👉 #2025年度-三重参加者

CHIRIMEN チュートリアル資料

https://tutorial.chirimen.org/pizero/ にアクセス

または

chirimen pizero で検索 🔍


困ったとき・分からないとき・気になることがあるとき

Slack や会場にいるスタッフにお気軽にお声がけください ☺️


機材の確認

h:500


Raspberry Pi Zero の起動

h:300

  1. microSD カードを差し込む
  2. 専用ケースに入れる (オプション)
  3. パソコンと USB ケーブルで接続する

ターミナルに接続

https://chirimen.org/PiZeroWebSerialConsole/PiZeroWebSerialConsole.html

  1. ターミナルにアクセス
  2. [Connect and Login PiZero] を選択
  3. [接続]

このような画面の表示があれば「接続」をクリック


Wi-Fi の設定

  1. [wifi panel] > [SSID] [PASS PHRASE] を入力
  2. [SET WiFi] を選択
  3. [wifi Info] を選択して接続の確認
    • 青字で "Raspberry Pi's IP Address: ***" が表示されていれば OK
    • "Fail to connect chirimen.org." と表示されている場合 → NG
    • もう一度 1. からやり直す

フリーズしたときは再起動

  1. USB ケーブルを抜く (電源 OFF)
  2. (もう一度) USB ケーブルを接続し起動
  3. ターミナルの画面をリロード (🔁 ボタン・Ctrl+RF5 キーなど)
  4. [Connect and Login PiZero] を選択
    • シリアルポートが表示されていれば OK
    • 起動完了まで約 2 分間かかります
  5. (もう一度) [接続]

ブレッドボードでの配線

h:600


プログラムを書く

[myApp] > [移動] > [Create New Text] > "hello.js" と入力

import { requestGPIOAccess } from "node-web-gpio"; // WebGPIO を使えるようにするためのライブラリをインポート
const sleep = (msec) => new Promise((resolve) => setTimeout(resolve, msec)); // sleep 関数を定義

const gpioAccess = await requestGPIOAccess(); // GPIO を操作する
const port = gpioAccess.ports.get(26); // 26 番ポートを操作する

await port.export("out"); // ポートを出力モードに設定

// 無限ループ
for (;;) {
  // 1秒間隔で LED が点滅します
  await port.write(1); // LEDを点灯
  await sleep(1000); // 1000 ms (1秒) 待機
  await port.write(0); // LEDを消灯
  await sleep(1000); // 1000 ms (1秒) 待機
}

コピー&ペースト > [Save] (保存)


プログラムの実行

"hello.js" を実行する方法

node hello.js

停止するには Ctrl+C

書式:

node [ファイル名]

サンプルコードのダウンロード

CHIRIMEN panel > Get Examples > hello-real-world (L チカ) > JS GET

他のサンプルコードや配線図を参照することができます


ここまでのまとめ

  • Raspberry Pi Zero W のセットアップ
  • LED を制御するプログラム (通称 LED チカチカ、L チカ) の実行

CHIRIMEN チュートリアル資料

https://tutorial.chirimen.org/pizero/ にアクセス

または

「chirimen pizero」で検索 🔍


2025-08-24


いろいろなデバイスを自由に試してみよう

  • 自由に進めてもらって OK 👌
  • 自由に実験しながらセンサー・アクチュエータに触れる時間

本日の流れ

  • 10:00 Raspberry Pi Zero 版 CHIRIMEN 応用編・自由時間
  • 11:20 片付け・チーム分け発表

ハッカソンのポイント

作品の完成度より やりたいことを実現することが大切

bg w:800 right:48%


Q. 何を作っていいか分からない


【参考】過去の作品ギャラリー

「Web×IoT メイカーズチャレンジ」で検索 > ハッカソン作品集 または https://webiotmakers.github.io/gallery/


【参考】CHIRIMEN 対応デバイスの一覧

https://tutorial.chirimen.org/partslist

こちらに掲載がないデバイスについても「〇〇をやりたい」「〇〇できるか気になる」などあればご相談ください


「何を作っていいか分からない」人向け

  • AI に聞く
    • Web と AI の膨大な「知識」を活用すれば OK
    • 眼の前の課題をテーマにすればモチベーションが上がる
    • ちょっと足してみたり、自分なりにアレンジしてみたくなる
  • できることを増やしていく
    • できることが増えると、やりたいことも増える
    • 世界も広がる
    • だから作ってみよう

ハッカソンに向けて

やりたいことを実現することが大切

  • Slack にてお気軽にご相談お寄せください
  • メンターに相談するのも OK
  • 参加者同士で相談し合うのも OK

「モノのインターネット」を見たら、「人のインターネット」に変えていこう。

台湾元デジタル担当大臣 オードリー・タン


I2C で複数のデバイスを扱う

それぞれのデバイスの VCC/GND/SDA/SCL を並列接続 h:450 ※ 画像にある I2C デバイスはあくまで例です スレーブアドレスが同じデバイスは同時に接続できません


一定温度を超えたとき NeoPixel LED を点灯する例

import { requestI2CAccess } from "node-web-i2c";
import SHT30 from "@chirimen/sht30"; // 温湿度センサー SHT30
import NPIX from "@chirimen/neopixel-i2c"; // NeoPixel I2C

const i2cAccess = await requestI2CAccess();
const port = i2cAccess.ports.get(1);
const sht30 = new SHT30(port, 0x44);
await sht30.init();
const npix = new NPIX(port, 0x41);
await npix.init(8);

while (true) {
  const { temperature } = await sht30.readData();
  console.log(`${temperature.toFixed(2)} ℃`);

  if (temperature > 30) {
    await npix.setGlobal(20, 20, 0);
  } else {
    await npix.setGlobal(0, 0, 0);
  }
}

⚠ Raspberry Pi のカメラに関する注意事項

  • 接続端子・フラットケーブルは壊れやすい
    • 引っ張らない
    • 折り曲げない

動作確認方法

以下のコマンドで画像ファイルが保存されます:

raspistill -v --width 640 --height 480 -o test.jpg

⚠ 片付け注意事項

借りた電子部品は返却しましょう

bg right:48%

  • 各種貸し出しデバイス

(詳しくは会場のスタッフに)


【参考】材料調達 Tips

ネットショップ購入のリードタイムに注意。初動が重要。

https://gist.github.com/elie-j/8a27e7a65a40371e0cda5754ce0a063d


過去の資料


フィードバック

このスライドを編集する / 問題を報告する