IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 树莓派4B 8G安装日志(2)——硬件操控 -> 正文阅读

[JavaScript知识库]树莓派4B 8G安装日志(2)——硬件操控

一、基础硬件介绍

最权威最详细信息科参见官网:
树莓派官网
树莓派提供了一组对外的 IO 接口,称为 GPIO( 通用 IO 接口,General-purpose input/output)。
在这里插入图片描述
它的 40 个脚的定义如下图:
在这里插入图片描述
通过 GPIO ,树莓派可以与其他电子元件连接。

二、LED 控制脚本

下面,我们使用 Node 脚本控制 LED。
上图中第11针(GPIO17)这个针脚的电流是脚本可以控制的。接下来我们将在树莓派上新建一个实验目录,并安装控制 GPIO 的 Node 模块rpio。

1.安装Node模块

npm是什么?简单说npm就是“把各种代码模块集中管理的工具”,要什么代码就不要四处搜罗了,直接在这里就可以找到了。

  • 安装npm
sudo apt-get install npm

结果发现报错,说有依赖项冲突什么的。找到解决方法:
inux的版本依赖问题很令人纠结,不过我们可以通过使用aptitude软件包管理器来解决这个依赖问题,aptitude是可以选择合适的版本与匹配软件安装。

  • 安装aptitude工具
sudo apt-get install aptitude

再利用aptitude来安装npm

sudo aptitude install npm

上述命令执行后:

会弹出是否接受:第一次要选择N 不知道这是个啥情况,然后第二次选择Y,然后以后好像就正常了,选择Y接受建议就行了。 好了现在npm可以使用了,可以接着在树莓派上安装node了
sudo apt install nodejs

查看版本

node -v

在这里插入图片描述
版本号是12.22.5

新建一个实验目录,运行:

 
mkdir led-demo && cd led-demo
npm init -y
npm install -S rpio

发现执行“npm install -S rpio”的时候出错。
在这里插入图片描述
上面是用手机热点带的,但是如果不用手机热点,用家里的wifi则上述安装正确。
在这里插入图片描述
接着,新建一个脚本led-on.js

 
// led-on.js
var rpio = require('rpio');
 
// 打开 11 号针脚(GPIO17) 作为输出
rpio.open(11, rpio.OUTPUT);
 
// 指定 11 号针脚输出电流(HIGH)
rpio.write(11, rpio.HIGH);

运行这个脚本,应该就会看到 LED 灯泡变亮了。

 node led-on.js

再新建一个led-off.js脚本,只要改一行,就可以熄灭灯:

 // led-off.js
//...
 
// 指定 11 号针脚停止输出电流(LOW)
rpio.write(11, rpio.LOW);

执行脚本:

 node led-off.js

有了这两个脚本,让 LED 闪烁就轻而易举了。新建一个led-blink.js脚本。

 
// led-blink.js
var rpio = require('rpio');
rpio.open(11, rpio.OUTPUT);
 
function blink() {
  rpio.write(11, rpio.HIGH);
  setTimeout(function ledoff() {
    rpio.write(11, rpio.LOW);
  }, 50);
}
 
setInterval(blink, 100);

执行

 $ node led-blink.js

三、Http 服务器安装

通过控制 LED 可以做很多事,比如架设一个 HTTP 服务器,每当有人访问,LED 就闪烁一下。

首先,在刚才的目录里面装一个服务器模块。

 npm install -S server

新建服务器脚本:

 // server.js
var server = require('server');
var { get } = server.router;
 
// ...
 
server({ port: 8080 }, [
  get('/' ,  ctx => {
    console.log('a request is coming...');
    blink();
  }),
]);
 
console.log('server starts on 8080 port');

运行脚本:

 node server.js

不过我按照上面服务器教程运行出来的有错误,以后再调整吧。

参考文献

  1. 树莓派新手入门教程
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-03-12 17:23:13  更:2022-03-12 17:23:48 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 8:03:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码