0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【芒果派MangoPi MQ Quad】使用Golang點(diǎn)燈

jf_50393217 ? 來(lái)源:jf_50393217 ? 作者:jf_50393217 ? 2023-07-21 14:44 ? 次閱讀

Go 是一個(gè)開(kāi)源的編程語(yǔ)言,它能讓構(gòu)造簡(jiǎn)單、可靠且高效的軟件變得容易。

Go是從2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持開(kāi)發(fā),后來(lái)還加入了Ian Lance Taylor, Russ Cox等人,并最終于2009年11月開(kāi)源,在2012年早些時(shí)候發(fā)布了Go 1穩(wěn)定版本?,F(xiàn)在Go的開(kāi)發(fā)已經(jīng)是完全開(kāi)放的,并且擁有一個(gè)活躍的社區(qū)。


這是本次開(kāi)發(fā)板開(kāi)箱和系統(tǒng)燒錄視頻

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


一、命令行點(diǎn)燈

本次使用的開(kāi)發(fā)板有1G的Ram,運(yùn)行g(shù)olang不成問(wèn)題。通過(guò)香橙派的使用手冊(cè),可以看到系統(tǒng)默認(rèn)引出的led有兩個(gè),實(shí)測(cè)MangoPi MQ Quad可以使用的led為/sys/class/leds/green:status/brightness。

可以在命令行終端里輸入以下命令控制led,0為滅,1為亮

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

然后,就可以用golang來(lái)實(shí)現(xiàn)點(diǎn)燈程序啦。

二、Golang點(diǎn)燈

新建一個(gè)main.go文件,并輸入以下內(nèi)容:

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點(diǎn)燈的程序 ,原理也很簡(jiǎn)單,通過(guò)Golang的os庫(kù) ,打開(kāi)/sys/class/leds/green:status/brightness

文件,然后不斷地寫入1和0即可,經(jīng)測(cè)試 ,若完全連續(xù)寫入,開(kāi)關(guān)的頻率可達(dá)172Khz。

但是由于程序線程并不能一直強(qiáng)行占用cpu運(yùn)行,所以使用這種方式控制io,不能實(shí)現(xiàn)呼吸燈的效果。但是用來(lái)控制繼電器什么的,已經(jīng)完全足夠了。

Golang也支持交叉編譯 ,在x86主機(jī)上使用以下命令編譯,并通過(guò)scp命令上傳到開(kāi)發(fā)板上運(yùn)行即可。

編譯命令

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

上傳命令

scp main orangepi@192.168.50.60:~/

以下是程序運(yùn)行截圖

wKgZomS6KKmAWWz2AANCheQq5Jw393.png


審核編輯 黃宇
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 芒果派
    +關(guān)注

    關(guān)注

    0

    文章

    11

    瀏覽量

    65
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    芒果MangoPi MQ Quad】+芒果初次折騰

    收到芒果之后我看了一下這塊板子的基本情況
    的頭像 發(fā)表于 07-10 09:15 ?1329次閱讀
    【<b class='flag-5'>芒果</b><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><b class='flag-5'>派</b>初次折騰

    芒果MangoPi MQ Quad】利用MangoPi MQ Quad部署一個(gè)網(wǎng)絡(luò)攝像頭

    芒果MangoPi MQ Quad】利用MangoPi
    的頭像 發(fā)表于 07-20 09:09 ?1136次閱讀
    【<b class='flag-5'>芒果</b><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>部署一個(gè)網(wǎng)絡(luò)攝像頭

    芒果MangoPi MQ Quad】+芒果做采集本地視頻推直播與拉流客戶端

    拿到MangoPi MQ Quad之后,我其實(shí)是很想用這塊小板子做一個(gè)家庭使用的IoT的.
    的頭像 發(fā)表于 07-23 09:07 ?1001次閱讀
    【<b class='flag-5'>芒果</b><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><b class='flag-5'>派</b>做采集本地視頻推直播與拉流客戶端

    芒果MangoPi MQ Quad】Android10的體驗(yàn)

    芒果MangoPi MQ Quad SBC比較小巧,若能弄起來(lái)看個(gè)小視頻最好了。
    的頭像 發(fā)表于 07-23 11:35 ?766次閱讀
    【<b class='flag-5'>芒果</b><b class='flag-5'>派</b><b class='flag-5'>MangoPi</b> <b class='flag-5'>MQ</b> <b class='flag-5'>Quad</b>】Android10的體驗(yàn)

    【免費(fèi)試用22期】芒果MangoPi MQ Quad

    Quad:開(kāi)發(fā)板簡(jiǎn)介:MangoPi芒果MQ Quad 是一款搭載全志 H616 四核
    發(fā)表于 05-23 14:29

    芒果MangoPi MQ Quad】+初次刷機(jī)

    本帖最后由 march123456 于 2023-6-26 12:29 編輯 剛到手的小粉 工具 芒果MangoPi MQ Quad
    發(fā)表于 06-25 22:22

    芒果MangoPi MQ Quad】開(kāi)箱與Debian系統(tǒng)體驗(yàn)

    首先感謝mango & 發(fā)燒友! 一、開(kāi)箱 既然是tiny-tiny-tiny SBC,那么卡就很小了,拿到后的確夠cute夠tiny。 拿到的芒果MangoPi MQ
    發(fā)表于 06-27 23:46

    芒果MangoPi MQ Quad】安卓10系統(tǒng)體驗(yàn)

    上會(huì)已經(jīng)說(shuō)過(guò)了linux系統(tǒng)鏡像的安裝 這次來(lái)說(shuō)說(shuō)安卓系統(tǒng)。 首先準(zhǔn)備工具 芒果MangoPi MQ Quad開(kāi)發(fā)板 PC機(jī) TF卡
    發(fā)表于 07-07 21:59

    芒果MangoPi MQ Pro】+系統(tǒng)安裝及編程測(cè)試

    感謝電子發(fā)燒友論壇和芒果,我本來(lái)是評(píng)估芒果MQ Quad,不過(guò)因?yàn)榕既坏年P(guān)系,得到的是
    發(fā)表于 07-10 21:49

    芒果MangoPi MQ Quad】開(kāi)箱+資料準(zhǔn)備

    非常感謝給與機(jī)會(huì)讓我測(cè)評(píng)芒果開(kāi)發(fā)板; 1、合集: 首先來(lái)個(gè)照片 大集合 板子美照: MangoPi MQ Quad 開(kāi)發(fā)板總結(jié)清單和配置
    發(fā)表于 07-11 00:00

    芒果MangoPi MQ Quad】開(kāi)箱與Debian系統(tǒng)體驗(yàn)

    會(huì)進(jìn)行校驗(yàn),校驗(yàn)成功就可以關(guān)閉軟件,把TF卡插到板子上準(zhǔn)備啟動(dòng)了。由于這個(gè)鏡像使用的是香橙的鏡像,對(duì)應(yīng)的文檔需要去香橙官網(wǎng)下載。畢竟芒果大佬一個(gè)人也很難維護(hù)這么多板子和文檔,使用相似的開(kāi)發(fā)板的鏡像
    發(fā)表于 07-20 21:29

    芒果MangoPi MQ Quad】開(kāi)箱+系統(tǒng)測(cè)試

    很榮幸參與芒果MangoPi MQ Quad試用! 一、開(kāi)箱 收到快遞后,是個(gè)很精致的盒子, 里面裝的是
    發(fā)表于 08-04 19:01

    芒果MangoPi MQ Quad】Android10的體驗(yàn)

    芒果MangoPi MQ Quad SBC比較小巧,若能弄起來(lái)看個(gè)小視頻最好了。 1、固件下載&燒錄
    發(fā)表于 08-04 19:07

    芒果MangoPi MQ Quad】開(kāi)箱+系統(tǒng)測(cè)試

    很榮幸參與芒果MangoPi MQ Quad試用! 一、開(kāi)箱 收到快遞后,是個(gè)很精致的盒子, 里面裝的是
    的頭像 發(fā)表于 07-19 21:20 ?1037次閱讀
    【<b class='flag-5'>芒果</b><b class='flag-5'>派</b><b class='flag-5'>MangoPi</b> <b class='flag-5'>MQ</b> <b class='flag-5'>Quad</b>】開(kāi)箱+系統(tǒng)測(cè)試

    NCNN在MangoPi MQ Quad上的部署和測(cè)試

    本來(lái)繼上集(【芒果MangoPi MQ Quad】利用MangoPi
    的頭像 發(fā)表于 07-22 09:10 ?1108次閱讀
    NCNN在<b class='flag-5'>MangoPi</b> <b class='flag-5'>MQ</b> <b class='flag-5'>Quad</b>上的部署和測(cè)試