Язык Wolfram Language

Сеть каналов связи

Сбор данных от устройства Ардуино, модель Arduino Yun

Создадим канал для публикации данных от устройства Arduino Yun и начнём прослушивание информации на данном канале.

In[1]:=
Click for copyable input
channel = CreateChannel["yun", Permissions -> "Public"]
Out[1]=
In[2]:=
Click for copyable input
listener = ChannelListen[channel]
Out[2]=

Запустим устройство Arduino Yun.

In[3]:=
Click for copyable input
yun = DeviceOpen[ "Arduino", {"/dev/tty.usbmodem1421", "BoardType" -> "Yun"}]
Out[3]=

Настроим устройство для передачи значений аналоговых штифтов A0-A2 каналу каждые 0,5 секунды.

In[4]:=
Click for copyable input
DeviceConfigure[yun, "Upload" -> {"BootFunction" -> <|"Code" -> "ChannelSend", "Pins" -> {"A0", "A1", "A2"}, "Scheduling" -> 0.5, "Channel" -> channel|>}]
Out[4]=

Закроeм устройство, отключив его от сети, и прикрепии акселерометр к аналоговым штифтам; затем устaновим устройство Arduino Yun.

In[5]:=
Click for copyable input
DeviceClose[yun]

Визуализируем данные по мере их поступления.

In[6]:=
Click for copyable input
Dynamic[ListLinePlot[ ToExpression /@ Reverse[Take[Reverse[#["Values"]], UpTo[100]]], PlotRange -> {0, 5}] & /@ listener["TimeSeries"]]
Out[6]=

Родственные примеры

de en es fr ja ko pt-br zh