1.準備
1-1.配線
Arduinoで明るさを測定の配線と同じように配線してください。
1-2.PCと接続
ArduinoとパソコンをUSBケーブルデつないでください。
2.Arduino→PC
下記のプログラムをArduinoに書き込んでください。Arduinoで明るさを測定すると時に使ったプログラムと同じですね。
要するにシリアル通信で送信したデータを
・シリアルモニタで表示
・パソコンで受け取るか
だけの問題ですので、Arduino側のプログラムは変わりません。
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
int val=0;
val=analogRead(1);
Serial.println(val);
delay(5000);//5000ms=5秒 ごとに送信。【注意】サーバーに負荷がかかるので5000より小さい値は設定しないでください。
//実装する際は可能な限り大きな数字にしてください。
}
3.PC→IoTサーバー
ここからdfLinkのpythonファイルをダウンロードしてください。
3-1.zipファイルを解凍
zipファイルを解凍後、フォルダ名を「iot_test」など適切な名前に変更しましょう。
※Windowsの注意
Windowsの場合はzipファイルをダブルクリックして、中にあるdfLink_sampleというフォルダだけをデスクトップなどに移動させてから名前の変更を行ってください。
3-2.VSCodeでフォルダを開く
フォルダごとVSCodeで開きましょう。
開き方がわかならない方は
ブートキャンプでやったVSCodeでフォルダを開く動画を参考にしてください。
4.Python側のプログラム
4-1.main.pyを書き換え
main.pyに書かれている内容を全て消去してから、下記のプログラムをmain.pyにコピペしましょう。
import dfLink
#端末設定---------------------
#端末keyを指定してください。
pkey=''
#-------------------------------------------
#シリアルポートを入力-------------------------
serial_port=''
#-------------------------------------------
#Arduinoとのシリアル通信設定-------------------
my_arduino = dfLink.set_serial(serial_port,9600)
#-------------------------------------------
#while Trueは無限ループ#----------------------
while True:
# Arduinoからreadlineコマンドでデータを取得し、data_from_arduinoという変数に格納
data_from_arduino=my_arduino.readline()
#stripコマンドで、data_from_arduinoの中の余計な文字を削除
#さらにintで文字で送られてきたデータをint型に変換
data=int(data_from_arduino.strip())
print(data)
# データの設定--------------------------------
int_data = data #Arduinoから受け取った値をここでint_dataにいれる
float_data = ""
txt_data = ""
# -------------------------------------------
# データの送信---------------------------------
# 整数データ:int_data
# 実数データ(小数を含むデータ):float_data
# テキストデータ:txt_data
ret = dfLink.sendData_To_dfLink(int_data=int_data,float_data=float_data,text_data=txt_data,pkey=pkey)
print(ret)
# -------------------------------------------
#-------------------------------------------
4-2.serial_serch.pyでシリアルポートを検索
- serial_serch.pyを実行し、Arduinoと繋がっているシリアルポートの名前を調べまます。
- 複数表示された場合などはArduino IDEからどのシリアルポートを使っているかしらべて、そのシリアルポート名をコピーします。windowsの場合、COM3などCOM数字の表示になっています。
4-3.main.pyを変更
4-5でコピペしたシリアルポートをmain.pyの中のserial_portという変数にコピーしたシリアルポート名を代入します。
例(macの場合):名前はmacでも各々異なります。
serial_port='/dev/tty.usbmodem14301'
4-4.端末keyの設定
pkeyという変数には
dfLinkのHPで[サービスの管理]→[サービス選択]で「monitor」を選択し、[各サービスの管理]で表示されるページで[登録済み管理オブジェクト]の一覧にある、testSensorの端末keyを入力してください。
下記のような感じです。
#端末keyを指定してください。
pkey='Bbbbbbbbbbbbbbbbbbbb'
5.実行
main.pyを実行して、Arduinoの明るさセンサーの値がパソコンに表示されるか確認しましょう。
下記のように何かしらの値が表示されれば、Arduinoで読み取った値がシリアル通信でパソコンに送信されています。
5-1.pythonの確認
下記のように何かしらの値とOKが交互に表示されれば、おそらく正常に動いています。
3-2.IoTサーバーの確認
ここを参考にサーバーに蓄積されているデータを見ていましょう。