Arduino Yun에서 데이터 수집하기
Arduino Yun 장치에서 데이터를 간행하기 위한 채널을 만들고 그 채널의 수신을 시작합니다.
In[1]:=
![Click for copyable input](assets.ko/collect-data-from-arduino-yun/In_53.png)
channel = CreateChannel["yun", Permissions -> "Public"]
Out[1]=
![](assets.ko/collect-data-from-arduino-yun/O_55.png)
In[2]:=
![Click for copyable input](assets.ko/collect-data-from-arduino-yun/In_54.png)
listener = ChannelListen[channel]
Out[2]=
![](assets.ko/collect-data-from-arduino-yun/O_56.png)
Arduino Yun 장치를 엽니다.
In[3]:=
![Click for copyable input](assets.ko/collect-data-from-arduino-yun/In_55.png)
yun = DeviceOpen[
"Arduino", {"/dev/tty.usbmodem1421", "BoardType" -> "Yun"}]
Out[3]=
![](assets.ko/collect-data-from-arduino-yun/O_57.png)
A0에서 A2까지의 아날로그 핀의 값을 0.5초마다 채널에 전송하도록 장치를 설정합니다.
In[4]:=
![Click for copyable input](assets.ko/collect-data-from-arduino-yun/In_56.png)
DeviceConfigure[yun,
"Upload" -> {"BootFunction" -> <|"Code" -> "ChannelSend",
"Pins" -> {"A0", "A1", "A2"}, "Scheduling" -> 0.5,
"Channel" -> channel|>}]
Out[4]=
![](assets.ko/collect-data-from-arduino-yun/O_58.png)
장치를 닫고 플러그를 뽑고 아날로그 핀에 가속도계를 연결하여 Yun을 필드에 가져다 둡니다.
In[5]:=
![Click for copyable input](assets.ko/collect-data-from-arduino-yun/In_57.png)
DeviceClose[yun]
착신된 데이터를 동적으로 시각화합니다.
In[6]:=
![Click for copyable input](assets.ko/collect-data-from-arduino-yun/In_58.png)
Dynamic[ListLinePlot[
ToExpression /@ Reverse[Take[Reverse[#["Values"]], UpTo[100]]],
PlotRange -> {0, 5}] & /@ listener["TimeSeries"]]
Out[6]=
![](assets.ko/collect-data-from-arduino-yun/O_59.png)