2022年8月22日 星期一

[Raspberry PI] Receive file by Bluetooth from Windows 10 PC

本文說明透過 Command Line 的方式, 使 Raspberry PI 可透過 Bluetooth 接收檔案

測試機器:
1. Raspberry PI 3 Model B
2. Windows 10 PC

第一部分 - 連線

目的是先使 Raspberry PI 3 與 Windows 10 PC 透過藍芽連線建立起來.

1. 先在 Raspberry PI 這端, 打開 terminal 執行

    # hciconfig

    確認 Bluetooth hci device 有正常運作, 可查看印出的訊息是否有 "UP RUNNING" 字串.

    接著依序執行.

    # sudo bluetoothctl

    power on

    agent on

    default-agent

    discoverable on

    若是 command 都執行成功, Raspberry PI 的 Bluetooth 會處於可被 scan 狀態.


2. 接著在 Windows 10 PC 這端,

    點選右下角 -> 藍芽 -> 新增藍芽裝置


    進入到藍芽設定頁面後,

    點選 新增藍芽或其他裝置 -> 藍芽


    尋找 "raspberry pi" 裝置, 點選它並連線, 連線過程會顯示 6碼 passkey, 

    在 Raspberry PI 輸入 yes, Windows 10 PC端確定, 即可完成連線.

    連線完成後可在 Windows 10 PC端看到連線狀態.



第二部分 - Raspberry PI 運行 Obexpushd

    在 Raspberry PI 這端, 再打開一個 Terminal, 執行

    1. Install obexpushd

            sudo apt-get install obexpushd

    2. 編輯 dbug-org

            sudo nano /etc/systemd/system/dbus-org.bluez.service

             "-C" 在 "ExecStart=" 最後面

            類似 "ExecStart=/usr/lib/bluetooth/bluetoothd -C"

    3. 創立一個資料夾供之後接收檔案用

            sudo mkdir /bluetooth

    4. Reboot

    5. 運行 obexpushd service

            sudo obexpushd -B -o /bluetooth -n

            如果運行成功, 沒有錯誤訊息, 即會顯示如下

            Listening on bluetooth/[00:00:00:00:00:00]:9    


第三部分 - Winsows 10 PC 傳送檔案給 Raspberry PI

在 Windows 10 PC 端

    1. 點選右下角 -> 藍芽 -> 傳送檔案

    2. 選擇 "raspberrypi" 裝置.

    3. 選擇檔案, 並開始傳送.


    4. 傳送中.


    5. 傳送完成.   


    6. 在 Raspberry PI 端, 在剛剛運行 obexpushd 的 Terminal, 會顯示

        Creating file "/bluetooth/xxx.txt"

        可在 /bluetooth 資料夾檢查是否有接收到檔案.



#參考資料
https://forums.raspberrypi.com/viewtopic.php?p=963751#p963751

2016年5月24日 星期二

[STM32] 解決 sprintf...etc 或 maco函數無法編譯的問題

接上一篇,
如果遭遇到, 當使用了一些 standard C 函式庫之後, 且 compile 無法正常編譯過,

Error Message:
c:/program files (x86)/gnu tools arm embedded/5.2 2015q4/bin/../lib/gcc/arm-none-eabi/5.2.1/../../../../arm-none-eabi/lib/armv7-m\libg.a(lib_a-sbrkr.o): In function `_sbrk_r':
sbrkr.c:(.text._sbrk_r+0xc): undefined reference to `_sbrk'
collect2.exe: error: ld returned 1 exit status
make: *** [USART_String.elf] Error 1


請試著使用以下方法,

1, 在 stm32_flash.ld 檔案找到如下這段, 然後在最後面加上 PROVIDE (__HEAP_START = _end);  

  /* Uninitialized data section */
  . = ALIGN(4);
  .bss :
  {
    /* This is used by the startup in order to initialize the .bss secion */
    _sbss = .;         /* define a global symbol at bss start */
    __bss_start__ = _sbss;
    *(.bss)
    *(.bss*)
    *(COMMON)

    . = ALIGN(4);
    _ebss = .;         /* define a global symbol at bss end */
    __bss_end__ = _ebss;
  } >RAM

  PROVIDE ( end = _ebss );
  PROVIDE ( _end = _ebss );
  PROVIDE (__HEAP_START = _end);

2, 在 USER 資料夾內, 創建一個新的檔案 syscalls.c , 並在裡面添加下面這些 code.

#include <sys/types.h>
// for use malloc sprintf function
extern int  __HEAP_START;

caddr_t _sbrk ( int incr ){
  static unsigned char *heap = NULL;
  unsigned char *prev_heap;

  if (heap == NULL) {
    heap = (unsigned char *)&__HEAP_START;
  }
  prev_heap = heap;


  heap += incr;

  return (caddr_t) prev_heap;
}


儲存, 應該就可以正常編譯了.

2016年5月5日 星期四

[STM32] 使用 Eclipse + GCC ARM 在 WIN7 建立 STM32 開發環境

仿間的教學書籍都是建議使用 MDK 來進行 STM32 的開發, 但是它畢竟是商業軟件, 在未授權下使用, 畢竟比較麻煩.

在此提供 Eclipse + GCC ARM tool 的方式, 兩個軟體都是 opensource, 可以放心使用, 不會一直收到公司郵件通知............>_<

事前準備:
    1, 編譯工具 GCC ARM Embedded Tool-chain
        下載連結: Download Link
        這是由 ARM 維護的 GCC 編譯器, 下載 win32 版本的 zip 檔, 解壓縮後放到你要放的目錄下, 也可下載 exe 檔, 安裝完後應該會在 C:\program file\ 資料夾下面.

    2, Eclipse IDE for C/C++ Developers Tool
        下載連結: Download Link
        請至上方連結下載 Eclipse Tool, 則依您 PC 的屬性選擇 32bit 或 64bit , 而 Eclipse 是跑在 Java runtime environment(JRE) 下,
        所以您必須至 Java 網站下載 JRE 並安裝, 當然如果你安裝過了, 就不需要了.
        JRE 下載連結: Download Link
 
    3, The ARM-based 32-bit MCU STM32F10x Standard Peripheral Library
        下載連結: Download Link
        我是使用 V3.5.

    4, STM32 開發版
        我的開發版是 STM32F103ZET6 Evaluation Board

安裝 Eclipse:
        安裝完 GCC ARM 與 Eclipse 後, 開啟 Eclipse.
        Eclipse 會跳出一視窗確認您的 workspace 路徑, 請選擇您要放置專案的路徑, 並按下 OK .


        進入開發介面後, 點選 Help -> Install New Software... 安裝 CDT.
        在 Work with 輸入 cdt, 即會自動跑出 CDT 連結, 在連結上 double click. 下方會跑出三個選單, 請選擇第二個 CDT Optional Features.

        請選擇 C/C++ GCC Cross Compiler Support, 並按 Next...........依照步驟完成安裝.

        安裝完 CDT 後, 請重新啟動 Eclipse.


建立一個簡單的 LED 專案:
        在此建立一個簡單的 LED 閃爍專案.
     
        請在 Eclipse 介面中點選 File -> New -> C Project
        如下範例: 輸入 Project name "LED_Test", Toolchains 選擇 Cross ARM GCC -> Next.

        Next -> 確認 Toolchains name 是否為一開始所安裝的 GCC ARM tool, 確定即可按 Finish.

        完成後, 會在 Project Explorer 看到新增一個 LED_Test 專案, 並且會跑出三個 Includes 路徑,
        如果這三個路徑沒跑出來, 請重新檢察 Toolchains 的路徑, 否則之後會無法編譯.


        打開一開始所設定的 workspace 資料匣, 會發現已經多了一個 LED_Test 資料夾, 請在這資料夾內再多創建三個資料夾如下,
        CMSIS 資料夾
                將 core_cm3.c, core_cm3.h, stm32f10x.h, system_stm32f10x.c, system_stm32f10x.h 這五個檔案複製進來,
                這五個檔案可以在 STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3 的 CoreSupport 與 DeviceSupport 資料夾內找到;
                緊接著再創建一個資料夾 "startup", 然後將 startup_stm32f10x_hd.S 與 stm32_flash.ld 複製進去,
                "startup_stm32f10x_hd.S" 可以在 STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\TrueSTUDIO 資料夾內找到,
                依CPU的晶片類型選擇所需要的檔案, 要注意的是原始檔案的 *.s 是小寫, 請改成大寫, 否則 Eclipse 看不懂.
                stm32_flash.ld 連結檔可以在 STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template\TrueSTUDIO 資料夾內找到,
                依CPU的晶片類型選擇所需要的檔案, 可將 stm32_flash.ld 打開來看看是不是你的CPU所適用的.
        FWlib 資料夾
                至 STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver 資料夾內, 將 inc 與 src 資料夾複製近來.
        USER 資料夾
                所寫的 code, 如 main.c 都放在這個資料夾中, 並將 stm32f10x_conf.h, stm32f10x_it.c, stm32f10x_it.h 也複製進來,
                可在 STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template 資料夾內找到這幾個檔案.

                 創建完後, 如下圖即可,

                接著再做一些 Compiler 與 Linker 的相關設定, 在 LED_Test 這個 Project Name 上按右鍵, 並選擇 properties,
                選擇 C/C++ Build -> Setting -> Preprocessor -> Defined symbols 選 Add,
                加入 USE_STDPERIPH_DRIVER 與 STM32F10X_HD 這兩個 Symbol,
                -> 然後 Scroll bar 往下拉 -> Apply

                點選 Includes, 在 Includes paths 選 Add, 將 CMSIS, FWlib/inc, FWlib/src, USER 這幾個資料夾都加進來.
                -> 然後 Scroll bar 往下拉 -> Apply

                點選 Cross ARM C Linker -> General , 在 Script files 選 Add, 將一開始存放的 stm32_flash.ld 加進來,
                -> 然後 Scroll bar 往下拉 -> Apply

                在同一個頁面上方點選 Build Steps,
                然後在 Post-build steps 的 Command 加上 arm-none-eabi-objcopy -S -O binary "${ProjName}.elf" "${ProjName}.bin"
                在 Description 內加上 Create Binary.
                -> 然後 Scroll bar 往下拉 -> Apply -> OK 完成設定.

                修改 main.c 檔如下, 我所使用的是 STM32F103ZET6 Evaluation Board,
                以下的 sample code 可以使板上的 3 個 LED 輪流閃爍.
========================================================================
  1. #include "stm32f10x.h"

  2. void LED_GPIO_Config(void);
  3. void Delay(__IO u32 nCount);

  4. int main(void)
  5. {
  6. LED_GPIO_Config();

  7.   /* Infinite loop */
  8. while (1)
  9. {
  10. GPIO_SetBits(GPIOF, GPIO_Pin_6);
  11. Delay(0x0FFFEF);
  12. GPIO_ResetBits(GPIOF, GPIO_Pin_6);
  13. GPIO_SetBits(GPIOF, GPIO_Pin_7);
  14. Delay(0x0FFFEF);
  15. GPIO_ResetBits(GPIOF, GPIO_Pin_7);
  16. GPIO_SetBits(GPIOF, GPIO_Pin_8);
  17. Delay(0x0FFFEF);
  18. GPIO_ResetBits(GPIOF, GPIO_Pin_8);
  19. Delay(0x0FFFEF);
  20. }
  21. }

  22. void LED_GPIO_Config(void)
  23. {
  24. GPIO_InitTypeDef GPIO_InitStructure;

  25. RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOF, ENABLE);

  26. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8;

  27. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;

  28. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

  29. GPIO_Init(GPIOF, &GPIO_InitStructure);

  30. GPIO_SetBits(GPIOF, GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8);
  31. }

  32. void Delay(__IO u32 nCount)
  33. {
  34. for(; nCount != 0; nCount--);
  35. }


========================================================================

                儲存 main.c 後, 在 LED_Test project name 上按右鍵, 點選 Build Project, 即開始 Compiler.
                Compiler 完成後, 會顯示下面訊息,
             
                .....
                .....
                .....
                Finished building target: LED_Test.elf

                make --no-print-directory post-build
                Create Binary
                arm-none-eabi-objcopy -S -O binary "LED_Test.elf" "LED_Test.bin"

                Invoking: Cross ARM GNU Create Flash Image
                arm-none-eabi-objcopy -O ihex "LED_Test.elf"  "LED_Test.hex"
                Finished building: LED_Test.hex

                Invoking: Cross ARM GNU Print Size
                arm-none-eabi-size --format=berkeley "LED_Test.elf"
                text   data    bss    dec    hex filename
                2216   1076    540   3832    ef8 LED_Test.elf
                Finished building: LED_Test.siz



                在 Debug 資料夾內會產生出 hex file 與 bin file,
                我是使用 FlyMcu.exe 這個軟體, 使用 com port 即可下載 hex file, 網路上都 download 的到FlyMcu,
                 ST-Link 或 J-Link 燒錄與 Debug 方式之後有空再說吧.


                 需要注意的事是, 在編譯的過程中, core_cm3.c 有可能會編譯不過, 請打開這個檔案, 將 uint32_t __STREXB(uint8_t value, uint8_t *addr)函數和uint32_t __STREXH(uint16_t value, uint16_t *addr)函數裡面的 "=r" 改為 "=&r", 應該就可以編譯成功了.



2015年12月8日 星期二

[RaspberryPi] apt-get update fail issue.

最近著手玩起 Raspberry Pi 的板子,
但是當執行 sudo apt-get update 時, 總是會遇到錯誤,
錯誤如下,
========================================================================
pi@raspberrypi:/etc/network$ sudo apt-get update
Err http://mirrordirector.raspbian.org jessie InRelease

Err http://archive.raspberrypi.org jessie InRelease

Err http://mirrordirector.raspbian.org jessie Release.gpg
  Cannot initiate the connection to mirrordirector.raspbian.org:80 (2001:41c9:1:3ce::11). - connect (101: Network is unreachable) [IP: 2001:41c9:1:3ce::11 80]
Err http://archive.raspberrypi.org jessie Release.gpg
  Cannot initiate the connection to archive.raspberrypi.org:80 (2a00:1098:0:82:1000:13:0:5). - connect (101: Network is unreachable) [IP: 2a00:1098:0:82:1000:13:0:5 80]
Reading package lists... Done
W: Failed to fetch http://mirrordirector.raspbian.org/raspbian/dists/jessie/InRelease

W: Failed to fetch http://archive.raspberrypi.org/debian/dists/jessie/InRelease 

W: Failed to fetch http://mirrordirector.raspbian.org/raspbian/dists/jessie/Release.gpg  Cannot initiate the connection to mirrordirector.raspbian.org:80 (2001:41c9:1:3ce::11). - connect (101: Network is unreachable) [IP: 2001:41c9:1:3ce::11 80]

W: Failed to fetch http://archive.raspberrypi.org/debian/dists/jessie/Release.gpg  Cannot initiate the connection to archive.raspberrypi.org:80 (2a00:1098:0:82:1000:13:0:5). - connect (101: Network is unreachable) [IP: 2a00:1098:0:82:1000:13:0:5 80]

W: Some index files failed to download. They have been ignored, or old ones used instead.
========================================================================

因為公司的網路連外都需要設定 proxy, 所以還是設定一下吧.

設定 Proxy:
在 /etc/apt/apt.conf.d 下建立 "10proxy" 這個檔案, 然後修改他的內容如下,

Acquire::http::Proxy "http://id:password@yourproxyaddress:proxyport";

存檔.

有必要的話, 再設定 DNS:
打開 /etc/resolv.conf

sudo vi /etc/resolv.conf

加上
nameserver 8.8.8.8
或是貴公司的 DNS address
存檔.

reboot..........即可!!!

2015年5月17日 星期日

在 ASUS A8M(A84PMM36DD) 安裝 Ubuntu 12.04.1 所遭遇上的問題

這兩天要在老舊電腦 ASUS A8M 安裝 Ubuntu 12.04.1 來做一些實驗,
結果上網 download Ubuntu 12.04.1 的 iso, 並且做成 LiveCD 後,
安裝老半天 都安裝不進去.
Google 了一下, 原來網上都已經有類似的問題了,

ASUS A8M(A84PMM36DD) 規格:
CPU: AMD Turion(tm) 64 Mobile Technology MK-36
CPU Speed: 2.00GHz
Memory: 1GHz
Display: nVidia GeForce Go 6100

按照 LiveCD 的一般開機流程安裝, 總共會遭遇到 2 個問題,
  1. 在安裝過程中, 當進行輸入 區域, 鍵盤設定, 帳號設定 之後, 畫面就會跳離, 接著會彈出一個 error message 的視窗,
    Error message:
    The installer encountered an unrecoverable error. A desktop session will now be run so that you may investigate the problem or try installing again.

    依據 Google 之後的結果, 看起來是因為 nVidia 顯示卡驅動程式所造成的問題, 導致安裝流程沒有辦法繼續, 詳細原因請再自行尋找.

    Solution:
    選擇使用 LiveCD 開機後, 當出現如下畫面時, 馬上按下 Space key,
  2. 會打開進階選單, 選擇好語言後, 如下圖,
    選擇 Try Ubuntu without installing,
    按下 F6 鍵, 打開 Other Options, 如下圖,

    使用上下鍵, 移至 nomodeset, 按下 Enter,
    nomodeset 字串必須出現一個 X , 再按下 Esc,
    再 選擇 Try Ubuntu without installing 開機,
    進入桌面後, 再點選桌面上的 Installation Icon 進行安裝,
    應該就不會再出現 Error Message.


  3. 當 item-1 解決後, 依著安裝流程, 當安裝到輸入 "帳號密碼" 且按 "下一步" 後,
    會遇到另一個問題, 也就是出現選擇 "大頭貼" 的畫面, 然後畫面會馬上跳掉, 離開安裝程序.

    Solution:
    因為選擇大頭貼時, 會啟用 webcam 裝置, 但是 webcam 所顯示的影像是破碎的且不正常的,
    於是懷疑問題應該是出現在 webcam device.
    請輸入以下 command 去 移掉 webcam device.
    $ lsmod | grep gspca
    gspca_vc032x                    31999    0  
    gspca_main                        27654    1  gspca_vc032x
    videodev                            86588    1  gspca_main

    $ sudo rmmod gspca_vc032x
    $ sudo rmmod gspca_main
    $ sudo rmmod videodev


    移掉之後, 再點選桌面上的 installation Icon 進行安裝, 當進行完輸入 "帳號密碼" 且按 "下一步", 會自行跳過選擇大頭貼的程序, 即可以完成安裝.

參考資料:
http://www.ubuntu-tw.org/modules/newbb/viewtopic.php?viewmode=compact&topic_id=51294&forum=1
https://help.ubuntu.com/community/BootOptions#Common_Kernel_Options
http://shengpo.logdown.com/posts/32586-asus-zenbook-ux32vd-ubuntu

http://www.hecticgeek.com/2012/10/how-to-disable-your-webcam-in-ubuntu/
http://askubuntu.com/questions/166809/how-can-i-disable-my-webcam

2012年12月9日 星期日

無法將 AirPlane mode 關閉...@ ubuntu

不知是不是將 Ubuntu 灌到 隨身碟上, 還是將 Ubuntu 升級到 12.04 LTE 的關係,
WiFi 總是怪怪的.....一開機後總是被鎖在 AirPlane mode,
也無法關掉 AirPlane mode......=.=....也就更無法 Turn-On WiFi了...

查了一下 Google 大神, 看來還真的是被鎖住了...
可經由下面兩行指令了解...

ubuntu@ubuntu:~$ sudo rfkill list all
0: brcmwl-0: Wireless LAN
    Soft blocked: no
    Hard blocked: yes
1: acer-wireless: Wireless LAN
    Soft blocked: no
    Hard blocked: no
2: acer-bluetooth: Bluetooth
    Soft blocked: no
    Hard blocked: no
3: hci0: Bluetooth
    Soft blocked: no
    Hard blocked: no
ubuntu@ubuntu:~$ sudo rfkill unblock wifi
輸入上面那行後, 應該就可正常使用 WiFi 了吧....
如果還不行, 就全解了吧....as below..
ubuntu@ubuntu:~$ sudo rfkill unblock all

感謝 Google 大神...




2012年12月4日 星期二

超級終端機 on Linux

最近做的Project都要使用RS-232來與之溝通,
接下來介紹兩款在 Ubuntu 下我常使用的 "超級終端機"...@@

Gtkterm 與 Minicom

安裝方式如下
root@user:/# sudo apt-get install gtkterm
root@user:/# sudo apt-get install minicon

Gtkterm 是類似圖形化的介面,
所以相關設定只要進 configuration 內設定即可,
如 port 或 Baud rate, 相當方便.

而 Minicom 安裝完成後, 須先設定,
root@user:/# minicom -s
設定完成後
root@user:/# minicom
即可進入使用.

因為 Minicom 設定起來有點麻煩, 所以最常用的還是 Gtkterm.

2011年12月5日 星期一

安裝完 Ubuntu 後, 接著安裝的幾個軟體 (MSN, Flash, PCMan...etc)

1, Emesene, 連 MSN 軟體
    直接上 Ubuntu 網站, http://wiki.ubuntu-tw.org/index.php?title=Emesene

2, Adobe-flash, For facebook 的遊戲.....呵
    安裝(我的8.04這樣是裝9)
    sudo apt-get update
    sudo apt-get install flashplugin-nonfree   

   
    移除
    sudo apt-get purge flashplugin-nonfree

3, PCMan, BBS 連線軟體 
   sudo apt-get update 
   sudo apt-get install pcmanx-gtk2

2011年11月29日 星期二

Iperf 使用說明

最近工作在玩 WiFi Module, 包含測試 Throughput rate, 就不得不提 Iperf 這個工具了, 當然, 網路上的資料已經一堆了, 不過還是給自己一個紀錄吧, 這樣以後要找資料, 就不用再 Google 了.

Iperf下載路徑:
For Linux : http://sourceforge.net/projects/iperf/
For Windows : https://nocweboldcst.ucf.edu/files/iperf.exe

Windows version 只是一個執行檔, 直接使用即可,

Linux version 是 source code, 需要重新 compiler, 步驟如下:
以目前最新版 2.0.5 為例, iperf-2.0.5.tar.gz
1, 先解壓縮
root@user:/# tar -zxvf iperf-2.0.5.tar.gz
2, 會產生一 iperf-2.0.5 資料夾, 進入此資料夾, 然後執行
root@user:/iperf-2.0.5# ./configure
root@user:/iperf-2.0.5# make
root@user:/iperf-2.0.5# make install
如果安裝過程中沒什麼問題, 即安裝完畢.

其實如果是用 Ubuntu 的話, 也不用如上那麼麻煩, 
直接 key-in
root@user:/ sudo apt-get install iperf
應該就可以自動安裝完畢了,
如果輸入上面那行, 有出現啥 E: ...unable to location........   之類的錯誤訊息,
就請先 key-in
root@user:/ sudo apt-get update
root@user:/ sudo apt-get install iperf
八成都可以安裝完畢啦.

=================================================================
使用 Iperf 需要用到兩台電腦, 一台 Server 端, 一台 Client 端,
一般而言, 要先執行 Server 端的指令, 再執行 Client 端的指令,

首先在 A 電腦, Server 端執行:
root@user:/ iperf -s
-s 表示為 Server 端

然後在 B 電腦, Client 端執行:
root@user:/ iperf -c 192.168.100.100 -t 60 -i 5
-c 表示為 Client 端
192.168.100.100 表示為 Server 端的 IP
-t 表示要傳收資料的總時間, 單位:秒
-i 表示每隔 x 秒就 report 一次在 monitor 上, 單位:秒

測試完成後, Client 會 show 出每隔 x 秒的 throughput rate, 最後會算出平均值,
而 Server 端, 會 show 出測試完畢的平均值.
==================================================================

依不同需求, 會使用到不同的參數, 例如設定 windows size 或 雙向對測.....etc
相關參數如下:
-s             以 Server 端啟動 iperf
-c host     以 Client  端啟動 iperf, host 表示 Server 端 IP
通用參數:
-f [k|m|K|M]    表示以Kbits, Mbits, KBytes, MBytes顯示結果, default 為 Mbits
-i sec             以秒為單位表示 report 間隔
-l                     緩衝區大小, default 為 8KB
-m                  顯示tcp最大mtu值
-o                   將 report 和錯誤訊息輸出到文件, iperf -c 192.168.100.100 -o filename
-p                   指定服務器端使用的端口或客戶端所連接的端口, for example: iperf -s -p 9999; iperf -c 192.168.100.100 -p 9999
-u                   使用udp協議
-w                  指定 TCP 的 windows size
-B                  綁定一個主機地址或接口 (當主機有多個地址或接口時使用該參數)
-C                  當 Server 端與 Client 端的 Iperf 版本不一樣時使用
-M                  設定 TCP 封包的最大 mtu 值
-N                  設定 TCP 不延時
-V                  傳輸 ipv6封包

Server 端專用參數:
-D                  以服務方式執行 iperf, iperf -s -D
-R                  停止 Iperf 服務, 針對 -D 指令正在使用中
Client 端專用參數:
-d                   同時進行雙向傳輸測試
-n                   指定傳輸的 Byte 數
-r                    單獨進行雙向傳輸測試
-t                    總測試時間, default 為 10sec
-F                  指定需要傳輸的文件
-T                  指定 TTL 值

以上參數資料為在某個 China 網站取得, 已找不到出處, 若有疑慮請告知.

2011年11月21日 星期一

Opening

個人的學習Blog開張囉,
以後會慢慢的將一些工作上遇到的問題慢慢的post上來,
作為個人的一種紀錄與學習,
文章的類型不受限, 歡喜就好,
加油!!!

[Raspberry PI] Receive file by Bluetooth from Windows 10 PC

本文說明透過 Command Line 的方式, 使 Raspberry PI 可透過 Bluetooth 接收檔案 測試機器: 1. Raspberry PI 3 Model B 2. Windows 10 PC 第一部分 - 連線 目的是先使 Raspberry PI 3 與...