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

Arduino練習題

1.  居家安全系統-簡單:
偵測按鈕是否被按壓,是->亮LED警告,否->沒事

/*
  Program1- Home Security System-simple
  This program is made by CCU COMM RongSon.
  Only for SERVICE-LEARNING use.
*/

int buttonInput=7;
int ledOutput=8;
int warning=0;

void setup(){
  // put your setup code here, to run once:
  Serial.begin(9600);
  Serial.println(“setup!”);
  pinMode(ledOutput,OUTPUT);
  pinMode(buttonInput,INPUT);
}

void loop() {
  warning= digitalRead(buttonInput);
  if(warning==0){
    Serial.println(“nothing happen”);
  }else{
    Serial.print(“Warning!!!!!!:”);
    Serial.println(warning);
    digitalWrite(ledOutput,HIGH);
    delay(1000);
    digitalWrite(ledOutput,LOW);
  }
  delay(500);
}

next->
1. 換四腳按鈕

2. debounce (?

3. 加光敏電阻

4. 按鈕架構換成 按著光敏電阻+麥克風

Kali on RPI – 目前所遇到的問題(不確定連上的是誰)

在沒有連接螢幕的情況下
只有透過ssh連線後才可以確認連到的wifi是誰

一開始設定RPI剛開機後可以上網設定很多個地方
但是我卻不清楚到底我改的哪個地方才是真正有用到的

測試到現在
剛開機的時候 且 手機熱點有開 且 筆電也是連熱點 的情況下
才能成功用ssh連線

目前有可能改的點是
1. /etc/rc.local => 剛開機時的設定
iwconfig

ifconfig wlan0
ifconfig wlan0 up
iwconfig wlan0 essid “RS” key s:“1qaz2wsx” channel auto
iwconfig wlan0
dhclient wlan0
exit 0

2. /etc/network/interfaces => 自動連線且連上後為固定IP 但是不知道是什麼時候會執行

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
auto wlan0
allow-hotplug wlan0
        #iface wlan0 inet dhcp
        #wpa-conf /etc/wpa_supplicant.conf
iface wlan0 inet static
address 172.20.10.5
netmask 255.255.255.240
gateway 172.20.10.1
wpa-conf /etc/wpa_supplicant.conf
3. /etc/wpa_supplicant.conf => 新增markho的network進去後,還是沒辦法連線,就算重開RPI也是一樣
ctrl_interface=/var/run/wpa_supplicant
network={
        ssid=”RS”
        proto=RSN
        key_mgmt=WPA-PSK
        pairwise=CCMP TKIP
        group=CCMP TKIP
        psk=”xxxxx”
}
network={
        ssid=”markho”
        proto=RSN
        key_mgmt=WPA-PSK
        pairwise=CCMP TKIP
        group=CCMP TKIP
        psk=”1150XXXX”
}

保留IP分級

0.0.0.0 ~ 255.255.255.255
各級保留IP

Class A:
1) 0.0.0.0/8 : 表示所有、任何、預設的意思

2) 10.0.0.0/8 : 內部網路私有IP使用,這個範圍的IP不可在網際網路上使用,要透過NAT(network address translation)才能用

3) 127.0.0.0/8 : 網路主機的內部迴圈之用,任何發送到127.0.0.1的資料封包,都將原封不動的傳回發送主機上,可用以偵測網路環境是否架設妥當

4) 100.64.0.0/10 : 在IPv4/IPv6轉換期間提供過度解決方案,專門給各地區ISP供應商所使用的CGN(carrier-grade NAT)技術

Class B:
1) 172.16.0.0/12 : 內部網路私有I P,當新加入的電腦主機無法藉由DHCP(dynamic host configuration protocol)獲取相對應的IP設定時,會拿此範圍的IP自動套用



Class C: 

1) 192.168.0.0/16 : 私有IP,家中路由器

2) 192.0.0.0/24、192.0.2.0/24、192.88.99.0/24、198.18.0.0/15、198.51.100.0/24、203.0.113.0/24: 保留給各種技術使用

Kali on RPI記錄(1)- 轉接, 無線網卡, 自動登入, SSH

不知道改什麼?

到/usr/share/dbus-1/system-services/fi.epitest.hostap.WPASupplicant.service
[D-BUS Service]
Name=fi.epitest.hostap.WPASupplicant
Exec=/sbin/wpa_supplicant -u -f /var/log/wpa_supplicant.log
User=root
SystemdService=wpa_supplicant.service
改成
[D-BUS Service]
Name=fi.epitest.hostap.WPASupplicant
Exec=/sbin/wpa_supplicant -u -onl80211 -O/var/run/wpa_supplicant

User=root


1. HDMI to VGA轉接頭 輸出到螢幕
=> 記憶卡內新增 config.txt 檔
:
hdmi_force_hotplug=1    #強迫以HDMI輸出
#hdmi_drive=2
#hdmi_group=2
#hdmi_mode=16


因為Raspberry Pi的視訊輸出有Composite RCA(AV端子、又稱複合端子,通常是黃色的RCA端子)與HDMI,兩者不能同時使用。當開機時,系統預設從AV端子輸出,但若偵測到有接HDMI,便會從HDMI輸出。若使用轉接頭或轉接線,Raspberry Pi便可能無法正常偵測,於是仍從AV端子輸出視訊,導致根本沒畫面。

參考:1.葉難 http://yehnan.blogspot.tw/2013/10/raspberry-pi.html
2. 雄:http://gsyan888.blogspot.tw/2013/06/raspberrypi-hdmi-to-vga.html

3. https://www.youtube.com/watch?v=1CiZVk8oJUA



2. 無線網卡上網設定
=> 改 /etc/wpa_supplicant/wpa_supplicant.conf
:
network={
ssid=”RS”             #看WIFI叫什麼名字
proto=RSN
key_mgmt=WPA-PSK
pairwise=CCMP TKIP
group=CCMP TKIP
psk=”12345678″   #WIFI密碼
}

=> 改  /etc/network/interfaces
:  (DHCP版)
auto lo
iface lo inet loopback
iface eth0 inet dhcp
auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
  (固定IP版)


auto lo
iface lo inet loopback
iface eth0 inet dhcp
auto wlan0
allow-hotplug wlan0



iface wlan0 inet static
        address 192.168.2.100 #要改
        netmask 255.255.255.0
       gateway 192.168.2.254

參考:1. 樹莓派:https://www.raspberrypi.com.tw/2152/setting-up-wifi-with-the-command-line/
2. 雄:http://gsyan888.blogspot.tw/2013/04/raspberry-pi-wireless-network.html
3. 自動登入 (未成功)
=> 改 /etc/inittab
:

#T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
T0:23:respawn:/bin/login -f pi ttyAMA0 </dev/ttyAMA0 >/dev/ttyAMA0 2>&1

=>改 /etc/gdm3/daemon.conf.
:
[daemon]# Enabling automatic login
AutomaticLoginEnable = true
AutomaticLogin = root
=>改 /etc/kde4/kdm/kdmrc
:
[X-:0-Core]
AllowRootLogin=true
AutoLoginAgain=true
AutoLoginDelay=0
AutoLoginEnable=true
AutoLoginLocked=false
AutoLoginUser=root
ClientLogFile=.xsession-errors

=> 重新啟動網路設定
: /etc/init.d/networking restart


參考:1. 夢想不該只是夢想 http://inpega.blogspot.tw/2015/04/blog-post_17.html
2. http://www.blackmoreops.com/2013/12/19/auto-login-root-user-system-start-kali-linux-gnome-kde/



4. SSH(未成功)
=> 改/etc/ssh/sshd_config
#PermitRootLogin without-password
PermitRootLogin yes

=> 改/etc/motd -> 可改登入時顯示的字串 (可加入banner)

=> 重新啟動ssh
: service ssh restart

參考:1.Chaos:Enable SSH on kali: http://www.drchaos.com/enable-ssh-on-kali-linux/
2. banner製造機: http://patorjk.com/software/taag