1. 程式人生 > >在Beagle Bone Black上執行node.js 程式

在Beagle Bone Black上執行node.js 程式

物聯網(IoT)技術方興未艾,智慧手環,智慧血壓計,智慧眼鏡甚至智慧鞋墊都開始進入我們的生活,各種智慧裝置層出不窮,世界已經到了一個“人有多大膽,地有多大產”的時代,不玩兒點物聯網都不好意思和人打招呼了。

之前玩兒過開源硬體Arduino,這次再找個功能強勁的Beagle Bone Black(BBB)。 大家可能知道名氣更大的樹莓派,BBB也是類似的單片計算機開發板,就在名片大小的一塊板子上集成了計算機的大多數常見功能,在上面可以執行Linix 作業系統,通過HDMI連上顯示器,插上USB滑鼠鍵盤就是一臺完整計算機了。此外還可以配備一些外設Cape,比如觸控式螢幕、音訊擴充套件、串列埠擴充套件板等等。


1096742727.jpg

如果你感興趣,我大淘寶應該都可以買得到,我這邊沒有視訊線,只能通過SSH連線到上面了。開箱後通過資料線連線到電腦上,如果板子沒問題的話,靠近網絡卡口的小LED燈會閃爍。從右到左一次編號為USR0~3. USR 0 是心跳頻率的閃爍,USR 2閃爍表示CPU活動。其他兩個 USR1 當訪問SD卡時閃爍, 我沒有安裝SD卡,所以也不會亮。USR 3當訪問 eMMC時閃爍。


526334993.jpg  

設定 Beagle Bone Black

首先在本機上安裝相關驅動, 下面是驅動列表,我用的是Macbook Pro,安裝下表中下載安裝Max OS X對應的那兩個就行了,安裝很快,需要重啟一下。



Operating System USB Drivers Comments
Windows (64-bit)

If in doubt, try the 64-bit installer first.

  • Note #1: Windows Driver Certification warning may pop up two or three times. Click “Ignore”, “Install” or “Run”
  • Note #3:
    On systems without the latest service release, you may get an error (0xc000007b). In that case, please install the following and retry: https://www.microsoft.com/en-us/download/confirmation.aspx?id=13523.
  • Note #4: You may need to reboot Windows.
  • Note #5: These drivers have been tested to work up to Windows 10
Mac OS X Install both sets of drivers.
Linux Driver installation isn't required, but you might find a few udev rules helpful.

驅動安裝完畢並重啟機器後,就可以通過瀏覽器連結到BBB了。 BBB已經內建了Linux作業系統並且安裝了Node.JS,還提供了BoneScript庫,所以我們可以直接用Javascript來操縱硬體。JavaScript還能幹這事?是的,我們可以開啟Chrome瀏覽器(IE不行的),開啟地址 http://192.168.7.2, 就會進入到執行在BBB上的網站,其中介紹了BoneScript,也有簡單的例子直接可以執行,立刻就可以體驗通過JavaScript來實現前面提到的LED燈的開關等例項。

Screen Shot 2016-03-09 at 5.10.55 PM.png

為Beagle Bone Black啟動WIFI

下面我想在BBB上執行一個我自己的node.js程式,一般都需要下載一些npm包,所以需要先讓BBB連線網際網路。BBB上已經帶了網絡卡介面,不過插網線還是有些麻煩,用WIFI應該會更方便些。要放BBB訪問WIFI需要一個小硬體,我手頭剛好有一個,就是前些年炒的很火的360隨身WIFI,上圖中BBB上插的那個白色的就是。哈哈,想不到這東西當鑰匙鏈當擺設很多年,今天排上了用場。

BBB的系統預設沒沒有啟用WIFI功能,需要SSH登入上去更改一下。首先在Mac 的終端視窗中通過SSH登入到BBB。 BBB的IP地址的192.168.7.2, 其中預設安裝了Debian Linux系統,使用者名稱和密碼是 debian/temppwd

Restored session: Wed Mar 9 15:13:18 CST 2016

daniels-MacBook-Pro:webglbim danieldu$ ssh [email protected]

The authenticity of host '192.168.7.2 (192.168.7.2)' can't be established.

ECDSA key fingerprint is SHA256:426KRGxj0OmPAef1WAl/7nVaM26q6HXd1OM6mXJA9mw.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added '192.168.7.2' (ECDSA) to the list of known hosts.

Debian GNU/Linux 7

BeagleBoard.org Debian Image 2015-03-01

Support/FAQ: http://elinux.org/Beagleboard:BeagleBoneBlack_Debian

default username:password is [debian:temppwd]

[email protected]'s password:

[email protected]:~$

檢視網路介面,並沒有WIFI:

[email protected]:~$ ip -4 a

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN

inet 127.0.0.1/8 scope host lo

3: usb0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

inet 192.168.7.2/30 brd 192.168.7.3 scope global usb0

那需要編輯 /etc/network/interface 檔案, 如WIFI Example中寫的那樣,把前面的註釋去掉,填寫我家的WIFI SSID和密碼,Ctrl+O保持後Ctrl+X退出。

[email protected]:~$ sudo nano /etc/network/interfaces

# WiFi Example

auto wlan0

iface wlan0 inet dhcp

wpa-ssid “242”

wpa-psk “pwdpwd”

然後重啟服務後再看一下,WIFI已經啟用了

[email protected]:~$ sudo /etc/init.d/networking restart

[ ok ] Restarting networking (via systemctl): networking.service.

[email protected]:~$ ip -4 a

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN

inet 127.0.0.1/8 scope host lo

3: usb0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

inet 192.168.7.2/30 brd 192.168.7.3 scope global usb0

6: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000

inet 192.168.0.17/24 brd 192.168.0.255 scope global wlan0

測試一下,看看baidu能不能通,哈哈,果然可以上網了 :)

[email protected]:~$ wget http://www.baidu.com

2016-03-09 07:47:14 http://www.baidu.com/

Resolving www.baidu.com (www.baidu.com)… 14.215.177.38, 14.215.177.37

Connecting to www.baidu.com (www.baidu.com)|14.215.177.38|:80… connected.

HTTP request sent, awaiting response… 200 OK

Length: unspecified [text/html]

Saving to: `index.html'

[ <=> ] 98,181 1.67K/s in 11s

2016-03-09 07:47:26 (8.92 KB/s) - `index.html' saved [98181]

執行node.js 程式

下來可以在建立一個簡單的node.js 應用程式,讓它執行在BBB上。BBB上預設的node.js版本是0.10

[email protected]:~$ node —version

v0.10.29

[email protected]:~$ npm —version

1.4.21


下面先建立一個最簡單的node.js程式試試看:

[email protected]:~$ mkdir helloBBB

[email protected]:~$ cd helloBBB/

[email protected]:~/helloBBB$ npm init

This utility will walk you through creating a package.json file.

It only covers the most common items, and tries to guess sane defaults.

See `npm help json` for definitive documentation on these fields

and exactly what they do.

Use `npm install <pkg> —save` afterwards to install a package and

save it as a dependency in the package.json file.

Press ^C at any time to quit.

name: (helloBBB)

version: (0.0.0)

description: simple node.js app

entry point: (index.js)

test command:

git repository:

keywords:

author: Daniel Du

license: (ISC) MIT

About to write to /home/debian/helloBBB/package.json:

{

“name”: “helloBBB”,

“version”: “0.0.0”,

“description”: “simple node.js app “,

“main”: “index.js”,

“dependencies”: {

“express”: “^4.13.4”

},

“devDependencies”: {},

“scripts”: {

“test”: “echo "Error: no test specified" && exit 1”

},

“author”: “Daniel Du”,

“license”: “MIT”

}

Is this ok? (yes)

[email protected]:~/helloBBB$ ls

node_modules package.json

[email protected]:~/helloBBB$ nano index.js

用nano 編輯器建立index.js, 檔案,建立一個最簡單的express web應用。為了防止衝突,我把埠改成了8000:

var express = require('express');
var app = express();

app.get('/', function (req, res) {
  res.send('Hello World! This node.js application running from Beagle Bone Black!');
});

app.listen(8000, function () {
  console.log('Example app listening on port 8000!');
});

然後執行它:

[email protected]:~/helloBBB$ ls

index.js  node_modules  package.son

[email protected]:~/helloBBB$ npm install

[email protected]:~/helloBBB$ node index.js

回到Mac上,開啟瀏覽器,輸入 http://192.168.7.2:8000, 哈哈, 成功! 第一個簡單的node.js 程式就在BBB上跑起來了。

Screen Shot 2016-03-09 at 4.33.14 PM.png

相關推薦

Beagle Bone Black執行node.js 程式

物聯網(IoT)技術方興未艾,智慧手環,智慧血壓計,智慧眼鏡甚至智慧鞋墊都開始進入我們的生活,各種智慧裝置層出不窮,世界已經到了一個“人有多大膽,地有多大產”的時代,不玩兒點物聯網都不好意思和人打招呼了。 之前玩兒過開源硬體Arduino,這次再找個功能強勁的Beagle Bone Black(BBB)。 大

實戰容器程式設計好基友之visual studio code+docker篇(二):實時除錯執行在docker中的node.js程式

上篇文章中,我們介紹了怎麼利用visual studio code在本地編譯生成docker映象,這篇文章我們會介紹怎麼利用Visual studio code 實時除錯執行在容器中的node.js程式。 這裡我們還會利用之前的專案node-todo, 環境搭

(轉)Window 安裝Node.js

自動 pda mysql setup back python .html 安裝步驟 修改 window上安裝nodejs非常的簡單,next,next就行了,環境變量都是自動配置,不明白為毛java不這樣 Window 上安裝Node.js http://www.runoo

最簡單的方式在linux升級node.js版本

strong 解決方法 cal 穩定版 信息 解決 style alt 刪除 node的升級頻率太高,n模塊來升級是最方便的,網上看了很多資料介紹使用n模塊,但是安裝n模塊之後卻經常找不到這個命令 很多同學安裝之後直接去使用n會發現命令不存在,就停留在這一步無法前進了。

如何在Ubuntu更新Node.js

col ubunt span bash clas nodejs 最新 更新 code 自己系統上一直用的1.0版本的,ES6都用不了,想要更新直接apt又不行。   如果想安裝最新的 6.x 版本 只需要 1 #Using Ubuntu 2 curl -sL https:

ubuntu 安裝node.js 的簡單方法

config targe int ubun span 命令 ins x64 com 一、安裝 1.$ sudo apt-get install nodejs2.$ sudo apt-get install npm二、升級 1.升級npm命令如下: $ sudo np

Deepin 15.5安裝 Node.js

nbsp apt-get con spa linux ubunt 步驟 lin linux系統 Node.js 源碼安裝 以下部分我們將介紹在Ubuntu Linux下安裝 Node.js 。 其他的Linux系統,如Centos等類似如下安裝步驟。 在 Github

在 Centos 安裝 node.js

path node.js entos 移動 文件 class 測試 AR local 請自行切換 root 用戶進行操作 1. 下載 node.js 的二進制包 https://nodejs.org/en/download/ http://mirrors.ustc.edu.

linux安裝node.js

前段時間偶然對node.js感興趣了,決定研究一下怎麼用,但要用之前首先要裝node.js的環境。 由於我最常用的是CentOS 64的系統,下面就簡單地介紹一下怎麼在CentOS下安裝node.js吧。 第一步:先檢視系統的核心版本       &nb

Ubuntu 18.04安裝 node.js and npm and vuejs project

soooooooooooooooooooooooooooooooooooooooooooooooooo easy  ! sudo apt install nodejs sudo apt install npm 確認安裝版本 : $ nodejs --ve

在Beaglebone Black執行QNX7.0

手頭上有一塊beaglebone black 板,之前一直在 TI 437的板子上用qnx ,最近有興致在 BBB 上安裝並執行qnx 7.0 看了幾篇部落格都是關於6.5 和6.6的, 根據manual 這裡介紹兩種方法 uboot和 spl方式. 關於uboot 啟動的方式, 重要的主要

Beagle Bone Black 原始碼下載地址

Bootloader: http://www.denx.de/wiki/U-Boot/SourceCode (git://git.denx.de/u-boot.git) Kernel: http://github.com/beagleboard/linux Angstrom roo

如何安裝和使用Wine,以便在Linux執行Windows應用程式

如何安裝和使用Wine,以便在Linux上執行Windows應用程式  我來答 分享 舉報 瀏覽 2150 次 1個回答 #不想上班# 今天上班,你最想說點啥? 最佳答案 cincoutvc 來自電腦網路類芝麻團 2017-10-19 在Linux上執行Windows程式需要安裝Wine,

如何在Debian 9安裝Node.js

Install Node.js On Debian 在本教程中,我們將介紹如何在Debian 9系統上安裝Node.js和npm。 Node.js是一個開源的跨平臺JavaScript執行時環境,構建於Chrome的JavaScript引擎之上,允許伺服器端執行JavaScript程

如何在Mac安裝Node.js和NPM

原作者:Dave McFarland  翻譯轉載:https://blog.teamtreehouse.com/install-node-js-npm-mac   如何在Mac上安裝Node.js和NPM   JavaScript是世界上最流行

Deepin 安裝 node.js

步驟詳解: 到node官網上下載相應的版本 具體下哪個,看你的電腦的位數了。 將下載下來的壓縮包解壓到期望的位置。 建立軟連線 sudo ln -s /usr/software/node/npm /usr/local/node/npm sud

Centos裡開機自啟動 node.js 程式

要把一個node.js程式移植到一臺centos伺服器,要求開機自啟動 使用forever啟動一個node.js程式很簡單,一行程式碼就行:forever start server.js。是不是很簡單呢?         假設工程是位於 /home/aerch

如何在你的Linux發行版安裝Node.js

Node.js 是建立在谷歌的 V8 JavaScript 引擎伺服器端的軟體平臺上。在構建高效能的伺服器端應用程式上,Node.js 在 JavaScript 中已是首選方案。是什麼讓使用 Node.js 庫和應用程式的龐大生態系統來開發伺服器後臺變得如此流行。Node.js 自帶一個被稱為 np

在Android系統執行C/C++程式

1. 安裝NDK; 2. 編寫hello.c原始檔 #include <stdio.h> int main() {         printf("hello, arm c world!\n");                  return 0; }

在docker執行.net core程式

一、安裝docker及映象 1、在centos上安裝docker,命令如下: # yum install docker 2、讓docker隨機啟動: # service docker start# chkconfig docker on 3、下載官方的centos映象: # docker pull cento