|

【7688】不用Libmraa一樣可以控制GPIO

   
作者:賴桑

Libmraa實在容量大又跑不快!想要讓7688開機後,只會做一次系統初始動作,之後的程式不管那一隻,它都只會直接進行IO讀取或控制,所以就找到了7688系統中,如同以前Apple 2時代,透過對特定目標位置存取,就能做出像是「PEEK」或「POKE」的效果。

其實不論哪一套Linux,最初跟幾十年前的Unix一樣都有「kernel device driver」的設計精神,它大略分成兩種:「區塊(block)存取」、「字元(character)存取」,而控制GPIO這類的需求,大部分只要字元存取就可以達成。本文就是介紹不要用Libmraa的方法,直接存取kernel device driver的方式控制GPIO,其實就是寫檔案而已啦~免緊張!

控制GPIO的材料準備

  1. LinkIt Smart 7688,有沒有Duo沒關係,因為主題是OpenWRT
  2. 一個220Ω固定電阻跟一個LED

基本架構 基本架構

方法敘述

7688的每隻腳位其實有不同的定義,比如本文範例中的GPIO43,以拿Duo為例,就圖表示,GPIO43其實也是EPHY_LED。

會員福利
1

免費電子報

2

會員搶先看

3

主題訂閱

4

好文收藏

賴建宏

Author: 賴建宏

社群稱號為「賴桑」的他,以電子電機的背景,熱衷於OSHW的應用開發與實作。取得台北科技大學電子所博士學位,目前主推「農林漁牧大業」計畫的迷你型魚菜共生系統開發。

Share This Post On

3 Comments

  1. 賴桑大大:

    這樣看來7688 Duo在Node.js下用mraa控LED可接

    GPIO:43(p2)、20(p8)、21(p9)或
    D0-D18

    也就是Pin-out图(http://www.cnx-software.com/wp-content/uploads/2015/12/Link_Smart_7688_DUO_Pinout.png)中橘色部份

    對嗎?

    Ted Lee

    Post a Reply
  2. 你好,實作之後發現7688 DUO沒有對應燈號會亮,但是很明確可以如網頁最後一張圖,能看到gpio43在列表裡面,也能下達
    echo 1 > gpio43/value

    echo 0 > gpio43/value

    請問7688 duo上的燈號到底是有多少顆呢?(我板子上看到的是ON、WiFi、D13)

    Post a Reply
    • 可以下載官方網站上有PDF

      Post a Reply

Submit a Comment

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *