SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Downloaden Sie, um offline zu lesen
PICとRoR・herokuの無茶な関係

      @mgwsuzuki
自己紹介
• 本職はLSI設計とかデジタル無線通信とか組
  み込みソフト開発とか
• 小さいマイコンとか電子部品が好き
• Low Layer好き、というか好き
PICマイコン




• 32bit 80MHz CPU
• 128KB Flash Memory, 32KB RAM
   – MBじゃない、KB
• OS無し
マイコンとセンサ




• 小さいマイコンに興味を持つと大体センサに手を出す
• 今回は気圧センサ
ネットワーク??




• これは??
• 10Mbpsのイーサネット
PICマイコン




• 32bit 80MHz CPU
• 128KB Flash Memory, 32KB RAM
   – MBじゃない、KB
• OS無し
• でもEthernetでDHCP, DNS, TCP, UDP, Webサーバまでできる
   – 製造メーカーがライブラリを無償提供
妄想
•   気圧センサで取得したデータを
•   Ethernet使って
•   今はやりのRuby on Railsで作ったサーバに
•   PCを使わずにPICだけで
•   自動的に投稿してみようじゃないか
困難
• PICでjavaやrubyが動くわけじゃない
• 文字列処理に便利な正規表現があるわけ
  じゃない
• HTTPライブラリがあるわけじゃない

• 要するに無いないづくしorz
楽観
•   TCPあれば80番ポート叩けばいいよね
•   HTTPなんて”GETなんちゃら”って送ればいいよね
•   セッションもcookieをオウム返しすればいいよね
•   authenticity_tokenだってオウム返しでしょ?
•   BASIC認証だって(ry

• なんとかなるよね、きっと
とりあえず現物
• senslogs.herokuapp.com/senslogs
Ruby on Rails
• Scaffoldingでひな形作って
  改造
• BASIC認証追加
• データがPOSTされたとき
  の時間を記録する
• Herokuへdeploy
HTTP GET
GET /senslogs/new HTTP/1.0              <- PICから送信

HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
…                                         <- 途中省略
Set-Cookie:
_sensor_session=BAh7B0kiD3Nlc3Npb25faWQGOgZFRkkiJWE2MzJmMGVhNDkzNGNjZTI0Z
WZlYzZiYWRkOTI2NjRjBjsAVEkiEF9jc3JmX3Rva2VuBjsARkkiMUpmT1hzOHZJa1RDSHdoZDVB
bC9lQTlWRkRkRHJScVdOcE5aSDRjc0pUMjA9BjsARg%3D%3D--
7f1dc20e289a0a5bc0cb5dbe1bc2522cee8fb0bd; path=/; HttpOnly
…
<form accept-charset="UTF-8" action="/senslogs" class="new_senslog" id="new_senslog"
method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8"
type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden"
value="nFgUyFamqODtURZ0W81UcofMPDh1Esx1hurNDC/Jt04=" /></div>

• GETで得た文字列をどうにかして解析しないといけない
• そのための文字列操作関数を作る
作ったライブラリ
     • 可変長の文字列を扱
       う文字列クラス
     • いわゆるString
作ったライブラリ
     • HTTPサーバと会話する
       ためのクラス
受信と送信
Content-Ty    文字列が細切れになって時間差で到着する
pe: text/h
              これを連結して1つの文字列に直す
tml; chars
set=utf-8     送信はその逆を行う




Content-Type: text/html; charset=utf-8
HTTP POST
 POST /senslogs HTTP/1.1
 Host: senslogs.herokuapp.com        これが無いと接続できなかった
 Connection: close
 Cookie: _sensor_session=BAh7B…      GETで得たCookieを返す
 Authorization: Basic XXXXXXXX       BASIC認証の文字列
 Content-Length: XXX                 BODYの文字列長

 utf8=%E2%9C%93&authenticity_token=8r3AJu9wnUoZRL5iRG%2Ffc3TLdYRVJPcPO86PCMa
 eZE0%3D&senslog%5Btempature%5D=23&senslog%5Bpressure%5D=429&commit=Create+
 Senslog



• POSTするためにはGETが必要
   – Cookie, Authenticity_token
• HTTPサーバに受け付けられるか見ながらヘッダを追加していった
• BASIC認証のヘッダはとにかく付けておけばo.k.
まとめ
• ネタとして

• 2W以下の低消費電力で動作する
• 外部のサーバに指令を書いておけば…
 – スマホでエアコンをオンすることだって可能
• 小さなマイコンでもネットにつながる
• 最近は無線LANボードも安くなった

• Low Layerは楽しいのでオイデオイデ

Weitere ähnliche Inhalte

Was ist angesagt?

#mailerstudy 01 LT POP/IMAP入門
#mailerstudy 01 LT POP/IMAP入門#mailerstudy 01 LT POP/IMAP入門
#mailerstudy 01 LT POP/IMAP入門Takashi Takizawa
 
Redisととあるシステム
RedisととあるシステムRedisととあるシステム
RedisととあるシステムTakehiro Torigaki
 
CpawCTF 勉強会 Network
CpawCTF 勉強会 NetworkCpawCTF 勉強会 Network
CpawCTF 勉強会 NetworkTakaaki Hoyo
 
Webサーバ勉強会4 nginx で php-fpm を動かしてみた
Webサーバ勉強会4 nginx で php-fpm を動かしてみたWebサーバ勉強会4 nginx で php-fpm を動かしてみた
Webサーバ勉強会4 nginx で php-fpm を動かしてみたdo_aki
 
HTTP2 時代の Web - web over http2
HTTP2 時代の Web - web over http2HTTP2 時代の Web - web over http2
HTTP2 時代の Web - web over http2Jxck Jxck
 
Webアプリケーションの無停止稼働
Webアプリケーションの無停止稼働Webアプリケーションの無停止稼働
Webアプリケーションの無停止稼働Kazuho Oku
 
Hokkaido.cap#4 ケーススタディ(ネットワークの遅延と戦う:前編)
Hokkaido.cap#4 ケーススタディ(ネットワークの遅延と戦う:前編)Hokkaido.cap#4 ケーススタディ(ネットワークの遅延と戦う:前編)
Hokkaido.cap#4 ケーススタディ(ネットワークの遅延と戦う:前編)Panda Yamaki
 
Raspberry Pi 2 誤自宅サーバー移行日記
Raspberry Pi 2 誤自宅サーバー移行日記Raspberry Pi 2 誤自宅サーバー移行日記
Raspberry Pi 2 誤自宅サーバー移行日記96smcln
 
WTM52 あなたの作ったWEBサイト、生きてますか?
WTM52 あなたの作ったWEBサイト、生きてますか?WTM52 あなたの作ったWEBサイト、生きてますか?
WTM52 あなたの作ったWEBサイト、生きてますか?Masanori Oobayashi
 
高速化のポイント
高速化のポイント高速化のポイント
高速化のポイントryos36
 
JSONでメール送信 | HTTP API Server ``Haineko''/YAPC::Asia Tokyo 2013 LT Day2
JSONでメール送信 | HTTP API Server ``Haineko''/YAPC::Asia Tokyo 2013 LT Day2JSONでメール送信 | HTTP API Server ``Haineko''/YAPC::Asia Tokyo 2013 LT Day2
JSONでメール送信 | HTTP API Server ``Haineko''/YAPC::Asia Tokyo 2013 LT Day2azumakuniyuki 🐈
 
本番環境で使いたいPHP
本番環境で使いたいPHP本番環境で使いたいPHP
本番環境で使いたいPHPTakuya Sato
 
H2O - making HTTP better
H2O - making HTTP betterH2O - making HTTP better
H2O - making HTTP betterKazuho Oku
 
Hokkaido.cap#10 実践パケット解析まとめ
Hokkaido.cap#10 実践パケット解析まとめHokkaido.cap#10 実践パケット解析まとめ
Hokkaido.cap#10 実践パケット解析まとめPanda Yamaki
 

Was ist angesagt? (20)

HTTP2入門
HTTP2入門HTTP2入門
HTTP2入門
 
#mailerstudy 01 LT POP/IMAP入門
#mailerstudy 01 LT POP/IMAP入門#mailerstudy 01 LT POP/IMAP入門
#mailerstudy 01 LT POP/IMAP入門
 
Redis速習会@Wantedly
Redis速習会@WantedlyRedis速習会@Wantedly
Redis速習会@Wantedly
 
Redisととあるシステム
RedisととあるシステムRedisととあるシステム
Redisととあるシステム
 
WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介
 
CpawCTF 勉強会 Network
CpawCTF 勉強会 NetworkCpawCTF 勉強会 Network
CpawCTF 勉強会 Network
 
Webサーバ勉強会4 nginx で php-fpm を動かしてみた
Webサーバ勉強会4 nginx で php-fpm を動かしてみたWebサーバ勉強会4 nginx で php-fpm を動かしてみた
Webサーバ勉強会4 nginx で php-fpm を動かしてみた
 
HTTP2 時代の Web - web over http2
HTTP2 時代の Web - web over http2HTTP2 時代の Web - web over http2
HTTP2 時代の Web - web over http2
 
Webアプリケーションの無停止稼働
Webアプリケーションの無停止稼働Webアプリケーションの無停止稼働
Webアプリケーションの無停止稼働
 
Hokkaido.cap#4 ケーススタディ(ネットワークの遅延と戦う:前編)
Hokkaido.cap#4 ケーススタディ(ネットワークの遅延と戦う:前編)Hokkaido.cap#4 ケーススタディ(ネットワークの遅延と戦う:前編)
Hokkaido.cap#4 ケーススタディ(ネットワークの遅延と戦う:前編)
 
GGEasyMonitor技術情報
GGEasyMonitor技術情報GGEasyMonitor技術情報
GGEasyMonitor技術情報
 
Raspberry Pi 2 誤自宅サーバー移行日記
Raspberry Pi 2 誤自宅サーバー移行日記Raspberry Pi 2 誤自宅サーバー移行日記
Raspberry Pi 2 誤自宅サーバー移行日記
 
WTM52 あなたの作ったWEBサイト、生きてますか?
WTM52 あなたの作ったWEBサイト、生きてますか?WTM52 あなたの作ったWEBサイト、生きてますか?
WTM52 あなたの作ったWEBサイト、生きてますか?
 
NanoStrand
NanoStrandNanoStrand
NanoStrand
 
高速化のポイント
高速化のポイント高速化のポイント
高速化のポイント
 
JSONでメール送信 | HTTP API Server ``Haineko''/YAPC::Asia Tokyo 2013 LT Day2
JSONでメール送信 | HTTP API Server ``Haineko''/YAPC::Asia Tokyo 2013 LT Day2JSONでメール送信 | HTTP API Server ``Haineko''/YAPC::Asia Tokyo 2013 LT Day2
JSONでメール送信 | HTTP API Server ``Haineko''/YAPC::Asia Tokyo 2013 LT Day2
 
本番環境で使いたいPHP
本番環境で使いたいPHP本番環境で使いたいPHP
本番環境で使いたいPHP
 
H2O - making HTTP better
H2O - making HTTP betterH2O - making HTTP better
H2O - making HTTP better
 
今週やった事
今週やった事今週やった事
今週やった事
 
Hokkaido.cap#10 実践パケット解析まとめ
Hokkaido.cap#10 実践パケット解析まとめHokkaido.cap#10 実践パケット解析まとめ
Hokkaido.cap#10 実践パケット解析まとめ
 

Ähnlich wie PIC RoR Heroku

Hokkaido.cap #osc11do Wiresharkを使いこなそう!
Hokkaido.cap #osc11do Wiresharkを使いこなそう!Hokkaido.cap #osc11do Wiresharkを使いこなそう!
Hokkaido.cap #osc11do Wiresharkを使いこなそう!Panda Yamaki
 
Heartbleedチェッカの改善(不正アクセスしないような改造)
Heartbleedチェッカの改善(不正アクセスしないような改造)Heartbleedチェッカの改善(不正アクセスしないような改造)
Heartbleedチェッカの改善(不正アクセスしないような改造)Kensuke Nezu
 
websocket-survery
websocket-surverywebsocket-survery
websocket-surveryhogemaru_
 
Craft CMSに最適なサーバはどんな環境?
Craft CMSに最適なサーバはどんな環境?Craft CMSに最適なサーバはどんな環境?
Craft CMSに最適なサーバはどんな環境?Kei Mikage
 
Webフレームワークを作ってる話 #osakapy
Webフレームワークを作ってる話 #osakapyWebフレームワークを作ってる話 #osakapy
Webフレームワークを作ってる話 #osakapyMasashi Shibata
 
コンピューターネットワーク入門
コンピューターネットワーク入門コンピューターネットワーク入門
コンピューターネットワーク入門Yusuke Miyazaki
 
Web時代の大富豪的プログラミングのススメ
Web時代の大富豪的プログラミングのススメWeb時代の大富豪的プログラミングのススメ
Web時代の大富豪的プログラミングのススメHideyuki Takeuchi
 
Status 425 HTTP/Tokyo
Status 425 HTTP/Tokyo Status 425 HTTP/Tokyo
Status 425 HTTP/Tokyo yuki-f
 
OAuth 2.0 MAC Authentication
OAuth 2.0 MAC AuthenticationOAuth 2.0 MAC Authentication
OAuth 2.0 MAC AuthenticationRyo Ito
 
DXライブラリでMMO作ったよ!
DXライブラリでMMO作ったよ!DXライブラリでMMO作ったよ!
DXライブラリでMMO作ったよ!h2so5
 
Soft layer network概要_jslug向け
Soft layer network概要_jslug向けSoft layer network概要_jslug向け
Soft layer network概要_jslug向けHideaki Tokida
 
HTML5と WebSocket / WebRTC / Web Audio API / WebGL 技術解説
HTML5と WebSocket / WebRTC / Web Audio API / WebGL 技術解説HTML5と WebSocket / WebRTC / Web Audio API / WebGL 技術解説
HTML5と WebSocket / WebRTC / Web Audio API / WebGL 技術解説You_Kinjoh
 
Httpを振り返ってみる
Httpを振り返ってみるHttpを振り返ってみる
Httpを振り返ってみるgalluda
 
20apr2012 kernelvm7-main
20apr2012 kernelvm7-main20apr2012 kernelvm7-main
20apr2012 kernelvm7-mainShotaro Uchida
 
C# 7.2 with .NET Core 2.1
C# 7.2 with .NET Core 2.1C# 7.2 with .NET Core 2.1
C# 7.2 with .NET Core 2.1信之 岩永
 
WebSocketでリアルタイム通信 (第13回学生LT資料)
WebSocketでリアルタイム通信 (第13回学生LT資料)WebSocketでリアルタイム通信 (第13回学生LT資料)
WebSocketでリアルタイム通信 (第13回学生LT資料)stmkza
 
HTTP を肌で感じる
HTTP を肌で感じるHTTP を肌で感じる
HTTP を肌で感じるKazuya Kohara
 

Ähnlich wie PIC RoR Heroku (20)

Hokkaido.cap #osc11do Wiresharkを使いこなそう!
Hokkaido.cap #osc11do Wiresharkを使いこなそう!Hokkaido.cap #osc11do Wiresharkを使いこなそう!
Hokkaido.cap #osc11do Wiresharkを使いこなそう!
 
Heartbleedチェッカの改善(不正アクセスしないような改造)
Heartbleedチェッカの改善(不正アクセスしないような改造)Heartbleedチェッカの改善(不正アクセスしないような改造)
Heartbleedチェッカの改善(不正アクセスしないような改造)
 
HTTP入門
HTTP入門HTTP入門
HTTP入門
 
websocket-survery
websocket-surverywebsocket-survery
websocket-survery
 
Craft CMSに最適なサーバはどんな環境?
Craft CMSに最適なサーバはどんな環境?Craft CMSに最適なサーバはどんな環境?
Craft CMSに最適なサーバはどんな環境?
 
Webフレームワークを作ってる話 #osakapy
Webフレームワークを作ってる話 #osakapyWebフレームワークを作ってる話 #osakapy
Webフレームワークを作ってる話 #osakapy
 
コンピューターネットワーク入門
コンピューターネットワーク入門コンピューターネットワーク入門
コンピューターネットワーク入門
 
Web時代の大富豪的プログラミングのススメ
Web時代の大富豪的プログラミングのススメWeb時代の大富豪的プログラミングのススメ
Web時代の大富豪的プログラミングのススメ
 
Web基礎
Web基礎Web基礎
Web基礎
 
ゆるかわPhp
ゆるかわPhpゆるかわPhp
ゆるかわPhp
 
Status 425 HTTP/Tokyo
Status 425 HTTP/Tokyo Status 425 HTTP/Tokyo
Status 425 HTTP/Tokyo
 
OAuth 2.0 MAC Authentication
OAuth 2.0 MAC AuthenticationOAuth 2.0 MAC Authentication
OAuth 2.0 MAC Authentication
 
DXライブラリでMMO作ったよ!
DXライブラリでMMO作ったよ!DXライブラリでMMO作ったよ!
DXライブラリでMMO作ったよ!
 
Soft layer network概要_jslug向け
Soft layer network概要_jslug向けSoft layer network概要_jslug向け
Soft layer network概要_jslug向け
 
HTML5と WebSocket / WebRTC / Web Audio API / WebGL 技術解説
HTML5と WebSocket / WebRTC / Web Audio API / WebGL 技術解説HTML5と WebSocket / WebRTC / Web Audio API / WebGL 技術解説
HTML5と WebSocket / WebRTC / Web Audio API / WebGL 技術解説
 
Httpを振り返ってみる
Httpを振り返ってみるHttpを振り返ってみる
Httpを振り返ってみる
 
20apr2012 kernelvm7-main
20apr2012 kernelvm7-main20apr2012 kernelvm7-main
20apr2012 kernelvm7-main
 
C# 7.2 with .NET Core 2.1
C# 7.2 with .NET Core 2.1C# 7.2 with .NET Core 2.1
C# 7.2 with .NET Core 2.1
 
WebSocketでリアルタイム通信 (第13回学生LT資料)
WebSocketでリアルタイム通信 (第13回学生LT資料)WebSocketでリアルタイム通信 (第13回学生LT資料)
WebSocketでリアルタイム通信 (第13回学生LT資料)
 
HTTP を肌で感じる
HTTP を肌で感じるHTTP を肌で感じる
HTTP を肌で感じる
 

Mehr von mgwsuzuki

80年代ゲーム機の技術をFPGAに実装してみた
80年代ゲーム機の技術をFPGAに実装してみた80年代ゲーム機の技術をFPGAに実装してみた
80年代ゲーム機の技術をFPGAに実装してみたmgwsuzuki
 
Hardwre Sprite controled by mruby
Hardwre Sprite controled by mrubyHardwre Sprite controled by mruby
Hardwre Sprite controled by mrubymgwsuzuki
 
レーザーカッターを使おう
レーザーカッターを使おうレーザーカッターを使おう
レーザーカッターを使おうmgwsuzuki
 
3Dプリンタを使おう - 20131110
3Dプリンタを使おう - 201311103Dプリンタを使おう - 20131110
3Dプリンタを使おう - 20131110mgwsuzuki
 
最近一年間で作ったもの
最近一年間で作ったもの最近一年間で作ったもの
最近一年間で作ったものmgwsuzuki
 
カッティングプロッタの使い方
カッティングプロッタの使い方カッティングプロッタの使い方
カッティングプロッタの使い方mgwsuzuki
 
3 dプリンタの使い方
3 dプリンタの使い方3 dプリンタの使い方
3 dプリンタの使い方mgwsuzuki
 

Mehr von mgwsuzuki (8)

80年代ゲーム機の技術をFPGAに実装してみた
80年代ゲーム機の技術をFPGAに実装してみた80年代ゲーム機の技術をFPGAに実装してみた
80年代ゲーム機の技術をFPGAに実装してみた
 
Hardwre Sprite controled by mruby
Hardwre Sprite controled by mrubyHardwre Sprite controled by mruby
Hardwre Sprite controled by mruby
 
レーザーカッターを使おう
レーザーカッターを使おうレーザーカッターを使おう
レーザーカッターを使おう
 
3Dプリンタを使おう - 20131110
3Dプリンタを使おう - 201311103Dプリンタを使おう - 20131110
3Dプリンタを使おう - 20131110
 
最近一年間で作ったもの
最近一年間で作ったもの最近一年間で作ったもの
最近一年間で作ったもの
 
カッティングプロッタの使い方
カッティングプロッタの使い方カッティングプロッタの使い方
カッティングプロッタの使い方
 
3 dプリンタの使い方
3 dプリンタの使い方3 dプリンタの使い方
3 dプリンタの使い方
 
IR remocon
IR remoconIR remocon
IR remocon
 

PIC RoR Heroku

  • 2. 自己紹介 • 本職はLSI設計とかデジタル無線通信とか組 み込みソフト開発とか • 小さいマイコンとか電子部品が好き • Low Layer好き、というか好き
  • 3. PICマイコン • 32bit 80MHz CPU • 128KB Flash Memory, 32KB RAM – MBじゃない、KB • OS無し
  • 6. PICマイコン • 32bit 80MHz CPU • 128KB Flash Memory, 32KB RAM – MBじゃない、KB • OS無し • でもEthernetでDHCP, DNS, TCP, UDP, Webサーバまでできる – 製造メーカーがライブラリを無償提供
  • 7. 妄想 • 気圧センサで取得したデータを • Ethernet使って • 今はやりのRuby on Railsで作ったサーバに • PCを使わずにPICだけで • 自動的に投稿してみようじゃないか
  • 8. 困難 • PICでjavaやrubyが動くわけじゃない • 文字列処理に便利な正規表現があるわけ じゃない • HTTPライブラリがあるわけじゃない • 要するに無いないづくしorz
  • 9. 楽観 • TCPあれば80番ポート叩けばいいよね • HTTPなんて”GETなんちゃら”って送ればいいよね • セッションもcookieをオウム返しすればいいよね • authenticity_tokenだってオウム返しでしょ? • BASIC認証だって(ry • なんとかなるよね、きっと
  • 11. Ruby on Rails • Scaffoldingでひな形作って 改造 • BASIC認証追加 • データがPOSTされたとき の時間を記録する • Herokuへdeploy
  • 12. HTTP GET GET /senslogs/new HTTP/1.0 <- PICから送信 HTTP/1.1 200 OK Content-Type: text/html; charset=utf-8 … <- 途中省略 Set-Cookie: _sensor_session=BAh7B0kiD3Nlc3Npb25faWQGOgZFRkkiJWE2MzJmMGVhNDkzNGNjZTI0Z WZlYzZiYWRkOTI2NjRjBjsAVEkiEF9jc3JmX3Rva2VuBjsARkkiMUpmT1hzOHZJa1RDSHdoZDVB bC9lQTlWRkRkRHJScVdOcE5aSDRjc0pUMjA9BjsARg%3D%3D-- 7f1dc20e289a0a5bc0cb5dbe1bc2522cee8fb0bd; path=/; HttpOnly … <form accept-charset="UTF-8" action="/senslogs" class="new_senslog" id="new_senslog" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden" value="nFgUyFamqODtURZ0W81UcofMPDh1Esx1hurNDC/Jt04=" /></div> • GETで得た文字列をどうにかして解析しないといけない • そのための文字列操作関数を作る
  • 13. 作ったライブラリ • 可変長の文字列を扱 う文字列クラス • いわゆるString
  • 14. 作ったライブラリ • HTTPサーバと会話する ためのクラス
  • 15. 受信と送信 Content-Ty 文字列が細切れになって時間差で到着する pe: text/h これを連結して1つの文字列に直す tml; chars set=utf-8 送信はその逆を行う Content-Type: text/html; charset=utf-8
  • 16. HTTP POST POST /senslogs HTTP/1.1 Host: senslogs.herokuapp.com これが無いと接続できなかった Connection: close Cookie: _sensor_session=BAh7B… GETで得たCookieを返す Authorization: Basic XXXXXXXX BASIC認証の文字列 Content-Length: XXX BODYの文字列長 utf8=%E2%9C%93&authenticity_token=8r3AJu9wnUoZRL5iRG%2Ffc3TLdYRVJPcPO86PCMa eZE0%3D&senslog%5Btempature%5D=23&senslog%5Bpressure%5D=429&commit=Create+ Senslog • POSTするためにはGETが必要 – Cookie, Authenticity_token • HTTPサーバに受け付けられるか見ながらヘッダを追加していった • BASIC認証のヘッダはとにかく付けておけばo.k.
  • 17. まとめ • ネタとして • 2W以下の低消費電力で動作する • 外部のサーバに指令を書いておけば… – スマホでエアコンをオンすることだって可能 • 小さなマイコンでもネットにつながる • 最近は無線LANボードも安くなった • Low Layerは楽しいのでオイデオイデ