Arduino Yunからデータを集める
Arduino Yunデバイスからのデータを発行するためのチャネルを作成し,そのチャネルでリッスン(待ち受け)し始める.
In[1]:=
channel = CreateChannel["yun", Permissions -> "Public"]
Out[1]=
In[2]:=
listener = ChannelListen[channel]
Out[2]=
Arduino Yunのデバイスを開く.
In[3]:=
yun = DeviceOpen[
"Arduino", {"/dev/tty.usbmodem1421", "BoardType" -> "Yun"}]
Out[3]=
A0からA2までのアナログピンの値を0.5秒ごとにチャネルに送信するようにデバイスを設定する.
In[4]:=
DeviceConfigure[yun,
"Upload" -> {"BootFunction" -> <|"Code" -> "ChannelSend",
"Pins" -> {"A0", "A1", "A2"}, "Scheduling" -> 0.5,
"Channel" -> channel|>}]
Out[4]=
デバイスを閉じ,プラグを抜き,アナログピンに加速度計を接続して,Yunを使う.
In[5]:=
DeviceClose[yun]
着信するデータを動的に可視化する.
In[6]:=
Dynamic[ListLinePlot[
ToExpression /@ Reverse[Take[Reverse[#["Values"]], UpTo[100]]],
PlotRange -> {0, 5}] & /@ listener["TimeSeries"]]
Out[6]=