modified | Thursday 1 May 2025 |
---|
三 星 的 loT 和 GPIO
三 星 创 建 了 loT.js ( 一 个 Node 的 变
体 ) , 以 及 一 个 JavaScript 版 本 的 loT
技 术 一 一 JerryScript。 从 它 的 文 档 来
看 , 新 变 体 的 主 要 目 的 是 开 发 一 种 工
具 和 技 术 , 它 可 以 运 行 在 内 存 比 传 统
JavaScript/Node 环 境 少 一 些 的 设 备
上 。
在 一 个 三 星 员 工 的 演 示 文 稿 附 带 的 图
表 中 , 可 以 看 到 JerryScript 的 完 整 实
现 只 有 200KB, 其 内 存 占 用 量 仁 为 16
KB 一 64 KB。 相 对 而 言 ,V8 的 可 执 行
文 件 有 10 MB, 且 内 存 占 用 为 8 MB。
当 你 在 loT 设 备 上 工 作 时 , 每 一 块 空 间
和 内 存 都 很 重 要 。
在 loT.js 的 文 档 中 , 你 会 发 现 它 所 支 持
的 功 能 是 Node 核 心 模 块 的 部 分 ( 如
Buffer、HTTP、Net 和 文 件 系 统
(File System)〗 ) 的 。 考 虑 到 其 应 用
场 景 , 缺 少 一 些 模 块 ( 如 Crypto 模
块 ) 支 持 也 能 理 解 。loT 同 时 添 加 了 一
个 新 的 模 块 : GPIO。 它 表 示 物 理 硬 件
的 应 用 接 口 , 是 应 用 程 序 和 物 理 设 备
之 间 的 桥 梁 。
GPIO 是 通 用 输 入 / 输 出 (〔general-
purpose“input/output) 的 缩 写 。 它
表 示 集 成 电 路 中 的 引 脚 , 可 以 是 输 入
或 输 出 , 其 行 为 由 我 们 创 建 的 应 用 程
序 控 制 。GPIO 引 脚 为 设 备 提 供 了 一 个
接 口 。 作 为 输 入 , 竹 们 可 以 从 诸 如 温
度 或 运 动 传 感 器 的 设 备 接 收 信 息 ; 作
为 输 出 , 它 们 可 以 控 制 灯 、 触 摸 屏 、
电 机 、 旋 转 设 备 等 。
在 诸 如 树 莓 派 的 设 备 上 ( 在 12.3 节 中
会 详 细 介 绍 ) , 一 侧 有 一 组 引 脚 , 其
中 大 部 分 是 GPIO 引 脚 , 同 时 伴 有 接 地
和 电 源 引 脚 散 布 其 间 。 图 12-1 是 实 际
的 引 脚 照 片 , 图 12-1 中 的 下 图 是 一 个
逻 辑 引 脚 图 , 显 示 了 树 莓 派 2 Mode
B 上 的 GPIO、 电 源 和 接 地 引 脚 。
你 可 能 会 注 意 到 , 逻 辑 引 脚 图 中 的 引
脚 号 并 不 对 应 其 电 路 板 上 的 实 际 物 理
位 置 。 引 脚 标 签 中 的 数 字 是 GPIO 编
号 。 有 些 API ( 包 括 三 星 的 loT.js) 在
请 求 一 个 引 脚 号 时 会 用 到 GPIO 号 码 。
在 使 用 三 星 loT.js 时 , 可 以 先 初 始 化
GPIO 对 象 , 然 后 调 用 其 中 一 个 团 数 ,
如 gpio.setPen(), 它 将 引 脚 号 作 为 第
一 个 参 数 , 其 他 参 数 为 方 向 ( 例
如 , “in 表 示 输 入 , 「out 「 表 示 输
出 ,“none「 为 释 放 ) 、 可 选 模 式 和 回
调 团 数 。 要 将 数 据 发 送 到 引 脚 , 可 以
使 用 gpio.writePin() 函 数 , 参 数 为 引
脚 号 、 一 个 布 尔 值 和 回 调 出 数 。
显 然 , 三 星 loT.js 尚 在 开 发 。 已 似 乎 与
三 星 众 所 周 知 的 SAMIO 相 冰 突 ,
SAMIO 工 具 定 义 了 一 个 数 据 交 换 平
台