阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

如何搭建树莓派的Net与NodeJS运行环境

156次阅读
没有评论

共计 8426 个字符,预计需要花费 22 分钟才能阅读完成。

树莓派是当前最火的嵌入计算平台没有之一,树莓派可以给我们无数的想象,树莓派的高性能、低功耗、低成本、可扩展性(最新的树莓派原生支持 WIFI 和蓝牙,这功能太赞了)深受大家的喜爱。虽然树莓派到目前为止已经很好安装系统了。但是要想方便的使用和部署开发的软件还是比较麻烦的。

  安装环境的话,你的有树莓派硬件如何搭建树莓派的 Net 与 NodeJS 运行环境(此图为:树莓派 3 Model B),你还得需要一个支持 HDMI 显示器(电视机也可以) 如何搭建树莓派的 Net 与 NodeJS 运行环境 、HDMI 线如何搭建树莓派的 Net 与 NodeJS 运行环境、MicroSD 卡(8G+,Class10+ 级别) 如何搭建树莓派的 Net 与 NodeJS 运行环境 、电源适配器(5V、2A+、MicroUSB 接口)如何搭建树莓派的 Net 与 NodeJS 运行环境、读卡器(支持 MicroSD 卡) 如何搭建树莓派的 Net 与 NodeJS 运行环境 ,至于还有键盘、鼠标、散热片、风扇、保护壳等。

本文相关软件工具 到 Linux 公社 1 号 FTP 服务器下载

—————————————— 分割线 ——————————————

FTP 地址:ftp://ftp1.linuxidc.com

用户名:ftp1.linuxidc.com

密码:www.linuxidc.com

在 2016 年 LinuxIDC.com\12 月 \ 如何搭建树莓派的 Net 与 NodeJS 运行环境 \

下载方法见 http://www.linuxidc.com/Linux/2013-10/91140.htm

—————————————— 分割线 —————————————— 

  有了这些东西就可以开始搭建环境,下面的例子以树莓派 3 Model B 为硬件搭建。

  1. 安装系统

  在官网下载 NOOBS,NOOBS 相当 PC 的 BIOS,手机的 Recovery。用于引导和配置系统硬件环境,这里我下载的是 NOOBS 带 Raspbian 桌面环境的版本。

如何搭建树莓派的 Net 与 NodeJS 运行环境

如何搭建树莓派的 Net 与 NodeJS 运行环境

准备 MicroSD,并用工具格式化 SDFormatter,选择待格式化的盘符,点击进行格式化(下载见 Linux 公社 1 号 FTP 服务器)。

如何搭建树莓派的 Net 与 NodeJS 运行环境

  解压 NOOBS,拷贝 NOOBS_XXX 解压文件夹下面的文件与文件夹到 MicroSD 的根目录。

如何搭建树莓派的 Net 与 NodeJS 运行环境

将 MicroSD 插入树莓派,接上显示器与电源、鼠标、键盘。(树莓派电路自身是裸露的,千万不要直接与金属表面接触,注意释放手上静电)。

如何搭建树莓派的 Net 与 NodeJS 运行环境

  开机出现彩色封面表示正常启动,系统即将出现引导界面,点击“Shift”键指导进入安装界面。

如何搭建树莓派的 Net 与 NodeJS 运行环境

如何搭建树莓派的 Net 与 NodeJS 运行环境

  进入一下界面,表示大功告成,选择 Raspbian,点击 Install,进行安装系统。

如何搭建树莓派的 Net 与 NodeJS 运行环境

如何搭建树莓派的 Net 与 NodeJS 运行环境

如何搭建树莓派的 Net 与 NodeJS 运行环境

  如何进行分辨率适配?在 NOOBS 的管理界面中找到“EditConfig”,进入编辑框,找到 hdmi_group 和 hdmi_mode 的值对应想要调整的分辨率,其他分辨率可自行谷歌、百度。

如何搭建树莓派的 Net 与 NodeJS 运行环境

以下是计算机显示器使用的分辨率。这些分辨率的 hdmi_group=2

hdmi_mode=1    640×350  85Hz

hdmi_mode=2    640×400  85Hz

hdmi_mode=3    720×400  85Hz

hdmi_mode=4    640×480  60Hz

hdmi_mode=5    640×480  72Hz

hdmi_mode=6    640×480  75Hz

hdmi_mode=7    640×480  85Hz

hdmi_mode=8    800×600  56Hz

hdmi_mode=9    800×600  60Hz

hdmi_mode=10  800×600  72Hz

hdmi_mode=11  800×600  75Hz

hdmi_mode=12  800×600  85Hz

hdmi_mode=13  800×600  120Hz

hdmi_mode=14  848×480  60Hz

hdmi_mode=15  1024×768  43Hz  DO NOT USE

hdmi_mode=16  1024×768  60Hz

hdmi_mode=17  1024×768  70Hz

hdmi_mode=18  1024×768  75Hz

hdmi_mode=19  1024×768  85Hz

hdmi_mode=20  1024×768  120Hz

hdmi_mode=21  1152×864  75Hz

hdmi_mode=22  1280×768        reduced blanking

hdmi_mode=23  1280×768  60Hz

hdmi_mode=24  1280×768  75Hz

hdmi_mode=25  1280×768  85Hz

hdmi_mode=26  1280×768  120Hz reduced blanking

hdmi_mode=27  1280×800        reduced blanking

hdmi_mode=28  1280×800  60Hz

hdmi_mode=29  1280×800  75Hz

hdmi_mode=30  1280×800  85Hz

hdmi_mode=31  1280×800  120Hz reduced blanking

hdmi_mode=32  1280×960  60Hz

hdmi_mode=33  1280×960  85Hz

hdmi_mode=34  1280×960  120Hz reduced blanking

hdmi_mode=35  1280×1024 60Hz

hdmi_mode=36  1280×1024 75Hz

hdmi_mode=37  1280×1024 85Hz

hdmi_mode=38  1280×1024 120Hz reduced blanking

hdmi_mode=39  1360×768  60Hz

hdmi_mode=40  1360×768  120Hz reduced blanking

hdmi_mode=41  1400×1050      reduced blanking

hdmi_mode=42  1400×1050 60Hz

hdmi_mode=43  1400×1050 75Hz

hdmi_mode=44  1400×1050 85Hz

hdmi_mode=45  1400×1050 120Hz reduced blanking

hdmi_mode=46  1440×900        reduced blanking

hdmi_mode=47  1440×900  60Hz

hdmi_mode=48  1440×900  75Hz

hdmi_mode=49  1440×900  85Hz

hdmi_mode=50  1440×900  120Hz reduced blanking

hdmi_mode=51  1600×1200 60Hz

hdmi_mode=52  1600×1200 65Hz

hdmi_mode=53  1600×1200 70Hz

hdmi_mode=54  1600×1200 75Hz

hdmi_mode=55  1600×1200 85Hz

hdmi_mode=56  1600×1200 120Hz reduced blanking

hdmi_mode=57  1680×1050      reduced blanking

hdmi_mode=58  1680×1050 60Hz

hdmi_mode=59  1680×1050 75Hz

hdmi_mode=60  1680×1050 85Hz

hdmi_mode=61  1680×1050 120Hz reduced blanking

hdmi_mode=62  1792×1344 60Hz

hdmi_mode=63  1792×1344 75Hz

hdmi_mode=64  1792×1344 120Hz reduced blanking

hdmi_mode=65  1856×1392 60Hz

hdmi_mode=66  1856×1392 75Hz

hdmi_mode=67  1856×1392 120Hz reduced blanking

hdmi_mode=68  1920×1200      reduced blanking

hdmi_mode=69  1920×1200 60Hz

hdmi_mode=70  1920×1200 75Hz

hdmi_mode=71  1920×1200 85Hz

hdmi_mode=72  1920×1200 120Hz reduced blanking

hdmi_mode=73  1920×1440 60Hz

hdmi_mode=74  1920×1440 75Hz

hdmi_mode=75  1920×1440 120Hz reduced blanking

hdmi_mode=76  2560×1600      reduced blanking

hdmi_mode=77  2560×1600 60Hz

hdmi_mode=78  2560×1600 75Hz

hdmi_mode=79  2560×1600 85Hz

hdmi_mode=80  2560×1600 120Hz reduced blanking

hdmi_mode=81  1366×768  60Hz

hdmi_mode=82  1080p    60Hz

hdmi_mode=83  1600×900        reduced blanking

hdmi_mode=84  2048×1152      reduced blanking

hdmi_mode=85  720p      60Hz

hdmi_mode=86  1366×768        reduced blanking

修改系统默认密码、位置、时区、键盘、WiFi 地区。

如何搭建树莓派的 Net 与 NodeJS 运行环境

如何搭建树莓派的 Net 与 NodeJS 运行环境

  开启 VNC,SSH 方面远程无屏管理。

如何搭建树莓派的 Net 与 NodeJS 运行环境

  修改系统用户密码。

如何搭建树莓派的 Net 与 NodeJS 运行环境

  获取 ROOT 权限打开命令终端(Ctrl + Alt + T),输入以下内容(“sudo”是临时使用最高权限执行命令的意思)。

sudo passwd root
执行此命令后系统会提示输入两遍的 root 密码,输入你想设的密码即可,然后在执行
sudo passwd –unlock root

  修改软件中心镜像地址提高下载速度,镜像地址可以自行谷歌、百度。

su #(如果已经是 root 账户登录,即可跳过此步骤)
cd /etc/apt/&&mv sources.list sources.list.bak #(备份现有的源文件)
sudo nano /etc/apt/sources.list #(添加新配置文件)
=================
deb http://mirrors.cqu.edu.cn/Raspbian/raspbian/ wheezy main contrib non-free rpi #(添加重庆大学的镜像)
#Ctrl + O、Enter、Ctrl + X #保存退出
=================
sudo apt-get update && apt-get upgrade #(测试更新)

文件授权,注意不要滥用。

sudo chmod 777 /xxx  #目录为 Everyone
sudo chmod -R 777 /xxx  #目录以及子文件全部为 Everyone

  输入法管理器与输入法安装,我这里选择 iBus(因为符合国人的操作习惯,设置也比较人性化点点,同时内置拼音。但是不能和 PC 的国产输入法比较。���实还有 fcitx 输入法管理器)

sudo apt-get install ibus ibus-pinyin

如何搭建树莓派的 Net 与 NodeJS 运行环境

配置开机自动启动方面使用,默认下每次开机需要手动启动。

# 添加自启动脚本
cd /home/pi
cd .config
mkdir autostart
cd autostart
# 添加脚本文件(可以写入多个脚本文件,用于配置不同分辨率连接)
nano input.desktop
# 添加脚本
[Desktop Entry]
Type=Application
Name=InputManger
Exec=ibus-daemon –xim
StartupNotify=false
#Ctrl + O、Enter、Ctrl + X #保存退出

设置桌面样式

如何搭建树莓派的 Net 与 NodeJS 运行环境

如何搭建树莓派的 Net 与 NodeJS 运行环境

  永久挂载新分区

df -h #查看未使用的分区
sudo umount /dev/xxxx #对应分区卸载,记住你的这个分区路径
sudo mkdir /xxx #创建自定义的挂载位置,将卸载的分区挂载到自己的目录
 
# 临时挂载
sudo mount /dev/xxx /xxx #将分区挂载到自己创建的目录
 
# 永久挂载
sudo nano /etc/fstab #进入系统的磁盘分区的配置表,系统开机会进行分区映射
# 添加一行,将分区挂载到自定义的位置
======================================================
/dev/xxx  /xxx    auto    defaults          0      0
======================================================
#Ctrl + O、Enter、Ctrl + X #保存退出

  制作系统镜像

  镜像是个非常方便的东西,可以将系统打包。如果运行的系统损坏或不想要了,可以用备份的镜像文件将其恢复。通过 Win32DiskImager 进行备份和还原,平时备份可以将镜像压缩,可以节约空间。(下载见 Linux 公社 1 号 FTP 服务器

如何搭建树莓派的 Net 与 NodeJS 运行环境

第一次如何恢复根分区容量

# 运行命令终端

sudo raspi-config #进入系统配置

如何搭建树莓派的 Net 与 NodeJS 运行环境

  2. 远程桌面的安装

  最新的 Raspbian 内置 VNCServer 工具,所以就不需要在单独安装 VNCServer 工具了,上一步已经启动的 VNC 功能,同时需要注意的是用户名,密码。VNC 可以添加多个不同名称的端口

如何搭建树莓派的 Net 与 NodeJS 运行环境

如何搭建树莓派的 Net 与 NodeJS 运行环境

# 添加自启动脚本
cd /home/pi
cd .config
mkdir autostart
cd autostart
# 添加脚本文件(可以写入多个脚本文件,用于配置不同分辨率连接)
nano vnc.desktop #脚本名称
# 添加脚本
[Desktop Entry]
Type=Application
Name=VNC #名称
Exec=vncserver -geometry 1920×1080 :1 #设置分辨率 1920×1080, 以及 VNC 端口为 1
StartupNotify=false
#Ctrl + O、Enter、Ctrl + X #保存退出

使用 VNCViewer 进行远程连接,VNCViewer 支持多平台版本可以到官网下载。(下载见 Linux 公社 1 号 FTP 服务器

3. 安装 NodeJS

  在 NodeJS 官网下载安装包或在线安装,注意安装 ARM 版本。(下载见 Linux 公社 1 号 FTP 服务器

# 命令终端
cd /home/pi
 
# 离线安装
# 拷入 node-v6.9.1-linux-armv7l.tar.gz 到 /home/pi
 
# 在线安装
wget https://nodejs.org/dist/v6.9.1/node-v6.9.1-linux-armv7l.tar.gz
 
# 命令终端
tar zxvf node-v6.9.1-linux-armv7l.tar.gz 
sudo mv node-v6.9.1-linux-armv7l  /usr/local/bin
sudo ln /usr/local/bin/node-v6.9.1-linux-armv7l/bin/node /usr/local/bin/node
sudo ln -s /usr/local/bin/node-v6.9.1-linux-armv7l/lib/node_modules/npm/bin/npm /usr/local/bin/npm

NodeJSARM 版 NPM 存在路径问题,需要以下方式解决

尝试 npm - v 发现出错了,原因是路径问题,修改相对路径(注意查看脚本中的相对路径),跳转到 /usr/local/bin 目录。
打开文本 npm
贴上修改后的文件内容:
#!/bin/sh
(set -o igncr) 2>/dev/null && set -o igncr; # cygwin encoding fix
 
basedir=$(dirname `readlink -f $0`)
cd $basedir
 
case `uname` in
    *CYGWIN*) basedir=`cygpath -w “$basedir”`;;
esac
 
NODE_EXE=”$basedir/node.exe”
if ! [-x “$NODE_EXE”]; then
  NODE_EXE=node
fi
 
NPM_CLI_JS=”$basedir/node-v6.9.1-linux-armv7l/lib/node_modules/npm/bin/npm-cli.js”
if ! [-x “$NPM_CLI_JS”]; then
  NPM_CLI_JS=npm-cli.js
fi
 
case `uname` in
  *CYGWIN*)
    NPM_PREFIX=`”$NODE_EXE” “$NPM_CLI_JS” prefix -g`
    NPM_PREFIX_NPM_CLI_JS=”$NPM_PREFIX/node-v6.9.1-linux-armv7l/lib/node_modules/npm/bin/npm-cli.js”
    if [-f “$NPM_PREFIX_NPM_CLI_JS”]; then
      NPM_CLI_JS=”$NPM_PREFIX_NPM_CLI_JS”
    fi
    ;;
esac
 
“$NODE_EXE” “$NPM_CLI_JS” “$@”

4. 安装 Net 环境

  这里使用的是 Mono,而非 Net Core,因为 Net Core 坑太多了,不适合跨平台移植软件。还有做跨平台软件需要注意外部文件路径问题,通过 Path.DirectorySeparatorChar 获取平台路径特征与通过 AppDomain.CurrentDomain.BaseDirectory 获取运行程序的绝对根目录,同时,win32 的类库目前是不能被 Mono 运行的。Net 的类库是完全可运行,需要注意的是 Windows 下有些原生类库在 Mono 里面没有集成,需要设置生成时复制到输出目录。(下载见 Linux 公社 1 号 FTP 服务器

  首先下载 Mono 官方的源代码,然后在树莓派上进行编译,编译时间过长,清耐心等待数小时。安装过程中会出现依赖的软件未安装,导致安装停止,需要一步一步的进行安装依赖通过“sudo apt-get xxx”或“sudo apt-get xxx=xxx.xxx.xxx”来解决。

# 这里是案例,可以下载最新版进行编译,安装
# 下载官方源码包
wget http://download.mono-project.com/sources/mono/mono-4.0.1.44.tar.bz2
# 解压
tar -xvf mono-4.0.1.44.tar.bz2
# 切换路径
cd mono-4.0.1
# 配置编译安装路径
./configure –prefix=/usr/local
# 编译
make
# 安装
make install
 
# 注意安装 libgdiplus 类库,方便图像程序的运行,如:WinForm 等图像库相关的软件的使用

耐心等待数小时后,安装完成,可以用 C# 写个 HelloWorld 试试还有 WinForm 等,看看惊喜。如果还需要 AspNet 程序的运行,则需要安装 Jexus Web 服务器,用于支持 AspNet 程序的运行。以下是 Jexus 安装。(下载见 Linux 公社 1 号 FTP 服务器

# 安装
cd /tmp
wget linuxdot.net/down/jexus-5.6.5.tar.gz
tar -zxvf jexus-5.6.5.tar.gz
cd jexus-5.6.5
sudo ./install
 
# 更新
cd /tmp
sudo /usr/jexus/jws stop
wget http://linuxdot.net/down/jws-v5.6.4-arm.zip
tar -zxvf jws-v5.6.4-arm.zip
cd jws-v5.6.4-arm
sudo ./upgrade
sudo /usr/jexus/jws regsvr
sudo /usr/jexus/jws restart
 
=== 测试 /var/www/default/index.aspx=======
<%@Page Language=”C#”%>
<%=DateTime.Now.ToString()%>
==============================
 
# 添加自启动脚本
cd /home/pi
cd .config
mkdir autostart
cd autostart
# 添加脚本文件(可以写入多个脚本文件,用于配置不同分辨率连接)
nano webserver.desktop
# 添加脚本
[Desktop Entry]
Type=Application
Name=WebServer
Exec=sudo /usr/jexus/jws start
StartupNotify=false
#Ctrl + O、Enter、Ctrl + X #保存退出

以上是基本安装方式,随着版本更新,可能存在出入。

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-12/138070.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计8426字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中