查看: 3462|回复: 1

【BPI-M2 zero试用】四[使用nodejs控制gpio]

[复制链接]
  • TA的每日心情
    开心
    2020-12-25 17:12
  • 签到天数: 669 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2018-4-8 16:01:40 | 显示全部楼层 |阅读模式
    分享到:
    上期我们安装好了web框架,这期我们来使用nodejs控制gpio。
    BPI-M2 zero将IO口的控制映射到了/sys/class/gpio里相关文件中了,通过读写相关文件,就可以实现对应IO口的控制。
    1. echo "21" > /sys/class/gpio/export //将21号IO口导出,完成后会创建gpio21这个文件夹
    2. echo "out" > /sys/class/gpio/gpio21/direction //将四号IO口设置为输出
    3. echo "1" > /sys/class/gpio/gpio21/value //往21号IO口写值1,即输出高点平
    4. echo "21" > /sys/class/gpio/unexport //清除21号IO口,删除gpio21文件夹
    复制代码
    比如这样就可以控制gpio21 输出高电平了。
    我们可以通过nodejs的fs模块来进行文件操作。我发现有一个现成的库可以使用,所以就不自己写了。
    https://github.com/enotionz/gpio
    1. npm install gpio
    复制代码
    安装gpio库。

    测试代码:
    1. var gpio = require("gpio");
    2. var gpio21;
    3. gpio21 = gpio.export(21, {
    4.    ready: function() {
    5.          gpio21.set(1);
    6.    }
    7. });
    复制代码
    保存为 test.js

    然后
    1. node test
    复制代码
    就gpio21 就是高电平了。

    另外我测试BPI-M2 zero的gpio定义好像跟树莓派不同。gpio21 是38脚  gpio20是40脚。这里浪费了我不少时间。

    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-4-27 09:20 , Processed in 0.122173 second(s), 17 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.