IoT开发板Joule的一些笔记

有幸拿到一块Intel Joule 570x开发板,Intel对其的定位是IoT。对其进行了一些简单的研究,这里记录下来,便于以后查看。

关于配件

先放一张开发板的原图,该图来自于官方网站。
IoT开发板Joule的一些笔记_第1张图片

供电

有两种:Type-C接口,与DC接口。
Type-C接口一般可以使用电脑的USB口或者电源适配器,但是有可能在某些情况下功率不够,所以推荐使用DC接口。
DC接口的要求是12V,3A(至少3A)的电源适配器(没错,需要自己另外购买)。

视频输出

为了减小板子的体积,视频输出使用了Micro-HDMI接口,所以需要自备该接口的线,或者购买一个转接头。

USB键盘

事实上大部分操作,你可以在电脑上进行执行。但是设置BIOS(开机F2进入)则需要连接USB键盘,直接在开发板上执行。(虽然Serial连接也可以在终端里边进行操作,但是显示上还是有些问题)

安装风扇

该开发板运行起来还是有一些发热量的,所以官方推荐使用前安装好散热片。
官方指南在这里 - Installing a Heat Sink or Fan。

系统支持

可谓是刷机神器,官方支持如下系统

  • Ubuntu* 16.04 LTS
  • Windows™ 10-IoT Core (可查看下面两个链接了解更多)
    • Windows 10 IoT Core: Opening Doors with Facial Recognition
    • Windows 10 IoT Core
  • Android Things
    • Samples
  • Ref-OS-IoT (Ostro的升级版,是Intel 为IoT设备开发的一个Linux发行版)

原厂自带的是Ref-OS-IoT系统,下面所列的笔记如无特殊说明,均在此系统下操作(Host系统为Mac OS)。

电脑连接到开发板

有两种方式,如下

Serial接口

在未设置好WiFi之前,只能通过这种方式。
命令如下:

$ ls /dev/cu.usbserial-*   // or /dev/tty.usbserial-*
$ screen /dev/cu.usbserial-XXXXXXXX 115200L

Note: Adding –L to the command, as shown above, turns on output logging so you can see the results of your commands. To end a session in Screen type Ctrl + A and then Ctrl + K to kill the session. You will be prompted to end the session.

当然,你也可以在Windows或Linux下进行连接,更多详细信息参考 - Serial Terminal Communications

同一WiFi下SSH连接

连接WiFi

这里我们使用工具connmanctl,简要流程如下

$ connmanctl
$> enable wifi
$> scan wifi
$> services
$> agent on
$> connect xxx

连接成功后,可以通过ifconfig查看本机的IP。

详细信息,参考 - Connman

SSH连接

开发板默认已经启动了sshd服务,但是我们在其他电脑连接到它之前,需要先在开发板上进行以下配置:

  • 允许ssh可以使用root登录
  • 设置root用户密码 (默认是空,但是ssh登录要求你必须输入密码)

命令如下

$ echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config
$ passwd root

然后我们直接在电脑上运行以下指令即可连接

$ ssh root@192.168.x.x

其中192.168.x.x是开发板的IP。

也可以使用主机名,Joule默认的主机名是intel-corei7-64

使用scp部署文件

该命令很简单,可以部署一到多个文件到开发板上,命令如下:

$ scp [file1, file2,...] root@192.168.x.x:~/test

上面命令可以直接使用,但是不方便的地方是需要每次都输入密码,可以使用公私钥匙建立host与开发板之间的信任关系,而不需要输入密码。
具体可以参考 - shell脚本中解决SCP命令需要输入密码的问题

Automated Deployment

组合使用gulpCandyman来完成类似于ant的功能,达到自动部署的目的。

关于gulp可以查看 - gulp的简单使用(MAC OX 系统)
关于Candyman可以查看 - Candyman

其它

设置时区

$ timedatectl set-timezone Asia/Shanghai

在我拿到的这台开发板上,上述命令会提示错误信息”Failed to set time zone: Invalid time zone ‘Asia/Shanghai’”
此时通过命令timedatectl list-timezones查看发现我们输入的时区名是正确的,而错误的真正原因是对应时区的配置文件不存在。
大家可以查看目录/usr/share/zoneinfo/Asia,这里是所有亚洲的时区,发现并没有Shanghai,我们根据存在的时区选择一个就近的即可。

Pin Mapping for Joule

Pin的映射表信息可以具体查阅 - Intel Joule {#joule}

也可以使用命令查看当前实时的Pin映射信息

$ mraa-gpio list

mraa

官方解释如下

Linux Library for low speed IO Communication in C with bindings for C++, Python, Node.js & Java. Supports generic io platforms, as well as Intel Edison, Intel Joule, Raspberry Pi and many more.

刷入Android Things

升级BIOS

如果你需要刷Android Things,那么需要升级BIOS和bootloader可以兼容fastboot协议以刷入Android Things系统。

具体升级教程,官方已经写得非常清楚。具体可以参考 - BIOS Update Steps

需要注意的是,我刷了目前最新的1H3版本后开发板始终无法启动,无奈只好刷了一个其他的版本。
这一步目前只能在Windows 10里进行,至少Intel是这么说的。

制作fastboot的SD卡

Windows, Mac, Linux系统都可以,具体参考 - Preparing removable media with Fastboot

我使用的Mac系统,记录一下所使用的命令(细节参数上和教程稍有不同)

$ diskutil unmount /dev/disk2s1
$ sudo dd bs=1m if=./fastboot-disk.img of=/dev/disk2s1 // Note the letter m in parameter bs, and remove parameter conv=fsync or an error occured

刷入系统

参考 - Joule

放个截图
IoT开发板Joule的一些笔记_第2张图片

参考

  1. Intel® Joule™ 570x带扩展板的开发套件
  2. Installing a Heat Sink or Fan
  3. Serial Terminal Communications
  4. Connman
  5. Installing Android Things* on the Intel® Joule™ 550x and 570x Modules
  6. 从Edison到Joule,英特尔持续激发物联网创业创新
  7. BeagleBone Black Industrial系统更新设置一贴通
  8. Linux下使用timedatectl命令时间时区操作详解
  9. Invalid Django TIME_ZONE
  10. Intel Joule {#joule}
  11. SCP 命令
  12. mraa 1.7.0
  13. 物联网:使用MRAA发挥平台输入输出能力
  14. Node.js Tools for Visual Studio
  15. BIOS Update Steps

你可能感兴趣的:(MISC)