#はじめに
どうも@MATLAB_Otterことカワウソです.
某MWJのinoueさんやAnswersでお馴染みのイッヌさんにオススメされてqiitaにもやってきました.
せっかくMATLABを用いて自己研鑽しているので,成果物を記事にした方が同志MATLABユーザ増加に貢献できますし,何より自分の備忘録にもなるのでこの度初投稿することにしました.
想定する読者はもちろん生粋のMATLABユーザさまです.(とはいえとても基礎的な内容です)
今回はそんなMATLAB大好きな皆さんにThingSpeakを用いたMATLAB✖️Twitter芸を紹介したいと思います.
#この記事でできること
苦労せず自動tweet実装できます.
MATLAB homeからもtwitterのAPIさえ取得すればtweet可能です.
個人的にAPI通すのに結構苦労したこと,またThingSpeakから呟く方が遥かにハードルが低かったため今回は後者で実装することにします.(MATLABスクリプトの定期実行ならThingSpeakが便利です)
※twitter関数
https://jp.mathworks.com/help/datafeed/twitter.html
#ThingSpeakって?
我らがMathWorksさまが提供するIoTプラットフォームです.(説明サボります)
詳細はコチラ
https://thingspeak.com/
#APIを取得しよう
取得方法は非常に簡単で下記リンクに飛んでいただき, AppsタブからThingTweetを選択してください.
Link Twitter Account(緑ボタン)からアカウント連携を行うと下図のように即日API keyが発行されます.(本家twitter API取得には目的等を詳細に英語で説明しなければならず手間もかかり苦労しました)
https://thingspeak.com/apps/thingtweets
#実装
ThingSpeakには色々機能はあるのですが今回はAPPの①MATLAB Analysisと②TimeControlを使って定期ツイートを実装してみましょう.
###①MATLAB Analysis
本来は名前の通りThingSpeakチャネルに格納されているデータを解析したりするのでしょうが・・
今回は贅沢にもツイートさせるためだけに使いましょう.
Apps/MATLAB Analysisを選択しNEW(緑ボタン)から下図のページへ.
皆様お待たせ致しました.やっとMATLAB Codeの出番です.(とはいえとても簡単!)
取得したAPI keyを入れて下記を入力し(Save and Run)してみてください.
url ='https://api.thingspeak.com/apps/thingtweet/1/statuses/update';
api_key = 'XXXXXXXXXXXX';%上で取得したAPI keyを入れてください
message = 'MATLABからツイート';
message = ['api_key=',api_key,'&status=',message];
response = webwrite(url,message);
おめでとうございます!
あなたの連携したTwitterアカウントはmessageを呟いていることでしょう.
ちなみに・・
at=char'@');
name='MATLAB_Otter'%任意のアカウント名
comment='MATLABからツイート'任意のメッセージ
message = horzcat(at,name,comment);
とすればリプライを飛ばすことも・・(悪用注意)
###②TimeControl
次はTimeControlにて①で実装したスクリプトを定期実行します.
Apps/TimeControlを選択しNEW TimeControl(緑ボタン)から詳細設定を行います.
デフォルトでUSタイムゾーンになっているので,お住まいの地域に変更してください.
そのままだと14時間のずれが生じてしまいます.(挨拶botで盛大なミスを犯しました)
また定期実行したいのでFrequencyをRecurringに設定ください.実行タイミングはお好きな時間に・・
またActionとしてMATLAB Analysisと先ほど作成したCodeを選択ください.
実はActionタブからThingTweetを選択すると,ツイート内容をそこにベタ書きすることもできます.
今回はMATLABスクリプトでカスタマイズしたい人向けにあえてMATLAB Analysisを選びました.
(たとえば天候に応じてツイート内容を変えたい,ランダムツイート等)
#効果の確認
無事ツイートされている模様です.(ThingTweetからの発信になります)
非常に駆け足でしたが,いかがでしたでしょうか.
皆さまもThingSpeakを利用してbot作成等されてはいかがですか?