2016年10月26日 星期三

Arduino備忘

除了最基本的Arduino開發板之外,上面還可以外插多種教學板方便教學,很常看到的是motoduino 的s4a sensor board v2、透過wifi的是WFduino 、當然也是可以用Sensor Shield,這片板子腳位比較複雜,但是可以很方便的透過3p的杜邦接頭安裝上許多感應器。

Arduino簡易腳位介紹,請看

數位腳位前有~的有PWM功能,可以模擬類比輸出電壓

安裝Arduino直接上官網下載最新的軟體即可,軟體當中有附上驅動程式。
如果不是直接買官方版或山寨版,那多半是大陸產的一種CH340系列的晶片,驅動程式在這
懶惰分辨的話就是把兩個程式都裝起來,基本上就不太會有抓不到板子的問題。

抓好板子之後要到"我的電腦"->"裝置管理員"當中確認板子使用的通訊port,設定會用到。

--------------------------------------------------接下來是軟體操作----------------------------------------------
會寫C語言的可以直接用Arduino IDE寫程式就好了,不然可以用Scratch相容的程式進行撰寫。
和Scratch搭配或相容的軟體很多種,如mblock、s4a(最難用)、WFduino等,還有一種是宇宙機器人的Transformer,直接用mblock(但聽說有部分問題)或scratch2.0+Transformer是最簡單的。

連上去之後都要注意腳位的定義,不是每個軟體的腳位定義都能符合你手頭上的教學板的。
--------------------------------------------------------------------------------------------------------------------------

藍芽的使用方法

常見相關開發板的知識介紹-EduMakerLab創客教室


值得參考的網站:

台灣物聯科技 可以去買開發板和擴充的套件

S2A課前準備  針對s2a的連接與軟體準備有步驟化的說明

文盛老師的自造者天空

Jack整理的相關網站清單

2016年3月7日 星期一

MySQL備忘_again

http://www.w3school.com.cn/index.html

以下內容出自http://dywang.csie.cyut.edu.tw/dywang/ojs/node6.html

  1. 先設定 mysqld 服務的編碼
    [root@csie5 ~]# vim /etc/my.cnf 
    [mysqld]
    default-character-set=utf8
    default-collation=utf8_unicode_ci
    character-set-server=utf8
    collation-server=utf8_unicode_ci 
    
    datadir=/var/lib/mysql
    socket=/var/lib/mysql/mysql.sock
    user=mysql
    # Disabling symbolic-links is recommended to prevent assorted security risks
    symbolic-links=0
    
    [client]
    default-character-set=utf8
    
    [mysql]
    default-character-set=utf8
    
    [mysqld_safe]
    log-error=/var/log/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pid
    
  2. 重新啟動 mysqld 服務
    [root@csie5 ~]# /etc/init.d/mysqld restart
    
  3. 登入 mysql 查詢 charset 變數,資料庫編碼為 character_set_database latin1
    [root@csie5 ~]# mysql -uroot -p
    Enter password: 
    
    mysql> use ijait;
    mysql> show variables like 'character_set%';
    +--------------------------+----------------------------+
    | Variable_name            | Value                      |
    +--------------------------+----------------------------+
    | character_set_client     | utf8                       |
    | character_set_connection | utf8                       |
    | character_set_database   | latin1                       |
    | character_set_filesystem | binary                     |
    | character_set_results    | utf8                       |
    | character_set_server     | utf8                       |
    | character_set_system     | utf8                       |
    | character_sets_dir       | /usr/share/mysql/charsets/ |
    +--------------------------+----------------------------+
    8 rows in set (0.00 sec)
    
  4. 使用 status; 或 \s 查詢也可以
    mysql> status;
    --------------
    mysql  Ver 14.14 Distrib 5.1.69, for redhat-linux-gnu (x86_64) using readline 5.1
    
    Connection id:  43
    Current database: 
    Current user:  root@localhost
    SSL:   Not in use
    Current pager:  stdout
    Using outfile:  ''
    Using delimiter: ;
    Server version:  5.1.69 Source distribution
    Protocol version: 10
    Connection:  Localhost via UNIX socket
    Server characterset: utf8
    Db     characterset: latin1
    Client characterset: utf8
    Conn.  characterset: utf8
    UNIX socket:  /var/lib/mysql/mysql.sock
    Uptime:   59 min 12 sec
    
    Threads: 1  Questions: 1112  Slow queries: 0  Opens: 645  Flush tables: 1  Open tables: 64  Queries per second avg: 0.313
    --------------
    
  5. 設定資料庫預設編碼為 utf8
    mysql> ALTER DATABASE ijait CHARACTER SET utf8 COLLATE utf8_general_ci;
    
  6. 使用 status; 或 \s 再查詢,資料庫編碼已改 utf8。
    mysql> status;
    --------------
    mysql  Ver 14.14 Distrib 5.1.69, for redhat-linux-gnu (x86_64) using readline 5.1
    
    Connection id:  43
    Current database: 
    Current user:  root@localhost
    SSL:   Not in use
    Current pager:  stdout
    Using outfile:  ''
    Using delimiter: ;
    Server version:  5.1.69 Source distribution
    Protocol version: 10
    Connection:  Localhost via UNIX socket
    Server characterset: utf8
    Db     characterset: utf8
    Client characterset: utf8
    Conn.  characterset: utf8
    UNIX socket:  /var/lib/mysql/mysql.sock
    Uptime:   59 min 12 sec
    
    Threads: 1  Questions: 1112  Slow queries: 0  Opens: 645  Flush tables: 1  Open tables: 64  Queries per second avg: 0.313
    --------------
    
  7. 雖然資料庫編碼已改為 utf8,但其中的資料表還是原先的 latin1 編碼,為一次轉碼,先以預設編碼 latin1 匯出資料庫,資料庫中的中文字串會以系統預設的 utf8 編碼呈現。
    [root@csie5 ~]# cd /var/lib/mysql/
    [root@csie5 mysql]# mysqldump --user=root --password=rootpw --default-character-set=latin1 --skip-set-charset ijait > ijait.sql
    
  8. 將資料庫中的 latin1 字串改成 utf8。
    [root@csie5 mysql]# sed -r 's/latin1/utf8/g' ijait.sql > ijait_utf.sql
    
  9. 再將 utf8 編碼的資料庫重新匯入。
    [root@csie5 mysql]# mysql --user=root --password=rootpw --default-character-set=utf8 ijait < ijait_utf.sql
    
  10. 資料庫雖已完全改成 utf8 編碼,OJS 網頁中中文顯示還是出現 '?????',故必須設定 OJS。

以下內容出自
http://tsuozoe.pixnet.net/blog/post/21283890-mysql-%E5%9F%BA%E6%9C%AC%E6%93%8D%E4%BD%9C%E8%AA%9E%E6%B3%95
net start mysql啟動 MySQL

查詢資料庫、資料表、欄位等資訊
mysqlshow [
-h ipAddress] -u user_name -pmysqlshow -u user_name@ipAddress -p
列出所有資料庫

mysqlshow -u user_name -p db_name列出該 database_name 所有資料表

mysqlshow -u user_name -p db_name table_name列出該 database_name 裡 table_name 資料表裡的欄位

mysqlshow -u user_name -p db_name table_name field_name
列出該 database_name 裡 table_name 的 field_name 的欄位資訊

更改密碼mysqladmin password 'new_password'更改目前系統登入使用者的密碼

於資料庫中導入執行sql script 檔
mysql db_name < sql_filename.sql
與 MySQL 連線
mysql [
-h ipAddress] -u user_name -ppasswordmysql [-h ipAddress] -u user_name -p

切換使用資料庫 database_name
mysql> USE db_name
mysql> SELECT DATABASE();列出目前預設的資料庫名稱

mysql> SHOW DATABASES;
列出所有資料庫

mysql> SHOW DATABASES LIKE 'my%';
列出所有資料庫名稱為 my 開頭的

mysql> SHOW TABLES FROM db_name [LIKE ...];
列出該資料庫所有資料表名稱

mysql> SHOW COLUMNS FROM table_name [LIKE ...];
mysql> SHOW COLUMNS FROM table_name FROM db_name  [LIKE ...];mysql> SHOW FIELDS FROM table_name [LIKE ...];
mysql> DESCRIBE table_name ;
mysql> EXPLAIN table_name ;
列出該資料表所有欄位名稱

mysql> SHOW INDEX FROM table_name [LIKE ...];
mysql> SHOW INDEX FROM table_name FROM db_name  [LIKE ...];mysql> SHOW KEY FROM table_name [LIKE ...];
列出該資料表所有索引資訊

mysql> SHOW TABLE STATUS;mysql> SHOW TABLE STATUS FROM db_name  [LIKE ...];列出資料表的相關資訊

mysql> SHOW VARIABLES [LIKE ...];
顯示 MySQL 相關參數設定

mysql> SHOW VARIABLES LIKE '%character%' ;顯示資料庫語系設定資訊

mysql> SHOW PROCESSLIST;
列出與 MySQL 連線的 threads 狀態

mysql> SHOW STATUS;
列出與 MySQL 目前的狀態

當進行資料表檢查或修補時,鎖定資料表可確保資料表的安全
(READ:唯讀狀態、WRITE:無法寫入也無法讀取)
mysql> LOCK TABLE table_name READ;mysql> FLUSH TABLES;
鎖定資料表 

mysql> UNLOCK TABLE;
資料表解除鎖定