原文:How to setup your Raspberry Pi for IoT
作者:ankur kushwaha
翻译:汤益榕
审校:屠敏,关注物联网、移动开发领域,寻求报道或投稿请发邮件tumin@youkuaiyun.com。
本文笔者将分享如何设置 Raspberry Pi,创建精彩的 IoT 项目。
1.首先需要购买一个 Raspberry Pi。
安装 SD 卡
- 为 Raspberry Pi 下载一个操作系统。例如,下载Raspbian;
- 使用镜像编写工具来安装已经下载到 SD 卡上的镜像;
- 下载 Etcher 并安装;
- 将 SD 卡读卡器与 SD 卡连接;
- 打开 Etcher 并从你的硬盘驱动器中选择你要写入 SD 卡的 Raspberry PI
.img
或.zip
文件; - 选择要将镜像写入的 SD 卡;
- 查看自己的选择,然后单击“Flash!”开始将数据写入SD卡。
使用 LAN 连接 Pi
- 打开SD卡。
- 在root上创建一个名为
ssh
的空文件以启用SSH。 - 找到一个名为’cmdline.txt’的文件。
- 在 rootwait 之后添加下面的内容
//just append after the space like
rootwait ip=192.168.1.2::192.168.1.1:255.255.255.0:rpi:eth0:off
- 当你连接你的PI,它将获得
192.168.1.2
作为其IP地址。 - 使用ssh pi@192.168.1.2连接到您的PI,其默认密码是
raspberry
- 如果连接出现了任何问题,进入到你的网络和共享中心>以太网>属性> IPV4属性(Network and Sharing Center>Ethernet>Properties>IPV4 Properties),并将你的IP地址设置为
192.168.1.1
- 设置后,你就能用 SSH 连接你的 PI 了。
在PI中设置WIFI
- 使用 SSH 连接到你的 PI
- 输入
sudo iwlist wlano scan
来检查你的WIFI设备是否正常工作,并检查你的wifi是否可见。 - 在控制台里输入“sudo nano /etc/network/interfaces”,你会看到像下图这样的东西。
# interfaces(5) file used by ifup(8) and ifdown(8)
# Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d
auto lo
iface lo inet loopback
iface eth0 inet manual
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
allow-hotplug wlan1
iface wlan1 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
- 要确定
iface wlan0 inet dhcp
出现在上述代码中。要确保是 dhcp ,而不是手动。 这样才能保证你的 PI 能从路由器中获取IP地址。 - 现在输入sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
- 像下述代码一样添加你的网络信息,并使用ctrl + x保存更改
country=GB
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="Kushwaha"
psk="kushwaha"
}
- 上述操作完成后, wpa-supplicant 通常会在几秒钟内注意到发生了变化,并且会尝试连接到网络。 如果没有,请使用 sudo wpa_cli reconfigure 重新启动界面。
- 连接到wifi。
- 如果修改了SD卡的 cmdline.txt ,你只需删除IP设置。从 cmdline.txt 中删除以下内容:
ip=192.168.1.2::192.168.1.1:255.255.255.0:rpi:eth0:off
- 重启 PI ,它会自动连接到路由器
- 查看路由器来确认你的 IP 地址。
- 现在,你可以用这个 IP 地址来连接到你的 PI 了。输入 ssh pi@ .
(使用互联网)从任何地方访问您的PI
本文假设你通过wifi路由器连接到互联网。
如果你的 IP 是静态的
- 在这种情况下,您只需在路由器上启用端口转发。
- 像这里,我已经将端口22转发到了我的PI IP地址的端口22。
- 使用www.whatsmyip.org确认您的公共IP
- 假设你的静态IP是10.3.4.22,那么你只需要做ssh pi@10.3.4.22
如果你的 IP 是动态的
- 在这种情况下,你不能依靠从www.whatsmyip.org 获取的公共 IP,因为这将随时间而变化。
- 在这种情况下,你可以使用Weaved IoT
- 用Weaved Iot创建一个帐户。
- 然后在你的PI上运行以下命令
sudo apt-get update
sudo apt-get install weavedconnectd
sudo weavedinstaller
一开始你还没安装任何Weaved服务,所以上方数据应该都是空的。输入1以将 Weaved 附加到 Raspberry PI 上的TCP服务(主机)。 输入1之后,你现在应该能看到以下屏幕:
输入1以选择 SSH 。
下一步,你将选择使用默认接口或者更换一个你想使用的端口。
大多数情况下,你只需回答Y即可选择默认端口。 如果你更改了此服务的端口,请输入你使用的备用端口。
安装程序将会确认您的选择,并要求你给这个连接命名:
输入完成后,你将会回到主菜单,并且看到你的 Weaved Service Connection 安装成功。
从左到右,每一列表示:
- 协议名称
- 正在使用的内部 TCP 端口
- 已安装的 TCP 主机的名字
- 你刚刚为这个连接起的名字
如果恰好你安装的链接没有服务,你会在 Service 下方看到 WARNING-NONE
你还可以再安装一个 Weaved Connection ,但是如果你没有安装一个相应的服务(Service),当你尝试着链接的时候,你不会获得任何反馈的。
现在,点击这里登陆你的Weaved账号。
点击“pi”,或者你设备的名字,将会打开一个显示 PI 连接详细信息的页面。只要你有网络,你可以在任何地方完成这项操作。
参考:< https://www.weaved.com/installing-weaved-raspberry-pi-raspbian-os/>
在PI上安装VNC服务器
有时直接在 Raspberry Pi 上工作是不方便的。也许你想通过远程控制从另一台设备上工作。在这种情况下,你需要你的PI的UI。
以下是在PI上设置VNC服务器的步骤
启用VNC服务器
在你的 Raspberry Pi 上,运行以下命令以确保您具有最新版本的VNC Connect:
sudo apt-get update
sudo apt-get install realvnc-vnc-server realvnc-vnc-viewer
你可以通过输入 raspi-config 来激活你的VNC Server
sudo raspi-config
现在,执行以下操作启用VNC Server:
- 找到接口选项(Interfacing Options)。
- 向下滚动并选择VNC > Yes。
默认情况下, PI 启动时不会打开 GUI 。 VNC服务器可以为你创建一个虚拟桌面 (virtual desktop),让你可以根据需要进行图形化的远程访问。 这个虚拟桌面只存在于你的 Raspberry Pi 的内存中:
创建并连接到虚拟桌面:
- 在 Raspberry Pi (使用终端或通过SSH),运行vncserver。记下VNC服务器打印到终端的IP地址/显示号码(例如192.167.5.149:1)。
- 在用于控制的设备上,将该信息输入到VNC Viewer中。
在 PI 中设置 Nodejs 和 NPM
- 你的PI里会预装好node
- 输入下列命令以更新 node
sudo apt-get install nodejs npm
sudo npm install -g n
sudo n stable
sudo npm update -g npm
为IoT设置基于流程编程的NODE-Red
- Node-red 会预装在Raspbian。
- 在终端里输入 node-red 以运行 node-red。
- 以通过Start>Programming>Node-Red打开。
- 它会默认在端口1880上运行。