Linux file/folder usage

1. /bin : 存放系統工具程式檔案們的資料夾,例如 pwd, rm, echo, cat, mkdir, mv, mv, dd, chmod…

2. /dev: 存放裝置相關檔案們的資料夾,例如

3. /etc: 系統開機時,所需要讀取的檔案,例如 人員的帳密、系統設定、要開啟的服務
ex. networks
ps. 在/etc工作要記得備份!!or 修改時也要記得鎖定,不要讓別人也能開

4. /home: 家目錄 ??
5. /lib: 各種library, 例如 java, python…
6. /usr: 很重要的資料夾,放置系統程式和指令,例如

7. /var: 系統工作時,預設的目錄,例如 使用者的登陸檔案資訊、還沒寄出的郵件…

參考:
1. 鳥哥linux: http://linux.vbird.org/linux_basic/redhat6.1/linux_05file.php

Raspberry pi Recall

1. 先接TTL到電腦

電腦輸入command: 
screen /dev/cu.usbserial
2. TTL連上後,讓Rpi連上網路(重新整理網路設定,並重新連線)

Rpi輸入command:
/etc/init.d/networking restart

3. Rpi連上網路後,查看IP
Rip輸入command:
hostname -I
or
ifconfig

4. 以SSH連線(這樣在Rpi打code比較順,否則用TTL連線的只能顯示一行,根本不能打code)
電腦輸入command:
ssh root@172.20.10.5

5. 在Rpi以GPIO控制LED

待續

參考:
1. 以不同使用者登入ssh:https://www.raspberrypi.org/documentation/remote-access/ssh/unix.md
2. 葉難(寫Python)(GPIO寫LED閃爍):http://yehnan.blogspot.tw/2012/07/raspberry-pigpioled.html
3. CodeSchool(寫)Java:http://www.codedata.com.tw/java/java-embedded-7-raspberry-pi-gpio-implementation-1/
4. 智慧生活(寫)Python:http://cheng-min-i-taiwan.blogspot.tw/2013/04/raspberry-pi-python.html

CSS語法練習

1. 修改背景顏色(background-color:#888888) + 字體顏色(color:white) + 字體大小(font-size:30)

<span style=”background-color: #888888; color: white; font-size: 20 “> 想要打的字 </span>

2. 修改背景顏色(background-color:#666666) + 字體顏色(color:white) + 字體大小(font-size:30)

<span style= “background-color:#666666; color:white; font-size:30”>想要打的字 </span>

3. 修改背景顏色(background-color:#AAAAAA) + 字體顏色(color:white) + 字體大小(font-size:30)

<span style=”background-color:#AAAAAA; color:white; font-size:30″> 想要打的字 </span>

4. 修改背景顏色(background-color:#DDDDDD) + 字體顏色(color:#AAAAAA) + 字體大小(font-size:30)

<span style=”background-color:#DDDDDD; color: #AAAAAA; font-size:30″> 想要打的字 </span>

5. 想要把整區的背景為統一 => 把span改成div (就會變成整塊),其餘語法不變

<div style=”background-color: #aaaaaa; color: white; font-size: 30;”>想要分出來的大區塊</div>

—————————————————————————————————————-

練習區:

以下為hello world的sample code:

int main(){

     printf(“Hello World!”);

}

git / gdb

抓檔:git clone 網址

上傳(commit): git commit “修改內容(自己想打什麼就打什麼)”

看commit log: git log

——————————————————————————————————

用gdb:gcc debugger

先gdb進去debug mode
在裡面只能使用pwd, cd指令

1. 讀檔: file “檔名”
2. 試跑: run
3. 看code: list
                  list –
4. 設中斷點:break 行數
                        b 行數
5. 設watch point: watch 參數

6. 程式執行:
逐步執行: n
離開中斷點執行: c

試用ESP8266 ESP01 WIFI模組

買了一塊ESP8266的ESP01 wifi模組 77元
想說這麼便宜就玩玩看

ESP8266是這塊模組 ESP01則是這次版本的型號
似乎ESP01 和 ESP03最常見(?


VCC要接3~3.6V
(注意:不能用5V)

這篇似乎很詳細
1. 阿喵就像家(深入淺出 Wifi 晶片 ESP8266 with Arduino):http://mlwmlw.org/2015/07/深入淺出-wifi-晶片-esp8266-with-arduino/
這篇也不錯
2. 遊戲自己做(【技術教學】打造Wifi遙控車(之一):使用 ESP8266進行 Wifi無線通訊)
http://lets-make-games.blogspot.tw/2015/04/wifi-esp8266-wifi.html

試燒 Arduino pro mini / 用終端機讀UART

剛買到的pro mini什麼都沒有
第一個念頭就是用usb to part的PL2303  (TX,RX,GND,VCC)
但是悲劇的是燒不進去
查了一下 看到這篇


1. 接DTR

雄Arduino : Pro Mini 以 CP 2102 USB to TTL 上載程式
http://gsyan888.blogspot.tw/2014/10/arduino-cp2102-dtr-pin.html
雖然不是同一顆
但是上面寫說要接上DTR (RS232有 ?
只是我這顆PL2303沒有DTR…
查了一下是有 只是沒有拉出來
google一下就有腳位圖
DTR在第二腳
至於怎麼判斷哪邊開始是1呢
通常IC上都會有小圈圈當記號
有小圈圈那邊就是1
但是!!
接上去DTR後還是不行…
只好換別的方法了
google: arduino pro mini 燒錄
就找到別篇

2. 接RESET

忘記看到哪一篇說要在燒錄的時候 出現Uploading的時候把Reset按下去!
反正在我這個case是成功的 耶耶

3. 用Arduino Uno燒pro mini 

google一下應該也蠻多人這樣做的
好像要把ATmega328p拔下來 把pro mini裝上去
還沒試過

參考:
1. 葉難(Arduino與AVR微控制器相關詞彙):http://yehnan.blogspot.tw/2013/01/arduinoterms.html
=> 裡面有SPI、I2C、UART等解釋名詞
2. 小狐狸事務所(Arduino pro mini動了):http://yhhuang1966.blogspot.tw/2015/03/arduino-pro-mini.html
=> 用SPI來燒錄

———————————————————————————————————————–

用終端機讀UART

在terminal上

ls /dev*

看一下我們的裝置是哪一個
最簡單的判斷方法就是
不要插先查
之後插完再查一次
對照一下哪個多出來的
插入PL2303的話是 tty.usbserial 和 cu.usbserial
但是用tty才可以
tty和cu的差別看這篇
MAC電腦連接埠:http://arduino.tw/articlesindex/electricity/293-devcudevtty.html

screen tty.usbserial 9600

How to run a C++/Java program?

1. C++:

用隨意的編輯軟體打好程式後
ex:

#include <iostream>
using std::cout;
using std::endl;

int main(int argc, char *argv[])
{
    if(argc!=4){
        cout<<“wrong argument number”<<endl;
    }
    else{
        cout<<“argv[1]=”<<argv[1]<<endl;
        cout<<“argv[2]=”<<argv[2]<<endl;
        cout<<“argv[3]=”<<argv[3]<<endl;
    }
    cout << “hello world!” << endl;
    return 0;
}
在terminal裡切到該目錄後先compile
>> g++ hw1.cpp
>> ./a.out

compile後會出現a.out
run時為什麼要打./
因為要告訴檔案是在目前目錄下的檔
而不是指令 例如ls 這種容易混淆的檔名
by 系統程式的熊老師

2. Java:

用隨意的編輯軟體打好程式後
ex:

public class hw1
{
    public static void main(String args[])
    {
        System.out.println(“helo world!”);
    }
}

在terminal裡切到該目錄後先compile
>> javac hw1.java
>> java hw1

compile後會出現hw1.class
但是run的時候不需要打出.class