Successfully reported this slideshow.
初めての Raspberry Pi
プラレールをUnityの世界の中で走らせよう
自己紹介
島田文平
● 株式会社ビズリーチ所属
● サーバーサイドエンジニア2年目
● 学部では教育政策を専攻
● プロダクトを発表させて頂いたワンダーメイクフェスの運営元である
株式会社リタリコでインターンさせてもらってました
ワンダーメイクフェスとは?
https://japan.cnet.com/article/35108811/
出展ブースに混ぜて頂きました
このあたり
はじめに
はじめに
この発表は、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-compat...
今回使った箇所
● 1GHz, Single-core CPU
● 512MB RAM
● Mini HDMI and USB On-The-Go ports
● Micro USB power
● HAT-compatible 40-pin ...
Python
● Websocket 通信
● モーター制御
上記2点にだけ使いました
import time
from websocket import create_connection
ws =
create_connection("ws...
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/212...
9月末 ~ 10月頭 (企画発足)
1. 出展のお誘いを受ける
2. メンバーを集める
3. チャットでやんわりやりたい事を決める
このブログを参考に ▶ http://www.mana-cat.com/entry/2016/07/26/212...
9月末 ~ 10月頭 (企画発足)
1. 出展のお誘いを受ける
2. メンバーを集める
3. チャットでやんわりやりたい事を決める
このブログを参考に ▶ http://www.mana-cat.com/entry/2016/07/26/212...
10月半ば (実装期間)
1. 実装一日、バッファ一日の予定で走り始める
2. Amazon で発送に時間がかかり実装日に届かないパーツを秋葉原に買い出しに行く
(3時間)
3. 買い忘れていたハンダを渋谷のロフトに買い出しに行く
(2時間)
...
10月半ば (実装期間)
1. 実装一日、バッファ一日の予定で走り始める
2. Amazon で発送に時間がかかり実装日に届かないパーツを秋葉原に買い出しに行く
(3時間)
3. 買い忘れていたハンダを渋谷のロフトに買い出しに行く
(2時間)
...
10月15日 (本番当日)
● 会場の本気度と来場者数に気圧される
○ 日本科学未来館ワンフロア貸切
○ 来場者3000名以上 (弊ブースにも途切れる事無くお子さんが来てくださり休みを取るのも一苦労 )
● なぜか次々と増える仕事
○ 成果物を...
反省点振り返り
反省点振り返り
● 予想より全然時間かかる
○ 全く未知の事だったので予想した倍は時間を取っても良かった
○ もう一日あればあるいは ...
● Amazon Prime では電子工作パーツは揃わない
○ 遠方からの取り寄せになるものがある前提...
タスク実行順序
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:/...
参考資料
参考資料①
企画全体
● IoTプラレールの概要と仕組み
Unity
● UnityでWebSocketを使用する
Raspberry Pi: ソフト面の設定
● WebSocket通信の仕方(サーバー側)
● WebSocket通信の仕方(Webページの値更新編)
● Raspberry Piの設定【有線LAN(イーサネット)・無線LAN(WiFi)設定】...
初めての Raspberry pi 〜プラレールをunityの世界の中で走らせよう〜 (1)
初めての Raspberry pi 〜プラレールをunityの世界の中で走らせよう〜 (1)
Upcoming SlideShare
Loading in …5
×

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

420 views

Published on

ハードウェアを触ったことのない Web エンジニアが Raspberry Pi Zero W で初めての開発を行った際の悲喜こもごもをお話をします。 <

Published in: Technology
  • Be the first to comment

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

  1. 1. 初めての Raspberry Pi プラレールをUnityの世界の中で走らせよう
  2. 2. 自己紹介
  3. 3. 島田文平 ● 株式会社ビズリーチ所属 ● サーバーサイドエンジニア2年目 ● 学部では教育政策を専攻 ● プロダクトを発表させて頂いたワンダーメイクフェスの運営元である 株式会社リタリコでインターンさせてもらってました
  4. 4. ワンダーメイクフェスとは? https://japan.cnet.com/article/35108811/
  5. 5. 出展ブースに混ぜて頂きました このあたり
  6. 6. はじめに
  7. 7. はじめに この発表は、IoT や電子工作、Raspberry Pi 等々に興味を持っているものの まだ手を出していないエンジニアの方を対象にしています。 発表者自身大したことは出来ていないですし、情けないですがやりきれなかった部分もあります。 しかしながら、願わくばこの経験を発表することがこれから始められる方にとっての 一歩踏み出すきっかけに、もしくは最初の躓きポイントの解消に役立てば嬉しく思います。
  8. 8. 目次
  9. 9. 目次 1. 今回触れた技術の紹介 2. 実装詳細 3. 制作タイムライン 4. 反省点振り返り 5. 得られたもの 6. Tips 7. まとめ 8. 今後の展望
  10. 10. 今回触れた技術の紹介
  11. 11. 今回触れた技術の紹介 ● Raspberry Pi Zero W ● Python ● Unity ● Tinkercad ● レーザーカッター
  12. 12. 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
  13. 13. 今回使った箇所 ● 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
  14. 14. 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()
  15. 15. Unity 詳細は実働画面にて▶ https://photos.app.goo.gl/GrZ61w3Hhpfbez2o2
  16. 16. Tinkercad 詳細は実働画面にて▶ https://www.tinkercad.com/#/
  17. 17. レーザーカッター
  18. 18. 制作タイムライン
  19. 19. 制作タイムライン 9月末 ~ 10月頭 ● 元インターン仲間の呼びかけで企画が立ち上がる 10月半ば ● 実装を行う 10月15日 ● 本番で発表
  20. 20. 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日ほど前にパーツの発注手続きを始める
  21. 21. 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日ほど前にパーツの発注手続きを始める
  22. 22. 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日ほど前にパーツの発注手続きを始める
  23. 23. 10月半ば (実装期間) 1. 実装一日、バッファ一日の予定で走り始める 2. Amazon で発送に時間がかかり実装日に届かないパーツを秋葉原に買い出しに行く (3時間) 3. 買い忘れていたハンダを渋谷のロフトに買い出しに行く (2時間) 4. Raspberry Pi の設定をしてる内に日が暮れ一日では終わらない事を悟る 5. バッファ日丸一日使うもソフトの通信設定までで日が暮れ急遽発表前日にバッファ日を追加 6. あとはハードが動けば終わりだ!とハンダと格闘 回らないモーター 探せない不具合発生ポイント 気がついたらもう空にはが昇っていた...
  24. 24. 10月半ば (実装期間) 1. 実装一日、バッファ一日の予定で走り始める 2. Amazon で発送に時間がかかり実装日に届かないパーツを秋葉原に買い出しに行く (3時間) 3. 買い忘れていたハンダを渋谷のロフトに買い出しに行く (2時間) 4. Raspberry Pi の設定をしてる内に日が暮れ一日では終わらない事を悟る 5. バッファ日丸一日使うもソフトの通信設定までで日が暮れ急遽発表前日にバッファ日を追加 6. あとはハードが動けば終わりだ!とハンダと格闘 回らないモーター 探せない不具合発生ポイント 気がついたらもう空にはが昇っていた...
  25. 25. 10月15日 (本番当日) ● 会場の本気度と来場者数に気圧される ○ 日本科学未来館ワンフロア貸切 ○ 来場者3000名以上 (弊ブースにも途切れる事無くお子さんが来てくださり休みを取るのも一苦労 ) ● なぜか次々と増える仕事 ○ 成果物をお子さんに楽しんでもらうために来たはずが ソニーさんの IoT プロダクトの使い方をレクチャーすることに ...?? ○ 懇親会用のピザが届いているから下から取ってきて欲しい ...?? ○ リタリコでのインターンの日々に戻って来たようで燃えました ● 楽しんでくれる子どもたち ○ 自分が作ったオブジェクトがゲーム画面に現れるのを見て大興奮でした ○ 申し訳程度にプラレールを走らせてはいたものの 感のイイ子には連動していないと気づかれてしまいました
  26. 26. 反省点振り返り
  27. 27. 反省点振り返り ● 予想より全然時間かかる ○ 全く未知の事だったので予想した倍は時間を取っても良かった ○ もう一日あればあるいは ... ● Amazon Prime では電子工作パーツは揃わない ○ 遠方からの取り寄せになるものがある前提で発注スケジュールを組みたかった ○ 秋葉原の電子工作ショップのお兄さんたちに大変お世話になりました ... ● 特に慣れない所から着手すべき ○ 本当に全く触った事無いハンダを行うのを最後に回してしまっていた ○ 信号の発信→受信順序等に沿うのではなく、慣れないものから順に手を付けるようにしたい (仕事でやってることだから活かしたかった ...!!) ● 回路図を理解しないまま進めるのは危険 ○ ハードウェアには break point 貼れない(戒め) ○ ここの理解をする時間を最初から全体スケジュールに組み込みたかった
  28. 28. タスク実行順序 1. OS のインストール 2. Wifi 接続設定 3. vim のインストール 4. 固定 IP アドレスの設定 5. Websocket 受信側設定 6. ハンダ付け 7. モーター制御プログラム作成
  29. 29. 理想のタスク実行順序 1. OS のインストール 2. ハンダ付け 3. モーター制御プログラム作成 4. Wifi 接続設定 5. vim のインストール 6. 固定 IP アドレスの設定 7. Websocket 受信側設定
  30. 30. 得られたもの
  31. 31. 得られたもの ● サーバーのCUI 操作への慣れ ● IoT 実装の知見 ● 電子工作の楽しさ ● 子供たちの喜ぶ顔
  32. 32. Tips
  33. 33. Tips ● 人を巻き込んで期限と目標を設定すれば動ける ○ 機会を提供してくださったリタリコさんには本当に感謝 ○ 拙いプロダクトでも楽しんでくれた子どもたちにも感謝 ● 既にやったことがある人がいると非常に非常に捗る ○ ラズパイで遊んでたメンバーがいて助かった ○ 願わくば回路図とかハンダに慣れてる人がいたらよかったなあ
  34. 34. まとめ
  35. 35. まとめ ● ハード面の実装は想像以上に大変 ● CUI に慣れたりIoT がなんとなく分かってきたりキャリアの肥やしになった ● 巻き込み巻き込まれて下さった皆さんに本当に感謝 ● ラズパイは楽しい
  36. 36. 今後の展望
  37. 37. 今後の展望 ● モーター制御をやりきれなかったので再チャレンジします ● ちゃんと回路図理解します ● 実装できたらQiita に上げますのでお目通し頂けると嬉しいです 未完成ですがURL はこちら (2017/10/27) ▶ https://qiita.com/BumpeiShimada/items/5c566d78e2dc8f330076
  38. 38. 参考資料
  39. 39. 参考資料① 企画全体 ● IoTプラレールの概要と仕組み Unity ● UnityでWebSocketを使用する
  40. 40. Raspberry Pi: ソフト面の設定 ● WebSocket通信の仕方(サーバー側) ● WebSocket通信の仕方(Webページの値更新編) ● Raspberry Piの設定【有線LAN(イーサネット)・無線LAN(WiFi)設定】 Raspberry Pi: ハード面の設定 ● 【IoTプラレール基板実装制御系その1】 ProtoZeroおよび電源系の紹介 ● 【IoTプラレール基板実装制御系その2】モータードライバー 参考資料②

×
Save this presentationTap To Close