使用 Node.js 和 Express 框架通过网页访问GPIO和嵌入式 Linux 系统中使用 GSM/3G/4G 模块

点击上方"蓝字"关注我们

01、前言

想要快速开发嵌入式 Linux 网络应用,控制硬件 GPIO,从而使得用户能够远程控制和监控系统。

主要目的是向读者展示开发使用文件系统控制 GPIO 的 Node 代码、创建用户有好的界面、以及运行基于 Express 框架使用 AJAX 通客户端进行通信的网络服务器。为了理解客户端应用,建议先了解 HTML+CSS、jQuery 和 AJAX 知识。

02、Node.js 

Node.js 是服务器端的运行环境,用 JavaScript 开发服务器端应用。因为 Linux 使用文件系统访问硬件功能,Node 带有处理文件系统操作的模块,所以可以开发应用访问系统的 GPIO。Node 也提供诸如 HTTP 的模块,可以用于开发网络服务器。但是 Express 框架更加容易使用,这也是我们选择它的理由。

03、jQuery 

JavaScript 是由客户端解释的开发语言,这意味着其由用户浏览器处理。结合 HTML 和 CSS,JavaScript 能够创建用户互动的网页,即交互设计。由于开发 JavaScript 比较耗时,有一个跨浏览器的库 jQuery 能够简化任务,甚至是处理和使用 AJAX 方法,其是被用于通服务器之间异步通信的技术,以及动态改变网页内容。

04、配置环境

将目标板连接至网络。如果你按照本文的步骤操作,但是无法将目标板连接至你所在的局域网,请参考 如何为嵌入式 Linux 应用开发配置网络【http://developer.toradex.com/knowledge-base/how-to-setup-networking-for-embedded-linux-application-development】。或者使用 connman【http://developer.toradex.com/knowledge-base/ethernet-network-(linux)】设置静态 IP 地址,然后你可以方便地通过 SSH 或者浏览器访问设备。

通过 SSH 访问你的开发板。

xx@xx:/tmp/leo$ ssh root@192.168.0.180root@x-vf:~#

首先需要在你的开发板上安装 Node.js 。通过执行下面的命令进行安装,并验证是否正常工作:

root@xx-vf:~# opkg updateroot@xx-vf:~# opkg install nodejsroot@xx-vf:~# node> process.exit()root@xx-vf:~#js

尽管你需要做的仅仅是在终端中执行你的代码,有一个工具 nodemon[http://nodemon.io/] ,它可以监控源代码中的变化,并自动重启服务,免除在开发的时候,你需要按 ctrl+c,手动重启的麻烦。接下来还会需要 Express 框架,我们会先安装。我们也会安装body-parser 中间件,用于解析 JSON [http://www.json.org/]字符串。下面的步骤安装 nodemon、Express 和 body-parser。在这之前需要安装 tar 和 npm (node package manager),这需要一定的时间。

root@xx-vf:~# opkg install tarroot@xx-vf:~# curl -L https://www.npmjs.com/install.sh | shroot@xx-vf:~# npm install expressroot@xx-vf:~# npm install body-parserroot@xx-vf:~# npm install -g nodemon

05、通知链的类型

联网的嵌入式设备的数量与日俱增。在很多应用案例中,这些设备会被安装到没有有线或者无线网络的环境。在这种情况下,为了保持设备在线的一个好方法是采用移动无线网络。

因此,在这篇博文中将会介绍如何配置运行 Linux 系统的设备,采用 PPP (Point-to-Point Protocol) 【https://en.wikipedia.org/wiki/Point-to-Point_Protocol】协议连接网络。

06、硬件说明

根据下面的步骤,你可以使用任何 USB 或者串口调制解调器连接网络。你只需要使用在 “/dev/” 目录下的接口,查看你的调制解调器所支持的 AT 指令集,因为每个调制解调器都有特定的 AT 指令。

07、内核配置

为了在 3G USB 模块上使用 PPP 协议,需要重新配置内核的功能,然后再重新编译。为了了解如何编译内核,我建议参考下面的链接【http://developer.toradex.com/software-resources/arm-family/linux/board-support-package/build-u-boot-and-linux-kernel-from-source-code】。

编译内核的步骤大致可以按照如下总结:

  • 工具链配置

  • 下载正确的内核

  • 配置标准处理器功能

  • 针对应用更改相应的功能

  • 编译<

  • 6
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Qt历险记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值