SlideShare a Scribd company logo
1 of 36
Download to read offline
2014-2-28
森下功啓
今日は暑いせいで
バッテリ電圧が高い!
電子工作・3Gシールド初心者に対して、ツイートを行う方法を伝える
本スライドの目的
ネットワークに接続可能な環境
PC(Windows/Mac/Linux)
メールアカウント(Twitter登録用)
Twitterアカウント
タブレイン社製3Gシールド
データ通信が可能なSIMカード
マイコンボード
• Arduino UNO/mega/Due/Intel Galileo
Arduino IDE
必要なもの
ツイートに至るシステム概要
C/C++をベースとしたArduino言語
Intel GaliloeやRaspberry Piはこれに限らない
利用するプログラミング言語
省略
Twitterアカウントの作成
http://www.arduino.cc/
Arduinoオフィシャルサイトへ
クリック
マイコンボードに合わせて複数種類がある
Arduino UNOには・・・
OSに合わせてダウンロード
Arduino IDEをダウンロード
シールドによってライブラリ名が異なる
3Gシールド付属のCDから
ライブラリを取り出す
3GSライブラリをarduino/librariesへ移動
Arduino IDEを起動
ダブルクリックダブルクリック
向きに気を付けて、 3GシールドをArudinoと接続
SIMカードも取り付け
Arduinoボードに3Gシールドを接続
写真掲載予定
アンテナをコネクタに挿すだけ
3Gシールドにアンテナ取り付け
アンテナ
コネクタ
*写真ではUSBや外部電源を接続済みだが、まだ接続しないこと
外部電源を利用する様に設定を変える
3Gシールドのジャンパピン設定
写真掲載予定
ArduinoボードとPCをUSB接続
PCへ
DC電源
• USB接続後、外部給電
• 電圧は9~12V, 電流容量は1~2A
自動導入が失敗するのを待つ
デバイスマネージャを起動
認識に失敗しているデバイスを選択
ドライバ再インストール
ドライバは に入っている
初接続の場合、ドライバのインストール
実装しているSIMカードに合わせて、通信モジュール内部パラメータを変更
サンプルコードの「set_defaultprofile」を利用
3Gシールドの設定を確認・書き込み
b-mobileのSIMカードに合わせて設定を変更した例
*SIMと設定値の対応情報:
http://a3gs.wiki.fc2.com/wiki/SIM%E3%82%AB%E3%83%BC%E3%83%89%E6%83%85%E5%A0%B1
スケッチ例
• a3gs
• tweet_sample
サンプル一覧からtweet_sampleを選択
3Gシールドのバージョンとマ
イコンボードによって使うラ
イブラリが異なるので注意
クリック
起動後、1度だけツイートを行う
通信時の暗号化などの認証系はメモリコストが高いため、ツイートには外部
サービスを用いる
• http://arduino-tweet.appspot.com/
ツイートする権限とツイート内容を閲覧する権限を他人に付与することにな
るので、そこは利便性とのトレードオフ
状況に応じて暗号化
Intel Galileo/Raspberry Piなら、ツイートを単独で可能(Pythonを使用)
tweet_sampleの概要
Twitterへログイン
• https://twitter.com/
認証トークンを取得 1/3
http://arduino-tweet.appspot.com/で取得
認証トークンを取得 2/3
クリック
アプリの認証を求める画面が出るので認証する
認証後、トークンが割り振られる
認証トークンを取得 3/3
得られたトークンをコードに張り付け
書き換え
ここに張り付ける
自身の環境に合わせる
マイコンボードの選択
開発に利用しているPCの通信可能なポートが複数有ってどれか分からないな
ら、Arduinoとの接続を一度物理的に切断してみると認識されなくなったポー
トがArduinoだと分かる
• デバイスマネージャの利用を推奨
シリアルポートの選択
エラーがあれば指摘される
プログラムの書き込み
クリック
シリアルモニタを起動
• tera termでも良い
“OK”と表示されれば成功
Twitterへアクセスしてツイートを確認
取りあえず実行
“Failed.”と表示されたら電源や電波の問題である可能性が高い
SIMカードの設定は合っている?
電源容量は足りている?
一度電源を抜いたら動いたとかない?
ライブラリのシリアルポート設定は自身の環境に合っている?
字数制限を超えていないか?
(標準ではUNOで半角60文字. 他のボードで半角140文字. 字数カウント方法は微妙)
トラブルチェックリスト 1/2
*ポートの設定例
短時間に連続投稿し過ぎて、Twitterからブロックされていないか?
認証トークンに写し間違いはない?
Twitterにアプリは認証されている?
• Twitterへアクセス->設定->アプリ連携 で確認
トラブルチェックリスト 2/2
表示されてい
る?
クリック
応用
3Gシールドの初期化・終了を関数化
通信に連続で失敗する場合・もしくは通信の度に電源を切る場合に、初期化を呼
び出すように変更
短時間に連続ツイートはできないので、適当な間を持たせる
繰り返しAD変換するなら、loop()内に処理を書く
改造のポイント
*サンプルコードのダウンロードリンクは臨時の物で、その内変更します
サンプルコード:
https://drive.google.com/file/d/0B9KsBMtgQXvRVGxrM2s1akJqbDg/view?usp=sharing
通常、マイコンの時計は1日で数秒以上ずれる
専用のRTC素子を使っても1秒はずれる
目的に合わせて、同期手段を用意
時刻を知る必要がある
許容誤差 [s]
GPS 日の出検出電波時計モジュール
サーバとの通信
Fin.

More Related Content

Viewers also liked

U blox社製gps受信機の出力センテンス変更方法
U blox社製gps受信機の出力センテンス変更方法U blox社製gps受信機の出力センテンス変更方法
U blox社製gps受信機の出力センテンス変更方法
Katsuhiro Morishita
 
Pythonの環境導入 2014年春季版
Pythonの環境導入 2014年春季版Pythonの環境導入 2014年春季版
Pythonの環境導入 2014年春季版
Katsuhiro Morishita
 

Viewers also liked (20)

車いす走行時の振動を用いた筋活動量計測手法の評価
車いす走行時の振動を用いた筋活動量計測手法の評価車いす走行時の振動を用いた筋活動量計測手法の評価
車いす走行時の振動を用いた筋活動量計測手法の評価
 
VBAで数値計算 編集後記
VBAで数値計算 編集後記VBAで数値計算 編集後記
VBAで数値計算 編集後記
 
SNSを始めとした情報化社会における危険性とメリット
SNSを始めとした情報化社会における危険性とメリットSNSを始めとした情報化社会における危険性とメリット
SNSを始めとした情報化社会における危険性とメリット
 
高専生のための卒研説明資料α版
高専生のための卒研説明資料α版高専生のための卒研説明資料α版
高専生のための卒研説明資料α版
 
チームMORIMORI 設計資料他苦労話など at G空間EXPO2013
チームMORIMORI 設計資料他苦労話など at G空間EXPO2013チームMORIMORI 設計資料他苦労話など at G空間EXPO2013
チームMORIMORI 設計資料他苦労話など at G空間EXPO2013
 
GPSロボットカーコンテスト2011参加レポート
GPSロボットカーコンテスト2011参加レポートGPSロボットカーコンテスト2011参加レポート
GPSロボットカーコンテスト2011参加レポート
 
Googleサイトの作り方
Googleサイトの作り方Googleサイトの作り方
Googleサイトの作り方
 
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
 
Calc Method of Distance on The Earth (地球上での距離の計算)
Calc Method of Distance on The Earth (地球上での距離の計算)Calc Method of Distance on The Earth (地球上での距離の計算)
Calc Method of Distance on The Earth (地球上での距離の計算)
 
第1回熊本IoT研究会での森下のLT資料
第1回熊本IoT研究会での森下のLT資料第1回熊本IoT研究会での森下のLT資料
第1回熊本IoT研究会での森下のLT資料
 
平成26年度熊本高専Arduino講座 第1週 センサーとArduno及びProcessingとの連携
平成26年度熊本高専Arduino講座 第1週  センサーとArduno及びProcessingとの連携平成26年度熊本高専Arduino講座 第1週  センサーとArduno及びProcessingとの連携
平成26年度熊本高専Arduino講座 第1週 センサーとArduno及びProcessingとの連携
 
U blox社製gps受信機の出力センテンス変更方法
U blox社製gps受信機の出力センテンス変更方法U blox社製gps受信機の出力センテンス変更方法
U blox社製gps受信機の出力センテンス変更方法
 
平成25年社会人講座 Arduinoによるマイコン入門講座
平成25年社会人講座 Arduinoによるマイコン入門講座平成25年社会人講座 Arduinoによるマイコン入門講座
平成25年社会人講座 Arduinoによるマイコン入門講座
 
EAGLE on PCB Design (EAGLEを使った回路・パターン設計)
EAGLE on PCB Design (EAGLEを使った回路・パターン設計)EAGLE on PCB Design (EAGLEを使った回路・パターン設計)
EAGLE on PCB Design (EAGLEを使った回路・パターン設計)
 
Pythonの環境導入 2014年春季版
Pythonの環境導入 2014年春季版Pythonの環境導入 2014年春季版
Pythonの環境導入 2014年春季版
 
各OSにおいて、OpenCVをpythonから使う方法
各OSにおいて、OpenCVをpythonから使う方法各OSにおいて、OpenCVをpythonから使う方法
各OSにおいて、OpenCVをpythonから使う方法
 
VBAにおける配列の データ構造と行列
VBAにおける配列の データ構造と行列VBAにおける配列の データ構造と行列
VBAにおける配列の データ構造と行列
 
オトナのプログラミング勉強会 オトナのDeep Learning 2016-11
オトナのプログラミング勉強会 オトナのDeep Learning 2016-11オトナのプログラミング勉強会 オトナのDeep Learning 2016-11
オトナのプログラミング勉強会 オトナのDeep Learning 2016-11
 
プログラムの流れを図で表す 方法その1:フローチャート/アクティビティ図
プログラムの流れを図で表す方法その1:フローチャート/アクティビティ図プログラムの流れを図で表す方法その1:フローチャート/アクティビティ図
プログラムの流れを図で表す 方法その1:フローチャート/アクティビティ図
 
初めての機械学習
初めての機械学習初めての機械学習
初めての機械学習
 

Similar to タブレインの3Gシールドを用いてArduinoからツイートする方法 β版

Arduinoが拓く「新しいものづくりの世界」120713(robotechセミナー)
Arduinoが拓く「新しいものづくりの世界」120713(robotechセミナー)Arduinoが拓く「新しいものづくりの世界」120713(robotechセミナー)
Arduinoが拓く「新しいものづくりの世界」120713(robotechセミナー)
Takayori Takamoto
 
クラウド―Arduino接続について
クラウド―Arduino接続についてクラウド―Arduino接続について
クラウド―Arduino接続について
Kenichi Yoshida
 
Make: Ogaki Meeting 2012 Androidロボットサミットin大垣
Make: Ogaki Meeting 2012 Androidロボットサミットin大垣Make: Ogaki Meeting 2012 Androidロボットサミットin大垣
Make: Ogaki Meeting 2012 Androidロボットサミットin大垣
三七男 山本
 
Androidロボットサミットin京都
Androidロボットサミットin京都Androidロボットサミットin京都
Androidロボットサミットin京都
Kenichi Yoshida
 

Similar to タブレインの3Gシールドを用いてArduinoからツイートする方法 β版 (20)

Arduinoが拓く「新しいものづくりの世界」120713(robotechセミナー)
Arduinoが拓く「新しいものづくりの世界」120713(robotechセミナー)Arduinoが拓く「新しいものづくりの世界」120713(robotechセミナー)
Arduinoが拓く「新しいものづくりの世界」120713(robotechセミナー)
 
クラウドコミュニケーションAPI Twilio&sakura.io体験ハンズオン 20180312
クラウドコミュニケーションAPI Twilio&sakura.io体験ハンズオン 20180312クラウドコミュニケーションAPI Twilio&sakura.io体験ハンズオン 20180312
クラウドコミュニケーションAPI Twilio&sakura.io体験ハンズオン 20180312
 
.NET Micro Framework の基礎
.NET Micro Framework の基礎.NET Micro Framework の基礎
.NET Micro Framework の基礎
 
クラウド―Arduino接続について
クラウド―Arduino接続についてクラウド―Arduino接続について
クラウド―Arduino接続について
 
Sakura IoT Platform
Sakura IoT PlatformSakura IoT Platform
Sakura IoT Platform
 
Make: Ogaki Meeting 2012 Androidロボットサミットin大垣
Make: Ogaki Meeting 2012 Androidロボットサミットin大垣Make: Ogaki Meeting 2012 Androidロボットサミットin大垣
Make: Ogaki Meeting 2012 Androidロボットサミットin大垣
 
Arduino用3gシールドの開発と教育への実践(天良先生)
Arduino用3gシールドの開発と教育への実践(天良先生)Arduino用3gシールドの開発と教育への実践(天良先生)
Arduino用3gシールドの開発と教育への実践(天良先生)
 
Microsoft Intelligent Edge Technologies
Microsoft Intelligent Edge TechnologiesMicrosoft Intelligent Edge Technologies
Microsoft Intelligent Edge Technologies
 
150130 edison-ug
150130 edison-ug150130 edison-ug
150130 edison-ug
 
2016年11月19日 AITCシニア技術者勉強会 第1回「Arduinoを使ってみる」
2016年11月19日 AITCシニア技術者勉強会 第1回「Arduinoを使ってみる」 2016年11月19日 AITCシニア技術者勉強会 第1回「Arduinoを使ってみる」
2016年11月19日 AITCシニア技術者勉強会 第1回「Arduinoを使ってみる」
 
VisualStudioでマイコンボードを制御する
VisualStudioでマイコンボードを制御するVisualStudioでマイコンボードを制御する
VisualStudioでマイコンボードを制御する
 
IoT Kit ハンズオントレーニング ~ Seeed Wio LTE + SORACOM Beam ~ V4.1
IoT Kit ハンズオントレーニング ~ Seeed Wio LTE + SORACOM Beam ~ V4.1IoT Kit ハンズオントレーニング ~ Seeed Wio LTE + SORACOM Beam ~ V4.1
IoT Kit ハンズオントレーニング ~ Seeed Wio LTE + SORACOM Beam ~ V4.1
 
2013 06-22osc nagoya-netmf
2013 06-22osc nagoya-netmf2013 06-22osc nagoya-netmf
2013 06-22osc nagoya-netmf
 
IoTでAzureのサービス利用~専門知識なしで始める超入門~
IoTでAzureのサービス利用~専門知識なしで始める超入門~IoTでAzureのサービス利用~専門知識なしで始める超入門~
IoTでAzureのサービス利用~専門知識なしで始める超入門~
 
2014 0228 OSC-Spring Tokyo NETMF
2014 0228 OSC-Spring Tokyo NETMF2014 0228 OSC-Spring Tokyo NETMF
2014 0228 OSC-Spring Tokyo NETMF
 
さくらのIoT Platformを使ってみよう ~Developers in KOBE編~
さくらのIoT Platformを使ってみよう ~Developers in KOBE編~さくらのIoT Platformを使ってみよう ~Developers in KOBE編~
さくらのIoT Platformを使ってみよう ~Developers in KOBE編~
 
Elekijack 2012
Elekijack 2012Elekijack 2012
Elekijack 2012
 
Arduino and johnny-five, creating IoT device in easiest way
Arduino and johnny-five, creating IoT device in easiest wayArduino and johnny-five, creating IoT device in easiest way
Arduino and johnny-five, creating IoT device in easiest way
 
Androidロボットサミットin京都
Androidロボットサミットin京都Androidロボットサミットin京都
Androidロボットサミットin京都
 
「さくらのIoT Platform α」ハンズオン(さくらクラブIoT福岡 第1回勉強会~さくらのIoT Platformを体験しよう!)
「さくらのIoT Platform α」ハンズオン(さくらクラブIoT福岡 第1回勉強会~さくらのIoT Platformを体験しよう!)「さくらのIoT Platform α」ハンズオン(さくらクラブIoT福岡 第1回勉強会~さくらのIoT Platformを体験しよう!)
「さくらのIoT Platform α」ハンズオン(さくらクラブIoT福岡 第1回勉強会~さくらのIoT Platformを体験しよう!)
 

More from Katsuhiro Morishita

More from Katsuhiro Morishita (20)

数ページの卒業論文作成のためのwordの使い方
数ページの卒業論文作成のためのwordの使い方数ページの卒業論文作成のためのwordの使い方
数ページの卒業論文作成のためのwordの使い方
 
Pythonのパッケージ管理ツールの話@2020
Pythonのパッケージ管理ツールの話@2020Pythonのパッケージ管理ツールの話@2020
Pythonのパッケージ管理ツールの話@2020
 
オトナのpandas勉強会(資料)
オトナのpandas勉強会(資料)オトナのpandas勉強会(資料)
オトナのpandas勉強会(資料)
 
SIgfox触ってみた in IoTLT in 熊本市 vol.3
SIgfox触ってみた in IoTLT in 熊本市 vol.3SIgfox触ってみた in IoTLT in 熊本市 vol.3
SIgfox触ってみた in IoTLT in 熊本市 vol.3
 
Google Colaboratoryの使い方
Google Colaboratoryの使い方Google Colaboratoryの使い方
Google Colaboratoryの使い方
 
Excelでのグラフの作成方法re
Excelでのグラフの作成方法reExcelでのグラフの作成方法re
Excelでのグラフの作成方法re
 
Pythonのmain関数
Pythonのmain関数Pythonのmain関数
Pythonのmain関数
 
Pythonスクリプトの実行方法@2018
Pythonスクリプトの実行方法@2018Pythonスクリプトの実行方法@2018
Pythonスクリプトの実行方法@2018
 
機械学習と主成分分析
機械学習と主成分分析機械学習と主成分分析
機械学習と主成分分析
 
Pythonで始めた数値計算の授業@わんくま勉強会2018-04
Pythonで始めた数値計算の授業@わんくま勉強会2018-04Pythonで始めた数値計算の授業@わんくま勉強会2018-04
Pythonで始めた数値計算の授業@わんくま勉強会2018-04
 
マークシート読み込みプログラムを作ってみた@2018-04-04
マークシート読み込みプログラムを作ってみた@2018-04-04マークシート読み込みプログラムを作ってみた@2018-04-04
マークシート読み込みプログラムを作ってみた@2018-04-04
 
オトナの画像認識 2018年3月21日実施
オトナの画像認識 2018年3月21日実施オトナの画像認識 2018年3月21日実施
オトナの画像認識 2018年3月21日実施
 
LoRa-WANで河川水位を計測してみた@IoTLT@熊本市 vol.001
LoRa-WANで河川水位を計測してみた@IoTLT@熊本市 vol.001LoRa-WANで河川水位を計測してみた@IoTLT@熊本市 vol.001
LoRa-WANで河川水位を計測してみた@IoTLT@熊本市 vol.001
 
シリーズML-08 ニューラルネットワークを用いた識別・分類ーシングルラベルー
シリーズML-08 ニューラルネットワークを用いた識別・分類ーシングルラベルーシリーズML-08 ニューラルネットワークを用いた識別・分類ーシングルラベルー
シリーズML-08 ニューラルネットワークを用いた識別・分類ーシングルラベルー
 
シリーズML-07 ニューラルネットワークによる非線形回帰
シリーズML-07 ニューラルネットワークによる非線形回帰シリーズML-07 ニューラルネットワークによる非線形回帰
シリーズML-07 ニューラルネットワークによる非線形回帰
 
シリーズML-06 ニューラルネットワークによる線形回帰
シリーズML-06 ニューラルネットワークによる線形回帰シリーズML-06 ニューラルネットワークによる線形回帰
シリーズML-06 ニューラルネットワークによる線形回帰
 
シリーズML-05 ニューラルネットワーク
シリーズML-05 ニューラルネットワークシリーズML-05 ニューラルネットワーク
シリーズML-05 ニューラルネットワーク
 
シリーズML-03 ランダムフォレストによる自動識別
シリーズML-03 ランダムフォレストによる自動識別シリーズML-03 ランダムフォレストによる自動識別
シリーズML-03 ランダムフォレストによる自動識別
 
シリーズML-01 機械学習の概要
シリーズML-01 機械学習の概要シリーズML-01 機械学習の概要
シリーズML-01 機械学習の概要
 
Pandas利用上のエラーとその対策
Pandas利用上のエラーとその対策Pandas利用上のエラーとその対策
Pandas利用上のエラーとその対策
 

タブレインの3Gシールドを用いてArduinoからツイートする方法 β版