×

ARTIK 10和ARTIK开源案例

消耗积分:0 | 格式:zip | 大小:0.29 MB | 2022-12-23

张国厚

分享资料个

描述

三星的 ARTIK 现已推出(ARTIK 10:alpha 版本),作为早期采用者,我将其用作从各种传感器收集数据的中心,并将其上传到新的三星 SAMI 云平台以进行可视化。本教程将带您完成创建它所采取的步骤,包括代码示例和 BOM。请注意,ARTIK 仍处于 alpha 阶段,公开发布后会变得更好。 

除非另有说明,否则假定所有控制台命令都输入到 ARTIK 控制台中。 

第 1 步:配置您的 ARTIK

让我们从为 ARTIK 配置和安装一些东西开始:

停止控制台日志垃圾邮件!

其中一台收音机发出一些嘈杂的控制台输出。关闭所有控制台消息是处理该问题的快速而肮脏的方法:

> dmesg -n 1

设置正确的日期

日期不正确会导致错误:

> date -s '2015-M-D HH:MM:SS'

安装 NPM

由于某种原因,ARTIK Yocto 构建中缺少节点包管理器。让我们解决这个问题:

> curl -L https://www.npmjs.com/install.sh | sh

安装画中画

Python 包管理器也不存在,让我们也得到它:

> wget https://bootstrap.pypa.io/get-pip.py

> python get-pip.py

 

第 2 步:在 WiFi 上获取 ARTIK 

那些天线在那里是有原因的!让我们将 ARTIK 连接到您的 WiFi:

获取 WiFi 网络列表:

> nmcli dev wifi list

添加您的 WiFi SSID,添加静态 IP 和网关 IP(将 替换为您的 ssid:

注意:您必须输入一个与您的路由器/网关位于同一子网且未被其他设备使用的 IP 地址。例如,我的路由器在 192.168.0.1 上,所以我必须使用 192.168.0.XXX 形式的 IP。  

> nmcli con add con-name     ifname wlan0 type wifi ssid \

ip4 192.168.0.100/24 gw4 192.168.0.1

设置域名解析。我正在使用谷歌公共 DNS:

> nmcli con mod     ipv4.dns "8.8.8.8 8.8.4.4"

添加 WPA 密码:

> nmcli con modify wifi-sec.key-mgmt wpa-psk

> nmcli con modify wifi-sec.psk

打开连接:

> nmcli con up 

您现在应该可以使用 ARTIK 的 WiFi 连接。 

 

第 3 步:读取传感器值

Grove 传感器是简单的模块化传感器,可以与大多数嵌入式系统或小型计算机(ARTIK、Raspberry PI、Arduino 等)连接。它们通常需要一个 3.3V 或 5V 的输入电压,一个地线,并将一个电压输出到一个信号引脚。在这个例子中,我们将使用一个 Grove 光传感器和一个按钮。 

首先将传感器和按钮连接到 ARTIK 板上,如下图所示。在下面的示例代码中,我们将从模拟引脚 7(标有红色 7 的引脚)读取光传感器,并将按钮连接到模拟引脚 6。使用下图作为参考: 

 
poYBAGOkFCCAbOgVAAKVdMMRiDY85.jpeg
 

 

 
pYYBAGOkFG2AWMdNABQLz5CWGA4899.jpg
传感器设置 
 
 
pYYBAGOkFK2AZf_1ABR7xlyuEKQ118.jpg
大头针特写
 

由于 ARTIK 仍处于 alpha 阶段,因此没有用于读取引脚电压的内置 node.js 库,但我们可以简单地编写自己的库。模拟引脚的电压值存储在 /sys/devices/12d10000.adc/iio:device0/ 中。 我们将使用节点模块“fs”使用以下代码以 1 秒的间隔读取该值:

var fs = require('fs');

setInterval(function(){

fs.readFile("/sys/devices/12d10000.adc/iio:device0/in_voltage7_raw",'utf8',function(err,data){

console.log(data);

});

},1000);

将脚本另存为 read_pin_7.js

为了在 ARTIK 上运行此脚本,您可以使用 VI(最基本的命令行文本编辑器),或使用 FTP 客户端(如 Filezilla)将文件从您的计算机传输到 ARTIK。如果您使用的是 Filezilla,请输入 ARTIK 的 IP(我的例子是 192.168.0.100)作为主机,root 作为用户名,f@s)P!A$RTNER 作为密码,22 作为端口。 

在运行脚本之前,您必须使用以下命令安装数学模块:

一旦脚本在 ARTIK 上运行它:

> node read_pin_7.js

如果您已将传感器连接到引脚 7,控制台将输出 0-4096 的原始电压读数。正如您可能已经猜到的那样,这个数字不是伏特,而是电压的 16 字节编码 (2^8 * 16)。因此,0 读数为 0 伏,4096 为 5 伏,其他值线性映射。 

 

上述过程可用于读取大多数传感器值。如果您想使用不同的引脚,请将上面的“in_voltage7_raw”更改为“in_voltage_raw”。除此之外,您还必须找到传感器的数据表和从原始电压到传感器值的转换代码。请记住 0 -> 4096 等于 0 -> 5 伏特! 

 

第 4 步:将您的传感器值写入 SAMI 并实时可视化

现在您可以从传感器读取数据,让我们将其发送到三星的云服务 SAMI 

按照教程的第 2 步操作:但是将设备命名为“ARTIK”并为其指定一个适当的唯一名称。此外,在添加字段时添加两个:一个用于光传感器,一个用于按钮状态。  

完成后,您的设备清单应如下图所示: 

 
poYBAGOkFK-APQ8eAAEGxmZbhUI005.png
ARTIK 设备清单
 

现在,为了将读取的传感器数据发送到 SAMI,我们将使用 Websockets 在 ARTIK 和 SAMI 之间创建数据流。 

为此,我们将安装 Websockets 模块: 

 

> npm 安装 ws

 

安装 Websockets 后,您可以运行脚本:  https ://github.com/martinkronberg/node-code/blob/master/read_and_send_to_sami.js

 

确保将 和 替换为您在上面收到的设备 ID 和 Token。

 

使用以下命令运行脚本:

> 节点 read_and_send_to_sami.js

 

导航到 developer.samsungsami.io上的 SAMI 用户门户 本次比赛已经结束!查看 。打开 ARTIK 设备,并添加数据字段。您现在可以在云端看到可视化的数据!  打开 ARTIK 设备,并添加数据字段。您现在可以在云端看到可视化的数据! 

 

 
pYYBAGOkFLOAOKYSAAEkvDPrjmA055.png
ARTIK 数据流
 

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !