目前分類:Linkit 7688 Duo (8)

瀏覽方式: 標題列表 簡短摘要

說明如何在7688 Duo 安裝套件
(1) 系統管理套件 -- htop 套件

在Linux原本就可用top來監測系統效能,而htop是加強版,支援滑鼠操作,搜尋,篩選等加強功能。
opkg update 
opkg htop 
然後直接輸入htop來啟動htop, 執行 htop 後,有幾個選項可以操作

F2 : 進行參數設定

F3 : 搜尋你想要看的 process 狀態,光條會跳到搜尋到的 process 上

F4 : 過濾你想要看的 process 狀態

F5 : 對 process 進行樹狀排序,這樣你就可以清楚知道那個 child 是由那個 parent 所 fork 出來的。

F6 : 排序

F7 : 可減少nice值,這樣就可以提高對應進程的優先級

F8 : 可增加nice值,這樣就可以降低對應進程的優先級

F9 : Kill a process

F10 : 結束 htop

在監控畫面的最上方,是以文字圖像來顯示的系統狀態。
黃線圈起的部分為CPU使用率,可以看到目前這台Linux有1個CPU核心的使用率。
橘線圈起的部分為記憶體(MEM)使用率,還有swap(Swp)空間使用率。

Tasks表示目前系統中有多少程序,以及有多少程序正在執行(running)。
Load average代表系統在1分鐘,5分鐘,15分鐘間的平均負載。數值越高代表系統負載越大。
Uptime表示系統運行的時間,例如這台機器運行了1小時。超過100天就會出現個驚嘆號(!)

標頭中每個代號的意思如下:

  • PID:Process ID,程序編號
  • USER:開啟程序的使用者名稱
  • PRI:Priority,Linux kernal排程優先順序,數值從0(最高優先權)到139(最低優先權)。
  • NINiceness,數值從-20(最高優先權)到19(最低優先權)。
  • VIRT:Virtual memory usage,虛擬記憶體用量。
  • RES:Resident memory usage,常駐記憶體用量。
  • SHR:Shared memory usage,共享記憶體用量。
  • SProcess state,程序狀態。
    • D:不可中斷的睡眠狀態(例如IO)
    • R:執行中或可執行
    • S:可中斷的睡眠
    • T:工作停止
    • t:除錯中斷
    • Z:Zombie Process,殭屍程序
  • CPU%:CPU使用率。
  • MEM%:記憶體使用率。
  • TIME+:程序執行時間。
  • Comamnd:執行程序的命令。

 

 

 

文章標籤

stanley 發表在 痞客邦 留言(0) 人氣()

這篇文章所列的問題是針對LinkIt 7688 Duo使用時,我遇到的問題及解決方法,這些問題都是自己實作時遇到的問題,但是在網路上找很久都找不到答案
有些有找到解決方案而有些仍是没有答案的,很奇怪的事大家實作時不是都會遇到的問題,在官方文件或網路上竟然找不到問題及答案,我真疑惑大家是如何實作的,為何没有人遇到這些問題及如何解決這些問題。

(1) LinkIt 7688 Duo 要如何安全關機才不會變磚 ? 
      這個我自己實作電路解決了問題,請參考這篇文章
(2)  LinkIt 7688 Duo 的最大耗電電流是多些,使用7805 IC 可以嗎 ?
  這個我在網路上有找到答案,請參考這篇文章  
       但官方文件有更詳細的說明,在文件的第23頁 
(3)   LinkIt 7688 Duo 的GPIO 接脚可全用嗎? 
       依據官方文件說明 GPIO 0 is occupied by the I2S driver and cannot be used as GPIO function.
  這個還在測試中。 
(4)   LinkIt 7688 Duo 是否可以AP/Station mode 可以共存 ?
  在 firmware v0.9.4 可以使用GUI界面設定,在firmware v0.9.3要使用這篇文章的方法
(5)  LinkIt 7688 Duo當做一個無線Router 
  依據官方文件說明可以達成
(6) LinkIt 7688 Duo 的station mode 可以連接多個MBSSID 嗎? 
  (1) 依據官方文件說明是可以的,但我還在測試中。

(7)  我的LinkIt 7688 Duo 的時間並没有同步,要如何設定呢?
   LinkIt 7688 Duo 並没有硬體支援時間同步的機制,所以要用軟體的方式設定
  需要參考 (1) https://oldwiki.archive.openwrt.org/doc/howto/ntp.client  
                       (2) Ntpclient Configuration

   

 

 

   

 

 

 

 

 

 

文章標籤

stanley 發表在 痞客邦 留言(0) 人氣()

在實作LinkIt 7688 Duo時,想用一個7805穩壓IC去提供開發版電源,不知道可不可以?
很意外的在網路上竟然没有文件或有人提到LinkIt 7688 Duo需要多少的電流才足夠?
搜索很久才在論壇上有人提到 LinkIt 7688 Duo在開機時大約需要800MA的電流
用7805 IC (依型號提供最大電流大約在於1A或1.5A),因此如使用7805 IC供電, 7805IC 很快就會很熱了,
再加上週邊的其他電路的耗電情形,使用7805 IC 是有點風險或是要注意散熱問題

以上資料提供大家參考,官方好像無正式資料說明這一點
資料來源在
https://forum.seeedstudio.com/t/linkit-7688-power-supply/19012/2 可以看看,謝謝!

 

 

 

 

 

 

 

文章標籤

stanley 發表在 痞客邦 留言(0) 人氣()

 

原本以前這不是很重要的問題,但經過研究後發現這是一個很有趣且實用的議題,很值得研究
但自己並没有實作過,所以以下的線路全都是網站收集而來的

其設計概念就是當按下開關時供電給MCU版,而當程式結束時MCU發出關機信號,將電源關閉如此可以省電

其延伸概念是Latch 電路有個開關,按第一下時供電給MCU,再按一下即對MCU斷電

另一種作法是電源電力足夠是供電,當電力不足時,latch 電路先行斷電,可避免電池過度使用。

 

undefined

資料來源:Power Control for Your Product: Starting and Stopping Electrons

undefined

直到最近在實作LinkIt 7688 Duo 時發現整個作業系統要闗機是個很大的問題,先來

問題描述:

從作業系統的角度而言,系統尚未完成 I/O 操作或正在作檔案系統的讀寫,此時測試版如果不預期的斷電,就有可能會造成系統不正常的結束。整個測試版損毀下次將會無法正常開機。
根據官方文件說明如果有三種這種現象那就是你的開發版掛點了-
變磚 ,首先,可透過更新韌體的方式進行修復( 解磚 )。

(1)板子上的 flash 速度比平常慢,而且好像快壞掉了,這是為什麼呢?

板子內建的 SPI NOR flash 有其寫入壽命 (約十萬次) 而且其檔案系統的操作並非不可中斷 (atomic) 的,以至於若 flash 過於頻繁的讀寫或者是在寫入途中遇到斷電等狀況,很有可能會造成 flash 或是檔案系統的損毀。因此,建議頻繁的 I/O 存取可改用 /tmp 的 RAM disk (斷電後會消失) 或是將檔案系統延伸至 SD 卡上,都可提供更快速且穩定的 I/O 操作。

(2)檔案系統好像損毀了 / 開機時橘色 LED 一直亮著無法正常開機,發生什麼事了?

 當你想要將 LinkIt Smart 7688 關機時,不建議直接拔除 USB 線或是使用其他直接斷電的操作,否則將會有檔案系統損毀進而無法開機的現象發生。標準做法為:想要將系統關機時,先至命令列         (透過 SSH 或是 UART) 中輸入 reboot 或是 poweroff 的指令*,讓系統將所有尚未完成的 I/O 操作完成。等到這一步驟完成後,你會看到板上的橘色 LED 閃爍並亮起準備進行開機程序時,就可以       安全地將系統斷電。
      * OpenWrt 作業系統並無提供 shutdown 這個指令,而且 poweroff 指令與 reboot 指令都是相同的行為 (亦即重開機)。

(3)為什麼我的板子變磚無法開機了?

請參考上題,板子上的檔案系統可能已經損毀了。

從個人的運作經驗得知,當使用者下了 reboot 或是 poweroff 的指令後,你會看到板上的橘色 LED 閃爍並亮起準備進行開機程序時,經過大約6 秒後我們才可以安全地將系統斷電

但此時如没有及時斷電,系統將會開始執行下面的開機程序,橘色 LED 又開閃爍進行開機。

undefined

解決方案:

所以我的需求如下:
(1)電源管理版上有開機按鍵,手按開機鍵可一直供電給
LinkIt Smart 7688

(2)電源管理版上有關機按鍵,手按關機鍵後LinkIt Smart 7688開始關機。
(3)電源持續供電6秒後,斷開電源。

而我提的解決方法是利用Relay 自保持電路維持供電,再利用555 計時電路延續6秒後再斷電。

undefined

Relay 自保持電路

undefined

555 計時電路延續6秒

所以我依照我的需求結合且修改上面二個電路做成的電路結果如下:

下面電路輸入電源為12V,輸出電源有12V,5V,一個連接到MCU的控制信號線

而管理版上有二個控制按鈕,一個ON,一個OFF按鈕 

當按ON時電路會自保且輸出12V,5V電源。

按下off 時,電路會供電持續6秒後會切斷電源。

同時管理版上有三個LED,當有電源輸出時會亮藍色燈,
所以當電路自保時會亮綠色LED及藍色LED燈

當按OFF時,綠色LED OFF,橙色LED亮起,當所有斷電時所LED皆仁會滅

這是我依自己需求所條改的電路,我不知道網友是否有相同的問題,所以有問題可以留言再問我。

LinkIt 7688 Duo 電源管理.jpg

 

 

 

 

 

參考資料:

Power Control for Your Product: Starting and Stopping Electrons
Latching Power Switch Circuit (Auto Power Off Circuit) for ESP32, ESP8266, Arduino
Latching power switch uses momentary pushbutton
Soft Latch Power Switch (Ardweeny)

Latch and Toggle Power Circuits
Latching Relay Circuit

555 timer delay cicruit 
555 Monostable Circuit Calculator   

 

 

 

文章標籤

stanley 發表在 痞客邦 留言(1) 人氣()

參考資料:

(1)https://github.com/intelmakers/robot_in_google_cloud/wiki/Installation_of_OpenCV
(2)https://communities.intel.com/thread/57712

 

(1) 方法1 :   

輸入下方指令

     opkg list | grep python-opencv
     opkg list-installed | grep python-opencv

Unknown package 'python-opencv'.

Collected errors:

* opkg_install_cmd: Cannot install package python-opencv.

方法:
Added src iot-devkit-i586 http://iotdk.intel.com/repos/1.1/iotdk/i586,
src mraa-upm http://iotdk.intel.com/repos/1.1/intelgalactic
to iot-devkit.conf and updated my opkg then upgraded it.

  cd /var/opkg/
  Create intel-iotdk.conf file      
      echo "src intel-iotdk http://iotdk.intel.com/repos/3.0/intelgalactic/opkg/i586" > /etc/opkg/intel-iotdk.conf 
  opkg update
  opkg upgrade   
  opkg install python-numpy opencv python-opencv

(2) 方法2

root@mylinkit:/etc/opkg# wget http://iotdk.intel.com/repos/1.1/iotdk/i586/opencv_2.4.8+git0+a4b34e7ae1-r0_i586.ipk
Connecting to iotdk.intel.com (104.124.188.30:80)
opencv_2.4.8+git0+a4 100% |*******************************|   732   0:00:00 ETA
root@mylinkit:/etc/opkg# ls -lt
-rw-r--r--    1 root     root           732 Nov 13 22:29 opencv_2.4.8+git0+a4b34e7ae1-r0_i586.ipk
-rw-r--r--    1 root     root           197 Nov 13 21:28 iot-devkit.conf
-rw-r--r--    1 root     root           104 Nov 13 21:15 tomfeeds.conf
drwxr-xr-x    2 root     root            63 Nov 20  2015 keys
-rw-r--r--    1 root     root           103 Nov 18  2015 customfeeds.conf
-rw-r--r--    1 root     root           215 Oct 27  2015 distfeeds.conf
root@mylinkit:/etc/opkg# opkg install opencv_2.4.8+git0+a4b34e7ae1-r0_i586.ipk
Installing opencv (2.4.11-3) to root...
Downloading http://mirror2.openwrt.org/mt7688_v0.9/packages/opencv_2.4.11-3_ramips_24kec.ipk.
Configuring opencv.

[註:以上文章只是收集網站,並没有在LinkIt 7688 測試成功]

stanley 發表在 痞客邦 留言(0) 人氣()

[ MediaTek ] 透過 LinkIt Smart 7688 拍照上傳到 Dropbox 並透過 IFTTT 發送 Notification 教學7688 Duo 程式資料相當有限,是故收集相關程式記錄在此網站,讀完這些範例,你的程式功力將會大

(1) Create and run your first example (Blink D13 LED)

(2) 透過 WebSocket 傳送 Sensing Data 到 IoT Studio

(3) Smart Lighting and Notifications

(4) LinkIt Smart 7688 Duo: Subscribing to MQTT topic

(5) 使用 LinkIt smart 7688 Duo 搭配 MCS gamepad channel 製作遙控戰車
(6) GitHub - NCKU-CCS/Mosquito-Killer-X: 專殺蚊子用的捕蚊燈

(7) Linkit Smart 7688 Duo上使用PMS3003 (G3) 空汙感測器
(8) [LinkIt Smart 7688] FPV第一人稱輪型機器人- 可愛小瓦力
(9) Michael Huang 的 LinkIt Smart 7688小案 – WiFi工程車

(10) 7688 Duo有趣的專案及參考資料@Ted好玩
(11) 雷虎遙控車 – 使用LinkIt Smart 7688 改裝成FPV第一人稱視角載具

(12) LinkIt Smart 7688 傳送感測資訊到 Google Spreadsheet 教學

(13) 如何使用LinkIt 7697在MCS上監控溫溼度變化

(15) 7688 Duo有趣的專案及參考資料@Ted好玩

(16)[ MediaTek ] 透過 LinkIt Smart 7688 拍照上傳到 Dropbox 並透過 IFTTT 發送 Notification 教學 

(17)Build Surveillance Camera and Save All Images on MCS Cloud
(18)[ Linkit Smart 7688 ] 透過 Python 傳送 Video Stream 到 MediaTek Cloud Sandbox (MCS)  using ffmpeg
(19)[誰偷喝我的五十嵐?] 使用7688 Duo與MCS雲服務打造小偷偵測系統   (using fswebcam)
(20) 7688 Duo Monitor Toy – 居家監控娃娃
(21) Auto Trashcan 自動垃圾桶
(22) DIY簡易空氣盒子
(23) Who's Home
(24) Zoned Climate Control.

 

 

 

 

 

 

 

文章標籤

stanley 發表在 痞客邦 留言(0) 人氣()

(1) LinkIt Smart 7688 資源[官方網站]連接
(2) 開始使用 7688 Duo Board

(3) 如何設定WIFI
      Reset 後利用手機連線至Duo 板子,然後在手機chrome 輸入192.168.100.1,再輸入route 資訊切換至Station mode
(3) 執行第一支程式(Python program)
(4)
  LinkIt Smart 7688 FAQ
(5) 如何 Reset linkit smart 7688 Duo
(5) 開機及Wi-Fi LED states
(6) LinkIt Smart 7688 Developer’s Guide(Advanced user)
(7) OpenWrt Project[官方網站]
     Quick Start Guide, User Guide , Developer Guide

(8) 如何在 MT7688 開機時自動啟動服務?
      至/etc/rc.local 內新增 python /root/app/xx.py &    
(9) 7688  關機

     當你想要將 LinkIt Smart 7688 關機時,不建議直接拔除 USB 線或是使用其他直接斷電的操作,否則將會有檔案系統損毀進而無法開機的現象發生。標準做法為:想要將系統關機時,先至命令列         (透過 SSH 或是 UART) 中輸入 reboot 或是 poweroff 的指令*,讓系統將所有尚未完成的 I/O 操作完成。等到這一步驟完成後,你會看到板上的橘色 LED 閃爍並亮起準備進行開機程序時,就可以       安全地將系統斷電。

      * OpenWrt 並無提供 shutdown 這個指令,而且 poweroff 指令與 reboot 指令都是相同的行為 (亦即重開機)。
        (9.1) 555 timer delay cicruit 
        (9.2) 555 Monostable Circuit Calculator     
(10) 7688 模擬器
(11) File storage

(12) Network

(13)讓 LinkIt Smart 7688 的 Wi-Fi AP 與 station 同時運作

(14)Peripheral support on LinkIt Smart 7688 development board

(14) Using USB Webcam
(14.1)用Python寫CGI傳輸即時影像並控制GPIO
(14.2) 
mjpg_streamer -i "input_uvc.so -d /dev/video0 -r 640x480 -f 25" -o "output_http.so -p 8080 -w /www/webcam" &
(14.3)
http://192.168.X.105:8080/
(!4.4)    http://mylinkit.local:8080?action=stream
(15) mediatek Forums
(16) Make Python code run much faster by pre-compiling python py modules into pyc
(17) LinkIt Smart 7688 Duo-Wi-Fi 掛點急救篇
(18)
Switch the PinMux  【7688】不用Libmraa一樣可以控制GPIO ]
(19-0) Firmata 設定: Prototyping Arduino Projects using Python
(19) 玩IOT(8) -利用 Firmata PyFirmata函式庫讓7688 MPU和 Arduino MCU 溝通
(20) Update the firmware with a USB drive, Enabling SFTP, Mounting the root FS on an SD card
(21) GPIO IN, OUT, gpio input using interrupt
(22) 7688 Duo Python Server 
(23) 使用Firmata_tets 程式測試pinout接腳使用Firmata讀取analog 值,使用PWM 範例
(24) How to read and write to Arduino using Python
(25) Servomotor – moving the motor to certain angle (read & Write),範例1-Hello World,
範例2:Hello World-Python可以這樣玩(19):電位計實驗 

               直接設定腳位物件:
                   
A2 = board.get_pin('a:2:i')        # a 代表類比, i 代表 input
    
D3 = board.get_pin('d:10:o')       # d 代表數位, o 代表 output
   
D5 = board.get_pin('d:11:p')       # d 代表數位,   代表PWM
    D10 = board.get_pin('d:12:s')      # d 
代表數位,       代表SERVO
       a:0:i for analog 0 as input or d:11:p for digital pin 11 as pwm 

>>> analog_0 = board.get_pin('a:0:i')
>>> analog_0.read()
0.661440304938
>>> pin3 = board.get_pin('d:3:p')
>>> pin3.write(0.6)

   
(26) Firmata Library
(27) OpenWrt boot 
(28) Python x Arduino物聯網整合開發實戰-第3-4章使用python & firmata

(29)[ Linkit Smart 7688 ] 傳送檔案與登入到開發板 (putty ftp)
(30) MediaTek ] 擴充 LinkIt Smart 7688 容量教學
(31)Mounting the root FS on an SD card

(32)IOT(19) 加按鍵試7688 DUO input port

(33)IOT(11) 了解7688 DUO 和 Arduino 的接腳位置

(34)查詢及修改GPIO輸入,輸出設定

(35) [ Linkit Smart 7688 ] 安裝 USB 音效卡

文章標籤

stanley 發表在 痞客邦 留言(0) 人氣()

最近開始在玩

undefined

undefined

PinOUT 大型圖

undefined

undefined

[註]Finding GPIO pins on the PCB
      D0~D13 為數位腳位(Digital Pin),D14~D17 為SPI 的腳位,D18~D23 為類比. 腳位(Analog Pin)(MediaTek, 2016)。
     PWM Pins are : D3, D5, D6, D9, D10, D11, D12, D13
     GPIO 44 maps to Wi-Fi LED
      玩IOT(6) 便用 libmraa 函式庫來控製WiFi LED

 

Specification

  • MPU
    • Chipset: MT7688AN
    • Core: MIPS24KEc
    • Clock Speed: 580MHz
    • Working Voltage: 3.3V
  • MCU
    • Chipset: ATmega32U4
    • Core: Atmel AVR
    • Clock Speed: 8MHz
    • Working Voltage: 3.3V
  • Memory
    • Flash: 32MB
    • RAM: 128MB DDR2
  • GPIO
    • Pin Count: 3(MT7688AN), 24(ATmega32U4)
    • Voltage: 3.3V
  • PWM
    • Pin Count: 8(Atmega32U4)
    • Voltage: 3.3V
    • Max. Resolution: 16 bits(customizable)
  • ADC
    • Pin Count 12(ATmega32U4)
    • Resolution: 10 bits
  • External Interrupts: 8
  • SPI/SPIS
    • Pin numbers: S0, S1, S2, S3
    • Max Speed: 4MHz
  • I2C
    • Pin Number: D2/D3
    • Speed: 400KHz
  • UART Lite
    • 1 for ATmega32U4, 1 for MT7688AN
    • Pin Number: P8/P9(MT7688AN), D0/D1(ATmega32U4)
  • USB Host
    • Pin Number: P6/P7
    • Connector Type: Micro-AB
  • Communication
    • Wi-Fi: 1T1R 802.11 b/g/n (2.4G)
    • Ethernet: 1-port 10/100 FE PHY
    • Pin Numbers: P2/P3/P4/P5
  • User Storage: SD Card Micro SD/SDXC
  • Size: 60.8x26.0mm

Switch the PinMux

mt7688_pinmux get
mt7688_pinmux set <group> <function>

 

stanley 發表在 痞客邦 留言(0) 人氣()

Close

您尚未登入,將以訪客身份留言。亦可以上方服務帳號登入留言

請輸入暱稱 ( 最多顯示 6 個中文字元 )

請輸入標題 ( 最多顯示 9 個中文字元 )

請輸入內容 ( 最多 140 個中文字元 )

reload

請輸入左方認證碼:

看不懂,換張圖

請輸入驗證碼