/* 自定義代碼塊樣式 */

2017年3月24日 星期五

重新在SD卡上安裝Raspberry Pi

解決Win32DiskImager製作Raspberry Pi的SD卡時出現 Error 5, Lock problem的問題

開啟[命令提示字元]

於命令列下輸入 ‘diskpart’,便會出現另一個視窗並出現提示列  ‘DISKPART>’
在DISKPART視窗中輸入‘list disk’.

會出現類似於下圖的說明

  1. Disk ###  Status         Size     Free     Dyn  Gpt
  2. ——–  ————-  ——-  ——-   
  3. Disk 0    Online          465 GB      0 B
  4. Disk 1    Online         7580 MB  5723 MB
  5. DISKPART>


    我們8GB的SD卡目前是位於DISK 1,所以輸入

    1. select disk 1


    查看SD卡被切割成幾個區域

    1. list partition


    現在要刪除第一區

    1. select partition 1
    2. delete partition

    最後

    1. delete partition override
    2. exit

    完成

    取消Raspberry Pi WiFi進入休眠模式


    若使用Respberry Pi 內建的WiFi來連結網路時,作業系統預設是開啟WiFi後,若太久沒有進行傳輸動作,WiFi會進入休眠模式,下面兩種方式可取消WiFi休眠模式

    第一種就是直接下指令關閉,但重開機後又會開啟休眠

    1. sudo iwconfig wlan0 power off

    第二種則是修改無線網路設定檔,直接關閉電源管理機制。

    1. sudo nano /etc/network/interfaces

    找到
    wpa-conf /etc/wpasupplicant/wpasupplicant.conf
    在下面加入一行指令

    1. wireless-power off

    2017年3月23日 星期四

    安裝 Mosquitto MQTT

    取得key後進行安裝

    1. sudo wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key
    2. sudo apt-key add mosquitto-repo.gpg.key
    3. cd /etc/apt/sources.list.d/
    4. sudo wget http://repo.mosquitto.org/debian/mosquitto-jessie.list
    5. sudo apt-get update
    6. sudo apt-get install mosquitto

    安裝三個 Mosquitto proper 會用到的程式庫
    mosquitto – the MQTT broker (or in other words, a server)
    mosquitto-clients – command line clients, very useful in debugging
    python-mosquitto – the Python language bindings

    1. sudo apt-get install mosquitto mosquitto-clients python-mosquitto

    安裝完後mosquitto會立即執行,但還需要進行部分設定,所以先停止

    1. sudo /etc/init.d/mosquitto stop

    開啟設定檔案

    1. sudo nano /etc/mosquitto/mosquitto.conf

    修改找到 log_dest 列,將後面改為 topic,如下

    1. log_dest topic

    並再增加下面六個參數後存檔

    1. log_type error
    2. log_type warning
    3. log_type notice
    4. log_type information
    5. connection_messages true
    6. log_timestamp true

    重新啟動mosquitto

    1. sudo /etc/init.d/mosquitto start

    進行測試,開啟終端機,輸入下列指令

    1. mosquitto_sub -d -t hello/world

    再開啟另一個終端機,輸入下列指令

    1. mosquitto_pub -d -t hello/world -m "Hello from Terminal 2!"


    會在第一個開啟的終端機看到如上畫面


    會在第二個開啟的終端機看到如上畫面





    安裝HAP-NodeJS


    確定安裝完成 Node.js (安裝Nodejs)
    先安裝會用到的套件

    1. sudo apt-get install npm git-core libnss-mdns libavahi-compat-libdnssd-dev


    安裝node module

    1. sudo npm install -g npm sudo npm install -g node-gyp


    下載HomeKit 模擬套件 HAP-NodeJS:

    1. git clone https://github.com/KhaosT/HAP-NodeJS.git
    2. cd HAP-NodeJS
    3. npm rebuild
    4. sudo npm install node-persist
    5. sudo npm install srp

    安裝失敗,下載最近版本gcc

    1. sudo apt-get install gcc-4.8 g++-4.8
    2. sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50
    3. sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 50

    繼續安裝套件

    1. sudo npm install srp
    2. sudo npm install mdns --unsafe-perm
    3. sudo npm install debug
    4. sudo npm install ed25519 --unsafe-perm
    5. sudo npm install curve25519 --unsafe-perm

    再次確認套件是否安裝完整

    1. sudo npm install

    開始執行模擬器

    1. node Core.js

    可以列印debug訊息的語法

    1. DEBUG=* node Core.js


    按下Ctrl+C 退出模擬器

    成功執行的畫面

    在Raspberry Pi上安裝 Node.js


    確定所有套件都更新到最新版本

    1. sudo apt-get update
    2. sudo apt-get upgrade

    官方下載點 nodejs.org
    選擇檔案名稱尾部有帶 -linux-armv7l.tar.gz,這可以直接給Pi3使用的

    下面是以 node-v5.12.0 為範例

    1. wget https://nodejs.org/dist/v5.12.0/node-v5.12.0-linux-armv7l.tar.gz
    2. tar -xvf node-v5.12.0-linux-armv7l.tar.gz
    3. cd node-v5.12.0-linux-armv7l
    4. sudo cp -R * /usr/local

    查看版本

    1. node -v

    安裝Samba

    安裝Samba:

    1. sudo apt-get install samba

    將帳號pi到群組:

    1. sudo usermod -a -G sambashare pi

    把帳號pi設定為Smaba的帳號:(會要求設定密碼)

    1. sudo pdbedit -a -u pi

    修改設定檔:

    1. sudo nano /etc/samba/smb.conf

    在設定檔最後加入

    1. [pi]
    2. comment=pi
    3. path=/home/pi
    4. read only=no
    5. guest ok=no
    6. browseable=yes
    7. create mask=0755
    8. directory mask=0755
    9. security = share  (加上這行可免密碼驗證)

    重新啟動Samba

    1. sudo /etc/init.d/samba restart

    定義Arduino Flash Partition

    在Arduino 的工程目錄中,增加一個 partitions.csv 文字檔案,內容範例如下 # Name, Type, SubType, Offset, Size, Flags nvs, data, nvs, 0x9000, 0x5000, o...