SlideShare a Scribd company logo
初めての Raspberry Pi
プラレールをUnityの世界の中で走らせよう
自己紹介
島田文平
● 株式会社ビズリーチ所属
● サーバーサイドエンジニア2年目
● 学部では教育政策を専攻
● プロダクトを発表させて頂いたワンダーメイクフェスの運営元である
株式会社リタリコでインターンさせてもらってました
ワンダーメイクフェスとは?
https://japan.cnet.com/article/35108811/
出展ブースに混ぜて頂きました
このあたり
初めての Raspberry pi 〜プラレールをunityの世界の中で走らせよう〜 (1)
初めての Raspberry pi 〜プラレールをunityの世界の中で走らせよう〜 (1)
はじめに
はじめに
この発表は、IoT や電子工作、Raspberry Pi 等々に興味を持っているものの
まだ手を出していないエンジニアの方を対象にしています。
発表者自身大したことは出来ていないですし、情けないですがやりきれなかった部分もあります。
しかしながら、願わくばこの経験を発表することがこれから始められる方にとっての
一歩踏み出すきっかけに、もしくは最初の躓きポイントの解消に役立てば嬉しく思います。
目次
目次
1. 今回触れた技術の紹介
2. 実装詳細
3. 制作タイムライン
4. 反省点振り返り
5. 得られたもの
6. Tips
7. まとめ
8. 今後の展望
今回触れた技術の紹介
今回触れた技術の紹介
● Raspberry Pi Zero W
● Python
● Unity
● Tinkercad
● レーザーカッター
Raspberry Pi Zero W
● 1GHz, Single-core CPU
● 512MB RAM
● Mini HDMI and USB On-The-Go ports
● Micro USB power
● HAT-compatible 40-pin header
● Composite video and reset headers
● CSI camera connector
● 802.11n wireless LAN
● Bluetooth 4.0
今回使った箇所
● 1GHz, Single-core CPU
● 512MB RAM
● Mini HDMI and USB On-The-Go ports
● Micro USB power
● HAT-compatible 40-pin header
● Composite video and reset headers
● CSI camera connector
● 802.11n wireless LAN
● Bluetooth 4.0
Python
● Websocket 通信
● モーター制御
上記2点にだけ使いました
import time
from websocket import create_connection
ws =
create_connection("ws://192.168.1.10:9999/")
While True:
ws.send("Hello, World")
time.sleep(1)
result = ws.recv()
print("Received '%s'" % result)
time.sleep(1)
ws.close()
from websocket_server import WebsocketServer
def new_client(client, server):
server.send_message_to_all("Hey all, a
new client has joined us")
def send_msg_allclient(client,
server,message):
server.send_message_to_all("Hey
all:"+message)
server = WebsocketServer(9999,
host='192.168.1.10')
server.set_fn_new_client(new_client)
server.set_fn_message_received(send_msg_allcl
ient)
server.run_forever()
Unity
詳細は実働画面にて▶ https://photos.app.goo.gl/GrZ61w3Hhpfbez2o2
Tinkercad
詳細は実働画面にて▶ https://www.tinkercad.com/#/
レーザーカッター
制作タイムライン
制作タイムライン
9月末 ~ 10月頭
● 元インターン仲間の呼びかけで企画が立ち上がる
10月半ば
● 実装を行う
10月15日
● 本番で発表
9月末 ~ 10月頭 (企画発足)
1. 出展のお誘いを受ける
2. メンバーを集める
3. チャットでやんわりやりたい事を決める
このブログを参考に ▶ http://www.mana-cat.com/entry/2016/07/26/212840
4. Raspberry Pi 班、レーザーカッター担当、 Unity 担当それぞれのタスク割り振り
(発表者が所属したのは Raspberry Pi 班)
5. 最長2日でやり切れると見積もりを立てる
6. 実装日の3日ほど前にパーツの発注手続きを始める
9月末 ~ 10月頭 (企画発足)
1. 出展のお誘いを受ける
2. メンバーを集める
3. チャットでやんわりやりたい事を決める
このブログを参考に ▶ http://www.mana-cat.com/entry/2016/07/26/212840
4. Raspberry Pi 班、レーザーカッター担当、 Unity 担当それぞれのタスク割り振り
(発表者が所属したのは Raspberry Pi 班)
5. 最長2日でやり切れると見積もりを立てる
6. 実装日の3日ほど前にパーツの発注手続きを始める
9月末 ~ 10月頭 (企画発足)
1. 出展のお誘いを受ける
2. メンバーを集める
3. チャットでやんわりやりたい事を決める
このブログを参考に ▶ http://www.mana-cat.com/entry/2016/07/26/212840
4. Raspberry Pi 班、レーザーカッター担当、 Unity 担当それぞれのタスク割り振り
(発表者が所属したのは Raspberry Pi 班)
5. 最長2日でやり切れると見積もりを立てる
6. 実装日の3日ほど前にパーツの発注手続きを始める
10月半ば (実装期間)
1. 実装一日、バッファ一日の予定で走り始める
2. Amazon で発送に時間がかかり実装日に届かないパーツを秋葉原に買い出しに行く
(3時間)
3. 買い忘れていたハンダを渋谷のロフトに買い出しに行く
(2時間)
4. Raspberry Pi の設定をしてる内に日が暮れ一日では終わらない事を悟る
5. バッファ日丸一日使うもソフトの通信設定までで日が暮れ急遽発表前日にバッファ日を追加
6. あとはハードが動けば終わりだ!とハンダと格闘
回らないモーター
探せない不具合発生ポイント
気がついたらもう空にはが昇っていた...
10月半ば (実装期間)
1. 実装一日、バッファ一日の予定で走り始める
2. Amazon で発送に時間がかかり実装日に届かないパーツを秋葉原に買い出しに行く
(3時間)
3. 買い忘れていたハンダを渋谷のロフトに買い出しに行く
(2時間)
4. Raspberry Pi の設定をしてる内に日が暮れ一日では終わらない事を悟る
5. バッファ日丸一日使うもソフトの通信設定までで日が暮れ急遽発表前日にバッファ日を追加
6. あとはハードが動けば終わりだ!とハンダと格闘
回らないモーター
探せない不具合発生ポイント
気がついたらもう空にはが昇っていた...
10月15日 (本番当日)
● 会場の本気度と来場者数に気圧される
○ 日本科学未来館ワンフロア貸切
○ 来場者3000名以上 (弊ブースにも途切れる事無くお子さんが来てくださり休みを取るのも一苦労 )
● なぜか次々と増える仕事
○ 成果物をお子さんに楽しんでもらうために来たはずが
ソニーさんの IoT プロダクトの使い方をレクチャーすることに ...??
○ 懇親会用のピザが届いているから下から取ってきて欲しい ...??
○ リタリコでのインターンの日々に戻って来たようで燃えました
● 楽しんでくれる子どもたち
○ 自分が作ったオブジェクトがゲーム画面に現れるのを見て大興奮でした
○ 申し訳程度にプラレールを走らせてはいたものの
感のイイ子には連動していないと気づかれてしまいました
反省点振り返り
反省点振り返り
● 予想より全然時間かかる
○ 全く未知の事だったので予想した倍は時間を取っても良かった
○ もう一日あればあるいは ...
● Amazon Prime では電子工作パーツは揃わない
○ 遠方からの取り寄せになるものがある前提で発注スケジュールを組みたかった
○ 秋葉原の電子工作ショップのお兄さんたちに大変お世話になりました ...
● 特に慣れない所から着手すべき
○ 本当に全く触った事無いハンダを行うのを最後に回してしまっていた
○ 信号の発信→受信順序等に沿うのではなく、慣れないものから順に手を付けるようにしたい
(仕事でやってることだから活かしたかった ...!!)
● 回路図を理解しないまま進めるのは危険
○ ハードウェアには break point 貼れない(戒め)
○ ここの理解をする時間を最初から全体スケジュールに組み込みたかった
タスク実行順序
1. OS のインストール
2. Wifi 接続設定
3. vim のインストール
4. 固定 IP アドレスの設定
5. Websocket 受信側設定
6. ハンダ付け
7. モーター制御プログラム作成
理想のタスク実行順序
1. OS のインストール
2. ハンダ付け
3. モーター制御プログラム作成
4. Wifi 接続設定
5. vim のインストール
6. 固定 IP アドレスの設定
7. Websocket 受信側設定
得られたもの
得られたもの
● サーバーのCUI 操作への慣れ
● IoT 実装の知見
● 電子工作の楽しさ
● 子供たちの喜ぶ顔
Tips
Tips
● 人を巻き込んで期限と目標を設定すれば動ける
○ 機会を提供してくださったリタリコさんには本当に感謝
○ 拙いプロダクトでも楽しんでくれた子どもたちにも感謝
● 既にやったことがある人がいると非常に非常に捗る
○ ラズパイで遊んでたメンバーがいて助かった
○ 願わくば回路図とかハンダに慣れてる人がいたらよかったなあ
まとめ
まとめ
● ハード面の実装は想像以上に大変
● CUI に慣れたりIoT がなんとなく分かってきたりキャリアの肥やしになった
● 巻き込み巻き込まれて下さった皆さんに本当に感謝
● ラズパイは楽しい
今後の展望
今後の展望
● モーター制御をやりきれなかったので再チャレンジします
● ちゃんと回路図理解します
● 実装できたらQiita に上げますのでお目通し頂けると嬉しいです
未完成ですがURL はこちら (2017/10/27) ▶
https://qiita.com/BumpeiShimada/items/5c566d78e2dc8f330076
参考資料
参考資料①
企画全体
● IoTプラレールの概要と仕組み
Unity
● UnityでWebSocketを使用する
Raspberry Pi: ソフト面の設定
● WebSocket通信の仕方(サーバー側)
● WebSocket通信の仕方(Webページの値更新編)
● Raspberry Piの設定【有線LAN(イーサネット)・無線LAN(WiFi)設定】
Raspberry Pi: ハード面の設定
● 【IoTプラレール基板実装制御系その1】 ProtoZeroおよび電源系の紹介
● 【IoTプラレール基板実装制御系その2】モータードライバー
参考資料②

More Related Content

PDF
インフラエンジニアってなんでしたっけ(仮)
PDF
Introduction to OpenCL (Japanese, OpenCLの基礎)
PDF
Interrupt Affinityについて
PDF
バイナリアンを目指して For a binaryen
PPTX
トランザクションの設計と進化
PPTX
x86x64 SSE4.2 POPCNT
PDF
Dockerを支える技術
PDF
Dockerからcontainerdへの移行
インフラエンジニアってなんでしたっけ(仮)
Introduction to OpenCL (Japanese, OpenCLの基礎)
Interrupt Affinityについて
バイナリアンを目指して For a binaryen
トランザクションの設計と進化
x86x64 SSE4.2 POPCNT
Dockerを支える技術
Dockerからcontainerdへの移行

What's hot (20)

PDF
DPDKによる高速コンテナネットワーキング
PDF
CXL_説明_公開用.pdf
PDF
CyberAgentのインフラについて メディア事業編 #catechchallenge
PDF
Twitterのsnowflakeについて
PDF
Kubernetes 基盤における非機能試験の deepdive(Kubernetes Novice Tokyo #17 発表資料)
PPTX
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
PDF
DockerとPodmanの比較
PDF
いまさら聞けないarmを使ったNEONの基礎と活用事例
PDF
ゼロからはじめるKVM超入門
PDF
MagicOnion入門
PDF
FPGA+SoC+Linux実践勉強会資料
PDF
Docker infiniband
PDF
2023年はTiDBの時代!
PDF
TCAMのしくみ
PDF
インターネットの仕組みとISPの構造
PPTX
Docker Tokyo
PDF
用十分鐘 向jserv學習作業系統設計
PDF
ロードバランスへの長い道
PPTX
ARM LinuxのMMUはわかりにくい
PDF
Embedded Virtualization applied in Mobile Devices
DPDKによる高速コンテナネットワーキング
CXL_説明_公開用.pdf
CyberAgentのインフラについて メディア事業編 #catechchallenge
Twitterのsnowflakeについて
Kubernetes 基盤における非機能試験の deepdive(Kubernetes Novice Tokyo #17 発表資料)
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
DockerとPodmanの比較
いまさら聞けないarmを使ったNEONの基礎と活用事例
ゼロからはじめるKVM超入門
MagicOnion入門
FPGA+SoC+Linux実践勉強会資料
Docker infiniband
2023年はTiDBの時代!
TCAMのしくみ
インターネットの仕組みとISPの構造
Docker Tokyo
用十分鐘 向jserv學習作業系統設計
ロードバランスへの長い道
ARM LinuxのMMUはわかりにくい
Embedded Virtualization applied in Mobile Devices
Ad

Similar to 初めての Raspberry pi 〜プラレールをunityの世界の中で走らせよう〜 (1) (20)

PPTX
ラズパイでデバイスを自作して社内のシンクロ率を上げる【WESEEK Tech Conf #1】
PPTX
Raspberry pi+mono を使ってlegoを制御
PPTX
Windows10とRaspberryPiで MakerFaireTokyoに参加
PDF
ゲーム開発初心者の僕がUnity + WebSocketで何か作ってみた
PDF
Raspberry Pi Zero+SORACOM+littleBitsで手で持てそうなデバイスのプロトタイプを3Dプリンタと連携してやってみるよ
PPTX
レゴブロックとC#を使ったIoT体験
PPTX
Xamarin+f#で操作する Raspberry Pi Robot
PDF
配布用Raspberry pi+arduino+scratchでフィジカルコンピューティング体験!
PDF
さくらのIoT Platform α版ハンズオン
PPTX
ただのSEが初めてArduinoで遊んでみたw(今更 : 品モノラボ #9
PPTX
F#で動かすraspberry pi+lego mindstorms
KEY
FabLab前後概観
PPTX
「Raspberry pi」勉強会 2015.03.20
PDF
2015年5月期 AITCオープンラボ 「第二回 デジタルガジェット祭り!」
ODP
20100522 mtm05 プレゼン
PDF
IoTで遊ぼうピタゴラスイッチ
PDF
Raspberrypi×unity
PDF
Makeblockでキミだけの最強ロボットをつくろう!
PDF
RaspberryPiとawsで取組んだ自作IoT
PDF
NodeREDでブロック的なビジュアルプログラミングに あれこれ思いを馳せてみる
ラズパイでデバイスを自作して社内のシンクロ率を上げる【WESEEK Tech Conf #1】
Raspberry pi+mono を使ってlegoを制御
Windows10とRaspberryPiで MakerFaireTokyoに参加
ゲーム開発初心者の僕がUnity + WebSocketで何か作ってみた
Raspberry Pi Zero+SORACOM+littleBitsで手で持てそうなデバイスのプロトタイプを3Dプリンタと連携してやってみるよ
レゴブロックとC#を使ったIoT体験
Xamarin+f#で操作する Raspberry Pi Robot
配布用Raspberry pi+arduino+scratchでフィジカルコンピューティング体験!
さくらのIoT Platform α版ハンズオン
ただのSEが初めてArduinoで遊んでみたw(今更 : 品モノラボ #9
F#で動かすraspberry pi+lego mindstorms
FabLab前後概観
「Raspberry pi」勉強会 2015.03.20
2015年5月期 AITCオープンラボ 「第二回 デジタルガジェット祭り!」
20100522 mtm05 プレゼン
IoTで遊ぼうピタゴラスイッチ
Raspberrypi×unity
Makeblockでキミだけの最強ロボットをつくろう!
RaspberryPiとawsで取組んだ自作IoT
NodeREDでブロック的なビジュアルプログラミングに あれこれ思いを馳せてみる
Ad

More from dcubeio (20)

PDF
AWS Summit Tokyo 2019登壇資料「DevOpsの劇的改善!古いアーキテクチャから王道のマネージドサービスを活用しフルリプレイス! 」
PDF
20170329 D3 DBAが夜間メンテをしなくなった日 発表資料
PDF
ビットコインとブロックチェーンを初めからていねいに(超基礎編)
PDF
20171206 d3 health_tech発表資料
PDF
Go初心者がGoでコマンドラインツールの作成に挑戦した話
PDF
BizReach x Marketo連携
PPTX
Kinesis Firehoseを使ってみた
PDF
Apiドキュメンテーションツールを使いこなす【api blueprint編】
PPTX
春の脆弱性祭り 2017/06/13
PDF
DynamoDBを導入した話
PPTX
Play2 scalaを2年やって学んだこと
PDF
すごーい!APIドキュメントを更新するだけでAPIが自動テストできちゃう!たのしー!
PPT
20170329 D3 DBAが夜間メンテをしなくなった日 発表資料
PDF
Bitcoin x Slack でマイクロペイメントを実現! 〜生活の必要上割り勘botを作るまで〜
PDF
【freee】プロダクトマネージャーの仕事と魅力
PDF
【ビズリーチ】プロダクトマネージャーの仕事と魅力
PDF
Python × Herokuで作る 雑談slack bot
PPTX
HR Tech x 機械学習 導入事例紹介
PPTX
Scalaマクロ入門 bizr20170217
PDF
機械学習を支えるX86 64の拡張命令セットを読む会 20170212
AWS Summit Tokyo 2019登壇資料「DevOpsの劇的改善!古いアーキテクチャから王道のマネージドサービスを活用しフルリプレイス! 」
20170329 D3 DBAが夜間メンテをしなくなった日 発表資料
ビットコインとブロックチェーンを初めからていねいに(超基礎編)
20171206 d3 health_tech発表資料
Go初心者がGoでコマンドラインツールの作成に挑戦した話
BizReach x Marketo連携
Kinesis Firehoseを使ってみた
Apiドキュメンテーションツールを使いこなす【api blueprint編】
春の脆弱性祭り 2017/06/13
DynamoDBを導入した話
Play2 scalaを2年やって学んだこと
すごーい!APIドキュメントを更新するだけでAPIが自動テストできちゃう!たのしー!
20170329 D3 DBAが夜間メンテをしなくなった日 発表資料
Bitcoin x Slack でマイクロペイメントを実現! 〜生活の必要上割り勘botを作るまで〜
【freee】プロダクトマネージャーの仕事と魅力
【ビズリーチ】プロダクトマネージャーの仕事と魅力
Python × Herokuで作る 雑談slack bot
HR Tech x 機械学習 導入事例紹介
Scalaマクロ入門 bizr20170217
機械学習を支えるX86 64の拡張命令セットを読む会 20170212

初めての Raspberry pi 〜プラレールをunityの世界の中で走らせよう〜 (1)