SlideShare a Scribd company logo
1 of 17
F#で動かすRaspberry
PI+LEGO Mindstorms
増田 智明(@moonmile)
.NET ラボ Micorosft MVP C#
Moonmile Solutions
自己紹介
 増田 智明 masdua@moonmile.net
 執筆業&プログラマ
 C#によるiOS, Android, Windowsアプリケーション開発入門
 逆引き大全 Visual C# 2013, Visual Basic 2013
 逆引き大全 iPhone/iPad アプリ開発
 作って覚える iPhone/iPad アプリ入門
「ハルロック」西餅 著
http://www.moae.jp/comic/harurock/1/1
 つい最近知った。
 電子工作の基礎な話が出てきます。
 PIC
 Raspberry Pi
 Arduino
 .NET Micro は、まだ出てきてない
 モーニング連載
プレゼンの目的
F# は何処で使えるのか?
いきなり、結論
.NET Framework があれば何処でも使えます
ロボット制御に使おう
Raspberry Pi
Linux/Mono
Camera
OpenCV
DualSock3
Bluetooth
GPIO/I2C
Robot
Protocol
WiFi
HTTP
XAML
Xamarin.Forms
Rasbpery Pi に F# を入れる
Raspberry Pi
Linux/Mono
LinuxなのでMonoが
入る。
F#をビルド
→ 10時間かかる
インタプリタが動く
→ 遅いが
Rasbpery Pi に F# を入れる
簡易 C/S を作る
HttpListener
HttpClient
適当なRESTful
WiFi
HTTP
Rasbpery Pi に F# を入れる
スマートフォンのクライアント
Xamarin.iOS/Android
Xamarin.Forms
Windows Store 8.1 作成中
Windows Phone 8.1 作成中
Windows 8.1 WPF
XAML
Xamarin.Forms
Rasbpery Pi に F# を入れる
画像解析
OpenCVのC#版(opencvsharp)で
実験する予定
Camera
OpenCV
Rasbpery Pi に F# を入れる
Bluetooth コントローラ
/dev/input/js0 を BinaryReader
で扱えばOK
DualSock3
Bluetooth
Rasbpery Pi に F# を入れる
シリアルポートを叩く
実験中。
現在はCからインポートする方式
GPIO/I2C
Rasbpery Pi に F# を入れる
 ロボット制御ロジック
パターンマッチとか諸々は F# の得
意なところ
センサーが受信したデータを解析
Robot
Protocol
ロボットのアームを制御する
 RasPi からアームを動かす
 BrickPi -> LEGO でもアームが動くが、ここでは RasPi から直接行う。
 RasPi -> I2C モジュール → サーボモータ
 で動作させるのだが、I2C モジュールを買い忘れてた orz
 購入済み。プログラミング途中
ロボットからセンサーのフィードバックを受
ける
 BrickPi 経由で超音波センサーを使う
 変換器が必要なのが分かって、現在購入中。
参考文献
 Rasberry Pi http://www.raspberrypi.org/
 BrickPi http://www.dexterindustries.com/BrickPi/
 LEGO Mindstorms EV3 http://education.lego.com/ja-jp/preschool-and-
school/secondary/mindstorms-education-ev3
 Arduiono http://www.arduino.cc/
 meArm http://www.phenoptix.com/products/mearm-pocket-sized-robot-arm
 FEZ Spider https://www.ghielectronics.com/docs/170/fez-spider
 「ハルロック」http://www.moae.jp/comic/harurock/1/1
自前のライブラリ
 BrickPiNet BrickPi を扱う C#/F# ライブラリ
https://github.com/moonmile/BrickPiNet
 XFormsPreviewer Xamarin.Forms Previewer(パース部分がF#)
https://github.com/moonmile/XFormsPreviewer
Xamarin.Forms Xaml を動的にロードするライブラリ
https://www.nuget.org/packages/Xamarin.Forms.XamlProvider/
 WinXamlProiver Windows Store 8.1 Xaml 用の TypeProvider もどき
https://github.com/moonmile/WinXamlProvider
 D4Reflection リフレクションを使って Xamarin.Forms, Windows.UI.Xaml 等を
一括に扱う試作ライブラリ
https://github.com/moonmile/D4Reflection

More Related Content

Similar to F#で動かすraspberry pi+lego mindstorms

Raspberry pi+mono を使ってlegoを制御
Raspberry pi+mono を使ってlegoを制御Raspberry pi+mono を使ってlegoを制御
Raspberry pi+mono を使ってlegoを制御Masuda Tomoaki
 
Raspberry piで動かすロボットアーム
Raspberry piで動かすロボットアームRaspberry piで動かすロボットアーム
Raspberry piで動かすロボットアームMasuda Tomoaki
 
Let’s play windows 10 io t on raspberry pi !
Let’s play windows 10 io t on raspberry pi !Let’s play windows 10 io t on raspberry pi !
Let’s play windows 10 io t on raspberry pi !Masuda Tomoaki
 
Xamarinで作るiPhoneとwindowsストアアプリの共通コンポーネント
Xamarinで作るiPhoneとwindowsストアアプリの共通コンポーネントXamarinで作るiPhoneとwindowsストアアプリの共通コンポーネント
Xamarinで作るiPhoneとwindowsストアアプリの共通コンポーネントMasuda Tomoaki
 
Leapmotionとp5.js:DEMOと解説
Leapmotionとp5.js:DEMOと解説Leapmotionとp5.js:DEMOと解説
Leapmotionとp5.js:DEMOと解説光吉 浜谷
 
デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略
デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略
デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略Fumiya Sakai
 
Windows io t core on raspberry pi meets ロボットアーム
Windows io t core on raspberry pi meets ロボットアームWindows io t core on raspberry pi meets ロボットアーム
Windows io t core on raspberry pi meets ロボットアームMasuda Tomoaki
 
Interactive Application using Kinect and Android
Interactive Application using Kinect and AndroidInteractive Application using Kinect and Android
Interactive Application using Kinect and AndroidHirotaka Niisato
 
How to MAKE HVC-C Protyping Application
How to MAKE HVC-C Protyping ApplicationHow to MAKE HVC-C Protyping Application
How to MAKE HVC-C Protyping ApplicationHirotaka Niisato
 
Jenkinsを使おうよ
Jenkinsを使おうよJenkinsを使おうよ
Jenkinsを使おうよYohei Oda
 
Androidとは。ちょっと変った視点から
Androidとは。ちょっと変った視点からAndroidとは。ちょっと変った視点から
Androidとは。ちょっと変った視点からdemuyan
 
Windows IoT Core and Robot Arm
Windows IoT Core and Robot ArmWindows IoT Core and Robot Arm
Windows IoT Core and Robot ArmMasuda Tomoaki
 
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説Fumiya Sakai
 
C#の強み、或いは何故PHPから乗り換えるのか
C#の強み、或いは何故PHPから乗り換えるのかC#の強み、或いは何故PHPから乗り換えるのか
C#の強み、或いは何故PHPから乗り換えるのかYoshifumi Kawai
 
デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!
デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!
デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!hmimura_embarcadero
 
Potatotips3 hoshi gaki_akira_iwaya
Potatotips3 hoshi gaki_akira_iwayaPotatotips3 hoshi gaki_akira_iwaya
Potatotips3 hoshi gaki_akira_iwayaAkira Iwaya
 
Hint of“Passcode Lock”Screen and Logic (with LocalAuthentication).
Hint of“Passcode Lock”Screen and Logic (with LocalAuthentication).Hint of“Passcode Lock”Screen and Logic (with LocalAuthentication).
Hint of“Passcode Lock”Screen and Logic (with LocalAuthentication).Fumiya Sakai
 

Similar to F#で動かすraspberry pi+lego mindstorms (20)

Raspberry pi+mono を使ってlegoを制御
Raspberry pi+mono を使ってlegoを制御Raspberry pi+mono を使ってlegoを制御
Raspberry pi+mono を使ってlegoを制御
 
Raspberry piで動かすロボットアーム
Raspberry piで動かすロボットアームRaspberry piで動かすロボットアーム
Raspberry piで動かすロボットアーム
 
Let’s play windows 10 io t on raspberry pi !
Let’s play windows 10 io t on raspberry pi !Let’s play windows 10 io t on raspberry pi !
Let’s play windows 10 io t on raspberry pi !
 
Xamarinで作るiPhoneとwindowsストアアプリの共通コンポーネント
Xamarinで作るiPhoneとwindowsストアアプリの共通コンポーネントXamarinで作るiPhoneとwindowsストアアプリの共通コンポーネント
Xamarinで作るiPhoneとwindowsストアアプリの共通コンポーネント
 
Leapmotionとp5.js:DEMOと解説
Leapmotionとp5.js:DEMOと解説Leapmotionとp5.js:DEMOと解説
Leapmotionとp5.js:DEMOと解説
 
Hacking Robotics
Hacking RoboticsHacking Robotics
Hacking Robotics
 
デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略
デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略
デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略
 
Windows io t core on raspberry pi meets ロボットアーム
Windows io t core on raspberry pi meets ロボットアームWindows io t core on raspberry pi meets ロボットアーム
Windows io t core on raspberry pi meets ロボットアーム
 
Interactive Application using Kinect and Android
Interactive Application using Kinect and AndroidInteractive Application using Kinect and Android
Interactive Application using Kinect and Android
 
How to MAKE HVC-C Protyping Application
How to MAKE HVC-C Protyping ApplicationHow to MAKE HVC-C Protyping Application
How to MAKE HVC-C Protyping Application
 
Jenkinsを使おうよ
Jenkinsを使おうよJenkinsを使おうよ
Jenkinsを使おうよ
 
Androidとは。ちょっと変った視点から
Androidとは。ちょっと変った視点からAndroidとは。ちょっと変った視点から
Androidとは。ちょっと変った視点から
 
Windows IoT Core and Robot Arm
Windows IoT Core and Robot ArmWindows IoT Core and Robot Arm
Windows IoT Core and Robot Arm
 
IoT ChatOps #IoTLT
IoT ChatOps #IoTLTIoT ChatOps #IoTLT
IoT ChatOps #IoTLT
 
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説
 
C#の強み、或いは何故PHPから乗り換えるのか
C#の強み、或いは何故PHPから乗り換えるのかC#の強み、或いは何故PHPから乗り換えるのか
C#の強み、或いは何故PHPから乗り換えるのか
 
Win IoT on RPi デモ
Win IoT on RPi デモWin IoT on RPi デモ
Win IoT on RPi デモ
 
デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!
デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!
デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!
 
Potatotips3 hoshi gaki_akira_iwaya
Potatotips3 hoshi gaki_akira_iwayaPotatotips3 hoshi gaki_akira_iwaya
Potatotips3 hoshi gaki_akira_iwaya
 
Hint of“Passcode Lock”Screen and Logic (with LocalAuthentication).
Hint of“Passcode Lock”Screen and Logic (with LocalAuthentication).Hint of“Passcode Lock”Screen and Logic (with LocalAuthentication).
Hint of“Passcode Lock”Screen and Logic (with LocalAuthentication).
 

Recently uploaded

TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 

Recently uploaded (9)

TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 

F#で動かすraspberry pi+lego mindstorms