0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【芒果派MangoPi MQ Quad】使用Golang点灯

jf_50393217 来源:jf_50393217 作者:jf_50393217 2023-07-21 14:44 次阅读

Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。

Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。


这是本次开发板开箱和系统烧录视频

https://www.bilibili.com/video/BV1Cu4y1m7Lj/


一、命令行点灯

本次使用的开发板有1G的Ram,运行golang不成问题。通过香橙派的使用手册,可以看到系统默认引出的led有两个,实测MangoPi MQ Quad可以使用的led为/sys/class/leds/green:status/brightness。

可以在命令行终端里输入以下命令控制led,0为灭,1为亮

echo 0 > /sys/class/leds/green:status/brightness

然后,就可以用golang来实现点灯程序啦。

二、Golang点灯

新建一个main.go文件,并输入以下内容:

package main

import (
	"fmt"
	"os"
	"time"
)

func main() {
	ledFile := "/sys/class/leds/green:status/brightness"
	openFile, e := os.OpenFile(ledFile, os.O_RDWR, 777)
	if e != nil {
		fmt.Println(e)
	} else {
        fmt.Println("File open, program start!")
		for {
			time.Sleep(1 * time.Second)
            fmt.Println("turn on led!")
			openFile.WriteString("1n")
			time.Sleep(1 * time.Second)
            fmt.Println("turn off led!")
			openFile.WriteString("0n")
		}
	}
	openFile.Close()
}

这就是用Golang点灯的程序 ,原理也很简单,通过Golang的os库 ,打开/sys/class/leds/green:status/brightness

文件,然后不断地写入1和0即可,经测试 ,若完全连续写入,开关的频率可达172Khz。

但是由于程序线程并不能一直强行占用cpu运行,所以使用这种方式控制io,不能实现呼吸灯的效果。但是用来控制继电器什么的,已经完全足够了。

Golang也支持交叉编译 ,在x86主机上使用以下命令编译,并通过scp命令上传到开发板上运行即可。

编译命令

GOOS=linux GOARCH=arm64 GOARM=7 go build -o main main.go

上传命令

scp main orangepi@192.168.50.60:~/

以下是程序运行截图

wKgZomS6KKmAWWz2AANCheQq5Jw393.png


审核编辑 黄宇
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芒果派
    +关注

    关注

    0

    文章

    11

    浏览量

    44
收藏 人收藏

    评论

    相关推荐

    芒果MangoPi MQ Quad】利用MangoPi MQ Quad部署一个网络摄像头

    芒果MangoPi MQ Quad】利用MangoPi MQ
    的头像 发表于 07-20 09:09 858次阅读
    【<b class='flag-5'>芒果</b>派<b class='flag-5'>MangoPi</b> <b class='flag-5'>MQ</b> <b class='flag-5'>Quad</b>】利用<b class='flag-5'>MangoPi</b> <b class='flag-5'>MQ</b> <b class='flag-5'>Quad</b>部署一个网络摄像头

    芒果MangoPi MQ Quad】+芒果派做采集本地视频推直播与拉流客户端

    拿到MangoPi MQ Quad之后,我其实是很想用这块小板子做一个家庭使用的IoT的.
    的头像 发表于 07-23 09:07 874次阅读
    【<b class='flag-5'>芒果</b>派<b class='flag-5'>MangoPi</b> <b class='flag-5'>MQ</b> <b class='flag-5'>Quad</b>】+<b class='flag-5'>芒果</b>派做采集本地视频推直播与拉流客户端

    芒果MangoPi MQ Quad】Android10的体验

    芒果MangoPi MQ Quad SBC比较小巧,若能弄起来看个小视频最好了。
    的头像 发表于 07-23 11:35 535次阅读
    【<b class='flag-5'>芒果</b>派<b class='flag-5'>MangoPi</b> <b class='flag-5'>MQ</b> <b class='flag-5'>Quad</b>】Android10的体验

    【免费试用22期】芒果MangoPi MQ Quad

    Quad:开发板简介:MangoPi芒果MQ Quad 是一款搭载全志 H616 四核
    发表于 05-23 14:29

    芒果MangoPi MQ Quad】+初次刷机

    本帖最后由 march123456 于 2023-6-26 12:29 编辑 刚到手的小粉 工具 芒果MangoPi MQ Quad
    发表于 06-25 22:22

    芒果MangoPi MQ Quad】开箱与Debian系统体验

    首先感谢mango & 发烧友! 一、开箱 既然是tiny-tiny-tiny SBC,那么卡就很小了,拿到后的确够cute够tiny。 拿到的芒果MangoPi MQ
    发表于 06-27 23:46

    芒果MangoPi MQ Quad】安卓10系统体验

    上会已经说过了linux系统镜像的安装 这次来说说安卓系统。 首先准备工具 芒果MangoPi MQ Quad开发板 PC机 TF卡
    发表于 07-07 21:59

    芒果MangoPi MQ Pro】+系统安装及编程测试

    感谢电子发烧友论坛和芒果,我本来是评估芒果MQ Quad,不过因为偶然的关系,得到的是
    发表于 07-10 21:49

    芒果MangoPi MQ Quad】开箱+资料准备

    非常感谢给与机会让我测评芒果开发板; 1、合集: 首先来个照片 大集合 板子美照: MangoPi MQ Quad 开发板总结清单和配置
    发表于 07-11 00:00

    芒果MangoPi MQ Quad】开箱与Debian系统体验

    会进行校验,校验成功就可以关闭软件,把TF卡插到板子上准备启动了。由于这个镜像使用的是香橙的镜像,对应的文档需要去香橙官网下载。毕竟芒果大佬一个人也很难维护这么多板子和文档,使用相似的开发板的镜像
    发表于 07-20 21:29

    芒果MangoPi MQ Quad】NCNN在MangoPi MQ Quad上的部署和测试

    本来继上集(【芒果MangoPi MQ Quad】利用MangoPi
    发表于 08-03 23:25

    芒果MangoPi MQ Quad】开箱+系统测试

    很荣幸参与芒果MangoPi MQ Quad试用! 一、开箱 收到快递后,是个很精致的盒子, 里面装的是
    发表于 08-04 19:01

    芒果MangoPi MQ Quad】Android10的体验

    芒果MangoPi MQ Quad SBC比较小巧,若能弄起来看个小视频最好了。 1、固件下载&烧录
    发表于 08-04 19:07

    芒果MangoPi MQ Quad】开箱+系统测试

    很荣幸参与芒果MangoPi MQ Quad试用! 一、开箱 收到快递后,是个很精致的盒子, 里面装的是芒果
    的头像 发表于 07-19 21:20 743次阅读
    【<b class='flag-5'>芒果</b>派<b class='flag-5'>MangoPi</b> <b class='flag-5'>MQ</b> <b class='flag-5'>Quad</b>】开箱+系统测试

    NCNN在MangoPi MQ Quad上的部署和测试

    本来继上集(【芒果MangoPi MQ Quad】利用MangoPi MQ
    的头像 发表于 07-22 09:10 853次阅读
    NCNN在<b class='flag-5'>MangoPi</b> <b class='flag-5'>MQ</b> <b class='flag-5'>Quad</b>上的部署和测试